/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2011-9-10: 22h:12m ** */ /* include some .h files */ #ifndef _ATS_HEADER_NONE #include "ats_config.h" #include "ats_basics.h" #include "ats_types.h" #include "ats_exception.h" #include "ats_memory.h" #endif /* _ATS_HEADER_NONE */ /* include some .cats files */ #ifndef _ATS_PRELUDE_NONE #include "prelude/CATS/basics.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/integer.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/lazy.cats" #include "prelude/CATS/lazy_vt.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/printf.cats" #include "prelude/CATS/reference.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/array.cats" #include "prelude/CATS/list.cats" #include "prelude/CATS/matrix.cats" #include "prelude/CATS/option.cats" #endif /* _ATS_PRELUDE_NONE */ /* prologues from statically loaded files */ #include "libc/CATS/random.cats" /* external codes at top */ /* type definitions */ typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int64_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_block_lab ; ats_ptr_type atslab_block_init ; ats_ptr_type atslab_block_last ; } anairiats_rec_7 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_9 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__list_cons) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__list_nil) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__list_vt_cons) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__list_vt_nil) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__None_vt) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__Some_vt) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMmove) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMexp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMjump) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMcjump) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMseq) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMlabel) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMusedef) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPconst) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPname) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPtemp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPbinop) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPmem) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPcall) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPeseq) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2linmap_randbst_2edats__BSTcons) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2linmap_randbst_2edats__BSTnil) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_isucc) (ats_int_type) ; ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_isub) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_igt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_val(ats_ptr_type, atspre_null_ptr) ; ATSextern_fun(ats_int64_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new) () ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__label_make_new) () ; ATSextern_fun(ats_int_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__compare_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__stm_nop) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__relop_negate) (ats_ptr_type) ; ATSextern_fun(ats_int_type, atslib_srand48_r) (ats_lint_type, ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_randint_r) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2linmap_randbst_2edats__dice) (ats_int_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_empty) () ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_remove) (ats_ref_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_bool_type expIsPure_0 (ats_ptr_type arg0) ; static ats_bool_type expIsRead_1 (ats_ptr_type arg0) ; static ats_bool_type stmIsRead_2 (ats_ptr_type arg0) ; static ats_bool_type isCommutable_3 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type seqSimplify_4 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type exp_temp_make_5 () ; static ats_ptr_type doStm_6 (ats_ptr_type arg0) ; static anairiats_rec_4 doExp_7 (ats_ptr_type arg0) ; static anairiats_rec_4 doExplst_8 (ats_ptr_type arg0) ; static ats_ptr_type aux_10 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type block_make_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type loop_17 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_reverse_append2_vt_01496_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_reverse_01497_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type f1_13 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type f1_13_closure_make (ats_ptr_type env0) ; static ats_ptr_type f1_13_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f2_14 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_clo_ptr_type f2_14_closure_make (ats_ptr_type env0) ; static ats_ptr_type f2_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_int_type __ats_fun_18 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_18_closure_make () ; static ats_int_type __ats_fun_18_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linmap_empty_01770_ () ; static ats_int_type compare_key_key_01769_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_int_type bst_size_01422_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type bst_insert_atroot_01464_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) ; static ats_ptr_type bst_insert_random_01489_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) ; static ats_ptr_type linmap_insert_01777_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3) ; static ats_ptr_type bst_join_random_01503_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type bst_remove_random_01514_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4) ; static ats_ptr_type linmap_remove_01778_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_void_type loop_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_append_01381_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_extend_01405_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type trace_gen_31 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_38 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_37 (ats_ptr_type env0, ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_clo_ptr_type aux_37_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_37_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_39 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type bst_free_01435_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_void_type linmap_free_01775_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp187) ; /* external value variable declarations */ /* function implementations */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 329(line=26, offs=5) -- 509(line=31, offs=15) */ ATSstaticdec() ats_bool_type expIsPure_0 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_bool_type, tmp3) ; __ats_lab_expIsPure_0: #line 26 "canonical.dats" do { /* branch: __ats_lab_0 */ #line 27 "canonical.dats" __ats_lab_0_0: #line 27 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_1_0 ; } #line 27 "canonical.dats" __ats_lab_0_1: #line 27 "canonical.dats" tmp0 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ #line 28 "canonical.dats" __ats_lab_1_0: #line 28 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_2_0 ; } #line 28 "canonical.dats" __ats_lab_1_1: #line 28 "canonical.dats" tmp0 = ats_true_bool ; break ; /* branch: __ats_lab_2 */ #line 29 "canonical.dats" __ats_lab_2_0: #line 29 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_3_0 ; } #line 29 "canonical.dats" __ats_lab_2_1: #line 29 "canonical.dats" tmp1 = ats_caselptr_mac(anairiats_sum_0, arg0, atslab_1) ; #line 29 "canonical.dats" tmp2 = ats_caselptr_mac(anairiats_sum_0, arg0, atslab_2) ; #line 30 "canonical.dats" tmp3 = expIsPure_0 (tmp1) ; #line 30 "canonical.dats" if (tmp3) { #line 30 "canonical.dats" arg0 = tmp2 ; #line 30 "canonical.dats" goto __ats_lab_expIsPure_0 ; // tail call } else { #line 30 "canonical.dats" tmp0 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_3 */ #line 31 "canonical.dats" __ats_lab_3_0: #line 31 "canonical.dats" __ats_lab_3_1: #line 31 "canonical.dats" tmp0 = ats_false_bool ; break ; } while (0) ; return (tmp0) ; } /* end of [expIsPure_0] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 537(line=34, offs=5) -- 941(line=48, offs=15) */ ATSstaticdec() ats_bool_type expIsRead_1 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_bool_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab_expIsRead_1: #line 34 "canonical.dats" do { /* branch: __ats_lab_4 */ #line 35 "canonical.dats" __ats_lab_4_0: #line 35 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_5_0 ; } #line 35 "canonical.dats" __ats_lab_4_1: #line 35 "canonical.dats" tmp4 = ats_true_bool ; break ; /* branch: __ats_lab_5 */ #line 36 "canonical.dats" __ats_lab_5_0: #line 36 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_6_0 ; } #line 36 "canonical.dats" __ats_lab_5_1: #line 36 "canonical.dats" tmp4 = ats_true_bool ; break ; /* branch: __ats_lab_6 */ #line 37 "canonical.dats" __ats_lab_6_0: #line 37 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_7_0 ; } #line 37 "canonical.dats" __ats_lab_6_1: #line 37 "canonical.dats" tmp4 = ats_true_bool ; break ; /* branch: __ats_lab_7 */ #line 38 "canonical.dats" __ats_lab_7_0: #line 38 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_8_0 ; } #line 38 "canonical.dats" __ats_lab_7_1: #line 38 "canonical.dats" tmp5 = ats_caselptr_mac(anairiats_sum_0, arg0, atslab_1) ; #line 38 "canonical.dats" tmp6 = ats_caselptr_mac(anairiats_sum_0, arg0, atslab_2) ; #line 39 "canonical.dats" tmp7 = expIsRead_1 (tmp5) ; #line 39 "canonical.dats" if (tmp7) { #line 39 "canonical.dats" arg0 = tmp6 ; #line 39 "canonical.dats" goto __ats_lab_expIsRead_1 ; // tail call } else { #line 39 "canonical.dats" tmp4 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_8 */ #line 41 "canonical.dats" __ats_lab_8_0: #line 41 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_9_0 ; } #line 41 "canonical.dats" __ats_lab_8_1: #line 41 "canonical.dats" tmp8 = ats_caselptr_mac(anairiats_sum_1, arg0, atslab_0) ; #line 41 "canonical.dats" arg0 = tmp8 ; #line 41 "canonical.dats" goto __ats_lab_expIsRead_1 ; // tail call break ; /* branch: __ats_lab_9 */ #line 48 "canonical.dats" __ats_lab_9_0: #line 48 "canonical.dats" __ats_lab_9_1: #line 48 "canonical.dats" tmp4 = ats_false_bool ; break ; } while (0) ; return (tmp4) ; } /* end of [expIsRead_1] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 969(line=51, offs=5) -- 1172(line=56, offs=15) */ ATSstaticdec() ats_bool_type stmIsRead_2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_bool_type, tmp13) ; __ats_lab_stmIsRead_2: #line 51 "canonical.dats" do { /* branch: __ats_lab_10 */ #line 52 "canonical.dats" __ats_lab_10_0: #line 52 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_11_0 ; } #line 52 "canonical.dats" __ats_lab_10_1: #line 52 "canonical.dats" tmp10 = ats_caselptr_mac(anairiats_sum_1, arg0, atslab_0) ; #line 52 "canonical.dats" tmp9 = expIsRead_1 (tmp10) ; break ; /* branch: __ats_lab_11 */ #line 53 "canonical.dats" __ats_lab_11_0: #line 53 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_12_0 ; } #line 53 "canonical.dats" __ats_lab_11_1: #line 53 "canonical.dats" tmp11 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_0) ; #line 53 "canonical.dats" tmp12 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_1) ; #line 54 "canonical.dats" tmp13 = stmIsRead_2 (tmp11) ; #line 54 "canonical.dats" if (tmp13) { #line 54 "canonical.dats" arg0 = tmp12 ; #line 54 "canonical.dats" goto __ats_lab_stmIsRead_2 ; // tail call } else { #line 54 "canonical.dats" tmp9 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_12 */ #line 56 "canonical.dats" __ats_lab_12_0: #line 56 "canonical.dats" __ats_lab_12_1: #line 56 "canonical.dats" tmp9 = ats_false_bool ; break ; } while (0) ; return (tmp9) ; } /* end of [stmIsRead_2] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 1199(line=59, offs=4) -- 1393(line=65, offs=4) */ ATSstaticdec() ats_bool_type isCommutable_3 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp14) ; ATSlocal (ats_bool_type, tmp15) ; ATSlocal (ats_bool_type, tmp16) ; ATSlocal (ats_bool_type, tmp17) ; __ats_lab_isCommutable_3: #line 61 "canonical.dats" do { /* branch: __ats_lab_13 */ #line 62 "canonical.dats" __ats_lab_13_0: #line 62 "canonical.dats" __ats_lab_13_1: #line 62 "canonical.dats" __ats_lab_13_2: #line 62 "canonical.dats" tmp15 = expIsPure_0 (arg1) ; #line 62 "canonical.dats" if (!tmp15) { goto __ats_lab_14_2 ; } #line 62 "canonical.dats" tmp14 = ats_true_bool ; break ; /* branch: __ats_lab_14 */ #line 63 "canonical.dats" __ats_lab_14_0: #line 63 "canonical.dats" __ats_lab_14_1: #line 63 "canonical.dats" __ats_lab_14_2: #line 63 "canonical.dats" tmp17 = stmIsRead_2 (arg0) ; #line 63 "canonical.dats" if (tmp17) { #line 63 "canonical.dats" tmp16 = expIsRead_1 (arg1) ; } else { #line 63 "canonical.dats" tmp16 = ats_false_bool ; } /* end of [if] */ #line 63 "canonical.dats" if (!tmp16) { goto __ats_lab_15_2 ; } #line 63 "canonical.dats" tmp14 = ats_true_bool ; break ; /* branch: __ats_lab_15 */ #line 64 "canonical.dats" __ats_lab_15_0: #line 64 "canonical.dats" __ats_lab_15_1: #line 64 "canonical.dats" __ats_lab_15_2: #line 64 "canonical.dats" tmp14 = ats_false_bool ; break ; } while (0) ; return (tmp14) ; } /* end of [isCommutable_3] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 1423(line=67, offs=4) -- 1612(line=73, offs=4) */ ATSstaticdec() ats_ptr_type seqSimplify_4 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_bool_type, tmp19) ; ATSlocal (ats_bool_type, tmp20) ; __ats_lab_seqSimplify_4: #line 69 "canonical.dats" do { /* branch: __ats_lab_16 */ #line 70 "canonical.dats" __ats_lab_16_0: #line 70 "canonical.dats" __ats_lab_16_1: #line 70 "canonical.dats" __ats_lab_16_2: #line 70 "canonical.dats" tmp19 = stmIsRead_2 (arg0) ; #line 70 "canonical.dats" if (!tmp19) { goto __ats_lab_17_2 ; } #line 70 "canonical.dats" tmp18 = arg1 ; break ; /* branch: __ats_lab_17 */ #line 71 "canonical.dats" __ats_lab_17_0: #line 71 "canonical.dats" __ats_lab_17_1: #line 71 "canonical.dats" __ats_lab_17_2: #line 71 "canonical.dats" tmp20 = stmIsRead_2 (arg1) ; #line 71 "canonical.dats" if (!tmp20) { goto __ats_lab_18_2 ; } #line 71 "canonical.dats" tmp18 = arg0 ; break ; /* branch: __ats_lab_18 */ #line 72 "canonical.dats" __ats_lab_18_0: #line 72 "canonical.dats" __ats_lab_18_1: #line 72 "canonical.dats" __ats_lab_18_2: #line 72 "canonical.dats" tmp18 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp18)->tag = 4 ; ats_selptrset_mac(anairiats_sum_2, tmp18, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp18, atslab_1, arg1) ; break ; } while (0) ; return (tmp18) ; } /* end of [seqSimplify_4] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 1662(line=77, offs=4) -- 1716(line=77, offs=58) */ ATSstaticdec() ats_ptr_type exp_temp_make_5 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_int64_type, tmp22) ; __ats_lab_exp_temp_make_5: #line 77 "canonical.dats" tmp22 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new () ; #line 77 "canonical.dats" tmp21 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp21)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp21, atslab_0, tmp22) ; return (tmp21) ; } /* end of [exp_temp_make_5] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 1743(line=81, offs=5) -- 2997(line=118, offs=4) */ ATSstaticdec() ats_ptr_type doStm_6 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (anairiats_rec_4, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (anairiats_rec_4, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (anairiats_rec_4, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (anairiats_rec_4, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (anairiats_rec_4, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (anairiats_rec_4, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (anairiats_rec_4, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (anairiats_rec_4, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; __ats_lab_doStm_6: #line 88 "canonical.dats" do { /* branch: __ats_lab_19 */ #line 89 "canonical.dats" __ats_lab_19_0: #line 89 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_20_0 ; } #line 89 "canonical.dats" __ats_lab_19_1: #line 89 "canonical.dats" tmp24 = ats_caselptr_mac(anairiats_sum_1, arg0, atslab_0) ; #line 90 "canonical.dats" tmp25 = doExp_7 (tmp24) ; #line 90 "canonical.dats" tmp26 = ats_select_mac(tmp25, atslab_0) ; #line 90 "canonical.dats" tmp27 = ats_select_mac(tmp25, atslab_1) ; #line 90 "canonical.dats" tmp28 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp28)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp28, atslab_0, tmp27) ; #line 90 "canonical.dats" tmp23 = seqSimplify_4 (tmp26, tmp28) ; break ; /* branch: __ats_lab_20 */ #line 92 "canonical.dats" __ats_lab_20_0: #line 92 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_21_0 ; } #line 92 "canonical.dats" __ats_lab_20_1: #line 92 "canonical.dats" tmp23 = arg0 ; break ; /* branch: __ats_lab_21 */ #line 93 "canonical.dats" __ats_lab_21_0: #line 93 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_22_0 ; } #line 93 "canonical.dats" __ats_lab_21_1: #line 93 "canonical.dats" tmp29 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_0) ; #line 93 "canonical.dats" tmp30 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_1) ; #line 94 "canonical.dats" tmp31 = doStm_6 (tmp29) ; #line 94 "canonical.dats" tmp32 = doStm_6 (tmp30) ; #line 94 "canonical.dats" tmp23 = seqSimplify_4 (tmp31, tmp32) ; break ; /* branch: __ats_lab_22 */ #line 96 "canonical.dats" __ats_lab_22_0: #line 96 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_23_0 ; } #line 96 "canonical.dats" __ats_lab_22_1: #line 96 "canonical.dats" tmp33 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_0) ; #line 96 "canonical.dats" tmp34 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_1) ; #line 97 "canonical.dats" tmp35 = doExp_7 (tmp33) ; #line 97 "canonical.dats" tmp36 = ats_select_mac(tmp35, atslab_0) ; #line 97 "canonical.dats" tmp37 = ats_select_mac(tmp35, atslab_1) ; #line 97 "canonical.dats" tmp23 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp23)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp23, atslab_0, tmp37) ; ats_selptrset_mac(anairiats_sum_2, tmp23, atslab_1, tmp34) ; break ; /* branch: __ats_lab_23 */ #line 99 "canonical.dats" __ats_lab_23_0: #line 99 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_24_0 ; } #line 99 "canonical.dats" __ats_lab_23_1: #line 99 "canonical.dats" tmp38 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_0) ; #line 99 "canonical.dats" tmp39 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_1) ; #line 99 "canonical.dats" tmp40 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_2) ; #line 99 "canonical.dats" tmp41 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_3) ; #line 99 "canonical.dats" tmp42 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_4) ; #line 100 "canonical.dats" tmp43 = doExp_7 (tmp39) ; #line 100 "canonical.dats" tmp44 = ats_select_mac(tmp43, atslab_0) ; #line 100 "canonical.dats" tmp45 = ats_select_mac(tmp43, atslab_1) ; #line 100 "canonical.dats" tmp46 = doExp_7 (tmp40) ; #line 100 "canonical.dats" tmp47 = ats_select_mac(tmp46, atslab_0) ; #line 100 "canonical.dats" tmp48 = ats_select_mac(tmp46, atslab_1) ; #line 101 "canonical.dats" tmp49 = seqSimplify_4 (tmp44, tmp47) ; #line 103 "canonical.dats" tmp50 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp50)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp50, atslab_0, tmp38) ; ats_selptrset_mac(anairiats_sum_5, tmp50, atslab_1, tmp45) ; ats_selptrset_mac(anairiats_sum_5, tmp50, atslab_2, tmp48) ; ats_selptrset_mac(anairiats_sum_5, tmp50, atslab_3, tmp41) ; ats_selptrset_mac(anairiats_sum_5, tmp50, atslab_4, tmp42) ; #line 103 "canonical.dats" tmp23 = seqSimplify_4 (tmp49, tmp50) ; break ; /* branch: __ats_lab_24 */ #line 105 "canonical.dats" __ats_lab_24_0: #line 105 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_25_0 ; } #line 105 "canonical.dats" tmp51 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_0) ; #line 105 "canonical.dats" if (((ats_sum_ptr_type)tmp51)->tag != 2) { goto __ats_lab_25_0 ; } #line 105 "canonical.dats" tmp52 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_1) ; #line 105 "canonical.dats" if (((ats_sum_ptr_type)tmp52)->tag != 5) { goto __ats_lab_25_0 ; } #line 105 "canonical.dats" __ats_lab_24_1: #line 105 "canonical.dats" tmp53 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_0) ; #line 105 "canonical.dats" tmp54 = ats_caselptr_mac(anairiats_sum_2, tmp52, atslab_0) ; #line 105 "canonical.dats" tmp55 = ats_caselptr_mac(anairiats_sum_2, tmp52, atslab_1) ; #line 106 "canonical.dats" tmp56 = doExp_7 (tmp54) ; #line 106 "canonical.dats" tmp57 = ats_select_mac(tmp56, atslab_0) ; #line 106 "canonical.dats" tmp58 = ats_select_mac(tmp56, atslab_1) ; #line 106 "canonical.dats" tmp59 = doExplst_8 (tmp55) ; #line 106 "canonical.dats" tmp60 = ats_select_mac(tmp59, atslab_0) ; #line 106 "canonical.dats" tmp61 = ats_select_mac(tmp59, atslab_1) ; #line 107 "canonical.dats" tmp62 = seqSimplify_4 (tmp57, tmp60) ; #line 107 "canonical.dats" tmp63 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp63)->tag = 5 ; ats_selptrset_mac(anairiats_sum_2, tmp63, atslab_0, tmp58) ; ats_selptrset_mac(anairiats_sum_2, tmp63, atslab_1, tmp61) ; #line 109 "canonical.dats" tmp64 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp64)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp64, atslab_0, tmp53) ; ats_selptrset_mac(anairiats_sum_2, tmp64, atslab_1, tmp63) ; #line 109 "canonical.dats" tmp23 = seqSimplify_4 (tmp62, tmp64) ; break ; /* branch: __ats_lab_25 */ #line 111 "canonical.dats" __ats_lab_25_0: #line 111 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_26_0 ; } #line 111 "canonical.dats" __ats_lab_25_1: #line 111 "canonical.dats" tmp65 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_0) ; #line 111 "canonical.dats" tmp66 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_1) ; #line 112 "canonical.dats" tmp67 = doExp_7 (tmp65) ; #line 112 "canonical.dats" tmp68 = ats_select_mac(tmp67, atslab_0) ; #line 112 "canonical.dats" tmp69 = ats_select_mac(tmp67, atslab_1) ; #line 112 "canonical.dats" tmp70 = doExp_7 (tmp66) ; #line 112 "canonical.dats" tmp71 = ats_select_mac(tmp70, atslab_0) ; #line 112 "canonical.dats" tmp72 = ats_select_mac(tmp70, atslab_1) ; #line 113 "canonical.dats" tmp73 = seqSimplify_4 (tmp68, tmp71) ; #line 115 "canonical.dats" tmp74 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp74)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp74, atslab_0, tmp69) ; ats_selptrset_mac(anairiats_sum_2, tmp74, atslab_1, tmp72) ; #line 115 "canonical.dats" tmp23 = seqSimplify_4 (tmp73, tmp74) ; break ; /* branch: __ats_lab_26 */ #line 117 "canonical.dats" __ats_lab_26_0: #line 117 "canonical.dats" // if (((ats_sum_ptr_type)arg0)->tag != 6) { ats_deadcode_failure_handle () ; } #line 117 "canonical.dats" __ats_lab_26_1: #line 117 "canonical.dats" tmp23 = arg0 ; break ; } while (0) ; return (tmp23) ; } /* end of [doStm_6] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 3021(line=120, offs=5) -- 3971(line=150, offs=4) */ ATSstaticdec() anairiats_rec_4 doExp_7 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_4, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (anairiats_rec_4, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (anairiats_rec_4, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (anairiats_rec_4, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (anairiats_rec_4, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (anairiats_rec_4, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (anairiats_rec_4, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; __ats_lab_doExp_7: #line 127 "canonical.dats" do { /* branch: __ats_lab_27 */ #line 128 "canonical.dats" __ats_lab_27_0: #line 128 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_28_0 ; } #line 128 "canonical.dats" __ats_lab_27_1: #line 128 "canonical.dats" tmp76 = ats_caselptr_mac(anairiats_sum_0, arg0, atslab_0) ; #line 128 "canonical.dats" tmp77 = ats_caselptr_mac(anairiats_sum_0, arg0, atslab_1) ; #line 128 "canonical.dats" tmp78 = ats_caselptr_mac(anairiats_sum_0, arg0, atslab_2) ; #line 129 "canonical.dats" tmp79 = doExp_7 (tmp77) ; #line 129 "canonical.dats" tmp80 = ats_select_mac(tmp79, atslab_0) ; #line 129 "canonical.dats" tmp81 = ats_select_mac(tmp79, atslab_1) ; #line 129 "canonical.dats" tmp82 = doExp_7 (tmp78) ; #line 129 "canonical.dats" tmp83 = ats_select_mac(tmp82, atslab_0) ; #line 129 "canonical.dats" tmp84 = ats_select_mac(tmp82, atslab_1) ; #line 130 "canonical.dats" tmp85 = seqSimplify_4 (tmp80, tmp83) ; #line 132 "canonical.dats" tmp86 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)tmp86)->tag = 3 ; ats_selptrset_mac(anairiats_sum_0, tmp86, atslab_0, tmp76) ; ats_selptrset_mac(anairiats_sum_0, tmp86, atslab_1, tmp81) ; ats_selptrset_mac(anairiats_sum_0, tmp86, atslab_2, tmp84) ; #line 132 "canonical.dats" tmp75.atslab_0 = tmp85 ; tmp75.atslab_1 = tmp86 ; break ; /* branch: __ats_lab_28 */ #line 134 "canonical.dats" __ats_lab_28_0: #line 134 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_29_0 ; } #line 134 "canonical.dats" __ats_lab_28_1: #line 134 "canonical.dats" tmp87 = ats_caselptr_mac(anairiats_sum_1, arg0, atslab_0) ; #line 135 "canonical.dats" tmp88 = doExp_7 (tmp87) ; #line 135 "canonical.dats" tmp89 = ats_select_mac(tmp88, atslab_0) ; #line 135 "canonical.dats" tmp90 = ats_select_mac(tmp88, atslab_1) ; #line 135 "canonical.dats" tmp91 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp91)->tag = 4 ; ats_selptrset_mac(anairiats_sum_1, tmp91, atslab_0, tmp90) ; #line 135 "canonical.dats" tmp75.atslab_0 = tmp89 ; tmp75.atslab_1 = tmp91 ; break ; /* branch: __ats_lab_29 */ #line 137 "canonical.dats" __ats_lab_29_0: #line 137 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_30_0 ; } #line 137 "canonical.dats" __ats_lab_29_1: #line 137 "canonical.dats" tmp92 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_0) ; #line 137 "canonical.dats" tmp93 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_1) ; #line 138 "canonical.dats" tmp94 = doStm_6 (tmp92) ; #line 139 "canonical.dats" tmp95 = doExp_7 (tmp93) ; #line 139 "canonical.dats" tmp96 = ats_select_mac(tmp95, atslab_0) ; #line 139 "canonical.dats" tmp97 = ats_select_mac(tmp95, atslab_1) ; #line 139 "canonical.dats" tmp98 = seqSimplify_4 (tmp94, tmp96) ; #line 139 "canonical.dats" tmp75.atslab_0 = tmp98 ; tmp75.atslab_1 = tmp97 ; break ; /* branch: __ats_lab_30 */ #line 141 "canonical.dats" __ats_lab_30_0: #line 141 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_31_0 ; } #line 141 "canonical.dats" __ats_lab_30_1: #line 141 "canonical.dats" tmp99 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_0) ; #line 141 "canonical.dats" tmp100 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_1) ; #line 142 "canonical.dats" tmp101 = exp_temp_make_5 () ; #line 143 "canonical.dats" tmp102 = doExp_7 (tmp99) ; #line 143 "canonical.dats" tmp103 = ats_select_mac(tmp102, atslab_0) ; #line 143 "canonical.dats" tmp104 = ats_select_mac(tmp102, atslab_1) ; #line 143 "canonical.dats" tmp105 = doExplst_8 (tmp100) ; #line 143 "canonical.dats" tmp106 = ats_select_mac(tmp105, atslab_0) ; #line 143 "canonical.dats" tmp107 = ats_select_mac(tmp105, atslab_1) ; #line 144 "canonical.dats" tmp108 = seqSimplify_4 (tmp103, tmp106) ; #line 145 "canonical.dats" tmp109 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp109)->tag = 5 ; ats_selptrset_mac(anairiats_sum_2, tmp109, atslab_0, tmp104) ; ats_selptrset_mac(anairiats_sum_2, tmp109, atslab_1, tmp107) ; #line 147 "canonical.dats" tmp111 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp111)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp111, atslab_0, tmp101) ; ats_selptrset_mac(anairiats_sum_2, tmp111, atslab_1, tmp109) ; #line 147 "canonical.dats" tmp110 = seqSimplify_4 (tmp108, tmp111) ; #line 147 "canonical.dats" tmp75.atslab_0 = tmp110 ; tmp75.atslab_1 = tmp101 ; break ; /* branch: __ats_lab_31 */ #line 149 "canonical.dats" __ats_lab_31_0: #line 149 "canonical.dats" __ats_lab_31_1: #line 149 "canonical.dats" tmp75.atslab_0 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__stm_nop ; tmp75.atslab_1 = arg0 ; break ; } while (0) ; return (tmp75) ; } /* end of [doExp_7] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 3995(line=152, offs=5) -- 4625(line=167, offs=42) */ ATSstaticdec() anairiats_rec_4 doExplst_8 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_4, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (anairiats_rec_4, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (anairiats_rec_4, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_bool_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; __ats_lab_doExplst_8: #line 152 "canonical.dats" do { /* branch: __ats_lab_32 */ #line 153 "canonical.dats" __ats_lab_32_0: #line 153 "canonical.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } #line 153 "canonical.dats" __ats_lab_32_1: #line 153 "canonical.dats" tmp113 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_0) ; #line 153 "canonical.dats" tmp114 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_1) ; #line 154 "canonical.dats" tmp115 = doExp_7 (tmp113) ; #line 154 "canonical.dats" tmp116 = ats_select_mac(tmp115, atslab_0) ; #line 154 "canonical.dats" tmp117 = ats_select_mac(tmp115, atslab_1) ; #line 154 "canonical.dats" tmp118 = doExplst_8 (tmp114) ; #line 154 "canonical.dats" tmp119 = ats_select_mac(tmp118, atslab_0) ; #line 154 "canonical.dats" tmp120 = ats_select_mac(tmp118, atslab_1) ; #line 156 "canonical.dats" do { /* branch: __ats_lab_33 */ #line 157 "canonical.dats" __ats_lab_33_0: #line 157 "canonical.dats" __ats_lab_33_1: #line 157 "canonical.dats" tmp121 = isCommutable_3 (tmp119, tmp117) ; #line 157 "canonical.dats" if (!tmp121) { goto __ats_lab_34_1 ; } #line 158 "canonical.dats" tmp122 = seqSimplify_4 (tmp116, tmp119) ; #line 158 "canonical.dats" tmp123 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp123, atslab_0, tmp117) ; ats_selptrset_mac(anairiats_sum_6, tmp123, atslab_1, tmp120) ; #line 158 "canonical.dats" tmp112.atslab_0 = tmp122 ; tmp112.atslab_1 = tmp123 ; break ; /* branch: __ats_lab_34 */ #line 160 "canonical.dats" __ats_lab_34_0: #line 160 "canonical.dats" __ats_lab_34_1: #line 161 "canonical.dats" tmp124 = exp_temp_make_5 () ; #line 161 "canonical.dats" tmp125 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp125)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp125, atslab_0, tmp124) ; ats_selptrset_mac(anairiats_sum_2, tmp125, atslab_1, tmp117) ; #line 162 "canonical.dats" tmp126 = seqSimplify_4 (tmp116, tmp125) ; #line 162 "canonical.dats" tmp127 = seqSimplify_4 (tmp126, tmp119) ; #line 164 "canonical.dats" tmp128 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp128, atslab_0, tmp124) ; ats_selptrset_mac(anairiats_sum_6, tmp128, atslab_1, tmp120) ; #line 164 "canonical.dats" tmp112.atslab_0 = tmp127 ; tmp112.atslab_1 = tmp128 ; break ; } while (0) ; break ; /* branch: __ats_lab_35 */ #line 167 "canonical.dats" __ats_lab_35_0: #line 167 "canonical.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 167 "canonical.dats" __ats_lab_35_1: #line 167 "canonical.dats" tmp129 = (ats_sum_ptr_type)0 ; #line 167 "canonical.dats" tmp112.atslab_0 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__stm_nop ; tmp112.atslab_1 = tmp129 ; break ; } while (0) ; return (tmp112) ; } /* end of [doExplst_8] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 4738(line=173, offs=7) -- 4862(line=174, offs=76) */ ATSstaticdec() ats_ptr_type aux_10 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; __ats_lab_aux_10: #line 173 "canonical.dats" do { /* branch: __ats_lab_36 */ #line 174 "canonical.dats" __ats_lab_36_0: #line 174 "canonical.dats" if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_37_0 ; } #line 174 "canonical.dats" __ats_lab_36_1: #line 174 "canonical.dats" tmp132 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_0) ; #line 174 "canonical.dats" tmp133 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_1) ; #line 174 "canonical.dats" tmp134 = aux_10 (tmp133, arg1) ; #line 174 "canonical.dats" arg0 = tmp132 ; #line 174 "canonical.dats" arg1 = tmp134 ; #line 174 "canonical.dats" goto __ats_lab_aux_10 ; // tail call break ; /* branch: __ats_lab_37 */ #line 174 "canonical.dats" __ats_lab_37_0: #line 174 "canonical.dats" __ats_lab_37_1: #line 174 "canonical.dats" tmp131 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp131, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp131, atslab_1, arg1) ; break ; } while (0) ; return (tmp131) ; } /* end of [aux_10] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 4689(line=172, offs=21) -- 4864(line=175, offs=2) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2esats__linearize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2esats__linearize: #line 172 "canonical.dats" tmp135 = doStm_6 (arg0) ; #line 172 "canonical.dats" tmp136 = (ats_sum_ptr_type)0 ; #line 172 "canonical.dats" tmp130 = aux_10 (tmp135, tmp136) ; return (tmp130) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2esats__linearize] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 5034(line=187, offs=4) -- 5141(line=190, offs=2) */ ATSstaticdec() ats_ptr_type block_make_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; __ats_lab_block_make_11: #line 188 "canonical.dats" tmp137 = ATS_MALLOC(sizeof(anairiats_rec_7)) ; ats_selptrset_mac(anairiats_rec_7, tmp137, atslab_block_lab, arg0) ; ats_selptrset_mac(anairiats_rec_7, tmp137, atslab_block_init, arg1) ; ats_selptrset_mac(anairiats_rec_7, tmp137, atslab_block_last, arg2) ; return (tmp137) ; } /* end of [block_make_11] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 56557(line=1952, offs=7) -- 56722(line=1954, offs=74) */ ATSstaticdec() ats_ptr_type loop_17 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; __ats_lab_loop_17: #line 1954 "list.dats" do { /* branch: __ats_lab_42 */ #line 1954 "list.dats" __ats_lab_42_0: #line 1954 "list.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } #line 1954 "list.dats" __ats_lab_42_1: #line 1954 "list.dats" tmp151 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_0) ; #line 1954 "list.dats" tmp152 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_1) ; #line 1954 "list.dats" tmp153 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp153, atslab_0, tmp151) ; ats_selptrset_mac(anairiats_sum_6, tmp153, atslab_1, arg1) ; #line 1954 "list.dats" arg0 = tmp152 ; #line 1954 "list.dats" arg1 = tmp153 ; #line 1954 "list.dats" goto __ats_lab_loop_17 ; // tail call break ; /* branch: __ats_lab_43 */ #line 1954 "list.dats" __ats_lab_43_0: #line 1954 "list.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 1954 "list.dats" __ats_lab_43_1: #line 1954 "list.dats" tmp150 = arg1 ; break ; } while (0) ; return (tmp150) ; } /* end of [loop_17] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 56536(line=1951, offs=25) -- 56745(line=1957, offs=4) */ ATSstaticdec() ats_ptr_type list_reverse_append2_vt_01496_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp149) ; __ats_lab_list_reverse_append2_vt_01496_ats_ptr_type: #line 1956 "list.dats" tmp149 = loop_17 (arg0, arg1) ; return (tmp149) ; } /* end of [list_reverse_append2_vt_01496_ats_ptr_type] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 56830(line=1962, offs=14) -- 56886(line=1963, offs=50) */ ATSstaticdec() ats_ptr_type list_reverse_01497_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp154) ; __ats_lab_list_reverse_01497_ats_ptr_type: #line 1963 "list.dats" tmp154 = (ats_sum_ptr_type)0 ; #line 1963 "list.dats" tmp148 = list_reverse_append2_vt_01496_ats_ptr_type (arg0, tmp154) ; return (tmp148) ; } /* end of [list_reverse_01497_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 5247(line=195, offs=7) -- 5622(line=203, offs=6) */ ATSstaticdec() ats_ptr_type f1_13 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; __ats_lab_f1_13: #line 196 "canonical.dats" do { /* branch: __ats_lab_38 */ #line 197 "canonical.dats" __ats_lab_38_0: #line 197 "canonical.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } #line 197 "canonical.dats" __ats_lab_38_1: #line 197 "canonical.dats" tmp141 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_0) ; #line 197 "canonical.dats" tmp142 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_1) ; #line 197 "canonical.dats" do { /* branch: __ats_lab_39 */ #line 198 "canonical.dats" __ats_lab_39_0: #line 198 "canonical.dats" if (((ats_sum_ptr_type)tmp141)->tag != 5) { goto __ats_lab_40_0 ; } #line 198 "canonical.dats" __ats_lab_39_1: #line 198 "canonical.dats" tmp143 = ats_caselptr_mac(anairiats_sum_1, tmp141, atslab_0) ; #line 198 "canonical.dats" tmp144 = (ats_sum_ptr_type)0 ; #line 198 "canonical.dats" tmp140 = f2_14 (env0, tmp142, tmp143, tmp144, arg1) ; break ; /* branch: __ats_lab_40 */ #line 198 "canonical.dats" __ats_lab_40_0: #line 198 "canonical.dats" __ats_lab_40_1: #line 199 "canonical.dats" tmp145 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__label_make_new () ; #line 199 "canonical.dats" tmp146 = (ats_sum_ptr_type)0 ; #line 199 "canonical.dats" tmp140 = f2_14 (env0, arg0, tmp145, tmp146, arg1) ; break ; } while (0) ; break ; /* branch: __ats_lab_41 */ #line 202 "canonical.dats" __ats_lab_41_0: #line 202 "canonical.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 202 "canonical.dats" __ats_lab_41_1: #line 202 "canonical.dats" tmp147 = list_reverse_01497_ats_ptr_type (arg1) ; #line 202 "canonical.dats" tmp140 = ats_castfn_mac(ats_ptr_type, tmp147) ; break ; } while (0) ; return (tmp140) ; } /* end of [f1_13] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } f1_13_closure_type ; ats_ptr_type f1_13_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return f1_13 (((f1_13_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type f1_13_closure_init (f1_13_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&f1_13_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type f1_13_closure_make (ats_ptr_type env0) { f1_13_closure_type *p_clo = ATS_MALLOC(sizeof(f1_13_closure_type)) ; f1_13_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 5647(line=205, offs=7) -- 7002(line=244, offs=6) */ ATSstaticdec() ats_ptr_type f2_14 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; __ats_lab_f2_14: #line 210 "canonical.dats" do { /* branch: __ats_lab_44 */ #line 211 "canonical.dats" __ats_lab_44_0: #line 211 "canonical.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } #line 211 "canonical.dats" __ats_lab_44_1: #line 211 "canonical.dats" tmp156 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_0) ; #line 211 "canonical.dats" tmp157 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_1) ; #line 211 "canonical.dats" do { /* branch: __ats_lab_45 */ #line 212 "canonical.dats" __ats_lab_45_0: #line 212 "canonical.dats" if (((ats_sum_ptr_type)tmp156)->tag != 2) { goto __ats_lab_46_0 ; } #line 212 "canonical.dats" __ats_lab_45_1: #line 213 "canonical.dats" tmp158 = list_reverse_01497_ats_ptr_type (arg2) ; #line 214 "canonical.dats" tmp159 = block_make_11 (arg1, ats_castfn_mac(ats_ptr_type, tmp158), tmp156) ; #line 215 "canonical.dats" tmp160 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp160, atslab_0, tmp159) ; ats_selptrset_mac(anairiats_sum_6, tmp160, atslab_1, arg3) ; #line 217 "canonical.dats" tmp155 = f1_13 (env0, tmp157, tmp160) ; break ; /* branch: __ats_lab_46 */ #line 219 "canonical.dats" __ats_lab_46_0: #line 219 "canonical.dats" if (((ats_sum_ptr_type)tmp156)->tag != 3) { goto __ats_lab_47_0 ; } #line 219 "canonical.dats" __ats_lab_46_1: #line 220 "canonical.dats" tmp161 = list_reverse_01497_ats_ptr_type (arg2) ; #line 221 "canonical.dats" tmp162 = block_make_11 (arg1, ats_castfn_mac(ats_ptr_type, tmp161), tmp156) ; #line 222 "canonical.dats" tmp163 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp163, atslab_0, tmp162) ; ats_selptrset_mac(anairiats_sum_6, tmp163, atslab_1, arg3) ; #line 224 "canonical.dats" tmp155 = f1_13 (env0, tmp157, tmp163) ; break ; /* branch: __ats_lab_47 */ #line 226 "canonical.dats" __ats_lab_47_0: #line 226 "canonical.dats" if (((ats_sum_ptr_type)tmp156)->tag != 5) { goto __ats_lab_48_0 ; } #line 226 "canonical.dats" __ats_lab_47_1: #line 226 "canonical.dats" tmp164 = ats_caselptr_mac(anairiats_sum_1, tmp156, atslab_0) ; #line 227 "canonical.dats" tmp165 = list_reverse_01497_ats_ptr_type (arg2) ; #line 228 "canonical.dats" tmp167 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp167)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp167, atslab_0, tmp164) ; #line 228 "canonical.dats" tmp168 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp168, atslab_0, tmp164) ; #line 228 "canonical.dats" tmp169 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp168), atslab_1) ; #line 228 "canonical.dats" tmp170 = (ats_sum_ptr_type)0 ; #line 228 "canonical.dats" ats_ptrget_mac(ats_ptr_type, tmp169) = tmp170 ; #line 228 "canonical.dats" tmp166 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp166)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp166, atslab_0, tmp167) ; ats_selptrset_mac(anairiats_sum_2, tmp166, atslab_1, tmp168) ; #line 229 "canonical.dats" tmp171 = block_make_11 (arg1, ats_castfn_mac(ats_ptr_type, tmp165), tmp166) ; #line 230 "canonical.dats" tmp172 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp172, atslab_0, tmp171) ; ats_selptrset_mac(anairiats_sum_6, tmp172, atslab_1, arg3) ; #line 232 "canonical.dats" tmp173 = (ats_sum_ptr_type)0 ; #line 232 "canonical.dats" arg0 = tmp157 ; #line 232 "canonical.dats" arg1 = tmp164 ; #line 232 "canonical.dats" arg2 = tmp173 ; #line 232 "canonical.dats" arg3 = tmp172 ; #line 232 "canonical.dats" goto __ats_lab_f2_14 ; // tail call break ; /* branch: __ats_lab_48 */ #line 234 "canonical.dats" __ats_lab_48_0: #line 234 "canonical.dats" __ats_lab_48_1: #line 234 "canonical.dats" tmp174 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp174, atslab_0, tmp156) ; ats_selptrset_mac(anairiats_sum_6, tmp174, atslab_1, arg2) ; #line 234 "canonical.dats" arg0 = tmp157 ; #line 234 "canonical.dats" arg1 = arg1 ; #line 234 "canonical.dats" arg2 = tmp174 ; #line 234 "canonical.dats" arg3 = arg3 ; #line 234 "canonical.dats" goto __ats_lab_f2_14 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_49 */ #line 236 "canonical.dats" __ats_lab_49_0: #line 236 "canonical.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 236 "canonical.dats" __ats_lab_49_1: #line 237 "canonical.dats" tmp175 = list_reverse_01497_ats_ptr_type (arg2) ; #line 238 "canonical.dats" tmp177 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp177)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp177, atslab_0, env0) ; #line 238 "canonical.dats" tmp178 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp178, atslab_0, env0) ; #line 238 "canonical.dats" tmp179 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp178), atslab_1) ; #line 238 "canonical.dats" tmp180 = (ats_sum_ptr_type)0 ; #line 238 "canonical.dats" ats_ptrget_mac(ats_ptr_type, tmp179) = tmp180 ; #line 238 "canonical.dats" tmp176 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp176)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp176, atslab_0, tmp177) ; ats_selptrset_mac(anairiats_sum_2, tmp176, atslab_1, tmp178) ; #line 239 "canonical.dats" tmp181 = block_make_11 (arg1, ats_castfn_mac(ats_ptr_type, tmp175), tmp176) ; #line 240 "canonical.dats" tmp182 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp182, atslab_0, tmp181) ; ats_selptrset_mac(anairiats_sum_6, tmp182, atslab_1, arg3) ; #line 242 "canonical.dats" tmp183 = list_reverse_01497_ats_ptr_type (tmp182) ; #line 242 "canonical.dats" tmp155 = ats_castfn_mac(ats_ptr_type, tmp183) ; break ; } while (0) ; return (tmp155) ; } /* end of [f2_14] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } f2_14_closure_type ; ats_ptr_type f2_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { return f2_14 (((f2_14_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2, arg3) ; } /* end of function */ ATSinline() ats_void_type f2_14_closure_init (f2_14_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&f2_14_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type f2_14_closure_make (ats_ptr_type env0) { f2_14_closure_type *p_clo = ATS_MALLOC(sizeof(f2_14_closure_type)) ; f2_14_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 5189(line=192, offs=24) -- 7060(line=247, offs=4) */ ATSglobaldec() anairiats_rec_4 _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2esats__blocklst_gen (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_4, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2esats__blocklst_gen: #line 193 "canonical.dats" tmp139 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__label_make_new () ; #line 246 "canonical.dats" tmp185 = (ats_sum_ptr_type)0 ; #line 246 "canonical.dats" tmp184 = f1_13 (tmp139, arg0, tmp185) ; #line 246 "canonical.dats" tmp138.atslab_0 = tmp139 ; tmp138.atslab_1 = tmp184 ; return (tmp138) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2esats__blocklst_gen] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 7214(line=257, offs=12) -- 7291(line=258, offs=51) */ ATSstaticdec() ats_int_type __ats_fun_18 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp186) ; __ats_lab___ats_fun_18: #line 258 "canonical.dats" tmp186 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__compare_label_label (arg0, arg1) ; return (tmp186) ; } /* end of [__ats_fun_18] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_18_closure_type ; ats_int_type __ats_fun_18_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_18 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_18_closure_init (__ats_fun_18_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_18_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_18_closure_make () { __ats_fun_18_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_18_closure_type)) ; __ats_fun_18_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 10058(line=329, offs=26) -- 10072(line=329, offs=40) */ ATSstaticdec() ats_ptr_type linmap_empty_01770_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp189) ; __ats_lab_linmap_empty_01770_: #line 329 "linmap_randbst.dats" tmp189 = (ats_sum_ptr_type)0 ; return (tmp189) ; } /* end of [linmap_empty_01770_] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 7533(line=271, offs=26) -- 7558(line=271, offs=51) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_empty () { /* local vardec */ ATSlocal (ats_ptr_type, tmp188) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_empty: #line 271 "canonical.dats" tmp188 = linmap_empty_01770_ () ; return (tmp188) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_empty] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 659(line=33, offs=32) -- 687(line=33, offs=60) */ ATSstaticdec() ats_int_type compare_key_key_01769_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp209) ; __ats_lab_compare_key_key_01769_ats_ptr_type: #line 33 "linmap_randbst.dats" tmp209 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp209) ; } /* end of [compare_key_key_01769_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 2454(line=99, offs=20) -- 2570(line=100, offs=71) */ ATSstaticdec() ats_int_type bst_size_01422_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp219) ; ATSlocal (ats_int_type, tmp220) ; __ats_lab_bst_size_01422_ats_ptr_type_2cats_ptr_type: #line 99 "linmap_randbst.dats" do { /* branch: __ats_lab_52 */ #line 100 "linmap_randbst.dats" __ats_lab_52_0: #line 100 "linmap_randbst.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_53_0 ; } #line 100 "linmap_randbst.dats" __ats_lab_52_1: #line 100 "linmap_randbst.dats" tmp220 = ats_caselptr_mac(anairiats_sum_8, arg0, atslab_0) ; #line 100 "linmap_randbst.dats" tmp219 = tmp220 ; break ; /* branch: __ats_lab_53 */ #line 100 "linmap_randbst.dats" __ats_lab_53_0: #line 100 "linmap_randbst.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 100 "linmap_randbst.dats" __ats_lab_53_1: #line 100 "linmap_randbst.dats" tmp219 = 0 ; break ; } while (0) ; return (tmp219) ; } /* end of [bst_size_01422_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 5238(line=195, offs=35) -- 6864(line=238, offs=4) */ ATSstaticdec() ats_ptr_type bst_insert_atroot_01464_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_int_type, tmp208) ; ATSlocal (ats_bool_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_bool_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_int_type, tmp217) ; ATSlocal (ats_int_type, tmp218) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_int_type, tmp223) ; ATSlocal (ats_int_type, tmp224) ; ATSlocal (ats_bool_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_bool_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_int_type, tmp232) ; ATSlocal (ats_int_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_int_type, tmp236) ; ATSlocal (ats_int_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; __ats_lab_bst_insert_atroot_01464_ats_ptr_type_2cats_ptr_type: #line 199 "linmap_randbst.dats" do { /* branch: __ats_lab_51 */ #line 200 "linmap_randbst.dats" __ats_lab_51_0: #line 200 "linmap_randbst.dats" if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } #line 200 "linmap_randbst.dats" __ats_lab_51_1: #line 201 "linmap_randbst.dats" tmp204 = &ats_caselptr_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; #line 201 "linmap_randbst.dats" tmp205 = ats_caselptr_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; #line 201 "linmap_randbst.dats" tmp206 = &ats_caselptr_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; #line 201 "linmap_randbst.dats" tmp207 = &ats_caselptr_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; #line 202 "linmap_randbst.dats" tmp208 = compare_key_key_01769_ats_ptr_type (arg1, tmp205, arg3) ; #line 203 "linmap_randbst.dats" tmp210 = atspre_ilt (tmp208, 0) ; #line 203 "linmap_randbst.dats" if (tmp210) { #line 204 "linmap_randbst.dats" tmp211 = bst_insert_atroot_01464_ats_ptr_type_2cats_ptr_type (tmp206, arg1, arg2, arg3, arg4) ; #line 206 "linmap_randbst.dats" tmp212 = atspre_ieq (ats_ptrget_mac(ats_int_type, arg4), 0) ; #line 206 "linmap_randbst.dats" if (tmp212) { #line 207 "linmap_randbst.dats" tmp213 = ats_ptrget_mac(ats_ptr_type, tmp206) ; #line 208 "linmap_randbst.dats" // if (tmp213 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 208 "linmap_randbst.dats" tmp214 = &ats_caselptr_mac(anairiats_sum_8, tmp213, atslab_0) ; #line 208 "linmap_randbst.dats" tmp215 = &ats_caselptr_mac(anairiats_sum_8, tmp213, atslab_3) ; #line 208 "linmap_randbst.dats" tmp216 = &ats_caselptr_mac(anairiats_sum_8, tmp213, atslab_4) ; #line 209 "linmap_randbst.dats" tmp217 = ats_ptrget_mac(ats_int_type, tmp204) ; #line 209 "linmap_randbst.dats" tmp221 = ats_ptrget_mac(ats_ptr_type, tmp215) ; #line 209 "linmap_randbst.dats" tmp218 = bst_size_01422_ats_ptr_type_2cats_ptr_type (tmp221) ; #line 211 "linmap_randbst.dats" tmp222 = ats_ptrget_mac(ats_ptr_type, tmp216) ; #line 211 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, tmp206) = tmp222 ; #line 211 "linmap_randbst.dats" tmp223 = atspre_isub (tmp217, tmp218) ; #line 211 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp204) = tmp223 ; #line 212 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, tmp216) = ats_ptrget_mac(ats_ptr_type, arg0) ; #line 212 "linmap_randbst.dats" tmp224 = atspre_iadd (tmp217, 1) ; #line 212 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp214) = tmp224 ; #line 213 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp213 ; #line 213 "linmap_randbst.dats" tmp203 = tmp211 ; } else { #line 215 "linmap_randbst.dats" tmp203 = tmp211 ; } /* end of [if] */ } else { #line 217 "linmap_randbst.dats" tmp225 = atspre_igt (tmp208, 0) ; #line 217 "linmap_randbst.dats" if (tmp225) { #line 218 "linmap_randbst.dats" tmp226 = bst_insert_atroot_01464_ats_ptr_type_2cats_ptr_type (tmp207, arg1, arg2, arg3, arg4) ; #line 220 "linmap_randbst.dats" tmp227 = atspre_ieq (ats_ptrget_mac(ats_int_type, arg4), 0) ; #line 220 "linmap_randbst.dats" if (tmp227) { #line 221 "linmap_randbst.dats" tmp228 = ats_ptrget_mac(ats_ptr_type, tmp207) ; #line 222 "linmap_randbst.dats" // if (tmp228 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 222 "linmap_randbst.dats" tmp229 = &ats_caselptr_mac(anairiats_sum_8, tmp228, atslab_0) ; #line 222 "linmap_randbst.dats" tmp230 = &ats_caselptr_mac(anairiats_sum_8, tmp228, atslab_3) ; #line 222 "linmap_randbst.dats" tmp231 = &ats_caselptr_mac(anairiats_sum_8, tmp228, atslab_4) ; #line 223 "linmap_randbst.dats" tmp232 = ats_ptrget_mac(ats_int_type, tmp204) ; #line 223 "linmap_randbst.dats" tmp234 = ats_ptrget_mac(ats_ptr_type, tmp231) ; #line 223 "linmap_randbst.dats" tmp233 = bst_size_01422_ats_ptr_type_2cats_ptr_type (tmp234) ; #line 225 "linmap_randbst.dats" tmp235 = ats_ptrget_mac(ats_ptr_type, tmp230) ; #line 225 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, tmp207) = tmp235 ; #line 225 "linmap_randbst.dats" tmp236 = atspre_isub (tmp232, tmp233) ; #line 225 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp204) = tmp236 ; #line 226 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, tmp230) = ats_ptrget_mac(ats_ptr_type, arg0) ; #line 226 "linmap_randbst.dats" tmp237 = atspre_iadd (tmp232, 1) ; #line 226 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp229) = tmp237 ; #line 227 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp228 ; #line 227 "linmap_randbst.dats" tmp203 = tmp226 ; } else { #line 229 "linmap_randbst.dats" tmp203 = tmp226 ; } /* end of [if] */ } else { #line 232 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, arg4) = 1 ; #line 232 "linmap_randbst.dats" tmp203 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp203, atslab_0, arg2) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_54 */ #line 235 "linmap_randbst.dats" __ats_lab_54_0: #line 235 "linmap_randbst.dats" // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 235 "linmap_randbst.dats" __ats_lab_54_1: #line 236 "linmap_randbst.dats" tmp239 = (ats_sum_ptr_type)0 ; #line 236 "linmap_randbst.dats" tmp240 = (ats_sum_ptr_type)0 ; #line 236 "linmap_randbst.dats" tmp238 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp238, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_8, tmp238, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp238, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_8, tmp238, atslab_3, tmp239) ; ats_selptrset_mac(anairiats_sum_8, tmp238, atslab_4, tmp240) ; #line 236 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp238 ; #line 236 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, arg4) = 0 ; #line 236 "linmap_randbst.dats" tmp203 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp203) ; } /* end of [bst_insert_atroot_01464_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 6962(line=241, offs=35) -- 7987(line=264, offs=4) */ ATSstaticdec() ats_ptr_type bst_insert_random_01489_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_bool_type, tmp201) ; ATSlocal (ats_int_type, tmp202) ; ATSlocal (ats_int_type, tmp241) ; ATSlocal (ats_bool_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_bool_type, tmp244) ; ATSlocal (ats_int_type, tmp245) ; ATSlocal (ats_int_type, tmp246) ; ATSlocal (ats_bool_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_bool_type, tmp249) ; ATSlocal (ats_int_type, tmp250) ; ATSlocal (ats_int_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; __ats_lab_bst_insert_random_01489_ats_ptr_type_2cats_ptr_type: #line 245 "linmap_randbst.dats" do { /* branch: __ats_lab_50 */ #line 246 "linmap_randbst.dats" __ats_lab_50_0: #line 246 "linmap_randbst.dats" if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } #line 246 "linmap_randbst.dats" __ats_lab_50_1: #line 246 "linmap_randbst.dats" tmp197 = &ats_caselptr_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; #line 246 "linmap_randbst.dats" tmp198 = ats_caselptr_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; #line 246 "linmap_randbst.dats" tmp199 = &ats_caselptr_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; #line 246 "linmap_randbst.dats" tmp200 = &ats_caselptr_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; #line 247 "linmap_randbst.dats" tmp202 = ats_ptrget_mac(ats_int_type, tmp197) ; #line 247 "linmap_randbst.dats" tmp201 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2linmap_randbst_2edats__dice (1, tmp202, arg5) ; #line 247 "linmap_randbst.dats" if (tmp201) { #line 248 "linmap_randbst.dats" tmp196 = bst_insert_atroot_01464_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, arg3, arg4) ; } else { #line 250 "linmap_randbst.dats" tmp241 = compare_key_key_01769_ats_ptr_type (arg1, tmp198, arg3) ; #line 251 "linmap_randbst.dats" tmp242 = atspre_ilt (tmp241, 0) ; #line 251 "linmap_randbst.dats" if (tmp242) { #line 252 "linmap_randbst.dats" tmp243 = bst_insert_random_01489_ats_ptr_type_2cats_ptr_type (tmp199, arg1, arg2, arg3, arg4, arg5) ; #line 253 "linmap_randbst.dats" tmp244 = atspre_ieq (ats_ptrget_mac(ats_int_type, arg4), 0) ; #line 253 "linmap_randbst.dats" if (tmp244) { #line 253 "linmap_randbst.dats" tmp246 = ats_ptrget_mac(ats_int_type, tmp197) ; #line 253 "linmap_randbst.dats" tmp245 = atspre_iadd (tmp246, 1) ; #line 253 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp197) = tmp245 ; #line 253 "linmap_randbst.dats" tmp196 = tmp243 ; } else { #line 253 "linmap_randbst.dats" tmp196 = tmp243 ; } /* end of [if] */ } else { #line 254 "linmap_randbst.dats" tmp247 = atspre_igt (tmp241, 0) ; #line 254 "linmap_randbst.dats" if (tmp247) { #line 255 "linmap_randbst.dats" tmp248 = bst_insert_random_01489_ats_ptr_type_2cats_ptr_type (tmp200, arg1, arg2, arg3, arg4, arg5) ; #line 256 "linmap_randbst.dats" tmp249 = atspre_ieq (ats_ptrget_mac(ats_int_type, arg4), 0) ; #line 256 "linmap_randbst.dats" if (tmp249) { #line 256 "linmap_randbst.dats" tmp251 = ats_ptrget_mac(ats_int_type, tmp197) ; #line 256 "linmap_randbst.dats" tmp250 = atspre_iadd (tmp251, 1) ; #line 256 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp197) = tmp250 ; #line 256 "linmap_randbst.dats" tmp196 = tmp248 ; } else { #line 256 "linmap_randbst.dats" tmp196 = tmp248 ; } /* end of [if] */ } else { #line 258 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, arg4) = 1 ; #line 258 "linmap_randbst.dats" tmp196 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp196, atslab_0, arg2) ; } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_55 */ #line 261 "linmap_randbst.dats" __ats_lab_55_0: #line 261 "linmap_randbst.dats" // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 261 "linmap_randbst.dats" __ats_lab_55_1: #line 262 "linmap_randbst.dats" tmp253 = (ats_sum_ptr_type)0 ; #line 262 "linmap_randbst.dats" tmp254 = (ats_sum_ptr_type)0 ; #line 262 "linmap_randbst.dats" tmp252 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp252, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_8, tmp252, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp252, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_8, tmp252, atslab_3, tmp253) ; ats_selptrset_mac(anairiats_sum_8, tmp252, atslab_4, tmp254) ; #line 262 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp252 ; #line 262 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, arg4) = 0 ; #line 262 "linmap_randbst.dats" tmp196 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp196) ; } /* end of [bst_insert_random_01489_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 10868(line=362, offs=17) -- 11059(line=367, offs=4) */ ATSstaticdec() ats_ptr_type linmap_insert_01777_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_int_type, tmp193) ; ATSlocal (ats_drand48_data_type, tmp194) ; ATSlocal (ats_int_type, tmp195) ; __ats_lab_linmap_insert_01777_ats_ptr_type_2cats_ptr_type: #line 363 "linmap_randbst.dats" /* ats_int_type tmp193 ; */ #line 364 "linmap_randbst.dats" /* ats_drand48_data_type tmp194 ; */ #line 365 "linmap_randbst.dats" tmp195 = atslib_srand48_r (0L, (&tmp194)) ; #line 366 "linmap_randbst.dats" tmp192 = bst_insert_random_01489_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, arg3, (&tmp193), (&tmp194)) ; return (tmp192) ; } /* end of [linmap_insert_01777_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 7586(line=273, offs=27) -- 7729(line=276, offs=4) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_insert (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_insert: #line 274 "canonical.dats" tmp191 = linmap_insert_01777_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, statmp187) ; #line 275 "canonical.dats" do { /* branch: __ats_lab_56 */ #line 275 "canonical.dats" __ats_lab_56_0: #line 275 "canonical.dats" if (tmp191 == (ats_sum_ptr_type)0) { goto __ats_lab_57_0 ; } #line 275 "canonical.dats" __ats_lab_56_1: #line 275 "canonical.dats" ATS_FREE(tmp191) ; break ; /* branch: __ats_lab_57 */ #line 275 "canonical.dats" __ats_lab_57_0: #line 275 "canonical.dats" // if (tmp191 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 275 "canonical.dats" __ats_lab_57_1: break ; } while (0) ; return /* (tmp190) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_insert] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 8112(line=269, offs=41) -- 8848(line=291, offs=4) */ ATSstaticdec() ats_ptr_type bst_join_random_01503_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_int_type, tmp281) ; ATSlocal (ats_int_type, tmp282) ; ATSlocal (ats_int_type, tmp283) ; ATSlocal (ats_bool_type, tmp284) ; ATSlocal (ats_int_type, tmp285) ; ATSlocal (ats_int_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; __ats_lab_bst_join_random_01503_ats_ptr_type_2cats_ptr_type: #line 273 "linmap_randbst.dats" do { /* branch: __ats_lab_62 */ #line 274 "linmap_randbst.dats" __ats_lab_62_0: #line 274 "linmap_randbst.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_65_0 ; } #line 274 "linmap_randbst.dats" __ats_lab_62_1: #line 275 "linmap_randbst.dats" tmp277 = &ats_caselptr_mac(anairiats_sum_8, arg0, atslab_0) ; #line 275 "linmap_randbst.dats" tmp278 = &ats_caselptr_mac(anairiats_sum_8, arg0, atslab_4) ; #line 276 "linmap_randbst.dats" do { /* branch: __ats_lab_63 */ #line 277 "linmap_randbst.dats" __ats_lab_63_0: #line 277 "linmap_randbst.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; } #line 277 "linmap_randbst.dats" __ats_lab_63_1: #line 277 "linmap_randbst.dats" tmp279 = &ats_caselptr_mac(anairiats_sum_8, arg1, atslab_0) ; #line 277 "linmap_randbst.dats" tmp280 = &ats_caselptr_mac(anairiats_sum_8, arg1, atslab_3) ; #line 278 "linmap_randbst.dats" tmp282 = ats_ptrget_mac(ats_int_type, tmp277) ; #line 278 "linmap_randbst.dats" tmp283 = ats_ptrget_mac(ats_int_type, tmp279) ; #line 278 "linmap_randbst.dats" tmp281 = atspre_iadd (tmp282, tmp283) ; #line 280 "linmap_randbst.dats" tmp285 = ats_ptrget_mac(ats_int_type, tmp277) ; #line 280 "linmap_randbst.dats" tmp286 = ats_ptrget_mac(ats_int_type, tmp279) ; #line 280 "linmap_randbst.dats" tmp284 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2linmap_randbst_2edats__dice (tmp285, tmp286, arg2) ; #line 280 "linmap_randbst.dats" if (tmp284) { #line 281 "linmap_randbst.dats" tmp288 = ats_ptrget_mac(ats_ptr_type, tmp278) ; #line 281 "linmap_randbst.dats" tmp287 = bst_join_random_01503_ats_ptr_type_2cats_ptr_type (tmp288, arg1, arg2) ; #line 281 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, tmp278) = tmp287 ; #line 282 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp277) = tmp281 ; #line 282 "linmap_randbst.dats" tmp276 = arg0 ; } else { #line 284 "linmap_randbst.dats" tmp290 = ats_ptrget_mac(ats_ptr_type, tmp280) ; #line 284 "linmap_randbst.dats" tmp289 = bst_join_random_01503_ats_ptr_type_2cats_ptr_type (arg0, tmp290, arg2) ; #line 284 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, tmp280) = tmp289 ; #line 285 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp279) = tmp281 ; #line 285 "linmap_randbst.dats" tmp276 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_64 */ #line 288 "linmap_randbst.dats" __ats_lab_64_0: #line 288 "linmap_randbst.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 288 "linmap_randbst.dats" __ats_lab_64_1: #line 288 "linmap_randbst.dats" tmp276 = arg0 ; break ; } while (0) ; break ; /* branch: __ats_lab_65 */ #line 290 "linmap_randbst.dats" __ats_lab_65_0: #line 290 "linmap_randbst.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 290 "linmap_randbst.dats" __ats_lab_65_1: #line 290 "linmap_randbst.dats" tmp276 = arg1 ; break ; } while (0) ; return (tmp276) ; } /* end of [bst_join_random_01503_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 8975(line=296, offs=48) -- 9889(line=321, offs=4) */ ATSstaticdec() ats_ptr_type bst_remove_random_01514_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_int_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_int_type, tmp268) ; ATSlocal (ats_int_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_int_type, tmp271) ; ATSlocal (ats_int_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; __ats_lab_bst_remove_random_01514_ats_ptr_type_2cats_ptr_type: #line 302 "linmap_randbst.dats" do { /* branch: __ats_lab_58 */ #line 303 "linmap_randbst.dats" __ats_lab_58_0: #line 303 "linmap_randbst.dats" if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_66_0 ; } #line 303 "linmap_randbst.dats" __ats_lab_58_1: #line 304 "linmap_randbst.dats" tmp261 = &ats_caselptr_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; #line 304 "linmap_randbst.dats" tmp262 = ats_caselptr_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; #line 304 "linmap_randbst.dats" tmp263 = &ats_caselptr_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; #line 304 "linmap_randbst.dats" tmp264 = &ats_caselptr_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; #line 304 "linmap_randbst.dats" tmp265 = &ats_caselptr_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; #line 305 "linmap_randbst.dats" tmp266 = compare_key_key_01769_ats_ptr_type (arg1, tmp262, arg2) ; #line 305 "linmap_randbst.dats" do { /* branch: __ats_lab_59 */ #line 306 "linmap_randbst.dats" __ats_lab_59_0: #line 306 "linmap_randbst.dats" if (tmp266 != -1) { goto __ats_lab_60_0 ; } #line 306 "linmap_randbst.dats" __ats_lab_59_1: #line 307 "linmap_randbst.dats" tmp267 = bst_remove_random_01514_ats_ptr_type_2cats_ptr_type (tmp264, arg1, arg2, arg3, arg4) ; #line 308 "linmap_randbst.dats" tmp269 = ats_ptrget_mac(ats_int_type, tmp261) ; #line 308 "linmap_randbst.dats" tmp268 = atspre_isub (tmp269, ats_ptrget_mac(ats_int_type, arg3)) ; #line 308 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp261) = tmp268 ; #line 308 "linmap_randbst.dats" tmp260 = tmp267 ; break ; /* branch: __ats_lab_60 */ #line 310 "linmap_randbst.dats" __ats_lab_60_0: #line 310 "linmap_randbst.dats" if (tmp266 != 1) { goto __ats_lab_61_0 ; } #line 310 "linmap_randbst.dats" __ats_lab_60_1: #line 311 "linmap_randbst.dats" tmp270 = bst_remove_random_01514_ats_ptr_type_2cats_ptr_type (tmp265, arg1, arg2, arg3, arg4) ; #line 312 "linmap_randbst.dats" tmp272 = ats_ptrget_mac(ats_int_type, tmp261) ; #line 312 "linmap_randbst.dats" tmp271 = atspre_isub (tmp272, ats_ptrget_mac(ats_int_type, arg3)) ; #line 312 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp261) = tmp271 ; #line 312 "linmap_randbst.dats" tmp260 = tmp270 ; break ; /* branch: __ats_lab_61 */ #line 314 "linmap_randbst.dats" __ats_lab_61_0: #line 314 "linmap_randbst.dats" __ats_lab_61_1: #line 315 "linmap_randbst.dats" tmp274 = ats_ptrget_mac(ats_ptr_type, tmp263) ; #line 315 "linmap_randbst.dats" tmp273 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp273, atslab_0, tmp274) ; #line 316 "linmap_randbst.dats" tmp291 = ats_ptrget_mac(ats_ptr_type, tmp264) ; #line 316 "linmap_randbst.dats" tmp292 = ats_ptrget_mac(ats_ptr_type, tmp265) ; #line 316 "linmap_randbst.dats" tmp275 = bst_join_random_01503_ats_ptr_type_2cats_ptr_type (tmp291, tmp292, arg4) ; #line 317 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, arg3) = 1 ; #line 317 "linmap_randbst.dats" ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; #line 317 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp275 ; #line 317 "linmap_randbst.dats" tmp260 = tmp273 ; break ; } while (0) ; break ; /* branch: __ats_lab_66 */ #line 320 "linmap_randbst.dats" __ats_lab_66_0: #line 320 "linmap_randbst.dats" // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 320 "linmap_randbst.dats" __ats_lab_66_1: #line 320 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, arg3) = 0 ; #line 320 "linmap_randbst.dats" tmp260 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp260) ; } /* end of [bst_remove_random_01514_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 11143(line=372, offs=17) -- 11326(line=377, offs=4) */ ATSstaticdec() ats_ptr_type linmap_remove_01778_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_int_type, tmp257) ; ATSlocal (ats_drand48_data_type, tmp258) ; ATSlocal (ats_int_type, tmp259) ; __ats_lab_linmap_remove_01778_ats_ptr_type_2cats_ptr_type: #line 373 "linmap_randbst.dats" /* ats_int_type tmp257 ; */ #line 374 "linmap_randbst.dats" /* ats_drand48_data_type tmp258 ; */ #line 375 "linmap_randbst.dats" tmp259 = atslib_srand48_r (0L, (&tmp258)) ; #line 376 "linmap_randbst.dats" tmp256 = bst_remove_random_01514_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, (&tmp257), (&tmp258)) ; return (tmp256) ; } /* end of [linmap_remove_01778_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 7785(line=278, offs=27) -- 7846(line=279, offs=49) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_remove (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp255) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_remove: #line 279 "canonical.dats" tmp255 = linmap_remove_01778_ats_ptr_type_2cats_ptr_type (arg0, arg1, statmp187) ; return (tmp255) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_remove] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 7671(line=269, offs=7) -- 7996(line=281, offs=6) */ ATSstaticdec() ats_void_type loop_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; __ats_lab_loop_33: #line 274 "list.dats" do { /* branch: __ats_lab_69 */ #line 275 "list.dats" __ats_lab_69_0: #line 275 "list.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_70_0 ; } #line 275 "list.dats" __ats_lab_69_1: #line 275 "list.dats" tmp307 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_0) ; #line 275 "list.dats" tmp308 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_1) ; #line 276 "list.dats" tmp309 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp309, atslab_0, tmp307) ; #line 276 "list.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp309 ; #line 276 "list.dats" // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 276 "list.dats" tmp310 = &ats_caselptr_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; #line 278 "list.dats" arg0 = tmp308 ; #line 278 "list.dats" arg1 = arg1 ; #line 278 "list.dats" arg2 = tmp310 ; #line 278 "list.dats" goto __ats_lab_loop_33 ; // tail call break ; /* branch: __ats_lab_70 */ #line 280 "list.dats" __ats_lab_70_0: #line 280 "list.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 280 "list.dats" __ats_lab_70_1: #line 280 "list.dats" ats_ptrget_mac(ats_ptr_type, arg2) = arg1 ; break ; } while (0) ; return /* (tmp306) */ ; } /* end of [loop_33] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 7615(line=267, offs=13) -- 8046(line=284, offs=4) */ ATSstaticdec() ats_ptr_type list_append_01381_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; // ATSlocal_void (tmp311) ; __ats_lab_list_append_01381_ats_ptr_type: #line 268 "list.dats" /* ats_ptr_type tmp305 ; */ #line 283 "list.dats" /* tmp311 = */ loop_33 (arg0, arg1, (&tmp305)) ; #line 283 "list.dats" tmp304 = tmp305 ; return (tmp304) ; } /* end of [list_append_01381_ats_ptr_type] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 18216(line=635, offs=7) -- 18589(line=646, offs=6) */ ATSstaticdec() ats_void_type loop_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; __ats_lab_loop_35: #line 639 "list.dats" do { /* branch: __ats_lab_72 */ #line 640 "list.dats" __ats_lab_72_0: #line 640 "list.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_73_0 ; } #line 640 "list.dats" __ats_lab_72_1: #line 640 "list.dats" tmp316 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_0) ; #line 640 "list.dats" tmp317 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_1) ; #line 641 "list.dats" tmp318 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp318, atslab_0, tmp316) ; #line 641 "list.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp318 ; #line 641 "list.dats" if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 18429(line=641, offs=60) -- 18455(line=641, offs=86)") ; } #line 641 "list.dats" tmp319 = &ats_caselptr_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; #line 643 "list.dats" arg0 = tmp317 ; #line 643 "list.dats" arg1 = arg1 ; #line 643 "list.dats" arg2 = tmp319 ; #line 643 "list.dats" goto __ats_lab_loop_35 ; // tail call break ; /* branch: __ats_lab_73 */ #line 645 "list.dats" __ats_lab_73_0: #line 645 "list.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 645 "list.dats" __ats_lab_73_1: #line 645 "list.dats" tmp321 = (ats_sum_ptr_type)0 ; #line 645 "list.dats" tmp320 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp320, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp320, atslab_1, tmp321) ; #line 645 "list.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp320 ; break ; } while (0) ; return /* (tmp315) */ ; } /* end of [loop_35] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 18158(line=633, offs=13) -- 18638(line=649, offs=4) */ ATSstaticdec() ats_ptr_type list_extend_01405_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; // ATSlocal_void (tmp322) ; __ats_lab_list_extend_01405_ats_ptr_type: #line 634 "list.dats" /* ats_ptr_type tmp314 ; */ #line 648 "list.dats" /* tmp322 = */ loop_35 (arg0, arg1, (&tmp314)) ; #line 648 "list.dats" tmp313 = tmp314 ; return (tmp313) ; } /* end of [list_extend_01405_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 7924(line=286, offs=5) -- 9528(line=333, offs=4) */ ATSstaticdec() ats_ptr_type trace_gen_31 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; __ats_lab_trace_gen_31: #line 288 "canonical.dats" tmp294 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_block_lab) ; #line 289 "canonical.dats" tmp295 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp295)->tag = 5 ; ats_selptrset_mac(anairiats_sum_1, tmp295, atslab_0, tmp294) ; #line 290 "canonical.dats" tmp296 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_block_init) ; #line 291 "canonical.dats" tmp297 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_block_last) ; #line 293 "canonical.dats" do { /* branch: __ats_lab_67 */ #line 294 "canonical.dats" __ats_lab_67_0: #line 294 "canonical.dats" if (((ats_sum_ptr_type)tmp297)->tag != 2) { goto __ats_lab_74_0 ; } #line 294 "canonical.dats" tmp298 = ats_caselptr_mac(anairiats_sum_2, tmp297, atslab_0) ; #line 294 "canonical.dats" if (((ats_sum_ptr_type)tmp298)->tag != 1) { goto __ats_lab_74_0 ; } #line 294 "canonical.dats" __ats_lab_67_1: #line 294 "canonical.dats" tmp299 = ats_caselptr_mac(anairiats_sum_1, tmp298, atslab_0) ; #line 295 "canonical.dats" tmp300 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_remove (arg0, tmp299) ; #line 297 "canonical.dats" do { /* branch: __ats_lab_68 */ #line 298 "canonical.dats" __ats_lab_68_0: #line 298 "canonical.dats" if (tmp300 == (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } #line 298 "canonical.dats" __ats_lab_68_1: #line 298 "canonical.dats" tmp301 = ats_caselptr_mac(anairiats_sum_9, tmp300, atslab_0) ; #line 298 "canonical.dats" ATS_FREE(tmp300) ; #line 299 "canonical.dats" tmp302 = trace_gen_31 (arg0, tmp301) ; #line 300 "canonical.dats" tmp303 = list_append_01381_ats_ptr_type (tmp296, tmp302) ; #line 300 "canonical.dats" tmp293 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp293, atslab_0, tmp295) ; ats_selptrset_mac(anairiats_sum_6, tmp293, atslab_1, tmp303) ; break ; /* branch: __ats_lab_71 */ #line 302 "canonical.dats" __ats_lab_71_0: #line 302 "canonical.dats" // if (tmp300 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 302 "canonical.dats" __ats_lab_71_1: #line 303 "canonical.dats" tmp312 = list_extend_01405_ats_ptr_type (tmp296, tmp297) ; #line 306 "canonical.dats" tmp293 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp293, atslab_0, tmp295) ; ats_selptrset_mac(anairiats_sum_6, tmp293, atslab_1, ats_castfn_mac(ats_ptr_type, tmp312)) ; break ; } while (0) ; break ; /* branch: __ats_lab_74 */ #line 309 "canonical.dats" __ats_lab_74_0: #line 309 "canonical.dats" if (((ats_sum_ptr_type)tmp297)->tag != 3) { goto __ats_lab_77_0 ; } #line 309 "canonical.dats" __ats_lab_74_1: #line 309 "canonical.dats" tmp323 = ats_caselptr_mac(anairiats_sum_5, tmp297, atslab_0) ; #line 309 "canonical.dats" tmp324 = ats_caselptr_mac(anairiats_sum_5, tmp297, atslab_1) ; #line 309 "canonical.dats" tmp325 = ats_caselptr_mac(anairiats_sum_5, tmp297, atslab_2) ; #line 309 "canonical.dats" tmp326 = ats_caselptr_mac(anairiats_sum_5, tmp297, atslab_3) ; #line 309 "canonical.dats" tmp327 = ats_caselptr_mac(anairiats_sum_5, tmp297, atslab_4) ; #line 310 "canonical.dats" tmp328 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__relop_negate (tmp323) ; #line 312 "canonical.dats" tmp329 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp329)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp329, atslab_0, tmp328) ; ats_selptrset_mac(anairiats_sum_5, tmp329, atslab_1, tmp324) ; ats_selptrset_mac(anairiats_sum_5, tmp329, atslab_2, tmp325) ; ats_selptrset_mac(anairiats_sum_5, tmp329, atslab_3, tmp327) ; ats_selptrset_mac(anairiats_sum_5, tmp329, atslab_4, tmp326) ; #line 313 "canonical.dats" tmp330 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_remove (arg0, tmp326) ; #line 314 "canonical.dats" do { /* branch: __ats_lab_75 */ #line 315 "canonical.dats" __ats_lab_75_0: #line 315 "canonical.dats" if (tmp330 == (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } #line 315 "canonical.dats" __ats_lab_75_1: #line 315 "canonical.dats" tmp331 = ats_caselptr_mac(anairiats_sum_9, tmp330, atslab_0) ; #line 315 "canonical.dats" ATS_FREE(tmp330) ; #line 316 "canonical.dats" tmp332 = trace_gen_31 (arg0, tmp331) ; #line 317 "canonical.dats" tmp333 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp333, atslab_0, tmp329) ; ats_selptrset_mac(anairiats_sum_6, tmp333, atslab_1, tmp332) ; #line 318 "canonical.dats" tmp334 = list_append_01381_ats_ptr_type (tmp296, tmp333) ; #line 318 "canonical.dats" tmp293 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp293, atslab_0, tmp295) ; ats_selptrset_mac(anairiats_sum_6, tmp293, atslab_1, tmp334) ; break ; /* branch: __ats_lab_76 */ #line 320 "canonical.dats" __ats_lab_76_0: #line 320 "canonical.dats" // if (tmp330 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 320 "canonical.dats" __ats_lab_76_1: #line 321 "canonical.dats" tmp336 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp336)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp336, atslab_0, tmp326) ; #line 321 "canonical.dats" tmp337 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp337, atslab_0, tmp326) ; #line 321 "canonical.dats" tmp338 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp337), atslab_1) ; #line 321 "canonical.dats" tmp339 = (ats_sum_ptr_type)0 ; #line 321 "canonical.dats" ats_ptrget_mac(ats_ptr_type, tmp338) = tmp339 ; #line 321 "canonical.dats" tmp335 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp335)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp335, atslab_0, tmp336) ; ats_selptrset_mac(anairiats_sum_2, tmp335, atslab_1, tmp337) ; #line 323 "canonical.dats" tmp341 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp341, atslab_0, tmp329) ; #line 323 "canonical.dats" tmp342 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp341), atslab_1) ; #line 323 "canonical.dats" tmp343 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp343, atslab_0, tmp335) ; #line 323 "canonical.dats" ats_ptrget_mac(ats_ptr_type, tmp342) = tmp343 ; #line 323 "canonical.dats" tmp342 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp343), atslab_1) ; #line 323 "canonical.dats" tmp343 = (ats_sum_ptr_type)0 ; #line 323 "canonical.dats" ats_ptrget_mac(ats_ptr_type, tmp342) = tmp343 ; #line 323 "canonical.dats" tmp340 = list_append_01381_ats_ptr_type (tmp296, tmp341) ; #line 322 "canonical.dats" tmp293 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp293, atslab_0, tmp295) ; ats_selptrset_mac(anairiats_sum_6, tmp293, atslab_1, tmp340) ; break ; } while (0) ; break ; /* branch: __ats_lab_77 */ #line 327 "canonical.dats" __ats_lab_77_0: #line 327 "canonical.dats" __ats_lab_77_1: #line 328 "canonical.dats" tmp344 = list_extend_01405_ats_ptr_type (tmp296, tmp297) ; #line 331 "canonical.dats" tmp293 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp293, atslab_0, tmp295) ; ats_selptrset_mac(anairiats_sum_6, tmp293, atslab_1, ats_castfn_mac(ats_ptr_type, tmp344)) ; break ; } while (0) ; return (tmp293) ; } /* end of [trace_gen_31] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 9901(line=349, offs=13) -- 10073(line=352, offs=31) */ ATSstaticdec() ats_ptr_type loop_38 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; __ats_lab_loop_38: #line 350 "canonical.dats" do { /* branch: __ats_lab_79 */ #line 351 "canonical.dats" __ats_lab_79_0: #line 351 "canonical.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; } #line 351 "canonical.dats" __ats_lab_79_1: #line 351 "canonical.dats" tmp349 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_0) ; #line 351 "canonical.dats" tmp350 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_1) ; #line 351 "canonical.dats" tmp351 = list_append_01381_ats_ptr_type (tmp349, arg1) ; #line 351 "canonical.dats" arg0 = tmp350 ; #line 351 "canonical.dats" arg1 = tmp351 ; #line 351 "canonical.dats" goto __ats_lab_loop_38 ; // tail call break ; /* branch: __ats_lab_80 */ #line 352 "canonical.dats" __ats_lab_80_0: #line 352 "canonical.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 352 "canonical.dats" __ats_lab_80_1: #line 352 "canonical.dats" tmp348 = arg1 ; break ; } while (0) ; return (tmp348) ; } /* end of [loop_38] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 9681(line=341, offs=7) -- 10463(line=364, offs=10) */ ATSstaticdec() ats_ptr_type aux_37 (ats_ptr_type env0, ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; __ats_lab_aux_37: #line 346 "canonical.dats" do { /* branch: __ats_lab_78 */ #line 347 "canonical.dats" __ats_lab_78_0: #line 347 "canonical.dats" if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_81_0 ; } #line 347 "canonical.dats" __ats_lab_78_1: #line 348 "canonical.dats" tmp347 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp347)->tag = 5 ; ats_selptrset_mac(anairiats_sum_1, tmp347, atslab_0, env0) ; #line 347 "canonical.dats" tmp352 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp352, atslab_0, tmp347) ; #line 347 "canonical.dats" tmp353 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp352), atslab_1) ; #line 347 "canonical.dats" tmp354 = (ats_sum_ptr_type)0 ; #line 347 "canonical.dats" ats_ptrget_mac(ats_ptr_type, tmp353) = tmp354 ; #line 347 "canonical.dats" tmp346 = loop_38 (arg2, tmp352) ; break ; /* branch: __ats_lab_81 */ #line 355 "canonical.dats" __ats_lab_81_0: #line 355 "canonical.dats" // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 355 "canonical.dats" __ats_lab_81_1: #line 355 "canonical.dats" tmp355 = ats_caselptr_mac(anairiats_sum_6, arg1, atslab_0) ; #line 355 "canonical.dats" tmp356 = ats_caselptr_mac(anairiats_sum_6, arg1, atslab_1) ; #line 356 "canonical.dats" tmp358 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp355), atslab_block_lab) ; #line 356 "canonical.dats" tmp357 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_remove (arg0, tmp358) ; #line 358 "canonical.dats" do { /* branch: __ats_lab_82 */ #line 359 "canonical.dats" __ats_lab_82_0: #line 359 "canonical.dats" if (tmp357 == (ats_sum_ptr_type)0) { goto __ats_lab_83_0 ; } #line 359 "canonical.dats" __ats_lab_82_1: #line 359 "canonical.dats" ATS_FREE(tmp357) ; #line 360 "canonical.dats" tmp359 = trace_gen_31 (arg0, tmp355) ; #line 361 "canonical.dats" tmp360 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp360, atslab_0, tmp359) ; ats_selptrset_mac(anairiats_sum_6, tmp360, atslab_1, arg2) ; #line 361 "canonical.dats" arg0 = arg0 ; #line 361 "canonical.dats" arg1 = tmp356 ; #line 361 "canonical.dats" arg2 = tmp360 ; #line 361 "canonical.dats" goto __ats_lab_aux_37 ; // tail call break ; /* branch: __ats_lab_83 */ #line 363 "canonical.dats" __ats_lab_83_0: #line 363 "canonical.dats" // if (tmp357 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 363 "canonical.dats" __ats_lab_83_1: #line 363 "canonical.dats" arg0 = arg0 ; #line 363 "canonical.dats" arg1 = tmp356 ; #line 363 "canonical.dats" arg2 = arg2 ; #line 363 "canonical.dats" goto __ats_lab_aux_37 ; // tail call break ; } while (0) ; break ; } while (0) ; return (tmp346) ; } /* end of [aux_37] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_37_closure_type ; ats_ptr_type aux_37_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { return aux_37 (((aux_37_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type aux_37_closure_init (aux_37_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_37_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_37_closure_make (ats_ptr_type env0) { aux_37_closure_type *p_clo = ATS_MALLOC(sizeof(aux_37_closure_type)) ; aux_37_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 10578(line=368, offs=9) -- 10833(line=374, offs=26) */ ATSstaticdec() ats_void_type loop_39 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; // ATSlocal_void (tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; __ats_lab_loop_39: #line 368 "canonical.dats" do { /* branch: __ats_lab_84 */ #line 369 "canonical.dats" __ats_lab_84_0: #line 369 "canonical.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_85_0 ; } #line 369 "canonical.dats" __ats_lab_84_1: #line 369 "canonical.dats" tmp363 = ats_caselptr_mac(anairiats_sum_6, arg1, atslab_0) ; #line 369 "canonical.dats" tmp364 = ats_caselptr_mac(anairiats_sum_6, arg1, atslab_1) ; #line 370 "canonical.dats" tmp366 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp363), atslab_block_lab) ; #line 370 "canonical.dats" /* tmp365 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_insert (arg0, tmp366, tmp363) ; #line 372 "canonical.dats" arg0 = arg0 ; #line 372 "canonical.dats" arg1 = tmp364 ; #line 372 "canonical.dats" goto __ats_lab_loop_39 ; // tail call break ; /* branch: __ats_lab_85 */ #line 374 "canonical.dats" __ats_lab_85_0: #line 374 "canonical.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 374 "canonical.dats" __ats_lab_85_1: break ; } while (0) ; return /* (tmp362) */ ; } /* end of [loop_39] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 3385(line=128, offs=26) -- 3512(line=131, offs=21) */ ATSstaticdec() ats_void_type bst_free_01435_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; // ATSlocal_void (tmp375) ; __ats_lab_bst_free_01435_ats_ptr_type_2cats_ptr_type: #line 129 "linmap_randbst.dats" do { /* branch: __ats_lab_86 */ #line 130 "linmap_randbst.dats" __ats_lab_86_0: #line 130 "linmap_randbst.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_87_0 ; } #line 130 "linmap_randbst.dats" __ats_lab_86_1: #line 130 "linmap_randbst.dats" tmp373 = ats_caselptr_mac(anairiats_sum_8, arg0, atslab_3) ; #line 130 "linmap_randbst.dats" tmp374 = ats_caselptr_mac(anairiats_sum_8, arg0, atslab_4) ; #line 130 "linmap_randbst.dats" ATS_FREE(arg0) ; #line 130 "linmap_randbst.dats" /* tmp375 = */ bst_free_01435_ats_ptr_type_2cats_ptr_type (tmp373) ; #line 130 "linmap_randbst.dats" arg0 = tmp374 ; #line 130 "linmap_randbst.dats" goto __ats_lab_bst_free_01435_ats_ptr_type_2cats_ptr_type ; // tail call break ; /* branch: __ats_lab_87 */ #line 131 "linmap_randbst.dats" __ats_lab_87_0: #line 131 "linmap_randbst.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 131 "linmap_randbst.dats" __ats_lab_87_1: break ; } while (0) ; return /* (tmp372) */ ; } /* end of [bst_free_01435_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 10652(line=351, offs=32) -- 10678(line=351, offs=58) */ ATSstaticdec() ats_void_type linmap_free_01775_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp371) ; __ats_lab_linmap_free_01775_ats_ptr_type_2cats_ptr_type: #line 351 "linmap_randbst.dats" /* tmp371 = */ bst_free_01435_ats_ptr_type_2cats_ptr_type (arg0) ; return /* (tmp371) */ ; } /* end of [linmap_free_01775_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/canonical.dats: 9652(line=340, offs=26) -- 11088(line=386, offs=4) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2esats__trace_schedule (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp361) ; // ATSlocal_void (tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; // ATSlocal_void (tmp370) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2esats__trace_schedule: #line 366 "canonical.dats" /* ats_ptr_type tmp361 ; */ #line 366 "canonical.dats" tmp361 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__blockmap_empty () ; #line 367 "canonical.dats" /* tmp367 = */ loop_39 ((&tmp361), arg1) ; #line 377 "canonical.dats" tmp369 = (ats_sum_ptr_type)0 ; #line 377 "canonical.dats" tmp368 = aux_37 (arg0, (&tmp361), arg1, tmp369) ; #line 385 "canonical.dats" /* tmp370 = */ linmap_free_01775_ats_ptr_type_2cats_ptr_type (tmp361) ; #line 385 "canonical.dats" tmp345 = tmp368 ; return (tmp345) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2esats__trace_schedule] */ /* static load function */ extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2linmap_randbst_2edats__staload (void) ; ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__staload () { static int _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__staload_flag = 0 ; if (_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__staload_flag) return ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__staload_flag = 1 ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2esats__staload () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2linmap_randbst_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__dynload_flag ; ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__dynload () { _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__dynload_flag = 1 ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2canonical_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e6_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp187, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ #line 257 "canonical.dats" statmp187 = __ats_fun_18_closure_make () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [canonical_dats.c] */