Changeset 2730


Ignore:
Timestamp:
Feb 25, 2013, 9:54:49 PM (6 years ago)
Author:
sacerdot
Message:

Exported again.

Location:
extracted
Files:
18 added
63 edited

Legend:

Unmodified
Added
Removed
  • extracted/PROBLEMS

    r2602 r2730  
    2727=========================
    2828
    29 a) strings, String.string redefined to be string
    30    FIXED BY HAND ATM
    31 b) two in compiler.ml (the backend and the compiler itself)
     29a) two in compiler.ml (the backend and the compiler itself)
  • extracted/aSM.ml

    r2717 r2730  
    113113    -> 'a1) -> addressing_mode -> 'a1 **)
    114114let rec addressing_mode_rect_Type4 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    115 | DIRECT x_18716 -> h_DIRECT x_18716
    116 | INDIRECT x_18717 -> h_INDIRECT x_18717
    117 | EXT_INDIRECT x_18718 -> h_EXT_INDIRECT x_18718
    118 | REGISTER x_18719 -> h_REGISTER x_18719
     115| DIRECT x_2727 -> h_DIRECT x_2727
     116| INDIRECT x_2728 -> h_INDIRECT x_2728
     117| EXT_INDIRECT x_2729 -> h_EXT_INDIRECT x_2729
     118| REGISTER x_2730 -> h_REGISTER x_2730
    119119| ACC_A -> h_ACC_A
    120120| ACC_B -> h_ACC_B
    121121| DPTR -> h_DPTR
    122 | DATA x_18720 -> h_DATA x_18720
    123 | DATA16 x_18721 -> h_DATA16 x_18721
     122| DATA x_2731 -> h_DATA x_2731
     123| DATA16 x_2732 -> h_DATA16 x_2732
    124124| ACC_DPTR -> h_ACC_DPTR
    125125| ACC_PC -> h_ACC_PC
     
    127127| INDIRECT_DPTR -> h_INDIRECT_DPTR
    128128| CARRY -> h_CARRY
    129 | BIT_ADDR x_18722 -> h_BIT_ADDR x_18722
    130 | N_BIT_ADDR x_18723 -> h_N_BIT_ADDR x_18723
    131 | RELATIVE x_18724 -> h_RELATIVE x_18724
    132 | ADDR11 x_18725 -> h_ADDR11 x_18725
    133 | ADDR16 x_18726 -> h_ADDR16 x_18726
     129| BIT_ADDR x_2733 -> h_BIT_ADDR x_2733
     130| N_BIT_ADDR x_2734 -> h_N_BIT_ADDR x_2734
     131| RELATIVE x_2735 -> h_RELATIVE x_2735
     132| ADDR11 x_2736 -> h_ADDR11 x_2736
     133| ADDR16 x_2737 -> h_ADDR16 x_2737
    134134
    135135(** val addressing_mode_rect_Type5 :
     
    141141    -> 'a1) -> addressing_mode -> 'a1 **)
    142142let rec addressing_mode_rect_Type5 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    143 | DIRECT x_18747 -> h_DIRECT x_18747
    144 | INDIRECT x_18748 -> h_INDIRECT x_18748
    145 | EXT_INDIRECT x_18749 -> h_EXT_INDIRECT x_18749
    146 | REGISTER x_18750 -> h_REGISTER x_18750
     143| DIRECT x_2758 -> h_DIRECT x_2758
     144| INDIRECT x_2759 -> h_INDIRECT x_2759
     145| EXT_INDIRECT x_2760 -> h_EXT_INDIRECT x_2760
     146| REGISTER x_2761 -> h_REGISTER x_2761
    147147| ACC_A -> h_ACC_A
    148148| ACC_B -> h_ACC_B
    149149| DPTR -> h_DPTR
    150 | DATA x_18751 -> h_DATA x_18751
    151 | DATA16 x_18752 -> h_DATA16 x_18752
     150| DATA x_2762 -> h_DATA x_2762
     151| DATA16 x_2763 -> h_DATA16 x_2763
    152152| ACC_DPTR -> h_ACC_DPTR
    153153| ACC_PC -> h_ACC_PC
     
    155155| INDIRECT_DPTR -> h_INDIRECT_DPTR
    156156| CARRY -> h_CARRY
    157 | BIT_ADDR x_18753 -> h_BIT_ADDR x_18753
    158 | N_BIT_ADDR x_18754 -> h_N_BIT_ADDR x_18754
    159 | RELATIVE x_18755 -> h_RELATIVE x_18755
    160 | ADDR11 x_18756 -> h_ADDR11 x_18756
    161 | ADDR16 x_18757 -> h_ADDR16 x_18757
     157| BIT_ADDR x_2764 -> h_BIT_ADDR x_2764
     158| N_BIT_ADDR x_2765 -> h_N_BIT_ADDR x_2765
     159| RELATIVE x_2766 -> h_RELATIVE x_2766
     160| ADDR11 x_2767 -> h_ADDR11 x_2767
     161| ADDR16 x_2768 -> h_ADDR16 x_2768
    162162
    163163(** val addressing_mode_rect_Type3 :
     
    169169    -> 'a1) -> addressing_mode -> 'a1 **)
    170170let rec addressing_mode_rect_Type3 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    171 | DIRECT x_18778 -> h_DIRECT x_18778
    172 | INDIRECT x_18779 -> h_INDIRECT x_18779
    173 | EXT_INDIRECT x_18780 -> h_EXT_INDIRECT x_18780
    174 | REGISTER x_18781 -> h_REGISTER x_18781
     171| DIRECT x_2789 -> h_DIRECT x_2789
     172| INDIRECT x_2790 -> h_INDIRECT x_2790
     173| EXT_INDIRECT x_2791 -> h_EXT_INDIRECT x_2791
     174| REGISTER x_2792 -> h_REGISTER x_2792
    175175| ACC_A -> h_ACC_A
    176176| ACC_B -> h_ACC_B
    177177| DPTR -> h_DPTR
    178 | DATA x_18782 -> h_DATA x_18782
    179 | DATA16 x_18783 -> h_DATA16 x_18783
     178| DATA x_2793 -> h_DATA x_2793
     179| DATA16 x_2794 -> h_DATA16 x_2794
    180180| ACC_DPTR -> h_ACC_DPTR
    181181| ACC_PC -> h_ACC_PC
     
    183183| INDIRECT_DPTR -> h_INDIRECT_DPTR
    184184| CARRY -> h_CARRY
    185 | BIT_ADDR x_18784 -> h_BIT_ADDR x_18784
    186 | N_BIT_ADDR x_18785 -> h_N_BIT_ADDR x_18785
    187 | RELATIVE x_18786 -> h_RELATIVE x_18786
    188 | ADDR11 x_18787 -> h_ADDR11 x_18787
    189 | ADDR16 x_18788 -> h_ADDR16 x_18788
     185| BIT_ADDR x_2795 -> h_BIT_ADDR x_2795
     186| N_BIT_ADDR x_2796 -> h_N_BIT_ADDR x_2796
     187| RELATIVE x_2797 -> h_RELATIVE x_2797
     188| ADDR11 x_2798 -> h_ADDR11 x_2798
     189| ADDR16 x_2799 -> h_ADDR16 x_2799
    190190
    191191(** val addressing_mode_rect_Type2 :
     
    197197    -> 'a1) -> addressing_mode -> 'a1 **)
    198198let rec addressing_mode_rect_Type2 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    199 | DIRECT x_18809 -> h_DIRECT x_18809
    200 | INDIRECT x_18810 -> h_INDIRECT x_18810
    201 | EXT_INDIRECT x_18811 -> h_EXT_INDIRECT x_18811
    202 | REGISTER x_18812 -> h_REGISTER x_18812
     199| DIRECT x_2820 -> h_DIRECT x_2820
     200| INDIRECT x_2821 -> h_INDIRECT x_2821
     201| EXT_INDIRECT x_2822 -> h_EXT_INDIRECT x_2822
     202| REGISTER x_2823 -> h_REGISTER x_2823
    203203| ACC_A -> h_ACC_A
    204204| ACC_B -> h_ACC_B
    205205| DPTR -> h_DPTR
    206 | DATA x_18813 -> h_DATA x_18813
    207 | DATA16 x_18814 -> h_DATA16 x_18814
     206| DATA x_2824 -> h_DATA x_2824
     207| DATA16 x_2825 -> h_DATA16 x_2825
    208208| ACC_DPTR -> h_ACC_DPTR
    209209| ACC_PC -> h_ACC_PC
     
    211211| INDIRECT_DPTR -> h_INDIRECT_DPTR
    212212| CARRY -> h_CARRY
    213 | BIT_ADDR x_18815 -> h_BIT_ADDR x_18815
    214 | N_BIT_ADDR x_18816 -> h_N_BIT_ADDR x_18816
    215 | RELATIVE x_18817 -> h_RELATIVE x_18817
    216 | ADDR11 x_18818 -> h_ADDR11 x_18818
    217 | ADDR16 x_18819 -> h_ADDR16 x_18819
     213| BIT_ADDR x_2826 -> h_BIT_ADDR x_2826
     214| N_BIT_ADDR x_2827 -> h_N_BIT_ADDR x_2827
     215| RELATIVE x_2828 -> h_RELATIVE x_2828
     216| ADDR11 x_2829 -> h_ADDR11 x_2829
     217| ADDR16 x_2830 -> h_ADDR16 x_2830
    218218
    219219(** val addressing_mode_rect_Type1 :
     
    225225    -> 'a1) -> addressing_mode -> 'a1 **)
    226226let rec addressing_mode_rect_Type1 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    227 | DIRECT x_18840 -> h_DIRECT x_18840
    228 | INDIRECT x_18841 -> h_INDIRECT x_18841
    229 | EXT_INDIRECT x_18842 -> h_EXT_INDIRECT x_18842
    230 | REGISTER x_18843 -> h_REGISTER x_18843
     227| DIRECT x_2851 -> h_DIRECT x_2851
     228| INDIRECT x_2852 -> h_INDIRECT x_2852
     229| EXT_INDIRECT x_2853 -> h_EXT_INDIRECT x_2853
     230| REGISTER x_2854 -> h_REGISTER x_2854
    231231| ACC_A -> h_ACC_A
    232232| ACC_B -> h_ACC_B
    233233| DPTR -> h_DPTR
    234 | DATA x_18844 -> h_DATA x_18844
    235 | DATA16 x_18845 -> h_DATA16 x_18845
     234| DATA x_2855 -> h_DATA x_2855
     235| DATA16 x_2856 -> h_DATA16 x_2856
    236236| ACC_DPTR -> h_ACC_DPTR
    237237| ACC_PC -> h_ACC_PC
     
    239239| INDIRECT_DPTR -> h_INDIRECT_DPTR
    240240| CARRY -> h_CARRY
    241 | BIT_ADDR x_18846 -> h_BIT_ADDR x_18846
    242 | N_BIT_ADDR x_18847 -> h_N_BIT_ADDR x_18847
    243 | RELATIVE x_18848 -> h_RELATIVE x_18848
    244 | ADDR11 x_18849 -> h_ADDR11 x_18849
    245 | ADDR16 x_18850 -> h_ADDR16 x_18850
     241| BIT_ADDR x_2857 -> h_BIT_ADDR x_2857
     242| N_BIT_ADDR x_2858 -> h_N_BIT_ADDR x_2858
     243| RELATIVE x_2859 -> h_RELATIVE x_2859
     244| ADDR11 x_2860 -> h_ADDR11 x_2860
     245| ADDR16 x_2861 -> h_ADDR16 x_2861
    246246
    247247(** val addressing_mode_rect_Type0 :
     
    253253    -> 'a1) -> addressing_mode -> 'a1 **)
    254254let rec addressing_mode_rect_Type0 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    255 | DIRECT x_18871 -> h_DIRECT x_18871
    256 | INDIRECT x_18872 -> h_INDIRECT x_18872
    257 | EXT_INDIRECT x_18873 -> h_EXT_INDIRECT x_18873
    258 | REGISTER x_18874 -> h_REGISTER x_18874
     255| DIRECT x_2882 -> h_DIRECT x_2882
     256| INDIRECT x_2883 -> h_INDIRECT x_2883
     257| EXT_INDIRECT x_2884 -> h_EXT_INDIRECT x_2884
     258| REGISTER x_2885 -> h_REGISTER x_2885
    259259| ACC_A -> h_ACC_A
    260260| ACC_B -> h_ACC_B
    261261| DPTR -> h_DPTR
    262 | DATA x_18875 -> h_DATA x_18875
    263 | DATA16 x_18876 -> h_DATA16 x_18876
     262| DATA x_2886 -> h_DATA x_2886
     263| DATA16 x_2887 -> h_DATA16 x_2887
    264264| ACC_DPTR -> h_ACC_DPTR
    265265| ACC_PC -> h_ACC_PC
     
    267267| INDIRECT_DPTR -> h_INDIRECT_DPTR
    268268| CARRY -> h_CARRY
    269 | BIT_ADDR x_18877 -> h_BIT_ADDR x_18877
    270 | N_BIT_ADDR x_18878 -> h_N_BIT_ADDR x_18878
    271 | RELATIVE x_18879 -> h_RELATIVE x_18879
    272 | ADDR11 x_18880 -> h_ADDR11 x_18880
    273 | ADDR16 x_18881 -> h_ADDR16 x_18881
     269| BIT_ADDR x_2888 -> h_BIT_ADDR x_2888
     270| N_BIT_ADDR x_2889 -> h_N_BIT_ADDR x_2889
     271| RELATIVE x_2890 -> h_RELATIVE x_2890
     272| ADDR11 x_2891 -> h_ADDR11 x_2891
     273| ADDR16 x_2892 -> h_ADDR16 x_2892
    274274
    275275(** val addressing_mode_inv_rect_Type4 :
     
    19281928    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19291929    'a1) -> subaddressing_mode -> 'a1 **)
    1930 let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_19349 =
    1931   let subaddressing_modeel = x_19349 in
     1930let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_3360 =
     1931  let subaddressing_modeel = x_3360 in
    19321932  h_mk_subaddressing_mode subaddressing_modeel __
    19331933
     
    19351935    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19361936    'a1) -> subaddressing_mode -> 'a1 **)
    1937 let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_19351 =
    1938   let subaddressing_modeel = x_19351 in
     1937let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_3362 =
     1938  let subaddressing_modeel = x_3362 in
    19391939  h_mk_subaddressing_mode subaddressing_modeel __
    19401940
     
    19421942    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19431943    'a1) -> subaddressing_mode -> 'a1 **)
    1944 let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_19353 =
    1945   let subaddressing_modeel = x_19353 in
     1944let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_3364 =
     1945  let subaddressing_modeel = x_3364 in
    19461946  h_mk_subaddressing_mode subaddressing_modeel __
    19471947
     
    19491949    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19501950    'a1) -> subaddressing_mode -> 'a1 **)
    1951 let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_19355 =
    1952   let subaddressing_modeel = x_19355 in
     1951let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_3366 =
     1952  let subaddressing_modeel = x_3366 in
    19531953  h_mk_subaddressing_mode subaddressing_modeel __
    19541954
     
    19561956    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19571957    'a1) -> subaddressing_mode -> 'a1 **)
    1958 let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_19357 =
    1959   let subaddressing_modeel = x_19357 in
     1958let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_3368 =
     1959  let subaddressing_modeel = x_3368 in
    19601960  h_mk_subaddressing_mode subaddressing_modeel __
    19611961
     
    19631963    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19641964    'a1) -> subaddressing_mode -> 'a1 **)
    1965 let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_19359 =
    1966   let subaddressing_modeel = x_19359 in
     1965let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_3370 =
     1966  let subaddressing_modeel = x_3370 in
    19671967  h_mk_subaddressing_mode subaddressing_modeel __
    19681968
     
    21362136    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    21372137let rec preinstruction_rect_Type4 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
    2138 | ADD (x_19461, x_19460) -> h_ADD x_19461 x_19460
    2139 | ADDC (x_19463, x_19462) -> h_ADDC x_19463 x_19462
    2140 | SUBB (x_19465, x_19464) -> h_SUBB x_19465 x_19464
    2141 | INC x_19466 -> h_INC x_19466
    2142 | DEC x_19467 -> h_DEC x_19467
    2143 | MUL (x_19469, x_19468) -> h_MUL x_19469 x_19468
    2144 | DIV (x_19471, x_19470) -> h_DIV x_19471 x_19470
    2145 | DA x_19472 -> h_DA x_19472
    2146 | JC x_19473 -> h_JC x_19473
    2147 | JNC x_19474 -> h_JNC x_19474
    2148 | JB (x_19476, x_19475) -> h_JB x_19476 x_19475
    2149 | JNB (x_19478, x_19477) -> h_JNB x_19478 x_19477
    2150 | JBC (x_19480, x_19479) -> h_JBC x_19480 x_19479
    2151 | JZ x_19481 -> h_JZ x_19481
    2152 | JNZ x_19482 -> h_JNZ x_19482
    2153 | CJNE (x_19484, x_19483) -> h_CJNE x_19484 x_19483
    2154 | DJNZ (x_19486, x_19485) -> h_DJNZ x_19486 x_19485
    2155 | ANL x_19487 -> h_ANL x_19487
    2156 | ORL x_19488 -> h_ORL x_19488
    2157 | XRL x_19489 -> h_XRL x_19489
    2158 | CLR x_19490 -> h_CLR x_19490
    2159 | CPL x_19491 -> h_CPL x_19491
    2160 | RL x_19492 -> h_RL x_19492
    2161 | RLC x_19493 -> h_RLC x_19493
    2162 | RR x_19494 -> h_RR x_19494
    2163 | RRC x_19495 -> h_RRC x_19495
    2164 | SWAP x_19496 -> h_SWAP x_19496
    2165 | MOV x_19497 -> h_MOV x_19497
    2166 | MOVX x_19498 -> h_MOVX x_19498
    2167 | SETB x_19499 -> h_SETB x_19499
    2168 | PUSH x_19500 -> h_PUSH x_19500
    2169 | POP x_19501 -> h_POP x_19501
    2170 | XCH (x_19503, x_19502) -> h_XCH x_19503 x_19502
    2171 | XCHD (x_19505, x_19504) -> h_XCHD x_19505 x_19504
     2138| ADD (x_3472, x_3471) -> h_ADD x_3472 x_3471
     2139| ADDC (x_3474, x_3473) -> h_ADDC x_3474 x_3473
     2140| SUBB (x_3476, x_3475) -> h_SUBB x_3476 x_3475
     2141| INC x_3477 -> h_INC x_3477
     2142| DEC x_3478 -> h_DEC x_3478
     2143| MUL (x_3480, x_3479) -> h_MUL x_3480 x_3479
     2144| DIV (x_3482, x_3481) -> h_DIV x_3482 x_3481
     2145| DA x_3483 -> h_DA x_3483
     2146| JC x_3484 -> h_JC x_3484
     2147| JNC x_3485 -> h_JNC x_3485
     2148| JB (x_3487, x_3486) -> h_JB x_3487 x_3486
     2149| JNB (x_3489, x_3488) -> h_JNB x_3489 x_3488
     2150| JBC (x_3491, x_3490) -> h_JBC x_3491 x_3490
     2151| JZ x_3492 -> h_JZ x_3492
     2152| JNZ x_3493 -> h_JNZ x_3493
     2153| CJNE (x_3495, x_3494) -> h_CJNE x_3495 x_3494
     2154| DJNZ (x_3497, x_3496) -> h_DJNZ x_3497 x_3496
     2155| ANL x_3498 -> h_ANL x_3498
     2156| ORL x_3499 -> h_ORL x_3499
     2157| XRL x_3500 -> h_XRL x_3500
     2158| CLR x_3501 -> h_CLR x_3501
     2159| CPL x_3502 -> h_CPL x_3502
     2160| RL x_3503 -> h_RL x_3503
     2161| RLC x_3504 -> h_RLC x_3504
     2162| RR x_3505 -> h_RR x_3505
     2163| RRC x_3506 -> h_RRC x_3506
     2164| SWAP x_3507 -> h_SWAP x_3507
     2165| MOV x_3508 -> h_MOV x_3508
     2166| MOVX x_3509 -> h_MOVX x_3509
     2167| SETB x_3510 -> h_SETB x_3510
     2168| PUSH x_3511 -> h_PUSH x_3511
     2169| POP x_3512 -> h_POP x_3512
     2170| XCH (x_3514, x_3513) -> h_XCH x_3514 x_3513
     2171| XCHD (x_3516, x_3515) -> h_XCHD x_3516 x_3515
    21722172| RET -> h_RET
    21732173| RETI -> h_RETI
    21742174| NOP -> h_NOP
    2175 | JMP x_19506 -> h_JMP x_19506
     2175| JMP x_3517 -> h_JMP x_3517
    21762176
    21772177(** val preinstruction_rect_Type5 :
     
    22112211    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    22122212let rec preinstruction_rect_Type5 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
    2213 | ADD (x_19547, x_19546) -> h_ADD x_19547 x_19546
    2214 | ADDC (x_19549, x_19548) -> h_ADDC x_19549 x_19548
    2215 | SUBB (x_19551, x_19550) -> h_SUBB x_19551 x_19550
    2216 | INC x_19552 -> h_INC x_19552
    2217 | DEC x_19553 -> h_DEC x_19553
    2218 | MUL (x_19555, x_19554) -> h_MUL x_19555 x_19554
    2219 | DIV (x_19557, x_19556) -> h_DIV x_19557 x_19556
    2220 | DA x_19558 -> h_DA x_19558
    2221 | JC x_19559 -> h_JC x_19559
    2222 | JNC x_19560 -> h_JNC x_19560
    2223 | JB (x_19562, x_19561) -> h_JB x_19562 x_19561
    2224 | JNB (x_19564, x_19563) -> h_JNB x_19564 x_19563
    2225 | JBC (x_19566, x_19565) -> h_JBC x_19566 x_19565
    2226 | JZ x_19567 -> h_JZ x_19567
    2227 | JNZ x_19568 -> h_JNZ x_19568
    2228 | CJNE (x_19570, x_19569) -> h_CJNE x_19570 x_19569
    2229 | DJNZ (x_19572, x_19571) -> h_DJNZ x_19572 x_19571
    2230 | ANL x_19573 -> h_ANL x_19573
    2231 | ORL x_19574 -> h_ORL x_19574
    2232 | XRL x_19575 -> h_XRL x_19575
    2233 | CLR x_19576 -> h_CLR x_19576
    2234 | CPL x_19577 -> h_CPL x_19577
    2235 | RL x_19578 -> h_RL x_19578
    2236 | RLC x_19579 -> h_RLC x_19579
    2237 | RR x_19580 -> h_RR x_19580
    2238 | RRC x_19581 -> h_RRC x_19581
    2239 | SWAP x_19582 -> h_SWAP x_19582
    2240 | MOV x_19583 -> h_MOV x_19583
    2241 | MOVX x_19584 -> h_MOVX x_19584
    2242 | SETB x_19585 -> h_SETB x_19585
    2243 | PUSH x_19586 -> h_PUSH x_19586
    2244 | POP x_19587 -> h_POP x_19587
    2245 | XCH (x_19589, x_19588) -> h_XCH x_19589 x_19588
    2246 | XCHD (x_19591, x_19590) -> h_XCHD x_19591 x_19590
     2213| ADD (x_3558, x_3557) -> h_ADD x_3558 x_3557
     2214| ADDC (x_3560, x_3559) -> h_ADDC x_3560 x_3559
     2215| SUBB (x_3562, x_3561) -> h_SUBB x_3562 x_3561
     2216| INC x_3563 -> h_INC x_3563
     2217| DEC x_3564 -> h_DEC x_3564
     2218| MUL (x_3566, x_3565) -> h_MUL x_3566 x_3565
     2219| DIV (x_3568, x_3567) -> h_DIV x_3568 x_3567
     2220| DA x_3569 -> h_DA x_3569
     2221| JC x_3570 -> h_JC x_3570
     2222| JNC x_3571 -> h_JNC x_3571
     2223| JB (x_3573, x_3572) -> h_JB x_3573 x_3572
     2224| JNB (x_3575, x_3574) -> h_JNB x_3575 x_3574
     2225| JBC (x_3577, x_3576) -> h_JBC x_3577 x_3576
     2226| JZ x_3578 -> h_JZ x_3578
     2227| JNZ x_3579 -> h_JNZ x_3579
     2228| CJNE (x_3581, x_3580) -> h_CJNE x_3581 x_3580
     2229| DJNZ (x_3583, x_3582) -> h_DJNZ x_3583 x_3582
     2230| ANL x_3584 -> h_ANL x_3584
     2231| ORL x_3585 -> h_ORL x_3585
     2232| XRL x_3586 -> h_XRL x_3586
     2233| CLR x_3587 -> h_CLR x_3587
     2234| CPL x_3588 -> h_CPL x_3588
     2235| RL x_3589 -> h_RL x_3589
     2236| RLC x_3590 -> h_RLC x_3590
     2237| RR x_3591 -> h_RR x_3591
     2238| RRC x_3592 -> h_RRC x_3592
     2239| SWAP x_3593 -> h_SWAP x_3593
     2240| MOV x_3594 -> h_MOV x_3594
     2241| MOVX x_3595 -> h_MOVX x_3595
     2242| SETB x_3596 -> h_SETB x_3596
     2243| PUSH x_3597 -> h_PUSH x_3597
     2244| POP x_3598 -> h_POP x_3598
     2245| XCH (x_3600, x_3599) -> h_XCH x_3600 x_3599
     2246| XCHD (x_3602, x_3601) -> h_XCHD x_3602 x_3601
    22472247| RET -> h_RET
    22482248| RETI -> h_RETI
    22492249| NOP -> h_NOP
    2250 | JMP x_19592 -> h_JMP x_19592
     2250| JMP x_3603 -> h_JMP x_3603
    22512251
    22522252(** val preinstruction_rect_Type3 :
     
    22862286    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    22872287let rec preinstruction_rect_Type3 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
    2288 | ADD (x_19633, x_19632) -> h_ADD x_19633 x_19632
    2289 | ADDC (x_19635, x_19634) -> h_ADDC x_19635 x_19634
    2290 | SUBB (x_19637, x_19636) -> h_SUBB x_19637 x_19636
    2291 | INC x_19638 -> h_INC x_19638
    2292 | DEC x_19639 -> h_DEC x_19639
    2293 | MUL (x_19641, x_19640) -> h_MUL x_19641 x_19640
    2294 | DIV (x_19643, x_19642) -> h_DIV x_19643 x_19642
    2295 | DA x_19644 -> h_DA x_19644
    2296 | JC x_19645 -> h_JC x_19645
    2297 | JNC x_19646 -> h_JNC x_19646
    2298 | JB (x_19648, x_19647) -> h_JB x_19648 x_19647
    2299 | JNB (x_19650, x_19649) -> h_JNB x_19650 x_19649
    2300 | JBC (x_19652, x_19651) -> h_JBC x_19652 x_19651
    2301 | JZ x_19653 -> h_JZ x_19653
    2302 | JNZ x_19654 -> h_JNZ x_19654
    2303 | CJNE (x_19656, x_19655) -> h_CJNE x_19656 x_19655
    2304 | DJNZ (x_19658, x_19657) -> h_DJNZ x_19658 x_19657
    2305 | ANL x_19659 -> h_ANL x_19659
    2306 | ORL x_19660 -> h_ORL x_19660
    2307 | XRL x_19661 -> h_XRL x_19661
    2308 | CLR x_19662 -> h_CLR x_19662
    2309 | CPL x_19663 -> h_CPL x_19663
    2310 | RL x_19664 -> h_RL x_19664
    2311 | RLC x_19665 -> h_RLC x_19665
    2312 | RR x_19666 -> h_RR x_19666
    2313 | RRC x_19667 -> h_RRC x_19667
    2314 | SWAP x_19668 -> h_SWAP x_19668
    2315 | MOV x_19669 -> h_MOV x_19669
    2316 | MOVX x_19670 -> h_MOVX x_19670
    2317 | SETB x_19671 -> h_SETB x_19671
    2318 | PUSH x_19672 -> h_PUSH x_19672
    2319 | POP x_19673 -> h_POP x_19673
    2320 | XCH (x_19675, x_19674) -> h_XCH x_19675 x_19674
    2321 | XCHD (x_19677, x_19676) -> h_XCHD x_19677 x_19676
     2288| ADD (x_3644, x_3643) -> h_ADD x_3644 x_3643
     2289| ADDC (x_3646, x_3645) -> h_ADDC x_3646 x_3645
     2290| SUBB (x_3648, x_3647) -> h_SUBB x_3648 x_3647
     2291| INC x_3649 -> h_INC x_3649
     2292| DEC x_3650 -> h_DEC x_3650
     2293| MUL (x_3652, x_3651) -> h_MUL x_3652 x_3651
     2294| DIV (x_3654, x_3653) -> h_DIV x_3654 x_3653
     2295| DA x_3655 -> h_DA x_3655
     2296| JC x_3656 -> h_JC x_3656
     2297| JNC x_3657 -> h_JNC x_3657
     2298| JB (x_3659, x_3658) -> h_JB x_3659 x_3658
     2299| JNB (x_3661, x_3660) -> h_JNB x_3661 x_3660
     2300| JBC (x_3663, x_3662) -> h_JBC x_3663 x_3662
     2301| JZ x_3664 -> h_JZ x_3664
     2302| JNZ x_3665 -> h_JNZ x_3665
     2303| CJNE (x_3667, x_3666) -> h_CJNE x_3667 x_3666
     2304| DJNZ (x_3669, x_3668) -> h_DJNZ x_3669 x_3668
     2305| ANL x_3670 -> h_ANL x_3670
     2306| ORL x_3671 -> h_ORL x_3671
     2307| XRL x_3672 -> h_XRL x_3672
     2308| CLR x_3673 -> h_CLR x_3673
     2309| CPL x_3674 -> h_CPL x_3674
     2310| RL x_3675 -> h_RL x_3675
     2311| RLC x_3676 -> h_RLC x_3676
     2312| RR x_3677 -> h_RR x_3677
     2313| RRC x_3678 -> h_RRC x_3678
     2314| SWAP x_3679 -> h_SWAP x_3679
     2315| MOV x_3680 -> h_MOV x_3680
     2316| MOVX x_3681 -> h_MOVX x_3681
     2317| SETB x_3682 -> h_SETB x_3682
     2318| PUSH x_3683 -> h_PUSH x_3683
     2319| POP x_3684 -> h_POP x_3684
     2320| XCH (x_3686, x_3685) -> h_XCH x_3686 x_3685
     2321| XCHD (x_3688, x_3687) -> h_XCHD x_3688 x_3687
    23222322| RET -> h_RET
    23232323| RETI -> h_RETI
    23242324| NOP -> h_NOP
    2325 | JMP x_19678 -> h_JMP x_19678
     2325| JMP x_3689 -> h_JMP x_3689
    23262326
    23272327(** val preinstruction_rect_Type2 :
     
    23612361    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    23622362let rec preinstruction_rect_Type2 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
    2363 | ADD (x_19719, x_19718) -> h_ADD x_19719 x_19718
    2364 | ADDC (x_19721, x_19720) -> h_ADDC x_19721 x_19720
    2365 | SUBB (x_19723, x_19722) -> h_SUBB x_19723 x_19722
    2366 | INC x_19724 -> h_INC x_19724
    2367 | DEC x_19725 -> h_DEC x_19725
    2368 | MUL (x_19727, x_19726) -> h_MUL x_19727 x_19726
    2369 | DIV (x_19729, x_19728) -> h_DIV x_19729 x_19728
    2370 | DA x_19730 -> h_DA x_19730
    2371 | JC x_19731 -> h_JC x_19731
    2372 | JNC x_19732 -> h_JNC x_19732
    2373 | JB (x_19734, x_19733) -> h_JB x_19734 x_19733
    2374 | JNB (x_19736, x_19735) -> h_JNB x_19736 x_19735
    2375 | JBC (x_19738, x_19737) -> h_JBC x_19738 x_19737
    2376 | JZ x_19739 -> h_JZ x_19739
    2377 | JNZ x_19740 -> h_JNZ x_19740
    2378 | CJNE (x_19742, x_19741) -> h_CJNE x_19742 x_19741
    2379 | DJNZ (x_19744, x_19743) -> h_DJNZ x_19744 x_19743
    2380 | ANL x_19745 -> h_ANL x_19745
    2381 | ORL x_19746 -> h_ORL x_19746
    2382 | XRL x_19747 -> h_XRL x_19747
    2383 | CLR x_19748 -> h_CLR x_19748
    2384 | CPL x_19749 -> h_CPL x_19749
    2385 | RL x_19750 -> h_RL x_19750
    2386 | RLC x_19751 -> h_RLC x_19751
    2387 | RR x_19752 -> h_RR x_19752
    2388 | RRC x_19753 -> h_RRC x_19753
    2389 | SWAP x_19754 -> h_SWAP x_19754
    2390 | MOV x_19755 -> h_MOV x_19755
    2391 | MOVX x_19756 -> h_MOVX x_19756
    2392 | SETB x_19757 -> h_SETB x_19757
    2393 | PUSH x_19758 -> h_PUSH x_19758
    2394 | POP x_19759 -> h_POP x_19759
    2395 | XCH (x_19761, x_19760) -> h_XCH x_19761 x_19760
    2396 | XCHD (x_19763, x_19762) -> h_XCHD x_19763 x_19762
     2363| ADD (x_3730, x_3729) -> h_ADD x_3730 x_3729
     2364| ADDC (x_3732, x_3731) -> h_ADDC x_3732 x_3731
     2365| SUBB (x_3734, x_3733) -> h_SUBB x_3734 x_3733
     2366| INC x_3735 -> h_INC x_3735
     2367| DEC x_3736 -> h_DEC x_3736
     2368| MUL (x_3738, x_3737) -> h_MUL x_3738 x_3737
     2369| DIV (x_3740, x_3739) -> h_DIV x_3740 x_3739
     2370| DA x_3741 -> h_DA x_3741
     2371| JC x_3742 -> h_JC x_3742
     2372| JNC x_3743 -> h_JNC x_3743
     2373| JB (x_3745, x_3744) -> h_JB x_3745 x_3744
     2374| JNB (x_3747, x_3746) -> h_JNB x_3747 x_3746
     2375| JBC (x_3749, x_3748) -> h_JBC x_3749 x_3748
     2376| JZ x_3750 -> h_JZ x_3750
     2377| JNZ x_3751 -> h_JNZ x_3751
     2378| CJNE (x_3753, x_3752) -> h_CJNE x_3753 x_3752
     2379| DJNZ (x_3755, x_3754) -> h_DJNZ x_3755 x_3754
     2380| ANL x_3756 -> h_ANL x_3756
     2381| ORL x_3757 -> h_ORL x_3757
     2382| XRL x_3758 -> h_XRL x_3758
     2383| CLR x_3759 -> h_CLR x_3759
     2384| CPL x_3760 -> h_CPL x_3760
     2385| RL x_3761 -> h_RL x_3761
     2386| RLC x_3762 -> h_RLC x_3762
     2387| RR x_3763 -> h_RR x_3763
     2388| RRC x_3764 -> h_RRC x_3764
     2389| SWAP x_3765 -> h_SWAP x_3765
     2390| MOV x_3766 -> h_MOV x_3766
     2391| MOVX x_3767 -> h_MOVX x_3767
     2392| SETB x_3768 -> h_SETB x_3768
     2393| PUSH x_3769 -> h_PUSH x_3769
     2394| POP x_3770 -> h_POP x_3770
     2395| XCH (x_3772, x_3771) -> h_XCH x_3772 x_3771
     2396| XCHD (x_3774, x_3773) -> h_XCHD x_3774 x_3773
    23972397| RET -> h_RET
    23982398| RETI -> h_RETI
    23992399| NOP -> h_NOP
    2400 | JMP x_19764 -> h_JMP x_19764
     2400| JMP x_3775 -> h_JMP x_3775
    24012401
    24022402(** val preinstruction_rect_Type1 :
     
    24362436    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    24372437let rec preinstruction_rect_Type1 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
    2438 | ADD (x_19805, x_19804) -> h_ADD x_19805 x_19804
    2439 | ADDC (x_19807, x_19806) -> h_ADDC x_19807 x_19806
    2440 | SUBB (x_19809, x_19808) -> h_SUBB x_19809 x_19808
    2441 | INC x_19810 -> h_INC x_19810
    2442 | DEC x_19811 -> h_DEC x_19811
    2443 | MUL (x_19813, x_19812) -> h_MUL x_19813 x_19812
    2444 | DIV (x_19815, x_19814) -> h_DIV x_19815 x_19814
    2445 | DA x_19816 -> h_DA x_19816
    2446 | JC x_19817 -> h_JC x_19817
    2447 | JNC x_19818 -> h_JNC x_19818
    2448 | JB (x_19820, x_19819) -> h_JB x_19820 x_19819
    2449 | JNB (x_19822, x_19821) -> h_JNB x_19822 x_19821
    2450 | JBC (x_19824, x_19823) -> h_JBC x_19824 x_19823
    2451 | JZ x_19825 -> h_JZ x_19825
    2452 | JNZ x_19826 -> h_JNZ x_19826
    2453 | CJNE (x_19828, x_19827) -> h_CJNE x_19828 x_19827
    2454 | DJNZ (x_19830, x_19829) -> h_DJNZ x_19830 x_19829
    2455 | ANL x_19831 -> h_ANL x_19831
    2456 | ORL x_19832 -> h_ORL x_19832
    2457 | XRL x_19833 -> h_XRL x_19833
    2458 | CLR x_19834 -> h_CLR x_19834
    2459 | CPL x_19835 -> h_CPL x_19835
    2460 | RL x_19836 -> h_RL x_19836
    2461 | RLC x_19837 -> h_RLC x_19837
    2462 | RR x_19838 -> h_RR x_19838
    2463 | RRC x_19839 -> h_RRC x_19839
    2464 | SWAP x_19840 -> h_SWAP x_19840
    2465 | MOV x_19841 -> h_MOV x_19841
    2466 | MOVX x_19842 -> h_MOVX x_19842
    2467 | SETB x_19843 -> h_SETB x_19843
    2468 | PUSH x_19844 -> h_PUSH x_19844
    2469 | POP x_19845 -> h_POP x_19845
    2470 | XCH (x_19847, x_19846) -> h_XCH x_19847 x_19846
    2471 | XCHD (x_19849, x_19848) -> h_XCHD x_19849 x_19848
     2438| ADD (x_3816, x_3815) -> h_ADD x_3816 x_3815
     2439| ADDC (x_3818, x_3817) -> h_ADDC x_3818 x_3817
     2440| SUBB (x_3820, x_3819) -> h_SUBB x_3820 x_3819
     2441| INC x_3821 -> h_INC x_3821
     2442| DEC x_3822 -> h_DEC x_3822
     2443| MUL (x_3824, x_3823) -> h_MUL x_3824 x_3823
     2444| DIV (x_3826, x_3825) -> h_DIV x_3826 x_3825
     2445| DA x_3827 -> h_DA x_3827
     2446| JC x_3828 -> h_JC x_3828
     2447| JNC x_3829 -> h_JNC x_3829
     2448| JB (x_3831, x_3830) -> h_JB x_3831 x_3830
     2449| JNB (x_3833, x_3832) -> h_JNB x_3833 x_3832
     2450| JBC (x_3835, x_3834) -> h_JBC x_3835 x_3834
     2451| JZ x_3836 -> h_JZ x_3836
     2452| JNZ x_3837 -> h_JNZ x_3837
     2453| CJNE (x_3839, x_3838) -> h_CJNE x_3839 x_3838
     2454| DJNZ (x_3841, x_3840) -> h_DJNZ x_3841 x_3840
     2455| ANL x_3842 -> h_ANL x_3842
     2456| ORL x_3843 -> h_ORL x_3843
     2457| XRL x_3844 -> h_XRL x_3844
     2458| CLR x_3845 -> h_CLR x_3845
     2459| CPL x_3846 -> h_CPL x_3846
     2460| RL x_3847 -> h_RL x_3847
     2461| RLC x_3848 -> h_RLC x_3848
     2462| RR x_3849 -> h_RR x_3849
     2463| RRC x_3850 -> h_RRC x_3850
     2464| SWAP x_3851 -> h_SWAP x_3851
     2465| MOV x_3852 -> h_MOV x_3852
     2466| MOVX x_3853 -> h_MOVX x_3853
     2467| SETB x_3854 -> h_SETB x_3854
     2468| PUSH x_3855 -> h_PUSH x_3855
     2469| POP x_3856 -> h_POP x_3856
     2470| XCH (x_3858, x_3857) -> h_XCH x_3858 x_3857
     2471| XCHD (x_3860, x_3859) -> h_XCHD x_3860 x_3859
    24722472| RET -> h_RET
    24732473| RETI -> h_RETI
    24742474| NOP -> h_NOP
    2475 | JMP x_19850 -> h_JMP x_19850
     2475| JMP x_3861 -> h_JMP x_3861
    24762476
    24772477(** val preinstruction_rect_Type0 :
     
    25112511    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    25122512let rec preinstruction_rect_Type0 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
    2513 | ADD (x_19891, x_19890) -> h_ADD x_19891 x_19890
    2514 | ADDC (x_19893, x_19892) -> h_ADDC x_19893 x_19892
    2515 | SUBB (x_19895, x_19894) -> h_SUBB x_19895 x_19894
    2516 | INC x_19896 -> h_INC x_19896
    2517 | DEC x_19897 -> h_DEC x_19897
    2518 | MUL (x_19899, x_19898) -> h_MUL x_19899 x_19898
    2519 | DIV (x_19901, x_19900) -> h_DIV x_19901 x_19900
    2520 | DA x_19902 -> h_DA x_19902
    2521 | JC x_19903 -> h_JC x_19903
    2522 | JNC x_19904 -> h_JNC x_19904
    2523 | JB (x_19906, x_19905) -> h_JB x_19906 x_19905
    2524 | JNB (x_19908, x_19907) -> h_JNB x_19908 x_19907
    2525 | JBC (x_19910, x_19909) -> h_JBC x_19910 x_19909
    2526 | JZ x_19911 -> h_JZ x_19911
    2527 | JNZ x_19912 -> h_JNZ x_19912
    2528 | CJNE (x_19914, x_19913) -> h_CJNE x_19914 x_19913
    2529 | DJNZ (x_19916, x_19915) -> h_DJNZ x_19916 x_19915
    2530 | ANL x_19917 -> h_ANL x_19917
    2531 | ORL x_19918 -> h_ORL x_19918
    2532 | XRL x_19919 -> h_XRL x_19919
    2533 | CLR x_19920 -> h_CLR x_19920
    2534 | CPL x_19921 -> h_CPL x_19921
    2535 | RL x_19922 -> h_RL x_19922
    2536 | RLC x_19923 -> h_RLC x_19923
    2537 | RR x_19924 -> h_RR x_19924
    2538 | RRC x_19925 -> h_RRC x_19925
    2539 | SWAP x_19926 -> h_SWAP x_19926
    2540 | MOV x_19927 -> h_MOV x_19927
    2541 | MOVX x_19928 -> h_MOVX x_19928
    2542 | SETB x_19929 -> h_SETB x_19929
    2543 | PUSH x_19930 -> h_PUSH x_19930
    2544 | POP x_19931 -> h_POP x_19931
    2545 | XCH (x_19933, x_19932) -> h_XCH x_19933 x_19932
    2546 | XCHD (x_19935, x_19934) -> h_XCHD x_19935 x_19934
     2513| ADD (x_3902, x_3901) -> h_ADD x_3902 x_3901
     2514| ADDC (x_3904, x_3903) -> h_ADDC x_3904 x_3903
     2515| SUBB (x_3906, x_3905) -> h_SUBB x_3906 x_3905
     2516| INC x_3907 -> h_INC x_3907
     2517| DEC x_3908 -> h_DEC x_3908
     2518| MUL (x_3910, x_3909) -> h_MUL x_3910 x_3909
     2519| DIV (x_3912, x_3911) -> h_DIV x_3912 x_3911
     2520| DA x_3913 -> h_DA x_3913
     2521| JC x_3914 -> h_JC x_3914
     2522| JNC x_3915 -> h_JNC x_3915
     2523| JB (x_3917, x_3916) -> h_JB x_3917 x_3916
     2524| JNB (x_3919, x_3918) -> h_JNB x_3919 x_3918
     2525| JBC (x_3921, x_3920) -> h_JBC x_3921 x_3920
     2526| JZ x_3922 -> h_JZ x_3922
     2527| JNZ x_3923 -> h_JNZ x_3923
     2528| CJNE (x_3925, x_3924) -> h_CJNE x_3925 x_3924
     2529| DJNZ (x_3927, x_3926) -> h_DJNZ x_3927 x_3926
     2530| ANL x_3928 -> h_ANL x_3928
     2531| ORL x_3929 -> h_ORL x_3929
     2532| XRL x_3930 -> h_XRL x_3930
     2533| CLR x_3931 -> h_CLR x_3931
     2534| CPL x_3932 -> h_CPL x_3932
     2535| RL x_3933 -> h_RL x_3933
     2536| RLC x_3934 -> h_RLC x_3934
     2537| RR x_3935 -> h_RR x_3935
     2538| RRC x_3936 -> h_RRC x_3936
     2539| SWAP x_3937 -> h_SWAP x_3937
     2540| MOV x_3938 -> h_MOV x_3938
     2541| MOVX x_3939 -> h_MOVX x_3939
     2542| SETB x_3940 -> h_SETB x_3940
     2543| PUSH x_3941 -> h_PUSH x_3941
     2544| POP x_3942 -> h_POP x_3942
     2545| XCH (x_3944, x_3943) -> h_XCH x_3944 x_3943
     2546| XCHD (x_3946, x_3945) -> h_XCHD x_3946 x_3945
    25472547| RET -> h_RET
    25482548| RETI -> h_RETI
    25492549| NOP -> h_NOP
    2550 | JMP x_19936 -> h_JMP x_19936
     2550| JMP x_3947 -> h_JMP x_3947
    25512551
    25522552(** val preinstruction_inv_rect_Type4 :
     
    49524952    'a1 **)
    49534953let rec instruction_rect_Type4 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    4954 | ACALL x_20508 -> h_ACALL x_20508
    4955 | LCALL x_20509 -> h_LCALL x_20509
    4956 | AJMP x_20510 -> h_AJMP x_20510
    4957 | LJMP x_20511 -> h_LJMP x_20511
    4958 | SJMP x_20512 -> h_SJMP x_20512
    4959 | MOVC (x_20514, x_20513) -> h_MOVC x_20514 x_20513
    4960 | RealInstruction x_20515 -> h_RealInstruction x_20515
     4954| ACALL x_4519 -> h_ACALL x_4519
     4955| LCALL x_4520 -> h_LCALL x_4520
     4956| AJMP x_4521 -> h_AJMP x_4521
     4957| LJMP x_4522 -> h_LJMP x_4522
     4958| SJMP x_4523 -> h_SJMP x_4523
     4959| MOVC (x_4525, x_4524) -> h_MOVC x_4525 x_4524
     4960| RealInstruction x_4526 -> h_RealInstruction x_4526
    49614961
    49624962(** val instruction_rect_Type5 :
     
    49674967    'a1 **)
    49684968let rec instruction_rect_Type5 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    4969 | ACALL x_20524 -> h_ACALL x_20524
    4970 | LCALL x_20525 -> h_LCALL x_20525
    4971 | AJMP x_20526 -> h_AJMP x_20526
    4972 | LJMP x_20527 -> h_LJMP x_20527
    4973 | SJMP x_20528 -> h_SJMP x_20528
    4974 | MOVC (x_20530, x_20529) -> h_MOVC x_20530 x_20529
    4975 | RealInstruction x_20531 -> h_RealInstruction x_20531
     4969| ACALL x_4535 -> h_ACALL x_4535
     4970| LCALL x_4536 -> h_LCALL x_4536
     4971| AJMP x_4537 -> h_AJMP x_4537
     4972| LJMP x_4538 -> h_LJMP x_4538
     4973| SJMP x_4539 -> h_SJMP x_4539
     4974| MOVC (x_4541, x_4540) -> h_MOVC x_4541 x_4540
     4975| RealInstruction x_4542 -> h_RealInstruction x_4542
    49764976
    49774977(** val instruction_rect_Type3 :
     
    49824982    'a1 **)
    49834983let rec instruction_rect_Type3 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    4984 | ACALL x_20540 -> h_ACALL x_20540
    4985 | LCALL x_20541 -> h_LCALL x_20541
    4986 | AJMP x_20542 -> h_AJMP x_20542
    4987 | LJMP x_20543 -> h_LJMP x_20543
    4988 | SJMP x_20544 -> h_SJMP x_20544
    4989 | MOVC (x_20546, x_20545) -> h_MOVC x_20546 x_20545
    4990 | RealInstruction x_20547 -> h_RealInstruction x_20547
     4984| ACALL x_4551 -> h_ACALL x_4551
     4985| LCALL x_4552 -> h_LCALL x_4552
     4986| AJMP x_4553 -> h_AJMP x_4553
     4987| LJMP x_4554 -> h_LJMP x_4554
     4988| SJMP x_4555 -> h_SJMP x_4555
     4989| MOVC (x_4557, x_4556) -> h_MOVC x_4557 x_4556
     4990| RealInstruction x_4558 -> h_RealInstruction x_4558
    49914991
    49924992(** val instruction_rect_Type2 :
     
    49974997    'a1 **)
    49984998let rec instruction_rect_Type2 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    4999 | ACALL x_20556 -> h_ACALL x_20556
    5000 | LCALL x_20557 -> h_LCALL x_20557
    5001 | AJMP x_20558 -> h_AJMP x_20558
    5002 | LJMP x_20559 -> h_LJMP x_20559
    5003 | SJMP x_20560 -> h_SJMP x_20560
    5004 | MOVC (x_20562, x_20561) -> h_MOVC x_20562 x_20561
    5005 | RealInstruction x_20563 -> h_RealInstruction x_20563
     4999| ACALL x_4567 -> h_ACALL x_4567
     5000| LCALL x_4568 -> h_LCALL x_4568
     5001| AJMP x_4569 -> h_AJMP x_4569
     5002| LJMP x_4570 -> h_LJMP x_4570
     5003| SJMP x_4571 -> h_SJMP x_4571
     5004| MOVC (x_4573, x_4572) -> h_MOVC x_4573 x_4572
     5005| RealInstruction x_4574 -> h_RealInstruction x_4574
    50065006
    50075007(** val instruction_rect_Type1 :
     
    50125012    'a1 **)
    50135013let rec instruction_rect_Type1 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5014 | ACALL x_20572 -> h_ACALL x_20572
    5015 | LCALL x_20573 -> h_LCALL x_20573
    5016 | AJMP x_20574 -> h_AJMP x_20574
    5017 | LJMP x_20575 -> h_LJMP x_20575
    5018 | SJMP x_20576 -> h_SJMP x_20576
    5019 | MOVC (x_20578, x_20577) -> h_MOVC x_20578 x_20577
    5020 | RealInstruction x_20579 -> h_RealInstruction x_20579
     5014| ACALL x_4583 -> h_ACALL x_4583
     5015| LCALL x_4584 -> h_LCALL x_4584
     5016| AJMP x_4585 -> h_AJMP x_4585
     5017| LJMP x_4586 -> h_LJMP x_4586
     5018| SJMP x_4587 -> h_SJMP x_4587
     5019| MOVC (x_4589, x_4588) -> h_MOVC x_4589 x_4588
     5020| RealInstruction x_4590 -> h_RealInstruction x_4590
    50215021
    50225022(** val instruction_rect_Type0 :
     
    50275027    'a1 **)
    50285028let rec instruction_rect_Type0 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5029 | ACALL x_20588 -> h_ACALL x_20588
    5030 | LCALL x_20589 -> h_LCALL x_20589
    5031 | AJMP x_20590 -> h_AJMP x_20590
    5032 | LJMP x_20591 -> h_LJMP x_20591
    5033 | SJMP x_20592 -> h_SJMP x_20592
    5034 | MOVC (x_20594, x_20593) -> h_MOVC x_20594 x_20593
    5035 | RealInstruction x_20595 -> h_RealInstruction x_20595
     5029| ACALL x_4599 -> h_ACALL x_4599
     5030| LCALL x_4600 -> h_LCALL x_4600
     5031| AJMP x_4601 -> h_AJMP x_4601
     5032| LJMP x_4602 -> h_LJMP x_4602
     5033| SJMP x_4603 -> h_SJMP x_4603
     5034| MOVC (x_4605, x_4604) -> h_MOVC x_4605 x_4604
     5035| RealInstruction x_4606 -> h_RealInstruction x_4606
    50365036
    50375037(** val instruction_inv_rect_Type4 :
     
    52985298    pseudo_instruction -> 'a1 **)
    52995299let rec pseudo_instruction_rect_Type4 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5300 | Instruction x_20761 -> h_Instruction x_20761
    5301 | Comment x_20762 -> h_Comment x_20762
    5302 | Cost x_20763 -> h_Cost x_20763
    5303 | Jmp x_20764 -> h_Jmp x_20764
    5304 | Jnz (x_20767, x_20766, x_20765) -> h_Jnz x_20767 x_20766 x_20765
    5305 | MovSuccessor (x_20770, x_20769, x_20768) ->
    5306   h_MovSuccessor x_20770 x_20769 x_20768
    5307 | Call x_20771 -> h_Call x_20771
    5308 | Mov (x_20773, x_20772) -> h_Mov x_20773 x_20772
     5300| Instruction x_4772 -> h_Instruction x_4772
     5301| Comment x_4773 -> h_Comment x_4773
     5302| Cost x_4774 -> h_Cost x_4774
     5303| Jmp x_4775 -> h_Jmp x_4775
     5304| Jnz (x_4778, x_4777, x_4776) -> h_Jnz x_4778 x_4777 x_4776
     5305| MovSuccessor (x_4781, x_4780, x_4779) ->
     5306  h_MovSuccessor x_4781 x_4780 x_4779
     5307| Call x_4782 -> h_Call x_4782
     5308| Mov (x_4784, x_4783) -> h_Mov x_4784 x_4783
    53095309
    53105310(** val pseudo_instruction_rect_Type5 :
     
    53165316    pseudo_instruction -> 'a1 **)
    53175317let rec pseudo_instruction_rect_Type5 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5318 | Instruction x_20783 -> h_Instruction x_20783
    5319 | Comment x_20784 -> h_Comment x_20784
    5320 | Cost x_20785 -> h_Cost x_20785
    5321 | Jmp x_20786 -> h_Jmp x_20786
    5322 | Jnz (x_20789, x_20788, x_20787) -> h_Jnz x_20789 x_20788 x_20787
    5323 | MovSuccessor (x_20792, x_20791, x_20790) ->
    5324   h_MovSuccessor x_20792 x_20791 x_20790
    5325 | Call x_20793 -> h_Call x_20793
    5326 | Mov (x_20795, x_20794) -> h_Mov x_20795 x_20794
     5318| Instruction x_4794 -> h_Instruction x_4794
     5319| Comment x_4795 -> h_Comment x_4795
     5320| Cost x_4796 -> h_Cost x_4796
     5321| Jmp x_4797 -> h_Jmp x_4797
     5322| Jnz (x_4800, x_4799, x_4798) -> h_Jnz x_4800 x_4799 x_4798
     5323| MovSuccessor (x_4803, x_4802, x_4801) ->
     5324  h_MovSuccessor x_4803 x_4802 x_4801
     5325| Call x_4804 -> h_Call x_4804
     5326| Mov (x_4806, x_4805) -> h_Mov x_4806 x_4805
    53275327
    53285328(** val pseudo_instruction_rect_Type3 :
     
    53345334    pseudo_instruction -> 'a1 **)
    53355335let rec pseudo_instruction_rect_Type3 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5336 | Instruction x_20805 -> h_Instruction x_20805
    5337 | Comment x_20806 -> h_Comment x_20806
    5338 | Cost x_20807 -> h_Cost x_20807
    5339 | Jmp x_20808 -> h_Jmp x_20808
    5340 | Jnz (x_20811, x_20810, x_20809) -> h_Jnz x_20811 x_20810 x_20809
    5341 | MovSuccessor (x_20814, x_20813, x_20812) ->
    5342   h_MovSuccessor x_20814 x_20813 x_20812
    5343 | Call x_20815 -> h_Call x_20815
    5344 | Mov (x_20817, x_20816) -> h_Mov x_20817 x_20816
     5336| Instruction x_4816 -> h_Instruction x_4816
     5337| Comment x_4817 -> h_Comment x_4817
     5338| Cost x_4818 -> h_Cost x_4818
     5339| Jmp x_4819 -> h_Jmp x_4819
     5340| Jnz (x_4822, x_4821, x_4820) -> h_Jnz x_4822 x_4821 x_4820
     5341| MovSuccessor (x_4825, x_4824, x_4823) ->
     5342  h_MovSuccessor x_4825 x_4824 x_4823
     5343| Call x_4826 -> h_Call x_4826
     5344| Mov (x_4828, x_4827) -> h_Mov x_4828 x_4827
    53455345
    53465346(** val pseudo_instruction_rect_Type2 :
     
    53525352    pseudo_instruction -> 'a1 **)
    53535353let rec pseudo_instruction_rect_Type2 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5354 | Instruction x_20827 -> h_Instruction x_20827
    5355 | Comment x_20828 -> h_Comment x_20828
    5356 | Cost x_20829 -> h_Cost x_20829
    5357 | Jmp x_20830 -> h_Jmp x_20830
    5358 | Jnz (x_20833, x_20832, x_20831) -> h_Jnz x_20833 x_20832 x_20831
    5359 | MovSuccessor (x_20836, x_20835, x_20834) ->
    5360   h_MovSuccessor x_20836 x_20835 x_20834
    5361 | Call x_20837 -> h_Call x_20837
    5362 | Mov (x_20839, x_20838) -> h_Mov x_20839 x_20838
     5354| Instruction x_4838 -> h_Instruction x_4838
     5355| Comment x_4839 -> h_Comment x_4839
     5356| Cost x_4840 -> h_Cost x_4840
     5357| Jmp x_4841 -> h_Jmp x_4841
     5358| Jnz (x_4844, x_4843, x_4842) -> h_Jnz x_4844 x_4843 x_4842
     5359| MovSuccessor (x_4847, x_4846, x_4845) ->
     5360  h_MovSuccessor x_4847 x_4846 x_4845
     5361| Call x_4848 -> h_Call x_4848
     5362| Mov (x_4850, x_4849) -> h_Mov x_4850 x_4849
    53635363
    53645364(** val pseudo_instruction_rect_Type1 :
     
    53705370    pseudo_instruction -> 'a1 **)
    53715371let rec pseudo_instruction_rect_Type1 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5372 | Instruction x_20849 -> h_Instruction x_20849
    5373 | Comment x_20850 -> h_Comment x_20850
    5374 | Cost x_20851 -> h_Cost x_20851
    5375 | Jmp x_20852 -> h_Jmp x_20852
    5376 | Jnz (x_20855, x_20854, x_20853) -> h_Jnz x_20855 x_20854 x_20853
    5377 | MovSuccessor (x_20858, x_20857, x_20856) ->
    5378   h_MovSuccessor x_20858 x_20857 x_20856
    5379 | Call x_20859 -> h_Call x_20859
    5380 | Mov (x_20861, x_20860) -> h_Mov x_20861 x_20860
     5372| Instruction x_4860 -> h_Instruction x_4860
     5373| Comment x_4861 -> h_Comment x_4861
     5374| Cost x_4862 -> h_Cost x_4862
     5375| Jmp x_4863 -> h_Jmp x_4863
     5376| Jnz (x_4866, x_4865, x_4864) -> h_Jnz x_4866 x_4865 x_4864
     5377| MovSuccessor (x_4869, x_4868, x_4867) ->
     5378  h_MovSuccessor x_4869 x_4868 x_4867
     5379| Call x_4870 -> h_Call x_4870
     5380| Mov (x_4872, x_4871) -> h_Mov x_4872 x_4871
    53815381
    53825382(** val pseudo_instruction_rect_Type0 :
     
    53885388    pseudo_instruction -> 'a1 **)
    53895389let rec pseudo_instruction_rect_Type0 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5390 | Instruction x_20871 -> h_Instruction x_20871
    5391 | Comment x_20872 -> h_Comment x_20872
    5392 | Cost x_20873 -> h_Cost x_20873
    5393 | Jmp x_20874 -> h_Jmp x_20874
    5394 | Jnz (x_20877, x_20876, x_20875) -> h_Jnz x_20877 x_20876 x_20875
    5395 | MovSuccessor (x_20880, x_20879, x_20878) ->
    5396   h_MovSuccessor x_20880 x_20879 x_20878
    5397 | Call x_20881 -> h_Call x_20881
    5398 | Mov (x_20883, x_20882) -> h_Mov x_20883 x_20882
     5390| Instruction x_4882 -> h_Instruction x_4882
     5391| Comment x_4883 -> h_Comment x_4883
     5392| Cost x_4884 -> h_Cost x_4884
     5393| Jmp x_4885 -> h_Jmp x_4885
     5394| Jnz (x_4888, x_4887, x_4886) -> h_Jnz x_4888 x_4887 x_4886
     5395| MovSuccessor (x_4891, x_4890, x_4889) ->
     5396  h_MovSuccessor x_4891 x_4890 x_4889
     5397| Call x_4892 -> h_Call x_4892
     5398| Mov (x_4894, x_4893) -> h_Mov x_4894 x_4893
    53995399
    54005400(** val pseudo_instruction_inv_rect_Type4 :
  • extracted/aSMCosts.ml

    r2717 r2730  
    187187   | Nat.S program_size' ->
    188188     (fun _ ->
    189        (let { Types.fst = eta31521; Types.snd = ticks } =
     189       (let { Types.fst = eta25074; Types.snd = ticks } =
    190190          Fetch.fetch code_memory' program_counter'
    191191        in
    192192       let { Types.fst = instruction0; Types.snd = program_counter'' } =
    193          eta31521
     193         eta25074
    194194       in
    195195       (fun _ ->
  • extracted/aST.ml

    r2717 r2730  
    418418    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    419419let rec typ_rect_Type4 h_ASTint h_ASTptr = function
    420 | ASTint (x_3480, x_3479) -> h_ASTint x_3480 x_3479
     420| ASTint (x_1295, x_1294) -> h_ASTint x_1295 x_1294
    421421| ASTptr -> h_ASTptr
    422422
     
    424424    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    425425let rec typ_rect_Type5 h_ASTint h_ASTptr = function
    426 | ASTint (x_3485, x_3484) -> h_ASTint x_3485 x_3484
     426| ASTint (x_1300, x_1299) -> h_ASTint x_1300 x_1299
    427427| ASTptr -> h_ASTptr
    428428
     
    430430    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    431431let rec typ_rect_Type3 h_ASTint h_ASTptr = function
    432 | ASTint (x_3490, x_3489) -> h_ASTint x_3490 x_3489
     432| ASTint (x_1305, x_1304) -> h_ASTint x_1305 x_1304
    433433| ASTptr -> h_ASTptr
    434434
     
    436436    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    437437let rec typ_rect_Type2 h_ASTint h_ASTptr = function
    438 | ASTint (x_3495, x_3494) -> h_ASTint x_3495 x_3494
     438| ASTint (x_1310, x_1309) -> h_ASTint x_1310 x_1309
    439439| ASTptr -> h_ASTptr
    440440
     
    442442    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    443443let rec typ_rect_Type1 h_ASTint h_ASTptr = function
    444 | ASTint (x_3500, x_3499) -> h_ASTint x_3500 x_3499
     444| ASTint (x_1315, x_1314) -> h_ASTint x_1315 x_1314
    445445| ASTptr -> h_ASTptr
    446446
     
    448448    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    449449let rec typ_rect_Type0 h_ASTint h_ASTptr = function
    450 | ASTint (x_3505, x_3504) -> h_ASTint x_3505 x_3504
     450| ASTint (x_1320, x_1319) -> h_ASTint x_1320 x_1319
    451451| ASTptr -> h_ASTptr
    452452
     
    877877(** val signature_rect_Type4 :
    878878    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    879 let rec signature_rect_Type4 h_mk_signature x_3540 =
    880   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3540 in
     879let rec signature_rect_Type4 h_mk_signature x_1355 =
     880  let { sig_args = sig_args0; sig_res = sig_res0 } = x_1355 in
    881881  h_mk_signature sig_args0 sig_res0
    882882
    883883(** val signature_rect_Type5 :
    884884    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    885 let rec signature_rect_Type5 h_mk_signature x_3542 =
    886   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3542 in
     885let rec signature_rect_Type5 h_mk_signature x_1357 =
     886  let { sig_args = sig_args0; sig_res = sig_res0 } = x_1357 in
    887887  h_mk_signature sig_args0 sig_res0
    888888
    889889(** val signature_rect_Type3 :
    890890    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    891 let rec signature_rect_Type3 h_mk_signature x_3544 =
    892   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3544 in
     891let rec signature_rect_Type3 h_mk_signature x_1359 =
     892  let { sig_args = sig_args0; sig_res = sig_res0 } = x_1359 in
    893893  h_mk_signature sig_args0 sig_res0
    894894
    895895(** val signature_rect_Type2 :
    896896    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    897 let rec signature_rect_Type2 h_mk_signature x_3546 =
    898   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3546 in
     897let rec signature_rect_Type2 h_mk_signature x_1361 =
     898  let { sig_args = sig_args0; sig_res = sig_res0 } = x_1361 in
    899899  h_mk_signature sig_args0 sig_res0
    900900
    901901(** val signature_rect_Type1 :
    902902    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    903 let rec signature_rect_Type1 h_mk_signature x_3548 =
    904   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3548 in
     903let rec signature_rect_Type1 h_mk_signature x_1363 =
     904  let { sig_args = sig_args0; sig_res = sig_res0 } = x_1363 in
    905905  h_mk_signature sig_args0 sig_res0
    906906
    907907(** val signature_rect_Type0 :
    908908    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    909 let rec signature_rect_Type0 h_mk_signature x_3550 =
    910   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3550 in
     909let rec signature_rect_Type0 h_mk_signature x_1365 =
     910  let { sig_args = sig_args0; sig_res = sig_res0 } = x_1365 in
    911911  h_mk_signature sig_args0 sig_res0
    912912
     
    984984    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    985985let rec init_data_rect_Type4 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    986 | Init_int8 x_3578 -> h_Init_int8 x_3578
    987 | Init_int16 x_3579 -> h_Init_int16 x_3579
    988 | Init_int32 x_3580 -> h_Init_int32 x_3580
    989 | Init_space x_3581 -> h_Init_space x_3581
     986| Init_int8 x_1393 -> h_Init_int8 x_1393
     987| Init_int16 x_1394 -> h_Init_int16 x_1394
     988| Init_int32 x_1395 -> h_Init_int32 x_1395
     989| Init_space x_1396 -> h_Init_space x_1396
    990990| Init_null -> h_Init_null
    991 | Init_addrof (x_3583, x_3582) -> h_Init_addrof x_3583 x_3582
     991| Init_addrof (x_1398, x_1397) -> h_Init_addrof x_1398 x_1397
    992992
    993993(** val init_data_rect_Type5 :
     
    995995    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    996996let rec init_data_rect_Type5 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    997 | Init_int8 x_3591 -> h_Init_int8 x_3591
    998 | Init_int16 x_3592 -> h_Init_int16 x_3592
    999 | Init_int32 x_3593 -> h_Init_int32 x_3593
    1000 | Init_space x_3594 -> h_Init_space x_3594
     997| Init_int8 x_1406 -> h_Init_int8 x_1406
     998| Init_int16 x_1407 -> h_Init_int16 x_1407
     999| Init_int32 x_1408 -> h_Init_int32 x_1408
     1000| Init_space x_1409 -> h_Init_space x_1409
    10011001| Init_null -> h_Init_null
    1002 | Init_addrof (x_3596, x_3595) -> h_Init_addrof x_3596 x_3595
     1002| Init_addrof (x_1411, x_1410) -> h_Init_addrof x_1411 x_1410
    10031003
    10041004(** val init_data_rect_Type3 :
     
    10061006    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    10071007let rec init_data_rect_Type3 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    1008 | Init_int8 x_3604 -> h_Init_int8 x_3604
    1009 | Init_int16 x_3605 -> h_Init_int16 x_3605
    1010 | Init_int32 x_3606 -> h_Init_int32 x_3606
    1011 | Init_space x_3607 -> h_Init_space x_3607
     1008| Init_int8 x_1419 -> h_Init_int8 x_1419
     1009| Init_int16 x_1420 -> h_Init_int16 x_1420
     1010| Init_int32 x_1421 -> h_Init_int32 x_1421
     1011| Init_space x_1422 -> h_Init_space x_1422
    10121012| Init_null -> h_Init_null
    1013 | Init_addrof (x_3609, x_3608) -> h_Init_addrof x_3609 x_3608
     1013| Init_addrof (x_1424, x_1423) -> h_Init_addrof x_1424 x_1423
    10141014
    10151015(** val init_data_rect_Type2 :
     
    10171017    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    10181018let rec init_data_rect_Type2 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    1019 | Init_int8 x_3617 -> h_Init_int8 x_3617
    1020 | Init_int16 x_3618 -> h_Init_int16 x_3618
    1021 | Init_int32 x_3619 -> h_Init_int32 x_3619
    1022 | Init_space x_3620 -> h_Init_space x_3620
     1019| Init_int8 x_1432 -> h_Init_int8 x_1432
     1020| Init_int16 x_1433 -> h_Init_int16 x_1433
     1021| Init_int32 x_1434 -> h_Init_int32 x_1434
     1022| Init_space x_1435 -> h_Init_space x_1435
    10231023| Init_null -> h_Init_null
    1024 | Init_addrof (x_3622, x_3621) -> h_Init_addrof x_3622 x_3621
     1024| Init_addrof (x_1437, x_1436) -> h_Init_addrof x_1437 x_1436
    10251025
    10261026(** val init_data_rect_Type1 :
     
    10281028    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    10291029let rec init_data_rect_Type1 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    1030 | Init_int8 x_3630 -> h_Init_int8 x_3630
    1031 | Init_int16 x_3631 -> h_Init_int16 x_3631
    1032 | Init_int32 x_3632 -> h_Init_int32 x_3632
    1033 | Init_space x_3633 -> h_Init_space x_3633
     1030| Init_int8 x_1445 -> h_Init_int8 x_1445
     1031| Init_int16 x_1446 -> h_Init_int16 x_1446
     1032| Init_int32 x_1447 -> h_Init_int32 x_1447
     1033| Init_space x_1448 -> h_Init_space x_1448
    10341034| Init_null -> h_Init_null
    1035 | Init_addrof (x_3635, x_3634) -> h_Init_addrof x_3635 x_3634
     1035| Init_addrof (x_1450, x_1449) -> h_Init_addrof x_1450 x_1449
    10361036
    10371037(** val init_data_rect_Type0 :
     
    10391039    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    10401040let rec init_data_rect_Type0 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    1041 | Init_int8 x_3643 -> h_Init_int8 x_3643
    1042 | Init_int16 x_3644 -> h_Init_int16 x_3644
    1043 | Init_int32 x_3645 -> h_Init_int32 x_3645
    1044 | Init_space x_3646 -> h_Init_space x_3646
     1041| Init_int8 x_1458 -> h_Init_int8 x_1458
     1042| Init_int16 x_1459 -> h_Init_int16 x_1459
     1043| Init_int32 x_1460 -> h_Init_int32 x_1460
     1044| Init_space x_1461 -> h_Init_space x_1461
    10451045| Init_null -> h_Init_null
    1046 | Init_addrof (x_3648, x_3647) -> h_Init_addrof x_3648 x_3647
     1046| Init_addrof (x_1463, x_1462) -> h_Init_addrof x_1463 x_1462
    10471047
    10481048(** val init_data_inv_rect_Type4 :
     
    11111111    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11121112    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1113 let rec program_rect_Type4 h_mk_program x_3735 =
     1113let rec program_rect_Type4 h_mk_program x_1550 =
    11141114  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1115     prog_main0 } = x_3735
     1115    prog_main0 } = x_1550
    11161116  in
    11171117  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11201120    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11211121    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1122 let rec program_rect_Type5 h_mk_program x_3737 =
     1122let rec program_rect_Type5 h_mk_program x_1552 =
    11231123  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1124     prog_main0 } = x_3737
     1124    prog_main0 } = x_1552
    11251125  in
    11261126  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11291129    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11301130    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1131 let rec program_rect_Type3 h_mk_program x_3739 =
     1131let rec program_rect_Type3 h_mk_program x_1554 =
    11321132  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1133     prog_main0 } = x_3739
     1133    prog_main0 } = x_1554
    11341134  in
    11351135  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11381138    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11391139    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1140 let rec program_rect_Type2 h_mk_program x_3741 =
     1140let rec program_rect_Type2 h_mk_program x_1556 =
    11411141  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1142     prog_main0 } = x_3741
     1142    prog_main0 } = x_1556
    11431143  in
    11441144  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11471147    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11481148    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1149 let rec program_rect_Type1 h_mk_program x_3743 =
     1149let rec program_rect_Type1 h_mk_program x_1558 =
    11501150  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1151     prog_main0 } = x_3743
     1151    prog_main0 } = x_1558
    11521152  in
    11531153  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11561156    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11571157    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1158 let rec program_rect_Type0 h_mk_program x_3745 =
     1158let rec program_rect_Type0 h_mk_program x_1560 =
    11591159  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1160     prog_main0 } = x_3745
     1160    prog_main0 } = x_1560
    11611161  in
    11621162  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    14811481(** val external_function_rect_Type4 :
    14821482    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1483 let rec external_function_rect_Type4 h_mk_external_function x_3949 =
    1484   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3949 in
     1483let rec external_function_rect_Type4 h_mk_external_function x_1764 =
     1484  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1764 in
    14851485  h_mk_external_function ef_id0 ef_sig0
    14861486
    14871487(** val external_function_rect_Type5 :
    14881488    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1489 let rec external_function_rect_Type5 h_mk_external_function x_3951 =
    1490   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3951 in
     1489let rec external_function_rect_Type5 h_mk_external_function x_1766 =
     1490  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1766 in
    14911491  h_mk_external_function ef_id0 ef_sig0
    14921492
    14931493(** val external_function_rect_Type3 :
    14941494    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1495 let rec external_function_rect_Type3 h_mk_external_function x_3953 =
    1496   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3953 in
     1495let rec external_function_rect_Type3 h_mk_external_function x_1768 =
     1496  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1768 in
    14971497  h_mk_external_function ef_id0 ef_sig0
    14981498
    14991499(** val external_function_rect_Type2 :
    15001500    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1501 let rec external_function_rect_Type2 h_mk_external_function x_3955 =
    1502   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3955 in
     1501let rec external_function_rect_Type2 h_mk_external_function x_1770 =
     1502  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1770 in
    15031503  h_mk_external_function ef_id0 ef_sig0
    15041504
    15051505(** val external_function_rect_Type1 :
    15061506    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1507 let rec external_function_rect_Type1 h_mk_external_function x_3957 =
    1508   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3957 in
     1507let rec external_function_rect_Type1 h_mk_external_function x_1772 =
     1508  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1772 in
    15091509  h_mk_external_function ef_id0 ef_sig0
    15101510
    15111511(** val external_function_rect_Type0 :
    15121512    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1513 let rec external_function_rect_Type0 h_mk_external_function x_3959 =
    1514   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3959 in
     1513let rec external_function_rect_Type0 h_mk_external_function x_1774 =
     1514  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1774 in
    15151515  h_mk_external_function ef_id0 ef_sig0
    15161516
     
    15791579    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15801580let rec fundef_rect_Type4 h_Internal h_External = function
    1581 | Internal x_3979 -> h_Internal x_3979
    1582 | External x_3980 -> h_External x_3980
     1581| Internal x_1794 -> h_Internal x_1794
     1582| External x_1795 -> h_External x_1795
    15831583
    15841584(** val fundef_rect_Type5 :
    15851585    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15861586let rec fundef_rect_Type5 h_Internal h_External = function
    1587 | Internal x_3984 -> h_Internal x_3984
    1588 | External x_3985 -> h_External x_3985
     1587| Internal x_1799 -> h_Internal x_1799
     1588| External x_1800 -> h_External x_1800
    15891589
    15901590(** val fundef_rect_Type3 :
    15911591    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15921592let rec fundef_rect_Type3 h_Internal h_External = function
    1593 | Internal x_3989 -> h_Internal x_3989
    1594 | External x_3990 -> h_External x_3990
     1593| Internal x_1804 -> h_Internal x_1804
     1594| External x_1805 -> h_External x_1805
    15951595
    15961596(** val fundef_rect_Type2 :
    15971597    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15981598let rec fundef_rect_Type2 h_Internal h_External = function
    1599 | Internal x_3994 -> h_Internal x_3994
    1600 | External x_3995 -> h_External x_3995
     1599| Internal x_1809 -> h_Internal x_1809
     1600| External x_1810 -> h_External x_1810
    16011601
    16021602(** val fundef_rect_Type1 :
    16031603    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16041604let rec fundef_rect_Type1 h_Internal h_External = function
    1605 | Internal x_3999 -> h_Internal x_3999
    1606 | External x_4000 -> h_External x_4000
     1605| Internal x_1814 -> h_Internal x_1814
     1606| External x_1815 -> h_External x_1815
    16071607
    16081608(** val fundef_rect_Type0 :
    16091609    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16101610let rec fundef_rect_Type0 h_Internal h_External = function
    1611 | Internal x_4004 -> h_Internal x_4004
    1612 | External x_4005 -> h_External x_4005
     1611| Internal x_1819 -> h_Internal x_1819
     1612| External x_1820 -> h_External x_1820
    16131613
    16141614(** val fundef_inv_rect_Type4 :
  • extracted/backEndOps.ml

    r2717 r2730  
    8080
    8181open ByteValues
     82
     83(** val divmodZ : Z.z -> Z.z -> (Z.z, Z.z) Types.prod **)
     84let divmodZ x y =
     85  match x with
     86  | Z.OZ -> { Types.fst = Z.OZ; Types.snd = Z.OZ }
     87  | Z.Pos n ->
     88    (match y with
     89     | Z.OZ -> { Types.fst = Z.OZ; Types.snd = Z.OZ }
     90     | Z.Pos m ->
     91       let { Types.fst = q; Types.snd = r } = Division.divide n m in
     92       { Types.fst = (Division.natp_to_Z q); Types.snd =
     93       (Division.natp_to_Z r) }
     94     | Z.Neg m ->
     95       let { Types.fst = q; Types.snd = r } = Division.divide n m in
     96       (match r with
     97        | Division.Pzero ->
     98          { Types.fst = (Division.natp_to_negZ q); Types.snd = Z.OZ }
     99        | Division.Ppos x0 ->
     100          { Types.fst = (Z.zpred (Division.natp_to_negZ q)); Types.snd =
     101            (Z.zplus y (Division.natp_to_Z r)) }))
     102  | Z.Neg n ->
     103    (match y with
     104     | Z.OZ -> { Types.fst = Z.OZ; Types.snd = Z.OZ }
     105     | Z.Pos m ->
     106       let { Types.fst = q; Types.snd = r } = Division.divide n m in
     107       (match r with
     108        | Division.Pzero ->
     109          { Types.fst = (Division.natp_to_negZ q); Types.snd = Z.OZ }
     110        | Division.Ppos x0 ->
     111          { Types.fst = (Z.zpred (Division.natp_to_negZ q)); Types.snd =
     112            (Z.zminus y (Division.natp_to_Z r)) })
     113     | Z.Neg m ->
     114       let { Types.fst = q; Types.snd = r } = Division.divide n m in
     115       { Types.fst = (Division.natp_to_Z q); Types.snd =
     116       (Division.natp_to_Z r) })
    82117
    83118type opAccs =
     
    367402    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    368403    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    369 let rec eval_rect_Type4 h_mk_Eval x_15751 =
    370   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_15751 in
     404let rec eval_rect_Type4 h_mk_Eval x_6259 =
     405  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_6259 in
    371406  h_mk_Eval opaccs0 op4 op5
    372407
     
    376411    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    377412    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    378 let rec eval_rect_Type5 h_mk_Eval x_15753 =
    379   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_15753 in
     413let rec eval_rect_Type5 h_mk_Eval x_6261 =
     414  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_6261 in
    380415  h_mk_Eval opaccs0 op4 op5
    381416
     
    385420    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    386421    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    387 let rec eval_rect_Type3 h_mk_Eval x_15755 =
    388   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_15755 in
     422let rec eval_rect_Type3 h_mk_Eval x_6263 =
     423  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_6263 in
    389424  h_mk_Eval opaccs0 op4 op5
    390425
     
    394429    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    395430    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    396 let rec eval_rect_Type2 h_mk_Eval x_15757 =
    397   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_15757 in
     431let rec eval_rect_Type2 h_mk_Eval x_6265 =
     432  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_6265 in
    398433  h_mk_Eval opaccs0 op4 op5
    399434
     
    403438    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    404439    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    405 let rec eval_rect_Type1 h_mk_Eval x_15759 =
    406   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_15759 in
     440let rec eval_rect_Type1 h_mk_Eval x_6267 =
     441  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_6267 in
    407442  h_mk_Eval opaccs0 op4 op5
    408443
     
    412447    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    413448    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    414 let rec eval_rect_Type0 h_mk_Eval x_15761 =
    415   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_15761 in
     449let rec eval_rect_Type0 h_mk_Eval x_6269 =
     450  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_6269 in
    416451  h_mk_Eval opaccs0 op4 op5
    417452
     
    487522    opAccs -> BitVector.byte -> BitVector.byte -> (BitVector.byte,
    488523    BitVector.byte) Types.prod **)
    489 let opaccs_implementation _ =
    490   failwith "AXIOM TO BE REALIZED"
     524let opaccs_implementation op4 by1 by2 =
     525  let n1 =
     526    BitVectorZ.z_of_unsigned_bitvector (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     527      (Nat.S (Nat.S (Nat.S Nat.O)))))))) by1
     528  in
     529  let n2 =
     530    BitVectorZ.z_of_unsigned_bitvector (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     531      (Nat.S (Nat.S (Nat.S Nat.O)))))))) by2
     532  in
     533  (match op4 with
     534   | Mul ->
     535     let prod0 =
     536       Vector.vsplit (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     537         Nat.O)))))))) (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     538         (Nat.S Nat.O))))))))
     539         (BitVectorZ.bitvector_of_Z
     540           (Nat.plus (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     541             Nat.O)))))))) (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     542             (Nat.S Nat.O))))))))) (Z.z_times n1 n2))
     543     in
     544     { Types.fst = prod0.Types.snd; Types.snd = prod0.Types.fst }
     545   | DivuModu ->
     546     (match Z.eqZb n2 Z.OZ with
     547      | Bool.True -> { Types.fst = by1; Types.snd = by2 }
     548      | Bool.False ->
     549        let { Types.fst = q; Types.snd = r } = divmodZ n1 n2 in
     550        { Types.fst =
     551        (BitVectorZ.bitvector_of_Z (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     552          (Nat.S (Nat.S Nat.O)))))))) q); Types.snd =
     553        (BitVectorZ.bitvector_of_Z (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     554          (Nat.S (Nat.S Nat.O)))))))) r) }))
    491555
    492556(** val op1_implementation : op1 -> BitVector.byte -> BitVector.byte **)
    493 let op1_implementation _ =
    494   failwith "AXIOM TO BE REALIZED"
     557let op1_implementation op4 by =
     558  match op4 with
     559  | Cmpl ->
     560    BitVector.negation_bv (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     561      (Nat.S Nat.O)))))))) by
     562  | Inc ->
     563    Arithmetic.add (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     564      Nat.O)))))))) by
     565      (Arithmetic.bitvector_of_nat (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     566        (Nat.S (Nat.S Nat.O)))))))) (Nat.S Nat.O))
     567  | Rl ->
     568    Vector.rotate_left (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     569      (Nat.S Nat.O)))))))) (Nat.S Nat.O) by
    495570
    496571(** val op2_implementation :
    497572    BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    498573    (BitVector.byte, BitVector.bit) Types.prod **)
    499 let op2_implementation _ =
    500   failwith "AXIOM TO BE REALIZED"
     574let op2_implementation carry op4 by1 by2 =
     575  match op4 with
     576  | Add ->
     577    let { Types.fst = res1; Types.snd = flags } =
     578      Arithmetic.add_8_with_carry by1 by2 Bool.False
     579    in
     580    { Types.fst = res1; Types.snd =
     581    (Vector.get_index' Nat.O (Nat.S (Nat.S Nat.O)) flags) }
     582  | Addc ->
     583    let { Types.fst = res1; Types.snd = flags } =
     584      Arithmetic.add_8_with_carry by1 by2 carry
     585    in
     586    { Types.fst = res1; Types.snd =
     587    (Vector.get_index' Nat.O (Nat.S (Nat.S Nat.O)) flags) }
     588  | Sub ->
     589    let { Types.fst = res1; Types.snd = flags } =
     590      Arithmetic.sub_8_with_carry by1 by2 carry
     591    in
     592    { Types.fst = res1; Types.snd =
     593    (Vector.get_index' Nat.O (Nat.S (Nat.S Nat.O)) flags) }
     594  | And ->
     595    { Types.fst =
     596      (BitVector.conjunction_bv (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     597        (Nat.S (Nat.S Nat.O)))))))) by1 by2); Types.snd = carry }
     598  | Or ->
     599    { Types.fst =
     600      (BitVector.inclusive_disjunction_bv (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     601        (Nat.S (Nat.S (Nat.S Nat.O)))))))) by1 by2); Types.snd = carry }
     602  | Xor ->
     603    { Types.fst =
     604      (BitVector.exclusive_disjunction_bv (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     605        (Nat.S (Nat.S (Nat.S Nat.O)))))))) by1 by2); Types.snd = carry }
    501606
    502607(** val eval0 : eval **)
  • extracted/backEndOps.mli

    r2717 r2730  
    8080
    8181open ByteValues
     82
     83val divmodZ : Z.z -> Z.z -> (Z.z, Z.z) Types.prod
    8284
    8385type opAccs =
  • extracted/byteValues.ml

    r2717 r2730  
    8989    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    9090    'a1 **)
    91 let rec program_counter_rect_Type4 h_mk_program_counter x_6074 =
    92   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6074 in
     91let rec program_counter_rect_Type4 h_mk_program_counter x_5700 =
     92  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5700 in
    9393  h_mk_program_counter pc_block0 pc_offset0
    9494
     
    9696    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    9797    'a1 **)
    98 let rec program_counter_rect_Type5 h_mk_program_counter x_6076 =
    99   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6076 in
     98let rec program_counter_rect_Type5 h_mk_program_counter x_5702 =
     99  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5702 in
    100100  h_mk_program_counter pc_block0 pc_offset0
    101101
     
    103103    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    104104    'a1 **)
    105 let rec program_counter_rect_Type3 h_mk_program_counter x_6078 =
    106   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6078 in
     105let rec program_counter_rect_Type3 h_mk_program_counter x_5704 =
     106  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5704 in
    107107  h_mk_program_counter pc_block0 pc_offset0
    108108
     
    110110    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    111111    'a1 **)
    112 let rec program_counter_rect_Type2 h_mk_program_counter x_6080 =
    113   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6080 in
     112let rec program_counter_rect_Type2 h_mk_program_counter x_5706 =
     113  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5706 in
    114114  h_mk_program_counter pc_block0 pc_offset0
    115115
     
    117117    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    118118    'a1 **)
    119 let rec program_counter_rect_Type1 h_mk_program_counter x_6082 =
    120   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6082 in
     119let rec program_counter_rect_Type1 h_mk_program_counter x_5708 =
     120  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5708 in
    121121  h_mk_program_counter pc_block0 pc_offset0
    122122
     
    124124    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    125125    'a1 **)
    126 let rec program_counter_rect_Type0 h_mk_program_counter x_6084 =
    127   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6084 in
     126let rec program_counter_rect_Type0 h_mk_program_counter x_5710 =
     127  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5710 in
    128128  h_mk_program_counter pc_block0 pc_offset0
    129129
     
    215215
    216216(** val part_rect_Type4 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    217 let rec part_rect_Type4 h_mk_part x_6100 =
    218   let part_no = x_6100 in h_mk_part part_no __
     217let rec part_rect_Type4 h_mk_part x_5726 =
     218  let part_no = x_5726 in h_mk_part part_no __
    219219
    220220(** val part_rect_Type5 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    221 let rec part_rect_Type5 h_mk_part x_6102 =
    222   let part_no = x_6102 in h_mk_part part_no __
     221let rec part_rect_Type5 h_mk_part x_5728 =
     222  let part_no = x_5728 in h_mk_part part_no __
    223223
    224224(** val part_rect_Type3 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    225 let rec part_rect_Type3 h_mk_part x_6104 =
    226   let part_no = x_6104 in h_mk_part part_no __
     225let rec part_rect_Type3 h_mk_part x_5730 =
     226  let part_no = x_5730 in h_mk_part part_no __
    227227
    228228(** val part_rect_Type2 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    229 let rec part_rect_Type2 h_mk_part x_6106 =
    230   let part_no = x_6106 in h_mk_part part_no __
     229let rec part_rect_Type2 h_mk_part x_5732 =
     230  let part_no = x_5732 in h_mk_part part_no __
    231231
    232232(** val part_rect_Type1 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    233 let rec part_rect_Type1 h_mk_part x_6108 =
    234   let part_no = x_6108 in h_mk_part part_no __
     233let rec part_rect_Type1 h_mk_part x_5734 =
     234  let part_no = x_5734 in h_mk_part part_no __
    235235
    236236(** val part_rect_Type0 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    237 let rec part_rect_Type0 h_mk_part x_6110 =
    238   let part_no = x_6110 in h_mk_part part_no __
     237let rec part_rect_Type0 h_mk_part x_5736 =
     238  let part_no = x_5736 in h_mk_part part_no __
    239239
    240240(** val part_no : part -> Nat.nat **)
     
    326326| BVundef -> h_BVundef
    327327| BVnonzero -> h_BVnonzero
    328 | BVXor (x_6144, x_6143, x_6142) -> h_BVXor x_6144 x_6143 x_6142
    329 | BVByte x_6145 -> h_BVByte x_6145
    330 | BVnull x_6146 -> h_BVnull x_6146
    331 | BVptr (x_6148, x_6147) -> h_BVptr x_6148 x_6147
    332 | BVpc (x_6150, x_6149) -> h_BVpc x_6150 x_6149
     328| BVXor (x_5770, x_5769, x_5768) -> h_BVXor x_5770 x_5769 x_5768
     329| BVByte x_5771 -> h_BVByte x_5771
     330| BVnull x_5772 -> h_BVnull x_5772
     331| BVptr (x_5774, x_5773) -> h_BVptr x_5774 x_5773
     332| BVpc (x_5776, x_5775) -> h_BVpc x_5776 x_5775
    333333
    334334(** val beval_rect_Type5 :
     
    340340| BVundef -> h_BVundef
    341341| BVnonzero -> h_BVnonzero
    342 | BVXor (x_6161, x_6160, x_6159) -> h_BVXor x_6161 x_6160 x_6159
    343 | BVByte x_6162 -> h_BVByte x_6162
    344 | BVnull x_6163 -> h_BVnull x_6163
    345 | BVptr (x_6165, x_6164) -> h_BVptr x_6165 x_6164
    346 | BVpc (x_6167, x_6166) -> h_BVpc x_6167 x_6166
     342| BVXor (x_5787, x_5786, x_5785) -> h_BVXor x_5787 x_5786 x_5785
     343| BVByte x_5788 -> h_BVByte x_5788
     344| BVnull x_5789 -> h_BVnull x_5789
     345| BVptr (x_5791, x_5790) -> h_BVptr x_5791 x_5790
     346| BVpc (x_5793, x_5792) -> h_BVpc x_5793 x_5792
    347347
    348348(** val beval_rect_Type3 :
     
    354354| BVundef -> h_BVundef
    355355| BVnonzero -> h_BVnonzero
    356 | BVXor (x_6178, x_6177, x_6176) -> h_BVXor x_6178 x_6177 x_6176
    357 | BVByte x_6179 -> h_BVByte x_6179
    358 | BVnull x_6180 -> h_BVnull x_6180
    359 | BVptr (x_6182, x_6181) -> h_BVptr x_6182 x_6181
    360 | BVpc (x_6184, x_6183) -> h_BVpc x_6184 x_6183
     356| BVXor (x_5804, x_5803, x_5802) -> h_BVXor x_5804 x_5803 x_5802
     357| BVByte x_5805 -> h_BVByte x_5805
     358| BVnull x_5806 -> h_BVnull x_5806
     359| BVptr (x_5808, x_5807) -> h_BVptr x_5808 x_5807
     360| BVpc (x_5810, x_5809) -> h_BVpc x_5810 x_5809
    361361
    362362(** val beval_rect_Type2 :
     
    368368| BVundef -> h_BVundef
    369369| BVnonzero -> h_BVnonzero
    370 | BVXor (x_6195, x_6194, x_6193) -> h_BVXor x_6195 x_6194 x_6193
    371 | BVByte x_6196 -> h_BVByte x_6196
    372 | BVnull x_6197 -> h_BVnull x_6197
    373 | BVptr (x_6199, x_6198) -> h_BVptr x_6199 x_6198
    374 | BVpc (x_6201, x_6200) -> h_BVpc x_6201 x_6200
     370| BVXor (x_5821, x_5820, x_5819) -> h_BVXor x_5821 x_5820 x_5819
     371| BVByte x_5822 -> h_BVByte x_5822
     372| BVnull x_5823 -> h_BVnull x_5823
     373| BVptr (x_5825, x_5824) -> h_BVptr x_5825 x_5824
     374| BVpc (x_5827, x_5826) -> h_BVpc x_5827 x_5826
    375375
    376376(** val beval_rect_Type1 :
     
    382382| BVundef -> h_BVundef
    383383| BVnonzero -> h_BVnonzero
    384 | BVXor (x_6212, x_6211, x_6210) -> h_BVXor x_6212 x_6211 x_6210
    385 | BVByte x_6213 -> h_BVByte x_6213
    386 | BVnull x_6214 -> h_BVnull x_6214
    387 | BVptr (x_6216, x_6215) -> h_BVptr x_6216 x_6215
    388 | BVpc (x_6218, x_6217) -> h_BVpc x_6218 x_6217
     384| BVXor (x_5838, x_5837, x_5836) -> h_BVXor x_5838 x_5837 x_5836
     385| BVByte x_5839 -> h_BVByte x_5839
     386| BVnull x_5840 -> h_BVnull x_5840
     387| BVptr (x_5842, x_5841) -> h_BVptr x_5842 x_5841
     388| BVpc (x_5844, x_5843) -> h_BVpc x_5844 x_5843
    389389
    390390(** val beval_rect_Type0 :
     
    396396| BVundef -> h_BVundef
    397397| BVnonzero -> h_BVnonzero
    398 | BVXor (x_6229, x_6228, x_6227) -> h_BVXor x_6229 x_6228 x_6227
    399 | BVByte x_6230 -> h_BVByte x_6230
    400 | BVnull x_6231 -> h_BVnull x_6231
    401 | BVptr (x_6233, x_6232) -> h_BVptr x_6233 x_6232
    402 | BVpc (x_6235, x_6234) -> h_BVpc x_6235 x_6234
     398| BVXor (x_5855, x_5854, x_5853) -> h_BVXor x_5855 x_5854 x_5853
     399| BVByte x_5856 -> h_BVByte x_5856
     400| BVnull x_5857 -> h_BVnull x_5857
     401| BVptr (x_5859, x_5858) -> h_BVptr x_5859 x_5858
     402| BVpc (x_5861, x_5860) -> h_BVpc x_5861 x_5860
    403403
    404404(** val beval_inv_rect_Type4 :
     
    739739    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    740740let rec bebit_rect_Type4 h_BBbit h_BBundef h_BBptrcarry = function
    741 | BBbit x_6354 -> h_BBbit x_6354
     741| BBbit x_5980 -> h_BBbit x_5980
    742742| BBundef -> h_BBundef
    743 | BBptrcarry (x_6357, x_6356, p, x_6355) ->
    744   h_BBptrcarry x_6357 x_6356 p x_6355
     743| BBptrcarry (x_5983, x_5982, p, x_5981) ->
     744  h_BBptrcarry x_5983 x_5982 p x_5981
    745745
    746746(** val bebit_rect_Type5 :
     
    748748    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    749749let rec bebit_rect_Type5 h_BBbit h_BBundef h_BBptrcarry = function
    750 | BBbit x_6362 -> h_BBbit x_6362
     750| BBbit x_5988 -> h_BBbit x_5988
    751751| BBundef -> h_BBundef
    752 | BBptrcarry (x_6365, x_6364, p, x_6363) ->
    753   h_BBptrcarry x_6365 x_6364 p x_6363
     752| BBptrcarry (x_5991, x_5990, p, x_5989) ->
     753  h_BBptrcarry x_5991 x_5990 p x_5989
    754754
    755755(** val bebit_rect_Type3 :
     
    757757    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    758758let rec bebit_rect_Type3 h_BBbit h_BBundef h_BBptrcarry = function
    759 | BBbit x_6370 -> h_BBbit x_6370
     759| BBbit x_5996 -> h_BBbit x_5996
    760760| BBundef -> h_BBundef
    761 | BBptrcarry (x_6373, x_6372, p, x_6371) ->
    762   h_BBptrcarry x_6373 x_6372 p x_6371
     761| BBptrcarry (x_5999, x_5998, p, x_5997) ->
     762  h_BBptrcarry x_5999 x_5998 p x_5997
    763763
    764764(** val bebit_rect_Type2 :
     
    766766    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    767767let rec bebit_rect_Type2 h_BBbit h_BBundef h_BBptrcarry = function
    768 | BBbit x_6378 -> h_BBbit x_6378
     768| BBbit x_6004 -> h_BBbit x_6004
    769769| BBundef -> h_BBundef
    770 | BBptrcarry (x_6381, x_6380, p, x_6379) ->
    771   h_BBptrcarry x_6381 x_6380 p x_6379
     770| BBptrcarry (x_6007, x_6006, p, x_6005) ->
     771  h_BBptrcarry x_6007 x_6006 p x_6005
    772772
    773773(** val bebit_rect_Type1 :
     
    775775    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    776776let rec bebit_rect_Type1 h_BBbit h_BBundef h_BBptrcarry = function
    777 | BBbit x_6386 -> h_BBbit x_6386
     777| BBbit x_6012 -> h_BBbit x_6012
    778778| BBundef -> h_BBundef
    779 | BBptrcarry (x_6389, x_6388, p, x_6387) ->
    780   h_BBptrcarry x_6389 x_6388 p x_6387
     779| BBptrcarry (x_6015, x_6014, p, x_6013) ->
     780  h_BBptrcarry x_6015 x_6014 p x_6013
    781781
    782782(** val bebit_rect_Type0 :
     
    784784    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    785785let rec bebit_rect_Type0 h_BBbit h_BBundef h_BBptrcarry = function
    786 | BBbit x_6394 -> h_BBbit x_6394
     786| BBbit x_6020 -> h_BBbit x_6020
    787787| BBundef -> h_BBundef
    788 | BBptrcarry (x_6397, x_6396, p, x_6395) ->
    789   h_BBptrcarry x_6397 x_6396 p x_6395
     788| BBptrcarry (x_6023, x_6022, p, x_6021) ->
     789  h_BBptrcarry x_6023 x_6022 p x_6021
    790790
    791791(** val bebit_inv_rect_Type4 :
  • extracted/cexec.ml

    r2717 r2730  
    796796           (let x = IOMonad.err_to_io (exec_exprlist ge0 e1 m al) in
    797797           Obj.magic x) (fun vargs tr3 ->
    798            Monad.m_bind0 (Monad.max_def IOMonad.iOMonad)
     798           Monad.m_bind2 (Monad.max_def IOMonad.iOMonad)
    799799             (Obj.magic
    800800               (IOMonad.opt_to_io (Errors.msg ErrorMessages.BadFunctionValue)
    801                  (Globalenvs.find_funct ge0 vf))) (fun fd ->
     801                 (Globalenvs.find_funct_id ge0 vf))) (fun fd id ->
    802802             Monad.m_bind0 (Monad.max_def IOMonad.iOMonad)
    803803               (Obj.magic
     
    809809                 Obj.magic
    810810                   (IO.ret { Types.fst = (Events.eapp tr2 tr3); Types.snd =
    811                      (Csem.Callstate (vf, fd, vargs, (Csem.Kcall (Types.None,
     811                     (Csem.Callstate (id, fd, vargs, (Csem.Kcall (Types.None,
    812812                     f, e1, k)), m)) })
    813813               | Types.Some lhs' ->
     
    818818                     (IO.ret { Types.fst =
    819819                       (Events.eapp tr1 (Events.eapp tr2 tr3)); Types.snd =
    820                        (Csem.Callstate (vf, fd, vargs, (Csem.Kcall
     820                       (Csem.Callstate (id, fd, vargs, (Csem.Kcall
    821821                       ((Types.Some { Types.fst = locofs; Types.snd =
    822822                       (Csyntax.typeof lhs') }), f, e1, k)), m)) })))))))
     
    11471147            (Errors.opt_to_res (Errors.msg ErrorMessages.MainMissing)
    11481148              (Globalenvs.find_funct_ptr ge0 b))) (fun f ->
    1149           Obj.magic (Errors.OK (Csem.Callstate ((Values.Vptr
    1150             { Pointers.pblock = b; Pointers.poff = Pointers.zero_offset }),
    1151             f, List.Nil, Csem.Kstop, m0)))))))
     1149          Obj.magic (Errors.OK (Csem.Callstate (p.AST.prog_main, f, List.Nil,
     1150            Csem.Kstop, m0)))))))
    11521151
    11531152(** val is_final0 : Csem.state0 -> Integers.int Types.option **)
  • extracted/classifyOp.ml

    r2717 r2730  
    9898    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    9999    -> classify_add_cases -> 'a1 **)
    100 let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7324 x_7323 = function
     100let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_4059 x_4058 = function
    101101| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    102102| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    110110    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    111111    -> classify_add_cases -> 'a1 **)
    112 let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7331 x_7330 = function
     112let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_4066 x_4065 = function
    113113| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    114114| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    122122    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    123123    -> classify_add_cases -> 'a1 **)
    124 let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7338 x_7337 = function
     124let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_4073 x_4072 = function
    125125| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    126126| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    134134    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    135135    -> classify_add_cases -> 'a1 **)
    136 let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7345 x_7344 = function
     136let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_4080 x_4079 = function
    137137| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    138138| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    146146    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    147147    -> classify_add_cases -> 'a1 **)
    148 let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7352 x_7351 = function
     148let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_4087 x_4086 = function
    149149| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    150150| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    158158    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    159159    -> classify_add_cases -> 'a1 **)
    160 let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7359 x_7358 = function
     160let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_4094 x_4093 = function
    161161| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    162162| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    321321    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    322322    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    323 let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7415 x_7414 = function
     323let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_4150 x_4149 = function
    324324| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    325325| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    333333    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    334334    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    335 let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7422 x_7421 = function
     335let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_4157 x_4156 = function
    336336| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    337337| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    345345    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    346346    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    347 let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7429 x_7428 = function
     347let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_4164 x_4163 = function
    348348| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    349349| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    357357    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    358358    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    359 let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7436 x_7435 = function
     359let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_4171 x_4170 = function
    360360| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    361361| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    369369    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    370370    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    371 let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7443 x_7442 = function
     371let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_4178 x_4177 = function
    372372| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    373373| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    381381    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    382382    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    383 let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7450 x_7449 = function
     383let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_4185 x_4184 = function
    384384| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    385385| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    521521    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    522522    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    523 let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_7504 x_7503 = function
     523let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_4239 x_4238 = function
    524524| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    525525| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    528528    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    529529    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    530 let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_7509 x_7508 = function
     530let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_4244 x_4243 = function
    531531| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    532532| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    535535    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    536536    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    537 let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_7514 x_7513 = function
     537let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_4249 x_4248 = function
    538538| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    539539| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    542542    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    543543    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    544 let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_7519 x_7518 = function
     544let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_4254 x_4253 = function
    545545| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    546546| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    549549    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    550550    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    551 let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_7524 x_7523 = function
     551let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_4259 x_4258 = function
    552552| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    553553| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    556556    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    557557    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    558 let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_7529 x_7528 = function
     558let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_4264 x_4263 = function
    559559| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    560560| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    638638    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    639639    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    640 let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7570 x_7569 = function
     640let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_4305 x_4304 = function
    641641| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    642642| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    647647    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    648648    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    649 let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7576 x_7575 = function
     649let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_4311 x_4310 = function
    650650| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    651651| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    656656    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    657657    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    658 let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7582 x_7581 = function
     658let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_4317 x_4316 = function
    659659| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    660660| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    665665    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    666666    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    667 let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7588 x_7587 = function
     667let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_4323 x_4322 = function
    668668| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    669669| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    674674    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    675675    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    676 let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7594 x_7593 = function
     676let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_4329 x_4328 = function
    677677| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    678678| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    683683    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    684684    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    685 let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7600 x_7599 = function
     685let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_4335 x_4334 = function
    686686| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    687687| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    782782    -> 'a1 **)
    783783let rec classify_fun_cases_rect_Type4 h_fun_case_f h_fun_default = function
    784 | Fun_case_f (x_7648, x_7647) -> h_fun_case_f x_7648 x_7647
     784| Fun_case_f (x_4383, x_4382) -> h_fun_case_f x_4383 x_4382
    785785| Fun_default -> h_fun_default
    786786
     
    789789    -> 'a1 **)
    790790let rec classify_fun_cases_rect_Type5 h_fun_case_f h_fun_default = function
    791 | Fun_case_f (x_7653, x_7652) -> h_fun_case_f x_7653 x_7652
     791| Fun_case_f (x_4388, x_4387) -> h_fun_case_f x_4388 x_4387
    792792| Fun_default -> h_fun_default
    793793
     
    796796    -> 'a1 **)
    797797let rec classify_fun_cases_rect_Type3 h_fun_case_f h_fun_default = function
    798 | Fun_case_f (x_7658, x_7657) -> h_fun_case_f x_7658 x_7657
     798| Fun_case_f (x_4393, x_4392) -> h_fun_case_f x_4393 x_4392
    799799| Fun_default -> h_fun_default
    800800
     
    803803    -> 'a1 **)
    804804let rec classify_fun_cases_rect_Type2 h_fun_case_f h_fun_default = function
    805 | Fun_case_f (x_7663, x_7662) -> h_fun_case_f x_7663 x_7662
     805| Fun_case_f (x_4398, x_4397) -> h_fun_case_f x_4398 x_4397
    806806| Fun_default -> h_fun_default
    807807
     
    810810    -> 'a1 **)
    811811let rec classify_fun_cases_rect_Type1 h_fun_case_f h_fun_default = function
    812 | Fun_case_f (x_7668, x_7667) -> h_fun_case_f x_7668 x_7667
     812| Fun_case_f (x_4403, x_4402) -> h_fun_case_f x_4403 x_4402
    813813| Fun_default -> h_fun_default
    814814
     
    817817    -> 'a1 **)
    818818let rec classify_fun_cases_rect_Type0 h_fun_case_f h_fun_default = function
    819 | Fun_case_f (x_7673, x_7672) -> h_fun_case_f x_7673 x_7672
     819| Fun_case_f (x_4408, x_4407) -> h_fun_case_f x_4408 x_4407
    820820| Fun_default -> h_fun_default
    821821
  • extracted/cminor_syntax.ml

    r2717 r2730  
    115115    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    116116    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    117 let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13681 = function
    118 | Id (t, x_13683) -> h_Id t x_13683
    119 | Cst (t, x_13684) -> h_Cst t x_13684
    120 | Op1 (t, t', x_13686, x_13685) ->
    121   h_Op1 t t' x_13686 x_13685
    122     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13685)
    123 | Op2 (t1, t2, t', x_13689, x_13688, x_13687) ->
    124   h_Op2 t1 t2 t' x_13689 x_13688 x_13687
    125     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13688)
    126     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13687)
    127 | Mem (t, x_13690) ->
    128   h_Mem t x_13690
     117let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_2569 = function
     118| Id (t, x_2571) -> h_Id t x_2571
     119| Cst (t, x_2572) -> h_Cst t x_2572
     120| Op1 (t, t', x_2574, x_2573) ->
     121  h_Op1 t t' x_2574 x_2573
     122    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2573)
     123| Op2 (t1, t2, t', x_2577, x_2576, x_2575) ->
     124  h_Op2 t1 t2 t' x_2577 x_2576 x_2575
     125    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_2576)
     126    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_2575)
     127| Mem (t, x_2578) ->
     128  h_Mem t x_2578
    129129    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    130       x_13690)
    131 | Cond (sz, sg, t, x_13693, x_13692, x_13691) ->
    132   h_Cond sz sg t x_13693 x_13692 x_13691
     130      x_2578)
     131| Cond (sz, sg, t, x_2581, x_2580, x_2579) ->
     132  h_Cond sz sg t x_2581 x_2580 x_2579
    133133    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    134       (sz, sg)) x_13693)
    135     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13692)
    136     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13691)
    137 | Ecost (t, x_13695, x_13694) ->
    138   h_Ecost t x_13695 x_13694
    139     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13694)
     134      (sz, sg)) x_2581)
     135    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2580)
     136    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2579)
     137| Ecost (t, x_2583, x_2582) ->
     138  h_Ecost t x_2583 x_2582
     139    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2582)
    140140
    141141(** val expr_rect_Type3 :
     
    147147    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    148148    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    149 let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13725 = function
    150 | Id (t, x_13727) -> h_Id t x_13727
    151 | Cst (t, x_13728) -> h_Cst t x_13728
    152 | Op1 (t, t', x_13730, x_13729) ->
    153   h_Op1 t t' x_13730 x_13729
    154     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13729)
    155 | Op2 (t1, t2, t', x_13733, x_13732, x_13731) ->
    156   h_Op2 t1 t2 t' x_13733 x_13732 x_13731
    157     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13732)
    158     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13731)
    159 | Mem (t, x_13734) ->
    160   h_Mem t x_13734
     149let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_2613 = function
     150| Id (t, x_2615) -> h_Id t x_2615
     151| Cst (t, x_2616) -> h_Cst t x_2616
     152| Op1 (t, t', x_2618, x_2617) ->
     153  h_Op1 t t' x_2618 x_2617
     154    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2617)
     155| Op2 (t1, t2, t', x_2621, x_2620, x_2619) ->
     156  h_Op2 t1 t2 t' x_2621 x_2620 x_2619
     157    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_2620)
     158    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_2619)
     159| Mem (t, x_2622) ->
     160  h_Mem t x_2622
    161161    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    162       x_13734)
    163 | Cond (sz, sg, t, x_13737, x_13736, x_13735) ->
    164   h_Cond sz sg t x_13737 x_13736 x_13735
     162      x_2622)
     163| Cond (sz, sg, t, x_2625, x_2624, x_2623) ->
     164  h_Cond sz sg t x_2625 x_2624 x_2623
    165165    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    166       (sz, sg)) x_13737)
    167     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13736)
    168     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13735)
    169 | Ecost (t, x_13739, x_13738) ->
    170   h_Ecost t x_13739 x_13738
    171     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13738)
     166      (sz, sg)) x_2625)
     167    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2624)
     168    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2623)
     169| Ecost (t, x_2627, x_2626) ->
     170  h_Ecost t x_2627 x_2626
     171    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2626)
    172172
    173173(** val expr_rect_Type2 :
     
    179179    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    180180    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    181 let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13747 = function
    182 | Id (t, x_13749) -> h_Id t x_13749
    183 | Cst (t, x_13750) -> h_Cst t x_13750
    184 | Op1 (t, t', x_13752, x_13751) ->
    185   h_Op1 t t' x_13752 x_13751
    186     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13751)
    187 | Op2 (t1, t2, t', x_13755, x_13754, x_13753) ->
    188   h_Op2 t1 t2 t' x_13755 x_13754 x_13753
    189     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13754)
    190     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13753)
    191 | Mem (t, x_13756) ->
    192   h_Mem t x_13756
     181let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_2635 = function
     182| Id (t, x_2637) -> h_Id t x_2637
     183| Cst (t, x_2638) -> h_Cst t x_2638
     184| Op1 (t, t', x_2640, x_2639) ->
     185  h_Op1 t t' x_2640 x_2639
     186    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2639)
     187| Op2 (t1, t2, t', x_2643, x_2642, x_2641) ->
     188  h_Op2 t1 t2 t' x_2643 x_2642 x_2641
     189    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_2642)
     190    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_2641)
     191| Mem (t, x_2644) ->
     192  h_Mem t x_2644
    193193    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    194       x_13756)
    195 | Cond (sz, sg, t, x_13759, x_13758, x_13757) ->
    196   h_Cond sz sg t x_13759 x_13758 x_13757
     194      x_2644)
     195| Cond (sz, sg, t, x_2647, x_2646, x_2645) ->
     196  h_Cond sz sg t x_2647 x_2646 x_2645
    197197    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    198       (sz, sg)) x_13759)
    199     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13758)
    200     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13757)
    201 | Ecost (t, x_13761, x_13760) ->
    202   h_Ecost t x_13761 x_13760
    203     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13760)
     198      (sz, sg)) x_2647)
     199    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2646)
     200    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2645)
     201| Ecost (t, x_2649, x_2648) ->
     202  h_Ecost t x_2649 x_2648
     203    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2648)
    204204
    205205(** val expr_rect_Type1 :
     
    211211    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    212212    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    213 let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13769 = function
    214 | Id (t, x_13771) -> h_Id t x_13771
    215 | Cst (t, x_13772) -> h_Cst t x_13772
    216 | Op1 (t, t', x_13774, x_13773) ->
    217   h_Op1 t t' x_13774 x_13773
    218     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13773)
    219 | Op2 (t1, t2, t', x_13777, x_13776, x_13775) ->
    220   h_Op2 t1 t2 t' x_13777 x_13776 x_13775
    221     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13776)
    222     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13775)
    223 | Mem (t, x_13778) ->
    224   h_Mem t x_13778
     213let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_2657 = function
     214| Id (t, x_2659) -> h_Id t x_2659
     215| Cst (t, x_2660) -> h_Cst t x_2660
     216| Op1 (t, t', x_2662, x_2661) ->
     217  h_Op1 t t' x_2662 x_2661
     218    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2661)
     219| Op2 (t1, t2, t', x_2665, x_2664, x_2663) ->
     220  h_Op2 t1 t2 t' x_2665 x_2664 x_2663
     221    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_2664)
     222    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_2663)
     223| Mem (t, x_2666) ->
     224  h_Mem t x_2666
    225225    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    226       x_13778)
    227 | Cond (sz, sg, t, x_13781, x_13780, x_13779) ->
    228   h_Cond sz sg t x_13781 x_13780 x_13779
     226      x_2666)
     227| Cond (sz, sg, t, x_2669, x_2668, x_2667) ->
     228  h_Cond sz sg t x_2669 x_2668 x_2667
    229229    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    230       (sz, sg)) x_13781)
    231     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13780)
    232     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13779)
    233 | Ecost (t, x_13783, x_13782) ->
    234   h_Ecost t x_13783 x_13782
    235     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13782)
     230      (sz, sg)) x_2669)
     231    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2668)
     232    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2667)
     233| Ecost (t, x_2671, x_2670) ->
     234  h_Ecost t x_2671 x_2670
     235    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2670)
    236236
    237237(** val expr_rect_Type0 :
     
    243243    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    244244    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    245 let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13791 = function
    246 | Id (t, x_13793) -> h_Id t x_13793
    247 | Cst (t, x_13794) -> h_Cst t x_13794
    248 | Op1 (t, t', x_13796, x_13795) ->
    249   h_Op1 t t' x_13796 x_13795
    250     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13795)
    251 | Op2 (t1, t2, t', x_13799, x_13798, x_13797) ->
    252   h_Op2 t1 t2 t' x_13799 x_13798 x_13797
    253     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13798)
    254     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13797)
    255 | Mem (t, x_13800) ->
    256   h_Mem t x_13800
     245let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_2679 = function
     246| Id (t, x_2681) -> h_Id t x_2681
     247| Cst (t, x_2682) -> h_Cst t x_2682
     248| Op1 (t, t', x_2684, x_2683) ->
     249  h_Op1 t t' x_2684 x_2683
     250    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2683)
     251| Op2 (t1, t2, t', x_2687, x_2686, x_2685) ->
     252  h_Op2 t1 t2 t' x_2687 x_2686 x_2685
     253    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_2686)
     254    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_2685)
     255| Mem (t, x_2688) ->
     256  h_Mem t x_2688
    257257    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    258       x_13800)
    259 | Cond (sz, sg, t, x_13803, x_13802, x_13801) ->
    260   h_Cond sz sg t x_13803 x_13802 x_13801
     258      x_2688)
     259| Cond (sz, sg, t, x_2691, x_2690, x_2689) ->
     260  h_Cond sz sg t x_2691 x_2690 x_2689
    261261    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    262       (sz, sg)) x_13803)
    263     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13802)
    264     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13801)
    265 | Ecost (t, x_13805, x_13804) ->
    266   h_Ecost t x_13805 x_13804
    267     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13804)
     262      (sz, sg)) x_2691)
     263    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2690)
     264    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2689)
     265| Ecost (t, x_2693, x_2692) ->
     266  h_Ecost t x_2693 x_2692
     267    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2692)
    268268
    269269(** val expr_inv_rect_Type4 :
     
    377377let rec stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    378378| St_skip -> h_St_skip
    379 | St_assign (t, x_13976, x_13975) -> h_St_assign t x_13976 x_13975
    380 | St_store (t, x_13978, x_13977) -> h_St_store t x_13978 x_13977
    381 | St_call (x_13981, x_13980, x_13979) -> h_St_call x_13981 x_13980 x_13979
    382 | St_seq (x_13983, x_13982) ->
    383   h_St_seq x_13983 x_13982
     379| St_assign (t, x_2864, x_2863) -> h_St_assign t x_2864 x_2863
     380| St_store (t, x_2866, x_2865) -> h_St_store t x_2866 x_2865
     381| St_call (x_2869, x_2868, x_2867) -> h_St_call x_2869 x_2868 x_2867
     382| St_seq (x_2871, x_2870) ->
     383  h_St_seq x_2871 x_2870
    384384    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    385       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13983)
     385      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2871)
    386386    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    387       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13982)
    388 | St_ifthenelse (sz, sg, x_13986, x_13985, x_13984) ->
    389   h_St_ifthenelse sz sg x_13986 x_13985 x_13984
     387      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2870)
     388| St_ifthenelse (sz, sg, x_2874, x_2873, x_2872) ->
     389  h_St_ifthenelse sz sg x_2874 x_2873 x_2872
    390390    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    391       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13985)
     391      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2873)
    392392    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    393       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13984)
    394 | St_return x_13987 -> h_St_return x_13987
    395 | St_label (x_13989, x_13988) ->
    396   h_St_label x_13989 x_13988
     393      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2872)
     394| St_return x_2875 -> h_St_return x_2875
     395| St_label (x_2877, x_2876) ->
     396  h_St_label x_2877 x_2876
    397397    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    398       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13988)
    399 | St_goto x_13990 -> h_St_goto x_13990
    400 | St_cost (x_13992, x_13991) ->
    401   h_St_cost x_13992 x_13991
     398      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2876)
     399| St_goto x_2878 -> h_St_goto x_2878
     400| St_cost (x_2880, x_2879) ->
     401  h_St_cost x_2880 x_2879
    402402    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    403       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13991)
     403      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2879)
    404404
    405405(** val stmt_rect_Type3 :
     
    414414let rec stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    415415| St_skip -> h_St_skip
    416 | St_assign (t, x_14034, x_14033) -> h_St_assign t x_14034 x_14033
    417 | St_store (t, x_14036, x_14035) -> h_St_store t x_14036 x_14035
    418 | St_call (x_14039, x_14038, x_14037) -> h_St_call x_14039 x_14038 x_14037
    419 | St_seq (x_14041, x_14040) ->
    420   h_St_seq x_14041 x_14040
     416| St_assign (t, x_2922, x_2921) -> h_St_assign t x_2922 x_2921
     417| St_store (t, x_2924, x_2923) -> h_St_store t x_2924 x_2923
     418| St_call (x_2927, x_2926, x_2925) -> h_St_call x_2927 x_2926 x_2925
     419| St_seq (x_2929, x_2928) ->
     420  h_St_seq x_2929 x_2928
    421421    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    422       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14041)
     422      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2929)
    423423    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    424       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14040)
    425 | St_ifthenelse (sz, sg, x_14044, x_14043, x_14042) ->
    426   h_St_ifthenelse sz sg x_14044 x_14043 x_14042
     424      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2928)
     425| St_ifthenelse (sz, sg, x_2932, x_2931, x_2930) ->
     426  h_St_ifthenelse sz sg x_2932 x_2931 x_2930
    427427    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    428       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14043)
     428      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2931)
    429429    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    430       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14042)
    431 | St_return x_14045 -> h_St_return x_14045
    432 | St_label (x_14047, x_14046) ->
    433   h_St_label x_14047 x_14046
     430      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2930)
     431| St_return x_2933 -> h_St_return x_2933
     432| St_label (x_2935, x_2934) ->
     433  h_St_label x_2935 x_2934
    434434    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    435       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14046)
    436 | St_goto x_14048 -> h_St_goto x_14048
    437 | St_cost (x_14050, x_14049) ->
    438   h_St_cost x_14050 x_14049
     435      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2934)
     436| St_goto x_2936 -> h_St_goto x_2936
     437| St_cost (x_2938, x_2937) ->
     438  h_St_cost x_2938 x_2937
    439439    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    440       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14049)
     440      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2937)
    441441
    442442(** val stmt_rect_Type2 :
     
    451451let rec stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    452452| St_skip -> h_St_skip
    453 | St_assign (t, x_14063, x_14062) -> h_St_assign t x_14063 x_14062
    454 | St_store (t, x_14065, x_14064) -> h_St_store t x_14065 x_14064
    455 | St_call (x_14068, x_14067, x_14066) -> h_St_call x_14068 x_14067 x_14066
    456 | St_seq (x_14070, x_14069) ->
    457   h_St_seq x_14070 x_14069
     453| St_assign (t, x_2951, x_2950) -> h_St_assign t x_2951 x_2950
     454| St_store (t, x_2953, x_2952) -> h_St_store t x_2953 x_2952
     455| St_call (x_2956, x_2955, x_2954) -> h_St_call x_2956 x_2955 x_2954
     456| St_seq (x_2958, x_2957) ->
     457  h_St_seq x_2958 x_2957
    458458    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    459       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14070)
     459      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2958)
    460460    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    461       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14069)
    462 | St_ifthenelse (sz, sg, x_14073, x_14072, x_14071) ->
    463   h_St_ifthenelse sz sg x_14073 x_14072 x_14071
     461      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2957)
     462| St_ifthenelse (sz, sg, x_2961, x_2960, x_2959) ->
     463  h_St_ifthenelse sz sg x_2961 x_2960 x_2959
    464464    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    465       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14072)
     465      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2960)
    466466    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    467       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14071)
    468 | St_return x_14074 -> h_St_return x_14074
    469 | St_label (x_14076, x_14075) ->
    470   h_St_label x_14076 x_14075
     467      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2959)
     468| St_return x_2962 -> h_St_return x_2962
     469| St_label (x_2964, x_2963) ->
     470  h_St_label x_2964 x_2963
    471471    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    472       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14075)
    473 | St_goto x_14077 -> h_St_goto x_14077
    474 | St_cost (x_14079, x_14078) ->
    475   h_St_cost x_14079 x_14078
     472      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2963)
     473| St_goto x_2965 -> h_St_goto x_2965
     474| St_cost (x_2967, x_2966) ->
     475  h_St_cost x_2967 x_2966
    476476    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    477       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14078)
     477      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2966)
    478478
    479479(** val stmt_rect_Type1 :
     
    488488let rec stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    489489| St_skip -> h_St_skip
    490 | St_assign (t, x_14092, x_14091) -> h_St_assign t x_14092 x_14091
    491 | St_store (t, x_14094, x_14093) -> h_St_store t x_14094 x_14093
    492 | St_call (x_14097, x_14096, x_14095) -> h_St_call x_14097 x_14096 x_14095
    493 | St_seq (x_14099, x_14098) ->
    494   h_St_seq x_14099 x_14098
     490| St_assign (t, x_2980, x_2979) -> h_St_assign t x_2980 x_2979
     491| St_store (t, x_2982, x_2981) -> h_St_store t x_2982 x_2981
     492| St_call (x_2985, x_2984, x_2983) -> h_St_call x_2985 x_2984 x_2983
     493| St_seq (x_2987, x_2986) ->
     494  h_St_seq x_2987 x_2986
    495495    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    496       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14099)
     496      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2987)
    497497    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    498       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14098)
    499 | St_ifthenelse (sz, sg, x_14102, x_14101, x_14100) ->
    500   h_St_ifthenelse sz sg x_14102 x_14101 x_14100
     498      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2986)
     499| St_ifthenelse (sz, sg, x_2990, x_2989, x_2988) ->
     500  h_St_ifthenelse sz sg x_2990 x_2989 x_2988
    501501    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    502       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14101)
     502      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2989)
    503503    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    504       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14100)
    505 | St_return x_14103 -> h_St_return x_14103
    506 | St_label (x_14105, x_14104) ->
    507   h_St_label x_14105 x_14104
     504      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2988)
     505| St_return x_2991 -> h_St_return x_2991
     506| St_label (x_2993, x_2992) ->
     507  h_St_label x_2993 x_2992
    508508    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    509       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14104)
    510 | St_goto x_14106 -> h_St_goto x_14106
    511 | St_cost (x_14108, x_14107) ->
    512   h_St_cost x_14108 x_14107
     509      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2992)
     510| St_goto x_2994 -> h_St_goto x_2994
     511| St_cost (x_2996, x_2995) ->
     512  h_St_cost x_2996 x_2995
    513513    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    514       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14107)
     514      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2995)
    515515
    516516(** val stmt_rect_Type0 :
     
    525525let rec stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    526526| St_skip -> h_St_skip
    527 | St_assign (t, x_14121, x_14120) -> h_St_assign t x_14121 x_14120
    528 | St_store (t, x_14123, x_14122) -> h_St_store t x_14123 x_14122
    529 | St_call (x_14126, x_14125, x_14124) -> h_St_call x_14126 x_14125 x_14124
    530 | St_seq (x_14128, x_14127) ->
    531   h_St_seq x_14128 x_14127
     527| St_assign (t, x_3009, x_3008) -> h_St_assign t x_3009 x_3008
     528| St_store (t, x_3011, x_3010) -> h_St_store t x_3011 x_3010
     529| St_call (x_3014, x_3013, x_3012) -> h_St_call x_3014 x_3013 x_3012
     530| St_seq (x_3016, x_3015) ->
     531  h_St_seq x_3016 x_3015
    532532    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    533       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14128)
     533      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_3016)
    534534    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    535       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14127)
    536 | St_ifthenelse (sz, sg, x_14131, x_14130, x_14129) ->
    537   h_St_ifthenelse sz sg x_14131 x_14130 x_14129
     535      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_3015)
     536| St_ifthenelse (sz, sg, x_3019, x_3018, x_3017) ->
     537  h_St_ifthenelse sz sg x_3019 x_3018 x_3017
    538538    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    539       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14130)
     539      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_3018)
    540540    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    541       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14129)
    542 | St_return x_14132 -> h_St_return x_14132
    543 | St_label (x_14134, x_14133) ->
    544   h_St_label x_14134 x_14133
     541      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_3017)
     542| St_return x_3020 -> h_St_return x_3020
     543| St_label (x_3022, x_3021) ->
     544  h_St_label x_3022 x_3021
    545545    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    546       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14133)
    547 | St_goto x_14135 -> h_St_goto x_14135
    548 | St_cost (x_14137, x_14136) ->
    549   h_St_cost x_14137 x_14136
     546      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_3021)
     547| St_goto x_3023 -> h_St_goto x_3023
     548| St_cost (x_3025, x_3024) ->
     549  h_St_cost x_3025 x_3024
    550550    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    551       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14136)
     551      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_3024)
    552552
    553553(** val stmt_inv_rect_Type4 :
     
    763763    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    764764    -> 'a1) -> internal_function -> 'a1 **)
    765 let rec internal_function_rect_Type4 h_mk_internal_function x_14432 =
     765let rec internal_function_rect_Type4 h_mk_internal_function x_3320 =
    766766  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    767     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14432
     767    f_stacksize = f_stacksize0; f_body = f_body0 } = x_3320
    768768  in
    769769  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    774774    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    775775    -> 'a1) -> internal_function -> 'a1 **)
    776 let rec internal_function_rect_Type5 h_mk_internal_function x_14434 =
     776let rec internal_function_rect_Type5 h_mk_internal_function x_3322 =
    777777  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    778     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14434
     778    f_stacksize = f_stacksize0; f_body = f_body0 } = x_3322
    779779  in
    780780  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    785785    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    786786    -> 'a1) -> internal_function -> 'a1 **)
    787 let rec internal_function_rect_Type3 h_mk_internal_function x_14436 =
     787let rec internal_function_rect_Type3 h_mk_internal_function x_3324 =
    788788  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    789     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14436
     789    f_stacksize = f_stacksize0; f_body = f_body0 } = x_3324
    790790  in
    791791  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    796796    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    797797    -> 'a1) -> internal_function -> 'a1 **)
    798 let rec internal_function_rect_Type2 h_mk_internal_function x_14438 =
     798let rec internal_function_rect_Type2 h_mk_internal_function x_3326 =
    799799  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    800     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14438
     800    f_stacksize = f_stacksize0; f_body = f_body0 } = x_3326
    801801  in
    802802  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    807807    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    808808    -> 'a1) -> internal_function -> 'a1 **)
    809 let rec internal_function_rect_Type1 h_mk_internal_function x_14440 =
     809let rec internal_function_rect_Type1 h_mk_internal_function x_3328 =
    810810  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    811     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14440
     811    f_stacksize = f_stacksize0; f_body = f_body0 } = x_3328
    812812  in
    813813  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    818818    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    819819    -> 'a1) -> internal_function -> 'a1 **)
    820 let rec internal_function_rect_Type0 h_mk_internal_function x_14442 =
     820let rec internal_function_rect_Type0 h_mk_internal_function x_3330 =
    821821  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    822     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14442
     822    f_stacksize = f_stacksize0; f_body = f_body0 } = x_3330
    823823  in
    824824  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
  • extracted/compiler.ml

    r2717 r2730  
    162162
    163163open ToRTLabs
     164
     165open Deqsets_extra
     166
     167open CostMisc
     168
     169open Listb
     170
     171open CostSpec
     172
     173open CostCheck
     174
     175open Executions
     176
     177open StructuredTraces
     178
     179open RTLabs_semantics
     180
     181open RTLabs_abstract
     182
     183open RTLabs_traces
     184
     185open CostInj
    164186
    165187(** val front_end :
     
    174196      (Obj.magic (ToCminor.clight_to_cminor p3)) (fun p4 ->
    175197      let p5 = ToRTLabs.cminor_to_rtlabs init_cost p4 in
    176       Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst = { Types.fst =
    177         init_cost; Types.snd = p' }; Types.snd = p5 }))
    178 
    179 open Deqsets
     198      (match CostCheck.check_cost_program p5 with
     199       | Bool.True ->
     200         (match CostInj.check_program_cost_injectivity p5 with
     201          | Bool.True ->
     202            Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     203              { Types.fst = init_cost; Types.snd = p' }; Types.snd = p5 }
     204          | Bool.False ->
     205            Obj.magic (Errors.Error
     206              (Errors.msg ErrorMessages.RepeatedCostLabel)))
     207       | Bool.False ->
     208         Obj.magic (Errors.Error (Errors.msg ErrorMessages.BadCostLabelling)))))
    180209
    181210open State
     
    242271
    243272(** val compute_fixpoint : Fixpoints.fixpoint_computer **)
    244 let compute_fixpoint _ =
     273let compute_fixpoint =
    245274  failwith "AXIOM TO BE REALIZED"
    246275
    247276(** val colour_graph : Interference.coloured_graph_computer **)
    248 let colour_graph _ =
     277let colour_graph =
    249278  failwith "AXIOM TO BE REALIZED"
    250279
     
    289318      let pol = fun ppc -> (Types.pi1 sigma_pol).Types.snd ppc in
    290319      Obj.magic (Errors.OK (Types.pi1 (Assembly.assembly p sigma0 pol)))))
    291 
    292 open StructuredTraces
    293320
    294321open AbstractStatus
  • extracted/compiler.mli

    r2717 r2730  
    162162
    163163open ToRTLabs
     164
     165open Deqsets_extra
     166
     167open CostMisc
     168
     169open Listb
     170
     171open CostSpec
     172
     173open CostCheck
     174
     175open Executions
     176
     177open StructuredTraces
     178
     179open RTLabs_semantics
     180
     181open RTLabs_abstract
     182
     183open RTLabs_traces
     184
     185open CostInj
    164186
    165187val front_end :
     
    167189  Types.prod, RTLabs_syntax.rTLabs_program) Types.prod Errors.res
    168190
    169 open Deqsets
    170 
    171191open State
    172192
     
    256276  ASM.pseudo_assembly_program -> (object_code, costlabel_map1) Types.prod
    257277  Errors.res
    258 
    259 open StructuredTraces
    260278
    261279open AbstractStatus
  • extracted/csem.ml

    r2717 r2730  
    780780let rec cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    781781| Kstop -> h_Kstop
    782 | Kseq (x_8622, x_8621) ->
    783   h_Kseq x_8622 x_8621
     782| Kseq (x_6713, x_6712) ->
     783  h_Kseq x_6713 x_6712
    784784    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    785       h_Kswitch h_Kcall x_8621)
    786 | Kwhile (x_8625, x_8624, x_8623) ->
    787   h_Kwhile x_8625 x_8624 x_8623
     785      h_Kswitch h_Kcall x_6712)
     786| Kwhile (x_6716, x_6715, x_6714) ->
     787  h_Kwhile x_6716 x_6715 x_6714
    788788    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    789       h_Kswitch h_Kcall x_8623)
    790 | Kdowhile (x_8628, x_8627, x_8626) ->
    791   h_Kdowhile x_8628 x_8627 x_8626
     789      h_Kswitch h_Kcall x_6714)
     790| Kdowhile (x_6719, x_6718, x_6717) ->
     791  h_Kdowhile x_6719 x_6718 x_6717
    792792    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    793       h_Kswitch h_Kcall x_8626)
    794 | Kfor2 (x_8632, x_8631, x_8630, x_8629) ->
    795   h_Kfor2 x_8632 x_8631 x_8630 x_8629
     793      h_Kswitch h_Kcall x_6717)
     794| Kfor2 (x_6723, x_6722, x_6721, x_6720) ->
     795  h_Kfor2 x_6723 x_6722 x_6721 x_6720
    796796    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    797       h_Kswitch h_Kcall x_8629)
    798 | Kfor3 (x_8636, x_8635, x_8634, x_8633) ->
    799   h_Kfor3 x_8636 x_8635 x_8634 x_8633
     797      h_Kswitch h_Kcall x_6720)
     798| Kfor3 (x_6727, x_6726, x_6725, x_6724) ->
     799  h_Kfor3 x_6727 x_6726 x_6725 x_6724
    800800    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    801       h_Kswitch h_Kcall x_8633)
    802 | Kswitch x_8637 ->
    803   h_Kswitch x_8637
     801      h_Kswitch h_Kcall x_6724)
     802| Kswitch x_6728 ->
     803  h_Kswitch x_6728
    804804    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    805       h_Kswitch h_Kcall x_8637)
    806 | Kcall (x_8641, x_8640, x_8639, x_8638) ->
    807   h_Kcall x_8641 x_8640 x_8639 x_8638
     805      h_Kswitch h_Kcall x_6728)
     806| Kcall (x_6732, x_6731, x_6730, x_6729) ->
     807  h_Kcall x_6732 x_6731 x_6730 x_6729
    808808    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    809       h_Kswitch h_Kcall x_8638)
     809      h_Kswitch h_Kcall x_6729)
    810810
    811811(** val cont_rect_Type3 :
     
    820820let rec cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    821821| Kstop -> h_Kstop
    822 | Kseq (x_8682, x_8681) ->
    823   h_Kseq x_8682 x_8681
     822| Kseq (x_6773, x_6772) ->
     823  h_Kseq x_6773 x_6772
    824824    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    825       h_Kswitch h_Kcall x_8681)
    826 | Kwhile (x_8685, x_8684, x_8683) ->
    827   h_Kwhile x_8685 x_8684 x_8683
     825      h_Kswitch h_Kcall x_6772)
     826| Kwhile (x_6776, x_6775, x_6774) ->
     827  h_Kwhile x_6776 x_6775 x_6774
    828828    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    829       h_Kswitch h_Kcall x_8683)
    830 | Kdowhile (x_8688, x_8687, x_8686) ->
    831   h_Kdowhile x_8688 x_8687 x_8686
     829      h_Kswitch h_Kcall x_6774)
     830| Kdowhile (x_6779, x_6778, x_6777) ->
     831  h_Kdowhile x_6779 x_6778 x_6777
    832832    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    833       h_Kswitch h_Kcall x_8686)
    834 | Kfor2 (x_8692, x_8691, x_8690, x_8689) ->
    835   h_Kfor2 x_8692 x_8691 x_8690 x_8689
     833      h_Kswitch h_Kcall x_6777)
     834| Kfor2 (x_6783, x_6782, x_6781, x_6780) ->
     835  h_Kfor2 x_6783 x_6782 x_6781 x_6780
    836836    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    837       h_Kswitch h_Kcall x_8689)
    838 | Kfor3 (x_8696, x_8695, x_8694, x_8693) ->
    839   h_Kfor3 x_8696 x_8695 x_8694 x_8693
     837      h_Kswitch h_Kcall x_6780)
     838| Kfor3 (x_6787, x_6786, x_6785, x_6784) ->
     839  h_Kfor3 x_6787 x_6786 x_6785 x_6784
    840840    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    841       h_Kswitch h_Kcall x_8693)
    842 | Kswitch x_8697 ->
    843   h_Kswitch x_8697
     841      h_Kswitch h_Kcall x_6784)
     842| Kswitch x_6788 ->
     843  h_Kswitch x_6788
    844844    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    845       h_Kswitch h_Kcall x_8697)
    846 | Kcall (x_8701, x_8700, x_8699, x_8698) ->
    847   h_Kcall x_8701 x_8700 x_8699 x_8698
     845      h_Kswitch h_Kcall x_6788)
     846| Kcall (x_6792, x_6791, x_6790, x_6789) ->
     847  h_Kcall x_6792 x_6791 x_6790 x_6789
    848848    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    849       h_Kswitch h_Kcall x_8698)
     849      h_Kswitch h_Kcall x_6789)
    850850
    851851(** val cont_rect_Type2 :
     
    860860let rec cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    861861| Kstop -> h_Kstop
    862 | Kseq (x_8712, x_8711) ->
    863   h_Kseq x_8712 x_8711
     862| Kseq (x_6803, x_6802) ->
     863  h_Kseq x_6803 x_6802
    864864    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    865       h_Kswitch h_Kcall x_8711)
    866 | Kwhile (x_8715, x_8714, x_8713) ->
    867   h_Kwhile x_8715 x_8714 x_8713
     865      h_Kswitch h_Kcall x_6802)
     866| Kwhile (x_6806, x_6805, x_6804) ->
     867  h_Kwhile x_6806 x_6805 x_6804
    868868    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    869       h_Kswitch h_Kcall x_8713)
    870 | Kdowhile (x_8718, x_8717, x_8716) ->
    871   h_Kdowhile x_8718 x_8717 x_8716
     869      h_Kswitch h_Kcall x_6804)
     870| Kdowhile (x_6809, x_6808, x_6807) ->
     871  h_Kdowhile x_6809 x_6808 x_6807
    872872    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    873       h_Kswitch h_Kcall x_8716)
    874 | Kfor2 (x_8722, x_8721, x_8720, x_8719) ->
    875   h_Kfor2 x_8722 x_8721 x_8720 x_8719
     873      h_Kswitch h_Kcall x_6807)
     874| Kfor2 (x_6813, x_6812, x_6811, x_6810) ->
     875  h_Kfor2 x_6813 x_6812 x_6811 x_6810
    876876    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    877       h_Kswitch h_Kcall x_8719)
    878 | Kfor3 (x_8726, x_8725, x_8724, x_8723) ->
    879   h_Kfor3 x_8726 x_8725 x_8724 x_8723
     877      h_Kswitch h_Kcall x_6810)
     878| Kfor3 (x_6817, x_6816, x_6815, x_6814) ->
     879  h_Kfor3 x_6817 x_6816 x_6815 x_6814
    880880    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    881       h_Kswitch h_Kcall x_8723)
    882 | Kswitch x_8727 ->
    883   h_Kswitch x_8727
     881      h_Kswitch h_Kcall x_6814)
     882| Kswitch x_6818 ->
     883  h_Kswitch x_6818
    884884    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    885       h_Kswitch h_Kcall x_8727)
    886 | Kcall (x_8731, x_8730, x_8729, x_8728) ->
    887   h_Kcall x_8731 x_8730 x_8729 x_8728
     885      h_Kswitch h_Kcall x_6818)
     886| Kcall (x_6822, x_6821, x_6820, x_6819) ->
     887  h_Kcall x_6822 x_6821 x_6820 x_6819
    888888    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    889       h_Kswitch h_Kcall x_8728)
     889      h_Kswitch h_Kcall x_6819)
    890890
    891891(** val cont_rect_Type1 :
     
    900900let rec cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    901901| Kstop -> h_Kstop
    902 | Kseq (x_8742, x_8741) ->
    903   h_Kseq x_8742 x_8741
     902| Kseq (x_6833, x_6832) ->
     903  h_Kseq x_6833 x_6832
    904904    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    905       h_Kswitch h_Kcall x_8741)
    906 | Kwhile (x_8745, x_8744, x_8743) ->
    907   h_Kwhile x_8745 x_8744 x_8743
     905      h_Kswitch h_Kcall x_6832)
     906| Kwhile (x_6836, x_6835, x_6834) ->
     907  h_Kwhile x_6836 x_6835 x_6834
    908908    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    909       h_Kswitch h_Kcall x_8743)
    910 | Kdowhile (x_8748, x_8747, x_8746) ->
    911   h_Kdowhile x_8748 x_8747 x_8746
     909      h_Kswitch h_Kcall x_6834)
     910| Kdowhile (x_6839, x_6838, x_6837) ->
     911  h_Kdowhile x_6839 x_6838 x_6837
    912912    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    913       h_Kswitch h_Kcall x_8746)
    914 | Kfor2 (x_8752, x_8751, x_8750, x_8749) ->
    915   h_Kfor2 x_8752 x_8751 x_8750 x_8749
     913      h_Kswitch h_Kcall x_6837)
     914| Kfor2 (x_6843, x_6842, x_6841, x_6840) ->
     915  h_Kfor2 x_6843 x_6842 x_6841 x_6840
    916916    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    917       h_Kswitch h_Kcall x_8749)
    918 | Kfor3 (x_8756, x_8755, x_8754, x_8753) ->
    919   h_Kfor3 x_8756 x_8755 x_8754 x_8753
     917      h_Kswitch h_Kcall x_6840)
     918| Kfor3 (x_6847, x_6846, x_6845, x_6844) ->
     919  h_Kfor3 x_6847 x_6846 x_6845 x_6844
    920920    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    921       h_Kswitch h_Kcall x_8753)
    922 | Kswitch x_8757 ->
    923   h_Kswitch x_8757
     921      h_Kswitch h_Kcall x_6844)
     922| Kswitch x_6848 ->
     923  h_Kswitch x_6848
    924924    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    925       h_Kswitch h_Kcall x_8757)
    926 | Kcall (x_8761, x_8760, x_8759, x_8758) ->
    927   h_Kcall x_8761 x_8760 x_8759 x_8758
     925      h_Kswitch h_Kcall x_6848)
     926| Kcall (x_6852, x_6851, x_6850, x_6849) ->
     927  h_Kcall x_6852 x_6851 x_6850 x_6849
    928928    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    929       h_Kswitch h_Kcall x_8758)
     929      h_Kswitch h_Kcall x_6849)
    930930
    931931(** val cont_rect_Type0 :
     
    940940let rec cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    941941| Kstop -> h_Kstop
    942 | Kseq (x_8772, x_8771) ->
    943   h_Kseq x_8772 x_8771
     942| Kseq (x_6863, x_6862) ->
     943  h_Kseq x_6863 x_6862
    944944    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    945       h_Kswitch h_Kcall x_8771)
    946 | Kwhile (x_8775, x_8774, x_8773) ->
    947   h_Kwhile x_8775 x_8774 x_8773
     945      h_Kswitch h_Kcall x_6862)
     946| Kwhile (x_6866, x_6865, x_6864) ->
     947  h_Kwhile x_6866 x_6865 x_6864
    948948    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    949       h_Kswitch h_Kcall x_8773)
    950 | Kdowhile (x_8778, x_8777, x_8776) ->
    951   h_Kdowhile x_8778 x_8777 x_8776
     949      h_Kswitch h_Kcall x_6864)
     950| Kdowhile (x_6869, x_6868, x_6867) ->
     951  h_Kdowhile x_6869 x_6868 x_6867
    952952    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    953       h_Kswitch h_Kcall x_8776)
    954 | Kfor2 (x_8782, x_8781, x_8780, x_8779) ->
    955   h_Kfor2 x_8782 x_8781 x_8780 x_8779
     953      h_Kswitch h_Kcall x_6867)
     954| Kfor2 (x_6873, x_6872, x_6871, x_6870) ->
     955  h_Kfor2 x_6873 x_6872 x_6871 x_6870
    956956    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    957       h_Kswitch h_Kcall x_8779)
    958 | Kfor3 (x_8786, x_8785, x_8784, x_8783) ->
    959   h_Kfor3 x_8786 x_8785 x_8784 x_8783
     957      h_Kswitch h_Kcall x_6870)
     958| Kfor3 (x_6877, x_6876, x_6875, x_6874) ->
     959  h_Kfor3 x_6877 x_6876 x_6875 x_6874
    960960    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    961       h_Kswitch h_Kcall x_8783)
    962 | Kswitch x_8787 ->
    963   h_Kswitch x_8787
     961      h_Kswitch h_Kcall x_6874)
     962| Kswitch x_6878 ->
     963  h_Kswitch x_6878
    964964    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    965       h_Kswitch h_Kcall x_8787)
    966 | Kcall (x_8791, x_8790, x_8789, x_8788) ->
    967   h_Kcall x_8791 x_8790 x_8789 x_8788
     965      h_Kswitch h_Kcall x_6878)
     966| Kcall (x_6882, x_6881, x_6880, x_6879) ->
     967  h_Kcall x_6882 x_6881 x_6880 x_6879
    968968    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    969       h_Kswitch h_Kcall x_8788)
     969      h_Kswitch h_Kcall x_6879)
    970970
    971971(** val cont_inv_rect_Type4 :
     
    10731073type state0 =
    10741074| State of Csyntax.function0 * Csyntax.statement * cont * env * GenMem.mem1
    1075 | Callstate of Values.val0 * Csyntax.clight_fundef * Values.val0 List.list
     1075| Callstate of AST.ident * Csyntax.clight_fundef * Values.val0 List.list
    10761076   * cont * GenMem.mem1
    10771077| Returnstate of Values.val0 * cont * GenMem.mem1
     
    10801080(** val state_rect_Type4 :
    10811081    (Csyntax.function0 -> Csyntax.statement -> cont -> env -> GenMem.mem1 ->
    1082     'a1) -> (Values.val0 -> Csyntax.clight_fundef -> Values.val0 List.list ->
     1082    'a1) -> (AST.ident -> Csyntax.clight_fundef -> Values.val0 List.list ->
    10831083    cont -> GenMem.mem1 -> 'a1) -> (Values.val0 -> cont -> GenMem.mem1 ->
    10841084    'a1) -> (Integers.int -> 'a1) -> state0 -> 'a1 **)
    10851085let rec state_rect_Type4 h_State h_Callstate h_Returnstate h_Finalstate = function
    10861086| State (f, s, k, e1, m) -> h_State f s k e1 m
    1087 | Callstate (fb, fd, args, k, m) -> h_Callstate fb fd args k m
     1087| Callstate (id, fd, args, k, m) -> h_Callstate id fd args k m
    10881088| Returnstate (res1, k, m) -> h_Returnstate res1 k m
    10891089| Finalstate r -> h_Finalstate r
     
    10911091(** val state_rect_Type5 :
    10921092    (Csyntax.function0 -> Csyntax.statement -> cont -> env -> GenMem.mem1 ->
    1093     'a1) -> (Values.val0 -> Csyntax.clight_fundef -> Values.val0 List.list ->
     1093    'a1) -> (AST.ident -> Csyntax.clight_fundef -> Values.val0 List.list ->
    10941094    cont -> GenMem.mem1 -> 'a1) -> (Values.val0 -> cont -> GenMem.mem1 ->
    10951095    'a1) -> (Integers.int -> 'a1) -> state0 -> 'a1 **)
    10961096let rec state_rect_Type5 h_State h_Callstate h_Returnstate h_Finalstate = function
    10971097| State (f, s, k, e1, m) -> h_State f s k e1 m
    1098 | Callstate (fb, fd, args, k, m) -> h_Callstate fb fd args k m
     1098| Callstate (id, fd, args, k, m) -> h_Callstate id fd args k m
    10991099| Returnstate (res1, k, m) -> h_Returnstate res1 k m
    11001100| Finalstate r -> h_Finalstate r
     
    11021102(** val state_rect_Type3 :
    11031103    (Csyntax.function0 -> Csyntax.statement -> cont -> env -> GenMem.mem1 ->
    1104     'a1) -> (Values.val0 -> Csyntax.clight_fundef -> Values.val0 List.list ->
     1104    'a1) -> (AST.ident -> Csyntax.clight_fundef -> Values.val0 List.list ->
    11051105    cont -> GenMem.mem1 -> 'a1) -> (Values.val0 -> cont -> GenMem.mem1 ->
    11061106    'a1) -> (Integers.int -> 'a1) -> state0 -> 'a1 **)
    11071107let rec state_rect_Type3 h_State h_Callstate h_Returnstate h_Finalstate = function
    11081108| State (f, s, k, e1, m) -> h_State f s k e1 m
    1109 | Callstate (fb, fd, args, k, m) -> h_Callstate fb fd args k m
     1109| Callstate (id, fd, args, k, m) -> h_Callstate id fd args k m
    11101110| Returnstate (res1, k, m) -> h_Returnstate res1 k m
    11111111| Finalstate r -> h_Finalstate r
     
    11131113(** val state_rect_Type2 :
    11141114    (Csyntax.function0 -> Csyntax.statement -> cont -> env -> GenMem.mem1 ->
    1115     'a1) -> (Values.val0 -> Csyntax.clight_fundef -> Values.val0 List.list ->
     1115    'a1) -> (AST.ident -> Csyntax.clight_fundef -> Values.val0 List.list ->
    11161116    cont -> GenMem.mem1 -> 'a1) -> (Values.val0 -> cont -> GenMem.mem1 ->
    11171117    'a1) -> (Integers.int -> 'a1) -> state0 -> 'a1 **)
    11181118let rec state_rect_Type2 h_State h_Callstate h_Returnstate h_Finalstate = function
    11191119| State (f, s, k, e1, m) -> h_State f s k e1 m
    1120 | Callstate (fb, fd, args, k, m) -> h_Callstate fb fd args k m
     1120| Callstate (id, fd, args, k, m) -> h_Callstate id fd args k m
    11211121| Returnstate (res1, k, m) -> h_Returnstate res1 k m
    11221122| Finalstate r -> h_Finalstate r
     
    11241124(** val state_rect_Type1 :
    11251125    (Csyntax.function0 -> Csyntax.statement -> cont -> env -> GenMem.mem1 ->
    1126     'a1) -> (Values.val0 -> Csyntax.clight_fundef -> Values.val0 List.list ->
     1126    'a1) -> (AST.ident -> Csyntax.clight_fundef -> Values.val0 List.list ->
    11271127    cont -> GenMem.mem1 -> 'a1) -> (Values.val0 -> cont -> GenMem.mem1 ->
    11281128    'a1) -> (Integers.int -> 'a1) -> state0 -> 'a1 **)
    11291129let rec state_rect_Type1 h_State h_Callstate h_Returnstate h_Finalstate = function
    11301130| State (f, s, k, e1, m) -> h_State f s k e1 m
    1131 | Callstate (fb, fd, args, k, m) -> h_Callstate fb fd args k m
     1131| Callstate (id, fd, args, k, m) -> h_Callstate id fd args k m
    11321132| Returnstate (res1, k, m) -> h_Returnstate res1 k m
    11331133| Finalstate r -> h_Finalstate r
     
    11351135(** val state_rect_Type0 :
    11361136    (Csyntax.function0 -> Csyntax.statement -> cont -> env -> GenMem.mem1 ->
    1137     'a1) -> (Values.val0 -> Csyntax.clight_fundef -> Values.val0 List.list ->
     1137    'a1) -> (AST.ident -> Csyntax.clight_fundef -> Values.val0 List.list ->
    11381138    cont -> GenMem.mem1 -> 'a1) -> (Values.val0 -> cont -> GenMem.mem1 ->
    11391139    'a1) -> (Integers.int -> 'a1) -> state0 -> 'a1 **)
    11401140let rec state_rect_Type0 h_State h_Callstate h_Returnstate h_Finalstate = function
    11411141| State (f, s, k, e1, m) -> h_State f s k e1 m
    1142 | Callstate (fb, fd, args, k, m) -> h_Callstate fb fd args k m
     1142| Callstate (id, fd, args, k, m) -> h_Callstate id fd args k m
    11431143| Returnstate (res1, k, m) -> h_Returnstate res1 k m
    11441144| Finalstate r -> h_Finalstate r
     
    11461146(** val state_inv_rect_Type4 :
    11471147    state0 -> (Csyntax.function0 -> Csyntax.statement -> cont -> env ->
    1148     GenMem.mem1 -> __ -> 'a1) -> (Values.val0 -> Csyntax.clight_fundef ->
     1148    GenMem.mem1 -> __ -> 'a1) -> (AST.ident -> Csyntax.clight_fundef ->
    11491149    Values.val0 List.list -> cont -> GenMem.mem1 -> __ -> 'a1) ->
    11501150    (Values.val0 -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Integers.int -> __
     
    11551155(** val state_inv_rect_Type3 :
    11561156    state0 -> (Csyntax.function0 -> Csyntax.statement -> cont -> env ->
    1157     GenMem.mem1 -> __ -> 'a1) -> (Values.val0 -> Csyntax.clight_fundef ->
     1157    GenMem.mem1 -> __ -> 'a1) -> (AST.ident -> Csyntax.clight_fundef ->
    11581158    Values.val0 List.list -> cont -> GenMem.mem1 -> __ -> 'a1) ->
    11591159    (Values.val0 -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Integers.int -> __
     
    11641164(** val state_inv_rect_Type2 :
    11651165    state0 -> (Csyntax.function0 -> Csyntax.statement -> cont -> env ->
    1166     GenMem.mem1 -> __ -> 'a1) -> (Values.val0 -> Csyntax.clight_fundef ->
     1166    GenMem.mem1 -> __ -> 'a1) -> (AST.ident -> Csyntax.clight_fundef ->
    11671167    Values.val0 List.list -> cont -> GenMem.mem1 -> __ -> 'a1) ->
    11681168    (Values.val0 -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Integers.int -> __
     
    11731173(** val state_inv_rect_Type1 :
    11741174    state0 -> (Csyntax.function0 -> Csyntax.statement -> cont -> env ->
    1175     GenMem.mem1 -> __ -> 'a1) -> (Values.val0 -> Csyntax.clight_fundef ->
     1175    GenMem.mem1 -> __ -> 'a1) -> (AST.ident -> Csyntax.clight_fundef ->
    11761176    Values.val0 List.list -> cont -> GenMem.mem1 -> __ -> 'a1) ->
    11771177    (Values.val0 -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Integers.int -> __
     
    11821182(** val state_inv_rect_Type0 :
    11831183    state0 -> (Csyntax.function0 -> Csyntax.statement -> cont -> env ->
    1184     GenMem.mem1 -> __ -> 'a1) -> (Values.val0 -> Csyntax.clight_fundef ->
     1184    GenMem.mem1 -> __ -> 'a1) -> (AST.ident -> Csyntax.clight_fundef ->
    11851185    Values.val0 List.list -> cont -> GenMem.mem1 -> __ -> 'a1) ->
    11861186    (Values.val0 -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Integers.int -> __
  • extracted/csem.mli

    r2717 r2730  
    317317type state0 =
    318318| State of Csyntax.function0 * Csyntax.statement * cont * env * GenMem.mem1
    319 | Callstate of Values.val0 * Csyntax.clight_fundef * Values.val0 List.list
     319| Callstate of AST.ident * Csyntax.clight_fundef * Values.val0 List.list
    320320   * cont * GenMem.mem1
    321321| Returnstate of Values.val0 * cont * GenMem.mem1
     
    324324val state_rect_Type4 :
    325325  (Csyntax.function0 -> Csyntax.statement -> cont -> env -> GenMem.mem1 ->
    326   'a1) -> (Values.val0 -> Csyntax.clight_fundef -> Values.val0 List.list ->
     326  'a1) -> (AST.ident -> Csyntax.clight_fundef -> Values.val0 List.list ->
    327327  cont -> GenMem.mem1 -> 'a1) -> (Values.val0 -> cont -> GenMem.mem1 -> 'a1)
    328328  -> (Integers.int -> 'a1) -> state0 -> 'a1
     
    330330val state_rect_Type5 :
    331331  (Csyntax.function0 -> Csyntax.statement -> cont -> env -> GenMem.mem1 ->
    332   'a1) -> (Values.val0 -> Csyntax.clight_fundef -> Values.val0 List.list ->
     332  'a1) -> (AST.ident -> Csyntax.clight_fundef -> Values.val0 List.list ->
    333333  cont -> GenMem.mem1 -> 'a1) -> (Values.val0 -> cont -> GenMem.mem1 -> 'a1)
    334334  -> (Integers.int -> 'a1) -> state0 -> 'a1
     
    336336val state_rect_Type3 :
    337337  (Csyntax.function0 -> Csyntax.statement -> cont -> env -> GenMem.mem1 ->
    338   'a1) -> (Values.val0 -> Csyntax.clight_fundef -> Values.val0 List.list ->
     338  'a1) -> (AST.ident -> Csyntax.clight_fundef -> Values.val0 List.list ->
    339339  cont -> GenMem.mem1 -> 'a1) -> (Values.val0 -> cont -> GenMem.mem1 -> 'a1)
    340340  -> (Integers.int -> 'a1) -> state0 -> 'a1
     
    342342val state_rect_Type2 :
    343343  (Csyntax.function0 -> Csyntax.statement -> cont -> env -> GenMem.mem1 ->
    344   'a1) -> (Values.val0 -> Csyntax.clight_fundef -> Values.val0 List.list ->
     344  'a1) -> (AST.ident -> Csyntax.clight_fundef -> Values.val0 List.list ->
    345345  cont -> GenMem.mem1 -> 'a1) -> (Values.val0 -> cont -> GenMem.mem1 -> 'a1)
    346346  -> (Integers.int -> 'a1) -> state0 -> 'a1
     
    348348val state_rect_Type1 :
    349349  (Csyntax.function0 -> Csyntax.statement -> cont -> env -> GenMem.mem1 ->
    350   'a1) -> (Values.val0 -> Csyntax.clight_fundef -> Values.val0 List.list ->
     350  'a1) -> (AST.ident -> Csyntax.clight_fundef -> Values.val0 List.list ->
    351351  cont -> GenMem.mem1 -> 'a1) -> (Values.val0 -> cont -> GenMem.mem1 -> 'a1)
    352352  -> (Integers.int -> 'a1) -> state0 -> 'a1
     
    354354val state_rect_Type0 :
    355355  (Csyntax.function0 -> Csyntax.statement -> cont -> env -> GenMem.mem1 ->
    356   'a1) -> (Values.val0 -> Csyntax.clight_fundef -> Values.val0 List.list ->
     356  'a1) -> (AST.ident -> Csyntax.clight_fundef -> Values.val0 List.list ->
    357357  cont -> GenMem.mem1 -> 'a1) -> (Values.val0 -> cont -> GenMem.mem1 -> 'a1)
    358358  -> (Integers.int -> 'a1) -> state0 -> 'a1
     
    360360val state_inv_rect_Type4 :
    361361  state0 -> (Csyntax.function0 -> Csyntax.statement -> cont -> env ->
    362   GenMem.mem1 -> __ -> 'a1) -> (Values.val0 -> Csyntax.clight_fundef ->
     362  GenMem.mem1 -> __ -> 'a1) -> (AST.ident -> Csyntax.clight_fundef ->
    363363  Values.val0 List.list -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Values.val0
    364364  -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Integers.int -> __ -> 'a1) -> 'a1
     
    366366val state_inv_rect_Type3 :
    367367  state0 -> (Csyntax.function0 -> Csyntax.statement -> cont -> env ->
    368   GenMem.mem1 -> __ -> 'a1) -> (Values.val0 -> Csyntax.clight_fundef ->
     368  GenMem.mem1 -> __ -> 'a1) -> (AST.ident -> Csyntax.clight_fundef ->
    369369  Values.val0 List.list -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Values.val0
    370370  -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Integers.int -> __ -> 'a1) -> 'a1
     
    372372val state_inv_rect_Type2 :
    373373  state0 -> (Csyntax.function0 -> Csyntax.statement -> cont -> env ->
    374   GenMem.mem1 -> __ -> 'a1) -> (Values.val0 -> Csyntax.clight_fundef ->
     374  GenMem.mem1 -> __ -> 'a1) -> (AST.ident -> Csyntax.clight_fundef ->
    375375  Values.val0 List.list -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Values.val0
    376376  -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Integers.int -> __ -> 'a1) -> 'a1
     
    378378val state_inv_rect_Type1 :
    379379  state0 -> (Csyntax.function0 -> Csyntax.statement -> cont -> env ->
    380   GenMem.mem1 -> __ -> 'a1) -> (Values.val0 -> Csyntax.clight_fundef ->
     380  GenMem.mem1 -> __ -> 'a1) -> (AST.ident -> Csyntax.clight_fundef ->
    381381  Values.val0 List.list -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Values.val0
    382382  -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Integers.int -> __ -> 'a1) -> 'a1
     
    384384val state_inv_rect_Type0 :
    385385  state0 -> (Csyntax.function0 -> Csyntax.statement -> cont -> env ->
    386   GenMem.mem1 -> __ -> 'a1) -> (Values.val0 -> Csyntax.clight_fundef ->
     386  GenMem.mem1 -> __ -> 'a1) -> (AST.ident -> Csyntax.clight_fundef ->
    387387  Values.val0 List.list -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Values.val0
    388388  -> cont -> GenMem.mem1 -> __ -> 'a1) -> (Integers.int -> __ -> 'a1) -> 'a1
  • extracted/csyntax.ml

    r2717 r2730  
    12051205    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12061206    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1207 let rec function_rect_Type4 h_mk_function x_4417 =
     1207let rec function_rect_Type4 h_mk_function x_3871 =
    12081208  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1209     fn_body = fn_body0 } = x_4417
     1209    fn_body = fn_body0 } = x_3871
    12101210  in
    12111211  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12141214    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12151215    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1216 let rec function_rect_Type5 h_mk_function x_4419 =
     1216let rec function_rect_Type5 h_mk_function x_3873 =
    12171217  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1218     fn_body = fn_body0 } = x_4419
     1218    fn_body = fn_body0 } = x_3873
    12191219  in
    12201220  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12231223    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12241224    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1225 let rec function_rect_Type3 h_mk_function x_4421 =
     1225let rec function_rect_Type3 h_mk_function x_3875 =
    12261226  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1227     fn_body = fn_body0 } = x_4421
     1227    fn_body = fn_body0 } = x_3875
    12281228  in
    12291229  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12321232    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12331233    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1234 let rec function_rect_Type2 h_mk_function x_4423 =
     1234let rec function_rect_Type2 h_mk_function x_3877 =
    12351235  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1236     fn_body = fn_body0 } = x_4423
     1236    fn_body = fn_body0 } = x_3877
    12371237  in
    12381238  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12411241    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12421242    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1243 let rec function_rect_Type1 h_mk_function x_4425 =
     1243let rec function_rect_Type1 h_mk_function x_3879 =
    12441244  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1245     fn_body = fn_body0 } = x_4425
     1245    fn_body = fn_body0 } = x_3879
    12461246  in
    12471247  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12501250    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12511251    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1252 let rec function_rect_Type0 h_mk_function x_4427 =
     1252let rec function_rect_Type0 h_mk_function x_3881 =
    12531253  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1254     fn_body = fn_body0 } = x_4427
     1254    fn_body = fn_body0 } = x_3881
    12551255  in
    12561256  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    13241324    clight_fundef -> 'a1 **)
    13251325let rec clight_fundef_rect_Type4 h_CL_Internal h_CL_External = function
    1326 | CL_Internal x_4449 -> h_CL_Internal x_4449
    1327 | CL_External (x_4452, x_4451, x_4450) -> h_CL_External x_4452 x_4451 x_4450
     1326| CL_Internal x_3903 -> h_CL_Internal x_3903
     1327| CL_External (x_3906, x_3905, x_3904) -> h_CL_External x_3906 x_3905 x_3904
    13281328
    13291329(** val clight_fundef_rect_Type5 :
     
    13311331    clight_fundef -> 'a1 **)
    13321332let rec clight_fundef_rect_Type5 h_CL_Internal h_CL_External = function
    1333 | CL_Internal x_4456 -> h_CL_Internal x_4456
    1334 | CL_External (x_4459, x_4458, x_4457) -> h_CL_External x_4459 x_4458 x_4457
     1333| CL_Internal x_3910 -> h_CL_Internal x_3910
     1334| CL_External (x_3913, x_3912, x_3911) -> h_CL_External x_3913 x_3912 x_3911
    13351335
    13361336(** val clight_fundef_rect_Type3 :
     
    13381338    clight_fundef -> 'a1 **)
    13391339let rec clight_fundef_rect_Type3 h_CL_Internal h_CL_External = function
    1340 | CL_Internal x_4463 -> h_CL_Internal x_4463
    1341 | CL_External (x_4466, x_4465, x_4464) -> h_CL_External x_4466 x_4465 x_4464
     1340| CL_Internal x_3917 -> h_CL_Internal x_3917
     1341| CL_External (x_3920, x_3919, x_3918) -> h_CL_External x_3920 x_3919 x_3918
    13421342
    13431343(** val clight_fundef_rect_Type2 :
     
    13451345    clight_fundef -> 'a1 **)
    13461346let rec clight_fundef_rect_Type2 h_CL_Internal h_CL_External = function
    1347 | CL_Internal x_4470 -> h_CL_Internal x_4470
    1348 | CL_External (x_4473, x_4472, x_4471) -> h_CL_External x_4473 x_4472 x_4471
     1347| CL_Internal x_3924 -> h_CL_Internal x_3924
     1348| CL_External (x_3927, x_3926, x_3925) -> h_CL_External x_3927 x_3926 x_3925
    13491349
    13501350(** val clight_fundef_rect_Type1 :
     
    13521352    clight_fundef -> 'a1 **)
    13531353let rec clight_fundef_rect_Type1 h_CL_Internal h_CL_External = function
    1354 | CL_Internal x_4477 -> h_CL_Internal x_4477
    1355 | CL_External (x_4480, x_4479, x_4478) -> h_CL_External x_4480 x_4479 x_4478
     1354| CL_Internal x_3931 -> h_CL_Internal x_3931
     1355| CL_External (x_3934, x_3933, x_3932) -> h_CL_External x_3934 x_3933 x_3932
    13561356
    13571357(** val clight_fundef_rect_Type0 :
     
    13591359    clight_fundef -> 'a1 **)
    13601360let rec clight_fundef_rect_Type0 h_CL_Internal h_CL_External = function
    1361 | CL_Internal x_4484 -> h_CL_Internal x_4484
    1362 | CL_External (x_4487, x_4486, x_4485) -> h_CL_External x_4487 x_4486 x_4485
     1361| CL_Internal x_3938 -> h_CL_Internal x_3938
     1362| CL_External (x_3941, x_3940, x_3939) -> h_CL_External x_3941 x_3940 x_3939
    13631363
    13641364(** val clight_fundef_inv_rect_Type4 :
     
    15351535(** val mode_rect_Type4 :
    15361536    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1537 let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_4537 = function
     1537let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_3991 = function
    15381538| By_value t -> h_By_value t
    15391539| By_reference -> h_By_reference
     
    15421542(** val mode_rect_Type5 :
    15431543    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1544 let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_4542 = function
     1544let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_3996 = function
    15451545| By_value t -> h_By_value t
    15461546| By_reference -> h_By_reference
     
    15491549(** val mode_rect_Type3 :
    15501550    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1551 let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_4547 = function
     1551let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_4001 = function
    15521552| By_value t -> h_By_value t
    15531553| By_reference -> h_By_reference
     
    15561556(** val mode_rect_Type2 :
    15571557    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1558 let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_4552 = function
     1558let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_4006 = function
    15591559| By_value t -> h_By_value t
    15601560| By_reference -> h_By_reference
     
    15631563(** val mode_rect_Type1 :
    15641564    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1565 let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_4557 = function
     1565let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_4011 = function
    15661566| By_value t -> h_By_value t
    15671567| By_reference -> h_By_reference
     
    15701570(** val mode_rect_Type0 :
    15711571    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1572 let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_4562 = function
     1572let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_4016 = function
    15731573| By_value t -> h_By_value t
    15741574| By_reference -> h_By_reference
  • extracted/eRTL.ml

    r2717 r2730  
    112112    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    113113let rec move_dst_rect_Type4 h_PSD h_HDW = function
    114 | PSD x_17821 -> h_PSD x_17821
    115 | HDW x_17822 -> h_HDW x_17822
     114| PSD x_147 -> h_PSD x_147
     115| HDW x_148 -> h_HDW x_148
    116116
    117117(** val move_dst_rect_Type5 :
    118118    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    119119let rec move_dst_rect_Type5 h_PSD h_HDW = function
    120 | PSD x_17826 -> h_PSD x_17826
    121 | HDW x_17827 -> h_HDW x_17827
     120| PSD x_152 -> h_PSD x_152
     121| HDW x_153 -> h_HDW x_153
    122122
    123123(** val move_dst_rect_Type3 :
    124124    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    125125let rec move_dst_rect_Type3 h_PSD h_HDW = function
    126 | PSD x_17831 -> h_PSD x_17831
    127 | HDW x_17832 -> h_HDW x_17832
     126| PSD x_157 -> h_PSD x_157
     127| HDW x_158 -> h_HDW x_158
    128128
    129129(** val move_dst_rect_Type2 :
    130130    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    131131let rec move_dst_rect_Type2 h_PSD h_HDW = function
    132 | PSD x_17836 -> h_PSD x_17836
    133 | HDW x_17837 -> h_HDW x_17837
     132| PSD x_162 -> h_PSD x_162
     133| HDW x_163 -> h_HDW x_163
    134134
    135135(** val move_dst_rect_Type1 :
    136136    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    137137let rec move_dst_rect_Type1 h_PSD h_HDW = function
    138 | PSD x_17841 -> h_PSD x_17841
    139 | HDW x_17842 -> h_HDW x_17842
     138| PSD x_167 -> h_PSD x_167
     139| HDW x_168 -> h_HDW x_168
    140140
    141141(** val move_dst_rect_Type0 :
    142142    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    143143let rec move_dst_rect_Type0 h_PSD h_HDW = function
    144 | PSD x_17846 -> h_PSD x_17846
    145 | HDW x_17847 -> h_HDW x_17847
     144| PSD x_172 -> h_PSD x_172
     145| HDW x_173 -> h_HDW x_173
    146146
    147147(** val move_dst_inv_rect_Type4 :
     
    210210| Ertl_new_frame -> h_ertl_new_frame
    211211| Ertl_del_frame -> h_ertl_del_frame
    212 | Ertl_frame_size x_17886 -> h_ertl_frame_size x_17886
     212| Ertl_frame_size x_212 -> h_ertl_frame_size x_212
    213213
    214214(** val ertl_seq_rect_Type5 :
     
    217217| Ertl_new_frame -> h_ertl_new_frame
    218218| Ertl_del_frame -> h_ertl_del_frame
    219 | Ertl_frame_size x_17891 -> h_ertl_frame_size x_17891
     219| Ertl_frame_size x_217 -> h_ertl_frame_size x_217
    220220
    221221(** val ertl_seq_rect_Type3 :
     
    224224| Ertl_new_frame -> h_ertl_new_frame
    225225| Ertl_del_frame -> h_ertl_del_frame
    226 | Ertl_frame_size x_17896 -> h_ertl_frame_size x_17896
     226| Ertl_frame_size x_222 -> h_ertl_frame_size x_222
    227227
    228228(** val ertl_seq_rect_Type2 :
     
    231231| Ertl_new_frame -> h_ertl_new_frame
    232232| Ertl_del_frame -> h_ertl_del_frame
    233 | Ertl_frame_size x_17901 -> h_ertl_frame_size x_17901
     233| Ertl_frame_size x_227 -> h_ertl_frame_size x_227
    234234
    235235(** val ertl_seq_rect_Type1 :
     
    238238| Ertl_new_frame -> h_ertl_new_frame
    239239| Ertl_del_frame -> h_ertl_del_frame
    240 | Ertl_frame_size x_17906 -> h_ertl_frame_size x_17906
     240| Ertl_frame_size x_232 -> h_ertl_frame_size x_232
    241241
    242242(** val ertl_seq_rect_Type0 :
     
    245245| Ertl_new_frame -> h_ertl_new_frame
    246246| Ertl_del_frame -> h_ertl_del_frame
    247 | Ertl_frame_size x_17911 -> h_ertl_frame_size x_17911
     247| Ertl_frame_size x_237 -> h_ertl_frame_size x_237
    248248
    249249(** val ertl_seq_inv_rect_Type4 :
  • extracted/eRTLToERTLptr.ml

    r2717 r2730  
    109109open ERTLptr
    110110
    111 open Deqsets
     111open Deqsets_extra
    112112
    113113open State
  • extracted/eRTLToERTLptr.mli

    r2717 r2730  
    109109open ERTLptr
    110110
    111 open Deqsets
     111open Deqsets_extra
    112112
    113113open State
  • extracted/eRTLptr.ml

    r2717 r2730  
    116116    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    117117let rec ertlptr_seq_rect_Type4 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    118 | Ertlptr_ertl x_17955 -> h_ertlptr_ertl x_17955
    119 | LOW_ADDRESS (x_17957, x_17956) -> h_LOW_ADDRESS x_17957 x_17956
    120 | HIGH_ADDRESS (x_17959, x_17958) -> h_HIGH_ADDRESS x_17959 x_17958
     118| Ertlptr_ertl x_281 -> h_ertlptr_ertl x_281
     119| LOW_ADDRESS (x_283, x_282) -> h_LOW_ADDRESS x_283 x_282
     120| HIGH_ADDRESS (x_285, x_284) -> h_HIGH_ADDRESS x_285 x_284
    121121
    122122(** val ertlptr_seq_rect_Type5 :
     
    124124    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    125125let rec ertlptr_seq_rect_Type5 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    126 | Ertlptr_ertl x_17964 -> h_ertlptr_ertl x_17964
    127 | LOW_ADDRESS (x_17966, x_17965) -> h_LOW_ADDRESS x_17966 x_17965
    128 | HIGH_ADDRESS (x_17968, x_17967) -> h_HIGH_ADDRESS x_17968 x_17967
     126| Ertlptr_ertl x_290 -> h_ertlptr_ertl x_290
     127| LOW_ADDRESS (x_292, x_291) -> h_LOW_ADDRESS x_292 x_291
     128| HIGH_ADDRESS (x_294, x_293) -> h_HIGH_ADDRESS x_294 x_293
    129129
    130130(** val ertlptr_seq_rect_Type3 :
     
    132132    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    133133let rec ertlptr_seq_rect_Type3 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    134 | Ertlptr_ertl x_17973 -> h_ertlptr_ertl x_17973
    135 | LOW_ADDRESS (x_17975, x_17974) -> h_LOW_ADDRESS x_17975 x_17974
    136 | HIGH_ADDRESS (x_17977, x_17976) -> h_HIGH_ADDRESS x_17977 x_17976
     134| Ertlptr_ertl x_299 -> h_ertlptr_ertl x_299
     135| LOW_ADDRESS (x_301, x_300) -> h_LOW_ADDRESS x_301 x_300
     136| HIGH_ADDRESS (x_303, x_302) -> h_HIGH_ADDRESS x_303 x_302
    137137
    138138(** val ertlptr_seq_rect_Type2 :
     
    140140    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    141141let rec ertlptr_seq_rect_Type2 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    142 | Ertlptr_ertl x_17982 -> h_ertlptr_ertl x_17982
    143 | LOW_ADDRESS (x_17984, x_17983) -> h_LOW_ADDRESS x_17984 x_17983
    144 | HIGH_ADDRESS (x_17986, x_17985) -> h_HIGH_ADDRESS x_17986 x_17985
     142| Ertlptr_ertl x_308 -> h_ertlptr_ertl x_308
     143| LOW_ADDRESS (x_310, x_309) -> h_LOW_ADDRESS x_310 x_309
     144| HIGH_ADDRESS (x_312, x_311) -> h_HIGH_ADDRESS x_312 x_311
    145145
    146146(** val ertlptr_seq_rect_Type1 :
     
    148148    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    149149let rec ertlptr_seq_rect_Type1 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    150 | Ertlptr_ertl x_17991 -> h_ertlptr_ertl x_17991
    151 | LOW_ADDRESS (x_17993, x_17992) -> h_LOW_ADDRESS x_17993 x_17992
    152 | HIGH_ADDRESS (x_17995, x_17994) -> h_HIGH_ADDRESS x_17995 x_17994
     150| Ertlptr_ertl x_317 -> h_ertlptr_ertl x_317
     151| LOW_ADDRESS (x_319, x_318) -> h_LOW_ADDRESS x_319 x_318
     152| HIGH_ADDRESS (x_321, x_320) -> h_HIGH_ADDRESS x_321 x_320
    153153
    154154(** val ertlptr_seq_rect_Type0 :
     
    156156    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    157157let rec ertlptr_seq_rect_Type0 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    158 | Ertlptr_ertl x_18000 -> h_ertlptr_ertl x_18000
    159 | LOW_ADDRESS (x_18002, x_18001) -> h_LOW_ADDRESS x_18002 x_18001
    160 | HIGH_ADDRESS (x_18004, x_18003) -> h_HIGH_ADDRESS x_18004 x_18003
     158| Ertlptr_ertl x_326 -> h_ertlptr_ertl x_326
     159| LOW_ADDRESS (x_328, x_327) -> h_LOW_ADDRESS x_328 x_327
     160| HIGH_ADDRESS (x_330, x_329) -> h_HIGH_ADDRESS x_330 x_329
    161161
    162162(** val ertlptr_seq_inv_rect_Type4 :
  • extracted/eRTLptrToLTL.ml

    r2717 r2730  
    121121open Interference
    122122
    123 open Deqsets
     123open Deqsets_extra
    124124
    125125open State
     
    142142    arg_decision -> 'a1 **)
    143143let rec arg_decision_rect_Type4 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    144 | Arg_decision_colour x_18601 -> h_arg_decision_colour x_18601
    145 | Arg_decision_spill x_18602 -> h_arg_decision_spill x_18602
    146 | Arg_decision_imm x_18603 -> h_arg_decision_imm x_18603
     144| Arg_decision_colour x_492 -> h_arg_decision_colour x_492
     145| Arg_decision_spill x_493 -> h_arg_decision_spill x_493
     146| Arg_decision_imm x_494 -> h_arg_decision_imm x_494
    147147
    148148(** val arg_decision_rect_Type5 :
     
    150150    arg_decision -> 'a1 **)
    151151let rec arg_decision_rect_Type5 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    152 | Arg_decision_colour x_18608 -> h_arg_decision_colour x_18608
    153 | Arg_decision_spill x_18609 -> h_arg_decision_spill x_18609
    154 | Arg_decision_imm x_18610 -> h_arg_decision_imm x_18610
     152| Arg_decision_colour x_499 -> h_arg_decision_colour x_499
     153| Arg_decision_spill x_500 -> h_arg_decision_spill x_500
     154| Arg_decision_imm x_501 -> h_arg_decision_imm x_501
    155155
    156156(** val arg_decision_rect_Type3 :
     
    158158    arg_decision -> 'a1 **)
    159159let rec arg_decision_rect_Type3 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    160 | Arg_decision_colour x_18615 -> h_arg_decision_colour x_18615
    161 | Arg_decision_spill x_18616 -> h_arg_decision_spill x_18616
    162 | Arg_decision_imm x_18617 -> h_arg_decision_imm x_18617
     160| Arg_decision_colour x_506 -> h_arg_decision_colour x_506
     161| Arg_decision_spill x_507 -> h_arg_decision_spill x_507
     162| Arg_decision_imm x_508 -> h_arg_decision_imm x_508
    163163
    164164(** val arg_decision_rect_Type2 :
     
    166166    arg_decision -> 'a1 **)
    167167let rec arg_decision_rect_Type2 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    168 | Arg_decision_colour x_18622 -> h_arg_decision_colour x_18622
    169 | Arg_decision_spill x_18623 -> h_arg_decision_spill x_18623
    170 | Arg_decision_imm x_18624 -> h_arg_decision_imm x_18624
     168| Arg_decision_colour x_513 -> h_arg_decision_colour x_513
     169| Arg_decision_spill x_514 -> h_arg_decision_spill x_514
     170| Arg_decision_imm x_515 -> h_arg_decision_imm x_515
    171171
    172172(** val arg_decision_rect_Type1 :
     
    174174    arg_decision -> 'a1 **)
    175175let rec arg_decision_rect_Type1 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    176 | Arg_decision_colour x_18629 -> h_arg_decision_colour x_18629
    177 | Arg_decision_spill x_18630 -> h_arg_decision_spill x_18630
    178 | Arg_decision_imm x_18631 -> h_arg_decision_imm x_18631
     176| Arg_decision_colour x_520 -> h_arg_decision_colour x_520
     177| Arg_decision_spill x_521 -> h_arg_decision_spill x_521
     178| Arg_decision_imm x_522 -> h_arg_decision_imm x_522
    179179
    180180(** val arg_decision_rect_Type0 :
     
    182182    arg_decision -> 'a1 **)
    183183let rec arg_decision_rect_Type0 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    184 | Arg_decision_colour x_18636 -> h_arg_decision_colour x_18636
    185 | Arg_decision_spill x_18637 -> h_arg_decision_spill x_18637
    186 | Arg_decision_imm x_18638 -> h_arg_decision_imm x_18638
     184| Arg_decision_colour x_527 -> h_arg_decision_colour x_527
     185| Arg_decision_spill x_528 -> h_arg_decision_spill x_528
     186| Arg_decision_imm x_529 -> h_arg_decision_imm x_529
    187187
    188188(** val arg_decision_inv_rect_Type4 :
  • extracted/eRTLptrToLTL.mli

    r2717 r2730  
    121121open Interference
    122122
    123 open Deqsets
     123open Deqsets_extra
    124124
    125125open State
  • extracted/errorMessages.ml

    r2717 r2730  
    7171| UnexpectedIO
    7272| TerminatedEarly
     73| BadCostLabelling
     74| RepeatedCostLabel
    7375
    7476(** val errorMessage_rect_Type4 :
     
    7981    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    8082    -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    81     'a1 -> 'a1 -> errorMessage -> 'a1 **)
    82 let rec errorMessage_rect_Type4 h_MISSING h_EXTERNAL h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly = function
     83    'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
     84let rec errorMessage_rect_Type4 h_MISSING h_EXTERNAL h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function
    8385| MISSING -> h_MISSING
    8486| EXTERNAL -> h_EXTERNAL
     
    146148| UnexpectedIO -> h_UnexpectedIO
    147149| TerminatedEarly -> h_TerminatedEarly
     150| BadCostLabelling -> h_BadCostLabelling
     151| RepeatedCostLabel -> h_RepeatedCostLabel
    148152
    149153(** val errorMessage_rect_Type5 :
     
    154158    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    155159    -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    156     'a1 -> 'a1 -> errorMessage -> 'a1 **)
    157 let rec errorMessage_rect_Type5 h_MISSING h_EXTERNAL h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly = function
     160    'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
     161let rec errorMessage_rect_Type5 h_MISSING h_EXTERNAL h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function
    158162| MISSING -> h_MISSING
    159163| EXTERNAL -> h_EXTERNAL
     
    221225| UnexpectedIO -> h_UnexpectedIO
    222226| TerminatedEarly -> h_TerminatedEarly
     227| BadCostLabelling -> h_BadCostLabelling
     228| RepeatedCostLabel -> h_RepeatedCostLabel
    223229
    224230(** val errorMessage_rect_Type3 :
     
    229235    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    230236    -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    231     'a1 -> 'a1 -> errorMessage -> 'a1 **)
    232 let rec errorMessage_rect_Type3 h_MISSING h_EXTERNAL h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly = function
     237    'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
     238let rec errorMessage_rect_Type3 h_MISSING h_EXTERNAL h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function
    233239| MISSING -> h_MISSING
    234240| EXTERNAL -> h_EXTERNAL
     
    296302| UnexpectedIO -> h_UnexpectedIO
    297303| TerminatedEarly -> h_TerminatedEarly
     304| BadCostLabelling -> h_BadCostLabelling
     305| RepeatedCostLabel -> h_RepeatedCostLabel
    298306
    299307(** val errorMessage_rect_Type2 :
     
    304312    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    305313    -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    306     'a1 -> 'a1 -> errorMessage -> 'a1 **)
    307 let rec errorMessage_rect_Type2 h_MISSING h_EXTERNAL h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly = function
     314    'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
     315let rec errorMessage_rect_Type2 h_MISSING h_EXTERNAL h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function
    308316| MISSING -> h_MISSING
    309317| EXTERNAL -> h_EXTERNAL
     
    371379| UnexpectedIO -> h_UnexpectedIO
    372380| TerminatedEarly -> h_TerminatedEarly
     381| BadCostLabelling -> h_BadCostLabelling
     382| RepeatedCostLabel -> h_RepeatedCostLabel
    373383
    374384(** val errorMessage_rect_Type1 :
     
    379389    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    380390    -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    381     'a1 -> 'a1 -> errorMessage -> 'a1 **)
    382 let rec errorMessage_rect_Type1 h_MISSING h_EXTERNAL h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly = function
     391    'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
     392let rec errorMessage_rect_Type1 h_MISSING h_EXTERNAL h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function
    383393| MISSING -> h_MISSING
    384394| EXTERNAL -> h_EXTERNAL
     
    446456| UnexpectedIO -> h_UnexpectedIO
    447457| TerminatedEarly -> h_TerminatedEarly
     458| BadCostLabelling -> h_BadCostLabelling
     459| RepeatedCostLabel -> h_RepeatedCostLabel
    448460
    449461(** val errorMessage_rect_Type0 :
     
    454466    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    455467    -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    456     'a1 -> 'a1 -> errorMessage -> 'a1 **)
    457 let rec errorMessage_rect_Type0 h_MISSING h_EXTERNAL h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly = function
     468    'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
     469let rec errorMessage_rect_Type0 h_MISSING h_EXTERNAL h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function
    458470| MISSING -> h_MISSING
    459471| EXTERNAL -> h_EXTERNAL
     
    521533| UnexpectedIO -> h_UnexpectedIO
    522534| TerminatedEarly -> h_TerminatedEarly
    523 
     535| BadCostLabelling -> h_BadCostLabelling
     536| RepeatedCostLabel -> h_RepeatedCostLabel
     537
  • extracted/errorMessages.mli

    r2717 r2730  
    7171| UnexpectedIO
    7272| TerminatedEarly
     73| BadCostLabelling
     74| RepeatedCostLabel
    7375
    7476val errorMessage_rect_Type4 :
     
    7981  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    8082  -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    81   'a1 -> 'a1 -> errorMessage -> 'a1
     83  'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    8284
    8385val errorMessage_rect_Type5 :
     
    8890  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    8991  -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    90   'a1 -> 'a1 -> errorMessage -> 'a1
     92  'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    9193
    9294val errorMessage_rect_Type3 :
     
    9799  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    98100  -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    99   'a1 -> 'a1 -> errorMessage -> 'a1
     101  'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    100102
    101103val errorMessage_rect_Type2 :
     
    106108  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    107109  -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    108   'a1 -> 'a1 -> errorMessage -> 'a1
     110  'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    109111
    110112val errorMessage_rect_Type1 :
     
    115117  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    116118  -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    117   'a1 -> 'a1 -> errorMessage -> 'a1
     119  'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    118120
    119121val errorMessage_rect_Type0 :
     
    124126  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    125127  -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    126   'a1 -> 'a1 -> errorMessage -> 'a1
     128  'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    127129
  • extracted/errors.ml

    r2717 r2730  
    4343    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    4444let rec errcode_rect_Type4 h_MSG h_CTX = function
    45 | MSG x_2931 -> h_MSG x_2931
    46 | CTX (tag, x_2932) -> h_CTX tag x_2932
     45| MSG x_891 -> h_MSG x_891
     46| CTX (tag, x_892) -> h_CTX tag x_892
    4747
    4848(** val errcode_rect_Type5 :
     
    5050    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    5151let rec errcode_rect_Type5 h_MSG h_CTX = function
    52 | MSG x_2936 -> h_MSG x_2936
    53 | CTX (tag, x_2937) -> h_CTX tag x_2937
     52| MSG x_896 -> h_MSG x_896
     53| CTX (tag, x_897) -> h_CTX tag x_897
    5454
    5555(** val errcode_rect_Type3 :
     
    5757    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    5858let rec errcode_rect_Type3 h_MSG h_CTX = function
    59 | MSG x_2941 -> h_MSG x_2941
    60 | CTX (tag, x_2942) -> h_CTX tag x_2942
     59| MSG x_901 -> h_MSG x_901
     60| CTX (tag, x_902) -> h_CTX tag x_902
    6161
    6262(** val errcode_rect_Type2 :
     
    6464    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    6565let rec errcode_rect_Type2 h_MSG h_CTX = function
    66 | MSG x_2946 -> h_MSG x_2946
    67 | CTX (tag, x_2947) -> h_CTX tag x_2947
     66| MSG x_906 -> h_MSG x_906
     67| CTX (tag, x_907) -> h_CTX tag x_907
    6868
    6969(** val errcode_rect_Type1 :
     
    7171    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    7272let rec errcode_rect_Type1 h_MSG h_CTX = function
    73 | MSG x_2951 -> h_MSG x_2951
    74 | CTX (tag, x_2952) -> h_CTX tag x_2952
     73| MSG x_911 -> h_MSG x_911
     74| CTX (tag, x_912) -> h_CTX tag x_912
    7575
    7676(** val errcode_rect_Type0 :
     
    7878    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    7979let rec errcode_rect_Type0 h_MSG h_CTX = function
    80 | MSG x_2956 -> h_MSG x_2956
    81 | CTX (tag, x_2957) -> h_CTX tag x_2957
     80| MSG x_916 -> h_MSG x_916
     81| CTX (tag, x_917) -> h_CTX tag x_917
    8282
    8383(** val errcode_inv_rect_Type4 :
     
    143143    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    144144let rec res_rect_Type4 h_OK h_Error = function
    145 | OK x_2996 -> h_OK x_2996
    146 | Error x_2997 -> h_Error x_2997
     145| OK x_956 -> h_OK x_956
     146| Error x_957 -> h_Error x_957
    147147
    148148(** val res_rect_Type5 :
    149149    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    150150let rec res_rect_Type5 h_OK h_Error = function
    151 | OK x_3001 -> h_OK x_3001
    152 | Error x_3002 -> h_Error x_3002
     151| OK x_961 -> h_OK x_961
     152| Error x_962 -> h_Error x_962
    153153
    154154(** val res_rect_Type3 :
    155155    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    156156let rec res_rect_Type3 h_OK h_Error = function
    157 | OK x_3006 -> h_OK x_3006
    158 | Error x_3007 -> h_Error x_3007
     157| OK x_966 -> h_OK x_966
     158| Error x_967 -> h_Error x_967
    159159
    160160(** val res_rect_Type2 :
    161161    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    162162let rec res_rect_Type2 h_OK h_Error = function
    163 | OK x_3011 -> h_OK x_3011
    164 | Error x_3012 -> h_Error x_3012
     163| OK x_971 -> h_OK x_971
     164| Error x_972 -> h_Error x_972
    165165
    166166(** val res_rect_Type1 :
    167167    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    168168let rec res_rect_Type1 h_OK h_Error = function
    169 | OK x_3016 -> h_OK x_3016
    170 | Error x_3017 -> h_Error x_3017
     169| OK x_976 -> h_OK x_976
     170| Error x_977 -> h_Error x_977
    171171
    172172(** val res_rect_Type0 :
    173173    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    174174let rec res_rect_Type0 h_OK h_Error = function
    175 | OK x_3021 -> h_OK x_3021
    176 | Error x_3022 -> h_Error x_3022
     175| OK x_981 -> h_OK x_981
     176| Error x_982 -> h_Error x_982
    177177
    178178(** val res_inv_rect_Type4 :
  • extracted/events.ml

    r2717 r2730  
    9191    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    9292let rec eventval_rect_Type4 h_EVint = function
    93 | EVint (sz, x_5459) -> h_EVint sz x_5459
     93| EVint (sz, x_4706) -> h_EVint sz x_4706
    9494
    9595(** val eventval_rect_Type5 :
    9696    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    9797let rec eventval_rect_Type5 h_EVint = function
    98 | EVint (sz, x_5462) -> h_EVint sz x_5462
     98| EVint (sz, x_4709) -> h_EVint sz x_4709
    9999
    100100(** val eventval_rect_Type3 :
    101101    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    102102let rec eventval_rect_Type3 h_EVint = function
    103 | EVint (sz, x_5465) -> h_EVint sz x_5465
     103| EVint (sz, x_4712) -> h_EVint sz x_4712
    104104
    105105(** val eventval_rect_Type2 :
    106106    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    107107let rec eventval_rect_Type2 h_EVint = function
    108 | EVint (sz, x_5468) -> h_EVint sz x_5468
     108| EVint (sz, x_4715) -> h_EVint sz x_4715
    109109
    110110(** val eventval_rect_Type1 :
    111111    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    112112let rec eventval_rect_Type1 h_EVint = function
    113 | EVint (sz, x_5471) -> h_EVint sz x_5471
     113| EVint (sz, x_4718) -> h_EVint sz x_4718
    114114
    115115(** val eventval_rect_Type0 :
    116116    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    117117let rec eventval_rect_Type0 h_EVint = function
    118 | EVint (sz, x_5474) -> h_EVint sz x_5474
     118| EVint (sz, x_4721) -> h_EVint sz x_4721
    119119
    120120(** val eventval_inv_rect_Type4 :
     
    161161    eventval -> 'a1) -> event -> 'a1 **)
    162162let rec event_rect_Type4 h_EVcost h_EVextcall = function
    163 | EVcost x_5499 -> h_EVcost x_5499
     163| EVcost x_4746 -> h_EVcost x_4746
    164164| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    165165
     
    168168    eventval -> 'a1) -> event -> 'a1 **)
    169169let rec event_rect_Type5 h_EVcost h_EVextcall = function
    170 | EVcost x_5503 -> h_EVcost x_5503
     170| EVcost x_4750 -> h_EVcost x_4750
    171171| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    172172
     
    175175    eventval -> 'a1) -> event -> 'a1 **)
    176176let rec event_rect_Type3 h_EVcost h_EVextcall = function
    177 | EVcost x_5507 -> h_EVcost x_5507
     177| EVcost x_4754 -> h_EVcost x_4754
    178178| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    179179
     
    182182    eventval -> 'a1) -> event -> 'a1 **)
    183183let rec event_rect_Type2 h_EVcost h_EVextcall = function
    184 | EVcost x_5511 -> h_EVcost x_5511
     184| EVcost x_4758 -> h_EVcost x_4758
    185185| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    186186
     
    189189    eventval -> 'a1) -> event -> 'a1 **)
    190190let rec event_rect_Type1 h_EVcost h_EVextcall = function
    191 | EVcost x_5515 -> h_EVcost x_5515
     191| EVcost x_4762 -> h_EVcost x_4762
    192192| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    193193
     
    196196    eventval -> 'a1) -> event -> 'a1 **)
    197197let rec event_rect_Type0 h_EVcost h_EVextcall = function
    198 | EVcost x_5519 -> h_EVcost x_5519
     198| EVcost x_4766 -> h_EVcost x_4766
    199199| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    200200
  • extracted/fetch.ml

    r2717 r2730  
    9898  (Types.pi1
    9999    (FoldStuff.foldl_strong program0 (fun prefix0 x tl _ labels_costs_ppc ->
    100       (let { Types.fst = eta28757; Types.snd = ppc } =
     100      (let { Types.fst = eta24890; Types.snd = ppc } =
    101101         Types.pi1 labels_costs_ppc
    102102       in
    103103      (fun _ ->
    104       (let { Types.fst = labels; Types.snd = costs } = eta28757 in
     104      (let { Types.fst = labels; Types.snd = costs } = eta24890 in
    105105      (fun _ ->
    106106      (let { Types.fst = label; Types.snd = instr } = x in
  • extracted/fixpoints.ml

    r2717 r2730  
    8080    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    8181    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    82 let rec property_lattice_rect_Type4 h_mk_property_lattice x_18441 =
    83   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    84     l_is_maximal = l_is_maximal0 } = x_18441
     82let rec property_lattice_rect_Type4 h_mk_property_lattice x_85 =
     83  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     84    l_is_maximal = l_is_maximal0 } = x_85
    8585  in
    8686  h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0
     
    8989    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    9090    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    91 let rec property_lattice_rect_Type5 h_mk_property_lattice x_18443 =
    92   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    93     l_is_maximal = l_is_maximal0 } = x_18443
     91let rec property_lattice_rect_Type5 h_mk_property_lattice x_87 =
     92  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     93    l_is_maximal = l_is_maximal0 } = x_87
    9494  in
    9595  h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0
     
    9898    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    9999    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    100 let rec property_lattice_rect_Type3 h_mk_property_lattice x_18445 =
    101   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    102     l_is_maximal = l_is_maximal0 } = x_18445
     100let rec property_lattice_rect_Type3 h_mk_property_lattice x_89 =
     101  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     102    l_is_maximal = l_is_maximal0 } = x_89
    103103  in
    104104  h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0
     
    107107    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    108108    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    109 let rec property_lattice_rect_Type2 h_mk_property_lattice x_18447 =
    110   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    111     l_is_maximal = l_is_maximal0 } = x_18447
     109let rec property_lattice_rect_Type2 h_mk_property_lattice x_91 =
     110  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     111    l_is_maximal = l_is_maximal0 } = x_91
    112112  in
    113113  h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0
     
    116116    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    117117    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    118 let rec property_lattice_rect_Type1 h_mk_property_lattice x_18449 =
    119   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    120     l_is_maximal = l_is_maximal0 } = x_18449
     118let rec property_lattice_rect_Type1 h_mk_property_lattice x_93 =
     119  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     120    l_is_maximal = l_is_maximal0 } = x_93
    121121  in
    122122  h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0
     
    125125    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    126126    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    127 let rec property_lattice_rect_Type0 h_mk_property_lattice x_18451 =
    128   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    129     l_is_maximal = l_is_maximal0 } = x_18451
     127let rec property_lattice_rect_Type0 h_mk_property_lattice x_95 =
     128  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     129    l_is_maximal = l_is_maximal0 } = x_95
    130130  in
    131131  h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0
     
    201201    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    202202    -> 'a1 **)
    203 let rec fixpoint_rect_Type4 latt h_mk_fixpoint x_18472 =
    204   let fix_lfp = x_18472 in h_mk_fixpoint fix_lfp __
     203let rec fixpoint_rect_Type4 latt h_mk_fixpoint x_116 =
     204  let fix_lfp = x_116 in h_mk_fixpoint fix_lfp __
    205205
    206206(** val fixpoint_rect_Type5 :
    207207    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    208208    -> 'a1 **)
    209 let rec fixpoint_rect_Type5 latt h_mk_fixpoint x_18474 =
    210   let fix_lfp = x_18474 in h_mk_fixpoint fix_lfp __
     209let rec fixpoint_rect_Type5 latt h_mk_fixpoint x_118 =
     210  let fix_lfp = x_118 in h_mk_fixpoint fix_lfp __
    211211
    212212(** val fixpoint_rect_Type3 :
    213213    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    214214    -> 'a1 **)
    215 let rec fixpoint_rect_Type3 latt h_mk_fixpoint x_18476 =
    216   let fix_lfp = x_18476 in h_mk_fixpoint fix_lfp __
     215let rec fixpoint_rect_Type3 latt h_mk_fixpoint x_120 =
     216  let fix_lfp = x_120 in h_mk_fixpoint fix_lfp __
    217217
    218218(** val fixpoint_rect_Type2 :
    219219    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    220220    -> 'a1 **)
    221 let rec fixpoint_rect_Type2 latt h_mk_fixpoint x_18478 =
    222   let fix_lfp = x_18478 in h_mk_fixpoint fix_lfp __
     221let rec fixpoint_rect_Type2 latt h_mk_fixpoint x_122 =
     222  let fix_lfp = x_122 in h_mk_fixpoint fix_lfp __
    223223
    224224(** val fixpoint_rect_Type1 :
    225225    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    226226    -> 'a1 **)
    227 let rec fixpoint_rect_Type1 latt h_mk_fixpoint x_18480 =
    228   let fix_lfp = x_18480 in h_mk_fixpoint fix_lfp __
     227let rec fixpoint_rect_Type1 latt h_mk_fixpoint x_124 =
     228  let fix_lfp = x_124 in h_mk_fixpoint fix_lfp __
    229229
    230230(** val fixpoint_rect_Type0 :
    231231    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    232232    -> 'a1 **)
    233 let rec fixpoint_rect_Type0 latt h_mk_fixpoint x_18482 =
    234   let fix_lfp = x_18482 in h_mk_fixpoint fix_lfp __
     233let rec fixpoint_rect_Type0 latt h_mk_fixpoint x_126 =
     234  let fix_lfp = x_126 in h_mk_fixpoint fix_lfp __
    235235
    236236(** val fix_lfp : property_lattice -> fixpoint -> equations -> valuation **)
  • extracted/frontEndOps.ml

    r2717 r2730  
    9999    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    100100    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    101 let rec constant_rect_Type4 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13057 = function
    102 | Ointconst (sz, sg, x_13059) -> h_Ointconst sz sg x_13059
    103 | Oaddrsymbol (x_13061, x_13060) -> h_Oaddrsymbol x_13061 x_13060
    104 | Oaddrstack x_13062 -> h_Oaddrstack x_13062
     101let rec constant_rect_Type4 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_1160 = function
     102| Ointconst (sz, sg, x_1162) -> h_Ointconst sz sg x_1162
     103| Oaddrsymbol (x_1164, x_1163) -> h_Oaddrsymbol x_1164 x_1163
     104| Oaddrstack x_1165 -> h_Oaddrstack x_1165
    105105
    106106(** val constant_rect_Type5 :
    107107    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    108108    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    109 let rec constant_rect_Type5 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13066 = function
    110 | Ointconst (sz, sg, x_13068) -> h_Ointconst sz sg x_13068
    111 | Oaddrsymbol (x_13070, x_13069) -> h_Oaddrsymbol x_13070 x_13069
    112 | Oaddrstack x_13071 -> h_Oaddrstack x_13071
     109let rec constant_rect_Type5 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_1169 = function
     110| Ointconst (sz, sg, x_1171) -> h_Ointconst sz sg x_1171
     111| Oaddrsymbol (x_1173, x_1172) -> h_Oaddrsymbol x_1173 x_1172
     112| Oaddrstack x_1174 -> h_Oaddrstack x_1174
    113113
    114114(** val constant_rect_Type3 :
    115115    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    116116    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    117 let rec constant_rect_Type3 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13075 = function
    118 | Ointconst (sz, sg, x_13077) -> h_Ointconst sz sg x_13077
    119 | Oaddrsymbol (x_13079, x_13078) -> h_Oaddrsymbol x_13079 x_13078
    120 | Oaddrstack x_13080 -> h_Oaddrstack x_13080
     117let rec constant_rect_Type3 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_1178 = function
     118| Ointconst (sz, sg, x_1180) -> h_Ointconst sz sg x_1180
     119| Oaddrsymbol (x_1182, x_1181) -> h_Oaddrsymbol x_1182 x_1181
     120| Oaddrstack x_1183 -> h_Oaddrstack x_1183
    121121
    122122(** val constant_rect_Type2 :
    123123    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    124124    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    125 let rec constant_rect_Type2 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13084 = function
    126 | Ointconst (sz, sg, x_13086) -> h_Ointconst sz sg x_13086
    127 | Oaddrsymbol (x_13088, x_13087) -> h_Oaddrsymbol x_13088 x_13087
    128 | Oaddrstack x_13089 -> h_Oaddrstack x_13089
     125let rec constant_rect_Type2 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_1187 = function
     126| Ointconst (sz, sg, x_1189) -> h_Ointconst sz sg x_1189
     127| Oaddrsymbol (x_1191, x_1190) -> h_Oaddrsymbol x_1191 x_1190
     128| Oaddrstack x_1192 -> h_Oaddrstack x_1192
    129129
    130130(** val constant_rect_Type1 :
    131131    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    132132    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    133 let rec constant_rect_Type1 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13093 = function
    134 | Ointconst (sz, sg, x_13095) -> h_Ointconst sz sg x_13095
    135 | Oaddrsymbol (x_13097, x_13096) -> h_Oaddrsymbol x_13097 x_13096
    136 | Oaddrstack x_13098 -> h_Oaddrstack x_13098
     133let rec constant_rect_Type1 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_1196 = function
     134| Ointconst (sz, sg, x_1198) -> h_Ointconst sz sg x_1198
     135| Oaddrsymbol (x_1200, x_1199) -> h_Oaddrsymbol x_1200 x_1199
     136| Oaddrstack x_1201 -> h_Oaddrstack x_1201
    137137
    138138(** val constant_rect_Type0 :
    139139    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    140140    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    141 let rec constant_rect_Type0 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13102 = function
    142 | Ointconst (sz, sg, x_13104) -> h_Ointconst sz sg x_13104
    143 | Oaddrsymbol (x_13106, x_13105) -> h_Oaddrsymbol x_13106 x_13105
    144 | Oaddrstack x_13107 -> h_Oaddrstack x_13107
     141let rec constant_rect_Type0 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_1205 = function
     142| Ointconst (sz, sg, x_1207) -> h_Ointconst sz sg x_1207
     143| Oaddrsymbol (x_1209, x_1208) -> h_Oaddrsymbol x_1209 x_1208
     144| Oaddrstack x_1210 -> h_Oaddrstack x_1210
    145145
    146146(** val constant_inv_rect_Type4 :
     
    211211    (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ ->
    212212    unary_operation -> 'a1 **)
    213 let rec unary_operation_rect_Type4 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13177 x_13176 = function
     213let rec unary_operation_rect_Type4 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_1280 x_1279 = function
    214214| Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg'
    215215| Onegint (sz, sg) -> h_Onegint sz sg
     
    227227    (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ ->
    228228    unary_operation -> 'a1 **)
    229 let rec unary_operation_rect_Type5 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13188 x_13187 = function
     229let rec unary_operation_rect_Type5 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_1291 x_1290 = function
    230230| Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg'
    231231| Onegint (sz, sg) -> h_Onegint sz sg
     
    243243    (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ ->
    244244    unary_operation -> 'a1 **)
    245 let rec unary_operation_rect_Type3 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13199 x_13198 = function
     245let rec unary_operation_rect_Type3 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_1302 x_1301 = function
    246246| Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg'
    247247| Onegint (sz, sg) -> h_Onegint sz sg
     
    259259    (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ ->
    260260    unary_operation -> 'a1 **)
    261 let rec unary_operation_rect_Type2 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13210 x_13209 = function
     261let rec unary_operation_rect_Type2 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_1313 x_1312 = function
    262262| Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg'
    263263| Onegint (sz, sg) -> h_Onegint sz sg
     
    275275    (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ ->
    276276    unary_operation -> 'a1 **)
    277 let rec unary_operation_rect_Type1 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13221 x_13220 = function
     277let rec unary_operation_rect_Type1 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_1324 x_1323 = function
    278278| Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg'
    279279| Onegint (sz, sg) -> h_Onegint sz sg
     
    291291    (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ ->
    292292    unary_operation -> 'a1 **)
    293 let rec unary_operation_rect_Type0 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13232 x_13231 = function
     293let rec unary_operation_rect_Type0 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_1335 x_1334 = function
    294294| Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg'
    295295| Onegint (sz, sg) -> h_Onegint sz sg
     
    426426    (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) ->
    427427    AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **)
    428 let rec binary_operation_rect_Type4 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13337 x_13336 x_13335 = function
     428let rec binary_operation_rect_Type4 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_1440 x_1439 x_1438 = function
    429429| Oadd (sz, sg) -> h_Oadd sz sg
    430430| Osub (sz, sg) -> h_Osub sz sg
     
    440440| Oshr (sz, sg) -> h_Oshr sz sg
    441441| Oshru (sz, sg) -> h_Oshru sz sg
    442 | Ocmp (sz, sg, sg', x_13339) -> h_Ocmp sz sg sg' x_13339
    443 | Ocmpu (sz, sg', x_13340) -> h_Ocmpu sz sg' x_13340
     442| Ocmp (sz, sg, sg', x_1442) -> h_Ocmp sz sg sg' x_1442
     443| Ocmpu (sz, sg', x_1443) -> h_Ocmpu sz sg' x_1443
    444444| Oaddpi sz -> h_Oaddpi sz
    445445| Oaddip sz -> h_Oaddip sz
    446446| Osubpi sz -> h_Osubpi sz
    447447| Osubpp sz -> h_Osubpp sz
    448 | Ocmpp (sg', x_13341) -> h_Ocmpp sg' x_13341
     448| Ocmpp (sg', x_1444) -> h_Ocmpp sg' x_1444
    449449
    450450(** val binary_operation_rect_Type5 :
     
    461461    (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) ->
    462462    AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **)
    463 let rec binary_operation_rect_Type5 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13364 x_13363 x_13362 = function
     463let rec binary_operation_rect_Type5 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_1467 x_1466 x_1465 = function
    464464| Oadd (sz, sg) -> h_Oadd sz sg
    465465| Osub (sz, sg) -> h_Osub sz sg
     
    475475| Oshr (sz, sg) -> h_Oshr sz sg
    476476| Oshru (sz, sg) -> h_Oshru sz sg
    477 | Ocmp (sz, sg, sg', x_13366) -> h_Ocmp sz sg sg' x_13366
    478 | Ocmpu (sz, sg', x_13367) -> h_Ocmpu sz sg' x_13367
     477| Ocmp (sz, sg, sg', x_1469) -> h_Ocmp sz sg sg' x_1469
     478| Ocmpu (sz, sg', x_1470) -> h_Ocmpu sz sg' x_1470
    479479| Oaddpi sz -> h_Oaddpi sz
    480480| Oaddip sz -> h_Oaddip sz
    481481| Osubpi sz -> h_Osubpi sz
    482482| Osubpp sz -> h_Osubpp sz
    483 | Ocmpp (sg', x_13368) -> h_Ocmpp sg' x_13368
     483| Ocmpp (sg', x_1471) -> h_Ocmpp sg' x_1471
    484484
    485485(** val binary_operation_rect_Type3 :
     
    496496    (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) ->
    497497    AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **)
    498 let rec binary_operation_rect_Type3 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13391 x_13390 x_13389 = function
     498let rec binary_operation_rect_Type3 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_1494 x_1493 x_1492 = function
    499499| Oadd (sz, sg) -> h_Oadd sz sg
    500500| Osub (sz, sg) -> h_Osub sz sg
     
    510510| Oshr (sz, sg) -> h_Oshr sz sg
    511511| Oshru (sz, sg) -> h_Oshru sz sg
    512 | Ocmp (sz, sg, sg', x_13393) -> h_Ocmp sz sg sg' x_13393
    513 | Ocmpu (sz, sg', x_13394) -> h_Ocmpu sz sg' x_13394
     512| Ocmp (sz, sg, sg', x_1496) -> h_Ocmp sz sg sg' x_1496
     513| Ocmpu (sz, sg', x_1497) -> h_Ocmpu sz sg' x_1497
    514514| Oaddpi sz -> h_Oaddpi sz
    515515| Oaddip sz -> h_Oaddip sz
    516516| Osubpi sz -> h_Osubpi sz
    517517| Osubpp sz -> h_Osubpp sz
    518 | Ocmpp (sg', x_13395) -> h_Ocmpp sg' x_13395
     518| Ocmpp (sg', x_1498) -> h_Ocmpp sg' x_1498
    519519
    520520(** val binary_operation_rect_Type2 :
     
    531531    (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) ->
    532532    AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **)
    533 let rec binary_operation_rect_Type2 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13418 x_13417 x_13416 = function
     533let rec binary_operation_rect_Type2 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_1521 x_1520 x_1519 = function
    534534| Oadd (sz, sg) -> h_Oadd sz sg
    535535| Osub (sz, sg) -> h_Osub sz sg
     
    545545| Oshr (sz, sg) -> h_Oshr sz sg
    546546| Oshru (sz, sg) -> h_Oshru sz sg
    547 | Ocmp (sz, sg, sg', x_13420) -> h_Ocmp sz sg sg' x_13420
    548 | Ocmpu (sz, sg', x_13421) -> h_Ocmpu sz sg' x_13421
     547| Ocmp (sz, sg, sg', x_1523) -> h_Ocmp sz sg sg' x_1523
     548| Ocmpu (sz, sg', x_1524) -> h_Ocmpu sz sg' x_1524
    549549| Oaddpi sz -> h_Oaddpi sz
    550550| Oaddip sz -> h_Oaddip sz
    551551| Osubpi sz -> h_Osubpi sz
    552552| Osubpp sz -> h_Osubpp sz
    553 | Ocmpp (sg', x_13422) -> h_Ocmpp sg' x_13422
     553| Ocmpp (sg', x_1525) -> h_Ocmpp sg' x_1525
    554554
    555555(** val binary_operation_rect_Type1 :
     
    566566    (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) ->
    567567    AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **)
    568 let rec binary_operation_rect_Type1 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13445 x_13444 x_13443 = function
     568let rec binary_operation_rect_Type1 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_1548 x_1547 x_1546 = function
    569569| Oadd (sz, sg) -> h_Oadd sz sg
    570570| Osub (sz, sg) -> h_Osub sz sg
     
    580580| Oshr (sz, sg) -> h_Oshr sz sg
    581581| Oshru (sz, sg) -> h_Oshru sz sg
    582 | Ocmp (sz, sg, sg', x_13447) -> h_Ocmp sz sg sg' x_13447
    583 | Ocmpu (sz, sg', x_13448) -> h_Ocmpu sz sg' x_13448
     582| Ocmp (sz, sg, sg', x_1550) -> h_Ocmp sz sg sg' x_1550
     583| Ocmpu (sz, sg', x_1551) -> h_Ocmpu sz sg' x_1551
    584584| Oaddpi sz -> h_Oaddpi sz
    585585| Oaddip sz -> h_Oaddip sz
    586586| Osubpi sz -> h_Osubpi sz
    587587| Osubpp sz -> h_Osubpp sz
    588 | Ocmpp (sg', x_13449) -> h_Ocmpp sg' x_13449
     588| Ocmpp (sg', x_1552) -> h_Ocmpp sg' x_1552
    589589
    590590(** val binary_operation_rect_Type0 :
     
    601601    (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) ->
    602602    AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **)
    603 let rec binary_operation_rect_Type0 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13472 x_13471 x_13470 = function
     603let rec binary_operation_rect_Type0 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_1575 x_1574 x_1573 = function
    604604| Oadd (sz, sg) -> h_Oadd sz sg
    605605| Osub (sz, sg) -> h_Osub sz sg
     
    615615| Oshr (sz, sg) -> h_Oshr sz sg
    616616| Oshru (sz, sg) -> h_Oshru sz sg
    617 | Ocmp (sz, sg, sg', x_13474) -> h_Ocmp sz sg sg' x_13474
    618 | Ocmpu (sz, sg', x_13475) -> h_Ocmpu sz sg' x_13475
     617| Ocmp (sz, sg, sg', x_1577) -> h_Ocmp sz sg sg' x_1577
     618| Ocmpu (sz, sg', x_1578) -> h_Ocmpu sz sg' x_1578
    619619| Oaddpi sz -> h_Oaddpi sz
    620620| Oaddip sz -> h_Oaddip sz
    621621| Osubpi sz -> h_Osubpi sz
    622622| Osubpp sz -> h_Osubpp sz
    623 | Ocmpp (sg', x_13476) -> h_Ocmpp sg' x_13476
     623| Ocmpp (sg', x_1579) -> h_Ocmpp sg' x_1579
    624624
    625625(** val binary_operation_inv_rect_Type4 :
  • extracted/genMem.ml

    r2717 r2730  
    100100(** val block_contents_rect_Type4 :
    101101    (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **)
    102 let rec block_contents_rect_Type4 h_mk_block_contents x_6451 =
    103   let { low = low0; high = high0; contents = contents0 } = x_6451 in
     102let rec block_contents_rect_Type4 h_mk_block_contents x_1100 =
     103  let { low = low0; high = high0; contents = contents0 } = x_1100 in
    104104  h_mk_block_contents low0 high0 contents0
    105105
    106106(** val block_contents_rect_Type5 :
    107107    (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **)
    108 let rec block_contents_rect_Type5 h_mk_block_contents x_6453 =
    109   let { low = low0; high = high0; contents = contents0 } = x_6453 in
     108let rec block_contents_rect_Type5 h_mk_block_contents x_1102 =
     109  let { low = low0; high = high0; contents = contents0 } = x_1102 in
    110110  h_mk_block_contents low0 high0 contents0
    111111
    112112(** val block_contents_rect_Type3 :
    113113    (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **)
    114 let rec block_contents_rect_Type3 h_mk_block_contents x_6455 =
    115   let { low = low0; high = high0; contents = contents0 } = x_6455 in
     114let rec block_contents_rect_Type3 h_mk_block_contents x_1104 =
     115  let { low = low0; high = high0; contents = contents0 } = x_1104 in
    116116  h_mk_block_contents low0 high0 contents0
    117117
    118118(** val block_contents_rect_Type2 :
    119119    (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **)
    120 let rec block_contents_rect_Type2 h_mk_block_contents x_6457 =
    121   let { low = low0; high = high0; contents = contents0 } = x_6457 in
     120let rec block_contents_rect_Type2 h_mk_block_contents x_1106 =
     121  let { low = low0; high = high0; contents = contents0 } = x_1106 in
    122122  h_mk_block_contents low0 high0 contents0
    123123
    124124(** val block_contents_rect_Type1 :
    125125    (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **)
    126 let rec block_contents_rect_Type1 h_mk_block_contents x_6459 =
    127   let { low = low0; high = high0; contents = contents0 } = x_6459 in
     126let rec block_contents_rect_Type1 h_mk_block_contents x_1108 =
     127  let { low = low0; high = high0; contents = contents0 } = x_1108 in
    128128  h_mk_block_contents low0 high0 contents0
    129129
    130130(** val block_contents_rect_Type0 :
    131131    (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **)
    132 let rec block_contents_rect_Type0 h_mk_block_contents x_6461 =
    133   let { low = low0; high = high0; contents = contents0 } = x_6461 in
     132let rec block_contents_rect_Type0 h_mk_block_contents x_1110 =
     133  let { low = low0; high = high0; contents = contents0 } = x_1110 in
    134134  h_mk_block_contents low0 high0 contents0
    135135
     
    187187(** val mem_rect_Type4 :
    188188    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem1 -> 'a1 **)
    189 let rec mem_rect_Type4 h_mk_mem x_6477 =
    190   let { blocks = blocks0; nextblock = nextblock0 } = x_6477 in
     189let rec mem_rect_Type4 h_mk_mem x_1126 =
     190  let { blocks = blocks0; nextblock = nextblock0 } = x_1126 in
    191191  h_mk_mem blocks0 nextblock0 __
    192192
    193193(** val mem_rect_Type5 :
    194194    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem1 -> 'a1 **)
    195 let rec mem_rect_Type5 h_mk_mem x_6479 =
    196   let { blocks = blocks0; nextblock = nextblock0 } = x_6479 in
     195let rec mem_rect_Type5 h_mk_mem x_1128 =
     196  let { blocks = blocks0; nextblock = nextblock0 } = x_1128 in
    197197  h_mk_mem blocks0 nextblock0 __
    198198
    199199(** val mem_rect_Type3 :
    200200    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem1 -> 'a1 **)
    201 let rec mem_rect_Type3 h_mk_mem x_6481 =
    202   let { blocks = blocks0; nextblock = nextblock0 } = x_6481 in
     201let rec mem_rect_Type3 h_mk_mem x_1130 =
     202  let { blocks = blocks0; nextblock = nextblock0 } = x_1130 in
    203203  h_mk_mem blocks0 nextblock0 __
    204204
    205205(** val mem_rect_Type2 :
    206206    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem1 -> 'a1 **)
    207 let rec mem_rect_Type2 h_mk_mem x_6483 =
    208   let { blocks = blocks0; nextblock = nextblock0 } = x_6483 in
     207let rec mem_rect_Type2 h_mk_mem x_1132 =
     208  let { blocks = blocks0; nextblock = nextblock0 } = x_1132 in
    209209  h_mk_mem blocks0 nextblock0 __
    210210
    211211(** val mem_rect_Type1 :
    212212    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem1 -> 'a1 **)
    213 let rec mem_rect_Type1 h_mk_mem x_6485 =
    214   let { blocks = blocks0; nextblock = nextblock0 } = x_6485 in
     213let rec mem_rect_Type1 h_mk_mem x_1134 =
     214  let { blocks = blocks0; nextblock = nextblock0 } = x_1134 in
    215215  h_mk_mem blocks0 nextblock0 __
    216216
    217217(** val mem_rect_Type0 :
    218218    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem1 -> 'a1 **)
    219 let rec mem_rect_Type0 h_mk_mem x_6487 =
    220   let { blocks = blocks0; nextblock = nextblock0 } = x_6487 in
     219let rec mem_rect_Type0 h_mk_mem x_1136 =
     220  let { blocks = blocks0; nextblock = nextblock0 } = x_1136 in
    221221  h_mk_mem blocks0 nextblock0 __
    222222
  • extracted/globalenvs.ml

    r2717 r2730  
    9898    ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block
    9999    Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **)
    100 let rec genv_t_rect_Type4 h_mk_genv_t x_6504 =
     100let rec genv_t_rect_Type4 h_mk_genv_t x_2466 =
    101101  let { functions = functions0; nextfunction = nextfunction0; symbols =
    102     symbols0 } = x_6504
     102    symbols0 } = x_2466
    103103  in
    104104  h_mk_genv_t functions0 nextfunction0 symbols0 __
     
    107107    ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block
    108108    Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **)
    109 let rec genv_t_rect_Type5 h_mk_genv_t x_6506 =
     109let rec genv_t_rect_Type5 h_mk_genv_t x_2468 =
    110110  let { functions = functions0; nextfunction = nextfunction0; symbols =
    111     symbols0 } = x_6506
     111    symbols0 } = x_2468
    112112  in
    113113  h_mk_genv_t functions0 nextfunction0 symbols0 __
     
    116116    ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block
    117117    Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **)
    118 let rec genv_t_rect_Type3 h_mk_genv_t x_6508 =
     118let rec genv_t_rect_Type3 h_mk_genv_t x_2470 =
    119119  let { functions = functions0; nextfunction = nextfunction0; symbols =
    120     symbols0 } = x_6508
     120    symbols0 } = x_2470
    121121  in
    122122  h_mk_genv_t functions0 nextfunction0 symbols0 __
     
    125125    ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block
    126126    Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **)
    127 let rec genv_t_rect_Type2 h_mk_genv_t x_6510 =
     127let rec genv_t_rect_Type2 h_mk_genv_t x_2472 =
    128128  let { functions = functions0; nextfunction = nextfunction0; symbols =
    129     symbols0 } = x_6510
     129    symbols0 } = x_2472
    130130  in
    131131  h_mk_genv_t functions0 nextfunction0 symbols0 __
     
    134134    ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block
    135135    Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **)
    136 let rec genv_t_rect_Type1 h_mk_genv_t x_6512 =
     136let rec genv_t_rect_Type1 h_mk_genv_t x_2474 =
    137137  let { functions = functions0; nextfunction = nextfunction0; symbols =
    138     symbols0 } = x_6512
     138    symbols0 } = x_2474
    139139  in
    140140  h_mk_genv_t functions0 nextfunction0 symbols0 __
     
    143143    ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block
    144144    Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **)
    145 let rec genv_t_rect_Type0 h_mk_genv_t x_6514 =
     145let rec genv_t_rect_Type0 h_mk_genv_t x_2476 =
    146146  let { functions = functions0; nextfunction = nextfunction0; symbols =
    147     symbols0 } = x_6514
     147    symbols0 } = x_2476
    148148  in
    149149  h_mk_genv_t functions0 nextfunction0 symbols0 __
     
    314314let add_globals extract_init init_env vars =
    315315  Util.foldl (fun g_st id_init ->
    316     let { Types.fst = eta1792; Types.snd = init_info } = id_init in
    317     let { Types.fst = id; Types.snd = r } = eta1792 in
     316    let { Types.fst = eta860; Types.snd = init_info } = id_init in
     317    let { Types.fst = id; Types.snd = r } = eta860 in
    318318    let init = extract_init init_info in
    319319    let { Types.fst = g0; Types.snd = st } = g_st in
     
    330330let init_globals extract_init g0 m vars =
    331331  Util.foldl (fun st id_init ->
    332     let { Types.fst = eta1793; Types.snd = init_info } = id_init in
    333     let { Types.fst = id; Types.snd = r } = eta1793 in
     332    let { Types.fst = eta861; Types.snd = init_info } = id_init in
     333    let { Types.fst = id; Types.snd = r } = eta861 in
    334334    let init = extract_init init_info in
    335335    Obj.magic
     
    405405   | Types.None -> (fun _ -> assert false (* absurd case *))
    406406   | Types.Some id -> (fun _ -> id)) __
     407
     408(** val symbol_of_function_block' :
     409    'a1 genv_t -> Pointers.block -> 'a1 -> AST.ident **)
     410let symbol_of_function_block' ge b f =
     411  symbol_of_function_block ge b
     412
     413(** val find_funct_ptr_id :
     414    'a1 genv_t -> Pointers.block -> ('a1, AST.ident) Types.prod Types.option **)
     415let find_funct_ptr_id ge b =
     416  (match find_funct_ptr ge b with
     417   | Types.None -> (fun _ -> Types.None)
     418   | Types.Some f ->
     419     (fun _ -> Types.Some { Types.fst = f; Types.snd =
     420       (symbol_of_function_block' ge b f) })) __
     421
     422(** val symbol_of_function_val : 'a1 genv_t -> Values.val0 -> AST.ident **)
     423let symbol_of_function_val ge v =
     424  (match v with
     425   | Values.Vundef -> (fun _ -> assert false (* absurd case *))
     426   | Values.Vint (x, x0) -> (fun _ -> assert false (* absurd case *))
     427   | Values.Vnull -> (fun _ -> assert false (* absurd case *))
     428   | Values.Vptr p ->
     429     (fun _ -> symbol_of_function_block ge p.Pointers.pblock)) __
     430
     431(** val symbol_of_function_val' :
     432    'a1 genv_t -> Values.val0 -> 'a1 -> AST.ident **)
     433let symbol_of_function_val' ge v f =
     434  symbol_of_function_val ge v
     435
     436(** val find_funct_id :
     437    'a1 genv_t -> Values.val0 -> ('a1, AST.ident) Types.prod Types.option **)
     438let find_funct_id ge v =
     439  (match find_funct ge v with
     440   | Types.None -> (fun _ -> Types.None)
     441   | Types.Some f ->
     442     (fun _ -> Types.Some { Types.fst = f; Types.snd =
     443       (symbol_of_function_val' ge v f) })) __
    407444
    408445(** val nat_plus_pos : Nat.nat -> Positive.pos -> Positive.pos **)
     
    442479
    443480(** val related_globals_rect_Type4 :
    444     ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> 'a3) ->
    445     'a3 **)
    446 let rec related_globals_rect_Type4 t ge ge' h_mk_related_globals =
    447   h_mk_related_globals __ __ __
    448 
    449 (** val related_globals_rect_Type5 :
    450     ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> 'a3) ->
    451     'a3 **)
    452 let rec related_globals_rect_Type5 t ge ge' h_mk_related_globals =
    453   h_mk_related_globals __ __ __
    454 
    455 (** val related_globals_rect_Type3 :
    456     ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> 'a3) ->
    457     'a3 **)
    458 let rec related_globals_rect_Type3 t ge ge' h_mk_related_globals =
    459   h_mk_related_globals __ __ __
    460 
    461 (** val related_globals_rect_Type2 :
    462     ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> 'a3) ->
    463     'a3 **)
    464 let rec related_globals_rect_Type2 t ge ge' h_mk_related_globals =
    465   h_mk_related_globals __ __ __
    466 
    467 (** val related_globals_rect_Type1 :
    468     ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> 'a3) ->
    469     'a3 **)
    470 let rec related_globals_rect_Type1 t ge ge' h_mk_related_globals =
    471   h_mk_related_globals __ __ __
    472 
    473 (** val related_globals_rect_Type0 :
    474     ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> 'a3) ->
    475     'a3 **)
    476 let rec related_globals_rect_Type0 t ge ge' h_mk_related_globals =
    477   h_mk_related_globals __ __ __
    478 
    479 (** val related_globals_inv_rect_Type4 :
    480481    ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
    481482    -> 'a3 **)
     483let rec related_globals_rect_Type4 t ge ge' h_mk_related_globals =
     484  h_mk_related_globals __ __ __ __
     485
     486(** val related_globals_rect_Type5 :
     487    ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
     488    -> 'a3 **)
     489let rec related_globals_rect_Type5 t ge ge' h_mk_related_globals =
     490  h_mk_related_globals __ __ __ __
     491
     492(** val related_globals_rect_Type3 :
     493    ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
     494    -> 'a3 **)
     495let rec related_globals_rect_Type3 t ge ge' h_mk_related_globals =
     496  h_mk_related_globals __ __ __ __
     497
     498(** val related_globals_rect_Type2 :
     499    ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
     500    -> 'a3 **)
     501let rec related_globals_rect_Type2 t ge ge' h_mk_related_globals =
     502  h_mk_related_globals __ __ __ __
     503
     504(** val related_globals_rect_Type1 :
     505    ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
     506    -> 'a3 **)
     507let rec related_globals_rect_Type1 t ge ge' h_mk_related_globals =
     508  h_mk_related_globals __ __ __ __
     509
     510(** val related_globals_rect_Type0 :
     511    ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
     512    -> 'a3 **)
     513let rec related_globals_rect_Type0 t ge ge' h_mk_related_globals =
     514  h_mk_related_globals __ __ __ __
     515
     516(** val related_globals_inv_rect_Type4 :
     517    ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> __
     518    -> 'a3) -> 'a3 **)
    482519let related_globals_inv_rect_Type4 x3 x4 x5 h1 =
    483520  let hcut = related_globals_rect_Type4 x3 x4 x5 h1 in hcut __
    484521
    485522(** val related_globals_inv_rect_Type3 :
    486     ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
    487     -> 'a3 **)
     523    ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> __
     524    -> 'a3) -> 'a3 **)
    488525let related_globals_inv_rect_Type3 x3 x4 x5 h1 =
    489526  let hcut = related_globals_rect_Type3 x3 x4 x5 h1 in hcut __
    490527
    491528(** val related_globals_inv_rect_Type2 :
    492     ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
    493     -> 'a3 **)
     529    ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> __
     530    -> 'a3) -> 'a3 **)
    494531let related_globals_inv_rect_Type2 x3 x4 x5 h1 =
    495532  let hcut = related_globals_rect_Type2 x3 x4 x5 h1 in hcut __
    496533
    497534(** val related_globals_inv_rect_Type1 :
    498     ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
    499     -> 'a3 **)
     535    ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> __
     536    -> 'a3) -> 'a3 **)
    500537let related_globals_inv_rect_Type1 x3 x4 x5 h1 =
    501538  let hcut = related_globals_rect_Type1 x3 x4 x5 h1 in hcut __
    502539
    503540(** val related_globals_inv_rect_Type0 :
    504     ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
    505     -> 'a3 **)
     541    ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> __
     542    -> 'a3) -> 'a3 **)
    506543let related_globals_inv_rect_Type0 x3 x4 x5 h1 =
    507544  let hcut = related_globals_rect_Type0 x3 x4 x5 h1 in hcut __
     
    510547    ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> __ **)
    511548let related_globals_discr a3 a4 a5 =
    512   Logic.eq_rect_Type2 __ (Obj.magic (fun _ dH -> dH __ __ __)) __
     549  Logic.eq_rect_Type2 __ (Obj.magic (fun _ dH -> dH __ __ __ __)) __
    513550
    514551(** val related_globals_jmdiscr :
    515552    ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> __ **)
    516553let related_globals_jmdiscr a3 a4 a5 =
    517   Logic.eq_rect_Type2 __ (Obj.magic (fun _ dH -> dH __ __ __)) __
     554  Logic.eq_rect_Type2 __ (Obj.magic (fun _ dH -> dH __ __ __ __)) __
    518555
    519556(** val related_globals_gen_rect_Type4 :
    520557    PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    521558    Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ ->
    522     __ -> __ -> 'a3) -> 'a3 **)
     559    __ -> __ -> __ -> 'a3) -> 'a3 **)
    523560let rec related_globals_gen_rect_Type4 tag t ge ge' h_mk_related_globals_gen =
    524   h_mk_related_globals_gen __ __ __
     561  h_mk_related_globals_gen __ __ __ __
    525562
    526563(** val related_globals_gen_rect_Type5 :
    527564    PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    528565    Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ ->
    529     __ -> __ -> 'a3) -> 'a3 **)
     566    __ -> __ -> __ -> 'a3) -> 'a3 **)
    530567let rec related_globals_gen_rect_Type5 tag t ge ge' h_mk_related_globals_gen =
    531   h_mk_related_globals_gen __ __ __
     568  h_mk_related_globals_gen __ __ __ __
    532569
    533570(** val related_globals_gen_rect_Type3 :
    534571    PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    535572    Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ ->
    536     __ -> __ -> 'a3) -> 'a3 **)
     573    __ -> __ -> __ -> 'a3) -> 'a3 **)
    537574let rec related_globals_gen_rect_Type3 tag t ge ge' h_mk_related_globals_gen =
    538   h_mk_related_globals_gen __ __ __
     575  h_mk_related_globals_gen __ __ __ __
    539576
    540577(** val related_globals_gen_rect_Type2 :
    541578    PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    542579    Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ ->
    543     __ -> __ -> 'a3) -> 'a3 **)
     580    __ -> __ -> __ -> 'a3) -> 'a3 **)
    544581let rec related_globals_gen_rect_Type2 tag t ge ge' h_mk_related_globals_gen =
    545   h_mk_related_globals_gen __ __ __
     582  h_mk_related_globals_gen __ __ __ __
    546583
    547584(** val related_globals_gen_rect_Type1 :
    548585    PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    549586    Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ ->
    550     __ -> __ -> 'a3) -> 'a3 **)
     587    __ -> __ -> __ -> 'a3) -> 'a3 **)
    551588let rec related_globals_gen_rect_Type1 tag t ge ge' h_mk_related_globals_gen =
    552   h_mk_related_globals_gen __ __ __
     589  h_mk_related_globals_gen __ __ __ __
    553590
    554591(** val related_globals_gen_rect_Type0 :
    555592    PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    556593    Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ ->
    557     __ -> __ -> 'a3) -> 'a3 **)
     594    __ -> __ -> __ -> 'a3) -> 'a3 **)
    558595let rec related_globals_gen_rect_Type0 tag t ge ge' h_mk_related_globals_gen =
    559   h_mk_related_globals_gen __ __ __
     596  h_mk_related_globals_gen __ __ __ __
    560597
    561598(** val related_globals_gen_inv_rect_Type4 :
    562599    PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    563600    Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ ->
    564     __ -> __ -> __ -> 'a3) -> 'a3 **)
     601    __ -> __ -> __ -> __ -> 'a3) -> 'a3 **)
    565602let related_globals_gen_inv_rect_Type4 x1 x4 x5 x6 h1 =
    566603  let hcut = related_globals_gen_rect_Type4 x1 x4 x5 x6 h1 in hcut __
     
    569606    PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    570607    Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ ->
    571     __ -> __ -> __ -> 'a3) -> 'a3 **)
     608    __ -> __ -> __ -> __ -> 'a3) -> 'a3 **)
    572609let related_globals_gen_inv_rect_Type3 x1 x4 x5 x6 h1 =
    573610  let hcut = related_globals_gen_rect_Type3 x1 x4 x5 x6 h1 in hcut __
     
    576613    PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    577614    Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ ->
    578     __ -> __ -> __ -> 'a3) -> 'a3 **)
     615    __ -> __ -> __ -> __ -> 'a3) -> 'a3 **)
    579616let related_globals_gen_inv_rect_Type2 x1 x4 x5 x6 h1 =
    580617  let hcut = related_globals_gen_rect_Type2 x1 x4 x5 x6 h1 in hcut __
     
    583620    PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    584621    Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ ->
    585     __ -> __ -> __ -> 'a3) -> 'a3 **)
     622    __ -> __ -> __ -> __ -> 'a3) -> 'a3 **)
    586623let related_globals_gen_inv_rect_Type1 x1 x4 x5 x6 h1 =
    587624  let hcut = related_globals_gen_rect_Type1 x1 x4 x5 x6 h1 in hcut __
     
    590627    PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    591628    Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ ->
    592     __ -> __ -> __ -> 'a3) -> 'a3 **)
     629    __ -> __ -> __ -> __ -> 'a3) -> 'a3 **)
    593630let related_globals_gen_inv_rect_Type0 x1 x4 x5 x6 h1 =
    594631  let hcut = related_globals_gen_rect_Type0 x1 x4 x5 x6 h1 in hcut __
     
    598635    Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> __ **)
    599636let related_globals_gen_discr a1 a4 a5 a6 =
    600   Logic.eq_rect_Type2 __ (Obj.magic (fun _ dH -> dH __ __ __)) __
     637  Logic.eq_rect_Type2 __ (Obj.magic (fun _ dH -> dH __ __ __ __)) __
    601638
    602639(** val related_globals_gen_jmdiscr :
     
    604641    Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> __ **)
    605642let related_globals_gen_jmdiscr a1 a4 a5 a6 =
    606   Logic.eq_rect_Type2 __ (Obj.magic (fun _ dH -> dH __ __ __)) __
     643  Logic.eq_rect_Type2 __ (Obj.magic (fun _ dH -> dH __ __ __ __)) __
    607644
    608645open Extra_bool
  • extracted/globalenvs.mli

    r2717 r2730  
    209209val symbol_of_function_block : 'a1 genv_t -> Pointers.block -> AST.ident
    210210
     211val symbol_of_function_block' :
     212  'a1 genv_t -> Pointers.block -> 'a1 -> AST.ident
     213
     214val find_funct_ptr_id :
     215  'a1 genv_t -> Pointers.block -> ('a1, AST.ident) Types.prod Types.option
     216
     217val symbol_of_function_val : 'a1 genv_t -> Values.val0 -> AST.ident
     218
     219val symbol_of_function_val' : 'a1 genv_t -> Values.val0 -> 'a1 -> AST.ident
     220
     221val find_funct_id :
     222  'a1 genv_t -> Values.val0 -> ('a1, AST.ident) Types.prod Types.option
     223
    211224val nat_plus_pos : Nat.nat -> Positive.pos -> Positive.pos
    212225
     
    218231
    219232val related_globals_rect_Type4 :
    220   ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> 'a3) -> 'a3
     233  ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
     234  -> 'a3
    221235
    222236val related_globals_rect_Type5 :
    223   ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> 'a3) -> 'a3
     237  ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
     238  -> 'a3
    224239
    225240val related_globals_rect_Type3 :
    226   ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> 'a3) -> 'a3
     241  ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
     242  -> 'a3
    227243
    228244val related_globals_rect_Type2 :
    229   ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> 'a3) -> 'a3
     245  ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
     246  -> 'a3
    230247
    231248val related_globals_rect_Type1 :
    232   ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> 'a3) -> 'a3
     249  ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
     250  -> 'a3
    233251
    234252val related_globals_rect_Type0 :
    235   ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> 'a3) -> 'a3
     253  ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
     254  -> 'a3
    236255
    237256val related_globals_inv_rect_Type4 :
    238   ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
    239   -> 'a3
     257  ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> __ ->
     258  'a3) -> 'a3
    240259
    241260val related_globals_inv_rect_Type3 :
    242   ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
    243   -> 'a3
     261  ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> __ ->
     262  'a3) -> 'a3
    244263
    245264val related_globals_inv_rect_Type2 :
    246   ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
    247   -> 'a3
     265  ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> __ ->
     266  'a3) -> 'a3
    248267
    249268val related_globals_inv_rect_Type1 :
    250   ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
    251   -> 'a3
     269  ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> __ ->
     270  'a3) -> 'a3
    252271
    253272val related_globals_inv_rect_Type0 :
    254   ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> 'a3)
    255   -> 'a3
     273  ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __ -> __ -> __ -> __ ->
     274  'a3) -> 'a3
    256275
    257276val related_globals_discr : ('a1 -> 'a2) -> 'a1 genv_t -> 'a2 genv_t -> __
     
    262281  PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    263282  Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __
    264   -> __ -> 'a3) -> 'a3
     283  -> __ -> __ -> 'a3) -> 'a3
    265284
    266285val related_globals_gen_rect_Type5 :
    267286  PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    268287  Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __
    269   -> __ -> 'a3) -> 'a3
     288  -> __ -> __ -> 'a3) -> 'a3
    270289
    271290val related_globals_gen_rect_Type3 :
    272291  PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    273292  Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __
    274   -> __ -> 'a3) -> 'a3
     293  -> __ -> __ -> 'a3) -> 'a3
    275294
    276295val related_globals_gen_rect_Type2 :
    277296  PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    278297  Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __
    279   -> __ -> 'a3) -> 'a3
     298  -> __ -> __ -> 'a3) -> 'a3
    280299
    281300val related_globals_gen_rect_Type1 :
    282301  PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    283302  Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __
    284   -> __ -> 'a3) -> 'a3
     303  -> __ -> __ -> 'a3) -> 'a3
    285304
    286305val related_globals_gen_rect_Type0 :
    287306  PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    288307  Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __
    289   -> __ -> 'a3) -> 'a3
     308  -> __ -> __ -> 'a3) -> 'a3
    290309
    291310val related_globals_gen_inv_rect_Type4 :
    292311  PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    293312  Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __
    294   -> __ -> __ -> 'a3) -> 'a3
     313  -> __ -> __ -> __ -> 'a3) -> 'a3
    295314
    296315val related_globals_gen_inv_rect_Type3 :
    297316  PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    298317  Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __
    299   -> __ -> __ -> 'a3) -> 'a3
     318  -> __ -> __ -> __ -> 'a3) -> 'a3
    300319
    301320val related_globals_gen_inv_rect_Type2 :
    302321  PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    303322  Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __
    304   -> __ -> __ -> 'a3) -> 'a3
     323  -> __ -> __ -> __ -> 'a3) -> 'a3
    305324
    306325val related_globals_gen_inv_rect_Type1 :
    307326  PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    308327  Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __
    309   -> __ -> __ -> 'a3) -> 'a3
     328  -> __ -> __ -> __ -> 'a3) -> 'a3
    310329
    311330val related_globals_gen_inv_rect_Type0 :
    312331  PreIdentifiers.identifierTag -> (Identifiers.universe -> 'a1 -> ('a2,
    313332  Identifiers.universe) Types.prod) -> 'a1 genv_t -> 'a2 genv_t -> (__ -> __
    314   -> __ -> __ -> 'a3) -> 'a3
     333  -> __ -> __ -> __ -> 'a3) -> 'a3
    315334
    316335val related_globals_gen_discr :
  • extracted/iO.ml

    r2717 r2730  
    152152    (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out ->