StdInt.bitand a_0 b_1 = bitand a_0 b_1
<{StdInt.<<}> a_0 b_1 = shiftleft a_0 b_1
<{StdInt.>>}> a_0 b_1 = shiftright a_0 b_1
<{StdInt.+_6}>  :== add
<{StdInt.-_7}> :== sub
StdInt.zero_8 :== 0
<{StdInt.*_9}> :== mult
<{StdInt./_10}> :== div
StdInt.one_11 :== 1
StdInt.isEven_18 a_0 = eq (mod a_0 2) 0
<{StdInt.<_17}> :== lt
StdInt.abs_13 x_0 :== abs
<{StdInt.==_16}> :== eq
StdInt.sign_14 x_0 = if (eq x_0 0) 0 (if (gt 0 x_0) -1 1)
<{StdInt.~_15}> x_0 :== neg
StdInt.isOdd_19 a_0 = eq (mod a_0 2) 1
StdInt.toInt_20 :== toInt_char || char -> int
StdInt.toInt_22 :== toInt_real
StdInt.toInt_23 :== toInt_str || str -> int
StdInt.fromInt_25 :== toChar 
StdInt.fromInt_26 a_0 = a_0 || int -> real 
StdInt.fromInt_27 :== toString
StdInt.rem_28 :== mod
StdInt.gcdnat_32 x_0 x_1 = if (eq 0 x_1) x_0 (StdInt.gcdnat_32 x_1 (mod x_0 x_1))
StdInt.gcd_29 x_0 y_1 = StdInt.gcdnat_32 (abs x_0) (abs y_1)
StdInt.lcm_30 x_0 x_1 = if (eq 0 x_1) 0 (if (eq 0 x_0) 0 (abs (mult (div x_0 (StdInt.gcd_29 x_0 _x_1)) x_1)))