[lean_dbg_print_str] external print_str (s : object) [lean_dbg_print_num] external print_num (s : object) def print_bool (b : bool) := entry: case b [false_lbl, true_lbl]; true_lbl: s1 : object := "true"; call print_str s1; ret; false_lbl: s2 : object := "false"; call print_str s2; ret; def main : int32 := entry: n1 : object := 10; n2 : object := 20; n3 : object := add n1 n2; n4 : object := mul n3 n3; call print_num n4; c1 : bool := lt n4 n1; call print_bool c1; c2 : bool := le n4 n4; call print_bool c2; n5 : object := 100000000000000000; n6 : object := 200000000000000000; n7 : object := add n5 n6; call print_num n7; r : int32 := 0; ret r;