Changeset 3059


Ignore:
Timestamp:
Apr 2, 2013, 1:25:09 AM (4 years ago)
Author:
sacerdot
Message:

New extraction

Location:
extracted
Files:
47 edited

Legend:

Unmodified
Added
Removed
  • extracted/aSM.ml

    r3043 r3059  
    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_124 -> h_DIRECT x_124
    116 | INDIRECT x_125 -> h_INDIRECT x_125
    117 | EXT_INDIRECT x_126 -> h_EXT_INDIRECT x_126
    118 | REGISTER x_127 -> h_REGISTER x_127
     115| DIRECT x_19160 -> h_DIRECT x_19160
     116| INDIRECT x_19161 -> h_INDIRECT x_19161
     117| EXT_INDIRECT x_19162 -> h_EXT_INDIRECT x_19162
     118| REGISTER x_19163 -> h_REGISTER x_19163
    119119| ACC_A -> h_ACC_A
    120120| ACC_B -> h_ACC_B
    121121| DPTR -> h_DPTR
    122 | DATA x_128 -> h_DATA x_128
    123 | DATA16 x_129 -> h_DATA16 x_129
     122| DATA x_19164 -> h_DATA x_19164
     123| DATA16 x_19165 -> h_DATA16 x_19165
    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_130 -> h_BIT_ADDR x_130
    130 | N_BIT_ADDR x_131 -> h_N_BIT_ADDR x_131
    131 | RELATIVE x_132 -> h_RELATIVE x_132
    132 | ADDR11 x_133 -> h_ADDR11 x_133
    133 | ADDR16 x_134 -> h_ADDR16 x_134
     129| BIT_ADDR x_19166 -> h_BIT_ADDR x_19166
     130| N_BIT_ADDR x_19167 -> h_N_BIT_ADDR x_19167
     131| RELATIVE x_19168 -> h_RELATIVE x_19168
     132| ADDR11 x_19169 -> h_ADDR11 x_19169
     133| ADDR16 x_19170 -> h_ADDR16 x_19170
    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_155 -> h_DIRECT x_155
    144 | INDIRECT x_156 -> h_INDIRECT x_156
    145 | EXT_INDIRECT x_157 -> h_EXT_INDIRECT x_157
    146 | REGISTER x_158 -> h_REGISTER x_158
     143| DIRECT x_19191 -> h_DIRECT x_19191
     144| INDIRECT x_19192 -> h_INDIRECT x_19192
     145| EXT_INDIRECT x_19193 -> h_EXT_INDIRECT x_19193
     146| REGISTER x_19194 -> h_REGISTER x_19194
    147147| ACC_A -> h_ACC_A
    148148| ACC_B -> h_ACC_B
    149149| DPTR -> h_DPTR
    150 | DATA x_159 -> h_DATA x_159
    151 | DATA16 x_160 -> h_DATA16 x_160
     150| DATA x_19195 -> h_DATA x_19195
     151| DATA16 x_19196 -> h_DATA16 x_19196
    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_161 -> h_BIT_ADDR x_161
    158 | N_BIT_ADDR x_162 -> h_N_BIT_ADDR x_162
    159 | RELATIVE x_163 -> h_RELATIVE x_163
    160 | ADDR11 x_164 -> h_ADDR11 x_164
    161 | ADDR16 x_165 -> h_ADDR16 x_165
     157| BIT_ADDR x_19197 -> h_BIT_ADDR x_19197
     158| N_BIT_ADDR x_19198 -> h_N_BIT_ADDR x_19198
     159| RELATIVE x_19199 -> h_RELATIVE x_19199
     160| ADDR11 x_19200 -> h_ADDR11 x_19200
     161| ADDR16 x_19201 -> h_ADDR16 x_19201
    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_186 -> h_DIRECT x_186
    172 | INDIRECT x_187 -> h_INDIRECT x_187
    173 | EXT_INDIRECT x_188 -> h_EXT_INDIRECT x_188
    174 | REGISTER x_189 -> h_REGISTER x_189
     171| DIRECT x_19222 -> h_DIRECT x_19222
     172| INDIRECT x_19223 -> h_INDIRECT x_19223
     173| EXT_INDIRECT x_19224 -> h_EXT_INDIRECT x_19224
     174| REGISTER x_19225 -> h_REGISTER x_19225
    175175| ACC_A -> h_ACC_A
    176176| ACC_B -> h_ACC_B
    177177| DPTR -> h_DPTR
    178 | DATA x_190 -> h_DATA x_190
    179 | DATA16 x_191 -> h_DATA16 x_191
     178| DATA x_19226 -> h_DATA x_19226
     179| DATA16 x_19227 -> h_DATA16 x_19227
    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_192 -> h_BIT_ADDR x_192
    186 | N_BIT_ADDR x_193 -> h_N_BIT_ADDR x_193
    187 | RELATIVE x_194 -> h_RELATIVE x_194
    188 | ADDR11 x_195 -> h_ADDR11 x_195
    189 | ADDR16 x_196 -> h_ADDR16 x_196
     185| BIT_ADDR x_19228 -> h_BIT_ADDR x_19228
     186| N_BIT_ADDR x_19229 -> h_N_BIT_ADDR x_19229
     187| RELATIVE x_19230 -> h_RELATIVE x_19230
     188| ADDR11 x_19231 -> h_ADDR11 x_19231
     189| ADDR16 x_19232 -> h_ADDR16 x_19232
    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_217 -> h_DIRECT x_217
    200 | INDIRECT x_218 -> h_INDIRECT x_218
    201 | EXT_INDIRECT x_219 -> h_EXT_INDIRECT x_219
    202 | REGISTER x_220 -> h_REGISTER x_220
     199| DIRECT x_19253 -> h_DIRECT x_19253
     200| INDIRECT x_19254 -> h_INDIRECT x_19254
     201| EXT_INDIRECT x_19255 -> h_EXT_INDIRECT x_19255
     202| REGISTER x_19256 -> h_REGISTER x_19256
    203203| ACC_A -> h_ACC_A
    204204| ACC_B -> h_ACC_B
    205205| DPTR -> h_DPTR
    206 | DATA x_221 -> h_DATA x_221
    207 | DATA16 x_222 -> h_DATA16 x_222
     206| DATA x_19257 -> h_DATA x_19257
     207| DATA16 x_19258 -> h_DATA16 x_19258
    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_223 -> h_BIT_ADDR x_223
    214 | N_BIT_ADDR x_224 -> h_N_BIT_ADDR x_224
    215 | RELATIVE x_225 -> h_RELATIVE x_225
    216 | ADDR11 x_226 -> h_ADDR11 x_226
    217 | ADDR16 x_227 -> h_ADDR16 x_227
     213| BIT_ADDR x_19259 -> h_BIT_ADDR x_19259
     214| N_BIT_ADDR x_19260 -> h_N_BIT_ADDR x_19260
     215| RELATIVE x_19261 -> h_RELATIVE x_19261
     216| ADDR11 x_19262 -> h_ADDR11 x_19262
     217| ADDR16 x_19263 -> h_ADDR16 x_19263
    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_248 -> h_DIRECT x_248
    228 | INDIRECT x_249 -> h_INDIRECT x_249
    229 | EXT_INDIRECT x_250 -> h_EXT_INDIRECT x_250
    230 | REGISTER x_251 -> h_REGISTER x_251
     227| DIRECT x_19284 -> h_DIRECT x_19284
     228| INDIRECT x_19285 -> h_INDIRECT x_19285
     229| EXT_INDIRECT x_19286 -> h_EXT_INDIRECT x_19286
     230| REGISTER x_19287 -> h_REGISTER x_19287
    231231| ACC_A -> h_ACC_A
    232232| ACC_B -> h_ACC_B
    233233| DPTR -> h_DPTR
    234 | DATA x_252 -> h_DATA x_252
    235 | DATA16 x_253 -> h_DATA16 x_253
     234| DATA x_19288 -> h_DATA x_19288
     235| DATA16 x_19289 -> h_DATA16 x_19289
    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_254 -> h_BIT_ADDR x_254
    242 | N_BIT_ADDR x_255 -> h_N_BIT_ADDR x_255
    243 | RELATIVE x_256 -> h_RELATIVE x_256
    244 | ADDR11 x_257 -> h_ADDR11 x_257
    245 | ADDR16 x_258 -> h_ADDR16 x_258
     241| BIT_ADDR x_19290 -> h_BIT_ADDR x_19290
     242| N_BIT_ADDR x_19291 -> h_N_BIT_ADDR x_19291
     243| RELATIVE x_19292 -> h_RELATIVE x_19292
     244| ADDR11 x_19293 -> h_ADDR11 x_19293
     245| ADDR16 x_19294 -> h_ADDR16 x_19294
    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_279 -> h_DIRECT x_279
    256 | INDIRECT x_280 -> h_INDIRECT x_280
    257 | EXT_INDIRECT x_281 -> h_EXT_INDIRECT x_281
    258 | REGISTER x_282 -> h_REGISTER x_282
     255| DIRECT x_19315 -> h_DIRECT x_19315
     256| INDIRECT x_19316 -> h_INDIRECT x_19316
     257| EXT_INDIRECT x_19317 -> h_EXT_INDIRECT x_19317
     258| REGISTER x_19318 -> h_REGISTER x_19318
    259259| ACC_A -> h_ACC_A
    260260| ACC_B -> h_ACC_B
    261261| DPTR -> h_DPTR
    262 | DATA x_283 -> h_DATA x_283
    263 | DATA16 x_284 -> h_DATA16 x_284
     262| DATA x_19319 -> h_DATA x_19319
     263| DATA16 x_19320 -> h_DATA16 x_19320
    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_285 -> h_BIT_ADDR x_285
    270 | N_BIT_ADDR x_286 -> h_N_BIT_ADDR x_286
    271 | RELATIVE x_287 -> h_RELATIVE x_287
    272 | ADDR11 x_288 -> h_ADDR11 x_288
    273 | ADDR16 x_289 -> h_ADDR16 x_289
     269| BIT_ADDR x_19321 -> h_BIT_ADDR x_19321
     270| N_BIT_ADDR x_19322 -> h_N_BIT_ADDR x_19322
     271| RELATIVE x_19323 -> h_RELATIVE x_19323
     272| ADDR11 x_19324 -> h_ADDR11 x_19324
     273| ADDR16 x_19325 -> h_ADDR16 x_19325
    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_757 =
    1929   let subaddressing_modeel = x_757 in
     1928let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_19793 =
     1929  let subaddressing_modeel = x_19793 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_759 =
    1936   let subaddressing_modeel = x_759 in
     1935let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_19795 =
     1936  let subaddressing_modeel = x_19795 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_761 =
    1943   let subaddressing_modeel = x_761 in
     1942let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_19797 =
     1943  let subaddressing_modeel = x_19797 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_763 =
    1950   let subaddressing_modeel = x_763 in
     1949let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_19799 =
     1950  let subaddressing_modeel = x_19799 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_765 =
    1957   let subaddressing_modeel = x_765 in
     1956let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_19801 =
     1957  let subaddressing_modeel = x_19801 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_767 =
    1964   let subaddressing_modeel = x_767 in
     1963let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_19803 =
     1964  let subaddressing_modeel = x_19803 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_869, x_868) -> h_ADD x_869 x_868
    2291 | ADDC (x_871, x_870) -> h_ADDC x_871 x_870
    2292 | SUBB (x_873, x_872) -> h_SUBB x_873 x_872
    2293 | INC x_874 -> h_INC x_874
    2294 | DEC x_875 -> h_DEC x_875
    2295 | MUL (x_877, x_876) -> h_MUL x_877 x_876
    2296 | DIV (x_879, x_878) -> h_DIV x_879 x_878
    2297 | DA x_880 -> h_DA x_880
    2298 | JC x_881 -> h_JC x_881
    2299 | JNC x_882 -> h_JNC x_882
    2300 | JB (x_884, x_883) -> h_JB x_884 x_883
    2301 | JNB (x_886, x_885) -> h_JNB x_886 x_885
    2302 | JBC (x_888, x_887) -> h_JBC x_888 x_887
    2303 | JZ x_889 -> h_JZ x_889
    2304 | JNZ x_890 -> h_JNZ x_890
    2305 | CJNE (x_892, x_891) -> h_CJNE x_892 x_891
    2306 | DJNZ (x_894, x_893) -> h_DJNZ x_894 x_893
    2307 | ANL x_895 -> h_ANL x_895
    2308 | ORL x_896 -> h_ORL x_896
    2309 | XRL x_897 -> h_XRL x_897
    2310 | CLR x_898 -> h_CLR x_898
    2311 | CPL x_899 -> h_CPL x_899
    2312 | RL x_900 -> h_RL x_900
    2313 | RLC x_901 -> h_RLC x_901
    2314 | RR x_902 -> h_RR x_902
    2315 | RRC x_903 -> h_RRC x_903
    2316 | SWAP x_904 -> h_SWAP x_904
    2317 | MOV x_905 -> h_MOV x_905
    2318 | MOVX x_906 -> h_MOVX x_906
    2319 | SETB x_907 -> h_SETB x_907
    2320 | PUSH x_908 -> h_PUSH x_908
    2321 | POP x_909 -> h_POP x_909
    2322 | XCH (x_911, x_910) -> h_XCH x_911 x_910
    2323 | XCHD (x_913, x_912) -> h_XCHD x_913 x_912
     2290| ADD (x_19905, x_19904) -> h_ADD x_19905 x_19904
     2291| ADDC (x_19907, x_19906) -> h_ADDC x_19907 x_19906
     2292| SUBB (x_19909, x_19908) -> h_SUBB x_19909 x_19908
     2293| INC x_19910 -> h_INC x_19910
     2294| DEC x_19911 -> h_DEC x_19911
     2295| MUL (x_19913, x_19912) -> h_MUL x_19913 x_19912
     2296| DIV (x_19915, x_19914) -> h_DIV x_19915 x_19914
     2297| DA x_19916 -> h_DA x_19916
     2298| JC x_19917 -> h_JC x_19917
     2299| JNC x_19918 -> h_JNC x_19918
     2300| JB (x_19920, x_19919) -> h_JB x_19920 x_19919
     2301| JNB (x_19922, x_19921) -> h_JNB x_19922 x_19921
     2302| JBC (x_19924, x_19923) -> h_JBC x_19924 x_19923
     2303| JZ x_19925 -> h_JZ x_19925
     2304| JNZ x_19926 -> h_JNZ x_19926
     2305| CJNE (x_19928, x_19927) -> h_CJNE x_19928 x_19927
     2306| DJNZ (x_19930, x_19929) -> h_DJNZ x_19930 x_19929
     2307| ANL x_19931 -> h_ANL x_19931
     2308| ORL x_19932 -> h_ORL x_19932
     2309| XRL x_19933 -> h_XRL x_19933
     2310| CLR x_19934 -> h_CLR x_19934
     2311| CPL x_19935 -> h_CPL x_19935
     2312| RL x_19936 -> h_RL x_19936
     2313| RLC x_19937 -> h_RLC x_19937
     2314| RR x_19938 -> h_RR x_19938
     2315| RRC x_19939 -> h_RRC x_19939
     2316| SWAP x_19940 -> h_SWAP x_19940
     2317| MOV x_19941 -> h_MOV x_19941
     2318| MOVX x_19942 -> h_MOVX x_19942
     2319| SETB x_19943 -> h_SETB x_19943
     2320| PUSH x_19944 -> h_PUSH x_19944
     2321| POP x_19945 -> h_POP x_19945
     2322| XCH (x_19947, x_19946) -> h_XCH x_19947 x_19946
     2323| XCHD (x_19949, x_19948) -> h_XCHD x_19949 x_19948
    23242324| RET -> h_RET
    23252325| RETI -> h_RETI
    23262326| NOP -> h_NOP
    2327 | JMP x_914 -> h_JMP x_914
     2327| JMP x_19950 -> h_JMP x_19950
    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_955, x_954) -> h_ADD x_955 x_954
    2366 | ADDC (x_957, x_956) -> h_ADDC x_957 x_956
    2367 | SUBB (x_959, x_958) -> h_SUBB x_959 x_958
    2368 | INC x_960 -> h_INC x_960
    2369 | DEC x_961 -> h_DEC x_961
    2370 | MUL (x_963, x_962) -> h_MUL x_963 x_962
    2371 | DIV (x_965, x_964) -> h_DIV x_965 x_964
    2372 | DA x_966 -> h_DA x_966
    2373 | JC x_967 -> h_JC x_967
    2374 | JNC x_968 -> h_JNC x_968
    2375 | JB (x_970, x_969) -> h_JB x_970 x_969
    2376 | JNB (x_972, x_971) -> h_JNB x_972 x_971
    2377 | JBC (x_974, x_973) -> h_JBC x_974 x_973
    2378 | JZ x_975 -> h_JZ x_975
    2379 | JNZ x_976 -> h_JNZ x_976
    2380 | CJNE (x_978, x_977) -> h_CJNE x_978 x_977
    2381 | DJNZ (x_980, x_979) -> h_DJNZ x_980 x_979
    2382 | ANL x_981 -> h_ANL x_981
    2383 | ORL x_982 -> h_ORL x_982
    2384 | XRL x_983 -> h_XRL x_983
    2385 | CLR x_984 -> h_CLR x_984
    2386 | CPL x_985 -> h_CPL x_985
    2387 | RL x_986 -> h_RL x_986
    2388 | RLC x_987 -> h_RLC x_987
    2389 | RR x_988 -> h_RR x_988
    2390 | RRC x_989 -> h_RRC x_989
    2391 | SWAP x_990 -> h_SWAP x_990
    2392 | MOV x_991 -> h_MOV x_991
    2393 | MOVX x_992 -> h_MOVX x_992
    2394 | SETB x_993 -> h_SETB x_993
    2395 | PUSH x_994 -> h_PUSH x_994
    2396 | POP x_995 -> h_POP x_995
    2397 | XCH (x_997, x_996) -> h_XCH x_997 x_996
    2398 | XCHD (x_999, x_998) -> h_XCHD x_999 x_998
     2365| ADD (x_19991, x_19990) -> h_ADD x_19991 x_19990
     2366| ADDC (x_19993, x_19992) -> h_ADDC x_19993 x_19992
     2367| SUBB (x_19995, x_19994) -> h_SUBB x_19995 x_19994
     2368| INC x_19996 -> h_INC x_19996
     2369| DEC x_19997 -> h_DEC x_19997
     2370| MUL (x_19999, x_19998) -> h_MUL x_19999 x_19998
     2371| DIV (x_20001, x_20000) -> h_DIV x_20001 x_20000
     2372| DA x_20002 -> h_DA x_20002
     2373| JC x_20003 -> h_JC x_20003
     2374| JNC x_20004 -> h_JNC x_20004
     2375| JB (x_20006, x_20005) -> h_JB x_20006 x_20005
     2376| JNB (x_20008, x_20007) -> h_JNB x_20008 x_20007
     2377| JBC (x_20010, x_20009) -> h_JBC x_20010 x_20009
     2378| JZ x_20011 -> h_JZ x_20011
     2379| JNZ x_20012 -> h_JNZ x_20012
     2380| CJNE (x_20014, x_20013) -> h_CJNE x_20014 x_20013
     2381| DJNZ (x_20016, x_20015) -> h_DJNZ x_20016 x_20015
     2382| ANL x_20017 -> h_ANL x_20017
     2383| ORL x_20018 -> h_ORL x_20018
     2384| XRL x_20019 -> h_XRL x_20019
     2385| CLR x_20020 -> h_CLR x_20020
     2386| CPL x_20021 -> h_CPL x_20021
     2387| RL x_20022 -> h_RL x_20022
     2388| RLC x_20023 -> h_RLC x_20023
     2389| RR x_20024 -> h_RR x_20024
     2390| RRC x_20025 -> h_RRC x_20025
     2391| SWAP x_20026 -> h_SWAP x_20026
     2392| MOV x_20027 -> h_MOV x_20027
     2393| MOVX x_20028 -> h_MOVX x_20028
     2394| SETB x_20029 -> h_SETB x_20029
     2395| PUSH x_20030 -> h_PUSH x_20030
     2396| POP x_20031 -> h_POP x_20031
     2397| XCH (x_20033, x_20032) -> h_XCH x_20033 x_20032
     2398| XCHD (x_20035, x_20034) -> h_XCHD x_20035 x_20034
    23992399| RET -> h_RET
    24002400| RETI -> h_RETI
    24012401| NOP -> h_NOP
    2402 | JMP x_1000 -> h_JMP x_1000
     2402| JMP x_20036 -> h_JMP x_20036
    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_1041, x_1040) -> h_ADD x_1041 x_1040
    2441 | ADDC (x_1043, x_1042) -> h_ADDC x_1043 x_1042
    2442 | SUBB (x_1045, x_1044) -> h_SUBB x_1045 x_1044
    2443 | INC x_1046 -> h_INC x_1046
    2444 | DEC x_1047 -> h_DEC x_1047
    2445 | MUL (x_1049, x_1048) -> h_MUL x_1049 x_1048
    2446 | DIV (x_1051, x_1050) -> h_DIV x_1051 x_1050
    2447 | DA x_1052 -> h_DA x_1052
    2448 | JC x_1053 -> h_JC x_1053
    2449 | JNC x_1054 -> h_JNC x_1054
    2450 | JB (x_1056, x_1055) -> h_JB x_1056 x_1055
    2451 | JNB (x_1058, x_1057) -> h_JNB x_1058 x_1057
    2452 | JBC (x_1060, x_1059) -> h_JBC x_1060 x_1059
    2453 | JZ x_1061 -> h_JZ x_1061
    2454 | JNZ x_1062 -> h_JNZ x_1062
    2455 | CJNE (x_1064, x_1063) -> h_CJNE x_1064 x_1063
    2456 | DJNZ (x_1066, x_1065) -> h_DJNZ x_1066 x_1065
    2457 | ANL x_1067 -> h_ANL x_1067
    2458 | ORL x_1068 -> h_ORL x_1068
    2459 | XRL x_1069 -> h_XRL x_1069
    2460 | CLR x_1070 -> h_CLR x_1070
    2461 | CPL x_1071 -> h_CPL x_1071
    2462 | RL x_1072 -> h_RL x_1072
    2463 | RLC x_1073 -> h_RLC x_1073
    2464 | RR x_1074 -> h_RR x_1074
    2465 | RRC x_1075 -> h_RRC x_1075
    2466 | SWAP x_1076 -> h_SWAP x_1076
    2467 | MOV x_1077 -> h_MOV x_1077
    2468 | MOVX x_1078 -> h_MOVX x_1078
    2469 | SETB x_1079 -> h_SETB x_1079
    2470 | PUSH x_1080 -> h_PUSH x_1080
    2471 | POP x_1081 -> h_POP x_1081
    2472 | XCH (x_1083, x_1082) -> h_XCH x_1083 x_1082
    2473 | XCHD (x_1085, x_1084) -> h_XCHD x_1085 x_1084
     2440| ADD (x_20077, x_20076) -> h_ADD x_20077 x_20076
     2441| ADDC (x_20079, x_20078) -> h_ADDC x_20079 x_20078
     2442| SUBB (x_20081, x_20080) -> h_SUBB x_20081 x_20080
     2443| INC x_20082 -> h_INC x_20082
     2444| DEC x_20083 -> h_DEC x_20083
     2445| MUL (x_20085, x_20084) -> h_MUL x_20085 x_20084
     2446| DIV (x_20087, x_20086) -> h_DIV x_20087 x_20086
     2447| DA x_20088 -> h_DA x_20088
     2448| JC x_20089 -> h_JC x_20089
     2449| JNC x_20090 -> h_JNC x_20090
     2450| JB (x_20092, x_20091) -> h_JB x_20092 x_20091
     2451| JNB (x_20094, x_20093) -> h_JNB x_20094 x_20093
     2452| JBC (x_20096, x_20095) -> h_JBC x_20096 x_20095
     2453| JZ x_20097 -> h_JZ x_20097
     2454| JNZ x_20098 -> h_JNZ x_20098
     2455| CJNE (x_20100, x_20099) -> h_CJNE x_20100 x_20099
     2456| DJNZ (x_20102, x_20101) -> h_DJNZ x_20102 x_20101
     2457| ANL x_20103 -> h_ANL x_20103
     2458| ORL x_20104 -> h_ORL x_20104
     2459| XRL x_20105 -> h_XRL x_20105
     2460| CLR x_20106 -> h_CLR x_20106
     2461| CPL x_20107 -> h_CPL x_20107
     2462| RL x_20108 -> h_RL x_20108
     2463| RLC x_20109 -> h_RLC x_20109
     2464| RR x_20110 -> h_RR x_20110
     2465| RRC x_20111 -> h_RRC x_20111
     2466| SWAP x_20112 -> h_SWAP x_20112
     2467| MOV x_20113 -> h_MOV x_20113
     2468| MOVX x_20114 -> h_MOVX x_20114
     2469| SETB x_20115 -> h_SETB x_20115
     2470| PUSH x_20116 -> h_PUSH x_20116
     2471| POP x_20117 -> h_POP x_20117
     2472| XCH (x_20119, x_20118) -> h_XCH x_20119 x_20118
     2473| XCHD (x_20121, x_20120) -> h_XCHD x_20121 x_20120
    24742474| RET -> h_RET
    24752475| RETI -> h_RETI
    24762476| NOP -> h_NOP
    2477 | JMP x_1086 -> h_JMP x_1086
     2477| JMP x_20122 -> h_JMP x_20122
    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_1127, x_1126) -> h_ADD x_1127 x_1126
    2516 | ADDC (x_1129, x_1128) -> h_ADDC x_1129 x_1128
    2517 | SUBB (x_1131, x_1130) -> h_SUBB x_1131 x_1130
    2518 | INC x_1132 -> h_INC x_1132
    2519 | DEC x_1133 -> h_DEC x_1133
    2520 | MUL (x_1135, x_1134) -> h_MUL x_1135 x_1134
    2521 | DIV (x_1137, x_1136) -> h_DIV x_1137 x_1136
    2522 | DA x_1138 -> h_DA x_1138
    2523 | JC x_1139 -> h_JC x_1139
    2524 | JNC x_1140 -> h_JNC x_1140
    2525 | JB (x_1142, x_1141) -> h_JB x_1142 x_1141
    2526 | JNB (x_1144, x_1143) -> h_JNB x_1144 x_1143
    2527 | JBC (x_1146, x_1145) -> h_JBC x_1146 x_1145
    2528 | JZ x_1147 -> h_JZ x_1147
    2529 | JNZ x_1148 -> h_JNZ x_1148
    2530 | CJNE (x_1150, x_1149) -> h_CJNE x_1150 x_1149
    2531 | DJNZ (x_1152, x_1151) -> h_DJNZ x_1152 x_1151
    2532 | ANL x_1153 -> h_ANL x_1153
    2533 | ORL x_1154 -> h_ORL x_1154
    2534 | XRL x_1155 -> h_XRL x_1155
    2535 | CLR x_1156 -> h_CLR x_1156
    2536 | CPL x_1157 -> h_CPL x_1157
    2537 | RL x_1158 -> h_RL x_1158
    2538 | RLC x_1159 -> h_RLC x_1159
    2539 | RR x_1160 -> h_RR x_1160
    2540 | RRC x_1161 -> h_RRC x_1161
    2541 | SWAP x_1162 -> h_SWAP x_1162
    2542 | MOV x_1163 -> h_MOV x_1163
    2543 | MOVX x_1164 -> h_MOVX x_1164
    2544 | SETB x_1165 -> h_SETB x_1165
    2545 | PUSH x_1166 -> h_PUSH x_1166
    2546 | POP x_1167 -> h_POP x_1167
    2547 | XCH (x_1169, x_1168) -> h_XCH x_1169 x_1168
    2548 | XCHD (x_1171, x_1170) -> h_XCHD x_1171 x_1170
     2515| ADD (x_20163, x_20162) -> h_ADD x_20163 x_20162
     2516| ADDC (x_20165, x_20164) -> h_ADDC x_20165 x_20164
     2517| SUBB (x_20167, x_20166) -> h_SUBB x_20167 x_20166
     2518| INC x_20168 -> h_INC x_20168
     2519| DEC x_20169 -> h_DEC x_20169
     2520| MUL (x_20171, x_20170) -> h_MUL x_20171 x_20170
     2521| DIV (x_20173, x_20172) -> h_DIV x_20173 x_20172
     2522| DA x_20174 -> h_DA x_20174
     2523| JC x_20175 -> h_JC x_20175
     2524| JNC x_20176 -> h_JNC x_20176
     2525| JB (x_20178, x_20177) -> h_JB x_20178 x_20177
     2526| JNB (x_20180, x_20179) -> h_JNB x_20180 x_20179
     2527| JBC (x_20182, x_20181) -> h_JBC x_20182 x_20181
     2528| JZ x_20183 -> h_JZ x_20183
     2529| JNZ x_20184 -> h_JNZ x_20184
     2530| CJNE (x_20186, x_20185) -> h_CJNE x_20186 x_20185
     2531| DJNZ (x_20188, x_20187) -> h_DJNZ x_20188 x_20187
     2532| ANL x_20189 -> h_ANL x_20189
     2533| ORL x_20190 -> h_ORL x_20190
     2534| XRL x_20191 -> h_XRL x_20191
     2535| CLR x_20192 -> h_CLR x_20192
     2536| CPL x_20193 -> h_CPL x_20193
     2537| RL x_20194 -> h_RL x_20194
     2538| RLC x_20195 -> h_RLC x_20195
     2539| RR x_20196 -> h_RR x_20196
     2540| RRC x_20197 -> h_RRC x_20197
     2541| SWAP x_20198 -> h_SWAP x_20198
     2542| MOV x_20199 -> h_MOV x_20199
     2543| MOVX x_20200 -> h_MOVX x_20200
     2544| SETB x_20201 -> h_SETB x_20201
     2545| PUSH x_20202 -> h_PUSH x_20202
     2546| POP x_20203 -> h_POP x_20203
     2547| XCH (x_20205, x_20204) -> h_XCH x_20205 x_20204
     2548| XCHD (x_20207, x_20206) -> h_XCHD x_20207 x_20206
    25492549| RET -> h_RET
    25502550| RETI -> h_RETI
    25512551| NOP -> h_NOP
    2552 | JMP x_1172 -> h_JMP x_1172
     2552| JMP x_20208 -> h_JMP x_20208
    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_1213, x_1212) -> h_ADD x_1213 x_1212
    2591 | ADDC (x_1215, x_1214) -> h_ADDC x_1215 x_1214
    2592 | SUBB (x_1217, x_1216) -> h_SUBB x_1217 x_1216
    2593 | INC x_1218 -> h_INC x_1218
    2594 | DEC x_1219 -> h_DEC x_1219
    2595 | MUL (x_1221, x_1220) -> h_MUL x_1221 x_1220
    2596 | DIV (x_1223, x_1222) -> h_DIV x_1223 x_1222
    2597 | DA x_1224 -> h_DA x_1224
    2598 | JC x_1225 -> h_JC x_1225
    2599 | JNC x_1226 -> h_JNC x_1226
    2600 | JB (x_1228, x_1227) -> h_JB x_1228 x_1227
    2601 | JNB (x_1230, x_1229) -> h_JNB x_1230 x_1229
    2602 | JBC (x_1232, x_1231) -> h_JBC x_1232 x_1231
    2603 | JZ x_1233 -> h_JZ x_1233
    2604 | JNZ x_1234 -> h_JNZ x_1234
    2605 | CJNE (x_1236, x_1235) -> h_CJNE x_1236 x_1235
    2606 | DJNZ (x_1238, x_1237) -> h_DJNZ x_1238 x_1237
    2607 | ANL x_1239 -> h_ANL x_1239
    2608 | ORL x_1240 -> h_ORL x_1240
    2609 | XRL x_1241 -> h_XRL x_1241
    2610 | CLR x_1242 -> h_CLR x_1242
    2611 | CPL x_1243 -> h_CPL x_1243
    2612 | RL x_1244 -> h_RL x_1244
    2613 | RLC x_1245 -> h_RLC x_1245
    2614 | RR x_1246 -> h_RR x_1246
    2615 | RRC x_1247 -> h_RRC x_1247
    2616 | SWAP x_1248 -> h_SWAP x_1248
    2617 | MOV x_1249 -> h_MOV x_1249
    2618 | MOVX x_1250 -> h_MOVX x_1250
    2619 | SETB x_1251 -> h_SETB x_1251
    2620 | PUSH x_1252 -> h_PUSH x_1252
    2621 | POP x_1253 -> h_POP x_1253
    2622 | XCH (x_1255, x_1254) -> h_XCH x_1255 x_1254
    2623 | XCHD (x_1257, x_1256) -> h_XCHD x_1257 x_1256
     2590| ADD (x_20249, x_20248) -> h_ADD x_20249 x_20248
     2591| ADDC (x_20251, x_20250) -> h_ADDC x_20251 x_20250
     2592| SUBB (x_20253, x_20252) -> h_SUBB x_20253 x_20252
     2593| INC x_20254 -> h_INC x_20254
     2594| DEC x_20255 -> h_DEC x_20255
     2595| MUL (x_20257, x_20256) -> h_MUL x_20257 x_20256
     2596| DIV (x_20259, x_20258) -> h_DIV x_20259 x_20258
     2597| DA x_20260 -> h_DA x_20260
     2598| JC x_20261 -> h_JC x_20261
     2599| JNC x_20262 -> h_JNC x_20262
     2600| JB (x_20264, x_20263) -> h_JB x_20264 x_20263
     2601| JNB (x_20266, x_20265) -> h_JNB x_20266 x_20265
     2602| JBC (x_20268, x_20267) -> h_JBC x_20268 x_20267
     2603| JZ x_20269 -> h_JZ x_20269
     2604| JNZ x_20270 -> h_JNZ x_20270
     2605| CJNE (x_20272, x_20271) -> h_CJNE x_20272 x_20271
     2606| DJNZ (x_20274, x_20273) -> h_DJNZ x_20274 x_20273
     2607| ANL x_20275 -> h_ANL x_20275
     2608| ORL x_20276 -> h_ORL x_20276
     2609| XRL x_20277 -> h_XRL x_20277
     2610| CLR x_20278 -> h_CLR x_20278
     2611| CPL x_20279 -> h_CPL x_20279
     2612| RL x_20280 -> h_RL x_20280
     2613| RLC x_20281 -> h_RLC x_20281
     2614| RR x_20282 -> h_RR x_20282
     2615| RRC x_20283 -> h_RRC x_20283
     2616| SWAP x_20284 -> h_SWAP x_20284
     2617| MOV x_20285 -> h_MOV x_20285
     2618| MOVX x_20286 -> h_MOVX x_20286
     2619| SETB x_20287 -> h_SETB x_20287
     2620| PUSH x_20288 -> h_PUSH x_20288
     2621| POP x_20289 -> h_POP x_20289
     2622| XCH (x_20291, x_20290) -> h_XCH x_20291 x_20290
     2623| XCHD (x_20293, x_20292) -> h_XCHD x_20293 x_20292
    26242624| RET -> h_RET
    26252625| RETI -> h_RETI
    26262626| NOP -> h_NOP
    2627 | JMP x_1258 -> h_JMP x_1258
     2627| JMP x_20294 -> h_JMP x_20294
    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_1299, x_1298) -> h_ADD x_1299 x_1298
    2666 | ADDC (x_1301, x_1300) -> h_ADDC x_1301 x_1300
    2667 | SUBB (x_1303, x_1302) -> h_SUBB x_1303 x_1302
    2668 | INC x_1304 -> h_INC x_1304
    2669 | DEC x_1305 -> h_DEC x_1305
    2670 | MUL (x_1307, x_1306) -> h_MUL x_1307 x_1306
    2671 | DIV (x_1309, x_1308) -> h_DIV x_1309 x_1308
    2672 | DA x_1310 -> h_DA x_1310
    2673 | JC x_1311 -> h_JC x_1311
    2674 | JNC x_1312 -> h_JNC x_1312
    2675 | JB (x_1314, x_1313) -> h_JB x_1314 x_1313
    2676 | JNB (x_1316, x_1315) -> h_JNB x_1316 x_1315
    2677 | JBC (x_1318, x_1317) -> h_JBC x_1318 x_1317
    2678 | JZ x_1319 -> h_JZ x_1319
    2679 | JNZ x_1320 -> h_JNZ x_1320
    2680 | CJNE (x_1322, x_1321) -> h_CJNE x_1322 x_1321
    2681 | DJNZ (x_1324, x_1323) -> h_DJNZ x_1324 x_1323
    2682 | ANL x_1325 -> h_ANL x_1325
    2683 | ORL x_1326 -> h_ORL x_1326
    2684 | XRL x_1327 -> h_XRL x_1327
    2685 | CLR x_1328 -> h_CLR x_1328
    2686 | CPL x_1329 -> h_CPL x_1329
    2687 | RL x_1330 -> h_RL x_1330
    2688 | RLC x_1331 -> h_RLC x_1331
    2689 | RR x_1332 -> h_RR x_1332
    2690 | RRC x_1333 -> h_RRC x_1333
    2691 | SWAP x_1334 -> h_SWAP x_1334
    2692 | MOV x_1335 -> h_MOV x_1335
    2693 | MOVX x_1336 -> h_MOVX x_1336
    2694 | SETB x_1337 -> h_SETB x_1337
    2695 | PUSH x_1338 -> h_PUSH x_1338
    2696 | POP x_1339 -> h_POP x_1339
    2697 | XCH (x_1341, x_1340) -> h_XCH x_1341 x_1340
    2698 | XCHD (x_1343, x_1342) -> h_XCHD x_1343 x_1342
     2665| ADD (x_20335, x_20334) -> h_ADD x_20335 x_20334
     2666| ADDC (x_20337, x_20336) -> h_ADDC x_20337 x_20336
     2667| SUBB (x_20339, x_20338) -> h_SUBB x_20339 x_20338
     2668| INC x_20340 -> h_INC x_20340
     2669| DEC x_20341 -> h_DEC x_20341
     2670| MUL (x_20343, x_20342) -> h_MUL x_20343 x_20342
     2671| DIV (x_20345, x_20344) -> h_DIV x_20345 x_20344
     2672| DA x_20346 -> h_DA x_20346
     2673| JC x_20347 -> h_JC x_20347
     2674| JNC x_20348 -> h_JNC x_20348
     2675| JB (x_20350, x_20349) -> h_JB x_20350 x_20349
     2676| JNB (x_20352, x_20351) -> h_JNB x_20352 x_20351
     2677| JBC (x_20354, x_20353) -> h_JBC x_20354 x_20353
     2678| JZ x_20355 -> h_JZ x_20355
     2679| JNZ x_20356 -> h_JNZ x_20356
     2680| CJNE (x_20358, x_20357) -> h_CJNE x_20358 x_20357
     2681| DJNZ (x_20360, x_20359) -> h_DJNZ x_20360 x_20359
     2682| ANL x_20361 -> h_ANL x_20361
     2683| ORL x_20362 -> h_ORL x_20362
     2684| XRL x_20363 -> h_XRL x_20363
     2685| CLR x_20364 -> h_CLR x_20364
     2686| CPL x_20365 -> h_CPL x_20365
     2687| RL x_20366 -> h_RL x_20366
     2688| RLC x_20367 -> h_RLC x_20367
     2689| RR x_20368 -> h_RR x_20368
     2690| RRC x_20369 -> h_RRC x_20369
     2691| SWAP x_20370 -> h_SWAP x_20370
     2692| MOV x_20371 -> h_MOV x_20371
     2693| MOVX x_20372 -> h_MOVX x_20372
     2694| SETB x_20373 -> h_SETB x_20373
     2695| PUSH x_20374 -> h_PUSH x_20374
     2696| POP x_20375 -> h_POP x_20375
     2697| XCH (x_20377, x_20376) -> h_XCH x_20377 x_20376
     2698| XCHD (x_20379, x_20378) -> h_XCHD x_20379 x_20378
    26992699| RET -> h_RET
    27002700| RETI -> h_RETI
    27012701| NOP -> h_NOP
    2702 | JMP x_1344 -> h_JMP x_1344
     2702| JMP x_20380 -> h_JMP x_20380
    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_1916 -> h_ACALL x_1916
    5107 | LCALL x_1917 -> h_LCALL x_1917
    5108 | AJMP x_1918 -> h_AJMP x_1918
    5109 | LJMP x_1919 -> h_LJMP x_1919
    5110 | SJMP x_1920 -> h_SJMP x_1920
    5111 | MOVC (x_1922, x_1921) -> h_MOVC x_1922 x_1921
    5112 | RealInstruction x_1923 -> h_RealInstruction x_1923
     5106| ACALL x_20952 -> h_ACALL x_20952
     5107| LCALL x_20953 -> h_LCALL x_20953
     5108| AJMP x_20954 -> h_AJMP x_20954
     5109| LJMP x_20955 -> h_LJMP x_20955
     5110| SJMP x_20956 -> h_SJMP x_20956
     5111| MOVC (x_20958, x_20957) -> h_MOVC x_20958 x_20957
     5112| RealInstruction x_20959 -> h_RealInstruction x_20959
    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_1932 -> h_ACALL x_1932
    5122 | LCALL x_1933 -> h_LCALL x_1933
    5123 | AJMP x_1934 -> h_AJMP x_1934
    5124 | LJMP x_1935 -> h_LJMP x_1935
    5125 | SJMP x_1936 -> h_SJMP x_1936
    5126 | MOVC (x_1938, x_1937) -> h_MOVC x_1938 x_1937
    5127 | RealInstruction x_1939 -> h_RealInstruction x_1939
     5121| ACALL x_20968 -> h_ACALL x_20968
     5122| LCALL x_20969 -> h_LCALL x_20969
     5123| AJMP x_20970 -> h_AJMP x_20970
     5124| LJMP x_20971 -> h_LJMP x_20971
     5125| SJMP x_20972 -> h_SJMP x_20972
     5126| MOVC (x_20974, x_20973) -> h_MOVC x_20974 x_20973
     5127| RealInstruction x_20975 -> h_RealInstruction x_20975
    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_1948 -> h_ACALL x_1948
    5137 | LCALL x_1949 -> h_LCALL x_1949
    5138 | AJMP x_1950 -> h_AJMP x_1950
    5139 | LJMP x_1951 -> h_LJMP x_1951
    5140 | SJMP x_1952 -> h_SJMP x_1952
    5141 | MOVC (x_1954, x_1953) -> h_MOVC x_1954 x_1953
    5142 | RealInstruction x_1955 -> h_RealInstruction x_1955
     5136| ACALL x_20984 -> h_ACALL x_20984
     5137| LCALL x_20985 -> h_LCALL x_20985
     5138| AJMP x_20986 -> h_AJMP x_20986
     5139| LJMP x_20987 -> h_LJMP x_20987
     5140| SJMP x_20988 -> h_SJMP x_20988
     5141| MOVC (x_20990, x_20989) -> h_MOVC x_20990 x_20989
     5142| RealInstruction x_20991 -> h_RealInstruction x_20991
    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_1964 -> h_ACALL x_1964
    5152 | LCALL x_1965 -> h_LCALL x_1965
    5153 | AJMP x_1966 -> h_AJMP x_1966
    5154 | LJMP x_1967 -> h_LJMP x_1967
    5155 | SJMP x_1968 -> h_SJMP x_1968
    5156 | MOVC (x_1970, x_1969) -> h_MOVC x_1970 x_1969
    5157 | RealInstruction x_1971 -> h_RealInstruction x_1971
     5151| ACALL x_21000 -> h_ACALL x_21000
     5152| LCALL x_21001 -> h_LCALL x_21001
     5153| AJMP x_21002 -> h_AJMP x_21002
     5154| LJMP x_21003 -> h_LJMP x_21003
     5155| SJMP x_21004 -> h_SJMP x_21004
     5156| MOVC (x_21006, x_21005) -> h_MOVC x_21006 x_21005
     5157| RealInstruction x_21007 -> h_RealInstruction x_21007
    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_1980 -> h_ACALL x_1980
    5167 | LCALL x_1981 -> h_LCALL x_1981
    5168 | AJMP x_1982 -> h_AJMP x_1982
    5169 | LJMP x_1983 -> h_LJMP x_1983
    5170 | SJMP x_1984 -> h_SJMP x_1984
    5171 | MOVC (x_1986, x_1985) -> h_MOVC x_1986 x_1985
    5172 | RealInstruction x_1987 -> h_RealInstruction x_1987
     5166| ACALL x_21016 -> h_ACALL x_21016
     5167| LCALL x_21017 -> h_LCALL x_21017
     5168| AJMP x_21018 -> h_AJMP x_21018
     5169| LJMP x_21019 -> h_LJMP x_21019
     5170| SJMP x_21020 -> h_SJMP x_21020
     5171| MOVC (x_21022, x_21021) -> h_MOVC x_21022 x_21021
     5172| RealInstruction x_21023 -> h_RealInstruction x_21023
    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_1996 -> h_ACALL x_1996
    5182 | LCALL x_1997 -> h_LCALL x_1997
    5183 | AJMP x_1998 -> h_AJMP x_1998
    5184 | LJMP x_1999 -> h_LJMP x_1999
    5185 | SJMP x_2000 -> h_SJMP x_2000
    5186 | MOVC (x_2002, x_2001) -> h_MOVC x_2002 x_2001
    5187 | RealInstruction x_2003 -> h_RealInstruction x_2003
     5181| ACALL x_21032 -> h_ACALL x_21032
     5182| LCALL x_21033 -> h_LCALL x_21033
     5183| AJMP x_21034 -> h_AJMP x_21034
     5184| LJMP x_21035 -> h_LJMP x_21035
     5185| SJMP x_21036 -> h_SJMP x_21036
     5186| MOVC (x_21038, x_21037) -> h_MOVC x_21038 x_21037
     5187| RealInstruction x_21039 -> h_RealInstruction x_21039
    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_Call h_Mov = function
    5478 | Instruction x_2166 -> h_Instruction x_2166
    5479 | Comment x_2167 -> h_Comment x_2167
    5480 | Cost x_2168 -> h_Cost x_2168
    5481 | Jmp x_2169 -> h_Jmp x_2169
    5482 | Jnz (x_2172, x_2171, x_2170) -> h_Jnz x_2172 x_2171 x_2170
    5483 | Call x_2173 -> h_Call x_2173
    5484 | Mov (x_2176, x_2175, x_2174) -> h_Mov x_2176 x_2175 x_2174
     5478| Instruction x_21202 -> h_Instruction x_21202
     5479| Comment x_21203 -> h_Comment x_21203
     5480| Cost x_21204 -> h_Cost x_21204
     5481| Jmp x_21205 -> h_Jmp x_21205
     5482| Jnz (x_21208, x_21207, x_21206) -> h_Jnz x_21208 x_21207 x_21206
     5483| Call x_21209 -> h_Call x_21209
     5484| Mov (x_21212, x_21211, x_21210) -> h_Mov x_21212 x_21211 x_21210
    54855485
    54865486(** val pseudo_instruction_rect_Type5 :
     
    54925492    -> 'a1 **)
    54935493let rec pseudo_instruction_rect_Type5 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_Call h_Mov = function
    5494 | Instruction x_2185 -> h_Instruction x_2185
    5495 | Comment x_2186 -> h_Comment x_2186
    5496 | Cost x_2187 -> h_Cost x_2187
    5497 | Jmp x_2188 -> h_Jmp x_2188
    5498 | Jnz (x_2191, x_2190, x_2189) -> h_Jnz x_2191 x_2190 x_2189
    5499 | Call x_2192 -> h_Call x_2192
    5500 | Mov (x_2195, x_2194, x_2193) -> h_Mov x_2195 x_2194 x_2193
     5494| Instruction x_21221 -> h_Instruction x_21221
     5495| Comment x_21222 -> h_Comment x_21222
     5496| Cost x_21223 -> h_Cost x_21223
     5497| Jmp x_21224 -> h_Jmp x_21224
     5498| Jnz (x_21227, x_21226, x_21225) -> h_Jnz x_21227 x_21226 x_21225
     5499| Call x_21228 -> h_Call x_21228
     5500| Mov (x_21231, x_21230, x_21229) -> h_Mov x_21231 x_21230 x_21229
    55015501
    55025502(** val pseudo_instruction_rect_Type3 :
     
    55085508    -> 'a1 **)
    55095509let rec pseudo_instruction_rect_Type3 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_Call h_Mov = function
    5510 | Instruction x_2204 -> h_Instruction x_2204
    5511 | Comment x_2205 -> h_Comment x_2205
    5512 | Cost x_2206 -> h_Cost x_2206
    5513 | Jmp x_2207 -> h_Jmp x_2207
    5514 | Jnz (x_2210, x_2209, x_2208) -> h_Jnz x_2210 x_2209 x_2208
    5515 | Call x_2211 -> h_Call x_2211
    5516 | Mov (x_2214, x_2213, x_2212) -> h_Mov x_2214 x_2213 x_2212
     5510| Instruction x_21240 -> h_Instruction x_21240
     5511| Comment x_21241 -> h_Comment x_21241
     5512| Cost x_21242 -> h_Cost x_21242
     5513| Jmp x_21243 -> h_Jmp x_21243
     5514| Jnz (x_21246, x_21245, x_21244) -> h_Jnz x_21246 x_21245 x_21244
     5515| Call x_21247 -> h_Call x_21247
     5516| Mov (x_21250, x_21249, x_21248) -> h_Mov x_21250 x_21249 x_21248
    55175517
    55185518(** val pseudo_instruction_rect_Type2 :
     
    55245524    -> 'a1 **)
    55255525let rec pseudo_instruction_rect_Type2 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_Call h_Mov = function
    5526 | Instruction x_2223 -> h_Instruction x_2223
    5527 | Comment x_2224 -> h_Comment x_2224
    5528 | Cost x_2225 -> h_Cost x_2225
    5529 | Jmp x_2226 -> h_Jmp x_2226
    5530 | Jnz (x_2229, x_2228, x_2227) -> h_Jnz x_2229 x_2228 x_2227
    5531 | Call x_2230 -> h_Call x_2230
    5532 | Mov (x_2233, x_2232, x_2231) -> h_Mov x_2233 x_2232 x_2231
     5526| Instruction x_21259 -> h_Instruction x_21259
     5527| Comment x_21260 -> h_Comment x_21260
     5528| Cost x_21261 -> h_Cost x_21261
     5529| Jmp x_21262 -> h_Jmp x_21262
     5530| Jnz (x_21265, x_21264, x_21263) -> h_Jnz x_21265 x_21264 x_21263
     5531| Call x_21266 -> h_Call x_21266
     5532| Mov (x_21269, x_21268, x_21267) -> h_Mov x_21269 x_21268 x_21267
    55335533
    55345534(** val pseudo_instruction_rect_Type1 :
     
    55405540    -> 'a1 **)
    55415541let rec pseudo_instruction_rect_Type1 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_Call h_Mov = function
    5542 | Instruction x_2242 -> h_Instruction x_2242
    5543 | Comment x_2243 -> h_Comment x_2243
    5544 | Cost x_2244 -> h_Cost x_2244
    5545 | Jmp x_2245 -> h_Jmp x_2245
    5546 | Jnz (x_2248, x_2247, x_2246) -> h_Jnz x_2248 x_2247 x_2246
    5547 | Call x_2249 -> h_Call x_2249
    5548 | Mov (x_2252, x_2251, x_2250) -> h_Mov x_2252 x_2251 x_2250
     5542| Instruction x_21278 -> h_Instruction x_21278
     5543| Comment x_21279 -> h_Comment x_21279
     5544| Cost x_21280 -> h_Cost x_21280
     5545| Jmp x_21281 -> h_Jmp x_21281
     5546| Jnz (x_21284, x_21283, x_21282) -> h_Jnz x_21284 x_21283 x_21282
     5547| Call x_21285 -> h_Call x_21285
     5548| Mov (x_21288, x_21287, x_21286) -> h_Mov x_21288 x_21287 x_21286
    55495549
    55505550(** val pseudo_instruction_rect_Type0 :
     
    55565556    -> 'a1 **)
    55575557let rec pseudo_instruction_rect_Type0 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_Call h_Mov = function
    5558 | Instruction x_2261 -> h_Instruction x_2261
    5559 | Comment x_2262 -> h_Comment x_2262
    5560 | Cost x_2263 -> h_Cost x_2263
    5561 | Jmp x_2264 -> h_Jmp x_2264
    5562 | Jnz (x_2267, x_2266, x_2265) -> h_Jnz x_2267 x_2266 x_2265
    5563 | Call x_2268 -> h_Call x_2268
    5564 | Mov (x_2271, x_2270, x_2269) -> h_Mov x_2271 x_2270 x_2269
     5558| Instruction x_21297 -> h_Instruction x_21297
     5559| Comment x_21298 -> h_Comment x_21298
     5560| Cost x_21299 -> h_Cost x_21299
     5561| Jmp x_21300 -> h_Jmp x_21300
     5562| Jnz (x_21303, x_21302, x_21301) -> h_Jnz x_21303 x_21302 x_21301
     5563| Call x_21304 -> h_Call x_21304
     5564| Mov (x_21307, x_21306, x_21305) -> h_Mov x_21307 x_21306 x_21305
    55655565
    55665566(** val pseudo_instruction_inv_rect_Type4 :
     
    57785778    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    57795779    pseudo_assembly_program -> 'a1 **)
    5780 let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_2395 =
     5780let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_21431 =
    57815781  let { preamble = preamble0; code = code0; renamed_symbols =
    5782     renamed_symbols0; final_label = final_label0 } = x_2395
     5782    renamed_symbols0; final_label = final_label0 } = x_21431
    57835783  in
    57845784  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    57905790    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    57915791    pseudo_assembly_program -> 'a1 **)
    5792 let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_2397 =
     5792let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_21433 =
    57935793  let { preamble = preamble0; code = code0; renamed_symbols =
    5794     renamed_symbols0; final_label = final_label0 } = x_2397
     5794    renamed_symbols0; final_label = final_label0 } = x_21433
    57955795  in
    57965796  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58025802    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58035803    pseudo_assembly_program -> 'a1 **)
    5804 let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_2399 =
     5804let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_21435 =
    58055805  let { preamble = preamble0; code = code0; renamed_symbols =
    5806     renamed_symbols0; final_label = final_label0 } = x_2399
     5806    renamed_symbols0; final_label = final_label0 } = x_21435
    58075807  in
    58085808  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58145814    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58155815    pseudo_assembly_program -> 'a1 **)
    5816 let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_2401 =
     5816let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_21437 =
    58175817  let { preamble = preamble0; code = code0; renamed_symbols =
    5818     renamed_symbols0; final_label = final_label0 } = x_2401
     5818    renamed_symbols0; final_label = final_label0 } = x_21437
    58195819  in
    58205820  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58265826    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58275827    pseudo_assembly_program -> 'a1 **)
    5828 let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_2403 =
     5828let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_21439 =
    58295829  let { preamble = preamble0; code = code0; renamed_symbols =
    5830     renamed_symbols0; final_label = final_label0 } = x_2403
     5830    renamed_symbols0; final_label = final_label0 } = x_21439
    58315831  in
    58325832  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58385838    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58395839    pseudo_assembly_program -> 'a1 **)
    5840 let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_2405 =
     5840let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_21441 =
    58415841  let { preamble = preamble0; code = code0; renamed_symbols =
    5842     renamed_symbols0; final_label = final_label0 } = x_2405
     5842    renamed_symbols0; final_label = final_label0 } = x_21441
    58435843  in
    58445844  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    59685968    costlabel_map -> symboltable_type -> BitVector.word -> __ -> 'a1) ->
    59695969    labelled_object_code -> 'a1 **)
    5970 let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_2421 =
     5970let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_21457 =
    59715971  let { oc = oc0; cm = cm0; costlabels = costlabels0; symboltable =
    5972     symboltable0; final_pc = final_pc0 } = x_2421
     5972    symboltable0; final_pc = final_pc0 } = x_21457
    59735973  in
    59745974  h_mk_labelled_object_code oc0 cm0 __ costlabels0 symboltable0 final_pc0 __
     
    59785978    costlabel_map -> symboltable_type -> BitVector.word -> __ -> 'a1) ->
    59795979    labelled_object_code -> 'a1 **)
    5980 let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_2423 =
     5980let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_21459 =
    59815981  let { oc = oc0; cm = cm0; costlabels = costlabels0; symboltable =
    5982     symboltable0; final_pc = final_pc0 } = x_2423
     5982    symboltable0; final_pc = final_pc0 } = x_21459
    59835983  in
    59845984  h_mk_labelled_object_code oc0 cm0 __ costlabels0 symboltable0 final_pc0 __
     
    59885988    costlabel_map -> symboltable_type -> BitVector.word -> __ -> 'a1) ->
    59895989    labelled_object_code -> 'a1 **)
    5990 let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_2425 =
     5990let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_21461 =
    59915991  let { oc = oc0; cm = cm0; costlabels = costlabels0; symboltable =
    5992     symboltable0; final_pc = final_pc0 } = x_2425
     5992    symboltable0; final_pc = final_pc0 } = x_21461
    59935993  in
    59945994  h_mk_labelled_object_code oc0 cm0 __ costlabels0 symboltable0 final_pc0 __
     
    59985998    costlabel_map -> symboltable_type -> BitVector.word -> __ -> 'a1) ->
    59995999    labelled_object_code -> 'a1 **)
    6000 let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_2427 =
     6000let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_21463 =
    60016001  let { oc = oc0; cm = cm0; costlabels = costlabels0; symboltable =
    6002     symboltable0; final_pc = final_pc0 } = x_2427
     6002    symboltable0; final_pc = final_pc0 } = x_21463
    60036003  in
    60046004  h_mk_labelled_object_code oc0 cm0 __ costlabels0 symboltable0 final_pc0 __
     
    60086008    costlabel_map -> symboltable_type -> BitVector.word -> __ -> 'a1) ->
    60096009    labelled_object_code -> 'a1 **)
    6010 let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_2429 =
     6010let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_21465 =
    60116011  let { oc = oc0; cm = cm0; costlabels = costlabels0; symboltable =
    6012     symboltable0; final_pc = final_pc0 } = x_2429
     6012    symboltable0; final_pc = final_pc0 } = x_21465
    60136013  in
    60146014  h_mk_labelled_object_code oc0 cm0 __ costlabels0 symboltable0 final_pc0 __
     
    60186018    costlabel_map -> symboltable_type -> BitVector.word -> __ -> 'a1) ->
    60196019    labelled_object_code -> 'a1 **)
    6020 let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_2431 =
     6020let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_21467 =
    60216021  let { oc = oc0; cm = cm0; costlabels = costlabels0; symboltable =
    6022     symboltable0; final_pc = final_pc0 } = x_2431
     6022    symboltable0; final_pc = final_pc0 } = x_21467
    60236023  in
    60246024  h_mk_labelled_object_code oc0 cm0 __ costlabels0 symboltable0 final_pc0 __
  • extracted/aSMCosts.ml

    r3043 r3059  
    502502   | Nat.S program_size' ->
    503503     (fun _ ->
    504        (let { Types.fst = eta168; Types.snd = ticks } =
     504       (let { Types.fst = eta31464; Types.snd = ticks } =
    505505          Fetch.fetch prog.ASM.cm program_counter'
    506506        in
    507507       let { Types.fst = instruction; Types.snd = program_counter'' } =
    508          eta168
     508         eta31464
    509509       in
    510510       (fun _ ->
  • extracted/backEndOps.ml

    r3043 r3059  
    402402    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    403403    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    404 let rec eval_rect_Type4 h_mk_Eval x_16364 =
    405   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_16364 in
     404let rec eval_rect_Type4 h_mk_Eval x_16308 =
     405  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_16308 in
    406406  h_mk_Eval opaccs0 op4 op5
    407407
     
    411411    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    412412    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    413 let rec eval_rect_Type5 h_mk_Eval x_16366 =
    414   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_16366 in
     413let rec eval_rect_Type5 h_mk_Eval x_16310 =
     414  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_16310 in
    415415  h_mk_Eval opaccs0 op4 op5
    416416
     
    420420    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    421421    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    422 let rec eval_rect_Type3 h_mk_Eval x_16368 =
    423   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_16368 in
     422let rec eval_rect_Type3 h_mk_Eval x_16312 =
     423  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_16312 in
    424424  h_mk_Eval opaccs0 op4 op5
    425425
     
    429429    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    430430    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    431 let rec eval_rect_Type2 h_mk_Eval x_16370 =
    432   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_16370 in
     431let rec eval_rect_Type2 h_mk_Eval x_16314 =
     432  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_16314 in
    433433  h_mk_Eval opaccs0 op4 op5
    434434
     
    438438    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    439439    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    440 let rec eval_rect_Type1 h_mk_Eval x_16372 =
    441   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_16372 in
     440let rec eval_rect_Type1 h_mk_Eval x_16316 =
     441  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_16316 in
    442442  h_mk_Eval opaccs0 op4 op5
    443443
     
    447447    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    448448    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    449 let rec eval_rect_Type0 h_mk_Eval x_16374 =
    450   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_16374 in
     449let rec eval_rect_Type0 h_mk_Eval x_16318 =
     450  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_16318 in
    451451  h_mk_Eval opaccs0 op4 op5
    452452
  • extracted/bind_new.ml

    r3043 r3059  
    3535    ('a1, 'a2) bind_new -> 'a3 **)
    3636let rec bind_new_rect_Type4 h_bret h_bnew = function
    37 | Bret x_18260 -> h_bret x_18260
    38 | Bnew x_18262 ->
    39   h_bnew x_18262 (fun x_18261 ->
    40     bind_new_rect_Type4 h_bret h_bnew (x_18262 x_18261))
     37| Bret x_18204 -> h_bret x_18204
     38| Bnew x_18206 ->
     39  h_bnew x_18206 (fun x_18205 ->
     40    bind_new_rect_Type4 h_bret h_bnew (x_18206 x_18205))
    4141
    4242(** val bind_new_rect_Type3 :
     
    4444    ('a1, 'a2) bind_new -> 'a3 **)
    4545let rec bind_new_rect_Type3 h_bret h_bnew = function
    46 | Bret x_18272 -> h_bret x_18272
    47 | Bnew x_18274 ->
    48   h_bnew x_18274 (fun x_18273 ->
    49     bind_new_rect_Type3 h_bret h_bnew (x_18274 x_18273))
     46| Bret x_18216 -> h_bret x_18216
     47| Bnew x_18218 ->
     48  h_bnew x_18218 (fun x_18217 ->
     49    bind_new_rect_Type3 h_bret h_bnew (x_18218 x_18217))
    5050
    5151(** val bind_new_rect_Type2 :
     
    5353    ('a1, 'a2) bind_new -> 'a3 **)
    5454let rec bind_new_rect_Type2 h_bret h_bnew = function
    55 | Bret x_18278 -> h_bret x_18278
    56 | Bnew x_18280 ->
    57   h_bnew x_18280 (fun x_18279 ->
    58     bind_new_rect_Type2 h_bret h_bnew (x_18280 x_18279))
     55| Bret x_18222 -> h_bret x_18222
     56| Bnew x_18224 ->
     57  h_bnew x_18224 (fun x_18223 ->
     58    bind_new_rect_Type2 h_bret h_bnew (x_18224 x_18223))
    5959
    6060(** val bind_new_rect_Type1 :
     
    6262    ('a1, 'a2) bind_new -> 'a3 **)
    6363let rec bind_new_rect_Type1 h_bret h_bnew = function
    64 | Bret x_18284 -> h_bret x_18284
    65 | Bnew x_18286 ->
    66   h_bnew x_18286 (fun x_18285 ->
    67     bind_new_rect_Type1 h_bret h_bnew (x_18286 x_18285))
     64| Bret x_18228 -> h_bret x_18228
     65| Bnew x_18230 ->
     66  h_bnew x_18230 (fun x_18229 ->
     67    bind_new_rect_Type1 h_bret h_bnew (x_18230 x_18229))
    6868
    6969(** val bind_new_rect_Type0 :
     
    7171    ('a1, 'a2) bind_new -> 'a3 **)
    7272let rec bind_new_rect_Type0 h_bret h_bnew = function
    73 | Bret x_18290 -> h_bret x_18290
    74 | Bnew x_18292 ->
    75   h_bnew x_18292 (fun x_18291 ->
    76     bind_new_rect_Type0 h_bret h_bnew (x_18292 x_18291))
     73| Bret x_18234 -> h_bret x_18234
     74| Bnew x_18236 ->
     75  h_bnew x_18236 (fun x_18235 ->
     76    bind_new_rect_Type0 h_bret h_bnew (x_18236 x_18235))
    7777
    7878(** val bind_new_inv_rect_Type4 :
  • extracted/bitVectorTrie.ml

    r3043 r3059  
    4949    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    5050    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    51 let rec bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub x_14816 = function
    52 | Leaf x_14818 -> h_Leaf x_14818
    53 | Node (n, x_14820, x_14819) ->
    54   h_Node n x_14820 x_14819
    55     (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14820)
    56     (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14819)
     51let rec bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub x_14760 = function
     52| Leaf x_14762 -> h_Leaf x_14762
     53| Node (n, x_14764, x_14763) ->
     54  h_Node n x_14764 x_14763
     55    (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14764)
     56    (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14763)
    5757| Stub n -> h_Stub n
    5858
     
    6060    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    6161    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    62 let rec bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub x_14832 = function
    63 | Leaf x_14834 -> h_Leaf x_14834
    64 | Node (n, x_14836, x_14835) ->
    65   h_Node n x_14836 x_14835
    66     (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14836)
    67     (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14835)
     62let rec bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub x_14776 = function
     63| Leaf x_14778 -> h_Leaf x_14778
     64| Node (n, x_14780, x_14779) ->
     65  h_Node n x_14780 x_14779
     66    (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14780)
     67    (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14779)
    6868| Stub n -> h_Stub n
    6969
     
    7171    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    7272    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    73 let rec bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub x_14840 = function
    74 | Leaf x_14842 -> h_Leaf x_14842
    75 | Node (n, x_14844, x_14843) ->
    76   h_Node n x_14844 x_14843
    77     (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14844)
    78     (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14843)
     73let rec bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub x_14784 = function
     74| Leaf x_14786 -> h_Leaf x_14786
     75| Node (n, x_14788, x_14787) ->
     76  h_Node n x_14788 x_14787
     77    (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14788)
     78    (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14787)
    7979| Stub n -> h_Stub n
    8080
     
    8282    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    8383    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    84 let rec bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub x_14848 = function
    85 | Leaf x_14850 -> h_Leaf x_14850
    86 | Node (n, x_14852, x_14851) ->
    87   h_Node n x_14852 x_14851
    88     (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14852)
    89     (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14851)
     84let rec bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub x_14792 = function
     85| Leaf x_14794 -> h_Leaf x_14794
     86| Node (n, x_14796, x_14795) ->
     87  h_Node n x_14796 x_14795
     88    (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14796)
     89    (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14795)
    9090| Stub n -> h_Stub n
    9191
     
    9393    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    9494    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    95 let rec bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub x_14856 = function
    96 | Leaf x_14858 -> h_Leaf x_14858
    97 | Node (n, x_14860, x_14859) ->
    98   h_Node n x_14860 x_14859
    99     (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14860)
    100     (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14859)
     95let rec bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub x_14800 = function
     96| Leaf x_14802 -> h_Leaf x_14802
     97| Node (n, x_14804, x_14803) ->
     98  h_Node n x_14804 x_14803
     99    (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14804)
     100    (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14803)
    101101| Stub n -> h_Stub n
    102102
  • extracted/cminor_semantics.ml

    r3043 r3059  
    123123let rec cont_rect_Type4 h_Kend h_Kseq h_Kblock = function
    124124| Kend -> h_Kend
    125 | Kseq (x_218, x_217) ->
    126   h_Kseq x_218 x_217 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_217)
    127 | Kblock x_219 ->
    128   h_Kblock x_219 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_219)
     125| Kseq (x_23729, x_23728) ->
     126  h_Kseq x_23729 x_23728 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_23728)
     127| Kblock x_23730 ->
     128  h_Kblock x_23730 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_23730)
    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_232, x_231) ->
    136   h_Kseq x_232 x_231 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_231)
    137 | Kblock x_233 ->
    138   h_Kblock x_233 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_233)
     135| Kseq (x_23743, x_23742) ->
     136  h_Kseq x_23743 x_23742 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_23742)
     137| Kblock x_23744 ->
     138  h_Kblock x_23744 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_23744)
    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_239, x_238) ->
    146   h_Kseq x_239 x_238 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_238)
    147 | Kblock x_240 ->
    148   h_Kblock x_240 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_240)
     145| Kseq (x_23750, x_23749) ->
     146  h_Kseq x_23750 x_23749 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_23749)
     147| Kblock x_23751 ->
     148  h_Kblock x_23751 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_23751)
    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_246, x_245) ->
    156   h_Kseq x_246 x_245 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_245)
    157 | Kblock x_247 ->
    158   h_Kblock x_247 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_247)
     155| Kseq (x_23757, x_23756) ->
     156  h_Kseq x_23757 x_23756 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_23756)
     157| Kblock x_23758 ->
     158  h_Kblock x_23758 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_23758)
    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_253, x_252) ->
    166   h_Kseq x_253 x_252 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_252)
    167 | Kblock x_254 ->
    168   h_Kblock x_254 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_254)
     165| Kseq (x_23764, x_23763) ->
     166  h_Kseq x_23764 x_23763 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_23763)
     167| Kblock x_23765 ->
     168  h_Kblock x_23765 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_23765)
    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_313, en, k, x_309) ->
    229   h_Scall dest f x_313 en __ __ k __ x_309
    230     (stack_rect_Type4 h_SStop h_Scall x_309)
     228| Scall (dest, f, x_23824, en, k, x_23820) ->
     229  h_Scall dest f x_23824 en __ __ k __ x_23820
     230    (stack_rect_Type4 h_SStop h_Scall x_23820)
    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_329, en, k, x_325) ->
    239   h_Scall dest f x_329 en __ __ k __ x_325
    240     (stack_rect_Type3 h_SStop h_Scall x_325)
     238| Scall (dest, f, x_23840, en, k, x_23836) ->
     239  h_Scall dest f x_23840 en __ __ k __ x_23836
     240    (stack_rect_Type3 h_SStop h_Scall x_23836)
    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_337, en, k, x_333) ->
    249   h_Scall dest f x_337 en __ __ k __ x_333
    250     (stack_rect_Type2 h_SStop h_Scall x_333)
     248| Scall (dest, f, x_23848, en, k, x_23844) ->
     249  h_Scall dest f x_23848 en __ __ k __ x_23844
     250    (stack_rect_Type2 h_SStop h_Scall x_23844)
    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_345, en, k, x_341) ->
    259   h_Scall dest f x_345 en __ __ k __ x_341
    260     (stack_rect_Type1 h_SStop h_Scall x_341)
     258| Scall (dest, f, x_23856, en, k, x_23852) ->
     259  h_Scall dest f x_23856 en __ __ k __ x_23852
     260    (stack_rect_Type1 h_SStop h_Scall x_23852)
    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_353, en, k, x_349) ->
    269   h_Scall dest f x_353 en __ __ k __ x_349
    270     (stack_rect_Type0 h_SStop h_Scall x_349)
     268| Scall (dest, f, x_23864, en, k, x_23860) ->
     269  h_Scall dest f x_23864 en __ __ k __ x_23860
     270    (stack_rect_Type0 h_SStop h_Scall x_23860)
    271271
    272272(** val stack_inv_rect_Type4 :
  • extracted/cminor_syntax.ml

    r3043 r3059  
    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_13798 = function
    116 | Id (t, x_13800) -> h_Id t x_13800
    117 | Cst (t, x_13801) -> h_Cst t x_13801
    118 | Op1 (t, t', x_13803, x_13802) ->
    119   h_Op1 t t' x_13803 x_13802
    120     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13802)
    121 | Op2 (t1, t2, t', x_13806, x_13805, x_13804) ->
    122   h_Op2 t1 t2 t' x_13806 x_13805 x_13804
    123     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13805)
    124     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13804)
    125 | Mem (t, x_13807) ->
    126   h_Mem t x_13807
     115let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13742 = function
     116| Id (t, x_13744) -> h_Id t x_13744
     117| Cst (t, x_13745) -> h_Cst t x_13745
     118| Op1 (t, t', x_13747, x_13746) ->
     119  h_Op1 t t' x_13747 x_13746
     120    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13746)
     121| Op2 (t1, t2, t', x_13750, x_13749, x_13748) ->
     122  h_Op2 t1 t2 t' x_13750 x_13749 x_13748
     123    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13749)
     124    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13748)
     125| Mem (t, x_13751) ->
     126  h_Mem t x_13751
    127127    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    128       x_13807)
    129 | Cond (sz, sg, t, x_13810, x_13809, x_13808) ->
    130   h_Cond sz sg t x_13810 x_13809 x_13808
     128      x_13751)
     129| Cond (sz, sg, t, x_13754, x_13753, x_13752) ->
     130  h_Cond sz sg t x_13754 x_13753 x_13752
    131131    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    132       (sz, sg)) x_13810)
    133     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13809)
    134     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13808)
    135 | Ecost (t, x_13812, x_13811) ->
    136   h_Ecost t x_13812 x_13811
    137     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13811)
     132      (sz, sg)) x_13754)
     133    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13753)
     134    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13752)
     135| Ecost (t, x_13756, x_13755) ->
     136  h_Ecost t x_13756 x_13755
     137    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13755)
    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_13842 = function
    148 | Id (t, x_13844) -> h_Id t x_13844
    149 | Cst (t, x_13845) -> h_Cst t x_13845
    150 | Op1 (t, t', x_13847, x_13846) ->
    151   h_Op1 t t' x_13847 x_13846
    152     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13846)
    153 | Op2 (t1, t2, t', x_13850, x_13849, x_13848) ->
    154   h_Op2 t1 t2 t' x_13850 x_13849 x_13848
    155     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13849)
    156     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13848)
    157 | Mem (t, x_13851) ->
    158   h_Mem t x_13851
     147let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13786 = function
     148| Id (t, x_13788) -> h_Id t x_13788
     149| Cst (t, x_13789) -> h_Cst t x_13789
     150| Op1 (t, t', x_13791, x_13790) ->
     151  h_Op1 t t' x_13791 x_13790
     152    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13790)
     153| Op2 (t1, t2, t', x_13794, x_13793, x_13792) ->
     154  h_Op2 t1 t2 t' x_13794 x_13793 x_13792
     155    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13793)
     156    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13792)
     157| Mem (t, x_13795) ->
     158  h_Mem t x_13795
    159159    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    160       x_13851)
    161 | Cond (sz, sg, t, x_13854, x_13853, x_13852) ->
    162   h_Cond sz sg t x_13854 x_13853 x_13852
     160      x_13795)
     161| Cond (sz, sg, t, x_13798, x_13797, x_13796) ->
     162  h_Cond sz sg t x_13798 x_13797 x_13796
    163163    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    164       (sz, sg)) x_13854)
    165     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13853)
    166     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13852)
    167 | Ecost (t, x_13856, x_13855) ->
    168   h_Ecost t x_13856 x_13855
    169     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13855)
     164      (sz, sg)) x_13798)
     165    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13797)
     166    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13796)
     167| Ecost (t, x_13800, x_13799) ->
     168  h_Ecost t x_13800 x_13799
     169    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13799)
    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_13864 = function
    180 | Id (t, x_13866) -> h_Id t x_13866
    181 | Cst (t, x_13867) -> h_Cst t x_13867
    182 | Op1 (t, t', x_13869, x_13868) ->
    183   h_Op1 t t' x_13869 x_13868
    184     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13868)
    185 | Op2 (t1, t2, t', x_13872, x_13871, x_13870) ->
    186   h_Op2 t1 t2 t' x_13872 x_13871 x_13870
    187     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13871)
    188     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13870)
    189 | Mem (t, x_13873) ->
    190   h_Mem t x_13873
     179let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13808 = function
     180| Id (t, x_13810) -> h_Id t x_13810
     181| Cst (t, x_13811) -> h_Cst t x_13811
     182| Op1 (t, t', x_13813, x_13812) ->
     183  h_Op1 t t' x_13813 x_13812
     184    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13812)
     185| Op2 (t1, t2, t', x_13816, x_13815, x_13814) ->
     186  h_Op2 t1 t2 t' x_13816 x_13815 x_13814
     187    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13815)
     188    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13814)
     189| Mem (t, x_13817) ->
     190  h_Mem t x_13817
    191191    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    192       x_13873)
    193 | Cond (sz, sg, t, x_13876, x_13875, x_13874) ->
    194   h_Cond sz sg t x_13876 x_13875 x_13874
     192      x_13817)
     193| Cond (sz, sg, t, x_13820, x_13819, x_13818) ->
     194  h_Cond sz sg t x_13820 x_13819 x_13818
    195195    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    196       (sz, sg)) x_13876)
    197     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13875)
    198     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13874)
    199 | Ecost (t, x_13878, x_13877) ->
    200   h_Ecost t x_13878 x_13877
    201     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13877)
     196      (sz, sg)) x_13820)
     197    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13819)
     198    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13818)
     199| Ecost (t, x_13822, x_13821) ->
     200  h_Ecost t x_13822 x_13821
     201    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13821)
    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_13886 = function
    212 | Id (t, x_13888) -> h_Id t x_13888
    213 | Cst (t, x_13889) -> h_Cst t x_13889
    214 | Op1 (t, t', x_13891, x_13890) ->
    215   h_Op1 t t' x_13891 x_13890
    216     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13890)
    217 | Op2 (t1, t2, t', x_13894, x_13893, x_13892) ->
    218   h_Op2 t1 t2 t' x_13894 x_13893 x_13892
    219     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13893)
    220     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13892)
    221 | Mem (t, x_13895) ->
    222   h_Mem t x_13895
     211let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13830 = function
     212| Id (t, x_13832) -> h_Id t x_13832
     213| Cst (t, x_13833) -> h_Cst t x_13833
     214| Op1 (t, t', x_13835, x_13834) ->
     215  h_Op1 t t' x_13835 x_13834
     216    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13834)
     217| Op2 (t1, t2, t', x_13838, x_13837, x_13836) ->
     218  h_Op2 t1 t2 t' x_13838 x_13837 x_13836
     219    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13837)
     220    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13836)
     221| Mem (t, x_13839) ->
     222  h_Mem t x_13839
    223223    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    224       x_13895)
    225 | Cond (sz, sg, t, x_13898, x_13897, x_13896) ->
    226   h_Cond sz sg t x_13898 x_13897 x_13896
     224      x_13839)
     225| Cond (sz, sg, t, x_13842, x_13841, x_13840) ->
     226  h_Cond sz sg t x_13842 x_13841 x_13840
    227227    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    228       (sz, sg)) x_13898)
    229     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13897)
    230     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13896)
    231 | Ecost (t, x_13900, x_13899) ->
    232   h_Ecost t x_13900 x_13899
    233     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13899)
     228      (sz, sg)) x_13842)
     229    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13841)
     230    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13840)
     231| Ecost (t, x_13844, x_13843) ->
     232  h_Ecost t x_13844 x_13843
     233    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13843)
    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_13908 = function
    244 | Id (t, x_13910) -> h_Id t x_13910
    245 | Cst (t, x_13911) -> h_Cst t x_13911
    246 | Op1 (t, t', x_13913, x_13912) ->
    247   h_Op1 t t' x_13913 x_13912
    248     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13912)
    249 | Op2 (t1, t2, t', x_13916, x_13915, x_13914) ->
    250   h_Op2 t1 t2 t' x_13916 x_13915 x_13914
    251     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13915)
    252     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13914)
    253 | Mem (t, x_13917) ->
    254   h_Mem t x_13917
     243let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13852 = function
     244| Id (t, x_13854) -> h_Id t x_13854
     245| Cst (t, x_13855) -> h_Cst t x_13855
     246| Op1 (t, t', x_13857, x_13856) ->
     247  h_Op1 t t' x_13857 x_13856
     248    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13856)
     249| Op2 (t1, t2, t', x_13860, x_13859, x_13858) ->
     250  h_Op2 t1 t2 t' x_13860 x_13859 x_13858
     251    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13859)
     252    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13858)
     253| Mem (t, x_13861) ->
     254  h_Mem t x_13861
    255255    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    256       x_13917)
    257 | Cond (sz, sg, t, x_13920, x_13919, x_13918) ->
    258   h_Cond sz sg t x_13920 x_13919 x_13918
     256      x_13861)
     257| Cond (sz, sg, t, x_13864, x_13863, x_13862) ->
     258  h_Cond sz sg t x_13864 x_13863 x_13862
    259259    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    260       (sz, sg)) x_13920)
    261     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13919)
    262     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13918)
    263 | Ecost (t, x_13922, x_13921) ->
    264   h_Ecost t x_13922 x_13921
    265     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13921)
     260      (sz, sg)) x_13864)
     261    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13863)
     262    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13862)
     263| Ecost (t, x_13866, x_13865) ->
     264  h_Ecost t x_13866 x_13865
     265    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13865)
    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_14093, x_14092) -> h_St_assign t x_14093 x_14092
    376 | St_store (t, x_14095, x_14094) -> h_St_store t x_14095 x_14094
    377 | St_call (x_14098, x_14097, x_14096) -> h_St_call x_14098 x_14097 x_14096
    378 | St_seq (x_14100, x_14099) ->
    379   h_St_seq x_14100 x_14099
     375| St_assign (t, x_14037, x_14036) -> h_St_assign t x_14037 x_14036
     376| St_store (t, x_14039, x_14038) -> h_St_store t x_14039 x_14038
     377| St_call (x_14042, x_14041, x_14040) -> h_St_call x_14042 x_14041 x_14040
     378| St_seq (x_14044, x_14043) ->
     379  h_St_seq x_14044 x_14043
    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_14100)
     381      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14044)
    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_14099)
    384 | St_ifthenelse (sz, sg, x_14103, x_14102, x_14101) ->
    385   h_St_ifthenelse sz sg x_14103 x_14102 x_14101
     383      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14043)
     384| St_ifthenelse (sz, sg, x_14047, x_14046, x_14045) ->
     385  h_St_ifthenelse sz sg x_14047 x_14046 x_14045
    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_14102)
     387      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14046)
    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_14101)
    390 | St_return x_14104 -> h_St_return x_14104
    391 | St_label (x_14106, x_14105) ->
    392   h_St_label x_14106 x_14105
     389      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14045)
     390| St_return x_14048 -> h_St_return x_14048
     391| St_label (x_14050, x_14049) ->
     392  h_St_label x_14050 x_14049
    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_14105)
    395 | St_goto x_14107 -> h_St_goto x_14107
    396 | St_cost (x_14109, x_14108) ->
    397   h_St_cost x_14109 x_14108
     394      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14049)
     395| St_goto x_14051 -> h_St_goto x_14051
     396| St_cost (x_14053, x_14052) ->
     397  h_St_cost x_14053 x_14052
    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_14108)
     399      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14052)
    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_14151, x_14150) -> h_St_assign t x_14151 x_14150
    413 | St_store (t, x_14153, x_14152) -> h_St_store t x_14153 x_14152
    414 | St_call (x_14156, x_14155, x_14154) -> h_St_call x_14156 x_14155 x_14154
    415 | St_seq (x_14158, x_14157) ->
    416   h_St_seq x_14158 x_14157
     412| St_assign (t, x_14095, x_14094) -> h_St_assign t x_14095 x_14094
     413| St_store (t, x_14097, x_14096) -> h_St_store t x_14097 x_14096
     414| St_call (x_14100, x_14099, x_14098) -> h_St_call x_14100 x_14099 x_14098
     415| St_seq (x_14102, x_14101) ->
     416  h_St_seq x_14102 x_14101
    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_14158)
     418      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14102)
    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_14157)
    421 | St_ifthenelse (sz, sg, x_14161, x_14160, x_14159) ->
    422   h_St_ifthenelse sz sg x_14161 x_14160 x_14159
     420      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14101)
     421| St_ifthenelse (sz, sg, x_14105, x_14104, x_14103) ->
     422  h_St_ifthenelse sz sg x_14105 x_14104 x_14103
    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_14160)
     424      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14104)
    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_14159)
    427 | St_return x_14162 -> h_St_return x_14162
    428 | St_label (x_14164, x_14163) ->
    429   h_St_label x_14164 x_14163
     426      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14103)
     427| St_return x_14106 -> h_St_return x_14106
     428| St_label (x_14108, x_14107) ->
     429  h_St_label x_14108 x_14107
    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_14163)
    432 | St_goto x_14165 -> h_St_goto x_14165
    433 | St_cost (x_14167, x_14166) ->
    434   h_St_cost x_14167 x_14166
     431      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14107)
     432| St_goto x_14109 -> h_St_goto x_14109
     433| St_cost (x_14111, x_14110) ->
     434  h_St_cost x_14111 x_14110
    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_14166)
     436      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14110)
    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_14180, x_14179) -> h_St_assign t x_14180 x_14179
    450 | St_store (t, x_14182, x_14181) -> h_St_store t x_14182 x_14181
    451 | St_call (x_14185, x_14184, x_14183) -> h_St_call x_14185 x_14184 x_14183
    452 | St_seq (x_14187, x_14186) ->
    453   h_St_seq x_14187 x_14186
     449| St_assign (t, x_14124, x_14123) -> h_St_assign t x_14124 x_14123
     450| St_store (t, x_14126, x_14125) -> h_St_store t x_14126 x_14125
     451| St_call (x_14129, x_14128, x_14127) -> h_St_call x_14129 x_14128 x_14127
     452| St_seq (x_14131, x_14130) ->
     453  h_St_seq x_14131 x_14130
    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_14187)
     455      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14131)
    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_14186)
    458 | St_ifthenelse (sz, sg, x_14190, x_14189, x_14188) ->
    459   h_St_ifthenelse sz sg x_14190 x_14189 x_14188
     457      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14130)
     458| St_ifthenelse (sz, sg, x_14134, x_14133, x_14132) ->
     459  h_St_ifthenelse sz sg x_14134 x_14133 x_14132
    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_14189)
     461      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14133)
    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_14188)
    464 | St_return x_14191 -> h_St_return x_14191
    465 | St_label (x_14193, x_14192) ->
    466   h_St_label x_14193 x_14192
     463      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14132)
     464| St_return x_14135 -> h_St_return x_14135
     465| St_label (x_14137, x_14136) ->
     466  h_St_label x_14137 x_14136
    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_14192)
    469 | St_goto x_14194 -> h_St_goto x_14194
    470 | St_cost (x_14196, x_14195) ->
    471   h_St_cost x_14196 x_14195
     468      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14136)
     469| St_goto x_14138 -> h_St_goto x_14138
     470| St_cost (x_14140, x_14139) ->
     471  h_St_cost x_14140 x_14139
    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_14195)
     473      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14139)
    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_14209, x_14208) -> h_St_assign t x_14209 x_14208
    487 | St_store (t, x_14211, x_14210) -> h_St_store t x_14211 x_14210
    488 | St_call (x_14214, x_14213, x_14212) -> h_St_call x_14214 x_14213 x_14212
    489 | St_seq (x_14216, x_14215) ->
    490   h_St_seq x_14216 x_14215
     486| St_assign (t, x_14153, x_14152) -> h_St_assign t x_14153 x_14152
     487| St_store (t, x_14155, x_14154) -> h_St_store t x_14155 x_14154
     488| St_call (x_14158, x_14157, x_14156) -> h_St_call x_14158 x_14157 x_14156
     489| St_seq (x_14160, x_14159) ->
     490  h_St_seq x_14160 x_14159
    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_14216)
     492      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14160)
    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_14215)
    495 | St_ifthenelse (sz, sg, x_14219, x_14218, x_14217) ->
    496   h_St_ifthenelse sz sg x_14219 x_14218 x_14217
     494      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14159)
     495| St_ifthenelse (sz, sg, x_14163, x_14162, x_14161) ->
     496  h_St_ifthenelse sz sg x_14163 x_14162 x_14161
    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_14218)
     498      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14162)
    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_14217)
    501 | St_return x_14220 -> h_St_return x_14220
    502 | St_label (x_14222, x_14221) ->
    503   h_St_label x_14222 x_14221
     500      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14161)
     501| St_return x_14164 -> h_St_return x_14164
     502| St_label (x_14166, x_14165) ->
     503  h_St_label x_14166 x_14165
    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_14221)
    506 | St_goto x_14223 -> h_St_goto x_14223
    507 | St_cost (x_14225, x_14224) ->
    508   h_St_cost x_14225 x_14224
     505      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14165)
     506| St_goto x_14167 -> h_St_goto x_14167
     507| St_cost (x_14169, x_14168) ->
     508  h_St_cost x_14169 x_14168
    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_14224)
     510      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14168)
    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_14238, x_14237) -> h_St_assign t x_14238 x_14237
    524 | St_store (t, x_14240, x_14239) -> h_St_store t x_14240 x_14239
    525 | St_call (x_14243, x_14242, x_14241) -> h_St_call x_14243 x_14242 x_14241
    526 | St_seq (x_14245, x_14244) ->
    527   h_St_seq x_14245 x_14244
     523| St_assign (t, x_14182, x_14181) -> h_St_assign t x_14182 x_14181
     524| St_store (t, x_14184, x_14183) -> h_St_store t x_14184 x_14183
     525| St_call (x_14187, x_14186, x_14185) -> h_St_call x_14187 x_14186 x_14185
     526| St_seq (x_14189, x_14188) ->
     527  h_St_seq x_14189 x_14188
    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_14245)
     529      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14189)
    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_14244)
    532 | St_ifthenelse (sz, sg, x_14248, x_14247, x_14246) ->
    533   h_St_ifthenelse sz sg x_14248 x_14247 x_14246
     531      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14188)
     532| St_ifthenelse (sz, sg, x_14192, x_14191, x_14190) ->
     533  h_St_ifthenelse sz sg x_14192 x_14191 x_14190
    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_14247)
     535      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14191)
    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_14246)
    538 | St_return x_14249 -> h_St_return x_14249
    539 | St_label (x_14251, x_14250) ->
    540   h_St_label x_14251 x_14250
     537      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14190)
     538| St_return x_14193 -> h_St_return x_14193
     539| St_label (x_14195, x_14194) ->
     540  h_St_label x_14195 x_14194
    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_14250)
    543 | St_goto x_14252 -> h_St_goto x_14252
    544 | St_cost (x_14254, x_14253) ->
    545   h_St_cost x_14254 x_14253
     542      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14194)
     543| St_goto x_14196 -> h_St_goto x_14196
     544| St_cost (x_14198, x_14197) ->
     545  h_St_cost x_14198 x_14197
    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_14253)
     547      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14197)
    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_14549 =
     759let rec internal_function_rect_Type4 h_mk_internal_function x_14493 =
    760760  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    761     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14549
     761    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14493
    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_14551 =
     770let rec internal_function_rect_Type5 h_mk_internal_function x_14495 =
    771771  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    772     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14551
     772    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14495
    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_14553 =
     781let rec internal_function_rect_Type3 h_mk_internal_function x_14497 =
    782782  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    783     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14553
     783    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14497
    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_14555 =
     792let rec internal_function_rect_Type2 h_mk_internal_function x_14499 =
    793793  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    794     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14555
     794    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14499
    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_14557 =
     803let rec internal_function_rect_Type1 h_mk_internal_function x_14501 =
    804804  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    805     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14557
     805    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14501
    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_14559 =
     814let rec internal_function_rect_Type0 h_mk_internal_function x_14503 =
    815815  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    816     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14559
     816    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14503
    817817  in
    818818  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
  • extracted/compiler.ml

    r3043 r3059  
    8686
    8787open CexecInd
    88 
    89 open CexecSound
    9088
    9189open Casts
     
    469467(** val compute_fixpoint : Fixpoints.fixpoint_computer **)
    470468let compute_fixpoint = Compute_fixpoints.compute_fixpoint
    471 
     469 
    472470(** val colour_graph : Interference.coloured_graph_computer **)
    473471let colour_graph = Compute_colouring.colour_graph
     472 
     473
    474474
    475475open AssocList
     
    498498  let st0 = lookup_stack_cost (Joint.graph_params_to_params ERTL.eRTL) p1 in
    499499  let i1 = Obj.magic observe Ertl_pass { Types.fst = p1; Types.snd = st0 } in
    500   let { Types.fst = eta2; Types.snd = max_stack } =
     500  let { Types.fst = eta28675; Types.snd = max_stack } =
    501501    ERTLToLTL.ertl_to_ltl compute_fixpoint colour_graph p1
    502502  in
    503   let { Types.fst = p2; Types.snd = stack_cost } = eta2 in
     503  let { Types.fst = p2; Types.snd = stack_cost } = eta28675 in
    504504  let st1 = lookup_stack_cost (Joint.graph_params_to_params LTL.lTL) p2 in
    505505  let i2 = Obj.magic observe Ltl_pass { Types.fst = p2; Types.snd = st1 } in
     
    591591    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    592592    compiler_output -> 'a1 **)
    593 let rec compiler_output_rect_Type4 h_mk_compiler_output x_185 =
     593let rec compiler_output_rect_Type4 h_mk_compiler_output x_23441 =
    594594  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    595595    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    596     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_185
     596    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_23441
    597597  in
    598598  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    603603    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    604604    compiler_output -> 'a1 **)
    605 let rec compiler_output_rect_Type5 h_mk_compiler_output x_187 =
     605let rec compiler_output_rect_Type5 h_mk_compiler_output x_23443 =
    606606  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    607607    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    608     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_187
     608    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_23443
    609609  in
    610610  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    615615    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    616616    compiler_output -> 'a1 **)
    617 let rec compiler_output_rect_Type3 h_mk_compiler_output x_189 =
     617let rec compiler_output_rect_Type3 h_mk_compiler_output x_23445 =
    618618  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    619619    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    620     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_189
     620    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_23445
    621621  in
    622622  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    627627    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    628628    compiler_output -> 'a1 **)
    629 let rec compiler_output_rect_Type2 h_mk_compiler_output x_191 =
     629let rec compiler_output_rect_Type2 h_mk_compiler_output x_23447 =
    630630  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    631631    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    632     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_191
     632    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_23447
    633633  in
    634634  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    639639    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    640640    compiler_output -> 'a1 **)
    641 let rec compiler_output_rect_Type1 h_mk_compiler_output x_193 =
     641let rec compiler_output_rect_Type1 h_mk_compiler_output x_23449 =
    642642  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    643643    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    644     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_193
     644    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_23449
    645645  in
    646646  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    651651    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    652652    compiler_output -> 'a1 **)
    653 let rec compiler_output_rect_Type0 h_mk_compiler_output x_195 =
     653let rec compiler_output_rect_Type0 h_mk_compiler_output x_23451 =
    654654  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    655655    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    656     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_195
     656    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_23451
    657657  in
    658658  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
  • extracted/compiler.mli

    r3043 r3059  
    8686
    8787open CexecInd
    88 
    89 open CexecSound
    9088
    9189open Casts
  • extracted/eRTL.ml

    r3043 r3059  
    126126    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    127127let rec move_dst_rect_Type4 h_PSD h_HDW = function
    128 | PSD x_18555 -> h_PSD x_18555
    129 | HDW x_18556 -> h_HDW x_18556
     128| PSD x_18499 -> h_PSD x_18499
     129| HDW x_18500 -> h_HDW x_18500
    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_18560 -> h_PSD x_18560
    135 | HDW x_18561 -> h_HDW x_18561
     134| PSD x_18504 -> h_PSD x_18504
     135| HDW x_18505 -> h_HDW x_18505
    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_18565 -> h_PSD x_18565
    141 | HDW x_18566 -> h_HDW x_18566
     140| PSD x_18509 -> h_PSD x_18509
     141| HDW x_18510 -> h_HDW x_18510
    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_18570 -> h_PSD x_18570
    147 | HDW x_18571 -> h_HDW x_18571
     146| PSD x_18514 -> h_PSD x_18514
     147| HDW x_18515 -> h_HDW x_18515
    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_18575 -> h_PSD x_18575
    153 | HDW x_18576 -> h_HDW x_18576
     152| PSD x_18519 -> h_PSD x_18519
     153| HDW x_18520 -> h_HDW x_18520
    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_18580 -> h_PSD x_18580
    159 | HDW x_18581 -> h_HDW x_18581
     158| PSD x_18524 -> h_PSD x_18524
     159| HDW x_18525 -> h_HDW x_18525
    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_18620 -> h_ertl_frame_size x_18620
     354| Ertl_frame_size x_18564 -> h_ertl_frame_size x_18564
    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_18625 -> h_ertl_frame_size x_18625
     361| Ertl_frame_size x_18569 -> h_ertl_frame_size x_18569
    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_18630 -> h_ertl_frame_size x_18630
     368| Ertl_frame_size x_18574 -> h_ertl_frame_size x_18574
    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_18635 -> h_ertl_frame_size x_18635
     375| Ertl_frame_size x_18579 -> h_ertl_frame_size x_18579
    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_18640 -> h_ertl_frame_size x_18640
     382| Ertl_frame_size x_18584 -> h_ertl_frame_size x_18584
    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_18645 -> h_ertl_frame_size x_18645
     389| Ertl_frame_size x_18589 -> h_ertl_frame_size x_18589
    390390
    391391(** val ertl_seq_inv_rect_Type4 :
  • extracted/eRTLToLTL.ml

    r3043 r3059  
    179179    arg_decision -> 'a1 **)
    180180let rec arg_decision_rect_Type4 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    181 | Arg_decision_colour x_9 -> h_arg_decision_colour x_9
    182 | Arg_decision_spill x_10 -> h_arg_decision_spill x_10
    183 | Arg_decision_imm x_11 -> h_arg_decision_imm x_11
     181| Arg_decision_colour x_19045 -> h_arg_decision_colour x_19045
     182| Arg_decision_spill x_19046 -> h_arg_decision_spill x_19046
     183| Arg_decision_imm x_19047 -> h_arg_decision_imm x_19047
    184184
    185185(** val arg_decision_rect_Type5 :
     
    187187    arg_decision -> 'a1 **)
    188188let rec arg_decision_rect_Type5 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    189 | Arg_decision_colour x_16 -> h_arg_decision_colour x_16
    190 | Arg_decision_spill x_17 -> h_arg_decision_spill x_17
    191 | Arg_decision_imm x_18 -> h_arg_decision_imm x_18
     189| Arg_decision_colour x_19052 -> h_arg_decision_colour x_19052
     190| Arg_decision_spill x_19053 -> h_arg_decision_spill x_19053
     191| Arg_decision_imm x_19054 -> h_arg_decision_imm x_19054
    192192
    193193(** val arg_decision_rect_Type3 :
     
    195195    arg_decision -> 'a1 **)
    196196let rec arg_decision_rect_Type3 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    197 | Arg_decision_colour x_23 -> h_arg_decision_colour x_23
    198 | Arg_decision_spill x_24 -> h_arg_decision_spill x_24
    199 | Arg_decision_imm x_25 -> h_arg_decision_imm x_25
     197| Arg_decision_colour x_19059 -> h_arg_decision_colour x_19059
     198| Arg_decision_spill x_19060 -> h_arg_decision_spill x_19060
     199| Arg_decision_imm x_19061 -> h_arg_decision_imm x_19061
    200200
    201201(** val arg_decision_rect_Type2 :
     
    203203    arg_decision -> 'a1 **)
    204204let rec arg_decision_rect_Type2 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    205 | Arg_decision_colour x_30 -> h_arg_decision_colour x_30
    206 | Arg_decision_spill x_31 -> h_arg_decision_spill x_31
    207 | Arg_decision_imm x_32 -> h_arg_decision_imm x_32
     205| Arg_decision_colour x_19066 -> h_arg_decision_colour x_19066
     206| Arg_decision_spill x_19067 -> h_arg_decision_spill x_19067
     207| Arg_decision_imm x_19068 -> h_arg_decision_imm x_19068
    208208
    209209(** val arg_decision_rect_Type1 :
     
    211211    arg_decision -> 'a1 **)
    212212let rec arg_decision_rect_Type1 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    213 | Arg_decision_colour x_37 -> h_arg_decision_colour x_37
    214 | Arg_decision_spill x_38 -> h_arg_decision_spill x_38
    215 | Arg_decision_imm x_39 -> h_arg_decision_imm x_39
     213| Arg_decision_colour x_19073 -> h_arg_decision_colour x_19073
     214| Arg_decision_spill x_19074 -> h_arg_decision_spill x_19074
     215| Arg_decision_imm x_19075 -> h_arg_decision_imm x_19075
    216216
    217217(** val arg_decision_rect_Type0 :
     
    219219    arg_decision -> 'a1 **)
    220220let rec arg_decision_rect_Type0 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    221 | Arg_decision_colour x_44 -> h_arg_decision_colour x_44
    222 | Arg_decision_spill x_45 -> h_arg_decision_spill x_45
    223 | Arg_decision_imm x_46 -> h_arg_decision_imm x_46
     221| Arg_decision_colour x_19080 -> h_arg_decision_colour x_19080
     222| Arg_decision_spill x_19081 -> h_arg_decision_spill x_19081
     223| Arg_decision_imm x_19082 -> h_arg_decision_imm x_19082
    224224
    225225(** val arg_decision_inv_rect_Type4 :
  • extracted/extraMonads.ml

    r2829 r3059  
    198198    y
    199199
     200type monadGenRel =
     201| Mk_MonadGenRel
     202
     203(** val monadGenRel_rect_Type4 :
     204    Monad.monad -> Monad.monad -> (__ -> __ -> __ -> __ -> __ -> 'a1) ->
     205    monadGenRel -> 'a1 **)
     206let rec monadGenRel_rect_Type4 m1 m2 h_mk_MonadGenRel = function
     207| Mk_MonadGenRel -> h_mk_MonadGenRel __ __ __ __ __
     208
     209(** val monadGenRel_rect_Type5 :
     210    Monad.monad -> Monad.monad -> (__ -> __ -> __ -> __ -> __ -> 'a1) ->
     211    monadGenRel -> 'a1 **)
     212let rec monadGenRel_rect_Type5 m1 m2 h_mk_MonadGenRel = function
     213| Mk_MonadGenRel -> h_mk_MonadGenRel __ __ __ __ __
     214
     215(** val monadGenRel_rect_Type3 :
     216    Monad.monad -> Monad.monad -> (__ -> __ -> __ -> __ -> __ -> 'a1) ->
     217    monadGenRel -> 'a1 **)
     218let rec monadGenRel_rect_Type3 m1 m2 h_mk_MonadGenRel = function
     219| Mk_MonadGenRel -> h_mk_MonadGenRel __ __ __ __ __
     220
     221(** val monadGenRel_rect_Type2 :
     222    Monad.monad -> Monad.monad -> (__ -> __ -> __ -> __ -> __ -> 'a1) ->
     223    monadGenRel -> 'a1 **)
     224let rec monadGenRel_rect_Type2 m1 m2 h_mk_MonadGenRel = function
     225| Mk_MonadGenRel -> h_mk_MonadGenRel __ __ __ __ __
     226
     227(** val monadGenRel_rect_Type1 :
     228    Monad.monad -> Monad.monad -> (__ -> __ -> __ -> __ -> __ -> 'a1) ->
     229    monadGenRel -> 'a1 **)
     230let rec monadGenRel_rect_Type1 m1 m2 h_mk_MonadGenRel = function
     231| Mk_MonadGenRel -> h_mk_MonadGenRel __ __ __ __ __
     232
     233(** val monadGenRel_rect_Type0 :
     234    Monad.monad -> Monad.monad -> (__ -> __ -> __ -> __ -> __ -> 'a1) ->
     235    monadGenRel -> 'a1 **)
     236let rec monadGenRel_rect_Type0 m1 m2 h_mk_MonadGenRel = function
     237| Mk_MonadGenRel -> h_mk_MonadGenRel __ __ __ __ __
     238
     239(** val monadGenRel_inv_rect_Type4 :
     240    Monad.monad -> Monad.monad -> monadGenRel -> (__ -> __ -> __ -> __ -> __
     241    -> __ -> 'a1) -> 'a1 **)
     242let monadGenRel_inv_rect_Type4 x1 x2 hterm h1 =
     243  let hcut = monadGenRel_rect_Type4 x1 x2 h1 hterm in hcut __
     244
     245(** val monadGenRel_inv_rect_Type3 :
     246    Monad.monad -> Monad.monad -> monadGenRel -> (__ -> __ -> __ -> __ -> __
     247    -> __ -> 'a1) -> 'a1 **)
     248let monadGenRel_inv_rect_Type3 x1 x2 hterm h1 =
     249  let hcut = monadGenRel_rect_Type3 x1 x2 h1 hterm in hcut __
     250
     251(** val monadGenRel_inv_rect_Type2 :
     252    Monad.monad -> Monad.monad -> monadGenRel -> (__ -> __ -> __ -> __ -> __
     253    -> __ -> 'a1) -> 'a1 **)
     254let monadGenRel_inv_rect_Type2 x1 x2 hterm h1 =
     255  let hcut = monadGenRel_rect_Type2 x1 x2 h1 hterm in hcut __
     256
     257(** val monadGenRel_inv_rect_Type1 :
     258    Monad.monad -> Monad.monad -> monadGenRel -> (__ -> __ -> __ -> __ -> __
     259    -> __ -> 'a1) -> 'a1 **)
     260let monadGenRel_inv_rect_Type1 x1 x2 hterm h1 =
     261  let hcut = monadGenRel_rect_Type1 x1 x2 h1 hterm in hcut __
     262
     263(** val monadGenRel_inv_rect_Type0 :
     264    Monad.monad -> Monad.monad -> monadGenRel -> (__ -> __ -> __ -> __ -> __
     265    -> __ -> 'a1) -> 'a1 **)
     266let monadGenRel_inv_rect_Type0 x1 x2 hterm h1 =
     267  let hcut = monadGenRel_rect_Type0 x1 x2 h1 hterm in hcut __
     268
     269(** val monadGenRel_jmdiscr :
     270    Monad.monad -> Monad.monad -> monadGenRel -> monadGenRel -> __ **)
     271let monadGenRel_jmdiscr a1 a2 x y =
     272  Logic.eq_rect_Type2 x
     273    (let Mk_MonadGenRel = x in Obj.magic (fun _ dH -> dH __ __ __ __ __)) y
     274
    200275(** val res_preserve : monadFunctRel **)
    201276let res_preserve =
     
    206281  Mk_MonadFunctRel1
    207282
     283(** val gen_res_preserve : monadGenRel **)
     284let gen_res_preserve =
     285  Mk_MonadGenRel
     286
    208287(** val opt_preserve : monadFunctRel **)
    209288let opt_preserve =
     
    214293  Mk_MonadFunctRel1
    215294
     295(** val gen_opt_preserve : monadGenRel **)
     296let gen_opt_preserve =
     297  Mk_MonadGenRel
     298
    216299(** val io_preserve : monadFunctRel **)
    217300let io_preserve =
     
    222305  Mk_MonadFunctRel1
    223306
     307(** val gen_io_preserve : monadGenRel **)
     308let gen_io_preserve =
     309  Mk_MonadGenRel
     310
  • extracted/extraMonads.mli

    r2829 r3059  
    147147  Monad.monad -> Monad.monad -> monadFunctRel1 -> monadFunctRel1 -> __
    148148
     149type monadGenRel =
     150| Mk_MonadGenRel
     151
     152val monadGenRel_rect_Type4 :
     153  Monad.monad -> Monad.monad -> (__ -> __ -> __ -> __ -> __ -> 'a1) ->
     154  monadGenRel -> 'a1
     155
     156val monadGenRel_rect_Type5 :
     157  Monad.monad -> Monad.monad -> (__ -> __ -> __ -> __ -> __ -> 'a1) ->
     158  monadGenRel -> 'a1
     159
     160val monadGenRel_rect_Type3 :
     161  Monad.monad -> Monad.monad -> (__ -> __ -> __ -> __ -> __ -> 'a1) ->
     162  monadGenRel -> 'a1
     163
     164val monadGenRel_rect_Type2 :
     165  Monad.monad -> Monad.monad -> (__ -> __ -> __ -> __ -> __ -> 'a1) ->
     166  monadGenRel -> 'a1
     167
     168val monadGenRel_rect_Type1 :
     169  Monad.monad -> Monad.monad -> (__ -> __ -> __ -> __ -> __ -> 'a1) ->
     170  monadGenRel -> 'a1
     171
     172val monadGenRel_rect_Type0 :
     173  Monad.monad -> Monad.monad -> (__ -> __ -> __ -> __ -> __ -> 'a1) ->
     174  monadGenRel -> 'a1
     175
     176val monadGenRel_inv_rect_Type4 :
     177  Monad.monad -> Monad.monad -> monadGenRel -> (__ -> __ -> __ -> __ -> __ ->
     178  __ -> 'a1) -> 'a1
     179
     180val monadGenRel_inv_rect_Type3 :
     181  Monad.monad -> Monad.monad -> monadGenRel -> (__ -> __ -> __ -> __ -> __ ->
     182  __ -> 'a1) -> 'a1
     183
     184val monadGenRel_inv_rect_Type2 :
     185  Monad.monad -> Monad.monad -> monadGenRel -> (__ -> __ -> __ -> __ -> __ ->
     186  __ -> 'a1) -> 'a1
     187
     188val monadGenRel_inv_rect_Type1 :
     189  Monad.monad -> Monad.monad -> monadGenRel -> (__ -> __ -> __ -> __ -> __ ->
     190  __ -> 'a1) -> 'a1
     191
     192val monadGenRel_inv_rect_Type0 :
     193  Monad.monad -> Monad.monad -> monadGenRel -> (__ -> __ -> __ -> __ -> __ ->
     194  __ -> 'a1) -> 'a1
     195
     196val monadGenRel_jmdiscr :
     197  Monad.monad -> Monad.monad -> monadGenRel -> monadGenRel -> __
     198
    149199val res_preserve : monadFunctRel
    150200
    151201val res_preserve1 : monadFunctRel1
    152202
     203val gen_res_preserve : monadGenRel
     204
    153205val opt_preserve : monadFunctRel
    154206
    155207val opt_preserve1 : monadFunctRel1
    156208
     209val gen_opt_preserve : monadGenRel
     210
    157211val io_preserve : monadFunctRel
    158212
    159213val io_preserve1 : monadFunctRel1
    160214
     215val gen_io_preserve : monadGenRel
     216
  • extracted/fetch.ml

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

    r3043 r3059  
    8080    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    8181    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    82 let rec property_lattice_rect_Type4 h_mk_property_lattice x_18941 =
    83   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    84     l_is_maximal = l_is_maximal0 } = x_18941
     82let rec property_lattice_rect_Type4 h_mk_property_lattice x_18885 =
     83  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     84    l_is_maximal = l_is_maximal0 } = x_18885
    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_18943 =
    92   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    93     l_is_maximal = l_is_maximal0 } = x_18943
     91let rec property_lattice_rect_Type5 h_mk_property_lattice x_18887 =
     92  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     93    l_is_maximal = l_is_maximal0 } = x_18887
    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_18945 =
    101   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    102     l_is_maximal = l_is_maximal0 } = x_18945
     100let rec property_lattice_rect_Type3 h_mk_property_lattice x_18889 =
     101  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     102    l_is_maximal = l_is_maximal0 } = x_18889
    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_18947 =
    110   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    111     l_is_maximal = l_is_maximal0 } = x_18947
     109let rec property_lattice_rect_Type2 h_mk_property_lattice x_18891 =
     110  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     111    l_is_maximal = l_is_maximal0 } = x_18891
    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_18949 =
    119   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    120     l_is_maximal = l_is_maximal0 } = x_18949
     118let rec property_lattice_rect_Type1 h_mk_property_lattice x_18893 =
     119  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     120    l_is_maximal = l_is_maximal0 } = x_18893
    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_18951 =
    128   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    129     l_is_maximal = l_is_maximal0 } = x_18951
     127let rec property_lattice_rect_Type0 h_mk_property_lattice x_18895 =
     128  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     129    l_is_maximal = l_is_maximal0 } = x_18895
    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_18972 =
    204   let fix_lfp = x_18972 in h_mk_fixpoint fix_lfp __
     203let rec fixpoint_rect_Type4 latt eqs h_mk_fixpoint x_18916 =
     204  let fix_lfp = x_18916 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_18974 =
    210   let fix_lfp = x_18974 in h_mk_fixpoint fix_lfp __
     209let rec fixpoint_rect_Type5 latt eqs h_mk_fixpoint x_18918 =
     210  let fix_lfp = x_18918 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_18976 =
    216   let fix_lfp = x_18976 in h_mk_fixpoint fix_lfp __
     215let rec fixpoint_rect_Type3 latt eqs h_mk_fixpoint x_18920 =
     216  let fix_lfp = x_18920 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_18978 =
    222   let fix_lfp = x_18978 in h_mk_fixpoint fix_lfp __
     221let rec fixpoint_rect_Type2 latt eqs h_mk_fixpoint x_18922 =
     222  let fix_lfp = x_18922 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_18980 =
    228   let fix_lfp = x_18980 in h_mk_fixpoint fix_lfp __
     227let rec fixpoint_rect_Type1 latt eqs h_mk_fixpoint x_18924 =
     228  let fix_lfp = x_18924 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_18982 =
    234   let fix_lfp = x_18982 in h_mk_fixpoint fix_lfp __
     233let rec fixpoint_rect_Type0 latt eqs h_mk_fixpoint x_18926 =
     234  let fix_lfp = x_18926 in h_mk_fixpoint fix_lfp __
    235235
    236236(** val fix_lfp : property_lattice -> equations -> fixpoint -> valuation **)
  • extracted/frontEndOps.ml

    r3043 r3059  
    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_13174 = function
    102 | Ointconst (sz, sg, x_13176) -> h_Ointconst sz sg x_13176
    103 | Oaddrsymbol (x_13178, x_13177) -> h_Oaddrsymbol x_13178 x_13177
    104 | Oaddrstack x_13179 -> h_Oaddrstack x_13179
     101let rec constant_rect_Type4 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13118 = function
     102| Ointconst (sz, sg, x_13120) -> h_Ointconst sz sg x_13120
     103| Oaddrsymbol (x_13122, x_13121) -> h_Oaddrsymbol x_13122 x_13121
     104| Oaddrstack x_13123 -> h_Oaddrstack x_13123
    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_13183 = function
    110 | Ointconst (sz, sg, x_13185) -> h_Ointconst sz sg x_13185
    111 | Oaddrsymbol (x_13187, x_13186) -> h_Oaddrsymbol x_13187 x_13186
    112 | Oaddrstack x_13188 -> h_Oaddrstack x_13188
     109let rec constant_rect_Type5 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13127 = function
     110| Ointconst (sz, sg, x_13129) -> h_Ointconst sz sg x_13129
     111| Oaddrsymbol (x_13131, x_13130) -> h_Oaddrsymbol x_13131 x_13130
     112| Oaddrstack x_13132 -> h_Oaddrstack x_13132
    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_13192 = function
    118 | Ointconst (sz, sg, x_13194) -> h_Ointconst sz sg x_13194
    119 | Oaddrsymbol (x_13196, x_13195) -> h_Oaddrsymbol x_13196 x_13195
    120 | Oaddrstack x_13197 -> h_Oaddrstack x_13197
     117let rec constant_rect_Type3 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13136 = function
     118| Ointconst (sz, sg, x_13138) -> h_Ointconst sz sg x_13138
     119| Oaddrsymbol (x_13140, x_13139) -> h_Oaddrsymbol x_13140 x_13139
     120| Oaddrstack x_13141 -> h_Oaddrstack x_13141
    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_13201 = function
    126 | Ointconst (sz, sg, x_13203) -> h_Ointconst sz sg x_13203
    127 | Oaddrsymbol (x_13205, x_13204) -> h_Oaddrsymbol x_13205 x_13204
    128 | Oaddrstack x_13206 -> h_Oaddrstack x_13206
     125let rec constant_rect_Type2 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13145 = function
     126| Ointconst (sz, sg, x_13147) -> h_Ointconst sz sg x_13147
     127| Oaddrsymbol (x_13149, x_13148) -> h_Oaddrsymbol x_13149 x_13148
     128| Oaddrstack x_13150 -> h_Oaddrstack x_13150
    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_13210 = function
    134 | Ointconst (sz, sg, x_13212) -> h_Ointconst sz sg x_13212
    135 | Oaddrsymbol (x_13214, x_13213) -> h_Oaddrsymbol x_13214 x_13213
    136 | Oaddrstack x_13215 -> h_Oaddrstack x_13215
     133let rec constant_rect_Type1 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13154 = function
     134| Ointconst (sz, sg, x_13156) -> h_Ointconst sz sg x_13156
     135| Oaddrsymbol (x_13158, x_13157) -> h_Oaddrsymbol x_13158 x_13157
     136| Oaddrstack x_13159 -> h_Oaddrstack x_13159
    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_13219 = function
    142 | Ointconst (sz, sg, x_13221) -> h_Ointconst sz sg x_13221
    143 | Oaddrsymbol (x_13223, x_13222) -> h_Oaddrsymbol x_13223 x_13222
    144 | Oaddrstack x_13224 -> h_Oaddrstack x_13224
     141let rec constant_rect_Type0 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13163 = function
     142| Ointconst (sz, sg, x_13165) -> h_Ointconst sz sg x_13165
     143| Oaddrsymbol (x_13167, x_13166) -> h_Oaddrsymbol x_13167 x_13166
     144| Oaddrstack x_13168 -> h_Oaddrstack x_13168
    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_13294 x_13293 = function
     213let rec unary_operation_rect_Type4 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13238 x_13237 = 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_13305 x_13304 = function
     229let rec unary_operation_rect_Type5 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13249 x_13248 = 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_13316 x_13315 = function
     245let rec unary_operation_rect_Type3 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13260 x_13259 = 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_13327 x_13326 = function
     261let rec unary_operation_rect_Type2 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13271 x_13270 = 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_13338 x_13337 = function
     277let rec unary_operation_rect_Type1 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13282 x_13281 = 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_13349 x_13348 = function
     293let rec unary_operation_rect_Type0 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13293 x_13292 = 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_13454 x_13453 x_13452 = 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_13398 x_13397 x_13396 = 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_13456) -> h_Ocmp sz sg sg' x_13456
    443 | Ocmpu (sz, sg', x_13457) -> h_Ocmpu sz sg' x_13457
     442| Ocmp (sz, sg, sg', x_13400) -> h_Ocmp sz sg sg' x_13400
     443| Ocmpu (sz, sg', x_13401) -> h_Ocmpu sz sg' x_13401
    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_13458) -> h_Ocmpp sg' x_13458
     448| Ocmpp (sg', x_13402) -> h_Ocmpp sg' x_13402
    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_13481 x_13480 x_13479 = 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_13425 x_13424 x_13423 = 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_13483) -> h_Ocmp sz sg sg' x_13483
    478 | Ocmpu (sz, sg', x_13484) -> h_Ocmpu sz sg' x_13484
     477| Ocmp (sz, sg, sg', x_13427) -> h_Ocmp sz sg sg' x_13427
     478| Ocmpu (sz, sg', x_13428) -> h_Ocmpu sz sg' x_13428
    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_13485) -> h_Ocmpp sg' x_13485
     483| Ocmpp (sg', x_13429) -> h_Ocmpp sg' x_13429
    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_13508 x_13507 x_13506 = 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_13452 x_13451 x_13450 = 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_13510) -> h_Ocmp sz sg sg' x_13510
    513 | Ocmpu (sz, sg', x_13511) -> h_Ocmpu sz sg' x_13511
     512| Ocmp (sz, sg, sg', x_13454) -> h_Ocmp sz sg sg' x_13454
     513| Ocmpu (sz, sg', x_13455) -> h_Ocmpu sz sg' x_13455
    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_13512) -> h_Ocmpp sg' x_13512
     518| Ocmpp (sg', x_13456) -> h_Ocmpp sg' x_13456
    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_13535 x_13534 x_13533 = 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_13479 x_13478 x_13477 = 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_13537) -> h_Ocmp sz sg sg' x_13537
    548 | Ocmpu (sz, sg', x_13538) -> h_Ocmpu sz sg' x_13538
     547| Ocmp (sz, sg, sg', x_13481) -> h_Ocmp sz sg sg' x_13481
     548| Ocmpu (sz, sg', x_13482) -> h_Ocmpu sz sg' x_13482
    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_13539) -> h_Ocmpp sg' x_13539
     553| Ocmpp (sg', x_13483) -> h_Ocmpp sg' x_13483
    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_13562 x_13561 x_13560 = 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_13506 x_13505 x_13504 = 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_13564) -> h_Ocmp sz sg sg' x_13564
    583 | Ocmpu (sz, sg', x_13565) -> h_Ocmpu sz sg' x_13565
     582| Ocmp (sz, sg, sg', x_13508) -> h_Ocmp sz sg sg' x_13508
     583| Ocmpu (sz, sg', x_13509) -> h_Ocmpu sz sg' x_13509
    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_13566) -> h_Ocmpp sg' x_13566
     588| Ocmpp (sg', x_13510) -> h_Ocmpp sg' x_13510
    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_13589 x_13588 x_13587 = 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_13533 x_13532 x_13531 = 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_13591) -> h_Ocmp sz sg sg' x_13591
    618 | Ocmpu (sz, sg', x_13592) -> h_Ocmpu sz sg' x_13592
     617| Ocmp (sz, sg, sg', x_13535) -> h_Ocmp sz sg sg' x_13535
     618| Ocmpu (sz, sg', x_13536) -> h_Ocmpu sz sg' x_13536
    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_13593) -> h_Ocmpp sg' x_13593
     623| Ocmpp (sg', x_13537) -> h_Ocmpp sg' x_13537
    624624
    625625(** val binary_operation_inv_rect_Type4 :
  • extracted/interference.ml

    r3043 r3059  
    134134    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    135135let rec decision_rect_Type4 h_decision_spill h_decision_colour = function
    136 | Decision_spill x_19002 -> h_decision_spill x_19002
    137 | Decision_colour x_19003 -> h_decision_colour x_19003
     136| Decision_spill x_18946 -> h_decision_spill x_18946
     137| Decision_colour x_18947 -> h_decision_colour x_18947
    138138
    139139(** val decision_rect_Type5 :
    140140    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    141141let rec decision_rect_Type5 h_decision_spill h_decision_colour = function
    142 | Decision_spill x_19007 -> h_decision_spill x_19007
    143 | Decision_colour x_19008 -> h_decision_colour x_19008
     142| Decision_spill x_18951 -> h_decision_spill x_18951
     143| Decision_colour x_18952 -> h_decision_colour x_18952
    144144
    145145(** val decision_rect_Type3 :
    146146    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    147147let rec decision_rect_Type3 h_decision_spill h_decision_colour = function
    148 | Decision_spill x_19012 -> h_decision_spill x_19012
    149 | Decision_colour x_19013 -> h_decision_colour x_19013
     148| Decision_spill x_18956 -> h_decision_spill x_18956
     149| Decision_colour x_18957 -> h_decision_colour x_18957
    150150
    151151(** val decision_rect_Type2 :
    152152    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    153153let rec decision_rect_Type2 h_decision_spill h_decision_colour = function
    154 | Decision_spill x_19017 -> h_decision_spill x_19017
    155 | Decision_colour x_19018 -> h_decision_colour x_19018
     154| Decision_spill x_18961 -> h_decision_spill x_18961
     155| Decision_colour x_18962 -> h_decision_colour x_18962
    156156
    157157(** val decision_rect_Type1 :
    158158    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    159159let rec decision_rect_Type1 h_decision_spill h_decision_colour = function
    160 | Decision_spill x_19022 -> h_decision_spill x_19022
    161 | Decision_colour x_19023 -> h_decision_colour x_19023
     160| Decision_spill x_18966 -> h_decision_spill x_18966
     161| Decision_colour x_18967 -> h_decision_colour x_18967
    162162
    163163(** val decision_rect_Type0 :
    164164    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    165165let rec decision_rect_Type0 h_decision_spill h_decision_colour = function
    166 | Decision_spill x_19027 -> h_decision_spill x_19027
    167 | Decision_colour x_19028 -> h_decision_colour x_19028
     166| Decision_spill x_18971 -> h_decision_spill x_18971
     167| Decision_colour x_18972 -> h_decision_colour x_18972
    168168
    169169(** val decision_inv_rect_Type4 :
     
    217217    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    218218    __ -> 'a1) -> coloured_graph -> 'a1 **)
    219 let rec coloured_graph_rect_Type4 before h_mk_coloured_graph x_19063 =
    220   let { colouring = colouring0; spilled_no = spilled_no0 } = x_19063 in
     219let rec coloured_graph_rect_Type4 before h_mk_coloured_graph x_19007 =
     220  let { colouring = colouring0; spilled_no = spilled_no0 } = x_19007 in
    221221  h_mk_coloured_graph colouring0 spilled_no0 __ __
    222222
     
    224224    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    225225    __ -> 'a1) -> coloured_graph -> 'a1 **)
    226 let rec coloured_graph_rect_Type5 before h_mk_coloured_graph x_19065 =
    227   let { colouring = colouring0; spilled_no = spilled_no0 } = x_19065 in
     226let rec coloured_graph_rect_Type5 before h_mk_coloured_graph x_19009 =
     227  let { colouring = colouring0; spilled_no = spilled_no0 } = x_19009 in
    228228  h_mk_coloured_graph colouring0 spilled_no0 __ __
    229229
     
    231231    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    232232    __ -> 'a1) -> coloured_graph -> 'a1 **)
    233 let rec coloured_graph_rect_Type3 before h_mk_coloured_graph x_19067 =
    234   let { colouring = colouring0; spilled_no = spilled_no0 } = x_19067 in
     233let rec coloured_graph_rect_Type3 before h_mk_coloured_graph x_19011 =
     234  let { colouring = colouring0; spilled_no = spilled_no0 } = x_19011 in
    235235  h_mk_coloured_graph colouring0 spilled_no0 __ __
    236236
     
    238238    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    239239    __ -> 'a1) -> coloured_graph -> 'a1 **)
    240 let rec coloured_graph_rect_Type2 before h_mk_coloured_graph x_19069 =
    241   let { colouring = colouring0; spilled_no = spilled_no0 } = x_19069 in
     240let rec coloured_graph_rect_Type2 before h_mk_coloured_graph x_19013 =
     241  let { colouring = colouring0; spilled_no = spilled_no0 } = x_19013 in
    242242  h_mk_coloured_graph colouring0 spilled_no0 __ __
    243243
     
    245245    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    246246    __ -> 'a1) -> coloured_graph -> 'a1 **)
    247 let rec coloured_graph_rect_Type1 before h_mk_coloured_graph x_19071 =
    248   let { colouring = colouring0; spilled_no = spilled_no0 } = x_19071 in
     247let rec coloured_graph_rect_Type1 before h_mk_coloured_graph x_19015 =
     248  let { colouring = colouring0; spilled_no = spilled_no0 } = x_19015 in
    249249  h_mk_coloured_graph colouring0 spilled_no0 __ __
    250250
     
    252252    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    253253    __ -> 'a1) -> coloured_graph -> 'a1 **)
    254 let rec coloured_graph_rect_Type0 before h_mk_coloured_graph x_19073 =
    255   let { colouring = colouring0; spilled_no = spilled_no0 } = x_19073 in
     254let rec coloured_graph_rect_Type0 before h_mk_coloured_graph x_19017 =
     255  let { colouring = colouring0; spilled_no = spilled_no0 } = x_19017 in
    256256  h_mk_coloured_graph colouring0 spilled_no0 __ __
    257257
  • extracted/joint.ml

    r3043 r3059  
    110110    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    111111let rec argument_rect_Type4 h_Reg h_Imm = function
    112 | Reg x_16923 -> h_Reg x_16923
    113 | Imm x_16924 -> h_Imm x_16924
     112| Reg x_16867 -> h_Reg x_16867
     113| Imm x_16868 -> h_Imm x_16868
    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_16928 -> h_Reg x_16928
    119 | Imm x_16929 -> h_Imm x_16929
     118| Reg x_16872 -> h_Reg x_16872
     119| Imm x_16873 -> h_Imm x_16873
    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_16933 -> h_Reg x_16933
    125 | Imm x_16934 -> h_Imm x_16934
     124| Reg x_16877 -> h_Reg x_16877
     125| Imm x_16878 -> h_Imm x_16878
    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_16938 -> h_Reg x_16938
    131 | Imm x_16939 -> h_Imm x_16939
     130| Reg x_16882 -> h_Reg x_16882
     131| Imm x_16883 -> h_Imm x_16883
    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_16943 -> h_Reg x_16943
    137 | Imm x_16944 -> h_Imm x_16944
     136| Reg x_16887 -> h_Reg x_16887
     137| Imm x_16888 -> h_Imm x_16888
    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_16948 -> h_Reg x_16948
    143 | Imm x_16949 -> h_Imm x_16949
     142| Reg x_16892 -> h_Reg x_16892
     143| Imm x_16893 -> h_Imm x_16893
    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_16984 =
     326let rec unserialized_params_rect_Type4 h_mk_unserialized_params x_16928 =
    327327  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    328     x_16984
     328    x_16928
    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_16986 =
     337let rec unserialized_params_rect_Type5 h_mk_unserialized_params x_16930 =
    338338  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    339     x_16986
     339    x_16930
    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_16988 =
     348let rec unserialized_params_rect_Type3 h_mk_unserialized_params x_16932 =
    349349  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    350     x_16988
     350    x_16932
    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_16990 =
     359let rec unserialized_params_rect_Type2 h_mk_unserialized_params x_16934 =
    360360  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    361     x_16990
     361    x_16934
    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_16992 =
     370let rec unserialized_params_rect_Type1 h_mk_unserialized_params x_16936 =
    371371  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    372     x_16992
     372    x_16936
    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_16994 =
     381let rec unserialized_params_rect_Type0 h_mk_unserialized_params x_16938 =
    382382  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    383     x_16994
     383    x_16938
    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_17011 =
     508let rec get_pseudo_reg_functs_rect_Type4 p h_mk_get_pseudo_reg_functs x_16955 =
    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_17011
     514    params_regs0 } = x_16955
    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_17013 =
     531let rec get_pseudo_reg_functs_rect_Type5 p h_mk_get_pseudo_reg_functs x_16957 =
    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_17013
     537    params_regs0 } = x_16957
    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_17015 =
     554let rec get_pseudo_reg_functs_rect_Type3 p h_mk_get_pseudo_reg_functs x_16959 =
    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_17015
     560    params_regs0 } = x_16959
    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_17017 =
     577let rec get_pseudo_reg_functs_rect_Type2 p h_mk_get_pseudo_reg_functs x_16961 =
    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_17017
     583    params_regs0 } = x_16961
    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_17019 =
     600let rec get_pseudo_reg_functs_rect_Type1 p h_mk_get_pseudo_reg_functs x_16963 =
    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_17019
     606    params_regs0 } = x_16963
    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_17021 =
     623let rec get_pseudo_reg_functs_rect_Type0 p h_mk_get_pseudo_reg_functs x_16965 =
    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_17021
     629    params_regs0 } = x_16965
    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_17051 =
    808   let { u_pars = u_pars0; functs = functs0 } = x_17051 in
     807let rec uns_params_rect_Type4 h_mk_uns_params x_16995 =
     808  let { u_pars = u_pars0; functs = functs0 } = x_16995 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_17053 =
    815   let { u_pars = u_pars0; functs = functs0 } = x_17053 in
     814let rec uns_params_rect_Type5 h_mk_uns_params x_16997 =
     815  let { u_pars = u_pars0; functs = functs0 } = x_16997 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_17055 =
    822   let { u_pars = u_pars0; functs = functs0 } = x_17055 in
     821let rec uns_params_rect_Type3 h_mk_uns_params x_16999 =
     822  let { u_pars = u_pars0; functs = functs0 } = x_16999 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_17057 =
    829   let { u_pars = u_pars0; functs = functs0 } = x_17057 in
     828let rec uns_params_rect_Type2 h_mk_uns_params x_17001 =
     829  let { u_pars = u_pars0; functs = functs0 } = x_17001 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_17059 =
    836   let { u_pars = u_pars0; functs = functs0 } = x_17059 in
     835let rec uns_params_rect_Type1 h_mk_uns_params x_17003 =
     836  let { u_pars = u_pars0; functs = functs0 } = x_17003 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_17061 =
    843   let { u_pars = u_pars0; functs = functs0 } = x_17061 in
     842let rec uns_params_rect_Type0 h_mk_uns_params x_17005 =
     843  let { u_pars = u_pars0; functs = functs0 } = x_17005 in
    844844  h_mk_uns_params u_pars0 functs0
    845845
     
    911911    __ -> 'a1) -> (__ -> __ -> __ -> '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_17117 -> h_COMMENT x_17117
    914 | MOVE x_17118 -> h_MOVE x_17118
    915 | POP x_17119 -> h_POP x_17119
    916 | PUSH x_17120 -> h_PUSH x_17120
    917 | ADDRESS (i, x_17123, x_17122, x_17121) ->
    918   h_ADDRESS i __ x_17123 x_17122 x_17121
    919 | OPACCS (x_17129, x_17128, x_17127, x_17126, x_17125) ->
    920   h_OPACCS x_17129 x_17128 x_17127 x_17126 x_17125
    921 | OP1 (x_17132, x_17131, x_17130) -> h_OP1 x_17132 x_17131 x_17130
    922 | OP2 (x_17136, x_17135, x_17134, x_17133) ->
    923   h_OP2 x_17136 x_17135 x_17134 x_17133
     913| COMMENT x_17061 -> h_COMMENT x_17061
     914| MOVE x_17062 -> h_MOVE x_17062
     915| POP x_17063 -> h_POP x_17063
     916| PUSH x_17064 -> h_PUSH x_17064
     917| ADDRESS (i, x_17067, x_17066, x_17065) ->
     918  h_ADDRESS i __ x_17067 x_17066 x_17065
     919| OPACCS (x_17073, x_17072, x_17071, x_17070, x_17069) ->
     920  h_OPACCS x_17073 x_17072 x_17071 x_17070 x_17069
     921| OP1 (x_17076, x_17075, x_17074) -> h_OP1 x_17076 x_17075 x_17074
     922| OP2 (x_17080, x_17079, x_17078, x_17077) ->
     923  h_OP2 x_17080 x_17079 x_17078 x_17077
    924924| CLEAR_CARRY -> h_CLEAR_CARRY
    925925| SET_CARRY -> h_SET_CARRY
    926 | LOAD (x_17139, x_17138, x_17137) -> h_LOAD x_17139 x_17138 x_17137
    927 | STORE (x_17142, x_17141, x_17140) -> h_STORE x_17142 x_17141 x_17140
    928 | Extension_seq x_17143 -> h_extension_seq x_17143
     926| LOAD (x_17083, x_17082, x_17081) -> h_LOAD x_17083 x_17082 x_17081
     927| STORE (x_17086, x_17085, x_17084) -> h_STORE x_17086 x_17085 x_17084
     928| Extension_seq x_17087 -> h_extension_seq x_17087
    929929
    930930(** val joint_seq_rect_Type5 :
     
    936936    __ -> 'a1) -> (__ -> __ -> __ -> 'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    937937let 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
    938 | COMMENT x_17158 -> h_COMMENT x_17158
    939 | MOVE x_17159 -> h_MOVE x_17159
    940 | POP x_17160 -> h_POP x_17160
    941 | PUSH x_17161 -> h_PUSH x_17161
    942 | ADDRESS (i, x_17164, x_17163, x_17162) ->
    943   h_ADDRESS i __ x_17164 x_17163 x_17162
    944 | OPACCS (x_17170, x_17169, x_17168, x_17167, x_17166) ->
    945   h_OPACCS x_17170 x_17169 x_17168 x_17167 x_17166
    946 | OP1 (x_17173, x_17172, x_17171) -> h_OP1 x_17173 x_17172 x_17171
    947 | OP2 (x_17177, x_17176, x_17175, x_17174) ->
    948   h_OP2 x_17177 x_17176 x_17175 x_17174
     938| COMMENT x_17102 -> h_COMMENT x_17102
     939| MOVE x_17103 -> h_MOVE x_17103
     940| POP x_17104 -> h_POP x_17104
     941| PUSH x_17105 -> h_PUSH x_17105
     942| ADDRESS (i, x_17108, x_17107, x_17106) ->
     943  h_ADDRESS i __ x_17108 x_17107 x_17106
     944| OPACCS (x_17114, x_17113, x_17112, x_17111, x_17110) ->
     945  h_OPACCS x_17114 x_17113 x_17112 x_17111 x_17110
     946| OP1 (x_17117, x_17116, x_17115) -> h_OP1 x_17117 x_17116 x_17115
     947| OP2 (x_17121, x_17120, x_17119, x_17118) ->
     948  h_OP2 x_17121 x_17120 x_17119 x_17118
    949949| CLEAR_CARRY -> h_CLEAR_CARRY
    950950| SET_CARRY -> h_SET_CARRY
    951 | LOAD (x_17180, x_17179, x_17178) -> h_LOAD x_17180 x_17179 x_17178
    952 | STORE (x_17183, x_17182, x_17181) -> h_STORE x_17183 x_17182 x_17181
    953 | Extension_seq x_17184 -> h_extension_seq x_17184
     951| LOAD (x_17124, x_17123, x_17122) -> h_LOAD x_17124 x_17123 x_17122
     952| STORE (x_17127, x_17126, x_17125) -> h_STORE x_17127 x_17126 x_17125
     953| Extension_seq x_17128 -> h_extension_seq x_17128
    954954
    955955(** val joint_seq_rect_Type3 :
     
    961961    __ -> 'a1) -> (__ -> __ -> __ -> 'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    962962let 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
    963 | COMMENT x_17199 -> h_COMMENT x_17199
    964 | MOVE x_17200 -> h_MOVE x_17200
    965 | POP x_17201 -> h_POP x_17201
    966 | PUSH x_17202 -> h_PUSH x_17202
    967 | ADDRESS (i, x_17205, x_17204, x_17203) ->
    968   h_ADDRESS i __ x_17205 x_17204 x_17203
    969 | OPACCS (x_17211, x_17210, x_17209, x_17208, x_17207) ->
    970   h_OPACCS x_17211 x_17210 x_17209 x_17208 x_17207
    971 | OP1 (x_17214, x_17213, x_17212) -> h_OP1 x_17214 x_17213 x_17212
    972 | OP2 (x_17218, x_17217, x_17216, x_17215) ->
    973   h_OP2 x_17218 x_17217 x_17216 x_17215
     963| COMMENT x_17143 -> h_COMMENT x_17143
     964| MOVE x_17144 -> h_MOVE x_17144
     965| POP x_17145 -> h_POP x_17145
     966| PUSH x_17146 -> h_PUSH x_17146
     967| ADDRESS (i, x_17149, x_17148, x_17147) ->
     968  h_ADDRESS i __ x_17149 x_17148 x_17147
     969| OPACCS (x_17155, x_17154, x_17153, x_17152, x_17151) ->
     970  h_OPACCS x_17155 x_17154 x_17153 x_17152 x_17151
     971| OP1 (x_17158, x_17157, x_17156) -> h_OP1 x_17158 x_17157 x_17156
     972| OP2 (x_17162, x_17161, x_17160, x_17159) ->
     973  h_OP2 x_17162 x_17161 x_17160 x_17159
    974974| CLEAR_CARRY -> h_CLEAR_CARRY
    975975| SET_CARRY -> h_SET_CARRY
    976 | LOAD (x_17221, x_17220, x_17219) -> h_LOAD x_17221 x_17220 x_17219
    977 | STORE (x_17224, x_17223, x_17222) -> h_STORE x_17224 x_17223 x_17222
    978 | Extension_seq x_17225 -> h_extension_seq x_17225
     976| LOAD (x_17165, x_17164, x_17163) -> h_LOAD x_17165 x_17164 x_17163
     977| STORE (x_17168, x_17167, x_17166) -> h_STORE x_17168 x_17167 x_17166
     978| Extension_seq x_17169 -> h_extension_seq x_17169
    979979
    980980(** val joint_seq_rect_Type2 :
     
    986986    __ -> 'a1) -> (__ -> __ -> __ -> 'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    987987let 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
    988 | COMMENT x_17240 -> h_COMMENT x_17240
    989 | MOVE x_17241 -> h_MOVE x_17241
    990 | POP x_17242 -> h_POP x_17242
    991 | PUSH x_17243 -> h_PUSH x_17243
    992 | ADDRESS (i, x_17246, x_17245, x_17244) ->
    993   h_ADDRESS i __ x_17246 x_17245 x_17244
    994 | OPACCS (x_17252, x_17251, x_17250, x_17249, x_17248) ->
    995   h_OPACCS x_17252 x_17251 x_17250 x_17249 x_17248
    996 | OP1 (x_17255, x_17254, x_17253) -> h_OP1 x_17255 x_17254 x_17253
    997 | OP2 (x_17259, x_17258, x_17257, x_17256) ->
    998   h_OP2 x_17259 x_17258 x_17257 x_17256
     988| COMMENT x_17184 -> h_COMMENT x_17184
     989| MOVE x_17185 -> h_MOVE x_17185
     990| POP x_17186 -> h_POP x_17186
     991| PUSH x_17187 -> h_PUSH x_17187
     992| ADDRESS (i, x_17190, x_17189, x_17188) ->
     993  h_ADDRESS i __ x_17190 x_17189 x_17188
     994| OPACCS (x_17196, x_17195, x_17194, x_17193, x_17192) ->
     995  h_OPACCS x_17196 x_17195 x_17194 x_17193 x_17192
     996| OP1 (x_17199, x_17198, x_17197) -> h_OP1 x_17199 x_17198 x_17197
     997| OP2 (x_17203, x_17202, x_17201, x_17200) ->
     998  h_OP2 x_17203 x_17202 x_17201 x_17200
    999999| CLEAR_CARRY -> h_CLEAR_CARRY
    10001000| SET_CARRY -> h_SET_CARRY
    1001 | LOAD (x_17262, x_17261, x_17260) -> h_LOAD x_17262 x_17261 x_17260
    1002 | STORE (x_17265, x_17264, x_17263) -> h_STORE x_17265 x_17264 x_17263
    1003 | Extension_seq x_17266 -> h_extension_seq x_17266
     1001| LOAD (x_17206, x_17205, x_17204) -> h_LOAD x_17206 x_17205 x_17204
     1002| STORE (x_17209, x_17208, x_17207) -> h_STORE x_17209 x_17208 x_17207
     1003| Extension_seq x_17210 -> h_extension_seq x_17210
    10041004
    10051005(** val joint_seq_rect_Type1 :
     
    10111011    __ -> 'a1) -> (__ -> __ -> __ -> 'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    10121012let 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
    1013 | COMMENT x_17281 -> h_COMMENT x_17281
    1014 | MOVE x_17282 -> h_MOVE x_17282
    1015 | POP x_17283 -> h_POP x_17283
    1016 | PUSH x_17284 -> h_PUSH x_17284
    1017 | ADDRESS (i, x_17287, x_17286, x_17285) ->
    1018   h_ADDRESS i __ x_17287 x_17286 x_17285
    1019 | OPACCS (x_17293, x_17292, x_17291, x_17290, x_17289) ->
    1020   h_OPACCS x_17293 x_17292 x_17291 x_17290 x_17289
    1021 | OP1 (x_17296, x_17295, x_17294) -> h_OP1 x_17296 x_17295 x_17294
    1022 | OP2 (x_17300, x_17299, x_17298, x_17297) ->
    1023   h_OP2 x_17300 x_17299 x_17298 x_17297
     1013| COMMENT x_17225 -> h_COMMENT x_17225
     1014| MOVE x_17226 -> h_MOVE x_17226
     1015| POP x_17227 -> h_POP x_17227
     1016| PUSH x_17228 -> h_PUSH x_17228
     1017| ADDRESS (i, x_17231, x_17230, x_17229) ->
     1018  h_ADDRESS i __ x_17231 x_17230 x_17229
     1019| OPACCS (x_17237, x_17236, x_17235, x_17234, x_17233) ->
     1020  h_OPACCS x_17237 x_17236 x_17235 x_17234 x_17233
     1021| OP1 (x_17240, x_17239, x_17238) -> h_OP1 x_17240 x_17239 x_17238
     1022| OP2 (x_17244, x_17243, x_17242, x_17241) ->
     1023  h_OP2 x_17244 x_17243 x_17242 x_17241
    10241024| CLEAR_CARRY -> h_CLEAR_CARRY
    10251025| SET_CARRY -> h_SET_CARRY
    1026 | LOAD (x_17303, x_17302, x_17301) -> h_LOAD x_17303 x_17302 x_17301
    1027 | STORE (x_17306, x_17305, x_17304) -> h_STORE x_17306 x_17305 x_17304
    1028 | Extension_seq x_17307 -> h_extension_seq x_17307
     1026| LOAD (x_17247, x_17246, x_17245) -> h_LOAD x_17247 x_17246 x_17245
     1027| STORE (x_17250, x_17249, x_17248) -> h_STORE x_17250 x_17249 x_17248
     1028| Extension_seq x_17251 -> h_extension_seq x_17251
    10291029
    10301030(** val joint_seq_rect_Type0 :
     
    10361036    __ -> 'a1) -> (__ -> __ -> __ -> 'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    10371037let 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
    1038 | COMMENT x_17322 -> h_COMMENT x_17322
    1039 | MOVE x_17323 -> h_MOVE x_17323
    1040 | POP x_17324 -> h_POP x_17324
    1041 | PUSH x_17325 -> h_PUSH x_17325
    1042 | ADDRESS (i, x_17328, x_17327, x_17326) ->
    1043   h_ADDRESS i __ x_17328 x_17327 x_17326
    1044 | OPACCS (x_17334, x_17333, x_17332, x_17331, x_17330) ->
    1045   h_OPACCS x_17334 x_17333 x_17332 x_17331 x_17330
    1046 | OP1 (x_17337, x_17336, x_17335) -> h_OP1 x_17337 x_17336 x_17335
    1047 | OP2 (x_17341, x_17340, x_17339, x_17338) ->
    1048   h_OP2 x_17341 x_17340 x_17339 x_17338
     1038| COMMENT x_17266 -> h_COMMENT x_17266
     1039| MOVE x_17267 -> h_MOVE x_17267
     1040| POP x_17268 -> h_POP x_17268
     1041| PUSH x_17269 -> h_PUSH x_17269
     1042| ADDRESS (i, x_17272, x_17271, x_17270) ->
     1043  h_ADDRESS i __ x_17272 x_17271 x_17270
     1044| OPACCS (x_17278, x_17277, x_17276, x_17275, x_17274) ->
     1045  h_OPACCS x_17278 x_17277 x_17276 x_17275 x_17274
     1046| OP1 (x_17281, x_17280, x_17279) -> h_OP1 x_17281 x_17280 x_17279
     1047| OP2 (x_17285, x_17284, x_17283, x_17282) ->
     1048  h_OP2 x_17285 x_17284 x_17283 x_17282
    10491049| CLEAR_CARRY -> h_CLEAR_CARRY
    10501050| SET_CARRY -> h_SET_CARRY
    1051 | LOAD (x_17344, x_17343, x_17342) -> h_LOAD x_17344 x_17343 x_17342
    1052 | STORE (x_17347, x_17346, x_17345) -> h_STORE x_17347 x_17346 x_17345
    1053 | Extension_seq x_17348 -> h_extension_seq x_17348
     1051| LOAD (x_17288, x_17287, x_17286) -> h_LOAD x_17288 x_17287 x_17286
     1052| STORE (x_17291, x_17290, x_17289) -> h_STORE x_17291 x_17290 x_17289
     1053| Extension_seq x_17292 -> h_extension_seq x_17292
    10541054
    10551055(** val joint_seq_inv_rect_Type4 :
     
    12421242    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12431243let rec joint_step_rect_Type4 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1244 | COST_LABEL x_17621 -> h_COST_LABEL x_17621
    1245 | CALL (x_17624, x_17623, x_17622) -> h_CALL x_17624 x_17623 x_17622
    1246 | COND (x_17626, x_17625) -> h_COND x_17626 x_17625
    1247 | Step_seq x_17627 -> h_step_seq x_17627
     1244| COST_LABEL x_17565 -> h_COST_LABEL x_17565
     1245| CALL (x_17568, x_17567, x_17566) -> h_CALL x_17568 x_17567 x_17566
     1246| COND (x_17570, x_17569) -> h_COND x_17570 x_17569
     1247| Step_seq x_17571 -> h_step_seq x_17571
    12481248
    12491249(** val joint_step_rect_Type5 :
     
    12521252    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12531253let rec joint_step_rect_Type5 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1254 | COST_LABEL x_17633 -> h_COST_LABEL x_17633
    1255 | CALL (x_17636, x_17635, x_17634) -> h_CALL x_17636 x_17635 x_17634
    1256 | COND (x_17638, x_17637) -> h_COND x_17638 x_17637
    1257 | Step_seq x_17639 -> h_step_seq x_17639
     1254| COST_LABEL x_17577 -> h_COST_LABEL x_17577
     1255| CALL (x_17580, x_17579, x_17578) -> h_CALL x_17580 x_17579 x_17578
     1256| COND (x_17582, x_17581) -> h_COND x_17582 x_17581
     1257| Step_seq x_17583 -> h_step_seq x_17583
    12581258
    12591259(** val joint_step_rect_Type3 :
     
    12621262    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12631263let rec joint_step_rect_Type3 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1264 | COST_LABEL x_17645 -> h_COST_LABEL x_17645
    1265 | CALL (x_17648, x_17647, x_17646) -> h_CALL x_17648 x_17647 x_17646
    1266 | COND (x_17650, x_17649) -> h_COND x_17650 x_17649
    1267 | Step_seq x_17651 -> h_step_seq x_17651
     1264| COST_LABEL x_17589 -> h_COST_LABEL x_17589
     1265| CALL (x_17592, x_17591, x_17590) -> h_CALL x_17592 x_17591 x_17590
     1266| COND (x_17594, x_17593) -> h_COND x_17594 x_17593
     1267| Step_seq x_17595 -> h_step_seq x_17595
    12681268
    12691269(** val joint_step_rect_Type2 :
     
    12721272    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12731273let rec joint_step_rect_Type2 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1274 | COST_LABEL x_17657 -> h_COST_LABEL x_17657
    1275 | CALL (x_17660, x_17659, x_17658) -> h_CALL x_17660 x_17659 x_17658
    1276 | COND (x_17662, x_17661) -> h_COND x_17662 x_17661
    1277 | Step_seq x_17663 -> h_step_seq x_17663
     1274| COST_LABEL x_17601 -> h_COST_LABEL x_17601
     1275| CALL (x_17604, x_17603, x_17602) -> h_CALL x_17604 x_17603 x_17602
     1276| COND (x_17606, x_17605) -> h_COND x_17606 x_17605
     1277| Step_seq x_17607 -> h_step_seq x_17607
    12781278
    12791279(** val joint_step_rect_Type1 :
     
    12821282    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12831283let rec joint_step_rect_Type1 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1284 | COST_LABEL x_17669 -> h_COST_LABEL x_17669
    1285 | CALL (x_17672, x_17671, x_17670) -> h_CALL x_17672 x_17671 x_17670
    1286 | COND (x_17674, x_17673) -> h_COND x_17674 x_17673
    1287 | Step_seq x_17675 -> h_step_seq x_17675
     1284| COST_LABEL x_17613 -> h_COST_LABEL x_17613
     1285| CALL (x_17616, x_17615, x_17614) -> h_CALL x_17616 x_17615 x_17614
     1286| COND (x_17618, x_17617) -> h_COND x_17618 x_17617
     1287| Step_seq x_17619 -> h_step_seq x_17619
    12881288
    12891289(** val joint_step_rect_Type0 :
     
    12921292    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12931293let rec joint_step_rect_Type0 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1294 | COST_LABEL x_17681 -> h_COST_LABEL x_17681
    1295 | CALL (x_17684, x_17683, x_17682) -> h_CALL x_17684 x_17683 x_17682
    1296 | COND (x_17686, x_17685) -> h_COND x_17686 x_17685
    1297 | Step_seq x_17687 -> h_step_seq x_17687
     1294| COST_LABEL x_17625 -> h_COST_LABEL x_17625
     1295| CALL (x_17628, x_17627, x_17626) -> h_CALL x_17628 x_17627 x_17626
     1296| COND (x_17630, x_17629) -> h_COND x_17630 x_17629
     1297| Step_seq x_17631 -> h_step_seq x_17631
    12981298
    12991299(** val joint_step_inv_rect_Type4 :
     
    14701470    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14711471    'a1) -> stmt_params -> 'a1 **)
    1472 let rec stmt_params_rect_Type4 h_mk_stmt_params x_17766 =
     1472let rec stmt_params_rect_Type4 h_mk_stmt_params x_17710 =
    14731473  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1474     has_fcond0 } = x_17766
     1474    has_fcond0 } = x_17710
    14751475  in
    14761476  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    14791479    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14801480    'a1) -> stmt_params -> 'a1 **)
    1481 let rec stmt_params_rect_Type5 h_mk_stmt_params x_17768 =
     1481let rec stmt_params_rect_Type5 h_mk_stmt_params x_17712 =
    14821482  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1483     has_fcond0 } = x_17768
     1483    has_fcond0 } = x_17712
    14841484  in
    14851485  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    14881488    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14891489    'a1) -> stmt_params -> 'a1 **)
    1490 let rec stmt_params_rect_Type3 h_mk_stmt_params x_17770 =
     1490let rec stmt_params_rect_Type3 h_mk_stmt_params x_17714 =
    14911491  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1492     has_fcond0 } = x_17770
     1492    has_fcond0 } = x_17714
    14931493  in
    14941494  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    14971497    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14981498    'a1) -> stmt_params -> 'a1 **)
    1499 let rec stmt_params_rect_Type2 h_mk_stmt_params x_17772 =
     1499let rec stmt_params_rect_Type2 h_mk_stmt_params x_17716 =
    15001500  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1501     has_fcond0 } = x_17772
     1501    has_fcond0 } = x_17716
    15021502  in
    15031503  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    15061506    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    15071507    'a1) -> stmt_params -> 'a1 **)
    1508 let rec stmt_params_rect_Type1 h_mk_stmt_params x_17774 =
     1508let rec stmt_params_rect_Type1 h_mk_stmt_params x_17718 =
    15091509  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1510     has_fcond0 } = x_17774
     1510    has_fcond0 } = x_17718
    15111511  in
    15121512  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    15151515    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    15161516    'a1) -> stmt_params -> 'a1 **)
    1517 let rec stmt_params_rect_Type0 h_mk_stmt_params x_17776 =
     1517let rec stmt_params_rect_Type0 h_mk_stmt_params x_17720 =
    15181518  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1519     has_fcond0 } = x_17776
     1519    has_fcond0 } = x_17720
    15201520  in
    15211521  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    15841584    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    15851585let rec joint_fin_step_rect_Type4 p h_GOTO h_RETURN h_TAILCALL = function
    1586 | GOTO x_17800 -> h_GOTO x_17800
     1586| GOTO x_17744 -> h_GOTO x_17744
    15871587| RETURN -> h_RETURN
    1588 | TAILCALL (x_17802, x_17801) -> h_TAILCALL __ x_17802 x_17801
     1588| TAILCALL (x_17746, x_17745) -> h_TAILCALL __ x_17746 x_17745
    15891589
    15901590(** val joint_fin_step_rect_Type5 :
     
    15921592    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    15931593let rec joint_fin_step_rect_Type5 p h_GOTO h_RETURN h_TAILCALL = function
    1594 | GOTO x_17808 -> h_GOTO x_17808
     1594| GOTO x_17752 -> h_GOTO x_17752
    15951595| RETURN -> h_RETURN
    1596 | TAILCALL (x_17810, x_17809) -> h_TAILCALL __ x_17810 x_17809
     1596| TAILCALL (x_17754, x_17753) -> h_TAILCALL __ x_17754 x_17753
    15971597
    15981598(** val joint_fin_step_rect_Type3 :
     
    16001600    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    16011601let rec joint_fin_step_rect_Type3 p h_GOTO h_RETURN h_TAILCALL = function
    1602 | GOTO x_17816 -> h_GOTO x_17816
     1602| GOTO x_17760 -> h_GOTO x_17760
    16031603| RETURN -> h_RETURN
    1604 | TAILCALL (x_17818, x_17817) -> h_TAILCALL __ x_17818 x_17817
     1604| TAILCALL (x_17762, x_17761) -> h_TAILCALL __ x_17762 x_17761
    16051605
    16061606(** val joint_fin_step_rect_Type2 :
     
    16081608    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    16091609let rec joint_fin_step_rect_Type2 p h_GOTO h_RETURN h_TAILCALL = function
    1610 | GOTO x_17824 -> h_GOTO x_17824
     1610| GOTO x_17768 -> h_GOTO x_17768
    16111611| RETURN -> h_RETURN
    1612 | TAILCALL (x_17826, x_17825) -> h_TAILCALL __ x_17826 x_17825
     1612| TAILCALL (x_17770, x_17769) -> h_TAILCALL __ x_17770 x_17769
    16131613
    16141614(** val joint_fin_step_rect_Type1 :
     
    16161616    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    16171617let rec joint_fin_step_rect_Type1 p h_GOTO h_RETURN h_TAILCALL = function
    1618 | GOTO x_17832 -> h_GOTO x_17832
     1618| GOTO x_17776 -> h_GOTO x_17776
    16191619| RETURN -> h_RETURN
    1620 | TAILCALL (x_17834, x_17833) -> h_TAILCALL __ x_17834 x_17833
     1620| TAILCALL (x_17778, x_17777) -> h_TAILCALL __ x_17778 x_17777
    16211621
    16221622(** val joint_fin_step_rect_Type0 :
     
    16241624    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    16251625let rec joint_fin_step_rect_Type0 p h_GOTO h_RETURN h_TAILCALL = function
    1626 | GOTO x_17840 -> h_GOTO x_17840
     1626| GOTO x_17784 -> h_GOTO x_17784
    16271627| RETURN -> h_RETURN
    1628 | TAILCALL (x_17842, x_17841) -> h_TAILCALL __ x_17842 x_17841
     1628| TAILCALL (x_17786, x_17785) -> h_TAILCALL __ x_17786 x_17785
    16291629
    16301630(** val joint_fin_step_inv_rect_Type4 :
     
    16981698    'a1) -> joint_statement -> 'a1 **)
    16991699let rec joint_statement_rect_Type4 p globals h_sequential h_final h_FCOND = function
    1700 | Sequential (x_17908, x_17907) -> h_sequential x_17908 x_17907
    1701 | Final x_17909 -> h_final x_17909
    1702 | FCOND (x_17912, x_17911, x_17910) -> h_FCOND __ x_17912 x_17911 x_17910
     1700| Sequential (x_17852, x_17851) -> h_sequential x_17852 x_17851
     1701| Final x_17853 -> h_final x_17853
     1702| FCOND (x_17856, x_17855, x_17854) -> h_FCOND __ x_17856 x_17855 x_17854
    17031703
    17041704(** val joint_statement_rect_Type5 :
     
    17071707    'a1) -> joint_statement -> 'a1 **)
    17081708let rec joint_statement_rect_Type5 p globals h_sequential h_final h_FCOND = function
    1709 | Sequential (x_17919, x_17918) -> h_sequential x_17919 x_17918
    1710 | Final x_17920 -> h_final x_17920
    1711 | FCOND (x_17923, x_17922, x_17921) -> h_FCOND __ x_17923 x_17922 x_17921
     1709| Sequential (x_17863, x_17862) -> h_sequential x_17863 x_17862
     1710| Final x_17864 -> h_final x_17864
     1711| FCOND (x_17867, x_17866, x_17865) -> h_FCOND __ x_17867 x_17866 x_17865
    17121712
    17131713(** val joint_statement_rect_Type3 :
     
    17161716    'a1) -> joint_statement -> 'a1 **)
    17171717let rec joint_statement_rect_Type3 p globals h_sequential h_final h_FCOND = function
    1718 | Sequential (x_17930, x_17929) -> h_sequential x_17930 x_17929
    1719 | Final x_17931 -> h_final x_17931
    1720 | FCOND (x_17934, x_17933, x_17932) -> h_FCOND __ x_17934 x_17933 x_17932
     1718| Sequential (x_17874, x_17873) -> h_sequential x_17874 x_17873
     1719| Final x_17875 -> h_final x_17875
     1720| FCOND (x_17878, x_17877, x_17876) -> h_FCOND __ x_17878 x_17877 x_17876
    17211721
    17221722(** val joint_statement_rect_Type2 :
     
    17251725    'a1) -> joint_statement -> 'a1 **)
    17261726let rec joint_statement_rect_Type2 p globals h_sequential h_final h_FCOND = function
    1727 | Sequential (x_17941, x_17940) -> h_sequential x_17941 x_17940
    1728 | Final x_17942 -> h_final x_17942
    1729 | FCOND (x_17945, x_17944, x_17943) -> h_FCOND __ x_17945 x_17944 x_17943
     1727| Sequential (x_17885, x_17884) -> h_sequential x_17885 x_17884
     1728| Final x_17886 -> h_final x_17886
     1729| FCOND (x_17889, x_17888, x_17887) -> h_FCOND __ x_17889 x_17888 x_17887
    17301730
    17311731(** val joint_statement_rect_Type1 :
     
    17341734    'a1) -> joint_statement -> 'a1 **)
    17351735let rec joint_statement_rect_Type1 p globals h_sequential h_final h_FCOND = function
    1736 | Sequential (x_17952, x_17951) -> h_sequential x_17952 x_17951
    1737 | Final x_17953 -> h_final x_17953
    1738 | FCOND (x_17956, x_17955, x_17954) -> h_FCOND __ x_17956 x_17955 x_17954
     1736| Sequential (x_17896, x_17895) -> h_sequential x_17896 x_17895
     1737| Final x_17897 -> h_final x_17897
     1738| FCOND (x_17900, x_17899, x_17898) -> h_FCOND __ x_17900 x_17899 x_17898
    17391739
    17401740(** val joint_statement_rect_Type0 :
     
    17431743    'a1) -> joint_statement -> 'a1 **)
    17441744let rec joint_statement_rect_Type0 p globals h_sequential h_final h_FCOND = function
    1745 | Sequential (x_17963, x_17962) -> h_sequential x_17963 x_17962
    1746 | Final x_17964 -> h_final x_17964
    1747 | FCOND (x_17967, x_17966, x_17965) -> h_FCOND __ x_17967 x_17966 x_17965
     1745| Sequential (x_17907, x_17906) -> h_sequential x_17907 x_17906
     1746| Final x_17908 -> h_final x_17908
     1747| FCOND (x_17911, x_17910, x_17909) -> h_FCOND __ x_17911 x_17910 x_17909
    17481748
    17491749(** val joint_statement_inv_rect_Type4 :
     
    18441844    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18451845    'a1 **)
    1846 let rec params_rect_Type4 h_mk_params x_18040 =
     1846let rec params_rect_Type4 h_mk_params x_17984 =
    18471847  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1848     point_of_label0; point_of_succ = point_of_succ0 } = x_18040
     1848    point_of_label0; point_of_succ = point_of_succ0 } = x_17984
    18491849  in
    18501850  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18551855    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18561856    'a1 **)
    1857 let rec params_rect_Type5 h_mk_params x_18042 =
     1857let rec params_rect_Type5 h_mk_params x_17986 =
    18581858  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1859     point_of_label0; point_of_succ = point_of_succ0 } = x_18042
     1859    point_of_label0; point_of_succ = point_of_succ0 } = x_17986
    18601860  in
    18611861  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18661866    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18671867    'a1 **)
    1868 let rec params_rect_Type3 h_mk_params x_18044 =
     1868let rec params_rect_Type3 h_mk_params x_17988 =
    18691869  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1870     point_of_label0; point_of_succ = point_of_succ0 } = x_18044
     1870    point_of_label0; point_of_succ = point_of_succ0 } = x_17988
    18711871  in
    18721872  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18771877    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18781878    'a1 **)
    1879 let rec params_rect_Type2 h_mk_params x_18046 =
     1879let rec params_rect_Type2 h_mk_params x_17990 =
    18801880  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1881     point_of_label0; point_of_succ = point_of_succ0 } = x_18046
     1881    point_of_label0; point_of_succ = point_of_succ0 } = x_17990
    18821882  in
    18831883  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18881888    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18891889    'a1 **)
    1890 let rec params_rect_Type1 h_mk_params x_18048 =
     1890let rec params_rect_Type1 h_mk_params x_17992 =
    18911891  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1892     point_of_label0; point_of_succ = point_of_succ0 } = x_18048
     1892    point_of_label0; point_of_succ = point_of_succ0 } = x_17992
    18931893  in
    18941894  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18991899    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    19001900    'a1 **)
    1901 let rec params_rect_Type0 h_mk_params x_18050 =
     1901let rec params_rect_Type0 h_mk_params x_17994 =
    19021902  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1903     point_of_label0; point_of_succ = point_of_succ0 } = x_18050
     1903    point_of_label0; point_of_succ = point_of_succ0 } = x_17994
    19041904  in
    19051905  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    20362036
    20372037(** val lin_params_rect_Type4 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2038 let rec lin_params_rect_Type4 h_mk_lin_params x_18073 =
    2039   let l_u_pars = x_18073 in h_mk_lin_params l_u_pars
     2038let rec lin_params_rect_Type4 h_mk_lin_params x_18017 =
     2039  let l_u_pars = x_18017 in h_mk_lin_params l_u_pars
    20402040
    20412041(** val lin_params_rect_Type5 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2042 let rec lin_params_rect_Type5 h_mk_lin_params x_18075 =
    2043   let l_u_pars = x_18075 in h_mk_lin_params l_u_pars
     2042let rec lin_params_rect_Type5 h_mk_lin_params x_18019 =
     2043  let l_u_pars = x_18019 in h_mk_lin_params l_u_pars
    20442044
    20452045(** val lin_params_rect_Type3 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2046 let rec lin_params_rect_Type3 h_mk_lin_params x_18077 =
    2047   let l_u_pars = x_18077 in h_mk_lin_params l_u_pars
     2046let rec lin_params_rect_Type3 h_mk_lin_params x_18021 =
     2047  let l_u_pars = x_18021 in h_mk_lin_params l_u_pars
    20482048
    20492049(** val lin_params_rect_Type2 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2050 let rec lin_params_rect_Type2 h_mk_lin_params x_18079 =
    2051   let l_u_pars = x_18079 in h_mk_lin_params l_u_pars
     2050let rec lin_params_rect_Type2 h_mk_lin_params x_18023 =
     2051  let l_u_pars = x_18023 in h_mk_lin_params l_u_pars
    20522052
    20532053(** val lin_params_rect_Type1 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2054 let rec lin_params_rect_Type1 h_mk_lin_params x_18081 =
    2055   let l_u_pars = x_18081 in h_mk_lin_params l_u_pars
     2054let rec lin_params_rect_Type1 h_mk_lin_params x_18025 =
     2055  let l_u_pars = x_18025 in h_mk_lin_params l_u_pars
    20562056
    20572057(** val lin_params_rect_Type0 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2058 let rec lin_params_rect_Type0 h_mk_lin_params x_18083 =
    2059   let l_u_pars = x_18083 in h_mk_lin_params l_u_pars
     2058let rec lin_params_rect_Type0 h_mk_lin_params x_18027 =
     2059  let l_u_pars = x_18027 in h_mk_lin_params l_u_pars
    20602060
    20612061(** val l_u_pars : lin_params -> uns_params **)
     
    21312131(** val graph_params_rect_Type4 :
    21322132    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2133 let rec graph_params_rect_Type4 h_mk_graph_params x_18099 =
    2134   let g_u_pars = x_18099 in h_mk_graph_params g_u_pars
     2133let rec graph_params_rect_Type4 h_mk_graph_params x_18043 =
     2134  let g_u_pars = x_18043 in h_mk_graph_params g_u_pars
    21352135
    21362136(** val graph_params_rect_Type5 :
    21372137    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2138 let rec graph_params_rect_Type5 h_mk_graph_params x_18101 =
    2139   let g_u_pars = x_18101 in h_mk_graph_params g_u_pars
     2138let rec graph_params_rect_Type5 h_mk_graph_params x_18045 =
     2139  let g_u_pars = x_18045 in h_mk_graph_params g_u_pars
    21402140
    21412141(** val graph_params_rect_Type3 :
    21422142    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2143 let rec graph_params_rect_Type3 h_mk_graph_params x_18103 =
    2144   let g_u_pars = x_18103 in h_mk_graph_params g_u_pars
     2143let rec graph_params_rect_Type3 h_mk_graph_params x_18047 =
     2144  let g_u_pars = x_18047 in h_mk_graph_params g_u_pars
    21452145
    21462146(** val graph_params_rect_Type2 :
    21472147    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2148 let rec graph_params_rect_Type2 h_mk_graph_params x_18105 =
    2149   let g_u_pars = x_18105 in h_mk_graph_params g_u_pars
     2148let rec graph_params_rect_Type2 h_mk_graph_params x_18049 =
     2149  let g_u_pars = x_18049 in h_mk_graph_params g_u_pars
    21502150
    21512151(** val graph_params_rect_Type1 :
    21522152    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2153 let rec graph_params_rect_Type1 h_mk_graph_params x_18107 =
    2154   let g_u_pars = x_18107 in h_mk_graph_params g_u_pars
     2153let rec graph_params_rect_Type1 h_mk_graph_params x_18051 =
     2154  let g_u_pars = x_18051 in h_mk_graph_params g_u_pars
    21552155
    21562156(** val graph_params_rect_Type0 :
    21572157    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2158 let rec graph_params_rect_Type0 h_mk_graph_params x_18109 =
    2159   let g_u_pars = x_18109 in h_mk_graph_params g_u_pars
     2158let rec graph_params_rect_Type0 h_mk_graph_params x_18053 =
     2159  let g_u_pars = x_18053 in h_mk_graph_params g_u_pars
    21602160
    21612161(** val g_u_pars : graph_params -> uns_params **)
     
    22272227    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22282228    'a1) -> joint_internal_function -> 'a1 **)
    2229 let rec joint_internal_function_rect_Type4 p globals h_mk_joint_internal_function x_18125 =
     2229let rec joint_internal_function_rect_Type4 p globals h_mk_joint_internal_function x_18069 =
    22302230  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22312231    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22332233    joint_if_stacksize0; joint_if_local_stacksize =
    22342234    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2235     joint_if_entry = joint_if_entry0 } = x_18125
     2235    joint_if_entry = joint_if_entry0 } = x_18069
    22362236  in
    22372237  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    22432243    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22442244    'a1) -> joint_internal_function -> 'a1 **)
    2245 let rec joint_internal_function_rect_Type5 p globals h_mk_joint_internal_function x_18127 =
     2245let rec joint_internal_function_rect_Type5 p globals h_mk_joint_internal_function x_18071 =
    22462246  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22472247    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22492249    joint_if_stacksize0; joint_if_local_stacksize =
    22502250    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2251     joint_if_entry = joint_if_entry0 } = x_18127
     2251    joint_if_entry = joint_if_entry0 } = x_18071
    22522252  in
    22532253  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    22592259    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22602260    'a1) -> joint_internal_function -> 'a1 **)
    2261 let rec joint_internal_function_rect_Type3 p globals h_mk_joint_internal_function x_18129 =
     2261let rec joint_internal_function_rect_Type3 p globals h_mk_joint_internal_function x_18073 =
    22622262  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22632263    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22652265    joint_if_stacksize0; joint_if_local_stacksize =
    22662266    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2267     joint_if_entry = joint_if_entry0 } = x_18129
     2267    joint_if_entry = joint_if_entry0 } = x_18073
    22682268  in
    22692269  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    22752275    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22762276    'a1) -> joint_internal_function -> 'a1 **)
    2277 let rec joint_internal_function_rect_Type2 p globals h_mk_joint_internal_function x_18131 =
     2277let rec joint_internal_function_rect_Type2 p globals h_mk_joint_internal_function x_18075 =
    22782278  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22792279    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22812281    joint_if_stacksize0; joint_if_local_stacksize =
    22822282    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2283     joint_if_entry = joint_if_entry0 } = x_18131
     2283    joint_if_entry = joint_if_entry0 } = x_18075
    22842284  in
    22852285  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    22912291    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22922292    'a1) -> joint_internal_function -> 'a1 **)
    2293 let rec joint_internal_function_rect_Type1 p globals h_mk_joint_internal_function x_18133 =
     2293let rec joint_internal_function_rect_Type1 p globals h_mk_joint_internal_function x_18077 =
    22942294  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22952295    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22972297    joint_if_stacksize0; joint_if_local_stacksize =
    22982298    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2299     joint_if_entry = joint_if_entry0 } = x_18133
     2299    joint_if_entry = joint_if_entry0 } = x_18077
    23002300  in
    23012301  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    23072307    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    23082308    'a1) -> joint_internal_function -> 'a1 **)
    2309 let rec joint_internal_function_rect_Type0 p globals h_mk_joint_internal_function x_18135 =
     2309let rec joint_internal_function_rect_Type0 p globals h_mk_joint_internal_function x_18079 =
    23102310  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    23112311    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    23132313    joint_if_stacksize0; joint_if_local_stacksize =
    23142314    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2315     joint_if_entry = joint_if_entry0 } = x_18135
     2315    joint_if_entry = joint_if_entry0 } = x_18079
    23162316  in
    23172317  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    25442544    List.list) AST.program -> CostLabel.costlabel -> __ -> 'a1) ->
    25452545    joint_program -> 'a1 **)
    2546 let rec joint_program_rect_Type4 p h_mk_joint_program x_18177 =
     2546let rec joint_program_rect_Type4 p h_mk_joint_program x_18121 =
    25472547  let { jp_functions = jp_functions0; joint_prog = joint_prog0;
    2548     init_cost_label = init_cost_label0 } = x_18177
     2548    init_cost_label = init_cost_label0 } = x_18121
    25492549  in
    25502550  h_mk_joint_program jp_functions0 joint_prog0 init_cost_label0 __
     
    25542554    List.list) AST.program -> CostLabel.costlabel -> __ -> 'a1) ->
    25552555    joint_program -> 'a1 **)
    2556 let rec joint_program_rect_Type5 p h_mk_joint_program x_18179 =
     2556let rec joint_program_rect_Type5 p h_mk_joint_program x_18123 =
    25572557  let { jp_functions = jp_functions0; joint_prog = joint_prog0;
    2558     init_cost_label = init_cost_label0 } = x_18179
     2558    init_cost_label = init_cost_label0 } = x_18123
    25592559  in
    25602560  h_mk_joint_program jp_functions0 joint_prog0 init_cost_label0 __
     
    25642564    List.list) AST.program -> CostLabel.costlabel -> __ -> 'a1) ->
    25652565    joint_program -> 'a1 **)
    2566 let rec joint_program_rect_Type3 p h_mk_joint_program x_18181 =
     2566let rec joint_program_rect_Type3 p h_mk_joint_program x_18125 =
    25672567  let { jp_functions = jp_functions0; joint_prog = joint_prog0;
    2568     init_cost_label = init_cost_label0 } = x_18181
     2568    init_cost_label = init_cost_label0 } = x_18125
    25692569  in
    25702570  h_mk_joint_program jp_functions0 joint_prog0 init_cost_label0 __
     
    25742574    List.list) AST.program -> CostLabel.costlabel -> __ -> 'a1) ->
    25752575    joint_program -> 'a1 **)
    2576 let rec joint_program_rect_Type2 p h_mk_joint_program x_18183 =
     2576let rec joint_program_rect_Type2 p h_mk_joint_program x_18127 =
    25772577  let { jp_functions = jp_functions0; joint_prog = joint_prog0;
    2578     init_cost_label = init_cost_label0 } = x_18183
     2578    init_cost_label = init_cost_label0 } = x_18127
    25792579  in
    25802580  h_mk_joint_program jp_functions0 joint_prog0 init_cost_label0 __
     
    25842584    List.list) AST.program -> CostLabel.costlabel -> __ -> 'a1) ->
    25852585    joint_program -> 'a1 **)
    2586 let rec joint_program_rect_Type1 p h_mk_joint_program x_18185 =
     2586let rec joint_program_rect_Type1 p h_mk_joint_program x_18129 =
    25872587  let { jp_functions = jp_functions0; joint_prog = joint_prog0;
    2588     init_cost_label = init_cost_label0 } = x_18185
     2588    init_cost_label = init_cost_label0 } = x_18129
    25892589  in
    25902590  h_mk_joint_program jp_functions0 joint_prog0 init_cost_label0 __
     
    25942594    List.list) AST.program -> CostLabel.costlabel -> __ -> 'a1) ->
    25952595    joint_program -> 'a1 **)
    2596 let rec joint_program_rect_Type0 p h_mk_joint_program x_18187 =
     2596let rec joint_program_rect_Type0 p h_mk_joint_program x_18131 =
    25972597  let { jp_functions = jp_functions0; joint_prog = joint_prog0;
    2598     init_cost_label = init_cost_label0 } = x_18187
     2598    init_cost_label = init_cost_label0 } = x_18131
    25992599  in
    26002600  h_mk_joint_program jp_functions0 joint_prog0 init_cost_label0 __
  • extracted/joint_LTL_LIN.ml

    r3043 r3059  
    130130    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    131131let rec registers_move_rect_Type4 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    132 | From_acc (x_18694, x_18693) -> h_from_acc x_18694 x_18693
    133 | To_acc (x_18696, x_18695) -> h_to_acc x_18696 x_18695
    134 | Int_to_reg (x_18698, x_18697) -> h_int_to_reg x_18698 x_18697
    135 | Int_to_acc (x_18700, x_18699) -> h_int_to_acc x_18700 x_18699
     132| From_acc (x_18638, x_18637) -> h_from_acc x_18638 x_18637
     133| To_acc (x_18640, x_18639) -> h_to_acc x_18640 x_18639
     134| Int_to_reg (x_18642, x_18641) -> h_int_to_reg x_18642 x_18641
     135| Int_to_acc (x_18644, x_18643) -> h_int_to_acc x_18644 x_18643
    136136
    137137(** val registers_move_rect_Type5 :
     
    140140    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    141141let rec registers_move_rect_Type5 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    142 | From_acc (x_18707, x_18706) -> h_from_acc x_18707 x_18706
    143 | To_acc (x_18709, x_18708) -> h_to_acc x_18709 x_18708
    144 | Int_to_reg (x_18711, x_18710) -> h_int_to_reg x_18711 x_18710
    145 | Int_to_acc (x_18713, x_18712) -> h_int_to_acc x_18713 x_18712
     142| From_acc (x_18651, x_18650) -> h_from_acc x_18651 x_18650
     143| To_acc (x_18653, x_18652) -> h_to_acc x_18653 x_18652
     144| Int_to_reg (x_18655, x_18654) -> h_int_to_reg x_18655 x_18654
     145| Int_to_acc (x_18657, x_18656) -> h_int_to_acc x_18657 x_18656
    146146
    147147(** val registers_move_rect_Type3 :
     
    150150    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    151151let rec registers_move_rect_Type3 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    152 | From_acc (x_18720, x_18719) -> h_from_acc x_18720 x_18719
    153 | To_acc (x_18722, x_18721) -> h_to_acc x_18722 x_18721
    154 | Int_to_reg (x_18724, x_18723) -> h_int_to_reg x_18724 x_18723
    155 | Int_to_acc (x_18726, x_18725) -> h_int_to_acc x_18726 x_18725
     152| From_acc (x_18664, x_18663) -> h_from_acc x_18664 x_18663
     153| To_acc (x_18666, x_18665) -> h_to_acc x_18666 x_18665
     154| Int_to_reg (x_18668, x_18667) -> h_int_to_reg x_18668 x_18667
     155| Int_to_acc (x_18670, x_18669) -> h_int_to_acc x_18670 x_18669
    156156
    157157(** val registers_move_rect_Type2 :
     
    160160    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    161161let rec registers_move_rect_Type2 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    162 | From_acc (x_18733, x_18732) -> h_from_acc x_18733 x_18732
    163 | To_acc (x_18735, x_18734) -> h_to_acc x_18735 x_18734
    164 | Int_to_reg (x_18737, x_18736) -> h_int_to_reg x_18737 x_18736
    165 | Int_to_acc (x_18739, x_18738) -> h_int_to_acc x_18739 x_18738
     162| From_acc (x_18677, x_18676) -> h_from_acc x_18677 x_18676
     163| To_acc (x_18679, x_18678) -> h_to_acc x_18679 x_18678
     164| Int_to_reg (x_18681, x_18680) -> h_int_to_reg x_18681 x_18680
     165| Int_to_acc (x_18683, x_18682) -> h_int_to_acc x_18683 x_18682
    166166
    167167(** val registers_move_rect_Type1 :
     
    170170    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    171171let rec registers_move_rect_Type1 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    172 | From_acc (x_18746, x_18745) -> h_from_acc x_18746 x_18745
    173 | To_acc (x_18748, x_18747) -> h_to_acc x_18748 x_18747
    174 | Int_to_reg (x_18750, x_18749) -> h_int_to_reg x_18750 x_18749
    175 | Int_to_acc (x_18752, x_18751) -> h_int_to_acc x_18752 x_18751
     172| From_acc (x_18690, x_18689) -> h_from_acc x_18690 x_18689
     173| To_acc (x_18692, x_18691) -> h_to_acc x_18692 x_18691
     174| Int_to_reg (x_18694, x_18693) -> h_int_to_reg x_18694 x_18693
     175| Int_to_acc (x_18696, x_18695) -> h_int_to_acc x_18696 x_18695
    176176
    177177(** val registers_move_rect_Type0 :
     
    180180    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    181181let rec registers_move_rect_Type0 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    182 | From_acc (x_18759, x_18758) -> h_from_acc x_18759 x_18758
    183 | To_acc (x_18761, x_18760) -> h_to_acc x_18761 x_18760
    184 | Int_to_reg (x_18763, x_18762) -> h_int_to_reg x_18763 x_18762
    185 | Int_to_acc (x_18765, x_18764) -> h_int_to_acc x_18765 x_18764
     182| From_acc (x_18703, x_18702) -> h_from_acc x_18703 x_18702
     183| To_acc (x_18705, x_18704) -> h_to_acc x_18705 x_18704
     184| Int_to_reg (x_18707, x_18706) -> h_int_to_reg x_18707 x_18706
     185| Int_to_acc (x_18709, x_18708) -> h_int_to_acc x_18709 x_18708
    186186
    187187(** val registers_move_inv_rect_Type4 :
     
    255255| SAVE_CARRY -> h_SAVE_CARRY
    256256| RESTORE_CARRY -> h_RESTORE_CARRY
    257 | LOW_ADDRESS x_18856 -> h_LOW_ADDRESS x_18856
    258 | HIGH_ADDRESS x_18857 -> h_HIGH_ADDRESS x_18857
     257| LOW_ADDRESS x_18800 -> h_LOW_ADDRESS x_18800
     258| HIGH_ADDRESS x_18801 -> h_HIGH_ADDRESS x_18801
    259259
    260260(** val ltl_lin_seq_rect_Type5 :
     
    264264| SAVE_CARRY -> h_SAVE_CARRY
    265265| RESTORE_CARRY -> h_RESTORE_CARRY
    266 | LOW_ADDRESS x_18863 -> h_LOW_ADDRESS x_18863
    267 | HIGH_ADDRESS x_18864 -> h_HIGH_ADDRESS x_18864
     266| LOW_ADDRESS x_18807 -> h_LOW_ADDRESS x_18807
     267| HIGH_ADDRESS x_18808 -> h_HIGH_ADDRESS x_18808
    268268
    269269(** val ltl_lin_seq_rect_Type3 :
     
    273273| SAVE_CARRY -> h_SAVE_CARRY
    274274| RESTORE_CARRY -> h_RESTORE_CARRY
    275 | LOW_ADDRESS x_18870 -> h_LOW_ADDRESS x_18870
    276 | HIGH_ADDRESS x_18871 -> h_HIGH_ADDRESS x_18871
     275| LOW_ADDRESS x_18814 -> h_LOW_ADDRESS x_18814
     276| HIGH_ADDRESS x_18815 -> h_HIGH_ADDRESS x_18815
    277277
    278278(** val ltl_lin_seq_rect_Type2 :
     
    282282| SAVE_CARRY -> h_SAVE_CARRY
    283283| RESTORE_CARRY -> h_RESTORE_CARRY
    284 | LOW_ADDRESS x_18877 -> h_LOW_ADDRESS x_18877
    285 | HIGH_ADDRESS x_18878 -> h_HIGH_ADDRESS x_18878
     284| LOW_ADDRESS x_18821 -> h_LOW_ADDRESS x_18821
     285| HIGH_ADDRESS x_18822 -> h_HIGH_ADDRESS x_18822
    286286
    287287(** val ltl_lin_seq_rect_Type1 :
     
    291291| SAVE_CARRY -> h_SAVE_CARRY
    292292| RESTORE_CARRY -> h_RESTORE_CARRY
    293 | LOW_ADDRESS x_18884 -> h_LOW_ADDRESS x_18884
    294 | HIGH_ADDRESS x_18885 -> h_HIGH_ADDRESS x_18885
     293| LOW_ADDRESS x_18828 -> h_LOW_ADDRESS x_18828
     294| HIGH_ADDRESS x_18829 -> h_HIGH_ADDRESS x_18829
    295295
    296296(** val ltl_lin_seq_rect_Type0 :
     
    300300| SAVE_CARRY -> h_SAVE_CARRY
    301301| RESTORE_CARRY -> h_RESTORE_CARRY
    302 | LOW_ADDRESS x_18891 -> h_LOW_ADDRESS x_18891
    303 | HIGH_ADDRESS x_18892 -> h_HIGH_ADDRESS x_18892
     302| LOW_ADDRESS x_18835 -> h_LOW_ADDRESS x_18835
     303| HIGH_ADDRESS x_18836 -> h_HIGH_ADDRESS x_18836
    304304
    305305(** val ltl_lin_seq_inv_rect_Type4 :
  • extracted/joint_semantics.ml

    r3043 r3059  
    143143    -> 'a1 -> Graphs.label -> ByteValues.program_counter Types.option) ->
    144144    'a2) -> 'a1 genv_gen -> 'a2 **)
    145 let rec genv_gen_rect_Type4 globals h_mk_genv_gen x_965 =
     145let rec genv_gen_rect_Type4 globals h_mk_genv_gen x_24476 =
    146146  let { ge = ge0; stack_sizes = stack_sizes0; premain = premain0;
    147     pc_from_label = pc_from_label0 } = x_965
     147    pc_from_label = pc_from_label0 } = x_24476
    148148  in
    149149  h_mk_genv_gen ge0 __ stack_sizes0 premain0 pc_from_label0
     
    154154    -> 'a1 -> Graphs.label -> ByteValues.program_counter Types.option) ->
    155155    'a2) -> 'a1 genv_gen -> 'a2 **)
    156 let rec genv_gen_rect_Type5 globals h_mk_genv_gen x_967 =
     156let rec genv_gen_rect_Type5 globals h_mk_genv_gen x_24478 =
    157157  let { ge = ge0; stack_sizes = stack_sizes0; premain = premain0;
    158     pc_from_label = pc_from_label0 } = x_967
     158    pc_from_label = pc_from_label0 } = x_24478
    159159  in
    160160  h_mk_genv_gen ge0 __ stack_sizes0 premain0 pc_from_label0
     
    165165    -> 'a1 -> Graphs.label -> ByteValues.program_counter Types.option) ->
    166166    'a2) -> 'a1 genv_gen -> 'a2 **)
    167 let rec genv_gen_rect_Type3 globals h_mk_genv_gen x_969 =
     167let rec genv_gen_rect_Type3 globals h_mk_genv_gen x_24480 =
    168168  let { ge = ge0; stack_sizes = stack_sizes0; premain = premain0;
    169     pc_from_label = pc_from_label0 } = x_969
     169    pc_from_label = pc_from_label0 } = x_24480
    170170  in
    171171  h_mk_genv_gen ge0 __ stack_sizes0 premain0 pc_from_label0
     
    176176    -> 'a1 -> Graphs.label -> ByteValues.program_counter Types.option) ->
    177177    'a2) -> 'a1 genv_gen -> 'a2 **)
    178 let rec genv_gen_rect_Type2 globals h_mk_genv_gen x_971 =
     178let rec genv_gen_rect_Type2 globals h_mk_genv_gen x_24482 =
    179179  let { ge = ge0; stack_sizes = stack_sizes0; premain = premain0;
    180     pc_from_label = pc_from_label0 } = x_971
     180    pc_from_label = pc_from_label0 } = x_24482
    181181  in
    182182  h_mk_genv_gen ge0 __ stack_sizes0 premain0 pc_from_label0
     
    187187    -> 'a1 -> Graphs.label -> ByteValues.program_counter Types.option) ->
    188188    'a2) -> 'a1 genv_gen -> 'a2 **)
    189 let rec genv_gen_rect_Type1 globals h_mk_genv_gen x_973 =
     189let rec genv_gen_rect_Type1 globals h_mk_genv_gen x_24484 =
    190190  let { ge = ge0; stack_sizes = stack_sizes0; premain = premain0;
    191     pc_from_label = pc_from_label0 } = x_973
     191    pc_from_label = pc_from_label0 } = x_24484
    192192  in
    193193  h_mk_genv_gen ge0 __ stack_sizes0 premain0 pc_from_label0
     
    198198    -> 'a1 -> Graphs.label -> ByteValues.program_counter Types.option) ->
    199199    'a2) -> 'a1 genv_gen -> 'a2 **)
    200 let rec genv_gen_rect_Type0 globals h_mk_genv_gen x_975 =
     200let rec genv_gen_rect_Type0 globals h_mk_genv_gen x_24486 =
    201201  let { ge = ge0; stack_sizes = stack_sizes0; premain = premain0;
    202     pc_from_label = pc_from_label0 } = x_975
     202    pc_from_label = pc_from_label0 } = x_24486
    203203  in
    204204  h_mk_genv_gen ge0 __ stack_sizes0 premain0 pc_from_label0
     
    396396    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    397397    'a1) -> sem_state_params -> 'a1 **)
    398 let rec sem_state_params_rect_Type4 h_mk_sem_state_params x_996 =
     398let rec sem_state_params_rect_Type4 h_mk_sem_state_params x_24507 =
    399399  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    400     load_sp0; save_sp = save_sp0 } = x_996
     400    load_sp0; save_sp = save_sp0 } = x_24507
    401401  in
    402402  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    406406    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    407407    'a1) -> sem_state_params -> 'a1 **)
    408 let rec sem_state_params_rect_Type5 h_mk_sem_state_params x_998 =
     408let rec sem_state_params_rect_Type5 h_mk_sem_state_params x_24509 =
    409409  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    410     load_sp0; save_sp = save_sp0 } = x_998
     410    load_sp0; save_sp = save_sp0 } = x_24509
    411411  in
    412412  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    416416    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    417417    'a1) -> sem_state_params -> 'a1 **)
    418 let rec sem_state_params_rect_Type3 h_mk_sem_state_params x_1000 =
     418let rec sem_state_params_rect_Type3 h_mk_sem_state_params x_24511 =
    419419  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    420     load_sp0; save_sp = save_sp0 } = x_1000
     420    load_sp0; save_sp = save_sp0 } = x_24511
    421421  in
    422422  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    426426    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    427427    'a1) -> sem_state_params -> 'a1 **)
    428 let rec sem_state_params_rect_Type2 h_mk_sem_state_params x_1002 =
     428let rec sem_state_params_rect_Type2 h_mk_sem_state_params x_24513 =
    429429  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    430     load_sp0; save_sp = save_sp0 } = x_1002
     430    load_sp0; save_sp = save_sp0 } = x_24513
    431431  in
    432432  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    436436    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    437437    'a1) -> sem_state_params -> 'a1 **)
    438 let rec sem_state_params_rect_Type1 h_mk_sem_state_params x_1004 =
     438let rec sem_state_params_rect_Type1 h_mk_sem_state_params x_24515 =
    439439  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    440     load_sp0; save_sp = save_sp0 } = x_1004
     440    load_sp0; save_sp = save_sp0 } = x_24515
    441441  in
    442442  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    446446    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    447447    'a1) -> sem_state_params -> 'a1 **)
    448 let rec sem_state_params_rect_Type0 h_mk_sem_state_params x_1006 =
     448let rec sem_state_params_rect_Type0 h_mk_sem_state_params x_24517 =
    449449  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    450     load_sp0; save_sp = save_sp0 } = x_1006
     450    load_sp0; save_sp = save_sp0 } = x_24517
    451451  in
    452452  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    527527let rec internal_stack_rect_Type4 h_empty_is h_one_is h_both_is = function
    528528| Empty_is -> h_empty_is
    529 | One_is x_1032 -> h_one_is x_1032
    530 | Both_is (x_1034, x_1033) -> h_both_is x_1034 x_1033
     529| One_is x_24543 -> h_one_is x_24543
     530| Both_is (x_24545, x_24544) -> h_both_is x_24545 x_24544
    531531
    532532(** val internal_stack_rect_Type5 :
     
    535535let rec internal_stack_rect_Type5 h_empty_is h_one_is h_both_is = function
    536536| Empty_is -> h_empty_is
    537 | One_is x_1039 -> h_one_is x_1039
    538 | Both_is (x_1041, x_1040) -> h_both_is x_1041 x_1040
     537| One_is x_24550 -> h_one_is x_24550
     538| Both_is (x_24552, x_24551) -> h_both_is x_24552 x_24551
    539539
    540540(** val internal_stack_rect_Type3 :
     
    543543let rec internal_stack_rect_Type3 h_empty_is h_one_is h_both_is = function
    544544| Empty_is -> h_empty_is
    545 | One_is x_1046 -> h_one_is x_1046
    546 | Both_is (x_1048, x_1047) -> h_both_is x_1048 x_1047
     545| One_is x_24557 -> h_one_is x_24557
     546| Both_is (x_24559, x_24558) -> h_both_is x_24559 x_24558
    547547
    548548(** val internal_stack_rect_Type2 :
     
    551551let rec internal_stack_rect_Type2 h_empty_is h_one_is h_both_is = function
    552552| Empty_is -> h_empty_is
    553 | One_is x_1053 -> h_one_is x_1053
    554 | Both_is (x_1055, x_1054) -> h_both_is x_1055 x_1054
     553| One_is x_24564 -> h_one_is x_24564
     554| Both_is (x_24566, x_24565) -> h_both_is x_24566 x_24565
    555555
    556556(** val internal_stack_rect_Type1 :
     
    559559let rec internal_stack_rect_Type1 h_empty_is h_one_is h_both_is = function
    560560| Empty_is -> h_empty_is
    561 | One_is x_1060 -> h_one_is x_1060
    562 | Both_is (x_1062, x_1061) -> h_both_is x_1062 x_1061
     561| One_is x_24571 -> h_one_is x_24571
     562| Both_is (x_24573, x_24572) -> h_both_is x_24573 x_24572
    563563
    564564(** val internal_stack_rect_Type0 :
     
    567567let rec internal_stack_rect_Type0 h_empty_is h_one_is h_both_is = function
    568568| Empty_is -> h_empty_is
    569 | One_is x_1067 -> h_one_is x_1067
    570 | Both_is (x_1069, x_1068) -> h_both_is x_1069 x_1068
     569| One_is x_24578 -> h_one_is x_24578
     570| Both_is (x_24580, x_24579) -> h_both_is x_24580 x_24579
    571571
    572572(** val internal_stack_inv_rect_Type4 :
     
    652652    sem_state_params -> (__ Types.option -> internal_stack ->
    653653    ByteValues.bebit -> __ -> BEMem.bemem -> Nat.nat -> 'a1) -> state -> 'a1 **)
    654 let rec state_rect_Type4 semp h_mk_state x_1117 =
     654let rec state_rect_Type4 semp h_mk_state x_24628 =
    655655  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    656     m = m0; stack_usage = stack_usage0 } = x_1117
     656    m = m0; stack_usage = stack_usage0 } = x_24628
    657657  in
    658658  h_mk_state st_frms0 istack0 carry0 regs0 m0 stack_usage0
     
    661661    sem_state_params -> (__ Types.option -> internal_stack ->
    662662    ByteValues.bebit -> __ -> BEMem.bemem -> Nat.nat -> 'a1) -> state -> 'a1 **)
    663 let rec state_rect_Type5 semp h_mk_state x_1119 =
     663let rec state_rect_Type5 semp h_mk_state x_24630 =
    664664  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    665     m = m0; stack_usage = stack_usage0 } = x_1119
     665    m = m0; stack_usage = stack_usage0 } = x_24630
    666666  in
    667667  h_mk_state st_frms0 istack0 carry0 regs0 m0 stack_usage0
     
    670670    sem_state_params -> (__ Types.option -> internal_stack ->
    671671    ByteValues.bebit -> __ -> BEMem.bemem -> Nat.nat -> 'a1) -> state -> 'a1 **)
    672 let rec state_rect_Type3 semp h_mk_state x_1121 =
     672let rec state_rect_Type3 semp h_mk_state x_24632 =
    673673  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    674     m = m0; stack_usage = stack_usage0 } = x_1121
     674    m = m0; stack_usage = stack_usage0 } = x_24632
    675675  in
    676676  h_mk_state st_frms0 istack0 carry0 regs0 m0 stack_usage0
     
    679679    sem_state_params -> (__ Types.option -> internal_stack ->
    680680    ByteValues.bebit -> __ -> BEMem.bemem -> Nat.nat -> 'a1) -> state -> 'a1 **)
    681 let rec state_rect_Type2 semp h_mk_state x_1123 =
     681let rec state_rect_Type2 semp h_mk_state x_24634 =
    682682  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    683     m = m0; stack_usage = stack_usage0 } = x_1123
     683    m = m0; stack_usage = stack_usage0 } = x_24634
    684684  in
    685685  h_mk_state st_frms0 istack0 carry0 regs0 m0 stack_usage0
     
    688688    sem_state_params -> (__ Types.option -> internal_stack ->
    689689    ByteValues.bebit -> __ -> BEMem.bemem -> Nat.nat -> 'a1) -> state -> 'a1 **)
    690 let rec state_rect_Type1 semp h_mk_state x_1125 =
     690let rec state_rect_Type1 semp h_mk_state x_24636 =
    691691  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    692     m = m0; stack_usage = stack_usage0 } = x_1125
     692    m = m0; stack_usage = stack_usage0 } = x_24636
    693693  in
    694694  h_mk_state st_frms0 istack0 carry0 regs0 m0 stack_usage0
     
    697697    sem_state_params -> (__ Types.option -> internal_stack ->
    698698    ByteValues.bebit -> __ -> BEMem.bemem -> Nat.nat -> 'a1) -> state -> 'a1 **)
    699 let rec state_rect_Type0 semp h_mk_state x_1127 =
     699let rec state_rect_Type0 semp h_mk_state x_24638 =
    700700  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    701     m = m0; stack_usage = stack_usage0 } = x_1127
     701    m = m0; stack_usage = stack_usage0 } = x_24638
    702702  in
    703703  h_mk_state st_frms0 istack0 carry0 regs0 m0 stack_usage0
     
    775775    sem_state_params -> (state -> ByteValues.program_counter ->
    776776    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    777 let rec state_pc_rect_Type4 semp h_mk_state_pc x_1143 =
    778   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_1143 in
     777let rec state_pc_rect_Type4 semp h_mk_state_pc x_24654 =
     778  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_24654 in
    779779  h_mk_state_pc st_no_pc0 pc0 last_pop0
    780780
     
    782782    sem_state_params -> (state -> ByteValues.program_counter ->
    783783    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    784 let rec state_pc_rect_Type5 semp h_mk_state_pc x_1145 =
    785   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_1145 in
     784let rec state_pc_rect_Type5 semp h_mk_state_pc x_24656 =
     785  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_24656 in
    786786  h_mk_state_pc st_no_pc0 pc0 last_pop0
    787787
     
    789789    sem_state_params -> (state -> ByteValues.program_counter ->
    790790    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    791 let rec state_pc_rect_Type3 semp h_mk_state_pc x_1147 =
    792   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_1147 in
     791let rec state_pc_rect_Type3 semp h_mk_state_pc x_24658 =
     792  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_24658 in
    793793  h_mk_state_pc st_no_pc0 pc0 last_pop0
    794794
     
    796796    sem_state_params -> (state -> ByteValues.program_counter ->
    797797    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    798 let rec state_pc_rect_Type2 semp h_mk_state_pc x_1149 =
    799   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_1149 in
     798let rec state_pc_rect_Type2 semp h_mk_state_pc x_24660 =
     799  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_24660 in
    800800  h_mk_state_pc st_no_pc0 pc0 last_pop0
    801801
     
    803803    sem_state_params -> (state -> ByteValues.program_counter ->
    804804    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    805 let rec state_pc_rect_Type1 semp h_mk_state_pc x_1151 =
    806   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_1151 in
     805let rec state_pc_rect_Type1 semp h_mk_state_pc x_24662 =
     806  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_24662 in
    807807  h_mk_state_pc st_no_pc0 pc0 last_pop0
    808808
     
    810810    sem_state_params -> (state -> ByteValues.program_counter ->
    811811    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    812 let rec state_pc_rect_Type0 semp h_mk_state_pc x_1153 =
    813   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_1153 in
     812let rec state_pc_rect_Type0 semp h_mk_state_pc x_24664 =
     813  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_24664 in
    814814  h_mk_state_pc st_no_pc0 pc0 last_pop0
    815815
     
    11181118    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    11191119    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1120 let rec sem_unserialized_params_rect_Type4 uns_pars h_mk_sem_unserialized_params x_1208 =
     1120let rec sem_unserialized_params_rect_Type4 uns_pars h_mk_sem_unserialized_params x_24719 =
    11211121  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    11221122    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    11301130    set_result0; call_args_for_main = call_args_for_main0;
    11311131    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1132     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_1208
     1132    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_24719
    11331133  in
    11341134  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    11591159    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    11601160    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1161 let rec sem_unserialized_params_rect_Type5 uns_pars h_mk_sem_unserialized_params x_1210 =
     1161let rec sem_unserialized_params_rect_Type5 uns_pars h_mk_sem_unserialized_params x_24721 =
    11621162  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    11631163    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    11711171    set_result0; call_args_for_main = call_args_for_main0;
    11721172    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1173     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_1210
     1173    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_24721
    11741174  in
    11751175  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    12001200    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    12011201    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1202 let rec sem_unserialized_params_rect_Type3 uns_pars h_mk_sem_unserialized_params x_1212 =
     1202let rec sem_unserialized_params_rect_Type3 uns_pars h_mk_sem_unserialized_params x_24723 =
    12031203  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    12041204    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    12121212    set_result0; call_args_for_main = call_args_for_main0;
    12131213    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1214     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_1212
     1214    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_24723
    12151215  in
    12161216  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    12411241    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    12421242    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1243 let rec sem_unserialized_params_rect_Type2 uns_pars h_mk_sem_unserialized_params x_1214 =
     1243let rec sem_unserialized_params_rect_Type2 uns_pars h_mk_sem_unserialized_params x_24725 =
    12441244  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    12451245    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    12531253    set_result0; call_args_for_main = call_args_for_main0;
    12541254    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1255     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_1214
     1255    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_24725
    12561256  in
    12571257  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    12821282    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    12831283    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1284 let rec sem_unserialized_params_rect_Type1 uns_pars h_mk_sem_unserialized_params x_1216 =
     1284let rec sem_unserialized_params_rect_Type1 uns_pars h_mk_sem_unserialized_params x_24727 =
    12851285  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    12861286    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    12941294    set_result0; call_args_for_main = call_args_for_main0;
    12951295    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1296     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_1216
     1296    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_24727
    12971297  in
    12981298  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    13231323    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    13241324    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1325 let rec sem_unserialized_params_rect_Type0 uns_pars h_mk_sem_unserialized_params x_1218 =
     1325let rec sem_unserialized_params_rect_Type0 uns_pars h_mk_sem_unserialized_params x_24729 =
    13261326  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    13271327    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    13351335    set_result0; call_args_for_main = call_args_for_main0;
    13361336    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1337     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_1218
     1337    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_24729
    13381338  in
    13391339  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    17851785    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    17861786    -> __ -> __ -> 'a1) -> serialized_params -> 'a1 **)
    1787 let rec serialized_params_rect_Type4 h_mk_serialized_params x_1288 =
     1787let rec serialized_params_rect_Type4 h_mk_serialized_params x_24799 =
    17881788  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1789     point_of_offset = point_of_offset0 } = x_1288
     1789    point_of_offset = point_of_offset0 } = x_24799
    17901790  in
    17911791  h_mk_serialized_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __
     
    17961796    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    17971797    -> __ -> __ -> 'a1) -> serialized_params -> 'a1 **)
    1798 let rec serialized_params_rect_Type5 h_mk_serialized_params x_1290 =
     1798let rec serialized_params_rect_Type5 h_mk_serialized_params x_24801 =
    17991799  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1800     point_of_offset = point_of_offset0 } = x_1290
     1800    point_of_offset = point_of_offset0 } = x_24801
    18011801  in
    18021802  h_mk_serialized_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __
     
    18071807    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    18081808    -> __ -> __ -> 'a1) -> serialized_params -> 'a1 **)
    1809 let rec serialized_params_rect_Type3 h_mk_serialized_params x_1292 =
     1809let rec serialized_params_rect_Type3 h_mk_serialized_params x_24803 =
    18101810  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1811     point_of_offset = point_of_offset0 } = x_1292
     1811    point_of_offset = point_of_offset0 } = x_24803
    18121812  in
    18131813  h_mk_serialized_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __
     
    18181818    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    18191819    -> __ -> __ -> 'a1) -> serialized_params -> 'a1 **)
    1820 let rec serialized_params_rect_Type2 h_mk_serialized_params x_1294 =
     1820let rec serialized_params_rect_Type2 h_mk_serialized_params x_24805 =
    18211821  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1822     point_of_offset = point_of_offset0 } = x_1294
     1822    point_of_offset = point_of_offset0 } = x_24805
    18231823  in
    18241824  h_mk_serialized_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __
     
    18291829    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    18301830    -> __ -> __ -> 'a1) -> serialized_params -> 'a1 **)
    1831 let rec serialized_params_rect_Type1 h_mk_serialized_params x_1296 =
     1831let rec serialized_params_rect_Type1 h_mk_serialized_params x_24807 =
    18321832  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1833     point_of_offset = point_of_offset0 } = x_1296
     1833    point_of_offset = point_of_offset0 } = x_24807
    18341834  in
    18351835  h_mk_serialized_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __
     
    18401840    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    18411841    -> __ -> __ -> 'a1) -> serialized_params -> 'a1 **)
    1842 let rec serialized_params_rect_Type0 h_mk_serialized_params x_1298 =
     1842let rec serialized_params_rect_Type0 h_mk_serialized_params x_24809 =
    18431843  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1844     point_of_offset = point_of_offset0 } = x_1298
     1844    point_of_offset = point_of_offset0 } = x_24809
    18451845  in
    18461846  h_mk_serialized_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __
     
    19341934    (serialized_params -> (Joint.joint_program ->
    19351935    Joint.joint_closed_internal_function) -> 'a1) -> sem_params -> 'a1 **)
    1936 let rec sem_params_rect_Type4 h_mk_sem_params x_1316 =
    1937   let { spp' = spp'0; pre_main_generator = pre_main_generator0 } = x_1316 in
     1936let rec sem_params_rect_Type4 h_mk_sem_params x_24827 =
     1937  let { spp' = spp'0; pre_main_generator = pre_main_generator0 } = x_24827 in
    19381938  h_mk_sem_params spp'0 pre_main_generator0
    19391939
     
    19411941    (serialized_params -> (Joint.joint_program ->
    19421942    Joint.joint_closed_internal_function) -> 'a1) -> sem_params -> 'a1 **)
    1943 let rec sem_params_rect_Type5 h_mk_sem_params x_1318 =
    1944   let { spp' = spp'0; pre_main_generator = pre_main_generator0 } = x_1318 in
     1943let rec sem_params_rect_Type5 h_mk_sem_params x_24829 =
     1944  let { spp' = spp'0; pre_main_generator = pre_main_generator0 } = x_24829 in
    19451945  h_mk_sem_params spp'0 pre_main_generator0
    19461946
     
    19481948    (serialized_params -> (Joint.joint_program ->
    19491949    Joint.joint_closed_internal_function) -> 'a1) -> sem_params -> 'a1 **)
    1950 let rec sem_params_rect_Type3 h_mk_sem_params x_1320 =
    1951   let { spp' = spp'0; pre_main_generator = pre_main_generator0 } = x_1320 in
     1950let rec sem_params_rect_Type3 h_mk_sem_params x_24831 =
     1951  let { spp' = spp'0; pre_main_generator = pre_main_generator0 } = x_24831 in
    19521952  h_mk_sem_params spp'0 pre_main_generator0
    19531953
     
    19551955    (serialized_params -> (Joint.joint_program ->
    19561956    Joint.joint_closed_internal_function) -> 'a1) -> sem_params -> 'a1 **)
    1957 let rec sem_params_rect_Type2 h_mk_sem_params x_1322 =
    1958   let { spp' = spp'0; pre_main_generator = pre_main_generator0 } = x_1322 in
     1957let rec sem_params_rect_Type2 h_mk_sem_params x_24833 =
     1958  let { spp' = spp'0; pre_main_generator = pre_main_generator0 } = x_24833 in
    19591959  h_mk_sem_params spp'0 pre_main_generator0
    19601960
     
    19621962    (serialized_params -> (Joint.joint_program ->
    19631963    Joint.joint_closed_internal_function) -> 'a1) -> sem_params -> 'a1 **)
    1964 let rec sem_params_rect_Type1 h_mk_sem_params x_1324 =
    1965   let { spp' = spp'0; pre_main_generator = pre_main_generator0 } = x_1324 in
     1964let rec sem_params_rect_Type1 h_mk_sem_params x_24835 =
     1965  let { spp' = spp'0; pre_main_generator = pre_main_generator0 } = x_24835 in
    19661966  h_mk_sem_params spp'0 pre_main_generator0
    19671967
     
    19691969    (serialized_params -> (Joint.joint_program ->
    19701970    Joint.joint_closed_internal_function) -> 'a1) -> sem_params -> 'a1 **)
    1971 let rec sem_params_rect_Type0 h_mk_sem_params x_1326 =
    1972   let { spp' = spp'0; pre_main_generator = pre_main_generator0 } = x_1326 in
     1971let rec sem_params_rect_Type0 h_mk_sem_params x_24837 =
     1972  let { spp' = spp'0; pre_main_generator = pre_main_generator0 } = x_24837 in
    19731973  h_mk_sem_params spp'0 pre_main_generator0
    19741974
  • extracted/lINToASM.ml

    r3043 r3059  
    140140    Identifiers.identifier_map -> ASM.identifier Identifiers.identifier_map
    141141    Identifiers.identifier_map -> Positive.pos -> 'a1) -> aSM_universe -> 'a1 **)
    142 let rec aSM_universe_rect_Type4 h_mk_ASM_universe x_3 =
     142let rec aSM_universe_rect_Type4 h_mk_ASM_universe x_21483 =
    143143  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    144144    ident_map0; label_map = label_map0; fresh_cost_label =
    145     fresh_cost_label0 } = x_3
     145    fresh_cost_label0 } = x_21483
    146146  in
    147147  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    152152    Identifiers.identifier_map -> ASM.identifier Identifiers.identifier_map
    153153    Identifiers.identifier_map -> Positive.pos -> 'a1) -> aSM_universe -> 'a1 **)
    154 let rec aSM_universe_rect_Type5 h_mk_ASM_universe x_5 =
     154let rec aSM_universe_rect_Type5 h_mk_ASM_universe x_21485 =
    155155  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    156156    ident_map0; label_map = label_map0; fresh_cost_label =
    157     fresh_cost_label0 } = x_5
     157    fresh_cost_label0 } = x_21485
    158158  in
    159159  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    164164    Identifiers.identifier_map -> ASM.identifier Identifiers.identifier_map
    165165    Identifiers.identifier_map -> Positive.pos -> 'a1) -> aSM_universe -> 'a1 **)
    166 let rec aSM_universe_rect_Type3 h_mk_ASM_universe x_7 =
     166let rec aSM_universe_rect_Type3 h_mk_ASM_universe x_21487 =
    167167  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    168168    ident_map0; label_map = label_map0; fresh_cost_label =
    169     fresh_cost_label0 } = x_7
     169    fresh_cost_label0 } = x_21487
    170170  in
    171171  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    176176    Identifiers.identifier_map -> ASM.identifier Identifiers.identifier_map
    177177    Identifiers.identifier_map -> Positive.pos -> 'a1) -> aSM_universe -> 'a1 **)
    178 let rec aSM_universe_rect_Type2 h_mk_ASM_universe x_9 =
     178let rec aSM_universe_rect_Type2 h_mk_ASM_universe x_21489 =
    179179  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    180180    ident_map0; label_map = label_map0; fresh_cost_label =
    181     fresh_cost_label0 } = x_9
     181    fresh_cost_label0 } = x_21489
    182182  in
    183183  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    188188    Identifiers.identifier_map -> ASM.identifier Identifiers.identifier_map
    189189    Identifiers.identifier_map -> Positive.pos -> 'a1) -> aSM_universe -> 'a1 **)
    190 let rec aSM_universe_rect_Type1 h_mk_ASM_universe x_11 =
     190let rec aSM_universe_rect_Type1 h_mk_ASM_universe x_21491 =
    191191  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    192192    ident_map0; label_map = label_map0; fresh_cost_label =
    193     fresh_cost_label0 } = x_11
     193    fresh_cost_label0 } = x_21491
    194194  in
    195195  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    200200    Identifiers.identifier_map -> ASM.identifier Identifiers.identifier_map
    201201    Identifiers.identifier_map -> Positive.pos -> 'a1) -> aSM_universe -> 'a1 **)
    202 let rec aSM_universe_rect_Type0 h_mk_ASM_universe x_13 =
     202let rec aSM_universe_rect_Type0 h_mk_ASM_universe x_21493 =
    203203  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    204204    ident_map0; label_map = label_map0; fresh_cost_label =
    205     fresh_cost_label0 } = x_13
     205    fresh_cost_label0 } = x_21493
    206206  in
    207207  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    303303        (Identifiers.empty_map PreIdentifiers.LabelTag)
    304304    in
    305     let { Types.fst = eta2; Types.snd = lmap0 } =
     305    let { Types.fst = eta28616; Types.snd = lmap0 } =
    306306      match Identifiers.lookup PreIdentifiers.LabelTag lmap l with
    307307      | Types.None ->
     
    315315          lmap }
    316316    in
    317     let { Types.fst = id; Types.snd = univ } = eta2 in
     317    let { Types.fst = id; Types.snd = univ } = eta28616 in
    318318    { Types.fst = { id_univ = univ; current_funct = current; ident_map =
    319319    u.ident_map; label_map =
     
    10501050    (ASM.identifier, BitVector.word) Types.prod List.list -> 'a1) ->
    10511051    init_mutable -> 'a1 **)
    1052 let rec init_mutable_rect_Type4 h_mk_init_mutable x_29 =
     1052let rec init_mutable_rect_Type4 h_mk_init_mutable x_21509 =
    10531053  let { virtual_dptr = virtual_dptr0; actual_dptr = actual_dptr0;
    1054     built_code = built_code0; built_preamble = built_preamble0 } = x_29
     1054    built_code = built_code0; built_preamble = built_preamble0 } = x_21509
    10551055  in
    10561056  h_mk_init_mutable virtual_dptr0 actual_dptr0 built_code0 built_preamble0
     
    10601060    (ASM.identifier, BitVector.word) Types.prod List.list -> 'a1) ->
    10611061    init_mutable -> 'a1 **)
    1062 let rec init_mutable_rect_Type5 h_mk_init_mutable x_31 =
     1062let rec init_mutable_rect_Type5 h_mk_init_mutable x_21511 =
    10631063  let { virtual_dptr = virtual_dptr0; actual_dptr = actual_dptr0;
    1064     built_code = built_code0; built_preamble = built_preamble0 } = x_31
     1064    built_code = built_code0; built_preamble = built_preamble0 } = x_21511
    10651065  in
    10661066  h_mk_init_mutable virtual_dptr0 actual_dptr0 built_code0 built_preamble0
     
    10701070    (ASM.identifier, BitVector.word) Types.prod List.list -> 'a1) ->
    10711071    init_mutable -> 'a1 **)
    1072 let rec init_mutable_rect_Type3 h_mk_init_mutable x_33 =
     1072let rec init_mutable_rect_Type3 h_mk_init_mutable x_21513 =
    10731073  let { virtual_dptr = virtual_dptr0; actual_dptr = actual_dptr0;
    1074     built_code = built_code0; built_preamble = built_preamble0 } = x_33
     1074    built_code = built_code0; built_preamble = built_preamble0 } = x_21513
    10751075  in
    10761076  h_mk_init_mutable virtual_dptr0 actual_dptr0 built_code0 built_preamble0
     
    10801080    (ASM.identifier, BitVector.word) Types.prod List.list -> 'a1) ->
    10811081    init_mutable -> 'a1 **)
    1082 let rec init_mutable_rect_Type2 h_mk_init_mutable x_35 =
     1082let rec init_mutable_rect_Type2 h_mk_init_mutable x_21515 =
    10831083  let { virtual_dptr = virtual_dptr0; actual_dptr = actual_dptr0;
    1084     built_code = built_code0; built_preamble = built_preamble0 } = x_35
     1084    built_code = built_code0; built_preamble = built_preamble0 } = x_21515
    10851085  in
    10861086  h_mk_init_mutable virtual_dptr0 actual_dptr0 built_code0 built_preamble0
     
    10901090    (ASM.identifier, BitVector.word) Types.prod List.list -> 'a1) ->
    10911091    init_mutable -> 'a1 **)
    1092 let rec init_mutable_rect_Type1 h_mk_init_mutable x_37 =
     1092let rec init_mutable_rect_Type1 h_mk_init_mutable x_21517 =
    10931093  let { virtual_dptr = virtual_dptr0; actual_dptr = actual_dptr0;
    1094     built_code = built_code0; built_preamble = built_preamble0 } = x_37
     1094    built_code = built_code0; built_preamble = built_preamble0 } = x_21517
    10951095  in
    10961096  h_mk_init_mutable virtual_dptr0 actual_dptr0 built_code0 built_preamble0
     
    11001100    (ASM.identifier, BitVector.word) Types.prod List.list -> 'a1) ->
    11011101    init_mutable -> 'a1 **)
    1102 let rec init_mutable_rect_Type0 h_mk_init_mutable x_39 =
     1102let rec init_mutable_rect_Type0 h_mk_init_mutable x_21519 =
    11031103  let { virtual_dptr = virtual_dptr0; actual_dptr = actual_dptr0;
    1104     built_code = built_code0; built_preamble = built_preamble0 } = x_39
     1104    built_code = built_code0; built_preamble = built_preamble0 } = x_21519
    11051105  in
    11061106  h_mk_init_mutable virtual_dptr0 actual_dptr0 built_code0 built_preamble0
     
    12211221
    12221222(** val do_store_init_data :
    1223     AST.init_data -> init_mutable Monad.smax_def__o__monad -> init_mutable
     1223    init_mutable Monad.smax_def__o__monad -> AST.init_data -> init_mutable
    12241224    Monad.smax_def__o__monad **)
    1225 let do_store_init_data data m_mut =
     1225let do_store_init_data m_mut data =
    12261226  Monad.m_bind0 (Monad.smax_def State.state_monad) m_mut (fun mut ->
    12271227    let store_byte = fun by -> store_byte_or_Identifier (Types.Inl by) in
     
    12821282
    12831283(** val do_store_global :
    1284     ((AST.ident, AST.region) Types.prod, AST.init_data List.list) Types.prod
    1285     -> init_mutable Monad.smax_def__o__monad -> init_mutable
     1284    init_mutable Monad.smax_def__o__monad -> ((AST.ident, AST.region)
     1285    Types.prod, AST.init_data List.list) Types.prod -> init_mutable
    12861286    Monad.smax_def__o__monad **)
    1287 let do_store_global id_reg_data m_mut =
     1287let do_store_global m_mut id_reg_data =
    12881288  Monad.m_bind0 (Monad.smax_def State.state_monad) m_mut (fun mut ->
    1289     let { Types.fst = eta19; Types.snd = data } = id_reg_data in
    1290     let { Types.fst = id; Types.snd = reg } = eta19 in
     1289    let { Types.fst = eta28633; Types.snd = data } = id_reg_data in
     1290    let { Types.fst = id; Types.snd = reg } = eta28633 in
    12911291    Monad.m_bind0 (Monad.smax_def State.state_monad) (identifier_of_ident id)
    12921292      (fun id0 ->
     
    12991299        mut.built_preamble)) }
    13001300      in
    1301       List.foldr do_store_init_data
     1301      Util.foldl do_store_init_data
    13021302        (Monad.m_return0 (Monad.smax_def State.state_monad) mut0) data))
    13031303
     
    13261326      in
    13271327      Monad.m_bind0 (Monad.smax_def State.state_monad)
    1328         (List.foldr do_store_global
     1328        (Util.foldl do_store_global
    13291329          (Monad.m_return0 (Monad.smax_def State.state_monad) mut)
    13301330          p.Joint.joint_prog.AST.prog_vars) (fun globals_init ->
  • extracted/lINToASM.mli

    r3043 r3059  
    333333
    334334val do_store_init_data :
    335   AST.init_data -> init_mutable Monad.smax_def__o__monad -> init_mutable
     335  init_mutable Monad.smax_def__o__monad -> AST.init_data -> init_mutable
    336336  Monad.smax_def__o__monad
    337337
    338338val do_store_global :
    339   ((AST.ident, AST.region) Types.prod, AST.init_data List.list) Types.prod ->
    340   init_mutable Monad.smax_def__o__monad -> init_mutable
     339  init_mutable Monad.smax_def__o__monad -> ((AST.ident, AST.region)
     340  Types.prod, AST.init_data List.list) Types.prod -> init_mutable
    341341  Monad.smax_def__o__monad
    342342
  • extracted/listb_extra.ml

    r2730 r3059  
    3333open Util
    3434
     35open Setoids
     36
     37open Monad
     38
     39open Option
     40
     41open Lists
     42
  • extracted/listb_extra.mli

    r2730 r3059  
    3333open Util
    3434
     35open Setoids
     36
     37open Monad
     38
     39open Option
     40
     41open Lists
     42
  • extracted/measurable.ml

    r3043 r3059  
    114114    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    115115    'a1) -> classified_system -> 'a1 **)
    116 let rec classified_system_rect_Type4 h_mk_classified_system x_783 =
     116let rec classified_system_rect_Type4 h_mk_classified_system x_23662 =
    117117  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    118118    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
    119     x_783
     119    x_23662
    120120  in
    121121  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    126126    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    127127    'a1) -> classified_system -> 'a1 **)
    128 let rec classified_system_rect_Type5 h_mk_classified_system x_785 =
     128let rec classified_system_rect_Type5 h_mk_classified_system x_23664 =
    129129  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    130130    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
    131     x_785
     131    x_23664
    132132  in
    133133  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    138138    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    139139    'a1) -> classified_system -> 'a1 **)
    140 let rec classified_system_rect_Type3 h_mk_classified_system x_787 =
     140let rec classified_system_rect_Type3 h_mk_classified_system x_23666 =
    141141  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    142142    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
    143     x_787
     143    x_23666
    144144  in
    145145  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    150150    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    151151    'a1) -> classified_system -> 'a1 **)
    152 let rec classified_system_rect_Type2 h_mk_classified_system x_789 =
     152let rec classified_system_rect_Type2 h_mk_classified_system x_23668 =
    153153  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    154154    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
    155     x_789
     155    x_23668
    156156  in
    157157  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    162162    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    163163    'a1) -> classified_system -> 'a1 **)
    164 let rec classified_system_rect_Type1 h_mk_classified_system x_791 =
     164let rec classified_system_rect_Type1 h_mk_classified_system x_23670 =
    165165  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    166166    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
    167     x_791
     167    x_23670
    168168  in
    169169  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    174174    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    175175    'a1) -> classified_system -> 'a1 **)
    176 let rec classified_system_rect_Type0 h_mk_classified_system x_793 =
     176let rec classified_system_rect_Type0 h_mk_classified_system x_23672 =
    177177  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    178178    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
    179     x_793
     179    x_23672
    180180  in
    181181  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    353353    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    354354    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    355 let rec preclassified_system_rect_Type4 h_mk_preclassified_system x_813 =
     355let rec preclassified_system_rect_Type4 h_mk_preclassified_system x_23692 =
    356356  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    357     pcs_classify0; pcs_callee = pcs_callee0 } = x_813
     357    pcs_classify0; pcs_callee = pcs_callee0 } = x_23692
    358358  in
    359359  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    363363    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    364364    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    365 let rec preclassified_system_rect_Type5 h_mk_preclassified_system x_815 =
     365let rec preclassified_system_rect_Type5 h_mk_preclassified_system x_23694 =
    366366  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    367     pcs_classify0; pcs_callee = pcs_callee0 } = x_815
     367    pcs_classify0; pcs_callee = pcs_callee0 } = x_23694
    368368  in
    369369  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    373373    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    374374    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    375 let rec preclassified_system_rect_Type3 h_mk_preclassified_system x_817 =
     375let rec preclassified_system_rect_Type3 h_mk_preclassified_system x_23696 =
    376376  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    377     pcs_classify0; pcs_callee = pcs_callee0 } = x_817
     377    pcs_classify0; pcs_callee = pcs_callee0 } = x_23696
    378378  in
    379379  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    383383    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    384384    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    385 let rec preclassified_system_rect_Type2 h_mk_preclassified_system x_819 =
     385let rec preclassified_system_rect_Type2 h_mk_preclassified_system x_23698 =
    386386  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    387     pcs_classify0; pcs_callee = pcs_callee0 } = x_819
     387    pcs_classify0; pcs_callee = pcs_callee0 } = x_23698
    388388  in
    389389  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    393393    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    394394    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    395 let rec preclassified_system_rect_Type1 h_mk_preclassified_system x_821 =
     395let rec preclassified_system_rect_Type1 h_mk_preclassified_system x_23700 =
    396396  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    397     pcs_classify0; pcs_callee = pcs_callee0 } = x_821
     397    pcs_classify0; pcs_callee = pcs_callee0 } = x_23700
    398398  in
    399399  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    403403    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    404404    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    405 let rec preclassified_system_rect_Type0 h_mk_preclassified_system x_823 =
     405let rec preclassified_system_rect_Type0 h_mk_preclassified_system x_23702 =
    406406  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    407     pcs_classify0; pcs_callee = pcs_callee0 } = x_823
     407    pcs_classify0; pcs_callee = pcs_callee0 } = x_23702
    408408  in
    409409  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
  • extracted/rTL.ml

    r3043 r3059  
    125125    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    126126let rec rtl_seq_rect_Type4 h_rtl_stack_address = function
    127 | Rtl_stack_address (x_18207, x_18206) -> h_rtl_stack_address x_18207 x_18206
     127| Rtl_stack_address (x_18151, x_18150) -> h_rtl_stack_address x_18151 x_18150
    128128
    129129(** val rtl_seq_rect_Type5 :
    130130    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    131131let rec rtl_seq_rect_Type5 h_rtl_stack_address = function
    132 | Rtl_stack_address (x_18211, x_18210) -> h_rtl_stack_address x_18211 x_18210
     132| Rtl_stack_address (x_18155, x_18154) -> h_rtl_stack_address x_18155 x_18154
    133133
    134134(** val rtl_seq_rect_Type3 :
    135135    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    136136let rec rtl_seq_rect_Type3 h_rtl_stack_address = function
    137 | Rtl_stack_address (x_18215, x_18214) -> h_rtl_stack_address x_18215 x_18214
     137| Rtl_stack_address (x_18159, x_18158) -> h_rtl_stack_address x_18159 x_18158
    138138
    139139(** val rtl_seq_rect_Type2 :
    140140    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    141141let rec rtl_seq_rect_Type2 h_rtl_stack_address = function
    142 | Rtl_stack_address (x_18219, x_18218) -> h_rtl_stack_address x_18219 x_18218
     142| Rtl_stack_address (x_18163, x_18162) -> h_rtl_stack_address x_18163 x_18162
    143143
    144144(** val rtl_seq_rect_Type1 :
    145145    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    146146let rec rtl_seq_rect_Type1 h_rtl_stack_address = function
    147 | Rtl_stack_address (x_18223, x_18222) -> h_rtl_stack_address x_18223 x_18222
     147| Rtl_stack_address (x_18167, x_18166) -> h_rtl_stack_address x_18167 x_18166
    148148
    149149(** val rtl_seq_rect_Type0 :
    150150    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    151151let rec rtl_seq_rect_Type0 h_rtl_stack_address = function
    152 | Rtl_stack_address (x_18227, x_18226) -> h_rtl_stack_address x_18227 x_18226
     152| Rtl_stack_address (x_18171, x_18170) -> h_rtl_stack_address x_18171 x_18170
    153153
    154154(** val rtl_seq_inv_rect_Type4 :
  • extracted/rTL_semantics.ml

    r3043 r3059  
    157157    (ByteValues.beval Identifiers.identifier_map -> ByteValues.xpointer ->
    158158    'a1) -> reg_sp -> 'a1 **)
    159 let rec reg_sp_rect_Type4 h_mk_reg_sp x_3 =
    160   let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_3 in
     159let rec reg_sp_rect_Type4 h_mk_reg_sp x_25168 =
     160  let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_25168 in
    161161  h_mk_reg_sp reg_sp_env0 stackp0
    162162
     
    164164    (ByteValues.beval Identifiers.identifier_map -> ByteValues.xpointer ->
    165165    'a1) -> reg_sp -> 'a1 **)
    166 let rec reg_sp_rect_Type5 h_mk_reg_sp x_5 =
    167   let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_5 in
     166let rec reg_sp_rect_Type5 h_mk_reg_sp x_25170 =
     167  let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_25170 in
    168168  h_mk_reg_sp reg_sp_env0 stackp0
    169169