Changeset 2997


Ignore:
Timestamp:
Mar 28, 2013, 10:27:41 AM (4 years ago)
Author:
sacerdot
Message:

New extraction.

Location:
extracted
Files:
55 edited

Legend:

Unmodified
Added
Removed
  • extracted/aSM.ml

    r2951 r2997  
    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_33 -> h_DIRECT x_33
    116 | INDIRECT x_34 -> h_INDIRECT x_34
    117 | EXT_INDIRECT x_35 -> h_EXT_INDIRECT x_35
    118 | REGISTER x_36 -> h_REGISTER x_36
     115| DIRECT x_1001 -> h_DIRECT x_1001
     116| INDIRECT x_1002 -> h_INDIRECT x_1002
     117| EXT_INDIRECT x_1003 -> h_EXT_INDIRECT x_1003
     118| REGISTER x_1004 -> h_REGISTER x_1004
    119119| ACC_A -> h_ACC_A
    120120| ACC_B -> h_ACC_B
    121121| DPTR -> h_DPTR
    122 | DATA x_37 -> h_DATA x_37
    123 | DATA16 x_38 -> h_DATA16 x_38
     122| DATA x_1005 -> h_DATA x_1005
     123| DATA16 x_1006 -> h_DATA16 x_1006
    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_39 -> h_BIT_ADDR x_39
    130 | N_BIT_ADDR x_40 -> h_N_BIT_ADDR x_40
    131 | RELATIVE x_41 -> h_RELATIVE x_41
    132 | ADDR11 x_42 -> h_ADDR11 x_42
    133 | ADDR16 x_43 -> h_ADDR16 x_43
     129| BIT_ADDR x_1007 -> h_BIT_ADDR x_1007
     130| N_BIT_ADDR x_1008 -> h_N_BIT_ADDR x_1008
     131| RELATIVE x_1009 -> h_RELATIVE x_1009
     132| ADDR11 x_1010 -> h_ADDR11 x_1010
     133| ADDR16 x_1011 -> h_ADDR16 x_1011
    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_64 -> h_DIRECT x_64
    144 | INDIRECT x_65 -> h_INDIRECT x_65
    145 | EXT_INDIRECT x_66 -> h_EXT_INDIRECT x_66
    146 | REGISTER x_67 -> h_REGISTER x_67
     143| DIRECT x_1032 -> h_DIRECT x_1032
     144| INDIRECT x_1033 -> h_INDIRECT x_1033
     145| EXT_INDIRECT x_1034 -> h_EXT_INDIRECT x_1034
     146| REGISTER x_1035 -> h_REGISTER x_1035
    147147| ACC_A -> h_ACC_A
    148148| ACC_B -> h_ACC_B
    149149| DPTR -> h_DPTR
    150 | DATA x_68 -> h_DATA x_68
    151 | DATA16 x_69 -> h_DATA16 x_69
     150| DATA x_1036 -> h_DATA x_1036
     151| DATA16 x_1037 -> h_DATA16 x_1037
    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_70 -> h_BIT_ADDR x_70
    158 | N_BIT_ADDR x_71 -> h_N_BIT_ADDR x_71
    159 | RELATIVE x_72 -> h_RELATIVE x_72
    160 | ADDR11 x_73 -> h_ADDR11 x_73
    161 | ADDR16 x_74 -> h_ADDR16 x_74
     157| BIT_ADDR x_1038 -> h_BIT_ADDR x_1038
     158| N_BIT_ADDR x_1039 -> h_N_BIT_ADDR x_1039
     159| RELATIVE x_1040 -> h_RELATIVE x_1040
     160| ADDR11 x_1041 -> h_ADDR11 x_1041
     161| ADDR16 x_1042 -> h_ADDR16 x_1042
    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_95 -> h_DIRECT x_95
    172 | INDIRECT x_96 -> h_INDIRECT x_96
    173 | EXT_INDIRECT x_97 -> h_EXT_INDIRECT x_97
    174 | REGISTER x_98 -> h_REGISTER x_98
     171| DIRECT x_1063 -> h_DIRECT x_1063
     172| INDIRECT x_1064 -> h_INDIRECT x_1064
     173| EXT_INDIRECT x_1065 -> h_EXT_INDIRECT x_1065
     174| REGISTER x_1066 -> h_REGISTER x_1066
    175175| ACC_A -> h_ACC_A
    176176| ACC_B -> h_ACC_B
    177177| DPTR -> h_DPTR
    178 | DATA x_99 -> h_DATA x_99
    179 | DATA16 x_100 -> h_DATA16 x_100
     178| DATA x_1067 -> h_DATA x_1067
     179| DATA16 x_1068 -> h_DATA16 x_1068
    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_101 -> h_BIT_ADDR x_101
    186 | N_BIT_ADDR x_102 -> h_N_BIT_ADDR x_102
    187 | RELATIVE x_103 -> h_RELATIVE x_103
    188 | ADDR11 x_104 -> h_ADDR11 x_104
    189 | ADDR16 x_105 -> h_ADDR16 x_105
     185| BIT_ADDR x_1069 -> h_BIT_ADDR x_1069
     186| N_BIT_ADDR x_1070 -> h_N_BIT_ADDR x_1070
     187| RELATIVE x_1071 -> h_RELATIVE x_1071
     188| ADDR11 x_1072 -> h_ADDR11 x_1072
     189| ADDR16 x_1073 -> h_ADDR16 x_1073
    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_126 -> h_DIRECT x_126
    200 | INDIRECT x_127 -> h_INDIRECT x_127
    201 | EXT_INDIRECT x_128 -> h_EXT_INDIRECT x_128
    202 | REGISTER x_129 -> h_REGISTER x_129
     199| DIRECT x_1094 -> h_DIRECT x_1094
     200| INDIRECT x_1095 -> h_INDIRECT x_1095
     201| EXT_INDIRECT x_1096 -> h_EXT_INDIRECT x_1096
     202| REGISTER x_1097 -> h_REGISTER x_1097
    203203| ACC_A -> h_ACC_A
    204204| ACC_B -> h_ACC_B
    205205| DPTR -> h_DPTR
    206 | DATA x_130 -> h_DATA x_130
    207 | DATA16 x_131 -> h_DATA16 x_131
     206| DATA x_1098 -> h_DATA x_1098
     207| DATA16 x_1099 -> h_DATA16 x_1099
    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_132 -> h_BIT_ADDR x_132
    214 | N_BIT_ADDR x_133 -> h_N_BIT_ADDR x_133
    215 | RELATIVE x_134 -> h_RELATIVE x_134
    216 | ADDR11 x_135 -> h_ADDR11 x_135
    217 | ADDR16 x_136 -> h_ADDR16 x_136
     213| BIT_ADDR x_1100 -> h_BIT_ADDR x_1100
     214| N_BIT_ADDR x_1101 -> h_N_BIT_ADDR x_1101
     215| RELATIVE x_1102 -> h_RELATIVE x_1102
     216| ADDR11 x_1103 -> h_ADDR11 x_1103
     217| ADDR16 x_1104 -> h_ADDR16 x_1104
    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_157 -> h_DIRECT x_157
    228 | INDIRECT x_158 -> h_INDIRECT x_158
    229 | EXT_INDIRECT x_159 -> h_EXT_INDIRECT x_159
    230 | REGISTER x_160 -> h_REGISTER x_160
     227| DIRECT x_1125 -> h_DIRECT x_1125
     228| INDIRECT x_1126 -> h_INDIRECT x_1126
     229| EXT_INDIRECT x_1127 -> h_EXT_INDIRECT x_1127
     230| REGISTER x_1128 -> h_REGISTER x_1128
    231231| ACC_A -> h_ACC_A
    232232| ACC_B -> h_ACC_B
    233233| DPTR -> h_DPTR
    234 | DATA x_161 -> h_DATA x_161
    235 | DATA16 x_162 -> h_DATA16 x_162
     234| DATA x_1129 -> h_DATA x_1129
     235| DATA16 x_1130 -> h_DATA16 x_1130
    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_163 -> h_BIT_ADDR x_163
    242 | N_BIT_ADDR x_164 -> h_N_BIT_ADDR x_164
    243 | RELATIVE x_165 -> h_RELATIVE x_165
    244 | ADDR11 x_166 -> h_ADDR11 x_166
    245 | ADDR16 x_167 -> h_ADDR16 x_167
     241| BIT_ADDR x_1131 -> h_BIT_ADDR x_1131
     242| N_BIT_ADDR x_1132 -> h_N_BIT_ADDR x_1132
     243| RELATIVE x_1133 -> h_RELATIVE x_1133
     244| ADDR11 x_1134 -> h_ADDR11 x_1134
     245| ADDR16 x_1135 -> h_ADDR16 x_1135
    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_188 -> h_DIRECT x_188
    256 | INDIRECT x_189 -> h_INDIRECT x_189
    257 | EXT_INDIRECT x_190 -> h_EXT_INDIRECT x_190
    258 | REGISTER x_191 -> h_REGISTER x_191
     255| DIRECT x_1156 -> h_DIRECT x_1156
     256| INDIRECT x_1157 -> h_INDIRECT x_1157
     257| EXT_INDIRECT x_1158 -> h_EXT_INDIRECT x_1158
     258| REGISTER x_1159 -> h_REGISTER x_1159
    259259| ACC_A -> h_ACC_A
    260260| ACC_B -> h_ACC_B
    261261| DPTR -> h_DPTR
    262 | DATA x_192 -> h_DATA x_192
    263 | DATA16 x_193 -> h_DATA16 x_193
     262| DATA x_1160 -> h_DATA x_1160
     263| DATA16 x_1161 -> h_DATA16 x_1161
    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_194 -> h_BIT_ADDR x_194
    270 | N_BIT_ADDR x_195 -> h_N_BIT_ADDR x_195
    271 | RELATIVE x_196 -> h_RELATIVE x_196
    272 | ADDR11 x_197 -> h_ADDR11 x_197
    273 | ADDR16 x_198 -> h_ADDR16 x_198
     269| BIT_ADDR x_1162 -> h_BIT_ADDR x_1162
     270| N_BIT_ADDR x_1163 -> h_N_BIT_ADDR x_1163
     271| RELATIVE x_1164 -> h_RELATIVE x_1164
     272| ADDR11 x_1165 -> h_ADDR11 x_1165
     273| ADDR16 x_1166 -> h_ADDR16 x_1166
    274274
    275275(** val addressing_mode_inv_rect_Type4 :
     
    19261926    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19271927    'a1) -> subaddressing_mode -> 'a1 **)
    1928 let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_666 =
    1929   let subaddressing_modeel = x_666 in
     1928let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_1634 =
     1929  let subaddressing_modeel = x_1634 in
    19301930  h_mk_subaddressing_mode subaddressing_modeel __
    19311931
     
    19331933    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19341934    'a1) -> subaddressing_mode -> 'a1 **)
    1935 let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_668 =
    1936   let subaddressing_modeel = x_668 in
     1935let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_1636 =
     1936  let subaddressing_modeel = x_1636 in
    19371937  h_mk_subaddressing_mode subaddressing_modeel __
    19381938
     
    19401940    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19411941    'a1) -> subaddressing_mode -> 'a1 **)
    1942 let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_670 =
    1943   let subaddressing_modeel = x_670 in
     1942let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_1638 =
     1943  let subaddressing_modeel = x_1638 in
    19441944  h_mk_subaddressing_mode subaddressing_modeel __
    19451945
     
    19471947    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19481948    'a1) -> subaddressing_mode -> 'a1 **)
    1949 let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_672 =
    1950   let subaddressing_modeel = x_672 in
     1949let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_1640 =
     1950  let subaddressing_modeel = x_1640 in
    19511951  h_mk_subaddressing_mode subaddressing_modeel __
    19521952
     
    19541954    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19551955    'a1) -> subaddressing_mode -> 'a1 **)
    1956 let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_674 =
    1957   let subaddressing_modeel = x_674 in
     1956let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_1642 =
     1957  let subaddressing_modeel = x_1642 in
    19581958  h_mk_subaddressing_mode subaddressing_modeel __
    19591959
     
    19611961    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19621962    'a1) -> subaddressing_mode -> 'a1 **)
    1963 let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_676 =
    1964   let subaddressing_modeel = x_676 in
     1963let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_1644 =
     1964  let subaddressing_modeel = x_1644 in
    19651965  h_mk_subaddressing_mode subaddressing_modeel __
    19661966
     
    22882288    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    22892289let 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
    2290 | ADD (x_778, x_777) -> h_ADD x_778 x_777
    2291 | ADDC (x_780, x_779) -> h_ADDC x_780 x_779
    2292 | SUBB (x_782, x_781) -> h_SUBB x_782 x_781
    2293 | INC x_783 -> h_INC x_783
    2294 | DEC x_784 -> h_DEC x_784
    2295 | MUL (x_786, x_785) -> h_MUL x_786 x_785
    2296 | DIV (x_788, x_787) -> h_DIV x_788 x_787
    2297 | DA x_789 -> h_DA x_789
    2298 | JC x_790 -> h_JC x_790
    2299 | JNC x_791 -> h_JNC x_791
    2300 | JB (x_793, x_792) -> h_JB x_793 x_792
    2301 | JNB (x_795, x_794) -> h_JNB x_795 x_794
    2302 | JBC (x_797, x_796) -> h_JBC x_797 x_796
    2303 | JZ x_798 -> h_JZ x_798
    2304 | JNZ x_799 -> h_JNZ x_799
    2305 | CJNE (x_801, x_800) -> h_CJNE x_801 x_800
    2306 | DJNZ (x_803, x_802) -> h_DJNZ x_803 x_802
    2307 | ANL x_804 -> h_ANL x_804
    2308 | ORL x_805 -> h_ORL x_805
    2309 | XRL x_806 -> h_XRL x_806
    2310 | CLR x_807 -> h_CLR x_807
    2311 | CPL x_808 -> h_CPL x_808
    2312 | RL x_809 -> h_RL x_809
    2313 | RLC x_810 -> h_RLC x_810
    2314 | RR x_811 -> h_RR x_811
    2315 | RRC x_812 -> h_RRC x_812
    2316 | SWAP x_813 -> h_SWAP x_813
    2317 | MOV x_814 -> h_MOV x_814
    2318 | MOVX x_815 -> h_MOVX x_815
    2319 | SETB x_816 -> h_SETB x_816
    2320 | PUSH x_817 -> h_PUSH x_817
    2321 | POP x_818 -> h_POP x_818
    2322 | XCH (x_820, x_819) -> h_XCH x_820 x_819
    2323 | XCHD (x_822, x_821) -> h_XCHD x_822 x_821
     2290| ADD (x_1746, x_1745) -> h_ADD x_1746 x_1745
     2291| ADDC (x_1748, x_1747) -> h_ADDC x_1748 x_1747
     2292| SUBB (x_1750, x_1749) -> h_SUBB x_1750 x_1749
     2293| INC x_1751 -> h_INC x_1751
     2294| DEC x_1752 -> h_DEC x_1752
     2295| MUL (x_1754, x_1753) -> h_MUL x_1754 x_1753
     2296| DIV (x_1756, x_1755) -> h_DIV x_1756 x_1755
     2297| DA x_1757 -> h_DA x_1757
     2298| JC x_1758 -> h_JC x_1758
     2299| JNC x_1759 -> h_JNC x_1759
     2300| JB (x_1761, x_1760) -> h_JB x_1761 x_1760
     2301| JNB (x_1763, x_1762) -> h_JNB x_1763 x_1762
     2302| JBC (x_1765, x_1764) -> h_JBC x_1765 x_1764
     2303| JZ x_1766 -> h_JZ x_1766
     2304| JNZ x_1767 -> h_JNZ x_1767
     2305| CJNE (x_1769, x_1768) -> h_CJNE x_1769 x_1768
     2306| DJNZ (x_1771, x_1770) -> h_DJNZ x_1771 x_1770
     2307| ANL x_1772 -> h_ANL x_1772
     2308| ORL x_1773 -> h_ORL x_1773
     2309| XRL x_1774 -> h_XRL x_1774
     2310| CLR x_1775 -> h_CLR x_1775
     2311| CPL x_1776 -> h_CPL x_1776
     2312| RL x_1777 -> h_RL x_1777
     2313| RLC x_1778 -> h_RLC x_1778
     2314| RR x_1779 -> h_RR x_1779
     2315| RRC x_1780 -> h_RRC x_1780
     2316| SWAP x_1781 -> h_SWAP x_1781
     2317| MOV x_1782 -> h_MOV x_1782
     2318| MOVX x_1783 -> h_MOVX x_1783
     2319| SETB x_1784 -> h_SETB x_1784
     2320| PUSH x_1785 -> h_PUSH x_1785
     2321| POP x_1786 -> h_POP x_1786
     2322| XCH (x_1788, x_1787) -> h_XCH x_1788 x_1787
     2323| XCHD (x_1790, x_1789) -> h_XCHD x_1790 x_1789
    23242324| RET -> h_RET
    23252325| RETI -> h_RETI
    23262326| NOP -> h_NOP
    2327 | JMP x_823 -> h_JMP x_823
     2327| JMP x_1791 -> h_JMP x_1791
    23282328
    23292329(** val preinstruction_rect_Type5 :
     
    23632363    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    23642364let 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
    2365 | ADD (x_864, x_863) -> h_ADD x_864 x_863
    2366 | ADDC (x_866, x_865) -> h_ADDC x_866 x_865
    2367 | SUBB (x_868, x_867) -> h_SUBB x_868 x_867
    2368 | INC x_869 -> h_INC x_869
    2369 | DEC x_870 -> h_DEC x_870
    2370 | MUL (x_872, x_871) -> h_MUL x_872 x_871
    2371 | DIV (x_874, x_873) -> h_DIV x_874 x_873
    2372 | DA x_875 -> h_DA x_875
    2373 | JC x_876 -> h_JC x_876
    2374 | JNC x_877 -> h_JNC x_877
    2375 | JB (x_879, x_878) -> h_JB x_879 x_878
    2376 | JNB (x_881, x_880) -> h_JNB x_881 x_880
    2377 | JBC (x_883, x_882) -> h_JBC x_883 x_882
    2378 | JZ x_884 -> h_JZ x_884
    2379 | JNZ x_885 -> h_JNZ x_885
    2380 | CJNE (x_887, x_886) -> h_CJNE x_887 x_886
    2381 | DJNZ (x_889, x_888) -> h_DJNZ x_889 x_888
    2382 | ANL x_890 -> h_ANL x_890
    2383 | ORL x_891 -> h_ORL x_891
    2384 | XRL x_892 -> h_XRL x_892
    2385 | CLR x_893 -> h_CLR x_893
    2386 | CPL x_894 -> h_CPL x_894
    2387 | RL x_895 -> h_RL x_895
    2388 | RLC x_896 -> h_RLC x_896
    2389 | RR x_897 -> h_RR x_897
    2390 | RRC x_898 -> h_RRC x_898
    2391 | SWAP x_899 -> h_SWAP x_899
    2392 | MOV x_900 -> h_MOV x_900
    2393 | MOVX x_901 -> h_MOVX x_901
    2394 | SETB x_902 -> h_SETB x_902
    2395 | PUSH x_903 -> h_PUSH x_903
    2396 | POP x_904 -> h_POP x_904
    2397 | XCH (x_906, x_905) -> h_XCH x_906 x_905
    2398 | XCHD (x_908, x_907) -> h_XCHD x_908 x_907
     2365| ADD (x_1832, x_1831) -> h_ADD x_1832 x_1831
     2366| ADDC (x_1834, x_1833) -> h_ADDC x_1834 x_1833
     2367| SUBB (x_1836, x_1835) -> h_SUBB x_1836 x_1835
     2368| INC x_1837 -> h_INC x_1837
     2369| DEC x_1838 -> h_DEC x_1838
     2370| MUL (x_1840, x_1839) -> h_MUL x_1840 x_1839
     2371| DIV (x_1842, x_1841) -> h_DIV x_1842 x_1841
     2372| DA x_1843 -> h_DA x_1843
     2373| JC x_1844 -> h_JC x_1844
     2374| JNC x_1845 -> h_JNC x_1845
     2375| JB (x_1847, x_1846) -> h_JB x_1847 x_1846
     2376| JNB (x_1849, x_1848) -> h_JNB x_1849 x_1848
     2377| JBC (x_1851, x_1850) -> h_JBC x_1851 x_1850
     2378| JZ x_1852 -> h_JZ x_1852
     2379| JNZ x_1853 -> h_JNZ x_1853
     2380| CJNE (x_1855, x_1854) -> h_CJNE x_1855 x_1854
     2381| DJNZ (x_1857, x_1856) -> h_DJNZ x_1857 x_1856
     2382| ANL x_1858 -> h_ANL x_1858
     2383| ORL x_1859 -> h_ORL x_1859
     2384| XRL x_1860 -> h_XRL x_1860
     2385| CLR x_1861 -> h_CLR x_1861
     2386| CPL x_1862 -> h_CPL x_1862
     2387| RL x_1863 -> h_RL x_1863
     2388| RLC x_1864 -> h_RLC x_1864
     2389| RR x_1865 -> h_RR x_1865
     2390| RRC x_1866 -> h_RRC x_1866
     2391| SWAP x_1867 -> h_SWAP x_1867
     2392| MOV x_1868 -> h_MOV x_1868
     2393| MOVX x_1869 -> h_MOVX x_1869
     2394| SETB x_1870 -> h_SETB x_1870
     2395| PUSH x_1871 -> h_PUSH x_1871
     2396| POP x_1872 -> h_POP x_1872
     2397| XCH (x_1874, x_1873) -> h_XCH x_1874 x_1873
     2398| XCHD (x_1876, x_1875) -> h_XCHD x_1876 x_1875
    23992399| RET -> h_RET
    24002400| RETI -> h_RETI
    24012401| NOP -> h_NOP
    2402 | JMP x_909 -> h_JMP x_909
     2402| JMP x_1877 -> h_JMP x_1877
    24032403
    24042404(** val preinstruction_rect_Type3 :
     
    24382438    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    24392439let 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
    2440 | ADD (x_950, x_949) -> h_ADD x_950 x_949
    2441 | ADDC (x_952, x_951) -> h_ADDC x_952 x_951
    2442 | SUBB (x_954, x_953) -> h_SUBB x_954 x_953
    2443 | INC x_955 -> h_INC x_955
    2444 | DEC x_956 -> h_DEC x_956
    2445 | MUL (x_958, x_957) -> h_MUL x_958 x_957
    2446 | DIV (x_960, x_959) -> h_DIV x_960 x_959
    2447 | DA x_961 -> h_DA x_961
    2448 | JC x_962 -> h_JC x_962
    2449 | JNC x_963 -> h_JNC x_963
    2450 | JB (x_965, x_964) -> h_JB x_965 x_964
    2451 | JNB (x_967, x_966) -> h_JNB x_967 x_966
    2452 | JBC (x_969, x_968) -> h_JBC x_969 x_968
    2453 | JZ x_970 -> h_JZ x_970
    2454 | JNZ x_971 -> h_JNZ x_971
    2455 | CJNE (x_973, x_972) -> h_CJNE x_973 x_972
    2456 | DJNZ (x_975, x_974) -> h_DJNZ x_975 x_974
    2457 | ANL x_976 -> h_ANL x_976
    2458 | ORL x_977 -> h_ORL x_977
    2459 | XRL x_978 -> h_XRL x_978
    2460 | CLR x_979 -> h_CLR x_979
    2461 | CPL x_980 -> h_CPL x_980
    2462 | RL x_981 -> h_RL x_981
    2463 | RLC x_982 -> h_RLC x_982
    2464 | RR x_983 -> h_RR x_983
    2465 | RRC x_984 -> h_RRC x_984
    2466 | SWAP x_985 -> h_SWAP x_985
    2467 | MOV x_986 -> h_MOV x_986
    2468 | MOVX x_987 -> h_MOVX x_987
    2469 | SETB x_988 -> h_SETB x_988
    2470 | PUSH x_989 -> h_PUSH x_989
    2471 | POP x_990 -> h_POP x_990
    2472 | XCH (x_992, x_991) -> h_XCH x_992 x_991
    2473 | XCHD (x_994, x_993) -> h_XCHD x_994 x_993
     2440| ADD (x_1918, x_1917) -> h_ADD x_1918 x_1917
     2441| ADDC (x_1920, x_1919) -> h_ADDC x_1920 x_1919
     2442| SUBB (x_1922, x_1921) -> h_SUBB x_1922 x_1921
     2443| INC x_1923 -> h_INC x_1923
     2444| DEC x_1924 -> h_DEC x_1924
     2445| MUL (x_1926, x_1925) -> h_MUL x_1926 x_1925
     2446| DIV (x_1928, x_1927) -> h_DIV x_1928 x_1927
     2447| DA x_1929 -> h_DA x_1929
     2448| JC x_1930 -> h_JC x_1930
     2449| JNC x_1931 -> h_JNC x_1931
     2450| JB (x_1933, x_1932) -> h_JB x_1933 x_1932
     2451| JNB (x_1935, x_1934) -> h_JNB x_1935 x_1934
     2452| JBC (x_1937, x_1936) -> h_JBC x_1937 x_1936
     2453| JZ x_1938 -> h_JZ x_1938
     2454| JNZ x_1939 -> h_JNZ x_1939
     2455| CJNE (x_1941, x_1940) -> h_CJNE x_1941 x_1940
     2456| DJNZ (x_1943, x_1942) -> h_DJNZ x_1943 x_1942
     2457| ANL x_1944 -> h_ANL x_1944
     2458| ORL x_1945 -> h_ORL x_1945
     2459| XRL x_1946 -> h_XRL x_1946
     2460| CLR x_1947 -> h_CLR x_1947
     2461| CPL x_1948 -> h_CPL x_1948
     2462| RL x_1949 -> h_RL x_1949
     2463| RLC x_1950 -> h_RLC x_1950
     2464| RR x_1951 -> h_RR x_1951
     2465| RRC x_1952 -> h_RRC x_1952
     2466| SWAP x_1953 -> h_SWAP x_1953
     2467| MOV x_1954 -> h_MOV x_1954
     2468| MOVX x_1955 -> h_MOVX x_1955
     2469| SETB x_1956 -> h_SETB x_1956
     2470| PUSH x_1957 -> h_PUSH x_1957
     2471| POP x_1958 -> h_POP x_1958
     2472| XCH (x_1960, x_1959) -> h_XCH x_1960 x_1959
     2473| XCHD (x_1962, x_1961) -> h_XCHD x_1962 x_1961
    24742474| RET -> h_RET
    24752475| RETI -> h_RETI
    24762476| NOP -> h_NOP
    2477 | JMP x_995 -> h_JMP x_995
     2477| JMP x_1963 -> h_JMP x_1963
    24782478
    24792479(** val preinstruction_rect_Type2 :
     
    25132513    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    25142514let 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
    2515 | ADD (x_1036, x_1035) -> h_ADD x_1036 x_1035
    2516 | ADDC (x_1038, x_1037) -> h_ADDC x_1038 x_1037
    2517 | SUBB (x_1040, x_1039) -> h_SUBB x_1040 x_1039
    2518 | INC x_1041 -> h_INC x_1041
    2519 | DEC x_1042 -> h_DEC x_1042
    2520 | MUL (x_1044, x_1043) -> h_MUL x_1044 x_1043
    2521 | DIV (x_1046, x_1045) -> h_DIV x_1046 x_1045
    2522 | DA x_1047 -> h_DA x_1047
    2523 | JC x_1048 -> h_JC x_1048
    2524 | JNC x_1049 -> h_JNC x_1049
    2525 | JB (x_1051, x_1050) -> h_JB x_1051 x_1050
    2526 | JNB (x_1053, x_1052) -> h_JNB x_1053 x_1052
    2527 | JBC (x_1055, x_1054) -> h_JBC x_1055 x_1054
    2528 | JZ x_1056 -> h_JZ x_1056
    2529 | JNZ x_1057 -> h_JNZ x_1057
    2530 | CJNE (x_1059, x_1058) -> h_CJNE x_1059 x_1058
    2531 | DJNZ (x_1061, x_1060) -> h_DJNZ x_1061 x_1060
    2532 | ANL x_1062 -> h_ANL x_1062
    2533 | ORL x_1063 -> h_ORL x_1063
    2534 | XRL x_1064 -> h_XRL x_1064
    2535 | CLR x_1065 -> h_CLR x_1065
    2536 | CPL x_1066 -> h_CPL x_1066
    2537 | RL x_1067 -> h_RL x_1067
    2538 | RLC x_1068 -> h_RLC x_1068
    2539 | RR x_1069 -> h_RR x_1069
    2540 | RRC x_1070 -> h_RRC x_1070
    2541 | SWAP x_1071 -> h_SWAP x_1071
    2542 | MOV x_1072 -> h_MOV x_1072
    2543 | MOVX x_1073 -> h_MOVX x_1073
    2544 | SETB x_1074 -> h_SETB x_1074
    2545 | PUSH x_1075 -> h_PUSH x_1075
    2546 | POP x_1076 -> h_POP x_1076
    2547 | XCH (x_1078, x_1077) -> h_XCH x_1078 x_1077
    2548 | XCHD (x_1080, x_1079) -> h_XCHD x_1080 x_1079
     2515| ADD (x_2004, x_2003) -> h_ADD x_2004 x_2003
     2516| ADDC (x_2006, x_2005) -> h_ADDC x_2006 x_2005
     2517| SUBB (x_2008, x_2007) -> h_SUBB x_2008 x_2007
     2518| INC x_2009 -> h_INC x_2009
     2519| DEC x_2010 -> h_DEC x_2010
     2520| MUL (x_2012, x_2011) -> h_MUL x_2012 x_2011
     2521| DIV (x_2014, x_2013) -> h_DIV x_2014 x_2013
     2522| DA x_2015 -> h_DA x_2015
     2523| JC x_2016 -> h_JC x_2016
     2524| JNC x_2017 -> h_JNC x_2017
     2525| JB (x_2019, x_2018) -> h_JB x_2019 x_2018
     2526| JNB (x_2021, x_2020) -> h_JNB x_2021 x_2020
     2527| JBC (x_2023, x_2022) -> h_JBC x_2023 x_2022
     2528| JZ x_2024 -> h_JZ x_2024
     2529| JNZ x_2025 -> h_JNZ x_2025
     2530| CJNE (x_2027, x_2026) -> h_CJNE x_2027 x_2026
     2531| DJNZ (x_2029, x_2028) -> h_DJNZ x_2029 x_2028
     2532| ANL x_2030 -> h_ANL x_2030
     2533| ORL x_2031 -> h_ORL x_2031
     2534| XRL x_2032 -> h_XRL x_2032
     2535| CLR x_2033 -> h_CLR x_2033
     2536| CPL x_2034 -> h_CPL x_2034
     2537| RL x_2035 -> h_RL x_2035
     2538| RLC x_2036 -> h_RLC x_2036
     2539| RR x_2037 -> h_RR x_2037
     2540| RRC x_2038 -> h_RRC x_2038
     2541| SWAP x_2039 -> h_SWAP x_2039
     2542| MOV x_2040 -> h_MOV x_2040
     2543| MOVX x_2041 -> h_MOVX x_2041
     2544| SETB x_2042 -> h_SETB x_2042
     2545| PUSH x_2043 -> h_PUSH x_2043
     2546| POP x_2044 -> h_POP x_2044
     2547| XCH (x_2046, x_2045) -> h_XCH x_2046 x_2045
     2548| XCHD (x_2048, x_2047) -> h_XCHD x_2048 x_2047
    25492549| RET -> h_RET
    25502550| RETI -> h_RETI
    25512551| NOP -> h_NOP
    2552 | JMP x_1081 -> h_JMP x_1081
     2552| JMP x_2049 -> h_JMP x_2049
    25532553
    25542554(** val preinstruction_rect_Type1 :
     
    25882588    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    25892589let 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
    2590 | ADD (x_1122, x_1121) -> h_ADD x_1122 x_1121
    2591 | ADDC (x_1124, x_1123) -> h_ADDC x_1124 x_1123
    2592 | SUBB (x_1126, x_1125) -> h_SUBB x_1126 x_1125
    2593 | INC x_1127 -> h_INC x_1127
    2594 | DEC x_1128 -> h_DEC x_1128
    2595 | MUL (x_1130, x_1129) -> h_MUL x_1130 x_1129
    2596 | DIV (x_1132, x_1131) -> h_DIV x_1132 x_1131
    2597 | DA x_1133 -> h_DA x_1133
    2598 | JC x_1134 -> h_JC x_1134
    2599 | JNC x_1135 -> h_JNC x_1135
    2600 | JB (x_1137, x_1136) -> h_JB x_1137 x_1136
    2601 | JNB (x_1139, x_1138) -> h_JNB x_1139 x_1138
    2602 | JBC (x_1141, x_1140) -> h_JBC x_1141 x_1140
    2603 | JZ x_1142 -> h_JZ x_1142
    2604 | JNZ x_1143 -> h_JNZ x_1143
    2605 | CJNE (x_1145, x_1144) -> h_CJNE x_1145 x_1144
    2606 | DJNZ (x_1147, x_1146) -> h_DJNZ x_1147 x_1146
    2607 | ANL x_1148 -> h_ANL x_1148
    2608 | ORL x_1149 -> h_ORL x_1149
    2609 | XRL x_1150 -> h_XRL x_1150
    2610 | CLR x_1151 -> h_CLR x_1151
    2611 | CPL x_1152 -> h_CPL x_1152
    2612 | RL x_1153 -> h_RL x_1153
    2613 | RLC x_1154 -> h_RLC x_1154
    2614 | RR x_1155 -> h_RR x_1155
    2615 | RRC x_1156 -> h_RRC x_1156
    2616 | SWAP x_1157 -> h_SWAP x_1157
    2617 | MOV x_1158 -> h_MOV x_1158
    2618 | MOVX x_1159 -> h_MOVX x_1159
    2619 | SETB x_1160 -> h_SETB x_1160
    2620 | PUSH x_1161 -> h_PUSH x_1161
    2621 | POP x_1162 -> h_POP x_1162
    2622 | XCH (x_1164, x_1163) -> h_XCH x_1164 x_1163
    2623 | XCHD (x_1166, x_1165) -> h_XCHD x_1166 x_1165
     2590| ADD (x_2090, x_2089) -> h_ADD x_2090 x_2089
     2591| ADDC (x_2092, x_2091) -> h_ADDC x_2092 x_2091
     2592| SUBB (x_2094, x_2093) -> h_SUBB x_2094 x_2093
     2593| INC x_2095 -> h_INC x_2095
     2594| DEC x_2096 -> h_DEC x_2096
     2595| MUL (x_2098, x_2097) -> h_MUL x_2098 x_2097
     2596| DIV (x_2100, x_2099) -> h_DIV x_2100 x_2099
     2597| DA x_2101 -> h_DA x_2101
     2598| JC x_2102 -> h_JC x_2102
     2599| JNC x_2103 -> h_JNC x_2103
     2600| JB (x_2105, x_2104) -> h_JB x_2105 x_2104
     2601| JNB (x_2107, x_2106) -> h_JNB x_2107 x_2106
     2602| JBC (x_2109, x_2108) -> h_JBC x_2109 x_2108
     2603| JZ x_2110 -> h_JZ x_2110
     2604| JNZ x_2111 -> h_JNZ x_2111
     2605| CJNE (x_2113, x_2112) -> h_CJNE x_2113 x_2112
     2606| DJNZ (x_2115, x_2114) -> h_DJNZ x_2115 x_2114
     2607| ANL x_2116 -> h_ANL x_2116
     2608| ORL x_2117 -> h_ORL x_2117
     2609| XRL x_2118 -> h_XRL x_2118
     2610| CLR x_2119 -> h_CLR x_2119
     2611| CPL x_2120 -> h_CPL x_2120
     2612| RL x_2121 -> h_RL x_2121
     2613| RLC x_2122 -> h_RLC x_2122
     2614| RR x_2123 -> h_RR x_2123
     2615| RRC x_2124 -> h_RRC x_2124
     2616| SWAP x_2125 -> h_SWAP x_2125
     2617| MOV x_2126 -> h_MOV x_2126
     2618| MOVX x_2127 -> h_MOVX x_2127
     2619| SETB x_2128 -> h_SETB x_2128
     2620| PUSH x_2129 -> h_PUSH x_2129
     2621| POP x_2130 -> h_POP x_2130
     2622| XCH (x_2132, x_2131) -> h_XCH x_2132 x_2131
     2623| XCHD (x_2134, x_2133) -> h_XCHD x_2134 x_2133
    26242624| RET -> h_RET
    26252625| RETI -> h_RETI
    26262626| NOP -> h_NOP
    2627 | JMP x_1167 -> h_JMP x_1167
     2627| JMP x_2135 -> h_JMP x_2135
    26282628
    26292629(** val preinstruction_rect_Type0 :
     
    26632663    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    26642664let 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
    2665 | ADD (x_1208, x_1207) -> h_ADD x_1208 x_1207
    2666 | ADDC (x_1210, x_1209) -> h_ADDC x_1210 x_1209
    2667 | SUBB (x_1212, x_1211) -> h_SUBB x_1212 x_1211
    2668 | INC x_1213 -> h_INC x_1213
    2669 | DEC x_1214 -> h_DEC x_1214
    2670 | MUL (x_1216, x_1215) -> h_MUL x_1216 x_1215
    2671 | DIV (x_1218, x_1217) -> h_DIV x_1218 x_1217
    2672 | DA x_1219 -> h_DA x_1219
    2673 | JC x_1220 -> h_JC x_1220
    2674 | JNC x_1221 -> h_JNC x_1221
    2675 | JB (x_1223, x_1222) -> h_JB x_1223 x_1222
    2676 | JNB (x_1225, x_1224) -> h_JNB x_1225 x_1224
    2677 | JBC (x_1227, x_1226) -> h_JBC x_1227 x_1226
    2678 | JZ x_1228 -> h_JZ x_1228
    2679 | JNZ x_1229 -> h_JNZ x_1229
    2680 | CJNE (x_1231, x_1230) -> h_CJNE x_1231 x_1230
    2681 | DJNZ (x_1233, x_1232) -> h_DJNZ x_1233 x_1232
    2682 | ANL x_1234 -> h_ANL x_1234
    2683 | ORL x_1235 -> h_ORL x_1235
    2684 | XRL x_1236 -> h_XRL x_1236
    2685 | CLR x_1237 -> h_CLR x_1237
    2686 | CPL x_1238 -> h_CPL x_1238
    2687 | RL x_1239 -> h_RL x_1239
    2688 | RLC x_1240 -> h_RLC x_1240
    2689 | RR x_1241 -> h_RR x_1241
    2690 | RRC x_1242 -> h_RRC x_1242
    2691 | SWAP x_1243 -> h_SWAP x_1243
    2692 | MOV x_1244 -> h_MOV x_1244
    2693 | MOVX x_1245 -> h_MOVX x_1245
    2694 | SETB x_1246 -> h_SETB x_1246
    2695 | PUSH x_1247 -> h_PUSH x_1247
    2696 | POP x_1248 -> h_POP x_1248
    2697 | XCH (x_1250, x_1249) -> h_XCH x_1250 x_1249
    2698 | XCHD (x_1252, x_1251) -> h_XCHD x_1252 x_1251
     2665| ADD (x_2176, x_2175) -> h_ADD x_2176 x_2175
     2666| ADDC (x_2178, x_2177) -> h_ADDC x_2178 x_2177
     2667| SUBB (x_2180, x_2179) -> h_SUBB x_2180 x_2179
     2668| INC x_2181 -> h_INC x_2181
     2669| DEC x_2182 -> h_DEC x_2182
     2670| MUL (x_2184, x_2183) -> h_MUL x_2184 x_2183
     2671| DIV (x_2186, x_2185) -> h_DIV x_2186 x_2185
     2672| DA x_2187 -> h_DA x_2187
     2673| JC x_2188 -> h_JC x_2188
     2674| JNC x_2189 -> h_JNC x_2189
     2675| JB (x_2191, x_2190) -> h_JB x_2191 x_2190
     2676| JNB (x_2193, x_2192) -> h_JNB x_2193 x_2192
     2677| JBC (x_2195, x_2194) -> h_JBC x_2195 x_2194
     2678| JZ x_2196 -> h_JZ x_2196
     2679| JNZ x_2197 -> h_JNZ x_2197
     2680| CJNE (x_2199, x_2198) -> h_CJNE x_2199 x_2198
     2681| DJNZ (x_2201, x_2200) -> h_DJNZ x_2201 x_2200
     2682| ANL x_2202 -> h_ANL x_2202
     2683| ORL x_2203 -> h_ORL x_2203
     2684| XRL x_2204 -> h_XRL x_2204
     2685| CLR x_2205 -> h_CLR x_2205
     2686| CPL x_2206 -> h_CPL x_2206
     2687| RL x_2207 -> h_RL x_2207
     2688| RLC x_2208 -> h_RLC x_2208
     2689| RR x_2209 -> h_RR x_2209
     2690| RRC x_2210 -> h_RRC x_2210
     2691| SWAP x_2211 -> h_SWAP x_2211
     2692| MOV x_2212 -> h_MOV x_2212
     2693| MOVX x_2213 -> h_MOVX x_2213
     2694| SETB x_2214 -> h_SETB x_2214
     2695| PUSH x_2215 -> h_PUSH x_2215
     2696| POP x_2216 -> h_POP x_2216
     2697| XCH (x_2218, x_2217) -> h_XCH x_2218 x_2217
     2698| XCHD (x_2220, x_2219) -> h_XCHD x_2220 x_2219
    26992699| RET -> h_RET
    27002700| RETI -> h_RETI
    27012701| NOP -> h_NOP
    2702 | JMP x_1253 -> h_JMP x_1253
     2702| JMP x_2221 -> h_JMP x_2221
    27032703
    27042704(** val preinstruction_inv_rect_Type4 :
     
    51045104    'a1 **)
    51055105let rec instruction_rect_Type4 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5106 | ACALL x_1825 -> h_ACALL x_1825
    5107 | LCALL x_1826 -> h_LCALL x_1826
    5108 | AJMP x_1827 -> h_AJMP x_1827
    5109 | LJMP x_1828 -> h_LJMP x_1828
    5110 | SJMP x_1829 -> h_SJMP x_1829
    5111 | MOVC (x_1831, x_1830) -> h_MOVC x_1831 x_1830
    5112 | RealInstruction x_1832 -> h_RealInstruction x_1832
     5106| ACALL x_2793 -> h_ACALL x_2793
     5107| LCALL x_2794 -> h_LCALL x_2794
     5108| AJMP x_2795 -> h_AJMP x_2795
     5109| LJMP x_2796 -> h_LJMP x_2796
     5110| SJMP x_2797 -> h_SJMP x_2797
     5111| MOVC (x_2799, x_2798) -> h_MOVC x_2799 x_2798
     5112| RealInstruction x_2800 -> h_RealInstruction x_2800
    51135113
    51145114(** val instruction_rect_Type5 :
     
    51195119    'a1 **)
    51205120let rec instruction_rect_Type5 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5121 | ACALL x_1841 -> h_ACALL x_1841
    5122 | LCALL x_1842 -> h_LCALL x_1842
    5123 | AJMP x_1843 -> h_AJMP x_1843
    5124 | LJMP x_1844 -> h_LJMP x_1844
    5125 | SJMP x_1845 -> h_SJMP x_1845
    5126 | MOVC (x_1847, x_1846) -> h_MOVC x_1847 x_1846
    5127 | RealInstruction x_1848 -> h_RealInstruction x_1848
     5121| ACALL x_2809 -> h_ACALL x_2809
     5122| LCALL x_2810 -> h_LCALL x_2810
     5123| AJMP x_2811 -> h_AJMP x_2811
     5124| LJMP x_2812 -> h_LJMP x_2812
     5125| SJMP x_2813 -> h_SJMP x_2813
     5126| MOVC (x_2815, x_2814) -> h_MOVC x_2815 x_2814
     5127| RealInstruction x_2816 -> h_RealInstruction x_2816
    51285128
    51295129(** val instruction_rect_Type3 :
     
    51345134    'a1 **)
    51355135let rec instruction_rect_Type3 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5136 | ACALL x_1857 -> h_ACALL x_1857
    5137 | LCALL x_1858 -> h_LCALL x_1858
    5138 | AJMP x_1859 -> h_AJMP x_1859
    5139 | LJMP x_1860 -> h_LJMP x_1860
    5140 | SJMP x_1861 -> h_SJMP x_1861
    5141 | MOVC (x_1863, x_1862) -> h_MOVC x_1863 x_1862
    5142 | RealInstruction x_1864 -> h_RealInstruction x_1864
     5136| ACALL x_2825 -> h_ACALL x_2825
     5137| LCALL x_2826 -> h_LCALL x_2826
     5138| AJMP x_2827 -> h_AJMP x_2827
     5139| LJMP x_2828 -> h_LJMP x_2828
     5140| SJMP x_2829 -> h_SJMP x_2829
     5141| MOVC (x_2831, x_2830) -> h_MOVC x_2831 x_2830
     5142| RealInstruction x_2832 -> h_RealInstruction x_2832
    51435143
    51445144(** val instruction_rect_Type2 :
     
    51495149    'a1 **)
    51505150let rec instruction_rect_Type2 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5151 | ACALL x_1873 -> h_ACALL x_1873
    5152 | LCALL x_1874 -> h_LCALL x_1874
    5153 | AJMP x_1875 -> h_AJMP x_1875
    5154 | LJMP x_1876 -> h_LJMP x_1876
    5155 | SJMP x_1877 -> h_SJMP x_1877
    5156 | MOVC (x_1879, x_1878) -> h_MOVC x_1879 x_1878
    5157 | RealInstruction x_1880 -> h_RealInstruction x_1880
     5151| ACALL x_2841 -> h_ACALL x_2841
     5152| LCALL x_2842 -> h_LCALL x_2842
     5153| AJMP x_2843 -> h_AJMP x_2843
     5154| LJMP x_2844 -> h_LJMP x_2844
     5155| SJMP x_2845 -> h_SJMP x_2845
     5156| MOVC (x_2847, x_2846) -> h_MOVC x_2847 x_2846
     5157| RealInstruction x_2848 -> h_RealInstruction x_2848
    51585158
    51595159(** val instruction_rect_Type1 :
     
    51645164    'a1 **)
    51655165let rec instruction_rect_Type1 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5166 | ACALL x_1889 -> h_ACALL x_1889
    5167 | LCALL x_1890 -> h_LCALL x_1890
    5168 | AJMP x_1891 -> h_AJMP x_1891
    5169 | LJMP x_1892 -> h_LJMP x_1892
    5170 | SJMP x_1893 -> h_SJMP x_1893
    5171 | MOVC (x_1895, x_1894) -> h_MOVC x_1895 x_1894
    5172 | RealInstruction x_1896 -> h_RealInstruction x_1896
     5166| ACALL x_2857 -> h_ACALL x_2857
     5167| LCALL x_2858 -> h_LCALL x_2858
     5168| AJMP x_2859 -> h_AJMP x_2859
     5169| LJMP x_2860 -> h_LJMP x_2860
     5170| SJMP x_2861 -> h_SJMP x_2861
     5171| MOVC (x_2863, x_2862) -> h_MOVC x_2863 x_2862
     5172| RealInstruction x_2864 -> h_RealInstruction x_2864
    51735173
    51745174(** val instruction_rect_Type0 :
     
    51795179    'a1 **)
    51805180let rec instruction_rect_Type0 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5181 | ACALL x_1905 -> h_ACALL x_1905
    5182 | LCALL x_1906 -> h_LCALL x_1906
    5183 | AJMP x_1907 -> h_AJMP x_1907
    5184 | LJMP x_1908 -> h_LJMP x_1908
    5185 | SJMP x_1909 -> h_SJMP x_1909
    5186 | MOVC (x_1911, x_1910) -> h_MOVC x_1911 x_1910
    5187 | RealInstruction x_1912 -> h_RealInstruction x_1912
     5181| ACALL x_2873 -> h_ACALL x_2873
     5182| LCALL x_2874 -> h_LCALL x_2874
     5183| AJMP x_2875 -> h_AJMP x_2875
     5184| LJMP x_2876 -> h_LJMP x_2876
     5185| SJMP x_2877 -> h_SJMP x_2877
     5186| MOVC (x_2879, x_2878) -> h_MOVC x_2879 x_2878
     5187| RealInstruction x_2880 -> h_RealInstruction x_2880
    51885188
    51895189(** val instruction_inv_rect_Type4 :
     
    54765476    -> 'a1 **)
    54775477let rec pseudo_instruction_rect_Type4 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5478 | Instruction x_2078 -> h_Instruction x_2078
    5479 | Comment x_2079 -> h_Comment x_2079
    5480 | Cost x_2080 -> h_Cost x_2080
    5481 | Jmp x_2081 -> h_Jmp x_2081
    5482 | Jnz (x_2084, x_2083, x_2082) -> h_Jnz x_2084 x_2083 x_2082
    5483 | MovSuccessor (x_2087, x_2086, x_2085) ->
    5484   h_MovSuccessor x_2087 x_2086 x_2085
    5485 | Call x_2088 -> h_Call x_2088
    5486 | Mov (x_2090, x_2089) -> h_Mov x_2090 x_2089
     5478| Instruction x_3046 -> h_Instruction x_3046
     5479| Comment x_3047 -> h_Comment x_3047
     5480| Cost x_3048 -> h_Cost x_3048
     5481| Jmp x_3049 -> h_Jmp x_3049
     5482| Jnz (x_3052, x_3051, x_3050) -> h_Jnz x_3052 x_3051 x_3050
     5483| MovSuccessor (x_3055, x_3054, x_3053) ->
     5484  h_MovSuccessor x_3055 x_3054 x_3053
     5485| Call x_3056 -> h_Call x_3056
     5486| Mov (x_3058, x_3057) -> h_Mov x_3058 x_3057
    54875487
    54885488(** val pseudo_instruction_rect_Type5 :
     
    54945494    -> 'a1 **)
    54955495let rec pseudo_instruction_rect_Type5 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5496 | Instruction x_2100 -> h_Instruction x_2100
    5497 | Comment x_2101 -> h_Comment x_2101
    5498 | Cost x_2102 -> h_Cost x_2102
    5499 | Jmp x_2103 -> h_Jmp x_2103
    5500 | Jnz (x_2106, x_2105, x_2104) -> h_Jnz x_2106 x_2105 x_2104
    5501 | MovSuccessor (x_2109, x_2108, x_2107) ->
    5502   h_MovSuccessor x_2109 x_2108 x_2107
    5503 | Call x_2110 -> h_Call x_2110
    5504 | Mov (x_2112, x_2111) -> h_Mov x_2112 x_2111
     5496| Instruction x_3068 -> h_Instruction x_3068
     5497| Comment x_3069 -> h_Comment x_3069
     5498| Cost x_3070 -> h_Cost x_3070
     5499| Jmp x_3071 -> h_Jmp x_3071
     5500| Jnz (x_3074, x_3073, x_3072) -> h_Jnz x_3074 x_3073 x_3072
     5501| MovSuccessor (x_3077, x_3076, x_3075) ->
     5502  h_MovSuccessor x_3077 x_3076 x_3075
     5503| Call x_3078 -> h_Call x_3078
     5504| Mov (x_3080, x_3079) -> h_Mov x_3080 x_3079
    55055505
    55065506(** val pseudo_instruction_rect_Type3 :
     
    55125512    -> 'a1 **)
    55135513let rec pseudo_instruction_rect_Type3 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5514 | Instruction x_2122 -> h_Instruction x_2122
    5515 | Comment x_2123 -> h_Comment x_2123
    5516 | Cost x_2124 -> h_Cost x_2124
    5517 | Jmp x_2125 -> h_Jmp x_2125
    5518 | Jnz (x_2128, x_2127, x_2126) -> h_Jnz x_2128 x_2127 x_2126
    5519 | MovSuccessor (x_2131, x_2130, x_2129) ->
    5520   h_MovSuccessor x_2131 x_2130 x_2129
    5521 | Call x_2132 -> h_Call x_2132
    5522 | Mov (x_2134, x_2133) -> h_Mov x_2134 x_2133
     5514| Instruction x_3090 -> h_Instruction x_3090
     5515| Comment x_3091 -> h_Comment x_3091
     5516| Cost x_3092 -> h_Cost x_3092
     5517| Jmp x_3093 -> h_Jmp x_3093
     5518| Jnz (x_3096, x_3095, x_3094) -> h_Jnz x_3096 x_3095 x_3094
     5519| MovSuccessor (x_3099, x_3098, x_3097) ->
     5520  h_MovSuccessor x_3099 x_3098 x_3097
     5521| Call x_3100 -> h_Call x_3100
     5522| Mov (x_3102, x_3101) -> h_Mov x_3102 x_3101
    55235523
    55245524(** val pseudo_instruction_rect_Type2 :
     
    55305530    -> 'a1 **)
    55315531let rec pseudo_instruction_rect_Type2 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5532 | Instruction x_2144 -> h_Instruction x_2144
    5533 | Comment x_2145 -> h_Comment x_2145
    5534 | Cost x_2146 -> h_Cost x_2146
    5535 | Jmp x_2147 -> h_Jmp x_2147
    5536 | Jnz (x_2150, x_2149, x_2148) -> h_Jnz x_2150 x_2149 x_2148
    5537 | MovSuccessor (x_2153, x_2152, x_2151) ->
    5538   h_MovSuccessor x_2153 x_2152 x_2151
    5539 | Call x_2154 -> h_Call x_2154
    5540 | Mov (x_2156, x_2155) -> h_Mov x_2156 x_2155
     5532| Instruction x_3112 -> h_Instruction x_3112
     5533| Comment x_3113 -> h_Comment x_3113
     5534| Cost x_3114 -> h_Cost x_3114
     5535| Jmp x_3115 -> h_Jmp x_3115
     5536| Jnz (x_3118, x_3117, x_3116) -> h_Jnz x_3118 x_3117 x_3116
     5537| MovSuccessor (x_3121, x_3120, x_3119) ->
     5538  h_MovSuccessor x_3121 x_3120 x_3119
     5539| Call x_3122 -> h_Call x_3122
     5540| Mov (x_3124, x_3123) -> h_Mov x_3124 x_3123
    55415541
    55425542(** val pseudo_instruction_rect_Type1 :
     
    55485548    -> 'a1 **)
    55495549let rec pseudo_instruction_rect_Type1 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5550 | Instruction x_2166 -> h_Instruction x_2166
    5551 | Comment x_2167 -> h_Comment x_2167
    5552 | Cost x_2168 -> h_Cost x_2168
    5553 | Jmp x_2169 -> h_Jmp x_2169
    5554 | Jnz (x_2172, x_2171, x_2170) -> h_Jnz x_2172 x_2171 x_2170
    5555 | MovSuccessor (x_2175, x_2174, x_2173) ->
    5556   h_MovSuccessor x_2175 x_2174 x_2173
    5557 | Call x_2176 -> h_Call x_2176
    5558 | Mov (x_2178, x_2177) -> h_Mov x_2178 x_2177
     5550| Instruction x_3134 -> h_Instruction x_3134
     5551| Comment x_3135 -> h_Comment x_3135
     5552| Cost x_3136 -> h_Cost x_3136
     5553| Jmp x_3137 -> h_Jmp x_3137
     5554| Jnz (x_3140, x_3139, x_3138) -> h_Jnz x_3140 x_3139 x_3138
     5555| MovSuccessor (x_3143, x_3142, x_3141) ->
     5556  h_MovSuccessor x_3143 x_3142 x_3141
     5557| Call x_3144 -> h_Call x_3144
     5558| Mov (x_3146, x_3145) -> h_Mov x_3146 x_3145
    55595559
    55605560(** val pseudo_instruction_rect_Type0 :
     
    55665566    -> 'a1 **)
    55675567let rec pseudo_instruction_rect_Type0 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5568 | Instruction x_2188 -> h_Instruction x_2188
    5569 | Comment x_2189 -> h_Comment x_2189
    5570 | Cost x_2190 -> h_Cost x_2190
    5571 | Jmp x_2191 -> h_Jmp x_2191
    5572 | Jnz (x_2194, x_2193, x_2192) -> h_Jnz x_2194 x_2193 x_2192
    5573 | MovSuccessor (x_2197, x_2196, x_2195) ->
    5574   h_MovSuccessor x_2197 x_2196 x_2195
    5575 | Call x_2198 -> h_Call x_2198
    5576 | Mov (x_2200, x_2199) -> h_Mov x_2200 x_2199
     5568| Instruction x_3156 -> h_Instruction x_3156
     5569| Comment x_3157 -> h_Comment x_3157
     5570| Cost x_3158 -> h_Cost x_3158
     5571| Jmp x_3159 -> h_Jmp x_3159
     5572| Jnz (x_3162, x_3161, x_3160) -> h_Jnz x_3162 x_3161 x_3160
     5573| MovSuccessor (x_3165, x_3164, x_3163) ->
     5574  h_MovSuccessor x_3165 x_3164 x_3163
     5575| Call x_3166 -> h_Call x_3166
     5576| Mov (x_3168, x_3167) -> h_Mov x_3168 x_3167
    55775577
    55785578(** val pseudo_instruction_inv_rect_Type4 :
     
    57965796    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    57975797    pseudo_assembly_program -> 'a1 **)
    5798 let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_2343 =
     5798let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_3311 =
    57995799  let { preamble = preamble0; code = code0; renamed_symbols =
    5800     renamed_symbols0; final_label = final_label0 } = x_2343
     5800    renamed_symbols0; final_label = final_label0 } = x_3311
    58015801  in
    58025802  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58085808    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58095809    pseudo_assembly_program -> 'a1 **)
    5810 let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_2345 =
     5810let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_3313 =
    58115811  let { preamble = preamble0; code = code0; renamed_symbols =
    5812     renamed_symbols0; final_label = final_label0 } = x_2345
     5812    renamed_symbols0; final_label = final_label0 } = x_3313
    58135813  in
    58145814  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58205820    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58215821    pseudo_assembly_program -> 'a1 **)
    5822 let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_2347 =
     5822let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_3315 =
    58235823  let { preamble = preamble0; code = code0; renamed_symbols =
    5824     renamed_symbols0; final_label = final_label0 } = x_2347
     5824    renamed_symbols0; final_label = final_label0 } = x_3315
    58255825  in
    58265826  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58325832    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58335833    pseudo_assembly_program -> 'a1 **)
    5834 let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_2349 =
     5834let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_3317 =
    58355835  let { preamble = preamble0; code = code0; renamed_symbols =
    5836     renamed_symbols0; final_label = final_label0 } = x_2349
     5836    renamed_symbols0; final_label = final_label0 } = x_3317
    58375837  in
    58385838  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58445844    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58455845    pseudo_assembly_program -> 'a1 **)
    5846 let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_2351 =
     5846let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_3319 =
    58475847  let { preamble = preamble0; code = code0; renamed_symbols =
    5848     renamed_symbols0; final_label = final_label0 } = x_2351
     5848    renamed_symbols0; final_label = final_label0 } = x_3319
    58495849  in
    58505850  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58565856    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58575857    pseudo_assembly_program -> 'a1 **)
    5858 let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_2353 =
     5858let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_3321 =
    58595859  let { preamble = preamble0; code = code0; renamed_symbols =
    5860     renamed_symbols0; final_label = final_label0 } = x_2353
     5860    renamed_symbols0; final_label = final_label0 } = x_3321
    58615861  in
    58625862  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    59445944    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59455945    -> 'a1) -> labelled_object_code -> 'a1 **)
    5946 let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_2369 =
     5946let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_3337 =
    59475947  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5948     final_pc = final_pc0 } = x_2369
     5948    final_pc = final_pc0 } = x_3337
    59495949  in
    59505950  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59535953    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59545954    -> 'a1) -> labelled_object_code -> 'a1 **)
    5955 let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_2371 =
     5955let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_3339 =
    59565956  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5957     final_pc = final_pc0 } = x_2371
     5957    final_pc = final_pc0 } = x_3339
    59585958  in
    59595959  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59625962    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59635963    -> 'a1) -> labelled_object_code -> 'a1 **)
    5964 let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_2373 =
     5964let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_3341 =
    59655965  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5966     final_pc = final_pc0 } = x_2373
     5966    final_pc = final_pc0 } = x_3341
    59675967  in
    59685968  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59715971    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59725972    -> 'a1) -> labelled_object_code -> 'a1 **)
    5973 let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_2375 =
     5973let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_3343 =
    59745974  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5975     final_pc = final_pc0 } = x_2375
     5975    final_pc = final_pc0 } = x_3343
    59765976  in
    59775977  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59805980    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59815981    -> 'a1) -> labelled_object_code -> 'a1 **)
    5982 let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_2377 =
     5982let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_3345 =
    59835983  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5984     final_pc = final_pc0 } = x_2377
     5984    final_pc = final_pc0 } = x_3345
    59855985  in
    59865986  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59895989    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59905990    -> 'a1) -> labelled_object_code -> 'a1 **)
    5991 let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_2379 =
     5991let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_3347 =
    59925992  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5993     final_pc = final_pc0 } = x_2379
     5993    final_pc = final_pc0 } = x_3347
    59945994  in
    59955995  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
  • extracted/aSMCostsSplit.ml

    r2993 r2997  
    124124let rec traverse_code_internal prog program_counter program_size =
    125125  (match program_size with
    126    | 0 -> (fun _ -> Identifiers.empty_map PreIdentifiers.CostTag)
    127    | _ -> let program_size' = program_size - 1 in
     126   | Nat.O -> (fun _ -> Identifiers.empty_map PreIdentifiers.CostTag)
     127   | Nat.S program_size' ->
    128128     (fun _ ->
    129129       let new_program_counter' =
     
    158158        (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
    159159        Nat.O)))))))))))))))))
    160       (Glue.int_of_matitanat (List.length (ASM.oc prog))))
     160      (Exp.exp (Nat.S (Nat.S Nat.O)) (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     161        (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     162        (Nat.S Nat.O))))))))))))))))))
    161163
    162164(** val compute_costs :
  • extracted/aSMCostsSplit.mli

    r2965 r2997  
    119119open UtilBranch
    120120
     121val traverse_code_internal :
     122  ASM.labelled_object_code -> BitVector.word -> Nat.nat -> Nat.nat
     123  Identifiers.identifier_map Types.sig0
     124
    121125val traverse_code :
    122126  ASM.labelled_object_code -> Nat.nat Identifiers.identifier_map Types.sig0
  • extracted/aST.ml

    r2827 r2997  
    418418    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    419419let rec typ_rect_Type4 h_ASTint h_ASTptr = function
    420 | ASTint (x_3649, x_3648) -> h_ASTint x_3649 x_3648
     420| ASTint (x_411, x_410) -> h_ASTint x_411 x_410
    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_3654, x_3653) -> h_ASTint x_3654 x_3653
     426| ASTint (x_416, x_415) -> h_ASTint x_416 x_415
    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_3659, x_3658) -> h_ASTint x_3659 x_3658
     432| ASTint (x_421, x_420) -> h_ASTint x_421 x_420
    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_3664, x_3663) -> h_ASTint x_3664 x_3663
     438| ASTint (x_426, x_425) -> h_ASTint x_426 x_425
    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_3669, x_3668) -> h_ASTint x_3669 x_3668
     444| ASTint (x_431, x_430) -> h_ASTint x_431 x_430
    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_3674, x_3673) -> h_ASTint x_3674 x_3673
     450| ASTint (x_436, x_435) -> h_ASTint x_436 x_435
    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_3709 =
    880   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3709 in
     879let rec signature_rect_Type4 h_mk_signature x_471 =
     880  let { sig_args = sig_args0; sig_res = sig_res0 } = x_471 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_3711 =
    886   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3711 in
     885let rec signature_rect_Type5 h_mk_signature x_473 =
     886  let { sig_args = sig_args0; sig_res = sig_res0 } = x_473 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_3713 =
    892   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3713 in
     891let rec signature_rect_Type3 h_mk_signature x_475 =
     892  let { sig_args = sig_args0; sig_res = sig_res0 } = x_475 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_3715 =
    898   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3715 in
     897let rec signature_rect_Type2 h_mk_signature x_477 =
     898  let { sig_args = sig_args0; sig_res = sig_res0 } = x_477 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_3717 =
    904   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3717 in
     903let rec signature_rect_Type1 h_mk_signature x_479 =
     904  let { sig_args = sig_args0; sig_res = sig_res0 } = x_479 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_3719 =
    910   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3719 in
     909let rec signature_rect_Type0 h_mk_signature x_481 =
     910  let { sig_args = sig_args0; sig_res = sig_res0 } = x_481 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_3747 -> h_Init_int8 x_3747
    987 | Init_int16 x_3748 -> h_Init_int16 x_3748
    988 | Init_int32 x_3749 -> h_Init_int32 x_3749
    989 | Init_space x_3750 -> h_Init_space x_3750
     986| Init_int8 x_509 -> h_Init_int8 x_509
     987| Init_int16 x_510 -> h_Init_int16 x_510
     988| Init_int32 x_511 -> h_Init_int32 x_511
     989| Init_space x_512 -> h_Init_space x_512
    990990| Init_null -> h_Init_null
    991 | Init_addrof (x_3752, x_3751) -> h_Init_addrof x_3752 x_3751
     991| Init_addrof (x_514, x_513) -> h_Init_addrof x_514 x_513
    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_3760 -> h_Init_int8 x_3760
    998 | Init_int16 x_3761 -> h_Init_int16 x_3761
    999 | Init_int32 x_3762 -> h_Init_int32 x_3762
    1000 | Init_space x_3763 -> h_Init_space x_3763
     997| Init_int8 x_522 -> h_Init_int8 x_522
     998| Init_int16 x_523 -> h_Init_int16 x_523
     999| Init_int32 x_524 -> h_Init_int32 x_524
     1000| Init_space x_525 -> h_Init_space x_525
    10011001| Init_null -> h_Init_null
    1002 | Init_addrof (x_3765, x_3764) -> h_Init_addrof x_3765 x_3764
     1002| Init_addrof (x_527, x_526) -> h_Init_addrof x_527 x_526
    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_3773 -> h_Init_int8 x_3773
    1009 | Init_int16 x_3774 -> h_Init_int16 x_3774
    1010 | Init_int32 x_3775 -> h_Init_int32 x_3775
    1011 | Init_space x_3776 -> h_Init_space x_3776
     1008| Init_int8 x_535 -> h_Init_int8 x_535
     1009| Init_int16 x_536 -> h_Init_int16 x_536
     1010| Init_int32 x_537 -> h_Init_int32 x_537
     1011| Init_space x_538 -> h_Init_space x_538
    10121012| Init_null -> h_Init_null
    1013 | Init_addrof (x_3778, x_3777) -> h_Init_addrof x_3778 x_3777
     1013| Init_addrof (x_540, x_539) -> h_Init_addrof x_540 x_539
    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_3786 -> h_Init_int8 x_3786
    1020 | Init_int16 x_3787 -> h_Init_int16 x_3787
    1021 | Init_int32 x_3788 -> h_Init_int32 x_3788
    1022 | Init_space x_3789 -> h_Init_space x_3789
     1019| Init_int8 x_548 -> h_Init_int8 x_548
     1020| Init_int16 x_549 -> h_Init_int16 x_549
     1021| Init_int32 x_550 -> h_Init_int32 x_550
     1022| Init_space x_551 -> h_Init_space x_551
    10231023| Init_null -> h_Init_null
    1024 | Init_addrof (x_3791, x_3790) -> h_Init_addrof x_3791 x_3790
     1024| Init_addrof (x_553, x_552) -> h_Init_addrof x_553 x_552
    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_3799 -> h_Init_int8 x_3799
    1031 | Init_int16 x_3800 -> h_Init_int16 x_3800
    1032 | Init_int32 x_3801 -> h_Init_int32 x_3801
    1033 | Init_space x_3802 -> h_Init_space x_3802
     1030| Init_int8 x_561 -> h_Init_int8 x_561
     1031| Init_int16 x_562 -> h_Init_int16 x_562
     1032| Init_int32 x_563 -> h_Init_int32 x_563
     1033| Init_space x_564 -> h_Init_space x_564
    10341034| Init_null -> h_Init_null
    1035 | Init_addrof (x_3804, x_3803) -> h_Init_addrof x_3804 x_3803
     1035| Init_addrof (x_566, x_565) -> h_Init_addrof x_566 x_565
    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_3812 -> h_Init_int8 x_3812
    1042 | Init_int16 x_3813 -> h_Init_int16 x_3813
    1043 | Init_int32 x_3814 -> h_Init_int32 x_3814
    1044 | Init_space x_3815 -> h_Init_space x_3815
     1041| Init_int8 x_574 -> h_Init_int8 x_574
     1042| Init_int16 x_575 -> h_Init_int16 x_575
     1043| Init_int32 x_576 -> h_Init_int32 x_576
     1044| Init_space x_577 -> h_Init_space x_577
    10451045| Init_null -> h_Init_null
    1046 | Init_addrof (x_3817, x_3816) -> h_Init_addrof x_3817 x_3816
     1046| Init_addrof (x_579, x_578) -> h_Init_addrof x_579 x_578
    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_3904 =
     1113let rec program_rect_Type4 h_mk_program x_666 =
    11141114  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1115     prog_main0 } = x_3904
     1115    prog_main0 } = x_666
    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_3906 =
     1122let rec program_rect_Type5 h_mk_program x_668 =
    11231123  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1124     prog_main0 } = x_3906
     1124    prog_main0 } = x_668
    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_3908 =
     1131let rec program_rect_Type3 h_mk_program x_670 =
    11321132  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1133     prog_main0 } = x_3908
     1133    prog_main0 } = x_670
    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_3910 =
     1140let rec program_rect_Type2 h_mk_program x_672 =
    11411141  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1142     prog_main0 } = x_3910
     1142    prog_main0 } = x_672
    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_3912 =
     1149let rec program_rect_Type1 h_mk_program x_674 =
    11501150  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1151     prog_main0 } = x_3912
     1151    prog_main0 } = x_674
    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_3914 =
     1158let rec program_rect_Type0 h_mk_program x_676 =
    11591159  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1160     prog_main0 } = x_3914
     1160    prog_main0 } = x_676
    11611161  in
    11621162  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    14771477(** val external_function_rect_Type4 :
    14781478    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1479 let rec external_function_rect_Type4 h_mk_external_function x_4118 =
    1480   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4118 in
     1479let rec external_function_rect_Type4 h_mk_external_function x_880 =
     1480  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_880 in
    14811481  h_mk_external_function ef_id0 ef_sig0
    14821482
    14831483(** val external_function_rect_Type5 :
    14841484    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1485 let rec external_function_rect_Type5 h_mk_external_function x_4120 =
    1486   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4120 in
     1485let rec external_function_rect_Type5 h_mk_external_function x_882 =
     1486  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_882 in
    14871487  h_mk_external_function ef_id0 ef_sig0
    14881488
    14891489(** val external_function_rect_Type3 :
    14901490    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1491 let rec external_function_rect_Type3 h_mk_external_function x_4122 =
    1492   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4122 in
     1491let rec external_function_rect_Type3 h_mk_external_function x_884 =
     1492  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_884 in
    14931493  h_mk_external_function ef_id0 ef_sig0
    14941494
    14951495(** val external_function_rect_Type2 :
    14961496    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1497 let rec external_function_rect_Type2 h_mk_external_function x_4124 =
    1498   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4124 in
     1497let rec external_function_rect_Type2 h_mk_external_function x_886 =
     1498  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_886 in
    14991499  h_mk_external_function ef_id0 ef_sig0
    15001500
    15011501(** val external_function_rect_Type1 :
    15021502    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1503 let rec external_function_rect_Type1 h_mk_external_function x_4126 =
    1504   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4126 in
     1503let rec external_function_rect_Type1 h_mk_external_function x_888 =
     1504  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_888 in
    15051505  h_mk_external_function ef_id0 ef_sig0
    15061506
    15071507(** val external_function_rect_Type0 :
    15081508    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1509 let rec external_function_rect_Type0 h_mk_external_function x_4128 =
    1510   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4128 in
     1509let rec external_function_rect_Type0 h_mk_external_function x_890 =
     1510  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_890 in
    15111511  h_mk_external_function ef_id0 ef_sig0
    15121512
     
    15751575    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15761576let rec fundef_rect_Type4 h_Internal h_External = function
    1577 | Internal x_4148 -> h_Internal x_4148
    1578 | External x_4149 -> h_External x_4149
     1577| Internal x_910 -> h_Internal x_910
     1578| External x_911 -> h_External x_911
    15791579
    15801580(** val fundef_rect_Type5 :
    15811581    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15821582let rec fundef_rect_Type5 h_Internal h_External = function
    1583 | Internal x_4153 -> h_Internal x_4153
    1584 | External x_4154 -> h_External x_4154
     1583| Internal x_915 -> h_Internal x_915
     1584| External x_916 -> h_External x_916
    15851585
    15861586(** val fundef_rect_Type3 :
    15871587    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15881588let rec fundef_rect_Type3 h_Internal h_External = function
    1589 | Internal x_4158 -> h_Internal x_4158
    1590 | External x_4159 -> h_External x_4159
     1589| Internal x_920 -> h_Internal x_920
     1590| External x_921 -> h_External x_921
    15911591
    15921592(** val fundef_rect_Type2 :
    15931593    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15941594let rec fundef_rect_Type2 h_Internal h_External = function
    1595 | Internal x_4163 -> h_Internal x_4163
    1596 | External x_4164 -> h_External x_4164
     1595| Internal x_925 -> h_Internal x_925
     1596| External x_926 -> h_External x_926
    15971597
    15981598(** val fundef_rect_Type1 :
    15991599    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16001600let rec fundef_rect_Type1 h_Internal h_External = function
    1601 | Internal x_4168 -> h_Internal x_4168
    1602 | External x_4169 -> h_External x_4169
     1601| Internal x_930 -> h_Internal x_930
     1602| External x_931 -> h_External x_931
    16031603
    16041604(** val fundef_rect_Type0 :
    16051605    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16061606let rec fundef_rect_Type0 h_Internal h_External = function
    1607 | Internal x_4173 -> h_Internal x_4173
    1608 | External x_4174 -> h_External x_4174
     1607| Internal x_935 -> h_Internal x_935
     1608| External x_936 -> h_External x_936
    16091609
    16101610(** val fundef_inv_rect_Type4 :
  • extracted/byteValues.ml

    r2951 r2997  
    8989    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    9090    'a1 **)
    91 let rec program_counter_rect_Type4 h_mk_program_counter x_6139 =
    92   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6139 in
     91let rec program_counter_rect_Type4 h_mk_program_counter x_6088 =
     92  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6088 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_6141 =
    99   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6141 in
     98let rec program_counter_rect_Type5 h_mk_program_counter x_6090 =
     99  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6090 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_6143 =
    106   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6143 in
     105let rec program_counter_rect_Type3 h_mk_program_counter x_6092 =
     106  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6092 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_6145 =
    113   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6145 in
     112let rec program_counter_rect_Type2 h_mk_program_counter x_6094 =
     113  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6094 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_6147 =
    120   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6147 in
     119let rec program_counter_rect_Type1 h_mk_program_counter x_6096 =
     120  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6096 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_6149 =
    127   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6149 in
     126let rec program_counter_rect_Type0 h_mk_program_counter x_6098 =
     127  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6098 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_6165 =
    218   let part_no = x_6165 in h_mk_part part_no __
     217let rec part_rect_Type4 h_mk_part x_6114 =
     218  let part_no = x_6114 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_6167 =
    222   let part_no = x_6167 in h_mk_part part_no __
     221let rec part_rect_Type5 h_mk_part x_6116 =
     222  let part_no = x_6116 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_6169 =
    226   let part_no = x_6169 in h_mk_part part_no __
     225let rec part_rect_Type3 h_mk_part x_6118 =
     226  let part_no = x_6118 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_6171 =
    230   let part_no = x_6171 in h_mk_part part_no __
     229let rec part_rect_Type2 h_mk_part x_6120 =
     230  let part_no = x_6120 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_6173 =
    234   let part_no = x_6173 in h_mk_part part_no __
     233let rec part_rect_Type1 h_mk_part x_6122 =
     234  let part_no = x_6122 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_6175 =
    238   let part_no = x_6175 in h_mk_part part_no __
     237let rec part_rect_Type0 h_mk_part x_6124 =
     238  let part_no = x_6124 in h_mk_part part_no __
    239239
    240240(** val part_no : part -> Nat.nat **)
     
    486486| BVundef -> h_BVundef
    487487| BVnonzero -> h_BVnonzero
    488 | BVXor (x_6209, x_6208, x_6207) -> h_BVXor x_6209 x_6208 x_6207
    489 | BVByte x_6210 -> h_BVByte x_6210
    490 | BVnull x_6211 -> h_BVnull x_6211
    491 | BVptr (x_6213, x_6212) -> h_BVptr x_6213 x_6212
    492 | BVpc (x_6215, x_6214) -> h_BVpc x_6215 x_6214
     488| BVXor (x_6158, x_6157, x_6156) -> h_BVXor x_6158 x_6157 x_6156
     489| BVByte x_6159 -> h_BVByte x_6159
     490| BVnull x_6160 -> h_BVnull x_6160
     491| BVptr (x_6162, x_6161) -> h_BVptr x_6162 x_6161
     492| BVpc (x_6164, x_6163) -> h_BVpc x_6164 x_6163
    493493
    494494(** val beval_rect_Type5 :
     
    500500| BVundef -> h_BVundef
    501501| BVnonzero -> h_BVnonzero
    502 | BVXor (x_6226, x_6225, x_6224) -> h_BVXor x_6226 x_6225 x_6224
    503 | BVByte x_6227 -> h_BVByte x_6227
    504 | BVnull x_6228 -> h_BVnull x_6228
    505 | BVptr (x_6230, x_6229) -> h_BVptr x_6230 x_6229
    506 | BVpc (x_6232, x_6231) -> h_BVpc x_6232 x_6231
     502| BVXor (x_6175, x_6174, x_6173) -> h_BVXor x_6175 x_6174 x_6173
     503| BVByte x_6176 -> h_BVByte x_6176
     504| BVnull x_6177 -> h_BVnull x_6177
     505| BVptr (x_6179, x_6178) -> h_BVptr x_6179 x_6178
     506| BVpc (x_6181, x_6180) -> h_BVpc x_6181 x_6180
    507507
    508508(** val beval_rect_Type3 :
     
    514514| BVundef -> h_BVundef
    515515| BVnonzero -> h_BVnonzero
    516 | BVXor (x_6243, x_6242, x_6241) -> h_BVXor x_6243 x_6242 x_6241
    517 | BVByte x_6244 -> h_BVByte x_6244
    518 | BVnull x_6245 -> h_BVnull x_6245
    519 | BVptr (x_6247, x_6246) -> h_BVptr x_6247 x_6246
    520 | BVpc (x_6249, x_6248) -> h_BVpc x_6249 x_6248
     516| BVXor (x_6192, x_6191, x_6190) -> h_BVXor x_6192 x_6191 x_6190
     517| BVByte x_6193 -> h_BVByte x_6193
     518| BVnull x_6194 -> h_BVnull x_6194
     519| BVptr (x_6196, x_6195) -> h_BVptr x_6196 x_6195
     520| BVpc (x_6198, x_6197) -> h_BVpc x_6198 x_6197
    521521
    522522(** val beval_rect_Type2 :
     
    528528| BVundef -> h_BVundef
    529529| BVnonzero -> h_BVnonzero
    530 | BVXor (x_6260, x_6259, x_6258) -> h_BVXor x_6260 x_6259 x_6258
    531 | BVByte x_6261 -> h_BVByte x_6261
    532 | BVnull x_6262 -> h_BVnull x_6262
    533 | BVptr (x_6264, x_6263) -> h_BVptr x_6264 x_6263
    534 | BVpc (x_6266, x_6265) -> h_BVpc x_6266 x_6265
     530| BVXor (x_6209, x_6208, x_6207) -> h_BVXor x_6209 x_6208 x_6207
     531| BVByte x_6210 -> h_BVByte x_6210
     532| BVnull x_6211 -> h_BVnull x_6211
     533| BVptr (x_6213, x_6212) -> h_BVptr x_6213 x_6212
     534| BVpc (x_6215, x_6214) -> h_BVpc x_6215 x_6214
    535535
    536536(** val beval_rect_Type1 :
     
    542542| BVundef -> h_BVundef
    543543| BVnonzero -> h_BVnonzero
    544 | BVXor (x_6277, x_6276, x_6275) -> h_BVXor x_6277 x_6276 x_6275
    545 | BVByte x_6278 -> h_BVByte x_6278
    546 | BVnull x_6279 -> h_BVnull x_6279
    547 | BVptr (x_6281, x_6280) -> h_BVptr x_6281 x_6280
    548 | BVpc (x_6283, x_6282) -> h_BVpc x_6283 x_6282
     544| BVXor (x_6226, x_6225, x_6224) -> h_BVXor x_6226 x_6225 x_6224
     545| BVByte x_6227 -> h_BVByte x_6227
     546| BVnull x_6228 -> h_BVnull x_6228
     547| BVptr (x_6230, x_6229) -> h_BVptr x_6230 x_6229
     548| BVpc (x_6232, x_6231) -> h_BVpc x_6232 x_6231
    549549
    550550(** val beval_rect_Type0 :
     
    556556| BVundef -> h_BVundef
    557557| BVnonzero -> h_BVnonzero
    558 | BVXor (x_6294, x_6293, x_6292) -> h_BVXor x_6294 x_6293 x_6292
    559 | BVByte x_6295 -> h_BVByte x_6295
    560 | BVnull x_6296 -> h_BVnull x_6296
    561 | BVptr (x_6298, x_6297) -> h_BVptr x_6298 x_6297
    562 | BVpc (x_6300, x_6299) -> h_BVpc x_6300 x_6299
     558| BVXor (x_6243, x_6242, x_6241) -> h_BVXor x_6243 x_6242 x_6241
     559| BVByte x_6244 -> h_BVByte x_6244
     560| BVnull x_6245 -> h_BVnull x_6245
     561| BVptr (x_6247, x_6246) -> h_BVptr x_6247 x_6246
     562| BVpc (x_6249, x_6248) -> h_BVpc x_6249 x_6248
    563563
    564564(** val beval_inv_rect_Type4 :
     
    985985    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    986986let rec bebit_rect_Type4 h_BBbit h_BBundef h_BBptrcarry = function
    987 | BBbit x_6458 -> h_BBbit x_6458
     987| BBbit x_6407 -> h_BBbit x_6407
    988988| BBundef -> h_BBundef
    989 | BBptrcarry (x_6461, x_6460, p, x_6459) ->
    990   h_BBptrcarry x_6461 x_6460 p x_6459
     989| BBptrcarry (x_6410, x_6409, p, x_6408) ->
     990  h_BBptrcarry x_6410 x_6409 p x_6408
    991991
    992992(** val bebit_rect_Type5 :
     
    994994    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    995995let rec bebit_rect_Type5 h_BBbit h_BBundef h_BBptrcarry = function
    996 | BBbit x_6466 -> h_BBbit x_6466
     996| BBbit x_6415 -> h_BBbit x_6415
    997997| BBundef -> h_BBundef
    998 | BBptrcarry (x_6469, x_6468, p, x_6467) ->
    999   h_BBptrcarry x_6469 x_6468 p x_6467
     998| BBptrcarry (x_6418, x_6417, p, x_6416) ->
     999  h_BBptrcarry x_6418 x_6417 p x_6416
    10001000
    10011001(** val bebit_rect_Type3 :
     
    10031003    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    10041004let rec bebit_rect_Type3 h_BBbit h_BBundef h_BBptrcarry = function
    1005 | BBbit x_6474 -> h_BBbit x_6474
     1005| BBbit x_6423 -> h_BBbit x_6423
    10061006| BBundef -> h_BBundef
    1007 | BBptrcarry (x_6477, x_6476, p, x_6475) ->
    1008   h_BBptrcarry x_6477 x_6476 p x_6475
     1007| BBptrcarry (x_6426, x_6425, p, x_6424) ->
     1008  h_BBptrcarry x_6426 x_6425 p x_6424
    10091009
    10101010(** val bebit_rect_Type2 :
     
    10121012    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    10131013let rec bebit_rect_Type2 h_BBbit h_BBundef h_BBptrcarry = function
    1014 | BBbit x_6482 -> h_BBbit x_6482
     1014| BBbit x_6431 -> h_BBbit x_6431
    10151015| BBundef -> h_BBundef
    1016 | BBptrcarry (x_6485, x_6484, p, x_6483) ->
    1017   h_BBptrcarry x_6485 x_6484 p x_6483
     1016| BBptrcarry (x_6434, x_6433, p, x_6432) ->
     1017  h_BBptrcarry x_6434 x_6433 p x_6432
    10181018
    10191019(** val bebit_rect_Type1 :
     
    10211021    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    10221022let rec bebit_rect_Type1 h_BBbit h_BBundef h_BBptrcarry = function
    1023 | BBbit x_6490 -> h_BBbit x_6490
     1023| BBbit x_6439 -> h_BBbit x_6439
    10241024| BBundef -> h_BBundef
    1025 | BBptrcarry (x_6493, x_6492, p, x_6491) ->
    1026   h_BBptrcarry x_6493 x_6492 p x_6491
     1025| BBptrcarry (x_6442, x_6441, p, x_6440) ->
     1026  h_BBptrcarry x_6442 x_6441 p x_6440
    10271027
    10281028(** val bebit_rect_Type0 :
     
    10301030    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    10311031let rec bebit_rect_Type0 h_BBbit h_BBundef h_BBptrcarry = function
    1032 | BBbit x_6498 -> h_BBbit x_6498
     1032| BBbit x_6447 -> h_BBbit x_6447
    10331033| BBundef -> h_BBundef
    1034 | BBptrcarry (x_6501, x_6500, p, x_6499) ->
    1035   h_BBptrcarry x_6501 x_6500 p x_6499
     1034| BBptrcarry (x_6450, x_6449, p, x_6448) ->
     1035  h_BBptrcarry x_6450 x_6449 p x_6448
    10361036
    10371037(** val bebit_inv_rect_Type4 :
  • extracted/classifyOp.ml

    r2951 r2997  
    9696    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    9797    -> classify_add_cases -> 'a1 **)
    98 let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7428 x_7427 = function
     98let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_12331 x_12330 = function
    9999| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    100100| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    108108    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    109109    -> classify_add_cases -> 'a1 **)
    110 let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7435 x_7434 = function
     110let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_12338 x_12337 = function
    111111| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    112112| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    120120    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    121121    -> classify_add_cases -> 'a1 **)
    122 let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7442 x_7441 = function
     122let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_12345 x_12344 = function
    123123| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    124124| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    132132    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    133133    -> classify_add_cases -> 'a1 **)
    134 let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7449 x_7448 = function
     134let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_12352 x_12351 = function
    135135| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    136136| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    144144    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    145145    -> classify_add_cases -> 'a1 **)
    146 let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7456 x_7455 = function
     146let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_12359 x_12358 = function
    147147| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    148148| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    156156    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    157157    -> classify_add_cases -> 'a1 **)
    158 let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7463 x_7462 = function
     158let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_12366 x_12365 = function
    159159| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    160160| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    319319    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    320320    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    321 let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7519 x_7518 = function
     321let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_12422 x_12421 = function
    322322| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    323323| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    331331    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    332332    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    333 let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7526 x_7525 = function
     333let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_12429 x_12428 = function
    334334| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    335335| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    343343    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    344344    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    345 let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7533 x_7532 = function
     345let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_12436 x_12435 = function
    346346| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    347347| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    355355    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    356356    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    357 let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7540 x_7539 = function
     357let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_12443 x_12442 = function
    358358| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    359359| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    367367    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    368368    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    369 let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7547 x_7546 = function
     369let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_12450 x_12449 = function
    370370| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    371371| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    379379    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    380380    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    381 let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7554 x_7553 = function
     381let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_12457 x_12456 = function
    382382| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    383383| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    519519    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    520520    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    521 let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_7608 x_7607 = function
     521let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_12511 x_12510 = function
    522522| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    523523| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    526526    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    527527    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    528 let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_7613 x_7612 = function
     528let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_12516 x_12515 = function
    529529| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    530530| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    533533    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    534534    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    535 let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_7618 x_7617 = function
     535let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_12521 x_12520 = function
    536536| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    537537| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    540540    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    541541    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    542 let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_7623 x_7622 = function
     542let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_12526 x_12525 = function
    543543| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    544544| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    547547    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    548548    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    549 let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_7628 x_7627 = function
     549let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_12531 x_12530 = function
    550550| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    551551| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    554554    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    555555    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    556 let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_7633 x_7632 = function
     556let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_12536 x_12535 = function
    557557| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    558558| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    636636    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    637637    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    638 let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7674 x_7673 = function
     638let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_12577 x_12576 = function
    639639| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    640640| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    645645    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    646646    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    647 let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7680 x_7679 = function
     647let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_12583 x_12582 = function
    648648| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    649649| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    654654    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    655655    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    656 let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7686 x_7685 = function
     656let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_12589 x_12588 = function
    657657| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    658658| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    663663    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    664664    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    665 let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7692 x_7691 = function
     665let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_12595 x_12594 = function
    666666| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    667667| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    672672    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    673673    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    674 let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7698 x_7697 = function
     674let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_12601 x_12600 = function
    675675| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    676676| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    681681    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    682682    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    683 let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7704 x_7703 = function
     683let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_12607 x_12606 = function
    684684| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    685685| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    780780    -> 'a1 **)
    781781let rec classify_fun_cases_rect_Type4 h_fun_case_f h_fun_default = function
    782 | Fun_case_f (x_7752, x_7751) -> h_fun_case_f x_7752 x_7751
     782| Fun_case_f (x_12655, x_12654) -> h_fun_case_f x_12655 x_12654
    783783| Fun_default -> h_fun_default
    784784
     
    787787    -> 'a1 **)
    788788let rec classify_fun_cases_rect_Type5 h_fun_case_f h_fun_default = function
    789 | Fun_case_f (x_7757, x_7756) -> h_fun_case_f x_7757 x_7756
     789| Fun_case_f (x_12660, x_12659) -> h_fun_case_f x_12660 x_12659
    790790| Fun_default -> h_fun_default
    791791
     
    794794    -> 'a1 **)
    795795let rec classify_fun_cases_rect_Type3 h_fun_case_f h_fun_default = function
    796 | Fun_case_f (x_7762, x_7761) -> h_fun_case_f x_7762 x_7761
     796| Fun_case_f (x_12665, x_12664) -> h_fun_case_f x_12665 x_12664
    797797| Fun_default -> h_fun_default
    798798
     
    801801    -> 'a1 **)
    802802let rec classify_fun_cases_rect_Type2 h_fun_case_f h_fun_default = function
    803 | Fun_case_f (x_7767, x_7766) -> h_fun_case_f x_7767 x_7766
     803| Fun_case_f (x_12670, x_12669) -> h_fun_case_f x_12670 x_12669
    804804| Fun_default -> h_fun_default
    805805
     
    808808    -> 'a1 **)
    809809let rec classify_fun_cases_rect_Type1 h_fun_case_f h_fun_default = function
    810 | Fun_case_f (x_7772, x_7771) -> h_fun_case_f x_7772 x_7771
     810| Fun_case_f (x_12675, x_12674) -> h_fun_case_f x_12675 x_12674
    811811| Fun_default -> h_fun_default
    812812
     
    815815    -> 'a1 **)
    816816let rec classify_fun_cases_rect_Type0 h_fun_case_f h_fun_default = function
    817 | Fun_case_f (x_7777, x_7776) -> h_fun_case_f x_7777 x_7776
     817| Fun_case_f (x_12680, x_12679) -> h_fun_case_f x_12680 x_12679
    818818| Fun_default -> h_fun_default
    819819
  • extracted/cminor_semantics.ml

    r2951 r2997  
    123123let rec cont_rect_Type4 h_Kend h_Kseq h_Kblock = function
    124124| Kend -> h_Kend
    125 | Kseq (x_4629, x_4628) ->
    126   h_Kseq x_4629 x_4628 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_4628)
    127 | Kblock x_4630 ->
    128   h_Kblock x_4630 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_4630)
     125| Kseq (x_20078, x_20077) ->
     126  h_Kseq x_20078 x_20077 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_20077)
     127| Kblock x_20079 ->
     128  h_Kblock x_20079 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_20079)
    129129
    130130(** val cont_rect_Type3 :
     
    133133let rec cont_rect_Type3 h_Kend h_Kseq h_Kblock = function
    134134| Kend -> h_Kend
    135 | Kseq (x_4643, x_4642) ->
    136   h_Kseq x_4643 x_4642 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_4642)
    137 | Kblock x_4644 ->
    138   h_Kblock x_4644 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_4644)
     135| Kseq (x_20092, x_20091) ->
     136  h_Kseq x_20092 x_20091 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_20091)
     137| Kblock x_20093 ->
     138  h_Kblock x_20093 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_20093)
    139139
    140140(** val cont_rect_Type2 :
     
    143143let rec cont_rect_Type2 h_Kend h_Kseq h_Kblock = function
    144144| Kend -> h_Kend
    145 | Kseq (x_4650, x_4649) ->
    146   h_Kseq x_4650 x_4649 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_4649)
    147 | Kblock x_4651 ->
    148   h_Kblock x_4651 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_4651)
     145| Kseq (x_20099, x_20098) ->
     146  h_Kseq x_20099 x_20098 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_20098)
     147| Kblock x_20100 ->
     148  h_Kblock x_20100 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_20100)
    149149
    150150(** val cont_rect_Type1 :
     
    153153let rec cont_rect_Type1 h_Kend h_Kseq h_Kblock = function
    154154| Kend -> h_Kend
    155 | Kseq (x_4657, x_4656) ->
    156   h_Kseq x_4657 x_4656 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_4656)
    157 | Kblock x_4658 ->
    158   h_Kblock x_4658 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_4658)
     155| Kseq (x_20106, x_20105) ->
     156  h_Kseq x_20106 x_20105 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_20105)
     157| Kblock x_20107 ->
     158  h_Kblock x_20107 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_20107)
    159159
    160160(** val cont_rect_Type0 :
     
    163163let rec cont_rect_Type0 h_Kend h_Kseq h_Kblock = function
    164164| Kend -> h_Kend
    165 | Kseq (x_4664, x_4663) ->
    166   h_Kseq x_4664 x_4663 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_4663)
    167 | Kblock x_4665 ->
    168   h_Kblock x_4665 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_4665)
     165| Kseq (x_20113, x_20112) ->
     166  h_Kseq x_20113 x_20112 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_20112)
     167| Kblock x_20114 ->
     168  h_Kblock x_20114 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_20114)
    169169
    170170(** val cont_inv_rect_Type4 :
     
    226226let rec stack_rect_Type4 h_SStop h_Scall = function
    227227| SStop -> h_SStop
    228 | Scall (dest, f, x_4724, en, k, x_4720) ->
    229   h_Scall dest f x_4724 en __ __ k __ x_4720
    230     (stack_rect_Type4 h_SStop h_Scall x_4720)
     228| Scall (dest, f, x_20173, en, k, x_20169) ->
     229  h_Scall dest f x_20173 en __ __ k __ x_20169
     230    (stack_rect_Type4 h_SStop h_Scall x_20169)
    231231
    232232(** val stack_rect_Type3 :
     
    236236let rec stack_rect_Type3 h_SStop h_Scall = function
    237237| SStop -> h_SStop
    238 | Scall (dest, f, x_4740, en, k, x_4736) ->
    239   h_Scall dest f x_4740 en __ __ k __ x_4736
    240     (stack_rect_Type3 h_SStop h_Scall x_4736)
     238| Scall (dest, f, x_20189, en, k, x_20185) ->
     239  h_Scall dest f x_20189 en __ __ k __ x_20185
     240    (stack_rect_Type3 h_SStop h_Scall x_20185)
    241241
    242242(** val stack_rect_Type2 :
     
    246246let rec stack_rect_Type2 h_SStop h_Scall = function
    247247| SStop -> h_SStop
    248 | Scall (dest, f, x_4748, en, k, x_4744) ->
    249   h_Scall dest f x_4748 en __ __ k __ x_4744
    250     (stack_rect_Type2 h_SStop h_Scall x_4744)
     248| Scall (dest, f, x_20197, en, k, x_20193) ->
     249  h_Scall dest f x_20197 en __ __ k __ x_20193
     250    (stack_rect_Type2 h_SStop h_Scall x_20193)
    251251
    252252(** val stack_rect_Type1 :
     
    256256let rec stack_rect_Type1 h_SStop h_Scall = function
    257257| SStop -> h_SStop
    258 | Scall (dest, f, x_4756, en, k, x_4752) ->
    259   h_Scall dest f x_4756 en __ __ k __ x_4752
    260     (stack_rect_Type1 h_SStop h_Scall x_4752)
     258| Scall (dest, f, x_20205, en, k, x_20201) ->
     259  h_Scall dest f x_20205 en __ __ k __ x_20201
     260    (stack_rect_Type1 h_SStop h_Scall x_20201)
    261261
    262262(** val stack_rect_Type0 :
     
    266266let rec stack_rect_Type0 h_SStop h_Scall = function
    267267| SStop -> h_SStop
    268 | Scall (dest, f, x_4764, en, k, x_4760) ->
    269   h_Scall dest f x_4764 en __ __ k __ x_4760
    270     (stack_rect_Type0 h_SStop h_Scall x_4760)
     268| Scall (dest, f, x_20213, en, k, x_20209) ->
     269  h_Scall dest f x_20213 en __ __ k __ x_20209
     270    (stack_rect_Type0 h_SStop h_Scall x_20209)
    271271
    272272(** val stack_inv_rect_Type4 :
  • extracted/cminor_syntax.ml

    r2951 r2997  
    113113    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    114114    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    115 let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13785 = function
    116 | Id (t, x_13787) -> h_Id t x_13787
    117 | Cst (t, x_13788) -> h_Cst t x_13788
    118 | Op1 (t, t', x_13790, x_13789) ->
    119   h_Op1 t t' x_13790 x_13789
    120     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13789)
    121 | Op2 (t1, t2, t', x_13793, x_13792, x_13791) ->
    122   h_Op2 t1 t2 t' x_13793 x_13792 x_13791
    123     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13792)
    124     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13791)
    125 | Mem (t, x_13794) ->
    126   h_Mem t x_13794
     115let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10841 = function
     116| Id (t, x_10843) -> h_Id t x_10843
     117| Cst (t, x_10844) -> h_Cst t x_10844
     118| Op1 (t, t', x_10846, x_10845) ->
     119  h_Op1 t t' x_10846 x_10845
     120    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10845)
     121| Op2 (t1, t2, t', x_10849, x_10848, x_10847) ->
     122  h_Op2 t1 t2 t' x_10849 x_10848 x_10847
     123    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10848)
     124    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10847)
     125| Mem (t, x_10850) ->
     126  h_Mem t x_10850
    127127    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    128       x_13794)
    129 | Cond (sz, sg, t, x_13797, x_13796, x_13795) ->
    130   h_Cond sz sg t x_13797 x_13796 x_13795
     128      x_10850)
     129| Cond (sz, sg, t, x_10853, x_10852, x_10851) ->
     130  h_Cond sz sg t x_10853 x_10852 x_10851
    131131    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    132       (sz, sg)) x_13797)
    133     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13796)
    134     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13795)
    135 | Ecost (t, x_13799, x_13798) ->
    136   h_Ecost t x_13799 x_13798
    137     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13798)
     132      (sz, sg)) x_10853)
     133    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10852)
     134    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10851)
     135| Ecost (t, x_10855, x_10854) ->
     136  h_Ecost t x_10855 x_10854
     137    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10854)
    138138
    139139(** val expr_rect_Type3 :
     
    145145    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    146146    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    147 let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13829 = function
    148 | Id (t, x_13831) -> h_Id t x_13831
    149 | Cst (t, x_13832) -> h_Cst t x_13832
    150 | Op1 (t, t', x_13834, x_13833) ->
    151   h_Op1 t t' x_13834 x_13833
    152     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13833)
    153 | Op2 (t1, t2, t', x_13837, x_13836, x_13835) ->
    154   h_Op2 t1 t2 t' x_13837 x_13836 x_13835
    155     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13836)
    156     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13835)
    157 | Mem (t, x_13838) ->
    158   h_Mem t x_13838
     147let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10885 = function
     148| Id (t, x_10887) -> h_Id t x_10887
     149| Cst (t, x_10888) -> h_Cst t x_10888
     150| Op1 (t, t', x_10890, x_10889) ->
     151  h_Op1 t t' x_10890 x_10889
     152    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10889)
     153| Op2 (t1, t2, t', x_10893, x_10892, x_10891) ->
     154  h_Op2 t1 t2 t' x_10893 x_10892 x_10891
     155    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10892)
     156    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10891)
     157| Mem (t, x_10894) ->
     158  h_Mem t x_10894
    159159    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    160       x_13838)
    161 | Cond (sz, sg, t, x_13841, x_13840, x_13839) ->
    162   h_Cond sz sg t x_13841 x_13840 x_13839
     160      x_10894)
     161| Cond (sz, sg, t, x_10897, x_10896, x_10895) ->
     162  h_Cond sz sg t x_10897 x_10896 x_10895
    163163    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    164       (sz, sg)) x_13841)
    165     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13840)
    166     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13839)
    167 | Ecost (t, x_13843, x_13842) ->
    168   h_Ecost t x_13843 x_13842
    169     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13842)
     164      (sz, sg)) x_10897)
     165    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10896)
     166    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10895)
     167| Ecost (t, x_10899, x_10898) ->
     168  h_Ecost t x_10899 x_10898
     169    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10898)
    170170
    171171(** val expr_rect_Type2 :
     
    177177    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    178178    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    179 let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13851 = function
    180 | Id (t, x_13853) -> h_Id t x_13853
    181 | Cst (t, x_13854) -> h_Cst t x_13854
    182 | Op1 (t, t', x_13856, x_13855) ->
    183   h_Op1 t t' x_13856 x_13855
    184     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13855)
    185 | Op2 (t1, t2, t', x_13859, x_13858, x_13857) ->
    186   h_Op2 t1 t2 t' x_13859 x_13858 x_13857
    187     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13858)
    188     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13857)
    189 | Mem (t, x_13860) ->
    190   h_Mem t x_13860
     179let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10907 = function
     180| Id (t, x_10909) -> h_Id t x_10909
     181| Cst (t, x_10910) -> h_Cst t x_10910
     182| Op1 (t, t', x_10912, x_10911) ->
     183  h_Op1 t t' x_10912 x_10911
     184    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10911)
     185| Op2 (t1, t2, t', x_10915, x_10914, x_10913) ->
     186  h_Op2 t1 t2 t' x_10915 x_10914 x_10913
     187    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10914)
     188    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10913)
     189| Mem (t, x_10916) ->
     190  h_Mem t x_10916
    191191    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    192       x_13860)
    193 | Cond (sz, sg, t, x_13863, x_13862, x_13861) ->
    194   h_Cond sz sg t x_13863 x_13862 x_13861
     192      x_10916)
     193| Cond (sz, sg, t, x_10919, x_10918, x_10917) ->
     194  h_Cond sz sg t x_10919 x_10918 x_10917
    195195    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    196       (sz, sg)) x_13863)
    197     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13862)
    198     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13861)
    199 | Ecost (t, x_13865, x_13864) ->
    200   h_Ecost t x_13865 x_13864
    201     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13864)
     196      (sz, sg)) x_10919)
     197    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10918)
     198    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10917)
     199| Ecost (t, x_10921, x_10920) ->
     200  h_Ecost t x_10921 x_10920
     201    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10920)
    202202
    203203(** val expr_rect_Type1 :
     
    209209    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    210210    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    211 let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13873 = function
    212 | Id (t, x_13875) -> h_Id t x_13875
    213 | Cst (t, x_13876) -> h_Cst t x_13876
    214 | Op1 (t, t', x_13878, x_13877) ->
    215   h_Op1 t t' x_13878 x_13877
    216     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13877)
    217 | Op2 (t1, t2, t', x_13881, x_13880, x_13879) ->
    218   h_Op2 t1 t2 t' x_13881 x_13880 x_13879
    219     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13880)
    220     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13879)
    221 | Mem (t, x_13882) ->
    222   h_Mem t x_13882
     211let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10929 = function
     212| Id (t, x_10931) -> h_Id t x_10931
     213| Cst (t, x_10932) -> h_Cst t x_10932
     214| Op1 (t, t', x_10934, x_10933) ->
     215  h_Op1 t t' x_10934 x_10933
     216    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10933)
     217| Op2 (t1, t2, t', x_10937, x_10936, x_10935) ->
     218  h_Op2 t1 t2 t' x_10937 x_10936 x_10935
     219    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10936)
     220    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10935)
     221| Mem (t, x_10938) ->
     222  h_Mem t x_10938
    223223    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    224       x_13882)
    225 | Cond (sz, sg, t, x_13885, x_13884, x_13883) ->
    226   h_Cond sz sg t x_13885 x_13884 x_13883
     224      x_10938)
     225| Cond (sz, sg, t, x_10941, x_10940, x_10939) ->
     226  h_Cond sz sg t x_10941 x_10940 x_10939
    227227    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    228       (sz, sg)) x_13885)
    229     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13884)
    230     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13883)
    231 | Ecost (t, x_13887, x_13886) ->
    232   h_Ecost t x_13887 x_13886
    233     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13886)
     228      (sz, sg)) x_10941)
     229    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10940)
     230    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10939)
     231| Ecost (t, x_10943, x_10942) ->
     232  h_Ecost t x_10943 x_10942
     233    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10942)
    234234
    235235(** val expr_rect_Type0 :
     
    241241    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    242242    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    243 let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13895 = function
    244 | Id (t, x_13897) -> h_Id t x_13897
    245 | Cst (t, x_13898) -> h_Cst t x_13898
    246 | Op1 (t, t', x_13900, x_13899) ->
    247   h_Op1 t t' x_13900 x_13899
    248     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13899)
    249 | Op2 (t1, t2, t', x_13903, x_13902, x_13901) ->
    250   h_Op2 t1 t2 t' x_13903 x_13902 x_13901
    251     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13902)
    252     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13901)
    253 | Mem (t, x_13904) ->
    254   h_Mem t x_13904
     243let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10951 = function
     244| Id (t, x_10953) -> h_Id t x_10953
     245| Cst (t, x_10954) -> h_Cst t x_10954
     246| Op1 (t, t', x_10956, x_10955) ->
     247  h_Op1 t t' x_10956 x_10955
     248    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10955)
     249| Op2 (t1, t2, t', x_10959, x_10958, x_10957) ->
     250  h_Op2 t1 t2 t' x_10959 x_10958 x_10957
     251    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10958)
     252    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10957)
     253| Mem (t, x_10960) ->
     254  h_Mem t x_10960
    255255    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    256       x_13904)
    257 | Cond (sz, sg, t, x_13907, x_13906, x_13905) ->
    258   h_Cond sz sg t x_13907 x_13906 x_13905
     256      x_10960)
     257| Cond (sz, sg, t, x_10963, x_10962, x_10961) ->
     258  h_Cond sz sg t x_10963 x_10962 x_10961
    259259    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    260       (sz, sg)) x_13907)
    261     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13906)
    262     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13905)
    263 | Ecost (t, x_13909, x_13908) ->
    264   h_Ecost t x_13909 x_13908
    265     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13908)
     260      (sz, sg)) x_10963)
     261    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10962)
     262    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10961)
     263| Ecost (t, x_10965, x_10964) ->
     264  h_Ecost t x_10965 x_10964
     265    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10964)
    266266
    267267(** val expr_inv_rect_Type4 :
     
    373373let 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
    374374| St_skip -> h_St_skip
    375 | St_assign (t, x_14080, x_14079) -> h_St_assign t x_14080 x_14079
    376 | St_store (t, x_14082, x_14081) -> h_St_store t x_14082 x_14081
    377 | St_call (x_14085, x_14084, x_14083) -> h_St_call x_14085 x_14084 x_14083
    378 | St_seq (x_14087, x_14086) ->
    379   h_St_seq x_14087 x_14086
     375| St_assign (t, x_11136, x_11135) -> h_St_assign t x_11136 x_11135
     376| St_store (t, x_11138, x_11137) -> h_St_store t x_11138 x_11137
     377| St_call (x_11141, x_11140, x_11139) -> h_St_call x_11141 x_11140 x_11139
     378| St_seq (x_11143, x_11142) ->
     379  h_St_seq x_11143 x_11142
    380380    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    381       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14087)
     381      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11143)
    382382    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    383       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14086)
    384 | St_ifthenelse (sz, sg, x_14090, x_14089, x_14088) ->
    385   h_St_ifthenelse sz sg x_14090 x_14089 x_14088
     383      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11142)
     384| St_ifthenelse (sz, sg, x_11146, x_11145, x_11144) ->
     385  h_St_ifthenelse sz sg x_11146 x_11145 x_11144
    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_14089)
     387      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11145)
    388388    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    389       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14088)
    390 | St_return x_14091 -> h_St_return x_14091
    391 | St_label (x_14093, x_14092) ->
    392   h_St_label x_14093 x_14092
     389      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11144)
     390| St_return x_11147 -> h_St_return x_11147
     391| St_label (x_11149, x_11148) ->
     392  h_St_label x_11149 x_11148
    393393    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    394       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14092)
    395 | St_goto x_14094 -> h_St_goto x_14094
    396 | St_cost (x_14096, x_14095) ->
    397   h_St_cost x_14096 x_14095
     394      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11148)
     395| St_goto x_11150 -> h_St_goto x_11150
     396| St_cost (x_11152, x_11151) ->
     397  h_St_cost x_11152 x_11151
    398398    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    399       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14095)
     399      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11151)
    400400
    401401(** val stmt_rect_Type3 :
     
    410410let 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
    411411| St_skip -> h_St_skip
    412 | St_assign (t, x_14138, x_14137) -> h_St_assign t x_14138 x_14137
    413 | St_store (t, x_14140, x_14139) -> h_St_store t x_14140 x_14139
    414 | St_call (x_14143, x_14142, x_14141) -> h_St_call x_14143 x_14142 x_14141
    415 | St_seq (x_14145, x_14144) ->
    416   h_St_seq x_14145 x_14144
     412| St_assign (t, x_11194, x_11193) -> h_St_assign t x_11194 x_11193
     413| St_store (t, x_11196, x_11195) -> h_St_store t x_11196 x_11195
     414| St_call (x_11199, x_11198, x_11197) -> h_St_call x_11199 x_11198 x_11197
     415| St_seq (x_11201, x_11200) ->
     416  h_St_seq x_11201 x_11200
    417417    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    418       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14145)
     418      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11201)
    419419    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    420       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14144)
    421 | St_ifthenelse (sz, sg, x_14148, x_14147, x_14146) ->
    422   h_St_ifthenelse sz sg x_14148 x_14147 x_14146
     420      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11200)
     421| St_ifthenelse (sz, sg, x_11204, x_11203, x_11202) ->
     422  h_St_ifthenelse sz sg x_11204 x_11203 x_11202
    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_14147)
     424      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11203)
    425425    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    426       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14146)
    427 | St_return x_14149 -> h_St_return x_14149
    428 | St_label (x_14151, x_14150) ->
    429   h_St_label x_14151 x_14150
     426      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11202)
     427| St_return x_11205 -> h_St_return x_11205
     428| St_label (x_11207, x_11206) ->
     429  h_St_label x_11207 x_11206
    430430    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    431       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14150)
    432 | St_goto x_14152 -> h_St_goto x_14152
    433 | St_cost (x_14154, x_14153) ->
    434   h_St_cost x_14154 x_14153
     431      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11206)
     432| St_goto x_11208 -> h_St_goto x_11208
     433| St_cost (x_11210, x_11209) ->
     434  h_St_cost x_11210 x_11209
    435435    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    436       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14153)
     436      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11209)
    437437
    438438(** val stmt_rect_Type2 :
     
    447447let 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
    448448| St_skip -> h_St_skip
    449 | St_assign (t, x_14167, x_14166) -> h_St_assign t x_14167 x_14166
    450 | St_store (t, x_14169, x_14168) -> h_St_store t x_14169 x_14168
    451 | St_call (x_14172, x_14171, x_14170) -> h_St_call x_14172 x_14171 x_14170
    452 | St_seq (x_14174, x_14173) ->
    453   h_St_seq x_14174 x_14173
     449| St_assign (t, x_11223, x_11222) -> h_St_assign t x_11223 x_11222
     450| St_store (t, x_11225, x_11224) -> h_St_store t x_11225 x_11224
     451| St_call (x_11228, x_11227, x_11226) -> h_St_call x_11228 x_11227 x_11226
     452| St_seq (x_11230, x_11229) ->
     453  h_St_seq x_11230 x_11229
    454454    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    455       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14174)
     455      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11230)
    456456    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    457       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14173)
    458 | St_ifthenelse (sz, sg, x_14177, x_14176, x_14175) ->
    459   h_St_ifthenelse sz sg x_14177 x_14176 x_14175
     457      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11229)
     458| St_ifthenelse (sz, sg, x_11233, x_11232, x_11231) ->
     459  h_St_ifthenelse sz sg x_11233 x_11232 x_11231
    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_14176)
     461      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11232)
    462462    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    463       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14175)
    464 | St_return x_14178 -> h_St_return x_14178
    465 | St_label (x_14180, x_14179) ->
    466   h_St_label x_14180 x_14179
     463      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11231)
     464| St_return x_11234 -> h_St_return x_11234
     465| St_label (x_11236, x_11235) ->
     466  h_St_label x_11236 x_11235
    467467    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    468       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14179)
    469 | St_goto x_14181 -> h_St_goto x_14181
    470 | St_cost (x_14183, x_14182) ->
    471   h_St_cost x_14183 x_14182
     468      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11235)
     469| St_goto x_11237 -> h_St_goto x_11237
     470| St_cost (x_11239, x_11238) ->
     471  h_St_cost x_11239 x_11238
    472472    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    473       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14182)
     473      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11238)
    474474
    475475(** val stmt_rect_Type1 :
     
    484484let 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
    485485| St_skip -> h_St_skip
    486 | St_assign (t, x_14196, x_14195) -> h_St_assign t x_14196 x_14195
    487 | St_store (t, x_14198, x_14197) -> h_St_store t x_14198 x_14197
    488 | St_call (x_14201, x_14200, x_14199) -> h_St_call x_14201 x_14200 x_14199
    489 | St_seq (x_14203, x_14202) ->
    490   h_St_seq x_14203 x_14202
     486| St_assign (t, x_11252, x_11251) -> h_St_assign t x_11252 x_11251
     487| St_store (t, x_11254, x_11253) -> h_St_store t x_11254 x_11253
     488| St_call (x_11257, x_11256, x_11255) -> h_St_call x_11257 x_11256 x_11255
     489| St_seq (x_11259, x_11258) ->
     490  h_St_seq x_11259 x_11258
    491491    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    492       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14203)
     492      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11259)
    493493    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    494       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14202)
    495 | St_ifthenelse (sz, sg, x_14206, x_14205, x_14204) ->
    496   h_St_ifthenelse sz sg x_14206 x_14205 x_14204
     494      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11258)
     495| St_ifthenelse (sz, sg, x_11262, x_11261, x_11260) ->
     496  h_St_ifthenelse sz sg x_11262 x_11261 x_11260
    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_14205)
     498      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11261)
    499499    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    500       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14204)
    501 | St_return x_14207 -> h_St_return x_14207
    502 | St_label (x_14209, x_14208) ->
    503   h_St_label x_14209 x_14208
     500      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11260)
     501| St_return x_11263 -> h_St_return x_11263
     502| St_label (x_11265, x_11264) ->
     503  h_St_label x_11265 x_11264
    504504    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    505       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14208)
    506 | St_goto x_14210 -> h_St_goto x_14210
    507 | St_cost (x_14212, x_14211) ->
    508   h_St_cost x_14212 x_14211
     505      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11264)
     506| St_goto x_11266 -> h_St_goto x_11266
     507| St_cost (x_11268, x_11267) ->
     508  h_St_cost x_11268 x_11267
    509509    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    510       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14211)
     510      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11267)
    511511
    512512(** val stmt_rect_Type0 :
     
    521521let 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
    522522| St_skip -> h_St_skip
    523 | St_assign (t, x_14225, x_14224) -> h_St_assign t x_14225 x_14224
    524 | St_store (t, x_14227, x_14226) -> h_St_store t x_14227 x_14226
    525 | St_call (x_14230, x_14229, x_14228) -> h_St_call x_14230 x_14229 x_14228
    526 | St_seq (x_14232, x_14231) ->
    527   h_St_seq x_14232 x_14231
     523| St_assign (t, x_11281, x_11280) -> h_St_assign t x_11281 x_11280
     524| St_store (t, x_11283, x_11282) -> h_St_store t x_11283 x_11282
     525| St_call (x_11286, x_11285, x_11284) -> h_St_call x_11286 x_11285 x_11284
     526| St_seq (x_11288, x_11287) ->
     527  h_St_seq x_11288 x_11287
    528528    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    529       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14232)
     529      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11288)
    530530    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    531       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14231)
    532 | St_ifthenelse (sz, sg, x_14235, x_14234, x_14233) ->
    533   h_St_ifthenelse sz sg x_14235 x_14234 x_14233
     531      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11287)
     532| St_ifthenelse (sz, sg, x_11291, x_11290, x_11289) ->
     533  h_St_ifthenelse sz sg x_11291 x_11290 x_11289
    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_14234)
     535      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11290)
    536536    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    537       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14233)
    538 | St_return x_14236 -> h_St_return x_14236
    539 | St_label (x_14238, x_14237) ->
    540   h_St_label x_14238 x_14237
     537      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11289)
     538| St_return x_11292 -> h_St_return x_11292
     539| St_label (x_11294, x_11293) ->
     540  h_St_label x_11294 x_11293
    541541    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    542       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14237)
    543 | St_goto x_14239 -> h_St_goto x_14239
    544 | St_cost (x_14241, x_14240) ->
    545   h_St_cost x_14241 x_14240
     542      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11293)
     543| St_goto x_11295 -> h_St_goto x_11295
     544| St_cost (x_11297, x_11296) ->
     545  h_St_cost x_11297 x_11296
    546546    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    547       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14240)
     547      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11296)
    548548
    549549(** val stmt_inv_rect_Type4 :
     
    757757    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    758758    -> 'a1) -> internal_function -> 'a1 **)
    759 let rec internal_function_rect_Type4 h_mk_internal_function x_14536 =
     759let rec internal_function_rect_Type4 h_mk_internal_function x_11592 =
    760760  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    761     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14536
     761    f_stacksize = f_stacksize0; f_body = f_body0 } = x_11592
    762762  in
    763763  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    768768    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    769769    -> 'a1) -> internal_function -> 'a1 **)
    770 let rec internal_function_rect_Type5 h_mk_internal_function x_14538 =
     770let rec internal_function_rect_Type5 h_mk_internal_function x_11594 =
    771771  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    772     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14538
     772    f_stacksize = f_stacksize0; f_body = f_body0 } = x_11594
    773773  in
    774774  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    779779    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    780780    -> 'a1) -> internal_function -> 'a1 **)
    781 let rec internal_function_rect_Type3 h_mk_internal_function x_14540 =
     781let rec internal_function_rect_Type3 h_mk_internal_function x_11596 =
    782782  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    783     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14540
     783    f_stacksize = f_stacksize0; f_body = f_body0 } = x_11596
    784784  in
    785785  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    790790    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    791791    -> 'a1) -> internal_function -> 'a1 **)
    792 let rec internal_function_rect_Type2 h_mk_internal_function x_14542 =
     792let rec internal_function_rect_Type2 h_mk_internal_function x_11598 =
    793793  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    794     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14542
     794    f_stacksize = f_stacksize0; f_body = f_body0 } = x_11598
    795795  in
    796796  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    801801    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    802802    -> 'a1) -> internal_function -> 'a1 **)
    803 let rec internal_function_rect_Type1 h_mk_internal_function x_14544 =
     803let rec internal_function_rect_Type1 h_mk_internal_function x_11600 =
    804804  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    805     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14544
     805    f_stacksize = f_stacksize0; f_body = f_body0 } = x_11600
    806806  in
    807807  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    812812    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    813813    -> 'a1) -> internal_function -> 'a1 **)
    814 let rec internal_function_rect_Type0 h_mk_internal_function x_14546 =
     814let rec internal_function_rect_Type0 h_mk_internal_function x_11602 =
    815815  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    816     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14546
     816    f_stacksize = f_stacksize0; f_body = f_body0 } = x_11602
    817817  in
    818818  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
  • extracted/csem.ml

    r2951 r2997  
    778778let rec cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    779779| Kstop -> h_Kstop
    780 | Kseq (x_8726, x_8725) ->
    781   h_Kseq x_8726 x_8725
     780| Kseq (x_14621, x_14620) ->
     781  h_Kseq x_14621 x_14620
    782782    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    783       h_Kswitch h_Kcall x_8725)
    784 | Kwhile (x_8729, x_8728, x_8727) ->
    785   h_Kwhile x_8729 x_8728 x_8727
     783      h_Kswitch h_Kcall x_14620)
     784| Kwhile (x_14624, x_14623, x_14622) ->
     785  h_Kwhile x_14624 x_14623 x_14622
    786786    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    787       h_Kswitch h_Kcall x_8727)
    788 | Kdowhile (x_8732, x_8731, x_8730) ->
    789   h_Kdowhile x_8732 x_8731 x_8730
     787      h_Kswitch h_Kcall x_14622)
     788| Kdowhile (x_14627, x_14626, x_14625) ->
     789  h_Kdowhile x_14627 x_14626 x_14625
    790790    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    791       h_Kswitch h_Kcall x_8730)
    792 | Kfor2 (x_8736, x_8735, x_8734, x_8733) ->
    793   h_Kfor2 x_8736 x_8735 x_8734 x_8733
     791      h_Kswitch h_Kcall x_14625)
     792| Kfor2 (x_14631, x_14630, x_14629, x_14628) ->
     793  h_Kfor2 x_14631 x_14630 x_14629 x_14628
    794794    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    795       h_Kswitch h_Kcall x_8733)
    796 | Kfor3 (x_8740, x_8739, x_8738, x_8737) ->
    797   h_Kfor3 x_8740 x_8739 x_8738 x_8737
     795      h_Kswitch h_Kcall x_14628)
     796| Kfor3 (x_14635, x_14634, x_14633, x_14632) ->
     797  h_Kfor3 x_14635 x_14634 x_14633 x_14632
    798798    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    799       h_Kswitch h_Kcall x_8737)
    800 | Kswitch x_8741 ->
    801   h_Kswitch x_8741
     799      h_Kswitch h_Kcall x_14632)
     800| Kswitch x_14636 ->
     801  h_Kswitch x_14636
    802802    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    803       h_Kswitch h_Kcall x_8741)
    804 | Kcall (x_8745, x_8744, x_8743, x_8742) ->
    805   h_Kcall x_8745 x_8744 x_8743 x_8742
     803      h_Kswitch h_Kcall x_14636)
     804| Kcall (x_14640, x_14639, x_14638, x_14637) ->
     805  h_Kcall x_14640 x_14639 x_14638 x_14637
    806806    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    807       h_Kswitch h_Kcall x_8742)
     807      h_Kswitch h_Kcall x_14637)
    808808
    809809(** val cont_rect_Type3 :
     
    818818let rec cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    819819| Kstop -> h_Kstop
    820 | Kseq (x_8786, x_8785) ->
    821   h_Kseq x_8786 x_8785
     820| Kseq (x_14681, x_14680) ->
     821  h_Kseq x_14681 x_14680
    822822    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    823       h_Kswitch h_Kcall x_8785)
    824 | Kwhile (x_8789, x_8788, x_8787) ->
    825   h_Kwhile x_8789 x_8788 x_8787
     823      h_Kswitch h_Kcall x_14680)
     824| Kwhile (x_14684, x_14683, x_14682) ->
     825  h_Kwhile x_14684 x_14683 x_14682
    826826    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    827       h_Kswitch h_Kcall x_8787)
    828 | Kdowhile (x_8792, x_8791, x_8790) ->
    829   h_Kdowhile x_8792 x_8791 x_8790
     827      h_Kswitch h_Kcall x_14682)
     828| Kdowhile (x_14687, x_14686, x_14685) ->
     829  h_Kdowhile x_14687 x_14686 x_14685
    830830    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    831       h_Kswitch h_Kcall x_8790)
    832 | Kfor2 (x_8796, x_8795, x_8794, x_8793) ->
    833   h_Kfor2 x_8796 x_8795 x_8794 x_8793
     831      h_Kswitch h_Kcall x_14685)
     832| Kfor2 (x_14691, x_14690, x_14689, x_14688) ->
     833  h_Kfor2 x_14691 x_14690 x_14689 x_14688
    834834    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    835       h_Kswitch h_Kcall x_8793)
    836 | Kfor3 (x_8800, x_8799, x_8798, x_8797) ->
    837   h_Kfor3 x_8800 x_8799 x_8798 x_8797
     835      h_Kswitch h_Kcall x_14688)
     836| Kfor3 (x_14695, x_14694, x_14693, x_14692) ->
     837  h_Kfor3 x_14695 x_14694 x_14693 x_14692
    838838    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    839       h_Kswitch h_Kcall x_8797)
    840 | Kswitch x_8801 ->
    841   h_Kswitch x_8801
     839      h_Kswitch h_Kcall x_14692)
     840| Kswitch x_14696 ->
     841  h_Kswitch x_14696
    842842    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    843       h_Kswitch h_Kcall x_8801)
    844 | Kcall (x_8805, x_8804, x_8803, x_8802) ->
    845   h_Kcall x_8805 x_8804 x_8803 x_8802
     843      h_Kswitch h_Kcall x_14696)
     844| Kcall (x_14700, x_14699, x_14698, x_14697) ->
     845  h_Kcall x_14700 x_14699 x_14698 x_14697
    846846    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    847       h_Kswitch h_Kcall x_8802)
     847      h_Kswitch h_Kcall x_14697)
    848848
    849849(** val cont_rect_Type2 :
     
    858858let rec cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    859859| Kstop -> h_Kstop
    860 | Kseq (x_8816, x_8815) ->
    861   h_Kseq x_8816 x_8815
     860| Kseq (x_14711, x_14710) ->
     861  h_Kseq x_14711 x_14710
    862862    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    863       h_Kswitch h_Kcall x_8815)
    864 | Kwhile (x_8819, x_8818, x_8817) ->
    865   h_Kwhile x_8819 x_8818 x_8817
     863      h_Kswitch h_Kcall x_14710)
     864| Kwhile (x_14714, x_14713, x_14712) ->
     865  h_Kwhile x_14714 x_14713 x_14712
    866866    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    867       h_Kswitch h_Kcall x_8817)
    868 | Kdowhile (x_8822, x_8821, x_8820) ->
    869   h_Kdowhile x_8822 x_8821 x_8820
     867      h_Kswitch h_Kcall x_14712)
     868| Kdowhile (x_14717, x_14716, x_14715) ->
     869  h_Kdowhile x_14717 x_14716 x_14715
    870870    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    871       h_Kswitch h_Kcall x_8820)
    872 | Kfor2 (x_8826, x_8825, x_8824, x_8823) ->
    873   h_Kfor2 x_8826 x_8825 x_8824 x_8823
     871      h_Kswitch h_Kcall x_14715)
     872| Kfor2 (x_14721, x_14720, x_14719, x_14718) ->
     873  h_Kfor2 x_14721 x_14720 x_14719 x_14718
    874874    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    875       h_Kswitch h_Kcall x_8823)
    876 | Kfor3 (x_8830, x_8829, x_8828, x_8827) ->
    877   h_Kfor3 x_8830 x_8829 x_8828 x_8827
     875      h_Kswitch h_Kcall x_14718)
     876| Kfor3 (x_14725, x_14724, x_14723, x_14722) ->
     877  h_Kfor3 x_14725 x_14724 x_14723 x_14722
    878878    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    879       h_Kswitch h_Kcall x_8827)
    880 | Kswitch x_8831 ->
    881   h_Kswitch x_8831
     879      h_Kswitch h_Kcall x_14722)
     880| Kswitch x_14726 ->
     881  h_Kswitch x_14726
    882882    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    883       h_Kswitch h_Kcall x_8831)
    884 | Kcall (x_8835, x_8834, x_8833, x_8832) ->
    885   h_Kcall x_8835 x_8834 x_8833 x_8832
     883      h_Kswitch h_Kcall x_14726)
     884| Kcall (x_14730, x_14729, x_14728, x_14727) ->
     885  h_Kcall x_14730 x_14729 x_14728 x_14727
    886886    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    887       h_Kswitch h_Kcall x_8832)
     887      h_Kswitch h_Kcall x_14727)
    888888
    889889(** val cont_rect_Type1 :
     
    898898let rec cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    899899| Kstop -> h_Kstop
    900 | Kseq (x_8846, x_8845) ->
    901   h_Kseq x_8846 x_8845
     900| Kseq (x_14741, x_14740) ->
     901  h_Kseq x_14741 x_14740
    902902    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    903       h_Kswitch h_Kcall x_8845)
    904 | Kwhile (x_8849, x_8848, x_8847) ->
    905   h_Kwhile x_8849 x_8848 x_8847
     903      h_Kswitch h_Kcall x_14740)
     904| Kwhile (x_14744, x_14743, x_14742) ->
     905  h_Kwhile x_14744 x_14743 x_14742
    906906    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    907       h_Kswitch h_Kcall x_8847)
    908 | Kdowhile (x_8852, x_8851, x_8850) ->
    909   h_Kdowhile x_8852 x_8851 x_8850
     907      h_Kswitch h_Kcall x_14742)
     908| Kdowhile (x_14747, x_14746, x_14745) ->
     909  h_Kdowhile x_14747 x_14746 x_14745
    910910    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    911       h_Kswitch h_Kcall x_8850)
    912 | Kfor2 (x_8856, x_8855, x_8854, x_8853) ->
    913   h_Kfor2 x_8856 x_8855 x_8854 x_8853
     911      h_Kswitch h_Kcall x_14745)
     912| Kfor2 (x_14751, x_14750, x_14749, x_14748) ->
     913  h_Kfor2 x_14751 x_14750 x_14749 x_14748
    914914    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    915       h_Kswitch h_Kcall x_8853)
    916 | Kfor3 (x_8860, x_8859, x_8858, x_8857) ->
    917   h_Kfor3 x_8860 x_8859 x_8858 x_8857
     915      h_Kswitch h_Kcall x_14748)
     916| Kfor3 (x_14755, x_14754, x_14753, x_14752) ->
     917  h_Kfor3 x_14755 x_14754 x_14753 x_14752
    918918    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    919       h_Kswitch h_Kcall x_8857)
    920 | Kswitch x_8861 ->
    921   h_Kswitch x_8861
     919      h_Kswitch h_Kcall x_14752)
     920| Kswitch x_14756 ->
     921  h_Kswitch x_14756
    922922    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    923       h_Kswitch h_Kcall x_8861)
    924 | Kcall (x_8865, x_8864, x_8863, x_8862) ->
    925   h_Kcall x_8865 x_8864 x_8863 x_8862
     923      h_Kswitch h_Kcall x_14756)
     924| Kcall (x_14760, x_14759, x_14758, x_14757) ->
     925  h_Kcall x_14760 x_14759 x_14758 x_14757
    926926    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    927       h_Kswitch h_Kcall x_8862)
     927      h_Kswitch h_Kcall x_14757)
    928928
    929929(** val cont_rect_Type0 :
     
    938938let rec cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    939939| Kstop -> h_Kstop
    940 | Kseq (x_8876, x_8875) ->
    941   h_Kseq x_8876 x_8875
     940| Kseq (x_14771, x_14770) ->
     941  h_Kseq x_14771 x_14770
    942942    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    943       h_Kswitch h_Kcall x_8875)
    944 | Kwhile (x_8879, x_8878, x_8877) ->
    945   h_Kwhile x_8879 x_8878 x_8877
     943      h_Kswitch h_Kcall x_14770)
     944| Kwhile (x_14774, x_14773, x_14772) ->
     945  h_Kwhile x_14774 x_14773 x_14772
    946946    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    947       h_Kswitch h_Kcall x_8877)
    948 | Kdowhile (x_8882, x_8881, x_8880) ->
    949   h_Kdowhile x_8882 x_8881 x_8880
     947      h_Kswitch h_Kcall x_14772)
     948| Kdowhile (x_14777, x_14776, x_14775) ->
     949  h_Kdowhile x_14777 x_14776 x_14775
    950950    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    951       h_Kswitch h_Kcall x_8880)
    952 | Kfor2 (x_8886, x_8885, x_8884, x_8883) ->
    953   h_Kfor2 x_8886 x_8885 x_8884 x_8883
     951      h_Kswitch h_Kcall x_14775)
     952| Kfor2 (x_14781, x_14780, x_14779, x_14778) ->
     953  h_Kfor2 x_14781 x_14780 x_14779 x_14778
    954954    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    955       h_Kswitch h_Kcall x_8883)
    956 | Kfor3 (x_8890, x_8889, x_8888, x_8887) ->
    957   h_Kfor3 x_8890 x_8889 x_8888 x_8887
     955      h_Kswitch h_Kcall x_14778)
     956| Kfor3 (x_14785, x_14784, x_14783, x_14782) ->
     957  h_Kfor3 x_14785 x_14784 x_14783 x_14782
    958958    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    959       h_Kswitch h_Kcall x_8887)
    960 | Kswitch x_8891 ->
    961   h_Kswitch x_8891
     959      h_Kswitch h_Kcall x_14782)
     960| Kswitch x_14786 ->
     961  h_Kswitch x_14786
    962962    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    963       h_Kswitch h_Kcall x_8891)
    964 | Kcall (x_8895, x_8894, x_8893, x_8892) ->
    965   h_Kcall x_8895 x_8894 x_8893 x_8892
     963      h_Kswitch h_Kcall x_14786)
     964| Kcall (x_14790, x_14789, x_14788, x_14787) ->
     965  h_Kcall x_14790 x_14789 x_14788 x_14787
    966966    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    967       h_Kswitch h_Kcall x_8892)
     967      h_Kswitch h_Kcall x_14787)
    968968
    969969(** val cont_inv_rect_Type4 :
  • extracted/csyntax.ml

    r2827 r2997  
    12031203    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12041204    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1205 let rec function_rect_Type4 h_mk_function x_4482 =
     1205let rec function_rect_Type4 h_mk_function x_12143 =
    12061206  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1207     fn_body = fn_body0 } = x_4482
     1207    fn_body = fn_body0 } = x_12143
    12081208  in
    12091209  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12121212    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12131213    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1214 let rec function_rect_Type5 h_mk_function x_4484 =
     1214let rec function_rect_Type5 h_mk_function x_12145 =
    12151215  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1216     fn_body = fn_body0 } = x_4484
     1216    fn_body = fn_body0 } = x_12145
    12171217  in
    12181218  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12211221    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12221222    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1223 let rec function_rect_Type3 h_mk_function x_4486 =
     1223let rec function_rect_Type3 h_mk_function x_12147 =
    12241224  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1225     fn_body = fn_body0 } = x_4486
     1225    fn_body = fn_body0 } = x_12147
    12261226  in
    12271227  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12301230    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12311231    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1232 let rec function_rect_Type2 h_mk_function x_4488 =
     1232let rec function_rect_Type2 h_mk_function x_12149 =
    12331233  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1234     fn_body = fn_body0 } = x_4488
     1234    fn_body = fn_body0 } = x_12149
    12351235  in
    12361236  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12391239    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12401240    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1241 let rec function_rect_Type1 h_mk_function x_4490 =
     1241let rec function_rect_Type1 h_mk_function x_12151 =
    12421242  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1243     fn_body = fn_body0 } = x_4490
     1243    fn_body = fn_body0 } = x_12151
    12441244  in
    12451245  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12481248    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12491249    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1250 let rec function_rect_Type0 h_mk_function x_4492 =
     1250let rec function_rect_Type0 h_mk_function x_12153 =
    12511251  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1252     fn_body = fn_body0 } = x_4492
     1252    fn_body = fn_body0 } = x_12153
    12531253  in
    12541254  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    13221322    clight_fundef -> 'a1 **)
    13231323let rec clight_fundef_rect_Type4 h_CL_Internal h_CL_External = function
    1324 | CL_Internal x_4514 -> h_CL_Internal x_4514
    1325 | CL_External (x_4517, x_4516, x_4515) -> h_CL_External x_4517 x_4516 x_4515
     1324| CL_Internal x_12175 -> h_CL_Internal x_12175
     1325| CL_External (x_12178, x_12177, x_12176) ->
     1326  h_CL_External x_12178 x_12177 x_12176
    13261327
    13271328(** val clight_fundef_rect_Type5 :
     
    13291330    clight_fundef -> 'a1 **)
    13301331let rec clight_fundef_rect_Type5 h_CL_Internal h_CL_External = function
    1331 | CL_Internal x_4521 -> h_CL_Internal x_4521
    1332 | CL_External (x_4524, x_4523, x_4522) -> h_CL_External x_4524 x_4523 x_4522
     1332| CL_Internal x_12182 -> h_CL_Internal x_12182
     1333| CL_External (x_12185, x_12184, x_12183) ->
     1334  h_CL_External x_12185 x_12184 x_12183
    13331335
    13341336(** val clight_fundef_rect_Type3 :
     
    13361338    clight_fundef -> 'a1 **)
    13371339let rec clight_fundef_rect_Type3 h_CL_Internal h_CL_External = function
    1338 | CL_Internal x_4528 -> h_CL_Internal x_4528
    1339 | CL_External (x_4531, x_4530, x_4529) -> h_CL_External x_4531 x_4530 x_4529
     1340| CL_Internal x_12189 -> h_CL_Internal x_12189
     1341| CL_External (x_12192, x_12191, x_12190) ->
     1342  h_CL_External x_12192 x_12191 x_12190
    13401343
    13411344(** val clight_fundef_rect_Type2 :
     
    13431346    clight_fundef -> 'a1 **)
    13441347let rec clight_fundef_rect_Type2 h_CL_Internal h_CL_External = function
    1345 | CL_Internal x_4535 -> h_CL_Internal x_4535
    1346 | CL_External (x_4538, x_4537, x_4536) -> h_CL_External x_4538 x_4537 x_4536
     1348| CL_Internal x_12196 -> h_CL_Internal x_12196
     1349| CL_External (x_12199, x_12198, x_12197) ->
     1350  h_CL_External x_12199 x_12198 x_12197
    13471351
    13481352(** val clight_fundef_rect_Type1 :
     
    13501354    clight_fundef -> 'a1 **)
    13511355let rec clight_fundef_rect_Type1 h_CL_Internal h_CL_External = function
    1352 | CL_Internal x_4542 -> h_CL_Internal x_4542
    1353 | CL_External (x_4545, x_4544, x_4543) -> h_CL_External x_4545 x_4544 x_4543
     1356| CL_Internal x_12203 -> h_CL_Internal x_12203
     1357| CL_External (x_12206, x_12205, x_12204) ->
     1358  h_CL_External x_12206 x_12205 x_12204
    13541359
    13551360(** val clight_fundef_rect_Type0 :
     
    13571362    clight_fundef -> 'a1 **)
    13581363let rec clight_fundef_rect_Type0 h_CL_Internal h_CL_External = function
    1359 | CL_Internal x_4549 -> h_CL_Internal x_4549
    1360 | CL_External (x_4552, x_4551, x_4550) -> h_CL_External x_4552 x_4551 x_4550
     1364| CL_Internal x_12210 -> h_CL_Internal x_12210
     1365| CL_External (x_12213, x_12212, x_12211) ->
     1366  h_CL_External x_12213 x_12212 x_12211
    13611367
    13621368(** val clight_fundef_inv_rect_Type4 :
     
    15321538(** val mode_rect_Type4 :
    15331539    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1534 let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_4602 = function
     1540let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_12263 = function
    15351541| By_value t -> h_By_value t
    15361542| By_reference -> h_By_reference
     
    15391545(** val mode_rect_Type5 :
    15401546    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1541 let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_4607 = function
     1547let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_12268 = function
    15421548| By_value t -> h_By_value t
    15431549| By_reference -> h_By_reference
     
    15461552(** val mode_rect_Type3 :
    15471553    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1548 let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_4612 = function
     1554let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_12273 = function
    15491555| By_value t -> h_By_value t
    15501556| By_reference -> h_By_reference
     
    15531559(** val mode_rect_Type2 :
    15541560    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1555 let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_4617 = function
     1561let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_12278 = function
    15561562| By_value t -> h_By_value t
    15571563| By_reference -> h_By_reference
     
    15601566(** val mode_rect_Type1 :
    15611567    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1562 let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_4622 = function
     1568let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_12283 = function
    15631569| By_value t -> h_By_value t
    15641570| By_reference -> h_By_reference
     
    15671573(** val mode_rect_Type0 :
    15681574    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1569 let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_4627 = function
     1575let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_12288 = function
    15701576| By_value t -> h_By_value t
    15711577| By_reference -> h_By_reference
  • extracted/eRTL.ml

    r2960 r2997  
    126126    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    127127let rec move_dst_rect_Type4 h_PSD h_HDW = function
    128 | PSD x_7 -> h_PSD x_7
    129 | HDW x_8 -> h_HDW x_8
     128| PSD x_8132 -> h_PSD x_8132
     129| HDW x_8133 -> h_HDW x_8133
    130130
    131131(** val move_dst_rect_Type5 :
    132132    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    133133let rec move_dst_rect_Type5 h_PSD h_HDW = function
    134 | PSD x_12 -> h_PSD x_12
    135 | HDW x_13 -> h_HDW x_13
     134| PSD x_8137 -> h_PSD x_8137
     135| HDW x_8138 -> h_HDW x_8138
    136136
    137137(** val move_dst_rect_Type3 :
    138138    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    139139let rec move_dst_rect_Type3 h_PSD h_HDW = function
    140 | PSD x_17 -> h_PSD x_17
    141 | HDW x_18 -> h_HDW x_18
     140| PSD x_8142 -> h_PSD x_8142
     141| HDW x_8143 -> h_HDW x_8143
    142142
    143143(** val move_dst_rect_Type2 :
    144144    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    145145let rec move_dst_rect_Type2 h_PSD h_HDW = function
    146 | PSD x_22 -> h_PSD x_22
    147 | HDW x_23 -> h_HDW x_23
     146| PSD x_8147 -> h_PSD x_8147
     147| HDW x_8148 -> h_HDW x_8148
    148148
    149149(** val move_dst_rect_Type1 :
    150150    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    151151let rec move_dst_rect_Type1 h_PSD h_HDW = function
    152 | PSD x_27 -> h_PSD x_27
    153 | HDW x_28 -> h_HDW x_28
     152| PSD x_8152 -> h_PSD x_8152
     153| HDW x_8153 -> h_HDW x_8153
    154154
    155155(** val move_dst_rect_Type0 :
    156156    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    157157let rec move_dst_rect_Type0 h_PSD h_HDW = function
    158 | PSD x_32 -> h_PSD x_32
    159 | HDW x_33 -> h_HDW x_33
     158| PSD x_8157 -> h_PSD x_8157
     159| HDW x_8158 -> h_HDW x_8158
    160160
    161161(** val move_dst_inv_rect_Type4 :
     
    352352| Ertl_new_frame -> h_ertl_new_frame
    353353| Ertl_del_frame -> h_ertl_del_frame
    354 | Ertl_frame_size x_72 -> h_ertl_frame_size x_72
     354| Ertl_frame_size x_8197 -> h_ertl_frame_size x_8197
    355355
    356356(** val ertl_seq_rect_Type5 :
     
    359359| Ertl_new_frame -> h_ertl_new_frame
    360360| Ertl_del_frame -> h_ertl_del_frame
    361 | Ertl_frame_size x_77 -> h_ertl_frame_size x_77
     361| Ertl_frame_size x_8202 -> h_ertl_frame_size x_8202
    362362
    363363(** val ertl_seq_rect_Type3 :
     
    366366| Ertl_new_frame -> h_ertl_new_frame
    367367| Ertl_del_frame -> h_ertl_del_frame
    368 | Ertl_frame_size x_82 -> h_ertl_frame_size x_82
     368| Ertl_frame_size x_8207 -> h_ertl_frame_size x_8207
    369369
    370370(** val ertl_seq_rect_Type2 :
     
    373373| Ertl_new_frame -> h_ertl_new_frame
    374374| Ertl_del_frame -> h_ertl_del_frame
    375 | Ertl_frame_size x_87 -> h_ertl_frame_size x_87
     375| Ertl_frame_size x_8212 -> h_ertl_frame_size x_8212
    376376
    377377(** val ertl_seq_rect_Type1 :
     
    380380| Ertl_new_frame -> h_ertl_new_frame
    381381| Ertl_del_frame -> h_ertl_del_frame
    382 | Ertl_frame_size x_92 -> h_ertl_frame_size x_92
     382| Ertl_frame_size x_8217 -> h_ertl_frame_size x_8217
    383383
    384384(** val ertl_seq_rect_Type0 :
     
    387387| Ertl_new_frame -> h_ertl_new_frame
    388388| Ertl_del_frame -> h_ertl_del_frame
    389 | Ertl_frame_size x_97 -> h_ertl_frame_size x_97
     389| Ertl_frame_size x_8222 -> h_ertl_frame_size x_8222
    390390
    391391(** val ertl_seq_inv_rect_Type4 :
  • extracted/eRTLptr.ml

    r2960 r2997  
    130130    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    131131let rec ertlptr_seq_rect_Type4 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    132 | Ertlptr_ertl x_141 -> h_ertlptr_ertl x_141
    133 | LOW_ADDRESS (x_143, x_142) -> h_LOW_ADDRESS x_143 x_142
    134 | HIGH_ADDRESS (x_145, x_144) -> h_HIGH_ADDRESS x_145 x_144
     132| Ertlptr_ertl x_8266 -> h_ertlptr_ertl x_8266
     133| LOW_ADDRESS (x_8268, x_8267) -> h_LOW_ADDRESS x_8268 x_8267
     134| HIGH_ADDRESS (x_8270, x_8269) -> h_HIGH_ADDRESS x_8270 x_8269
    135135
    136136(** val ertlptr_seq_rect_Type5 :
     
    138138    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    139139let rec ertlptr_seq_rect_Type5 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    140 | Ertlptr_ertl x_150 -> h_ertlptr_ertl x_150
    141 | LOW_ADDRESS (x_152, x_151) -> h_LOW_ADDRESS x_152 x_151
    142 | HIGH_ADDRESS (x_154, x_153) -> h_HIGH_ADDRESS x_154 x_153
     140| Ertlptr_ertl x_8275 -> h_ertlptr_ertl x_8275
     141| LOW_ADDRESS (x_8277, x_8276) -> h_LOW_ADDRESS x_8277 x_8276
     142| HIGH_ADDRESS (x_8279, x_8278) -> h_HIGH_ADDRESS x_8279 x_8278
    143143
    144144(** val ertlptr_seq_rect_Type3 :
     
    146146    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    147147let rec ertlptr_seq_rect_Type3 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    148 | Ertlptr_ertl x_159 -> h_ertlptr_ertl x_159
    149 | LOW_ADDRESS (x_161, x_160) -> h_LOW_ADDRESS x_161 x_160
    150 | HIGH_ADDRESS (x_163, x_162) -> h_HIGH_ADDRESS x_163 x_162
     148| Ertlptr_ertl x_8284 -> h_ertlptr_ertl x_8284
     149| LOW_ADDRESS (x_8286, x_8285) -> h_LOW_ADDRESS x_8286 x_8285
     150| HIGH_ADDRESS (x_8288, x_8287) -> h_HIGH_ADDRESS x_8288 x_8287
    151151
    152152(** val ertlptr_seq_rect_Type2 :
     
    154154    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    155155let rec ertlptr_seq_rect_Type2 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    156 | Ertlptr_ertl x_168 -> h_ertlptr_ertl x_168
    157 | LOW_ADDRESS (x_170, x_169) -> h_LOW_ADDRESS x_170 x_169
    158 | HIGH_ADDRESS (x_172, x_171) -> h_HIGH_ADDRESS x_172 x_171
     156| Ertlptr_ertl x_8293 -> h_ertlptr_ertl x_8293
     157| LOW_ADDRESS (x_8295, x_8294) -> h_LOW_ADDRESS x_8295 x_8294
     158| HIGH_ADDRESS (x_8297, x_8296) -> h_HIGH_ADDRESS x_8297 x_8296
    159159
    160160(** val ertlptr_seq_rect_Type1 :
     
    162162    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    163163let rec ertlptr_seq_rect_Type1 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    164 | Ertlptr_ertl x_177 -> h_ertlptr_ertl x_177
    165 | LOW_ADDRESS (x_179, x_178) -> h_LOW_ADDRESS x_179 x_178
    166 | HIGH_ADDRESS (x_181, x_180) -> h_HIGH_ADDRESS x_181 x_180
     164| Ertlptr_ertl x_8302 -> h_ertlptr_ertl x_8302
     165| LOW_ADDRESS (x_8304, x_8303) -> h_LOW_ADDRESS x_8304 x_8303
     166| HIGH_ADDRESS (x_8306, x_8305) -> h_HIGH_ADDRESS x_8306 x_8305
    167167
    168168(** val ertlptr_seq_rect_Type0 :
     
    170170    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    171171let rec ertlptr_seq_rect_Type0 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    172 | Ertlptr_ertl x_186 -> h_ertlptr_ertl x_186
    173 | LOW_ADDRESS (x_188, x_187) -> h_LOW_ADDRESS x_188 x_187
    174 | HIGH_ADDRESS (x_190, x_189) -> h_HIGH_ADDRESS x_190 x_189
     172| Ertlptr_ertl x_8311 -> h_ertlptr_ertl x_8311
     173| LOW_ADDRESS (x_8313, x_8312) -> h_LOW_ADDRESS x_8313 x_8312
     174| HIGH_ADDRESS (x_8315, x_8314) -> h_HIGH_ADDRESS x_8315 x_8314
    175175
    176176(** val ertlptr_seq_inv_rect_Type4 :
  • extracted/eRTLptrToLTL.ml

    r2960 r2997  
    181181    arg_decision -> 'a1 **)
    182182let rec arg_decision_rect_Type4 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    183 | Arg_decision_colour x_380 -> h_arg_decision_colour x_380
    184 | Arg_decision_spill x_381 -> h_arg_decision_spill x_381
    185 | Arg_decision_imm x_382 -> h_arg_decision_imm x_382
     183| Arg_decision_colour x_106 -> h_arg_decision_colour x_106
     184| Arg_decision_spill x_107 -> h_arg_decision_spill x_107
     185| Arg_decision_imm x_108 -> h_arg_decision_imm x_108
    186186
    187187(** val arg_decision_rect_Type5 :
     
    189189    arg_decision -> 'a1 **)
    190190let rec arg_decision_rect_Type5 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    191 | Arg_decision_colour x_387 -> h_arg_decision_colour x_387
    192 | Arg_decision_spill x_388 -> h_arg_decision_spill x_388
    193 | Arg_decision_imm x_389 -> h_arg_decision_imm x_389
     191| Arg_decision_colour x_113 -> h_arg_decision_colour x_113
     192| Arg_decision_spill x_114 -> h_arg_decision_spill x_114
     193| Arg_decision_imm x_115 -> h_arg_decision_imm x_115
    194194
    195195(** val arg_decision_rect_Type3 :
     
    197197    arg_decision -> 'a1 **)
    198198let rec arg_decision_rect_Type3 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    199 | Arg_decision_colour x_394 -> h_arg_decision_colour x_394
    200 | Arg_decision_spill x_395 -> h_arg_decision_spill x_395
    201 | Arg_decision_imm x_396 -> h_arg_decision_imm x_396
     199| Arg_decision_colour x_120 -> h_arg_decision_colour x_120
     200| Arg_decision_spill x_121 -> h_arg_decision_spill x_121
     201| Arg_decision_imm x_122 -> h_arg_decision_imm x_122
    202202
    203203(** val arg_decision_rect_Type2 :
     
    205205    arg_decision -> 'a1 **)
    206206let rec arg_decision_rect_Type2 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    207 | Arg_decision_colour x_401 -> h_arg_decision_colour x_401
    208 | Arg_decision_spill x_402 -> h_arg_decision_spill x_402
    209 | Arg_decision_imm x_403 -> h_arg_decision_imm x_403
     207| Arg_decision_colour x_127 -> h_arg_decision_colour x_127
     208| Arg_decision_spill x_128 -> h_arg_decision_spill x_128
     209| Arg_decision_imm x_129 -> h_arg_decision_imm x_129
    210210
    211211(** val arg_decision_rect_Type1 :
     
    213213    arg_decision -> 'a1 **)
    214214let rec arg_decision_rect_Type1 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    215 | Arg_decision_colour x_408 -> h_arg_decision_colour x_408
    216 | Arg_decision_spill x_409 -> h_arg_decision_spill x_409
    217 | Arg_decision_imm x_410 -> h_arg_decision_imm x_410
     215| Arg_decision_colour x_134 -> h_arg_decision_colour x_134
     216| Arg_decision_spill x_135 -> h_arg_decision_spill x_135
     217| Arg_decision_imm x_136 -> h_arg_decision_imm x_136
    218218
    219219(** val arg_decision_rect_Type0 :
     
    221221    arg_decision -> 'a1 **)
    222222let rec arg_decision_rect_Type0 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    223 | Arg_decision_colour x_415 -> h_arg_decision_colour x_415
    224 | Arg_decision_spill x_416 -> h_arg_decision_spill x_416
    225 | Arg_decision_imm x_417 -> h_arg_decision_imm x_417
     223| Arg_decision_colour x_141 -> h_arg_decision_colour x_141
     224| Arg_decision_spill x_142 -> h_arg_decision_spill x_142
     225| Arg_decision_imm x_143 -> h_arg_decision_imm x_143
    226226
    227227(** val arg_decision_inv_rect_Type4 :
  • extracted/errorMessages.ml

    r2960 r2997  
    8282| FunctionNotFound
    8383| StackOverflow
     84
  • extracted/errors.ml

    r2827 r2997  
    4343    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    4444let rec errcode_rect_Type4 h_MSG h_CTX = function
    45 | MSG x_3100 -> h_MSG x_3100
    46 | CTX (tag, x_3101) -> h_CTX tag x_3101
     45| MSG x_7 -> h_MSG x_7
     46| CTX (tag, x_8) -> h_CTX tag x_8
    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_3105 -> h_MSG x_3105
    53 | CTX (tag, x_3106) -> h_CTX tag x_3106
     52| MSG x_12 -> h_MSG x_12
     53| CTX (tag, x_13) -> h_CTX tag x_13
    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_3110 -> h_MSG x_3110
    60 | CTX (tag, x_3111) -> h_CTX tag x_3111
     59| MSG x_17 -> h_MSG x_17
     60| CTX (tag, x_18) -> h_CTX tag x_18
    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_3115 -> h_MSG x_3115
    67 | CTX (tag, x_3116) -> h_CTX tag x_3116
     66| MSG x_22 -> h_MSG x_22
     67| CTX (tag, x_23) -> h_CTX tag x_23
    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_3120 -> h_MSG x_3120
    74 | CTX (tag, x_3121) -> h_CTX tag x_3121
     73| MSG x_27 -> h_MSG x_27
     74| CTX (tag, x_28) -> h_CTX tag x_28
    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_3125 -> h_MSG x_3125
    81 | CTX (tag, x_3126) -> h_CTX tag x_3126
     80| MSG x_32 -> h_MSG x_32
     81| CTX (tag, x_33) -> h_CTX tag x_33
    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_3165 -> h_OK x_3165
    146 | Error x_3166 -> h_Error x_3166
     145| OK x_72 -> h_OK x_72
     146| Error x_73 -> h_Error x_73
    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_3170 -> h_OK x_3170
    152 | Error x_3171 -> h_Error x_3171
     151| OK x_77 -> h_OK x_77
     152| Error x_78 -> h_Error x_78
    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_3175 -> h_OK x_3175
    158 | Error x_3176 -> h_Error x_3176
     157| OK x_82 -> h_OK x_82
     158| Error x_83 -> h_Error x_83
    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_3180 -> h_OK x_3180
    164 | Error x_3181 -> h_Error x_3181
     163| OK x_87 -> h_OK x_87
     164| Error x_88 -> h_Error x_88
    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_3185 -> h_OK x_3185
    170 | Error x_3186 -> h_Error x_3186
     169| OK x_92 -> h_OK x_92
     170| Error x_93 -> h_Error x_93
    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_3190 -> h_OK x_3190
    176 | Error x_3191 -> h_Error x_3191
     175| OK x_97 -> h_OK x_97
     176| Error x_98 -> h_Error x_98
    177177
    178178(** val res_inv_rect_Type4 :
  • extracted/events.ml

    r2827 r2997  
    8989    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    9090let rec eventval_rect_Type4 h_EVint = function
    91 | EVint (sz, x_5524) -> h_EVint sz x_5524
     91| EVint (sz, x_4405) -> h_EVint sz x_4405
    9292
    9393(** val eventval_rect_Type5 :
    9494    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    9595let rec eventval_rect_Type5 h_EVint = function
    96 | EVint (sz, x_5527) -> h_EVint sz x_5527
     96| EVint (sz, x_4408) -> h_EVint sz x_4408
    9797
    9898(** val eventval_rect_Type3 :
    9999    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    100100let rec eventval_rect_Type3 h_EVint = function
    101 | EVint (sz, x_5530) -> h_EVint sz x_5530
     101| EVint (sz, x_4411) -> h_EVint sz x_4411
    102102
    103103(** val eventval_rect_Type2 :
    104104    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    105105let rec eventval_rect_Type2 h_EVint = function
    106 | EVint (sz, x_5533) -> h_EVint sz x_5533
     106| EVint (sz, x_4414) -> h_EVint sz x_4414
    107107
    108108(** val eventval_rect_Type1 :
    109109    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    110110let rec eventval_rect_Type1 h_EVint = function
    111 | EVint (sz, x_5536) -> h_EVint sz x_5536
     111| EVint (sz, x_4417) -> h_EVint sz x_4417
    112112
    113113(** val eventval_rect_Type0 :
    114114    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    115115let rec eventval_rect_Type0 h_EVint = function
    116 | EVint (sz, x_5539) -> h_EVint sz x_5539
     116| EVint (sz, x_4420) -> h_EVint sz x_4420
    117117
    118118(** val eventval_inv_rect_Type4 :
     
    159159    eventval -> 'a1) -> event -> 'a1 **)
    160160let rec event_rect_Type4 h_EVcost h_EVextcall = function
    161 | EVcost x_5564 -> h_EVcost x_5564
     161| EVcost x_4445 -> h_EVcost x_4445
    162162| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    163163
     
    166166    eventval -> 'a1) -> event -> 'a1 **)
    167167let rec event_rect_Type5 h_EVcost h_EVextcall = function
    168 | EVcost x_5568 -> h_EVcost x_5568
     168| EVcost x_4449 -> h_EVcost x_4449
    169169| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    170170
     
    173173    eventval -> 'a1) -> event -> 'a1 **)
    174174let rec event_rect_Type3 h_EVcost h_EVextcall = function
    175 | EVcost x_5572 -> h_EVcost x_5572
     175| EVcost x_4453 -> h_EVcost x_4453
    176176| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    177177
     
    180180    eventval -> 'a1) -> event -> 'a1 **)
    181181let rec event_rect_Type2 h_EVcost h_EVextcall = function
    182 | EVcost x_5576 -> h_EVcost x_5576
     182| EVcost x_4457 -> h_EVcost x_4457
    183183| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    184184
     
    187187    eventval -> 'a1) -> event -> 'a1 **)
    188188let rec event_rect_Type1 h_EVcost h_EVextcall = function
    189 | EVcost x_5580 -> h_EVcost x_5580
     189| EVcost x_4461 -> h_EVcost x_4461
    190190| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    191191
     
    194194    eventval -> 'a1) -> event -> 'a1 **)
    195195let rec event_rect_Type0 h_EVcost h_EVextcall = function
    196 | EVcost x_5584 -> h_EVcost x_5584
     196| EVcost x_4465 -> h_EVcost x_4465
    197197| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    198198
  • extracted/fetch.ml

    r2951 r2997  
    9898  (Types.pi1
    9999    (FoldStuff.foldl_strong program (fun prefix x tl _ labels_costs_ppc ->
    100       (let { Types.fst = eta24730; Types.snd = ppc } =
     100      (let { Types.fst = eta24856; Types.snd = ppc } =
    101101         Types.pi1 labels_costs_ppc
    102102       in
    103103      (fun _ ->
    104       (let { Types.fst = labels; Types.snd = costs } = eta24730 in
     104      (let { Types.fst = labels; Types.snd = costs } = eta24856 in
    105105      (fun _ ->
    106106      (let { Types.fst = label; Types.snd = instr } = x in
  • extracted/fixpoints.ml

    r2951 r2997  
    8080    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    8181    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    82 let rec property_lattice_rect_Type4 h_mk_property_lattice x_19049 =
    83   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    84     l_is_maximal = l_is_maximal0 } = x_19049
     82let rec property_lattice_rect_Type4 h_mk_property_lattice x_8779 =
     83  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     84    l_is_maximal = l_is_maximal0 } = x_8779
    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_19051 =
    92   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    93     l_is_maximal = l_is_maximal0 } = x_19051
     91let rec property_lattice_rect_Type5 h_mk_property_lattice x_8781 =
     92  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     93    l_is_maximal = l_is_maximal0 } = x_8781
    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_19053 =
    101   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    102     l_is_maximal = l_is_maximal0 } = x_19053
     100let rec property_lattice_rect_Type3 h_mk_property_lattice x_8783 =
     101  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     102    l_is_maximal = l_is_maximal0 } = x_8783
    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_19055 =
    110   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    111     l_is_maximal = l_is_maximal0 } = x_19055
     109let rec property_lattice_rect_Type2 h_mk_property_lattice x_8785 =
     110  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     111    l_is_maximal = l_is_maximal0 } = x_8785
    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_19057 =
    119   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    120     l_is_maximal = l_is_maximal0 } = x_19057
     118let rec property_lattice_rect_Type1 h_mk_property_lattice x_8787 =
     119  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     120    l_is_maximal = l_is_maximal0 } = x_8787
    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_19059 =
    128   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    129     l_is_maximal = l_is_maximal0 } = x_19059
     127let rec property_lattice_rect_Type0 h_mk_property_lattice x_8789 =
     128  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     129    l_is_maximal = l_is_maximal0 } = x_8789
    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 eqs h_mk_fixpoint x_19080 =
    204   let fix_lfp = x_19080 in h_mk_fixpoint fix_lfp __
     203let rec fixpoint_rect_Type4 latt eqs h_mk_fixpoint x_8810 =
     204  let fix_lfp = x_8810 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 eqs h_mk_fixpoint x_19082 =
    210   let fix_lfp = x_19082 in h_mk_fixpoint fix_lfp __
     209let rec fixpoint_rect_Type5 latt eqs h_mk_fixpoint x_8812 =
     210  let fix_lfp = x_8812 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 eqs h_mk_fixpoint x_19084 =
    216   let fix_lfp = x_19084 in h_mk_fixpoint fix_lfp __
     215let rec fixpoint_rect_Type3 latt eqs h_mk_fixpoint x_8814 =
     216  let fix_lfp = x_8814 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 eqs h_mk_fixpoint x_19086 =
    222   let fix_lfp = x_19086 in h_mk_fixpoint fix_lfp __
     221let rec fixpoint_rect_Type2 latt eqs h_mk_fixpoint x_8816 =
     222  let fix_lfp = x_8816 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 eqs h_mk_fixpoint x_19088 =
    228   let fix_lfp = x_19088 in h_mk_fixpoint fix_lfp __
     227let rec fixpoint_rect_Type1 latt eqs h_mk_fixpoint x_8818 =
     228  let fix_lfp = x_8818 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 eqs h_mk_fixpoint x_19090 =
    234   let fix_lfp = x_19090 in h_mk_fixpoint fix_lfp __
     233let rec fixpoint_rect_Type0 latt eqs h_mk_fixpoint x_8820 =
     234  let fix_lfp = x_8820 in h_mk_fixpoint fix_lfp __
    235235
    236236(** val fix_lfp : property_lattice -> equations -> fixpoint -> valuation **)
  • extracted/frontEndOps.ml

    r2951 r2997  
    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_13161 = function
    102 | Ointconst (sz, sg, x_13163) -> h_Ointconst sz sg x_13163
    103 | Oaddrsymbol (x_13165, x_13164) -> h_Oaddrsymbol x_13165 x_13164
    104 | Oaddrstack x_13166 -> h_Oaddrstack x_13166
     101let rec constant_rect_Type4 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_9125 = function
     102| Ointconst (sz, sg, x_9127) -> h_Ointconst sz sg x_9127
     103| Oaddrsymbol (x_9129, x_9128) -> h_Oaddrsymbol x_9129 x_9128
     104| Oaddrstack x_9130 -> h_Oaddrstack x_9130
    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_13170 = function
    110 | Ointconst (sz, sg, x_13172) -> h_Ointconst sz sg x_13172
    111 | Oaddrsymbol (x_13174, x_13173) -> h_Oaddrsymbol x_13174 x_13173
    112 | Oaddrstack x_13175 -> h_Oaddrstack x_13175
     109let rec constant_rect_Type5 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_9134 = function
     110| Ointconst (sz, sg, x_9136) -> h_Ointconst sz sg x_9136
     111| Oaddrsymbol (x_9138, x_9137) -> h_Oaddrsymbol x_9138 x_9137
     112| Oaddrstack x_9139 -> h_Oaddrstack x_9139
    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_13179 = function
    118 | Ointconst (sz, sg, x_13181) -> h_Ointconst sz sg x_13181
    119 | Oaddrsymbol (x_13183, x_13182) -> h_Oaddrsymbol x_13183 x_13182
    120 | Oaddrstack x_13184 -> h_Oaddrstack x_13184
     117let rec constant_rect_Type3 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_9143 = function
     118| Ointconst (sz, sg, x_9145) -> h_Ointconst sz sg x_9145
     119| Oaddrsymbol (x_9147, x_9146) -> h_Oaddrsymbol x_9147 x_9146
     120| Oaddrstack x_9148 -> h_Oaddrstack x_9148
    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_13188 = function
    126 | Ointconst (sz, sg, x_13190) -> h_Ointconst sz sg x_13190
    127 | Oaddrsymbol (x_13192, x_13191) -> h_Oaddrsymbol x_13192 x_13191
    128 | Oaddrstack x_13193 -> h_Oaddrstack x_13193
     125let rec constant_rect_Type2 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_9152 = function
     126| Ointconst (sz, sg, x_9154) -> h_Ointconst sz sg x_9154
     127| Oaddrsymbol (x_9156, x_9155) -> h_Oaddrsymbol x_9156 x_9155
     128| Oaddrstack x_9157 -> h_Oaddrstack x_9157
    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_13197 = function
    134 | Ointconst (sz, sg, x_13199) -> h_Ointconst sz sg x_13199
    135 | Oaddrsymbol (x_13201, x_13200) -> h_Oaddrsymbol x_13201 x_13200
    136 | Oaddrstack x_13202 -> h_Oaddrstack x_13202
     133let rec constant_rect_Type1 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_9161 = function
     134| Ointconst (sz, sg, x_9163) -> h_Ointconst sz sg x_9163
     135| Oaddrsymbol (x_9165, x_9164) -> h_Oaddrsymbol x_9165 x_9164
     136| Oaddrstack x_9166 -> h_Oaddrstack x_9166
    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_13206 = function
    142 | Ointconst (sz, sg, x_13208) -> h_Ointconst sz sg x_13208
    143 | Oaddrsymbol (x_13210, x_13209) -> h_Oaddrsymbol x_13210 x_13209
    144 | Oaddrstack x_13211 -> h_Oaddrstack x_13211
     141let rec constant_rect_Type0 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_9170 = function
     142| Ointconst (sz, sg, x_9172) -> h_Ointconst sz sg x_9172
     143| Oaddrsymbol (x_9174, x_9173) -> h_Oaddrsymbol x_9174 x_9173
     144| Oaddrstack x_9175 -> h_Oaddrstack x_9175
    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_13281 x_13280 = function
     213let rec unary_operation_rect_Type4 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_9245 x_9244 = 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_13292 x_13291 = function
     229let rec unary_operation_rect_Type5 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_9256 x_9255 = 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_13303 x_13302 = function
     245let rec unary_operation_rect_Type3 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_9267 x_9266 = 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_13314 x_13313 = function
     261let rec unary_operation_rect_Type2 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_9278 x_9277 = 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_13325 x_13324 = function
     277let rec unary_operation_rect_Type1 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_9289 x_9288 = 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_13336 x_13335 = function
     293let rec unary_operation_rect_Type0 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_9300 x_9299 = 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_13441 x_13440 x_13439 = 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_9405 x_9404 x_9403 = 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_13443) -> h_Ocmp sz sg sg' x_13443
    443 | Ocmpu (sz, sg', x_13444) -> h_Ocmpu sz sg' x_13444
     442| Ocmp (sz, sg, sg', x_9407) -> h_Ocmp sz sg sg' x_9407
     443| Ocmpu (sz, sg', x_9408) -> h_Ocmpu sz sg' x_9408
    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_13445) -> h_Ocmpp sg' x_13445
     448| Ocmpp (sg', x_9409) -> h_Ocmpp sg' x_9409
    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_13468 x_13467 x_13466 = 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_9432 x_9431 x_9430 = 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_13470) -> h_Ocmp sz sg sg' x_13470
    478 | Ocmpu (sz, sg', x_13471) -> h_Ocmpu sz sg' x_13471
     477| Ocmp (sz, sg, sg', x_9434) -> h_Ocmp sz sg sg' x_9434
     478| Ocmpu (sz, sg', x_9435) -> h_Ocmpu sz sg' x_9435
    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_13472) -> h_Ocmpp sg' x_13472
     483| Ocmpp (sg', x_9436) -> h_Ocmpp sg' x_9436
    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_13495 x_13494 x_13493 = 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_9459 x_9458 x_9457 = 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_13497) -> h_Ocmp sz sg sg' x_13497
    513 | Ocmpu (sz, sg', x_13498) -> h_Ocmpu sz sg' x_13498
     512| Ocmp (sz, sg, sg', x_9461) -> h_Ocmp sz sg sg' x_9461
     513| Ocmpu (sz, sg', x_9462) -> h_Ocmpu sz sg' x_9462
    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_13499) -> h_Ocmpp sg' x_13499
     518| Ocmpp (sg', x_9463) -> h_Ocmpp sg' x_9463
    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_13522 x_13521 x_13520 = 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_9486 x_9485 x_9484 = 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_13524) -> h_Ocmp sz sg sg' x_13524
    548 | Ocmpu (sz, sg', x_13525) -> h_Ocmpu sz sg' x_13525
     547| Ocmp (sz, sg, sg', x_9488) -> h_Ocmp sz sg sg' x_9488
     548| Ocmpu (sz, sg', x_9489) -> h_Ocmpu sz sg' x_9489
    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_13526) -> h_Ocmpp sg' x_13526
     553| Ocmpp (sg', x_9490) -> h_Ocmpp sg' x_9490
    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_13549 x_13548 x_13547 = 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_9513 x_9512 x_9511 = 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_13551) -> h_Ocmp sz sg sg' x_13551
    583 | Ocmpu (sz, sg', x_13552) -> h_Ocmpu sz sg' x_13552
     582| Ocmp (sz, sg, sg', x_9515) -> h_Ocmp sz sg sg' x_9515
     583| Ocmpu (sz, sg', x_9516) -> h_Ocmpu sz sg' x_9516
    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_13553) -> h_Ocmpp sg' x_13553
     588| Ocmpp (sg', x_9517) -> h_Ocmpp sg' x_9517
    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_13576 x_13575 x_13574 = 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_9540 x_9539 x_9538 = 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_13578) -> h_Ocmp sz sg sg' x_13578
    618 | Ocmpu (sz, sg', x_13579) -> h_Ocmpu sz sg' x_13579
     617| Ocmp (sz, sg, sg', x_9542) -> h_Ocmp sz sg sg' x_9542
     618| Ocmpu (sz, sg', x_9543) -> h_Ocmpu sz sg' x_9543
    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_13580) -> h_Ocmpp sg' x_13580
     623| Ocmpp (sg', x_9544) -> h_Ocmpp sg' x_9544
    624624
    625625(** val binary_operation_inv_rect_Type4 :
  • extracted/genMem.ml

    r2951 r2997  
    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_6555 =
    103   let { low = low0; high = high0; contents = contents0 } = x_6555 in
     102let rec block_contents_rect_Type4 h_mk_block_contents x_6504 =
     103  let { low = low0; high = high0; contents = contents0 } = x_6504 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_6557 =
    109   let { low = low0; high = high0; contents = contents0 } = x_6557 in
     108let rec block_contents_rect_Type5 h_mk_block_contents x_6506 =
     109  let { low = low0; high = high0; contents = contents0 } = x_6506 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_6559 =
    115   let { low = low0; high = high0; contents = contents0 } = x_6559 in
     114let rec block_contents_rect_Type3 h_mk_block_contents x_6508 =
     115  let { low = low0; high = high0; contents = contents0 } = x_6508 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_6561 =
    121   let { low = low0; high = high0; contents = contents0 } = x_6561 in
     120let rec block_contents_rect_Type2 h_mk_block_contents x_6510 =
     121  let { low = low0; high = high0; contents = contents0 } = x_6510 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_6563 =
    127   let { low = low0; high = high0; contents = contents0 } = x_6563 in
     126let rec block_contents_rect_Type1 h_mk_block_contents x_6512 =
     127  let { low = low0; high = high0; contents = contents0 } = x_6512 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_6565 =
    133   let { low = low0; high = high0; contents = contents0 } = x_6565 in
     132let rec block_contents_rect_Type0 h_mk_block_contents x_6514 =
     133  let { low = low0; high = high0; contents = contents0 } = x_6514 in
    134134  h_mk_block_contents low0 high0 contents0
    135135
     
    187187(** val mem_rect_Type4 :
    188188    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **)
    189 let rec mem_rect_Type4 h_mk_mem x_6581 =
    190   let { blocks = blocks0; nextblock = nextblock0 } = x_6581 in
     189let rec mem_rect_Type4 h_mk_mem x_6530 =
     190  let { blocks = blocks0; nextblock = nextblock0 } = x_6530 in
    191191  h_mk_mem blocks0 nextblock0 __
    192192
    193193(** val mem_rect_Type5 :
    194194    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **)
    195 let rec mem_rect_Type5 h_mk_mem x_6583 =
    196   let { blocks = blocks0; nextblock = nextblock0 } = x_6583 in
     195let rec mem_rect_Type5 h_mk_mem x_6532 =
     196  let { blocks = blocks0; nextblock = nextblock0 } = x_6532 in
    197197  h_mk_mem blocks0 nextblock0 __
    198198
    199199(** val mem_rect_Type3 :
    200200    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **)
    201 let rec mem_rect_Type3 h_mk_mem x_6585 =
    202   let { blocks = blocks0; nextblock = nextblock0 } = x_6585 in
     201let rec mem_rect_Type3 h_mk_mem x_6534 =
     202  let { blocks = blocks0; nextblock = nextblock0 } = x_6534 in
    203203  h_mk_mem blocks0 nextblock0 __
    204204
    205205(** val mem_rect_Type2 :
    206206    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **)
    207 let rec mem_rect_Type2 h_mk_mem x_6587 =
    208   let { blocks = blocks0; nextblock = nextblock0 } = x_6587 in
     207let rec mem_rect_Type2 h_mk_mem x_6536 =
     208  let { blocks = blocks0; nextblock = nextblock0 } = x_6536 in
    209209  h_mk_mem blocks0 nextblock0 __
    210210
    211211(** val mem_rect_Type1 :
    212212    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **)
    213 let rec mem_rect_Type1 h_mk_mem x_6589 =
    214   let { blocks = blocks0; nextblock = nextblock0 } = x_6589 in
     213let rec mem_rect_Type1 h_mk_mem x_6538 =
     214  let { blocks = blocks0; nextblock = nextblock0 } = x_6538 in
    215215  h_mk_mem blocks0 nextblock0 __
    216216
    217217(** val mem_rect_Type0 :
    218218    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **)
    219 let rec mem_rect_Type0 h_mk_mem x_6591 =
    220   let { blocks = blocks0; nextblock = nextblock0 } = x_6591 in
     219let rec mem_rect_Type0 h_mk_mem x_6540 =
     220  let { blocks = blocks0; nextblock = nextblock0 } = x_6540 in
    221221  h_mk_mem blocks0 nextblock0 __
    222222
  • extracted/globalenvs.ml

    r2951 r2997  
    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_6608 =
     100let rec genv_t_rect_Type4 h_mk_genv_t x_6557 =
    101101  let { functions = functions0; nextfunction = nextfunction0; symbols =
    102     symbols0 } = x_6608
     102    symbols0 } = x_6557
    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_6610 =
     109let rec genv_t_rect_Type5 h_mk_genv_t x_6559 =
    110110  let { functions = functions0; nextfunction = nextfunction0; symbols =
    111     symbols0 } = x_6610
     111    symbols0 } = x_6559
    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_6612 =
     118let rec genv_t_rect_Type3 h_mk_genv_t x_6561 =
    119119  let { functions = functions0; nextfunction = nextfunction0; symbols =
    120     symbols0 } = x_6612
     120    symbols0 } = x_6561
    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_6614 =
     127let rec genv_t_rect_Type2 h_mk_genv_t x_6563 =
    128128  let { functions = functions0; nextfunction = nextfunction0; symbols =
    129     symbols0 } = x_6614
     129    symbols0 } = x_6563
    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_6616 =
     136let rec genv_t_rect_Type1 h_mk_genv_t x_6565 =
    137137  let { functions = functions0; nextfunction = nextfunction0; symbols =
    138     symbols0 } = x_6616
     138    symbols0 } = x_6565
    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_6618 =
     145let rec genv_t_rect_Type0 h_mk_genv_t x_6567 =
    146146  let { functions = functions0; nextfunction = nextfunction0; symbols =
    147     symbols0 } = x_6618
     147    symbols0 } = x_6567
    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 = eta1341; Types.snd = init_info } = id_init in
    317     let { Types.fst = id; Types.snd = r } = eta1341 in
     316    let { Types.fst = eta27696; Types.snd = init_info } = id_init in
     317    let { Types.fst = id; Types.snd = r } = eta27696 in
    318318    let init = extract_init init_info in
    319319    let { Types.fst = g; Types.snd = st } = g_st in
     
    330330let init_globals extract_init g m vars =
    331331  Util.foldl (fun st id_init ->
    332     let { Types.fst = eta1342; Types.snd = init_info } = id_init in
    333     let { Types.fst = id; Types.snd = r } = eta1342 in
     332    let { Types.fst = eta27697; Types.snd = init_info } = id_init in
     333    let { Types.fst = id; Types.snd = r } = eta27697 in
    334334    let init = extract_init init_info in
    335335    Obj.magic
  • extracted/iO.ml

    r2827 r2997  
    150150    (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out ->
    151151    'a1 **)
    152 let rec io_out_rect_Type4 h_mk_io_out x_5886 =
    153   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    154     io_in_typ0 } = x_5886
     152let rec io_out_rect_Type4 h_mk_io_out x_4871 =
     153  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     154    io_in_typ0 } = x_4871
    155155  in
    156156  h_mk_io_out io_function0 io_args0 io_in_typ0
     
    159159    (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out ->
    160160    'a1 **)
    161 let rec io_out_rect_Type5 h_mk_io_out x_5888 =
    162   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    163     io_in_typ0 } = x_5888
     161let rec io_out_rect_Type5 h_mk_io_out x_4873 =
     162  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     163    io_in_typ0 } = x_4873
    164164  in
    165165  h_mk_io_out io_function0 io_args0 io_in_typ0
     
    168168    (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out ->
    169169    'a1 **)
    170 let rec io_out_rect_Type3 h_mk_io_out x_5890 =
    171   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    172     io_in_typ0 } = x_5890
     170let rec io_out_rect_Type3 h_mk_io_out x_4875 =
     171  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     172    io_in_typ0 } = x_4875
    173173  in
    174174  h_mk_io_out io_function0 io_args0 io_in_typ0
     
    177177    (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out ->
    178178    'a1 **)
    179 let rec io_out_rect_Type2 h_mk_io_out x_5892 =
    180   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    181     io_in_typ0 } = x_5892
     179let rec io_out_rect_Type2 h_mk_io_out x_4877 =
     180  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     181    io_in_typ0 } = x_4877
    182182  in
    183183  h_mk_io_out io_function0 io_args0 io_in_typ0
     
    186186    (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out ->
    187187    'a1 **)
    188 let rec io_out_rect_Type1 h_mk_io_out x_5894 =
    189   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    190     io_in_typ0 } = x_5894
     188let rec io_out_rect_Type1 h_mk_io_out x_4879 =
     189  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     190    io_in_typ0 } = x_4879
    191191  in
    192192  h_mk_io_out io_function0 io_args0 io_in_typ0
     
    195195    (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out ->
    196196    'a1 **)
    197 let rec io_out_rect_Type0 h_mk_io_out x_5896 =
    198   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    199     io_in_typ0 } = x_5896
     197let rec io_out_rect_Type0 h_mk_io_out x_4881 =
     198  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     199    io_in_typ0 } = x_4881
    200200  in
    201201  h_mk_io_out io_function0 io_args0 io_in_typ0
  • extracted/iOMonad.ml

    r2827 r2997  
    5252    'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **)
    5353let rec iO_rect_Type4 h_Interact h_Value h_Wrong = function
    54 | Interact (o, x_4672) ->
    55   h_Interact o x_4672 (fun x_4671 ->
    56     iO_rect_Type4 h_Interact h_Value h_Wrong (x_4672 x_4671))
    57 | Value x_4673 -> h_Value x_4673
    58 | Wrong x_4674 -> h_Wrong x_4674
     54| Interact (o, x_4775) ->
     55  h_Interact o x_4775 (fun x_4774 ->
     56    iO_rect_Type4 h_Interact h_Value h_Wrong (x_4775 x_4774))
     57| Value x_4776 -> h_Value x_4776
     58| Wrong x_4777 -> h_Wrong x_4777
    5959
    6060(** val iO_rect_Type3 :
     
    6262    'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **)
    6363let rec iO_rect_Type3 h_Interact h_Value h_Wrong = function
    64 | Interact (o, x_4688) ->
    65   h_Interact o x_4688 (fun x_4687 ->
    66     iO_rect_Type3 h_Interact h_Value h_Wrong (x_4688 x_4687))
    67 | Value x_4689 -> h_Value x_4689
    68 | Wrong x_4690 -> h_Wrong x_4690
     64| Interact (o, x_4791) ->
     65  h_Interact o x_4791 (fun x_4790 ->
     66    iO_rect_Type3 h_Interact h_Value h_Wrong (x_4791 x_4790))
     67| Value x_4792 -> h_Value x_4792
     68| Wrong x_4793 -> h_Wrong x_4793
    6969
    7070(** val iO_rect_Type2 :
     
    7272    'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **)
    7373let rec iO_rect_Type2 h_Interact h_Value h_Wrong = function
    74 | Interact (o, x_4696) ->
    75   h_Interact o x_4696 (fun x_4695 ->
    76     iO_rect_Type2 h_Interact h_Value h_Wrong (x_4696 x_4695))
    77 | Value x_4697 -> h_Value x_4697
    78 | Wrong x_4698 -> h_Wrong x_4698
     74| Interact (o, x_4799) ->
     75  h_Interact o x_4799 (fun x_4798 ->
     76    iO_rect_Type2 h_Interact h_Value h_Wrong (x_4799 x_4798))
     77| Value x_4800 -> h_Value x_4800
     78| Wrong x_4801 -> h_Wrong x_4801
    7979
    8080(** val iO_rect_Type1 :
     
    8282    'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **)
    8383let rec iO_rect_Type1 h_Interact h_Value h_Wrong = function
    84 | Interact (o, x_4704) ->
    85   h_Interact o x_4704 (fun x_4703 ->
    86     iO_rect_Type1 h_Interact h_Value h_Wrong (x_4704 x_4703))
    87 | Value x_4705 -> h_Value x_4705
    88 | Wrong x_4706 -> h_Wrong x_4706
     84| Interact (o, x_4807) ->
     85  h_Interact o x_4807 (fun x_4806 ->
     86    iO_rect_Type1 h_Interact h_Value h_Wrong (x_4807 x_4806))
     87| Value x_4808 -> h_Value x_4808
     88| Wrong x_4809 -> h_Wrong x_4809
    8989
    9090(** val iO_rect_Type0 :
     
    9292    'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **)
    9393let rec iO_rect_Type0 h_Interact h_Value h_Wrong = function
    94 | Interact (o, x_4712) ->
    95   h_Interact o x_4712 (fun x_4711 ->
    96     iO_rect_Type0 h_Interact h_Value h_Wrong (x_4712 x_4711))
    97 | Value x_4713 -> h_Value x_4713
    98 | Wrong x_4714 -> h_Wrong x_4714
     94| Interact (o, x_4815) ->
     95  h_Interact o x_4815 (fun x_4814 ->
     96    iO_rect_Type0 h_Interact h_Value h_Wrong (x_4815 x_4814))
     97| Value x_4816 -> h_Value x_4816
     98| Wrong x_4817 -> h_Wrong x_4817
    9999
    100100(** val iO_inv_rect_Type4 :
  • extracted/identifiers.ml

    r2827 r2997  
    5151(** val universe_rect_Type4 :
    5252    PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **)
    53 let rec universe_rect_Type4 tag h_mk_universe x_3226 =
    54   let next_identifier = x_3226 in h_mk_universe next_identifier
     53let rec universe_rect_Type4 tag h_mk_universe x_133 =
     54  let next_identifier = x_133 in h_mk_universe next_identifier
    5555
    5656(** val universe_rect_Type5 :
    5757    PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **)
    58 let rec universe_rect_Type5 tag h_mk_universe x_3228 =
    59   let next_identifier = x_3228 in h_mk_universe next_identifier
     58let rec universe_rect_Type5 tag h_mk_universe x_135 =
     59  let next_identifier = x_135 in h_mk_universe next_identifier
    6060
    6161(** val universe_rect_Type3 :
    6262    PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **)
    63 let rec universe_rect_Type3 tag h_mk_universe x_3230 =
    64   let next_identifier = x_3230 in h_mk_universe next_identifier
     63let rec universe_rect_Type3 tag h_mk_universe x_137 =
     64  let next_identifier = x_137 in h_mk_universe next_identifier
    6565
    6666(** val universe_rect_Type2 :
    6767    PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **)
    68 let rec universe_rect_Type2 tag h_mk_universe x_3232 =
    69   let next_identifier = x_3232 in h_mk_universe next_identifier
     68let rec universe_rect_Type2 tag h_mk_universe x_139 =
     69  let next_identifier = x_139 in h_mk_universe next_identifier
    7070
    7171(** val universe_rect_Type1 :
    7272    PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **)
    73 let rec universe_rect_Type1 tag h_mk_universe x_3234 =
    74   let next_identifier = x_3234 in h_mk_universe next_identifier
     73let rec universe_rect_Type1 tag h_mk_universe x_141 =
     74  let next_identifier = x_141 in h_mk_universe next_identifier
    7575
    7676(** val universe_rect_Type0 :
    7777    PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **)
    78 let rec universe_rect_Type0 tag h_mk_universe x_3236 =
    79   let next_identifier = x_3236 in h_mk_universe next_identifier
     78let rec universe_rect_Type0 tag h_mk_universe x_143 =
     79  let next_identifier = x_143 in h_mk_universe next_identifier
    8080
    8181(** val next_identifier :
     
    215215    PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) ->
    216216    'a1 identifier_map -> 'a2 **)
    217 let rec identifier_map_rect_Type4 tag h_an_id_map x_3398 =
    218   let x_3399 = x_3398 in h_an_id_map x_3399
     217let rec identifier_map_rect_Type4 tag h_an_id_map x_160 =
     218  let x_161 = x_160 in h_an_id_map x_161
    219219
    220220(** val identifier_map_rect_Type5 :
    221221    PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) ->
    222222    'a1 identifier_map -> 'a2 **)
    223 let rec identifier_map_rect_Type5 tag h_an_id_map x_3401 =
    224   let x_3402 = x_3401 in h_an_id_map x_3402
     223let rec identifier_map_rect_Type5 tag h_an_id_map x_163 =
     224  let x_164 = x_163 in h_an_id_map x_164
    225225
    226226(** val identifier_map_rect_Type3 :
    227227    PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) ->
    228228    'a1 identifier_map -> 'a2 **)
    229 let rec identifier_map_rect_Type3 tag h_an_id_map x_3404 =
    230   let x_3405 = x_3404 in h_an_id_map x_3405
     229let rec identifier_map_rect_Type3 tag h_an_id_map x_166 =
     230  let x_167 = x_166 in h_an_id_map x_167
    231231
    232232(** val identifier_map_rect_Type2 :
    233233    PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) ->
    234234    'a1 identifier_map -> 'a2 **)
    235 let rec identifier_map_rect_Type2 tag h_an_id_map x_3407 =
    236   let x_3408 = x_3407 in h_an_id_map x_3408
     235let rec identifier_map_rect_Type2 tag h_an_id_map x_169 =
     236  let x_170 = x_169 in h_an_id_map x_170
    237237
    238238(** val identifier_map_rect_Type1 :
    239239    PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) ->
    240240    'a1 identifier_map -> 'a2 **)
    241 let rec identifier_map_rect_Type1 tag h_an_id_map x_3410 =
    242   let x_3411 = x_3410 in h_an_id_map x_3411
     241let rec identifier_map_rect_Type1 tag h_an_id_map x_172 =
     242  let x_173 = x_172 in h_an_id_map x_173
    243243
    244244(** val identifier_map_rect_Type0 :
    245245    PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) ->
    246246    'a1 identifier_map -> 'a2 **)
    247 let rec identifier_map_rect_Type0 tag h_an_id_map x_3413 =
    248   let x_3414 = x_3413 in h_an_id_map x_3414
     247let rec identifier_map_rect_Type0 tag h_an_id_map x_175 =
     248  let x_176 = x_175 in h_an_id_map x_176
    249249
    250250(** val identifier_map_inv_rect_Type4 :
  • extracted/interference.ml

    r2960 r2997  
    136136    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    137137let rec decision_rect_Type4 h_decision_spill h_decision_colour = function
    138 | Decision_spill x_281 -> h_decision_spill x_281
    139 | Decision_colour x_282 -> h_decision_colour x_282
     138| Decision_spill x_7 -> h_decision_spill x_7
     139| Decision_colour x_8 -> h_decision_colour x_8
    140140
    141141(** val decision_rect_Type5 :
    142142    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    143143let rec decision_rect_Type5 h_decision_spill h_decision_colour = function
    144 | Decision_spill x_286 -> h_decision_spill x_286
    145 | Decision_colour x_287 -> h_decision_colour x_287
     144| Decision_spill x_12 -> h_decision_spill x_12
     145| Decision_colour x_13 -> h_decision_colour x_13
    146146
    147147(** val decision_rect_Type3 :
    148148    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    149149let rec decision_rect_Type3 h_decision_spill h_decision_colour = function
    150 | Decision_spill x_291 -> h_decision_spill x_291
    151 | Decision_colour x_292 -> h_decision_colour x_292
     150| Decision_spill x_17 -> h_decision_spill x_17
     151| Decision_colour x_18 -> h_decision_colour x_18
    152152
    153153(** val decision_rect_Type2 :
    154154    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    155155let rec decision_rect_Type2 h_decision_spill h_decision_colour = function
    156 | Decision_spill x_296 -> h_decision_spill x_296
    157 | Decision_colour x_297 -> h_decision_colour x_297
     156| Decision_spill x_22 -> h_decision_spill x_22
     157| Decision_colour x_23 -> h_decision_colour x_23
    158158
    159159(** val decision_rect_Type1 :
    160160    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    161161let rec decision_rect_Type1 h_decision_spill h_decision_colour = function
    162 | Decision_spill x_301 -> h_decision_spill x_301
    163 | Decision_colour x_302 -> h_decision_colour x_302
     162| Decision_spill x_27 -> h_decision_spill x_27
     163| Decision_colour x_28 -> h_decision_colour x_28
    164164
    165165(** val decision_rect_Type0 :
    166166    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    167167let rec decision_rect_Type0 h_decision_spill h_decision_colour = function
    168 | Decision_spill x_306 -> h_decision_spill x_306
    169 | Decision_colour x_307 -> h_decision_colour x_307
     168| Decision_spill x_32 -> h_decision_spill x_32
     169| Decision_colour x_33 -> h_decision_colour x_33
    170170
    171171(** val decision_inv_rect_Type4 :
     
    219219    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    220220    __ -> 'a1) -> coloured_graph -> 'a1 **)
    221 let rec coloured_graph_rect_Type4 before h_mk_coloured_graph x_342 =
    222   let { colouring = colouring0; spilled_no = spilled_no0 } = x_342 in
     221let rec coloured_graph_rect_Type4 before h_mk_coloured_graph x_68 =
     222  let { colouring = colouring0; spilled_no = spilled_no0 } = x_68 in
    223223  h_mk_coloured_graph colouring0 spilled_no0 __ __
    224224
     
    226226    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    227227    __ -> 'a1) -> coloured_graph -> 'a1 **)
    228 let rec coloured_graph_rect_Type5 before h_mk_coloured_graph x_344 =
    229   let { colouring = colouring0; spilled_no = spilled_no0 } = x_344 in
     228let rec coloured_graph_rect_Type5 before h_mk_coloured_graph x_70 =
     229  let { colouring = colouring0; spilled_no = spilled_no0 } = x_70 in
    230230  h_mk_coloured_graph colouring0 spilled_no0 __ __
    231231
     
    233233    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    234234    __ -> 'a1) -> coloured_graph -> 'a1 **)
    235 let rec coloured_graph_rect_Type3 before h_mk_coloured_graph x_346 =
    236   let { colouring = colouring0; spilled_no = spilled_no0 } = x_346 in
     235let rec coloured_graph_rect_Type3 before h_mk_coloured_graph x_72 =
     236  let { colouring = colouring0; spilled_no = spilled_no0 } = x_72 in
    237237  h_mk_coloured_graph colouring0 spilled_no0 __ __
    238238
     
    240240    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    241241    __ -> 'a1) -> coloured_graph -> 'a1 **)
    242 let rec coloured_graph_rect_Type2 before h_mk_coloured_graph x_348 =
    243   let { colouring = colouring0; spilled_no = spilled_no0 } = x_348 in
     242let rec coloured_graph_rect_Type2 before h_mk_coloured_graph x_74 =
     243  let { colouring = colouring0; spilled_no = spilled_no0 } = x_74 in
    244244  h_mk_coloured_graph colouring0 spilled_no0 __ __
    245245
     
    247247    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    248248    __ -> 'a1) -> coloured_graph -> 'a1 **)
    249 let rec coloured_graph_rect_Type1 before h_mk_coloured_graph x_350 =
    250   let { colouring = colouring0; spilled_no = spilled_no0 } = x_350 in
     249let rec coloured_graph_rect_Type1 before h_mk_coloured_graph x_76 =
     250  let { colouring = colouring0; spilled_no = spilled_no0 } = x_76 in
    251251  h_mk_coloured_graph colouring0 spilled_no0 __ __
    252252
     
    254254    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    255255    __ -> 'a1) -> coloured_graph -> 'a1 **)
    256 let rec coloured_graph_rect_Type0 before h_mk_coloured_graph x_352 =
    257   let { colouring = colouring0; spilled_no = spilled_no0 } = x_352 in
     256let rec coloured_graph_rect_Type0 before h_mk_coloured_graph x_78 =
     257  let { colouring = colouring0; spilled_no = spilled_no0 } = x_78 in
    258258  h_mk_coloured_graph colouring0 spilled_no0 __ __
    259259
  • extracted/interpret2.ml

    r2993 r2997  
    165165    ASM.labelled_object_code -> Measurable.preclassified_system **)
    166166let oC_preclassified_system c =
    167   let lcm =(Fetch.load_code_memory c.ASM.oc) in
     167  let lcm = Fetch.load_code_memory c.ASM.oc in
    168168  mk_preclassified_system_of_abstract_status (ASMCosts.oC_abstract_status c)
    169169    (fun st ->
    170170    Monad.m_return0 (Monad.max_def IOMonad.iOMonad)
    171       (Interpret.execute_1 lcm (Obj.magic st))
    172     )
     171      (Interpret.execute_1 lcm (Obj.magic st)))
    173172    (Obj.magic (Status.initialise_status (Fetch.load_code_memory c.ASM.oc)))
    174173
  • extracted/joint.ml

    r2951 r2997  
    110110    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    111111let rec argument_rect_Type4 h_Reg h_Imm = function
    112 | Reg x_16908 -> h_Reg x_16908
    113 | Imm x_16909 -> h_Imm x_16909
     112| Reg x_224 -> h_Reg x_224
     113| Imm x_225 -> h_Imm x_225
    114114
    115115(** val argument_rect_Type5 :
    116116    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    117117let rec argument_rect_Type5 h_Reg h_Imm = function
    118 | Reg x_16913 -> h_Reg x_16913
    119 | Imm x_16914 -> h_Imm x_16914
     118| Reg x_229 -> h_Reg x_229
     119| Imm x_230 -> h_Imm x_230
    120120
    121121(** val argument_rect_Type3 :
    122122    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    123123let rec argument_rect_Type3 h_Reg h_Imm = function
    124 | Reg x_16918 -> h_Reg x_16918
    125 | Imm x_16919 -> h_Imm x_16919
     124| Reg x_234 -> h_Reg x_234
     125| Imm x_235 -> h_Imm x_235
    126126
    127127(** val argument_rect_Type2 :
    128128    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    129129let rec argument_rect_Type2 h_Reg h_Imm = function
    130 | Reg x_16923 -> h_Reg x_16923
    131 | Imm x_16924 -> h_Imm x_16924
     130| Reg x_239 -> h_Reg x_239
     131| Imm x_240 -> h_Imm x_240
    132132
    133133(** val argument_rect_Type1 :
    134134    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    135135let rec argument_rect_Type1 h_Reg h_Imm = function
    136 | Reg x_16928 -> h_Reg x_16928
    137 | Imm x_16929 -> h_Imm x_16929
     136| Reg x_244 -> h_Reg x_244
     137| Imm x_245 -> h_Imm x_245
    138138
    139139(** val argument_rect_Type0 :
    140140    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    141141let rec argument_rect_Type0 h_Reg h_Imm = function
    142 | Reg x_16933 -> h_Reg x_16933
    143 | Imm x_16934 -> h_Imm x_16934
     142| Reg x_249 -> h_Reg x_249
     143| Imm x_250 -> h_Imm x_250
    144144
    145145(** val argument_inv_rect_Type4 :
     
    324324    __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) ->
    325325    unserialized_params -> 'a1 **)
    326 let rec unserialized_params_rect_Type4 h_mk_unserialized_params x_16969 =
     326let rec unserialized_params_rect_Type4 h_mk_unserialized_params x_285 =
    327327  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    328     x_16969
     328    x_285
    329329  in
    330330  h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __
     
    335335    __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) ->
    336336    unserialized_params -> 'a1 **)
    337 let rec unserialized_params_rect_Type5 h_mk_unserialized_params x_16971 =
     337let rec unserialized_params_rect_Type5 h_mk_unserialized_params x_287 =
    338338  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    339     x_16971
     339    x_287
    340340  in
    341341  h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __
     
    346346    __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) ->
    347347    unserialized_params -> 'a1 **)
    348 let rec unserialized_params_rect_Type3 h_mk_unserialized_params x_16973 =
     348let rec unserialized_params_rect_Type3 h_mk_unserialized_params x_289 =
    349349  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    350     x_16973
     350    x_289
    351351  in
    352352  h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __
     
    357357    __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) ->
    358358    unserialized_params -> 'a1 **)
    359 let rec unserialized_params_rect_Type2 h_mk_unserialized_params x_16975 =
     359let rec unserialized_params_rect_Type2 h_mk_unserialized_params x_291 =
    360360  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    361     x_16975
     361    x_291
    362362  in
    363363  h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __
     
    368368    __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) ->
    369369    unserialized_params -> 'a1 **)
    370 let rec unserialized_params_rect_Type1 h_mk_unserialized_params x_16977 =
     370let rec unserialized_params_rect_Type1 h_mk_unserialized_params x_293 =
    371371  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    372     x_16977
     372    x_293
    373373  in
    374374  h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __
     
    379379    __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) ->
    380380    unserialized_params -> 'a1 **)
    381 let rec unserialized_params_rect_Type0 h_mk_unserialized_params x_16979 =
     381let rec unserialized_params_rect_Type0 h_mk_unserialized_params x_295 =
    382382  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    383     x_16979
     383    x_295
    384384  in
    385385  h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __
     
    506506    (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs ->
    507507    'a1 **)
    508 let rec get_pseudo_reg_functs_rect_Type4 p h_mk_get_pseudo_reg_functs x_16996 =
     508let rec get_pseudo_reg_functs_rect_Type4 p h_mk_get_pseudo_reg_functs x_312 =
    509509  let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args =
    510510    acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs =
     
    512512    snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0;
    513513    f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs =
    514     params_regs0 } = x_16996
     514    params_regs0 } = x_312
    515515  in
    516516  h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0
     
    529529    (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs ->
    530530    'a1 **)
    531 let rec get_pseudo_reg_functs_rect_Type5 p h_mk_get_pseudo_reg_functs x_16998 =
     531let rec get_pseudo_reg_functs_rect_Type5 p h_mk_get_pseudo_reg_functs x_314 =
    532532  let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args =
    533533    acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs =
     
    535535    snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0;
    536536    f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs =
    537     params_regs0 } = x_16998
     537    params_regs0 } = x_314
    538538  in
    539539  h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0
     
    552552    (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs ->
    553553    'a1 **)
    554 let rec get_pseudo_reg_functs_rect_Type3 p h_mk_get_pseudo_reg_functs x_17000 =
     554let rec get_pseudo_reg_functs_rect_Type3 p h_mk_get_pseudo_reg_functs x_316 =
    555555  let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args =
    556556    acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs =
     
    558558    snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0;
    559559    f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs =
    560     params_regs0 } = x_17000
     560    params_regs0 } = x_316
    561561  in
    562562  h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0
     
    575575    (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs ->
    576576    'a1 **)
    577 let rec get_pseudo_reg_functs_rect_Type2 p h_mk_get_pseudo_reg_functs x_17002 =
     577let rec get_pseudo_reg_functs_rect_Type2 p h_mk_get_pseudo_reg_functs x_318 =
    578578  let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args =
    579579    acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs =
     
    581581    snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0;
    582582    f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs =
    583     params_regs0 } = x_17002
     583    params_regs0 } = x_318
    584584  in
    585585  h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0
     
    598598    (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs ->
    599599    'a1 **)
    600 let rec get_pseudo_reg_functs_rect_Type1 p h_mk_get_pseudo_reg_functs x_17004 =
     600let rec get_pseudo_reg_functs_rect_Type1 p h_mk_get_pseudo_reg_functs x_320 =
    601601  let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args =
    602602    acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs =
     
    604604    snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0;
    605605    f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs =
    606     params_regs0 } = x_17004
     606    params_regs0 } = x_320
    607607  in
    608608  h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0
     
    621621    (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs ->
    622622    'a1 **)
    623 let rec get_pseudo_reg_functs_rect_Type0 p h_mk_get_pseudo_reg_functs x_17006 =
     623let rec get_pseudo_reg_functs_rect_Type0 p h_mk_get_pseudo_reg_functs x_322 =
    624624  let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args =
    625625    acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs =
     
    627627    snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0;
    628628    f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs =
    629     params_regs0 } = x_17006
     629    params_regs0 } = x_322
    630630  in
    631631  h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0
     
    805805    (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params ->
    806806    'a1 **)
    807 let rec uns_params_rect_Type4 h_mk_uns_params x_17036 =
    808   let { u_pars = u_pars0; functs = functs0 } = x_17036 in
     807let rec uns_params_rect_Type4 h_mk_uns_params x_352 =
     808  let { u_pars = u_pars0; functs = functs0 } = x_352 in
    809809  h_mk_uns_params u_pars0 functs0
    810810
     
    812812    (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params ->
    813813    'a1 **)
    814 let rec uns_params_rect_Type5 h_mk_uns_params x_17038 =
    815   let { u_pars = u_pars0; functs = functs0 } = x_17038 in
     814let rec uns_params_rect_Type5 h_mk_uns_params x_354 =
     815  let { u_pars = u_pars0; functs = functs0 } = x_354 in
    816816  h_mk_uns_params u_pars0 functs0
    817817
     
    819819    (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params ->
    820820    'a1 **)
    821 let rec uns_params_rect_Type3 h_mk_uns_params x_17040 =
    822   let { u_pars = u_pars0; functs = functs0 } = x_17040 in
     821let rec uns_params_rect_Type3 h_mk_uns_params x_356 =
     822  let { u_pars = u_pars0; functs = functs0 } = x_356 in
    823823  h_mk_uns_params u_pars0 functs0
    824824
     
    826826    (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params ->
    827827    'a1 **)
    828 let rec uns_params_rect_Type2 h_mk_uns_params x_17042 =
    829   let { u_pars = u_pars0; functs = functs0 } = x_17042 in
     828let rec uns_params_rect_Type2 h_mk_uns_params x_358 =
     829  let { u_pars = u_pars0; functs = functs0 } = x_358 in
    830830  h_mk_uns_params u_pars0 functs0
    831831
     
    833833    (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params ->
    834834    'a1 **)
    835 let rec uns_params_rect_Type1 h_mk_uns_params x_17044 =
    836   let { u_pars = u_pars0; functs = functs0 } = x_17044 in
     835let rec uns_params_rect_Type1 h_mk_uns_params x_360 =
     836  let { u_pars = u_pars0; functs = functs0 } = x_360 in
    837837  h_mk_uns_params u_pars0 functs0
    838838
     
    840840    (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params ->
    841841    'a1 **)
    842 let rec uns_params_rect_Type0 h_mk_uns_params x_17046 =
    843   let { u_pars = u_pars0; functs = functs0 } = x_17046 in
     842let rec uns_params_rect_Type0 h_mk_uns_params x_362 =
     843  let { u_pars = u_pars0; functs = functs0 } = x_362 in
    844844  h_mk_uns_params u_pars0 functs0
    845845
     
    911911    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    912912let rec joint_seq_rect_Type4 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    913 | COMMENT x_17101 -> h_COMMENT x_17101
    914 | MOVE x_17102 -> h_MOVE x_17102
    915 | POP x_17103 -> h_POP x_17103
    916 | PUSH x_17104 -> h_PUSH x_17104
    917 | ADDRESS (i, x_17106, x_17105) -> h_ADDRESS i __ x_17106 x_17105
    918 | OPACCS (x_17112, x_17111, x_17110, x_17109, x_17108) ->
    919   h_OPACCS x_17112 x_17111 x_17110 x_17109 x_17108
    920 | OP1 (x_17115, x_17114, x_17113) -> h_OP1 x_17115 x_17114 x_17113
    921 | OP2 (x_17119, x_17118, x_17117, x_17116) ->
    922   h_OP2 x_17119 x_17118 x_17117 x_17116
     913| COMMENT x_417 -> h_COMMENT x_417
     914| MOVE x_418 -> h_MOVE x_418
     915| POP x_419 -> h_POP x_419
     916| PUSH x_420 -> h_PUSH x_420
     917| ADDRESS (i, x_422, x_421) -> h_ADDRESS i __ x_422 x_421
     918| OPACCS (x_428, x_427, x_426, x_425, x_424) ->
     919  h_OPACCS x_428 x_427 x_426 x_425 x_424
     920| OP1 (x_431, x_430, x_429) -> h_OP1 x_431 x_430 x_429
     921| OP2 (x_435, x_434, x_433, x_432) -> h_OP2 x_435 x_434 x_433 x_432
    923922| CLEAR_CARRY -> h_CLEAR_CARRY
    924923| SET_CARRY -> h_SET_CARRY
    925 | LOAD (x_17122, x_17121, x_17120) -> h_LOAD x_17122 x_17121 x_17120
    926 | STORE (x_17125, x_17124, x_17123) -> h_STORE x_17125 x_17124 x_17123
    927 | Extension_seq x_17126 -> h_extension_seq x_17126
     924| LOAD (x_438, x_437, x_436) -> h_LOAD x_438 x_437 x_436
     925| STORE (x_441, x_440, x_439) -> h_STORE x_441 x_440 x_439
     926| Extension_seq x_442 -> h_extension_seq x_442
    928927
    929928(** val joint_seq_rect_Type5 :
     
    935934    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    936935let rec joint_seq_rect_Type5 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    937 | COMMENT x_17141 -> h_COMMENT x_17141
    938 | MOVE x_17142 -> h_MOVE x_17142
    939 | POP x_17143 -> h_POP x_17143
    940 | PUSH x_17144 -> h_PUSH x_17144
    941 | ADDRESS (i, x_17146, x_17145) -> h_ADDRESS i __ x_17146 x_17145
    942 | OPACCS (x_17152, x_17151, x_17150, x_17149, x_17148) ->
    943   h_OPACCS x_17152 x_17151 x_17150 x_17149 x_17148
    944 | OP1 (x_17155, x_17154, x_17153) -> h_OP1 x_17155 x_17154 x_17153
    945 | OP2 (x_17159, x_17158, x_17157, x_17156) ->
    946   h_OP2 x_17159 x_17158 x_17157 x_17156
     936| COMMENT x_457 -> h_COMMENT x_457
     937| MOVE x_458 -> h_MOVE x_458
     938| POP x_459 -> h_POP x_459
     939| PUSH x_460 -> h_PUSH x_460
     940| ADDRESS (i, x_462, x_461) -> h_ADDRESS i __ x_462 x_461
     941| OPACCS (x_468, x_467, x_466, x_465, x_464) ->
     942  h_OPACCS x_468 x_467 x_466 x_465 x_464
     943| OP1 (x_471, x_470, x_469) -> h_OP1 x_471 x_470 x_469
     944| OP2 (x_475, x_474, x_473, x_472) -> h_OP2 x_475 x_474 x_473 x_472
    947945| CLEAR_CARRY -> h_CLEAR_CARRY
    948946| SET_CARRY -> h_SET_CARRY
    949 | LOAD (x_17162, x_17161, x_17160) -> h_LOAD x_17162 x_17161 x_17160
    950 | STORE (x_17165, x_17164, x_17163) -> h_STORE x_17165 x_17164 x_17163
    951 | Extension_seq x_17166 -> h_extension_seq x_17166
     947| LOAD (x_478, x_477, x_476) -> h_LOAD x_478 x_477 x_476
     948| STORE (x_481, x_480, x_479) -> h_STORE x_481 x_480 x_479
     949| Extension_seq x_482 -> h_extension_seq x_482
    952950
    953951(** val joint_seq_rect_Type3 :
     
    959957    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    960958let rec joint_seq_rect_Type3 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    961 | COMMENT x_17181 -> h_COMMENT x_17181
    962 | MOVE x_17182 -> h_MOVE x_17182
    963 | POP x_17183 -> h_POP x_17183
    964 | PUSH x_17184 -> h_PUSH x_17184
    965 | ADDRESS (i, x_17186, x_17185) -> h_ADDRESS i __ x_17186 x_17185
    966 | OPACCS (x_17192, x_17191, x_17190, x_17189, x_17188) ->
    967   h_OPACCS x_17192 x_17191 x_17190 x_17189 x_17188
    968 | OP1 (x_17195, x_17194, x_17193) -> h_OP1 x_17195 x_17194 x_17193
    969 | OP2 (x_17199, x_17198, x_17197, x_17196) ->
    970   h_OP2 x_17199 x_17198 x_17197 x_17196
     959| COMMENT x_497 -> h_COMMENT x_497
     960| MOVE x_498 -> h_MOVE x_498
     961| POP x_499 -> h_POP x_499
     962| PUSH x_500 -> h_PUSH x_500
     963| ADDRESS (i, x_502, x_501) -> h_ADDRESS i __ x_502 x_501
     964| OPACCS (x_508, x_507, x_506, x_505, x_504) ->
     965  h_OPACCS x_508 x_507 x_506 x_505 x_504
     966| OP1 (x_511, x_510, x_509) -> h_OP1 x_511 x_510 x_509
     967| OP2 (x_515, x_514, x_513, x_512) -> h_OP2 x_515 x_514 x_513 x_512
    971968| CLEAR_CARRY -> h_CLEAR_CARRY
    972969| SET_CARRY -> h_SET_CARRY
    973 | LOAD (x_17202, x_17201, x_17200) -> h_LOAD x_17202 x_17201 x_17200
    974 | STORE (x_17205, x_17204, x_17203) -> h_STORE x_17205 x_17204 x_17203
    975 | Extension_seq x_17206 -> h_extension_seq x_17206
     970| LOAD (x_518, x_517, x_516) -> h_LOAD x_518 x_517 x_516
     971| STORE (x_521, x_520, x_519) -> h_STORE x_521 x_520 x_519
     972| Extension_seq x_522 -> h_extension_seq x_522
    976973
    977974(** val joint_seq_rect_Type2 :
     
    983980    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    984981let rec joint_seq_rect_Type2 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    985 | COMMENT x_17221 -> h_COMMENT x_17221
    986 | MOVE x_17222 -> h_MOVE x_17222
    987 | POP x_17223 -> h_POP x_17223
    988 | PUSH x_17224 -> h_PUSH x_17224
    989 | ADDRESS (i, x_17226, x_17225) -> h_ADDRESS i __ x_17226 x_17225
    990 | OPACCS (x_17232, x_17231, x_17230, x_17229, x_17228) ->
    991   h_OPACCS x_17232 x_17231 x_17230 x_17229 x_17228
    992 | OP1 (x_17235, x_17234, x_17233) -> h_OP1 x_17235 x_17234 x_17233
    993 | OP2 (x_17239, x_17238, x_17237, x_17236) ->
    994   h_OP2 x_17239 x_17238 x_17237 x_17236
     982| COMMENT x_537 -> h_COMMENT x_537
     983| MOVE x_538 -> h_MOVE x_538
     984| POP x_539 -> h_POP x_539
     985| PUSH x_540 -> h_PUSH x_540
     986| ADDRESS (i, x_542, x_541) -> h_ADDRESS i __ x_542 x_541
     987| OPACCS (x_548, x_547, x_546, x_545, x_544) ->
     988  h_OPACCS x_548 x_547 x_546 x_545 x_544
     989| OP1 (x_551, x_550, x_549) -> h_OP1 x_551 x_550 x_549
     990| OP2 (x_555, x_554, x_553, x_552) -> h_OP2 x_555 x_554 x_553 x_552
    995991| CLEAR_CARRY -> h_CLEAR_CARRY
    996992| SET_CARRY -> h_SET_CARRY
    997 | LOAD (x_17242, x_17241, x_17240) -> h_LOAD x_17242 x_17241 x_17240
    998 | STORE (x_17245, x_17244, x_17243) -> h_STORE x_17245 x_17244 x_17243
    999 | Extension_seq x_17246 -> h_extension_seq x_17246
     993| LOAD (x_558, x_557, x_556) -> h_LOAD x_558 x_557 x_556
     994| STORE (x_561, x_560, x_559) -> h_STORE x_561 x_560 x_559
     995| Extension_seq x_562 -> h_extension_seq x_562
    1000996
    1001997(** val joint_seq_rect_Type1 :
     
    10071003    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    10081004let rec joint_seq_rect_Type1 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    1009 | COMMENT x_17261 -> h_COMMENT x_17261
    1010 | MOVE x_17262 -> h_MOVE x_17262
    1011 | POP x_17263 -> h_POP x_17263
    1012 | PUSH x_17264 -> h_PUSH x_17264
    1013 | ADDRESS (i, x_17266, x_17265) -> h_ADDRESS i __ x_17266 x_17265
    1014 | OPACCS (x_17272, x_17271, x_17270, x_17269, x_17268) ->
    1015   h_OPACCS x_17272 x_17271 x_17270 x_17269 x_17268
    1016 | OP1 (x_17275, x_17274, x_17273) -> h_OP1 x_17275 x_17274 x_17273
    1017 | OP2 (x_17279, x_17278, x_17277, x_17276) ->
    1018   h_OP2 x_17279 x_17278 x_17277 x_17276
     1005| COMMENT x_577 -> h_COMMENT x_577
     1006| MOVE x_578 -> h_MOVE x_578
     1007| POP x_579 -> h_POP x_579
     1008| PUSH x_580 -> h_PUSH x_580
     1009| ADDRESS (i, x_582, x_581) -> h_ADDRESS i __ x_582 x_581
     1010| OPACCS (x_588, x_587, x_586, x_585, x_584) ->
     1011  h_OPACCS x_588 x_587 x_586 x_585 x_584
     1012| OP1 (x_591, x_590, x_589) -> h_OP1 x_591 x_590 x_589
     1013| OP2 (x_595, x_594, x_593, x_592) -> h_OP2 x_595 x_594 x_593 x_592
    10191014| CLEAR_CARRY -> h_CLEAR_CARRY
    10201015| SET_CARRY -> h_SET_CARRY
    1021 | LOAD (x_17282, x_17281, x_17280) -> h_LOAD x_17282 x_17281 x_17280
    1022 | STORE (x_17285, x_17284, x_17283) -> h_STORE x_17285 x_17284 x_17283
    1023 | Extension_seq x_17286 -> h_extension_seq x_17286
     1016| LOAD (x_598, x_597, x_596) -> h_LOAD x_598 x_597 x_596
     1017| STORE (x_601, x_600, x_599) -> h_STORE x_601 x_600 x_599
     1018| Extension_seq x_602 -> h_extension_seq x_602
    10241019
    10251020(** val joint_seq_rect_Type0 :
     
    10311026    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    10321027let rec joint_seq_rect_Type0 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    1033 | COMMENT x_17301 -> h_COMMENT x_17301
    1034 | MOVE x_17302 -> h_MOVE x_17302
    1035 | POP x_17303 -> h_POP x_17303
    1036 | PUSH x_17304 -> h_PUSH x_17304
    1037 | ADDRESS (i, x_17306, x_17305) -> h_ADDRESS i __ x_17306 x_17305
    1038 | OPACCS (x_17312, x_17311, x_17310, x_17309, x_17308) ->
    1039   h_OPACCS x_17312 x_17311 x_17310 x_17309 x_17308
    1040 | OP1 (x_17315, x_17314, x_17313) -> h_OP1 x_17315 x_17314 x_17313
    1041 | OP2 (x_17319, x_17318, x_17317, x_17316) ->
    1042   h_OP2 x_17319 x_17318 x_17317 x_17316
     1028| COMMENT x_617 -> h_COMMENT x_617
     1029| MOVE x_618 -> h_MOVE x_618
     1030| POP x_619 -> h_POP x_619
     1031| PUSH x_620 -> h_PUSH x_620
     1032| ADDRESS (i, x_622, x_621) -> h_ADDRESS i __ x_622 x_621
     1033| OPACCS (x_628, x_627, x_626, x_625, x_624) ->
     1034  h_OPACCS x_628 x_627 x_626 x_625 x_624
     1035| OP1 (x_631, x_630, x_629) -> h_OP1 x_631 x_630 x_629
     1036| OP2 (x_635, x_634, x_633, x_632) -> h_OP2 x_635 x_634 x_633 x_632
    10431037| CLEAR_CARRY -> h_CLEAR_CARRY
    10441038| SET_CARRY -> h_SET_CARRY
    1045 | LOAD (x_17322, x_17321, x_17320) -> h_LOAD x_17322 x_17321 x_17320
    1046 | STORE (x_17325, x_17324, x_17323) -> h_STORE x_17325 x_17324 x_17323
    1047 | Extension_seq x_17326 -> h_extension_seq x_17326
     1039| LOAD (x_638, x_637, x_636) -> h_LOAD x_638 x_637 x_636
     1040| STORE (x_641, x_640, x_639) -> h_STORE x_641 x_640 x_639
     1041| Extension_seq x_642 -> h_extension_seq x_642
    10481042
    10491043(** val joint_seq_inv_rect_Type4 :
     
    12361230    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12371231let rec joint_step_rect_Type4 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1238 | COST_LABEL x_17593 -> h_COST_LABEL x_17593
    1239 | CALL (x_17596, x_17595, x_17594) -> h_CALL x_17596 x_17595 x_17594
    1240 | COND (x_17598, x_17597) -> h_COND x_17598 x_17597
    1241 | Step_seq x_17599 -> h_step_seq x_17599
     1232| COST_LABEL x_909 -> h_COST_LABEL x_909
     1233| CALL (x_912, x_911, x_910) -> h_CALL x_912 x_911 x_910
     1234| COND (x_914, x_913) -> h_COND x_914 x_913
     1235| Step_seq x_915 -> h_step_seq x_915
    12421236
    12431237(** val joint_step_rect_Type5 :
     
    12461240    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12471241let rec joint_step_rect_Type5 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1248 | COST_LABEL x_17605 -> h_COST_LABEL x_17605
    1249 | CALL (x_17608, x_17607, x_17606) -> h_CALL x_17608 x_17607 x_17606
    1250 | COND (x_17610, x_17609) -> h_COND x_17610 x_17609
    1251 | Step_seq x_17611 -> h_step_seq x_17611
     1242| COST_LABEL x_921 -> h_COST_LABEL x_921
     1243| CALL (x_924, x_923, x_922) -> h_CALL x_924 x_923 x_922
     1244| COND (x_926, x_925) -> h_COND x_926 x_925
     1245| Step_seq x_927 -> h_step_seq x_927
    12521246
    12531247(** val joint_step_rect_Type3 :
     
    12561250    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12571251let rec joint_step_rect_Type3 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1258 | COST_LABEL x_17617 -> h_COST_LABEL x_17617
    1259 | CALL (x_17620, x_17619, x_17618) -> h_CALL x_17620 x_17619 x_17618
    1260 | COND (x_17622, x_17621) -> h_COND x_17622 x_17621
    1261 | Step_seq x_17623 -> h_step_seq x_17623
     1252| COST_LABEL x_933 -> h_COST_LABEL x_933
     1253| CALL (x_936, x_935, x_934) -> h_CALL x_936 x_935 x_934
     1254| COND (x_938, x_937) -> h_COND x_938 x_937
     1255| Step_seq x_939 -> h_step_seq x_939
    12621256
    12631257(** val joint_step_rect_Type2 :
     
    12661260    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12671261let rec joint_step_rect_Type2 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1268 | COST_LABEL x_17629 -> h_COST_LABEL x_17629
    1269 | CALL (x_17632, x_17631, x_17630) -> h_CALL x_17632 x_17631 x_17630
    1270 | COND (x_17634, x_17633) -> h_COND x_17634 x_17633
    1271 | Step_seq x_17635 -> h_step_seq x_17635
     1262| COST_LABEL x_945 -> h_COST_LABEL x_945
     1263| CALL (x_948, x_947, x_946) -> h_CALL x_948 x_947 x_946
     1264| COND (x_950, x_949) -> h_COND x_950 x_949
     1265| Step_seq x_951 -> h_step_seq x_951
    12721266
    12731267(** val joint_step_rect_Type1 :
     
    12761270    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12771271let rec joint_step_rect_Type1 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1278 | COST_LABEL x_17641 -> h_COST_LABEL x_17641
    1279 | CALL (x_17644, x_17643, x_17642) -> h_CALL x_17644 x_17643 x_17642
    1280 | COND (x_17646, x_17645) -> h_COND x_17646 x_17645
    1281 | Step_seq x_17647 -> h_step_seq x_17647
     1272| COST_LABEL x_957 -> h_COST_LABEL x_957
     1273| CALL (x_960, x_959, x_958) -> h_CALL x_960 x_959 x_958
     1274| COND (x_962, x_961) -> h_COND x_962 x_961
     1275| Step_seq x_963 -> h_step_seq x_963
    12821276
    12831277(** val joint_step_rect_Type0 :
     
    12861280    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12871281let rec joint_step_rect_Type0 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1288 | COST_LABEL x_17653 -> h_COST_LABEL x_17653
    1289 | CALL (x_17656, x_17655, x_17654) -> h_CALL x_17656 x_17655 x_17654
    1290 | COND (x_17658, x_17657) -> h_COND x_17658 x_17657
    1291 | Step_seq x_17659 -> h_step_seq x_17659
     1282| COST_LABEL x_969 -> h_COST_LABEL x_969
     1283| CALL (x_972, x_971, x_970) -> h_CALL x_972 x_971 x_970
     1284| COND (x_974, x_973) -> h_COND x_974 x_973
     1285| Step_seq x_975 -> h_step_seq x_975
    12921286
    12931287(** val joint_step_inv_rect_Type4 :
     
    14641458    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14651459    'a1) -> stmt_params -> 'a1 **)
    1466 let rec stmt_params_rect_Type4 h_mk_stmt_params x_17738 =
     1460let rec stmt_params_rect_Type4 h_mk_stmt_params x_1054 =
    14671461  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1468     has_fcond0 } = x_17738
     1462    has_fcond0 } = x_1054
    14691463  in
    14701464  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    14731467    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14741468    'a1) -> stmt_params -> 'a1 **)
    1475 let rec stmt_params_rect_Type5 h_mk_stmt_params x_17740 =
     1469let rec stmt_params_rect_Type5 h_mk_stmt_params x_1056 =
    14761470  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1477     has_fcond0 } = x_17740
     1471    has_fcond0 } = x_1056
    14781472  in
    14791473  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    14821476    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14831477    'a1) -> stmt_params -> 'a1 **)
    1484 let rec stmt_params_rect_Type3 h_mk_stmt_params x_17742 =
     1478let rec stmt_params_rect_Type3 h_mk_stmt_params x_1058 =
    14851479  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1486     has_fcond0 } = x_17742
     1480    has_fcond0 } = x_1058
    14871481  in
    14881482  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    14911485    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14921486    'a1) -> stmt_params -> 'a1 **)
    1493 let rec stmt_params_rect_Type2 h_mk_stmt_params x_17744 =
     1487let rec stmt_params_rect_Type2 h_mk_stmt_params x_1060 =
    14941488  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1495     has_fcond0 } = x_17744
     1489    has_fcond0 } = x_1060
    14961490  in
    14971491  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    15001494    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    15011495    'a1) -> stmt_params -> 'a1 **)
    1502 let rec stmt_params_rect_Type1 h_mk_stmt_params x_17746 =
     1496let rec stmt_params_rect_Type1 h_mk_stmt_params x_1062 =
    15031497  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1504     has_fcond0 } = x_17746
     1498    has_fcond0 } = x_1062
    15051499  in
    15061500  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    15091503    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    15101504    'a1) -> stmt_params -> 'a1 **)
    1511 let rec stmt_params_rect_Type0 h_mk_stmt_params x_17748 =
     1505let rec stmt_params_rect_Type0 h_mk_stmt_params x_1064 =
    15121506  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1513     has_fcond0 } = x_17748
     1507    has_fcond0 } = x_1064
    15141508  in
    15151509  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    15781572    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    15791573let rec joint_fin_step_rect_Type4 p h_GOTO h_RETURN h_TAILCALL = function
    1580 | GOTO x_17772 -> h_GOTO x_17772
     1574| GOTO x_1088 -> h_GOTO x_1088
    15811575| RETURN -> h_RETURN
    1582 | TAILCALL (x_17774, x_17773) -> h_TAILCALL __ x_17774 x_17773
     1576| TAILCALL (x_1090, x_1089) -> h_TAILCALL __ x_1090 x_1089
    15831577
    15841578(** val joint_fin_step_rect_Type5 :
     
    15861580    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    15871581let rec joint_fin_step_rect_Type5 p h_GOTO h_RETURN h_TAILCALL = function
    1588 | GOTO x_17780 -> h_GOTO x_17780
     1582| GOTO x_1096 -> h_GOTO x_1096
    15891583| RETURN -> h_RETURN
    1590 | TAILCALL (x_17782, x_17781) -> h_TAILCALL __ x_17782 x_17781
     1584| TAILCALL (x_1098, x_1097) -> h_TAILCALL __ x_1098 x_1097
    15911585
    15921586(** val joint_fin_step_rect_Type3 :
     
    15941588    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    15951589let rec joint_fin_step_rect_Type3 p h_GOTO h_RETURN h_TAILCALL = function
    1596 | GOTO x_17788 -> h_GOTO x_17788
     1590| GOTO x_1104 -> h_GOTO x_1104
    15971591| RETURN -> h_RETURN
    1598 | TAILCALL (x_17790, x_17789) -> h_TAILCALL __ x_17790 x_17789
     1592| TAILCALL (x_1106, x_1105) -> h_TAILCALL __ x_1106 x_1105
    15991593
    16001594(** val joint_fin_step_rect_Type2 :
     
    16021596    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    16031597let rec joint_fin_step_rect_Type2 p h_GOTO h_RETURN h_TAILCALL = function
    1604 | GOTO x_17796 -> h_GOTO x_17796
     1598| GOTO x_1112 -> h_GOTO x_1112
    16051599| RETURN -> h_RETURN
    1606 | TAILCALL (x_17798, x_17797) -> h_TAILCALL __ x_17798 x_17797
     1600| TAILCALL (x_1114, x_1113) -> h_TAILCALL __ x_1114 x_1113
    16071601
    16081602(** val joint_fin_step_rect_Type1 :
     
    16101604    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    16111605let rec joint_fin_step_rect_Type1 p h_GOTO h_RETURN h_TAILCALL = function
    1612 | GOTO x_17804 -> h_GOTO x_17804
     1606| GOTO x_1120 -> h_GOTO x_1120
    16131607| RETURN -> h_RETURN
    1614 | TAILCALL (x_17806, x_17805) -> h_TAILCALL __ x_17806 x_17805
     1608| TAILCALL (x_1122, x_1121) -> h_TAILCALL __ x_1122 x_1121
    16151609
    16161610(** val joint_fin_step_rect_Type0 :
     
    16181612    (__, __) T