**** New globals: {xb:b, xd:d, xi:i, xi1:i1, xi2:i2, xi4:i4, xi8:i8, xr4:r4, xr8:r8, xs:s, xt:t, xu1:u1, xu2:u2, xu4:u4, xu8:u8, yb:b, yd:d, yi:i, yi1:i1, yi2:i2, yi4:i4, yi8:i8, yr4:r4, yr8:r8, ys:s, yt:t, yu1:u1, yu2:u2, yu4:u4, yu8:u8}

> xi1 min yi1
xi1 min yi1 : i1
BndKind:BinaryOp, Type:i1, Bnd:(Min(Global(xi1), Global(yi1)))
// (∂.xi1:i1, ∂.yi1:i1) : i1
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i1
      1) stloc.0 [i1]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i1
      1) stloc.1 [i1]
      1) ldloc.0 [i1]
      1) dup
      1) ldloc.1 [i1]
      5) ble [0]
      1) pop
      1) ldloc.1 [i1]
  Label [0]:
      5) box [i1]
      1) ret
  Total Size: 34

Func sig: (xi1:i1, yi1:i1) to i1
Type: i1, Value: 0
###
> xi2 min yi2
xi2 min yi2 : i2
BndKind:BinaryOp, Type:i2, Bnd:(Min(Global(xi2), Global(yi2)))
// (∂.xi2:i2, ∂.yi2:i2) : i2
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i2
      1) stloc.0 [i2]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i2
      1) stloc.1 [i2]
      1) ldloc.0 [i2]
      1) dup
      1) ldloc.1 [i2]
      5) ble [0]
      1) pop
      1) ldloc.1 [i2]
  Label [0]:
      5) box [i2]
      1) ret
  Total Size: 34

Func sig: (xi2:i2, yi2:i2) to i2
Type: i2, Value: 0
###
> xi4 min yi4
xi4 min yi4 : i4
BndKind:BinaryOp, Type:i4, Bnd:(Min(Global(xi4), Global(yi4)))
// (∂.xi4:i4, ∂.yi4:i4) : i4
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i4
      1) stloc.0 [i4]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i4
      1) stloc.1 [i4]
      1) ldloc.0 [i4]
      1) dup
      1) ldloc.1 [i4]
      5) ble [0]
      1) pop
      1) ldloc.1 [i4]
  Label [0]:
      5) box [i4]
      1) ret
  Total Size: 34

Func sig: (xi4:i4, yi4:i4) to i4
Type: i4, Value: 0
###
> xi8 min yi8
xi8 min yi8 : i8
BndKind:BinaryOp, Type:i8, Bnd:(Min(Global(xi8), Global(yi8)))
// (∂.xi8:i8, ∂.yi8:i8) : i8
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i8
      1) stloc.0 [i8]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i8
      1) stloc.1 [i8]
      1) ldloc.0 [i8]
      1) dup
      1) ldloc.1 [i8]
      5) ble [0]
      1) pop
      1) ldloc.1 [i8]
  Label [0]:
      5) box [i8]
      1) ret
  Total Size: 34

Func sig: (xi8:i8, yi8:i8) to i8
Type: i8, Value: 0
###
> xu1 min yu1
xu1 min yu1 : u1
BndKind:BinaryOp, Type:u1, Bnd:(Min(Global(xu1), Global(yu1)))
// (∂.xu1:u1, ∂.yu1:u1) : u1
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u1
      1) stloc.0 [u1]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u1
      1) stloc.1 [u1]
      1) ldloc.0 [u1]
      1) dup
      1) ldloc.1 [u1]
      5) ble.un [0]
      1) pop
      1) ldloc.1 [u1]
  Label [0]:
      5) box [u1]
      1) ret
  Total Size: 34

Func sig: (xu1:u1, yu1:u1) to u1
Type: u1, Value: 0
###
> xu2 min yu2
xu2 min yu2 : u2
BndKind:BinaryOp, Type:u2, Bnd:(Min(Global(xu2), Global(yu2)))
// (∂.xu2:u2, ∂.yu2:u2) : u2
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u2
      1) stloc.0 [u2]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u2
      1) stloc.1 [u2]
      1) ldloc.0 [u2]
      1) dup
      1) ldloc.1 [u2]
      5) ble.un [0]
      1) pop
      1) ldloc.1 [u2]
  Label [0]:
      5) box [u2]
      1) ret
  Total Size: 34

Func sig: (xu2:u2, yu2:u2) to u2
Type: u2, Value: 0
###
> xu4 min yu4
xu4 min yu4 : u4
BndKind:BinaryOp, Type:u4, Bnd:(Min(Global(xu4), Global(yu4)))
// (∂.xu4:u4, ∂.yu4:u4) : u4
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u4
      1) stloc.0 [u4]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u4
      1) stloc.1 [u4]
      1) ldloc.0 [u4]
      1) dup
      1) ldloc.1 [u4]
      5) ble.un [0]
      1) pop
      1) ldloc.1 [u4]
  Label [0]:
      5) box [u4]
      1) ret
  Total Size: 34

Func sig: (xu4:u4, yu4:u4) to u4
Type: u4, Value: 0
###
> xu8 min yu8
xu8 min yu8 : u8
BndKind:BinaryOp, Type:u8, Bnd:(Min(Global(xu8), Global(yu8)))
// (∂.xu8:u8, ∂.yu8:u8) : u8
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u8
      1) stloc.0 [u8]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u8
      1) stloc.1 [u8]
      1) ldloc.0 [u8]
      1) dup
      1) ldloc.1 [u8]
      5) ble.un [0]
      1) pop
      1) ldloc.1 [u8]
  Label [0]:
      5) box [u8]
      1) ret
  Total Size: 34

Func sig: (xu8:u8, yu8:u8) to u8
Type: u8, Value: 0
###
> xr4 min yr4
xr4 min yr4 : r4
BndKind:BinaryOp, Type:r4, Bnd:(Min(Global(xr4), Global(yr4)))
// (∂.xr4:r4, ∂.yr4:r4) : r4
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):r4
      1) stloc.0 [r4]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):r4
      1) stloc.1 [r4]
      1) ldloc.0 [r4]
      1) ldloc.1 [r4]
      5) call static Math::Min(r4, r4):r4
      5) box [r4]
      1) ret
  Total Size: 31

Func sig: (xr4:r4, yr4:r4) to r4
Type: r4, Value: 0
###
> xr8 min yr8
xr8 min yr8 : r8
BndKind:BinaryOp, Type:r8, Bnd:(Min(Global(xr8), Global(yr8)))
// (∂.xr8:r8, ∂.yr8:r8) : r8
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):r8
      1) stloc.0 [r8]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):r8
      1) stloc.1 [r8]
      1) ldloc.0 [r8]
      1) ldloc.1 [r8]
      5) call static Math::Min(r8, r8):r8
      5) box [r8]
      1) ret
  Total Size: 31

Func sig: (xr8:r8, yr8:r8) to r8
Type: r8, Value: 0
###
> xi  min yi
xi min yi : i
BndKind:BinaryOp, Type:i, Bnd:(Min(Global(xi), Global(yi)))
// (∂.xi:i, ∂.yi:i) : i
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):ia
      1) stloc.0 [ia]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):ia
      1) stloc.1 [ia]
      1) ldloc.0 [ia]
      1) ldloc.1 [ia]
      5) call static ia::Min(ia, ia):ia
      5) box [ia]
      1) ret
  Total Size: 31

Func sig: (xi:i, yi:i) to i
Type: ia, Value: 0
###
> xb  min yb
xb min yb : b
BndKind:BinaryOp, Type:b, Bnd:(Min(Global(xb), Global(yb)))
// (∂.xb:b, ∂.yb:b) : b
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):bool
      1) stloc.0 [bool]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):bool
      1) stloc.1 [bool]
      1) ldloc.0 [bool]
      1) ldloc.1 [bool]
      1) and
      5) box [bool]
      1) ret
  Total Size: 27

Func sig: (xb:b, yb:b) to b
Type: bool, Value: false
###
> xs  min ys
xs min ys : s
BndKind:BinaryOp, Type:s, Bnd:(Min(Global(xs), Global(ys)))
// (∂.xs:s, ∂.ys:s) : s
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):str
      1) stloc.0 [str]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):str
      1) stloc.1 [str]
      1) ldloc.0 [str]
      1) ldloc.1 [str]
      5) call static StrComparer::Min(str, str):str
      1) ret
  Total Size: 26

Func sig: (xs:s, ys:s) to s
Type: <null>, Value: <null>
###
> xt  min yt
xt min yt : t
BndKind:BinaryOp, Type:t, Bnd:(Min(Global(xt), Global(yt)))
// (∂.xt:t, ∂.yt:t) : t
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):Time
      1) stloc.0 [Time]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):Time
      1) stloc.1 [Time]
      1) ldloc.0 [Time]
      1) dup
      1) ldloc.1 [Time]
      5) call static Time::op_LessThanOrEqual(Time, Time):bool
      5) brtrue [0]
      1) pop
      1) ldloc.1 [Time]
  Label [0]:
      5) box [Time]
      1) ret
  Total Size: 39

Func sig: (xt:t, yt:t) to t
Type: Time, Value: 00:00:00
###
> xt  min yt
xt min yt : t
BndKind:BinaryOp, Type:t, Bnd:(Min(Global(xt), Global(yt)))
// (∂.xt:t, ∂.yt:t) : t
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):Time
      1) stloc.0 [Time]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):Time
      1) stloc.1 [Time]
      1) ldloc.0 [Time]
      1) dup
      1) ldloc.1 [Time]
      5) call static Time::op_LessThanOrEqual(Time, Time):bool
      5) brtrue [0]
      1) pop
      1) ldloc.1 [Time]
  Label [0]:
      5) box [Time]
      1) ret
  Total Size: 39

Func sig: (xt:t, yt:t) to t
Type: Time, Value: 00:00:00
###
> xi1 max yi1
xi1 max yi1 : i1
BndKind:BinaryOp, Type:i1, Bnd:(Max(Global(xi1), Global(yi1)))
// (∂.xi1:i1, ∂.yi1:i1) : i1
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i1
      1) stloc.0 [i1]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i1
      1) stloc.1 [i1]
      1) ldloc.0 [i1]
      1) dup
      1) ldloc.1 [i1]
      5) bge [0]
      1) pop
      1) ldloc.1 [i1]
  Label [0]:
      5) box [i1]
      1) ret
  Total Size: 34

Func sig: (xi1:i1, yi1:i1) to i1
Type: i1, Value: 0
###
> xi2 max yi2
xi2 max yi2 : i2
BndKind:BinaryOp, Type:i2, Bnd:(Max(Global(xi2), Global(yi2)))
// (∂.xi2:i2, ∂.yi2:i2) : i2
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i2
      1) stloc.0 [i2]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i2
      1) stloc.1 [i2]
      1) ldloc.0 [i2]
      1) dup
      1) ldloc.1 [i2]
      5) bge [0]
      1) pop
      1) ldloc.1 [i2]
  Label [0]:
      5) box [i2]
      1) ret
  Total Size: 34

Func sig: (xi2:i2, yi2:i2) to i2
Type: i2, Value: 0
###
> xi4 max yi4
xi4 max yi4 : i4
BndKind:BinaryOp, Type:i4, Bnd:(Max(Global(xi4), Global(yi4)))
// (∂.xi4:i4, ∂.yi4:i4) : i4
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i4
      1) stloc.0 [i4]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i4
      1) stloc.1 [i4]
      1) ldloc.0 [i4]
      1) dup
      1) ldloc.1 [i4]
      5) bge [0]
      1) pop
      1) ldloc.1 [i4]
  Label [0]:
      5) box [i4]
      1) ret
  Total Size: 34

Func sig: (xi4:i4, yi4:i4) to i4
Type: i4, Value: 0
###
> xi8 max yi8
xi8 max yi8 : i8
BndKind:BinaryOp, Type:i8, Bnd:(Max(Global(xi8), Global(yi8)))
// (∂.xi8:i8, ∂.yi8:i8) : i8
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i8
      1) stloc.0 [i8]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):i8
      1) stloc.1 [i8]
      1) ldloc.0 [i8]
      1) dup
      1) ldloc.1 [i8]
      5) bge [0]
      1) pop
      1) ldloc.1 [i8]
  Label [0]:
      5) box [i8]
      1) ret
  Total Size: 34

Func sig: (xi8:i8, yi8:i8) to i8
Type: i8, Value: 0
###
> xu1 max yu1
xu1 max yu1 : u1
BndKind:BinaryOp, Type:u1, Bnd:(Max(Global(xu1), Global(yu1)))
// (∂.xu1:u1, ∂.yu1:u1) : u1
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u1
      1) stloc.0 [u1]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u1
      1) stloc.1 [u1]
      1) ldloc.0 [u1]
      1) dup
      1) ldloc.1 [u1]
      5) bge.un [0]
      1) pop
      1) ldloc.1 [u1]
  Label [0]:
      5) box [u1]
      1) ret
  Total Size: 34

Func sig: (xu1:u1, yu1:u1) to u1
Type: u1, Value: 0
###
> xu2 max yu2
xu2 max yu2 : u2
BndKind:BinaryOp, Type:u2, Bnd:(Max(Global(xu2), Global(yu2)))
// (∂.xu2:u2, ∂.yu2:u2) : u2
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u2
      1) stloc.0 [u2]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u2
      1) stloc.1 [u2]
      1) ldloc.0 [u2]
      1) dup
      1) ldloc.1 [u2]
      5) bge.un [0]
      1) pop
      1) ldloc.1 [u2]
  Label [0]:
      5) box [u2]
      1) ret
  Total Size: 34

Func sig: (xu2:u2, yu2:u2) to u2
Type: u2, Value: 0
###
> xu4 max yu4
xu4 max yu4 : u4
BndKind:BinaryOp, Type:u4, Bnd:(Max(Global(xu4), Global(yu4)))
// (∂.xu4:u4, ∂.yu4:u4) : u4
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u4
      1) stloc.0 [u4]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u4
      1) stloc.1 [u4]
      1) ldloc.0 [u4]
      1) dup
      1) ldloc.1 [u4]
      5) bge.un [0]
      1) pop
      1) ldloc.1 [u4]
  Label [0]:
      5) box [u4]
      1) ret
  Total Size: 34

Func sig: (xu4:u4, yu4:u4) to u4
Type: u4, Value: 0
###
> xu8 max yu8
xu8 max yu8 : u8
BndKind:BinaryOp, Type:u8, Bnd:(Max(Global(xu8), Global(yu8)))
// (∂.xu8:u8, ∂.yu8:u8) : u8
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u8
      1) stloc.0 [u8]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):u8
      1) stloc.1 [u8]
      1) ldloc.0 [u8]
      1) dup
      1) ldloc.1 [u8]
      5) bge.un [0]
      1) pop
      1) ldloc.1 [u8]
  Label [0]:
      5) box [u8]
      1) ret
  Total Size: 34

Func sig: (xu8:u8, yu8:u8) to u8
Type: u8, Value: 0
###
> xr4 max yr4
xr4 max yr4 : r4
BndKind:BinaryOp, Type:r4, Bnd:(Max(Global(xr4), Global(yr4)))
// (∂.xr4:r4, ∂.yr4:r4) : r4
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):r4
      1) stloc.0 [r4]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):r4
      1) stloc.1 [r4]
      1) ldloc.0 [r4]
      1) ldloc.1 [r4]
      5) call static Math::Max(r4, r4):r4
      5) box [r4]
      1) ret
  Total Size: 31

Func sig: (xr4:r4, yr4:r4) to r4
Type: r4, Value: 0
###
> xr8 max yr8
xr8 max yr8 : r8
BndKind:BinaryOp, Type:r8, Bnd:(Max(Global(xr8), Global(yr8)))
// (∂.xr8:r8, ∂.yr8:r8) : r8
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):r8
      1) stloc.0 [r8]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):r8
      1) stloc.1 [r8]
      1) ldloc.0 [r8]
      1) ldloc.1 [r8]
      5) call static Math::Max(r8, r8):r8
      5) box [r8]
      1) ret
  Total Size: 31

Func sig: (xr8:r8, yr8:r8) to r8
Type: r8, Value: 0
###
> xb  max yb
xb max yb : b
BndKind:BinaryOp, Type:b, Bnd:(Max(Global(xb), Global(yb)))
// (∂.xb:b, ∂.yb:b) : b
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):bool
      1) stloc.0 [bool]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):bool
      1) stloc.1 [bool]
      1) ldloc.0 [bool]
      1) ldloc.1 [bool]
      1) or
      5) box [bool]
      1) ret
  Total Size: 27

Func sig: (xb:b, yb:b) to b
Type: bool, Value: false
###
> xi  max yi
xi max yi : i
BndKind:BinaryOp, Type:i, Bnd:(Max(Global(xi), Global(yi)))
// (∂.xi:i, ∂.yi:i) : i
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):ia
      1) stloc.0 [ia]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):ia
      1) stloc.1 [ia]
      1) ldloc.0 [ia]
      1) ldloc.1 [ia]
      5) call static ia::Max(ia, ia):ia
      5) box [ia]
      1) ret
  Total Size: 31

Func sig: (xi:i, yi:i) to i
Type: ia, Value: 0
###
> xs  max ys
xs max ys : s
BndKind:BinaryOp, Type:s, Bnd:(Max(Global(xs), Global(ys)))
// (∂.xs:s, ∂.ys:s) : s
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):str
      1) stloc.0 [str]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):str
      1) stloc.1 [str]
      1) ldloc.0 [str]
      1) ldloc.1 [str]
      5) call static StrComparer::Max(str, str):str
      1) ret
  Total Size: 26

Func sig: (xs:s, ys:s) to s
Type: <null>, Value: <null>
###
> xt  max yt
xt max yt : t
BndKind:BinaryOp, Type:t, Bnd:(Max(Global(xt), Global(yt)))
// (∂.xt:t, ∂.yt:t) : t
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):Time
      1) stloc.0 [Time]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):Time
      1) stloc.1 [Time]
      1) ldloc.0 [Time]
      1) dup
      1) ldloc.1 [Time]
      5) call static Time::op_GreaterThanOrEqual(Time, Time):bool
      5) brtrue [0]
      1) pop
      1) ldloc.1 [Time]
  Label [0]:
      5) box [Time]
      1) ret
  Total Size: 39

Func sig: (xt:t, yt:t) to t
Type: Time, Value: 00:00:00
###
> xt  max yt
xt max yt : t
BndKind:BinaryOp, Type:t, Bnd:(Max(Global(xt), Global(yt)))
// (∂.xt:t, ∂.yt:t) : t
top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):Time
      1) stloc.0 [Time]
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.1
      1) ldelem.ref
      5) call static CodeGenUtil::ToVal(obj):Time
      1) stloc.1 [Time]
      1) ldloc.0 [Time]
      1) dup
      1) ldloc.1 [Time]
      5) call static Time::op_GreaterThanOrEqual(Time, Time):bool
      5) brtrue [0]
      1) pop
      1) ldloc.1 [Time]
  Label [0]:
      5) box [Time]
      1) ret
  Total Size: 39

Func sig: (xt:t, yt:t) to t
Type: Time, Value: 00:00:00
###
