Changeset 2873


Ignore:
Timestamp:
Mar 14, 2013, 10:37:39 PM (4 years ago)
Author:
sacerdot
Message:

Extracted again.

Location:
extracted
Files:
31 edited

Legend:

Unmodified
Added
Removed
  • extracted/aSM.ml

    r2867 r2873  
    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_22052 -> h_DIRECT x_22052
    116 | INDIRECT x_22053 -> h_INDIRECT x_22053
    117 | EXT_INDIRECT x_22054 -> h_EXT_INDIRECT x_22054
    118 | REGISTER x_22055 -> h_REGISTER x_22055
     115| DIRECT x_22221 -> h_DIRECT x_22221
     116| INDIRECT x_22222 -> h_INDIRECT x_22222
     117| EXT_INDIRECT x_22223 -> h_EXT_INDIRECT x_22223
     118| REGISTER x_22224 -> h_REGISTER x_22224
    119119| ACC_A -> h_ACC_A
    120120| ACC_B -> h_ACC_B
    121121| DPTR -> h_DPTR
    122 | DATA x_22056 -> h_DATA x_22056
    123 | DATA16 x_22057 -> h_DATA16 x_22057
     122| DATA x_22225 -> h_DATA x_22225
     123| DATA16 x_22226 -> h_DATA16 x_22226
    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_22058 -> h_BIT_ADDR x_22058
    130 | N_BIT_ADDR x_22059 -> h_N_BIT_ADDR x_22059
    131 | RELATIVE x_22060 -> h_RELATIVE x_22060
    132 | ADDR11 x_22061 -> h_ADDR11 x_22061
    133 | ADDR16 x_22062 -> h_ADDR16 x_22062
     129| BIT_ADDR x_22227 -> h_BIT_ADDR x_22227
     130| N_BIT_ADDR x_22228 -> h_N_BIT_ADDR x_22228
     131| RELATIVE x_22229 -> h_RELATIVE x_22229
     132| ADDR11 x_22230 -> h_ADDR11 x_22230
     133| ADDR16 x_22231 -> h_ADDR16 x_22231
    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_22083 -> h_DIRECT x_22083
    144 | INDIRECT x_22084 -> h_INDIRECT x_22084
    145 | EXT_INDIRECT x_22085 -> h_EXT_INDIRECT x_22085
    146 | REGISTER x_22086 -> h_REGISTER x_22086
     143| DIRECT x_22252 -> h_DIRECT x_22252
     144| INDIRECT x_22253 -> h_INDIRECT x_22253
     145| EXT_INDIRECT x_22254 -> h_EXT_INDIRECT x_22254
     146| REGISTER x_22255 -> h_REGISTER x_22255
    147147| ACC_A -> h_ACC_A
    148148| ACC_B -> h_ACC_B
    149149| DPTR -> h_DPTR
    150 | DATA x_22087 -> h_DATA x_22087
    151 | DATA16 x_22088 -> h_DATA16 x_22088
     150| DATA x_22256 -> h_DATA x_22256
     151| DATA16 x_22257 -> h_DATA16 x_22257
    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_22089 -> h_BIT_ADDR x_22089
    158 | N_BIT_ADDR x_22090 -> h_N_BIT_ADDR x_22090
    159 | RELATIVE x_22091 -> h_RELATIVE x_22091
    160 | ADDR11 x_22092 -> h_ADDR11 x_22092
    161 | ADDR16 x_22093 -> h_ADDR16 x_22093
     157| BIT_ADDR x_22258 -> h_BIT_ADDR x_22258
     158| N_BIT_ADDR x_22259 -> h_N_BIT_ADDR x_22259
     159| RELATIVE x_22260 -> h_RELATIVE x_22260
     160| ADDR11 x_22261 -> h_ADDR11 x_22261
     161| ADDR16 x_22262 -> h_ADDR16 x_22262
    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_22114 -> h_DIRECT x_22114
    172 | INDIRECT x_22115 -> h_INDIRECT x_22115
    173 | EXT_INDIRECT x_22116 -> h_EXT_INDIRECT x_22116
    174 | REGISTER x_22117 -> h_REGISTER x_22117
     171| DIRECT x_22283 -> h_DIRECT x_22283
     172| INDIRECT x_22284 -> h_INDIRECT x_22284
     173| EXT_INDIRECT x_22285 -> h_EXT_INDIRECT x_22285
     174| REGISTER x_22286 -> h_REGISTER x_22286
    175175| ACC_A -> h_ACC_A
    176176| ACC_B -> h_ACC_B
    177177| DPTR -> h_DPTR
    178 | DATA x_22118 -> h_DATA x_22118
    179 | DATA16 x_22119 -> h_DATA16 x_22119
     178| DATA x_22287 -> h_DATA x_22287
     179| DATA16 x_22288 -> h_DATA16 x_22288
    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_22120 -> h_BIT_ADDR x_22120
    186 | N_BIT_ADDR x_22121 -> h_N_BIT_ADDR x_22121
    187 | RELATIVE x_22122 -> h_RELATIVE x_22122
    188 | ADDR11 x_22123 -> h_ADDR11 x_22123
    189 | ADDR16 x_22124 -> h_ADDR16 x_22124
     185| BIT_ADDR x_22289 -> h_BIT_ADDR x_22289
     186| N_BIT_ADDR x_22290 -> h_N_BIT_ADDR x_22290
     187| RELATIVE x_22291 -> h_RELATIVE x_22291
     188| ADDR11 x_22292 -> h_ADDR11 x_22292
     189| ADDR16 x_22293 -> h_ADDR16 x_22293
    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_22145 -> h_DIRECT x_22145
    200 | INDIRECT x_22146 -> h_INDIRECT x_22146
    201 | EXT_INDIRECT x_22147 -> h_EXT_INDIRECT x_22147
    202 | REGISTER x_22148 -> h_REGISTER x_22148
     199| DIRECT x_22314 -> h_DIRECT x_22314
     200| INDIRECT x_22315 -> h_INDIRECT x_22315
     201| EXT_INDIRECT x_22316 -> h_EXT_INDIRECT x_22316
     202| REGISTER x_22317 -> h_REGISTER x_22317
    203203| ACC_A -> h_ACC_A
    204204| ACC_B -> h_ACC_B
    205205| DPTR -> h_DPTR
    206 | DATA x_22149 -> h_DATA x_22149
    207 | DATA16 x_22150 -> h_DATA16 x_22150
     206| DATA x_22318 -> h_DATA x_22318
     207| DATA16 x_22319 -> h_DATA16 x_22319
    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_22151 -> h_BIT_ADDR x_22151
    214 | N_BIT_ADDR x_22152 -> h_N_BIT_ADDR x_22152
    215 | RELATIVE x_22153 -> h_RELATIVE x_22153
    216 | ADDR11 x_22154 -> h_ADDR11 x_22154
    217 | ADDR16 x_22155 -> h_ADDR16 x_22155
     213| BIT_ADDR x_22320 -> h_BIT_ADDR x_22320
     214| N_BIT_ADDR x_22321 -> h_N_BIT_ADDR x_22321
     215| RELATIVE x_22322 -> h_RELATIVE x_22322
     216| ADDR11 x_22323 -> h_ADDR11 x_22323
     217| ADDR16 x_22324 -> h_ADDR16 x_22324
    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_22176 -> h_DIRECT x_22176
    228 | INDIRECT x_22177 -> h_INDIRECT x_22177
    229 | EXT_INDIRECT x_22178 -> h_EXT_INDIRECT x_22178
    230 | REGISTER x_22179 -> h_REGISTER x_22179
     227| DIRECT x_22345 -> h_DIRECT x_22345
     228| INDIRECT x_22346 -> h_INDIRECT x_22346
     229| EXT_INDIRECT x_22347 -> h_EXT_INDIRECT x_22347
     230| REGISTER x_22348 -> h_REGISTER x_22348
    231231| ACC_A -> h_ACC_A
    232232| ACC_B -> h_ACC_B
    233233| DPTR -> h_DPTR
    234 | DATA x_22180 -> h_DATA x_22180
    235 | DATA16 x_22181 -> h_DATA16 x_22181
     234| DATA x_22349 -> h_DATA x_22349
     235| DATA16 x_22350 -> h_DATA16 x_22350
    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_22182 -> h_BIT_ADDR x_22182
    242 | N_BIT_ADDR x_22183 -> h_N_BIT_ADDR x_22183
    243 | RELATIVE x_22184 -> h_RELATIVE x_22184
    244 | ADDR11 x_22185 -> h_ADDR11 x_22185
    245 | ADDR16 x_22186 -> h_ADDR16 x_22186
     241| BIT_ADDR x_22351 -> h_BIT_ADDR x_22351
     242| N_BIT_ADDR x_22352 -> h_N_BIT_ADDR x_22352
     243| RELATIVE x_22353 -> h_RELATIVE x_22353
     244| ADDR11 x_22354 -> h_ADDR11 x_22354
     245| ADDR16 x_22355 -> h_ADDR16 x_22355
    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_22207 -> h_DIRECT x_22207
    256 | INDIRECT x_22208 -> h_INDIRECT x_22208
    257 | EXT_INDIRECT x_22209 -> h_EXT_INDIRECT x_22209
    258 | REGISTER x_22210 -> h_REGISTER x_22210
     255| DIRECT x_22376 -> h_DIRECT x_22376
     256| INDIRECT x_22377 -> h_INDIRECT x_22377
     257| EXT_INDIRECT x_22378 -> h_EXT_INDIRECT x_22378
     258| REGISTER x_22379 -> h_REGISTER x_22379
    259259| ACC_A -> h_ACC_A
    260260| ACC_B -> h_ACC_B
    261261| DPTR -> h_DPTR
    262 | DATA x_22211 -> h_DATA x_22211
    263 | DATA16 x_22212 -> h_DATA16 x_22212
     262| DATA x_22380 -> h_DATA x_22380
     263| DATA16 x_22381 -> h_DATA16 x_22381
    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_22213 -> h_BIT_ADDR x_22213
    270 | N_BIT_ADDR x_22214 -> h_N_BIT_ADDR x_22214
    271 | RELATIVE x_22215 -> h_RELATIVE x_22215
    272 | ADDR11 x_22216 -> h_ADDR11 x_22216
    273 | ADDR16 x_22217 -> h_ADDR16 x_22217
     269| BIT_ADDR x_22382 -> h_BIT_ADDR x_22382
     270| N_BIT_ADDR x_22383 -> h_N_BIT_ADDR x_22383
     271| RELATIVE x_22384 -> h_RELATIVE x_22384
     272| ADDR11 x_22385 -> h_ADDR11 x_22385
     273| ADDR16 x_22386 -> h_ADDR16 x_22386
    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_22685 =
    1929   let subaddressing_modeel = x_22685 in
     1928let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_22854 =
     1929  let subaddressing_modeel = x_22854 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_22687 =
    1936   let subaddressing_modeel = x_22687 in
     1935let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_22856 =
     1936  let subaddressing_modeel = x_22856 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_22689 =
    1943   let subaddressing_modeel = x_22689 in
     1942let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_22858 =
     1943  let subaddressing_modeel = x_22858 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_22691 =
    1950   let subaddressing_modeel = x_22691 in
     1949let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_22860 =
     1950  let subaddressing_modeel = x_22860 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_22693 =
    1957   let subaddressing_modeel = x_22693 in
     1956let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_22862 =
     1957  let subaddressing_modeel = x_22862 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_22695 =
    1964   let subaddressing_modeel = x_22695 in
     1963let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_22864 =
     1964  let subaddressing_modeel = x_22864 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_22797, x_22796) -> h_ADD x_22797 x_22796
    2291 | ADDC (x_22799, x_22798) -> h_ADDC x_22799 x_22798
    2292 | SUBB (x_22801, x_22800) -> h_SUBB x_22801 x_22800
    2293 | INC x_22802 -> h_INC x_22802
    2294 | DEC x_22803 -> h_DEC x_22803
    2295 | MUL (x_22805, x_22804) -> h_MUL x_22805 x_22804
    2296 | DIV (x_22807, x_22806) -> h_DIV x_22807 x_22806
    2297 | DA x_22808 -> h_DA x_22808
    2298 | JC x_22809 -> h_JC x_22809
    2299 | JNC x_22810 -> h_JNC x_22810
    2300 | JB (x_22812, x_22811) -> h_JB x_22812 x_22811
    2301 | JNB (x_22814, x_22813) -> h_JNB x_22814 x_22813
    2302 | JBC (x_22816, x_22815) -> h_JBC x_22816 x_22815
    2303 | JZ x_22817 -> h_JZ x_22817
    2304 | JNZ x_22818 -> h_JNZ x_22818
    2305 | CJNE (x_22820, x_22819) -> h_CJNE x_22820 x_22819
    2306 | DJNZ (x_22822, x_22821) -> h_DJNZ x_22822 x_22821
    2307 | ANL x_22823 -> h_ANL x_22823
    2308 | ORL x_22824 -> h_ORL x_22824
    2309 | XRL x_22825 -> h_XRL x_22825
    2310 | CLR x_22826 -> h_CLR x_22826
    2311 | CPL x_22827 -> h_CPL x_22827
    2312 | RL x_22828 -> h_RL x_22828
    2313 | RLC x_22829 -> h_RLC x_22829
    2314 | RR x_22830 -> h_RR x_22830
    2315 | RRC x_22831 -> h_RRC x_22831
    2316 | SWAP x_22832 -> h_SWAP x_22832
    2317 | MOV x_22833 -> h_MOV x_22833
    2318 | MOVX x_22834 -> h_MOVX x_22834
    2319 | SETB x_22835 -> h_SETB x_22835
    2320 | PUSH x_22836 -> h_PUSH x_22836
    2321 | POP x_22837 -> h_POP x_22837
    2322 | XCH (x_22839, x_22838) -> h_XCH x_22839 x_22838
    2323 | XCHD (x_22841, x_22840) -> h_XCHD x_22841 x_22840
     2290| ADD (x_22966, x_22965) -> h_ADD x_22966 x_22965
     2291| ADDC (x_22968, x_22967) -> h_ADDC x_22968 x_22967
     2292| SUBB (x_22970, x_22969) -> h_SUBB x_22970 x_22969
     2293| INC x_22971 -> h_INC x_22971
     2294| DEC x_22972 -> h_DEC x_22972
     2295| MUL (x_22974, x_22973) -> h_MUL x_22974 x_22973
     2296| DIV (x_22976, x_22975) -> h_DIV x_22976 x_22975
     2297| DA x_22977 -> h_DA x_22977
     2298| JC x_22978 -> h_JC x_22978
     2299| JNC x_22979 -> h_JNC x_22979
     2300| JB (x_22981, x_22980) -> h_JB x_22981 x_22980
     2301| JNB (x_22983, x_22982) -> h_JNB x_22983 x_22982
     2302| JBC (x_22985, x_22984) -> h_JBC x_22985 x_22984
     2303| JZ x_22986 -> h_JZ x_22986
     2304| JNZ x_22987 -> h_JNZ x_22987
     2305| CJNE (x_22989, x_22988) -> h_CJNE x_22989 x_22988
     2306| DJNZ (x_22991, x_22990) -> h_DJNZ x_22991 x_22990
     2307| ANL x_22992 -> h_ANL x_22992
     2308| ORL x_22993 -> h_ORL x_22993
     2309| XRL x_22994 -> h_XRL x_22994
     2310| CLR x_22995 -> h_CLR x_22995
     2311| CPL x_22996 -> h_CPL x_22996
     2312| RL x_22997 -> h_RL x_22997
     2313| RLC x_22998 -> h_RLC x_22998
     2314| RR x_22999 -> h_RR x_22999
     2315| RRC x_23000 -> h_RRC x_23000
     2316| SWAP x_23001 -> h_SWAP x_23001
     2317| MOV x_23002 -> h_MOV x_23002
     2318| MOVX x_23003 -> h_MOVX x_23003
     2319| SETB x_23004 -> h_SETB x_23004
     2320| PUSH x_23005 -> h_PUSH x_23005
     2321| POP x_23006 -> h_POP x_23006
     2322| XCH (x_23008, x_23007) -> h_XCH x_23008 x_23007
     2323| XCHD (x_23010, x_23009) -> h_XCHD x_23010 x_23009
    23242324| RET -> h_RET
    23252325| RETI -> h_RETI
    23262326| NOP -> h_NOP
    2327 | JMP x_22842 -> h_JMP x_22842
     2327| JMP x_23011 -> h_JMP x_23011
    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_22883, x_22882) -> h_ADD x_22883 x_22882
    2366 | ADDC (x_22885, x_22884) -> h_ADDC x_22885 x_22884
    2367 | SUBB (x_22887, x_22886) -> h_SUBB x_22887 x_22886
    2368 | INC x_22888 -> h_INC x_22888
    2369 | DEC x_22889 -> h_DEC x_22889
    2370 | MUL (x_22891, x_22890) -> h_MUL x_22891 x_22890
    2371 | DIV (x_22893, x_22892) -> h_DIV x_22893 x_22892
    2372 | DA x_22894 -> h_DA x_22894
    2373 | JC x_22895 -> h_JC x_22895
    2374 | JNC x_22896 -> h_JNC x_22896
    2375 | JB (x_22898, x_22897) -> h_JB x_22898 x_22897
    2376 | JNB (x_22900, x_22899) -> h_JNB x_22900 x_22899
    2377 | JBC (x_22902, x_22901) -> h_JBC x_22902 x_22901
    2378 | JZ x_22903 -> h_JZ x_22903
    2379 | JNZ x_22904 -> h_JNZ x_22904
    2380 | CJNE (x_22906, x_22905) -> h_CJNE x_22906 x_22905
    2381 | DJNZ (x_22908, x_22907) -> h_DJNZ x_22908 x_22907
    2382 | ANL x_22909 -> h_ANL x_22909
    2383 | ORL x_22910 -> h_ORL x_22910
    2384 | XRL x_22911 -> h_XRL x_22911
    2385 | CLR x_22912 -> h_CLR x_22912
    2386 | CPL x_22913 -> h_CPL x_22913
    2387 | RL x_22914 -> h_RL x_22914
    2388 | RLC x_22915 -> h_RLC x_22915
    2389 | RR x_22916 -> h_RR x_22916
    2390 | RRC x_22917 -> h_RRC x_22917
    2391 | SWAP x_22918 -> h_SWAP x_22918
    2392 | MOV x_22919 -> h_MOV x_22919
    2393 | MOVX x_22920 -> h_MOVX x_22920
    2394 | SETB x_22921 -> h_SETB x_22921
    2395 | PUSH x_22922 -> h_PUSH x_22922
    2396 | POP x_22923 -> h_POP x_22923
    2397 | XCH (x_22925, x_22924) -> h_XCH x_22925 x_22924
    2398 | XCHD (x_22927, x_22926) -> h_XCHD x_22927 x_22926
     2365| ADD (x_23052, x_23051) -> h_ADD x_23052 x_23051
     2366| ADDC (x_23054, x_23053) -> h_ADDC x_23054 x_23053
     2367| SUBB (x_23056, x_23055) -> h_SUBB x_23056 x_23055
     2368| INC x_23057 -> h_INC x_23057
     2369| DEC x_23058 -> h_DEC x_23058
     2370| MUL (x_23060, x_23059) -> h_MUL x_23060 x_23059
     2371| DIV (x_23062, x_23061) -> h_DIV x_23062 x_23061
     2372| DA x_23063 -> h_DA x_23063
     2373| JC x_23064 -> h_JC x_23064
     2374| JNC x_23065 -> h_JNC x_23065
     2375| JB (x_23067, x_23066) -> h_JB x_23067 x_23066
     2376| JNB (x_23069, x_23068) -> h_JNB x_23069 x_23068
     2377| JBC (x_23071, x_23070) -> h_JBC x_23071 x_23070
     2378| JZ x_23072 -> h_JZ x_23072
     2379| JNZ x_23073 -> h_JNZ x_23073
     2380| CJNE (x_23075, x_23074) -> h_CJNE x_23075 x_23074
     2381| DJNZ (x_23077, x_23076) -> h_DJNZ x_23077 x_23076
     2382| ANL x_23078 -> h_ANL x_23078
     2383| ORL x_23079 -> h_ORL x_23079
     2384| XRL x_23080 -> h_XRL x_23080
     2385| CLR x_23081 -> h_CLR x_23081
     2386| CPL x_23082 -> h_CPL x_23082
     2387| RL x_23083 -> h_RL x_23083
     2388| RLC x_23084 -> h_RLC x_23084
     2389| RR x_23085 -> h_RR x_23085
     2390| RRC x_23086 -> h_RRC x_23086
     2391| SWAP x_23087 -> h_SWAP x_23087
     2392| MOV x_23088 -> h_MOV x_23088
     2393| MOVX x_23089 -> h_MOVX x_23089
     2394| SETB x_23090 -> h_SETB x_23090
     2395| PUSH x_23091 -> h_PUSH x_23091
     2396| POP x_23092 -> h_POP x_23092
     2397| XCH (x_23094, x_23093) -> h_XCH x_23094 x_23093
     2398| XCHD (x_23096, x_23095) -> h_XCHD x_23096 x_23095
    23992399| RET -> h_RET
    24002400| RETI -> h_RETI
    24012401| NOP -> h_NOP
    2402 | JMP x_22928 -> h_JMP x_22928
     2402| JMP x_23097 -> h_JMP x_23097
    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_22969, x_22968) -> h_ADD x_22969 x_22968
    2441 | ADDC (x_22971, x_22970) -> h_ADDC x_22971 x_22970
    2442 | SUBB (x_22973, x_22972) -> h_SUBB x_22973 x_22972
    2443 | INC x_22974 -> h_INC x_22974
    2444 | DEC x_22975 -> h_DEC x_22975
    2445 | MUL (x_22977, x_22976) -> h_MUL x_22977 x_22976
    2446 | DIV (x_22979, x_22978) -> h_DIV x_22979 x_22978
    2447 | DA x_22980 -> h_DA x_22980
    2448 | JC x_22981 -> h_JC x_22981
    2449 | JNC x_22982 -> h_JNC x_22982
    2450 | JB (x_22984, x_22983) -> h_JB x_22984 x_22983
    2451 | JNB (x_22986, x_22985) -> h_JNB x_22986 x_22985
    2452 | JBC (x_22988, x_22987) -> h_JBC x_22988 x_22987
    2453 | JZ x_22989 -> h_JZ x_22989
    2454 | JNZ x_22990 -> h_JNZ x_22990
    2455 | CJNE (x_22992, x_22991) -> h_CJNE x_22992 x_22991
    2456 | DJNZ (x_22994, x_22993) -> h_DJNZ x_22994 x_22993
    2457 | ANL x_22995 -> h_ANL x_22995
    2458 | ORL x_22996 -> h_ORL x_22996
    2459 | XRL x_22997 -> h_XRL x_22997
    2460 | CLR x_22998 -> h_CLR x_22998
    2461 | CPL x_22999 -> h_CPL x_22999
    2462 | RL x_23000 -> h_RL x_23000
    2463 | RLC x_23001 -> h_RLC x_23001
    2464 | RR x_23002 -> h_RR x_23002
    2465 | RRC x_23003 -> h_RRC x_23003
    2466 | SWAP x_23004 -> h_SWAP x_23004
    2467 | MOV x_23005 -> h_MOV x_23005
    2468 | MOVX x_23006 -> h_MOVX x_23006
    2469 | SETB x_23007 -> h_SETB x_23007
    2470 | PUSH x_23008 -> h_PUSH x_23008
    2471 | POP x_23009 -> h_POP x_23009
    2472 | XCH (x_23011, x_23010) -> h_XCH x_23011 x_23010
    2473 | XCHD (x_23013, x_23012) -> h_XCHD x_23013 x_23012
     2440| ADD (x_23138, x_23137) -> h_ADD x_23138 x_23137
     2441| ADDC (x_23140, x_23139) -> h_ADDC x_23140 x_23139
     2442| SUBB (x_23142, x_23141) -> h_SUBB x_23142 x_23141
     2443| INC x_23143 -> h_INC x_23143
     2444| DEC x_23144 -> h_DEC x_23144
     2445| MUL (x_23146, x_23145) -> h_MUL x_23146 x_23145
     2446| DIV (x_23148, x_23147) -> h_DIV x_23148 x_23147
     2447| DA x_23149 -> h_DA x_23149
     2448| JC x_23150 -> h_JC x_23150
     2449| JNC x_23151 -> h_JNC x_23151
     2450| JB (x_23153, x_23152) -> h_JB x_23153 x_23152
     2451| JNB (x_23155, x_23154) -> h_JNB x_23155 x_23154
     2452| JBC (x_23157, x_23156) -> h_JBC x_23157 x_23156
     2453| JZ x_23158 -> h_JZ x_23158
     2454| JNZ x_23159 -> h_JNZ x_23159
     2455| CJNE (x_23161, x_23160) -> h_CJNE x_23161 x_23160
     2456| DJNZ (x_23163, x_23162) -> h_DJNZ x_23163 x_23162
     2457| ANL x_23164 -> h_ANL x_23164
     2458| ORL x_23165 -> h_ORL x_23165
     2459| XRL x_23166 -> h_XRL x_23166
     2460| CLR x_23167 -> h_CLR x_23167
     2461| CPL x_23168 -> h_CPL x_23168
     2462| RL x_23169 -> h_RL x_23169
     2463| RLC x_23170 -> h_RLC x_23170
     2464| RR x_23171 -> h_RR x_23171
     2465| RRC x_23172 -> h_RRC x_23172
     2466| SWAP x_23173 -> h_SWAP x_23173
     2467| MOV x_23174 -> h_MOV x_23174
     2468| MOVX x_23175 -> h_MOVX x_23175
     2469| SETB x_23176 -> h_SETB x_23176
     2470| PUSH x_23177 -> h_PUSH x_23177
     2471| POP x_23178 -> h_POP x_23178
     2472| XCH (x_23180, x_23179) -> h_XCH x_23180 x_23179
     2473| XCHD (x_23182, x_23181) -> h_XCHD x_23182 x_23181
    24742474| RET -> h_RET
    24752475| RETI -> h_RETI
    24762476| NOP -> h_NOP
    2477 | JMP x_23014 -> h_JMP x_23014
     2477| JMP x_23183 -> h_JMP x_23183
    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_23055, x_23054) -> h_ADD x_23055 x_23054
    2516 | ADDC (x_23057, x_23056) -> h_ADDC x_23057 x_23056
    2517 | SUBB (x_23059, x_23058) -> h_SUBB x_23059 x_23058
    2518 | INC x_23060 -> h_INC x_23060
    2519 | DEC x_23061 -> h_DEC x_23061
    2520 | MUL (x_23063, x_23062) -> h_MUL x_23063 x_23062
    2521 | DIV (x_23065, x_23064) -> h_DIV x_23065 x_23064
    2522 | DA x_23066 -> h_DA x_23066
    2523 | JC x_23067 -> h_JC x_23067
    2524 | JNC x_23068 -> h_JNC x_23068
    2525 | JB (x_23070, x_23069) -> h_JB x_23070 x_23069
    2526 | JNB (x_23072, x_23071) -> h_JNB x_23072 x_23071
    2527 | JBC (x_23074, x_23073) -> h_JBC x_23074 x_23073
    2528 | JZ x_23075 -> h_JZ x_23075
    2529 | JNZ x_23076 -> h_JNZ x_23076
    2530 | CJNE (x_23078, x_23077) -> h_CJNE x_23078 x_23077
    2531 | DJNZ (x_23080, x_23079) -> h_DJNZ x_23080 x_23079
    2532 | ANL x_23081 -> h_ANL x_23081
    2533 | ORL x_23082 -> h_ORL x_23082
    2534 | XRL x_23083 -> h_XRL x_23083
    2535 | CLR x_23084 -> h_CLR x_23084
    2536 | CPL x_23085 -> h_CPL x_23085
    2537 | RL x_23086 -> h_RL x_23086
    2538 | RLC x_23087 -> h_RLC x_23087
    2539 | RR x_23088 -> h_RR x_23088
    2540 | RRC x_23089 -> h_RRC x_23089
    2541 | SWAP x_23090 -> h_SWAP x_23090
    2542 | MOV x_23091 -> h_MOV x_23091
    2543 | MOVX x_23092 -> h_MOVX x_23092
    2544 | SETB x_23093 -> h_SETB x_23093
    2545 | PUSH x_23094 -> h_PUSH x_23094
    2546 | POP x_23095 -> h_POP x_23095
    2547 | XCH (x_23097, x_23096) -> h_XCH x_23097 x_23096
    2548 | XCHD (x_23099, x_23098) -> h_XCHD x_23099 x_23098
     2515| ADD (x_23224, x_23223) -> h_ADD x_23224 x_23223
     2516| ADDC (x_23226, x_23225) -> h_ADDC x_23226 x_23225
     2517| SUBB (x_23228, x_23227) -> h_SUBB x_23228 x_23227
     2518| INC x_23229 -> h_INC x_23229
     2519| DEC x_23230 -> h_DEC x_23230
     2520| MUL (x_23232, x_23231) -> h_MUL x_23232 x_23231
     2521| DIV (x_23234, x_23233) -> h_DIV x_23234 x_23233
     2522| DA x_23235 -> h_DA x_23235
     2523| JC x_23236 -> h_JC x_23236
     2524| JNC x_23237 -> h_JNC x_23237
     2525| JB (x_23239, x_23238) -> h_JB x_23239 x_23238
     2526| JNB (x_23241, x_23240) -> h_JNB x_23241 x_23240
     2527| JBC (x_23243, x_23242) -> h_JBC x_23243 x_23242
     2528| JZ x_23244 -> h_JZ x_23244
     2529| JNZ x_23245 -> h_JNZ x_23245
     2530| CJNE (x_23247, x_23246) -> h_CJNE x_23247 x_23246
     2531| DJNZ (x_23249, x_23248) -> h_DJNZ x_23249 x_23248
     2532| ANL x_23250 -> h_ANL x_23250
     2533| ORL x_23251 -> h_ORL x_23251
     2534| XRL x_23252 -> h_XRL x_23252
     2535| CLR x_23253 -> h_CLR x_23253
     2536| CPL x_23254 -> h_CPL x_23254
     2537| RL x_23255 -> h_RL x_23255
     2538| RLC x_23256 -> h_RLC x_23256
     2539| RR x_23257 -> h_RR x_23257
     2540| RRC x_23258 -> h_RRC x_23258
     2541| SWAP x_23259 -> h_SWAP x_23259
     2542| MOV x_23260 -> h_MOV x_23260
     2543| MOVX x_23261 -> h_MOVX x_23261
     2544| SETB x_23262 -> h_SETB x_23262
     2545| PUSH x_23263 -> h_PUSH x_23263
     2546| POP x_23264 -> h_POP x_23264
     2547| XCH (x_23266, x_23265) -> h_XCH x_23266 x_23265
     2548| XCHD (x_23268, x_23267) -> h_XCHD x_23268 x_23267
    25492549| RET -> h_RET
    25502550| RETI -> h_RETI
    25512551| NOP -> h_NOP
    2552 | JMP x_23100 -> h_JMP x_23100
     2552| JMP x_23269 -> h_JMP x_23269
    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_23141, x_23140) -> h_ADD x_23141 x_23140
    2591 | ADDC (x_23143, x_23142) -> h_ADDC x_23143 x_23142
    2592 | SUBB (x_23145, x_23144) -> h_SUBB x_23145 x_23144
    2593 | INC x_23146 -> h_INC x_23146
    2594 | DEC x_23147 -> h_DEC x_23147
    2595 | MUL (x_23149, x_23148) -> h_MUL x_23149 x_23148
    2596 | DIV (x_23151, x_23150) -> h_DIV x_23151 x_23150
    2597 | DA x_23152 -> h_DA x_23152
    2598 | JC x_23153 -> h_JC x_23153
    2599 | JNC x_23154 -> h_JNC x_23154
    2600 | JB (x_23156, x_23155) -> h_JB x_23156 x_23155
    2601 | JNB (x_23158, x_23157) -> h_JNB x_23158 x_23157
    2602 | JBC (x_23160, x_23159) -> h_JBC x_23160 x_23159
    2603 | JZ x_23161 -> h_JZ x_23161
    2604 | JNZ x_23162 -> h_JNZ x_23162
    2605 | CJNE (x_23164, x_23163) -> h_CJNE x_23164 x_23163
    2606 | DJNZ (x_23166, x_23165) -> h_DJNZ x_23166 x_23165
    2607 | ANL x_23167 -> h_ANL x_23167
    2608 | ORL x_23168 -> h_ORL x_23168
    2609 | XRL x_23169 -> h_XRL x_23169
    2610 | CLR x_23170 -> h_CLR x_23170
    2611 | CPL x_23171 -> h_CPL x_23171
    2612 | RL x_23172 -> h_RL x_23172
    2613 | RLC x_23173 -> h_RLC x_23173
    2614 | RR x_23174 -> h_RR x_23174
    2615 | RRC x_23175 -> h_RRC x_23175
    2616 | SWAP x_23176 -> h_SWAP x_23176
    2617 | MOV x_23177 -> h_MOV x_23177
    2618 | MOVX x_23178 -> h_MOVX x_23178
    2619 | SETB x_23179 -> h_SETB x_23179
    2620 | PUSH x_23180 -> h_PUSH x_23180
    2621 | POP x_23181 -> h_POP x_23181
    2622 | XCH (x_23183, x_23182) -> h_XCH x_23183 x_23182
    2623 | XCHD (x_23185, x_23184) -> h_XCHD x_23185 x_23184
     2590| ADD (x_23310, x_23309) -> h_ADD x_23310 x_23309
     2591| ADDC (x_23312, x_23311) -> h_ADDC x_23312 x_23311
     2592| SUBB (x_23314, x_23313) -> h_SUBB x_23314 x_23313
     2593| INC x_23315 -> h_INC x_23315
     2594| DEC x_23316 -> h_DEC x_23316
     2595| MUL (x_23318, x_23317) -> h_MUL x_23318 x_23317
     2596| DIV (x_23320, x_23319) -> h_DIV x_23320 x_23319
     2597| DA x_23321 -> h_DA x_23321
     2598| JC x_23322 -> h_JC x_23322
     2599| JNC x_23323 -> h_JNC x_23323
     2600| JB (x_23325, x_23324) -> h_JB x_23325 x_23324
     2601| JNB (x_23327, x_23326) -> h_JNB x_23327 x_23326
     2602| JBC (x_23329, x_23328) -> h_JBC x_23329 x_23328
     2603| JZ x_23330 -> h_JZ x_23330
     2604| JNZ x_23331 -> h_JNZ x_23331
     2605| CJNE (x_23333, x_23332) -> h_CJNE x_23333 x_23332
     2606| DJNZ (x_23335, x_23334) -> h_DJNZ x_23335 x_23334
     2607| ANL x_23336 -> h_ANL x_23336
     2608| ORL x_23337 -> h_ORL x_23337
     2609| XRL x_23338 -> h_XRL x_23338
     2610| CLR x_23339 -> h_CLR x_23339
     2611| CPL x_23340 -> h_CPL x_23340
     2612| RL x_23341 -> h_RL x_23341
     2613| RLC x_23342 -> h_RLC x_23342
     2614| RR x_23343 -> h_RR x_23343
     2615| RRC x_23344 -> h_RRC x_23344
     2616| SWAP x_23345 -> h_SWAP x_23345
     2617| MOV x_23346 -> h_MOV x_23346
     2618| MOVX x_23347 -> h_MOVX x_23347
     2619| SETB x_23348 -> h_SETB x_23348
     2620| PUSH x_23349 -> h_PUSH x_23349
     2621| POP x_23350 -> h_POP x_23350
     2622| XCH (x_23352, x_23351) -> h_XCH x_23352 x_23351
     2623| XCHD (x_23354, x_23353) -> h_XCHD x_23354 x_23353
    26242624| RET -> h_RET
    26252625| RETI -> h_RETI
    26262626| NOP -> h_NOP
    2627 | JMP x_23186 -> h_JMP x_23186
     2627| JMP x_23355 -> h_JMP x_23355
    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_23227, x_23226) -> h_ADD x_23227 x_23226
    2666 | ADDC (x_23229, x_23228) -> h_ADDC x_23229 x_23228
    2667 | SUBB (x_23231, x_23230) -> h_SUBB x_23231 x_23230
    2668 | INC x_23232 -> h_INC x_23232
    2669 | DEC x_23233 -> h_DEC x_23233
    2670 | MUL (x_23235, x_23234) -> h_MUL x_23235 x_23234
    2671 | DIV (x_23237, x_23236) -> h_DIV x_23237 x_23236
    2672 | DA x_23238 -> h_DA x_23238
    2673 | JC x_23239 -> h_JC x_23239
    2674 | JNC x_23240 -> h_JNC x_23240
    2675 | JB (x_23242, x_23241) -> h_JB x_23242 x_23241
    2676 | JNB (x_23244, x_23243) -> h_JNB x_23244 x_23243
    2677 | JBC (x_23246, x_23245) -> h_JBC x_23246 x_23245
    2678 | JZ x_23247 -> h_JZ x_23247
    2679 | JNZ x_23248 -> h_JNZ x_23248
    2680 | CJNE (x_23250, x_23249) -> h_CJNE x_23250 x_23249
    2681 | DJNZ (x_23252, x_23251) -> h_DJNZ x_23252 x_23251
    2682 | ANL x_23253 -> h_ANL x_23253
    2683 | ORL x_23254 -> h_ORL x_23254
    2684 | XRL x_23255 -> h_XRL x_23255
    2685 | CLR x_23256 -> h_CLR x_23256
    2686 | CPL x_23257 -> h_CPL x_23257
    2687 | RL x_23258 -> h_RL x_23258
    2688 | RLC x_23259 -> h_RLC x_23259
    2689 | RR x_23260 -> h_RR x_23260
    2690 | RRC x_23261 -> h_RRC x_23261
    2691 | SWAP x_23262 -> h_SWAP x_23262
    2692 | MOV x_23263 -> h_MOV x_23263
    2693 | MOVX x_23264 -> h_MOVX x_23264
    2694 | SETB x_23265 -> h_SETB x_23265
    2695 | PUSH x_23266 -> h_PUSH x_23266
    2696 | POP x_23267 -> h_POP x_23267
    2697 | XCH (x_23269, x_23268) -> h_XCH x_23269 x_23268
    2698 | XCHD (x_23271, x_23270) -> h_XCHD x_23271 x_23270
     2665| ADD (x_23396, x_23395) -> h_ADD x_23396 x_23395
     2666| ADDC (x_23398, x_23397) -> h_ADDC x_23398 x_23397
     2667| SUBB (x_23400, x_23399) -> h_SUBB x_23400 x_23399
     2668| INC x_23401 -> h_INC x_23401
     2669| DEC x_23402 -> h_DEC x_23402
     2670| MUL (x_23404, x_23403) -> h_MUL x_23404 x_23403
     2671| DIV (x_23406, x_23405) -> h_DIV x_23406 x_23405
     2672| DA x_23407 -> h_DA x_23407
     2673| JC x_23408 -> h_JC x_23408
     2674| JNC x_23409 -> h_JNC x_23409
     2675| JB (x_23411, x_23410) -> h_JB x_23411 x_23410
     2676| JNB (x_23413, x_23412) -> h_JNB x_23413 x_23412
     2677| JBC (x_23415, x_23414) -> h_JBC x_23415 x_23414
     2678| JZ x_23416 -> h_JZ x_23416
     2679| JNZ x_23417 -> h_JNZ x_23417
     2680| CJNE (x_23419, x_23418) -> h_CJNE x_23419 x_23418
     2681| DJNZ (x_23421, x_23420) -> h_DJNZ x_23421 x_23420
     2682| ANL x_23422 -> h_ANL x_23422
     2683| ORL x_23423 -> h_ORL x_23423
     2684| XRL x_23424 -> h_XRL x_23424
     2685| CLR x_23425 -> h_CLR x_23425
     2686| CPL x_23426 -> h_CPL x_23426
     2687| RL x_23427 -> h_RL x_23427
     2688| RLC x_23428 -> h_RLC x_23428
     2689| RR x_23429 -> h_RR x_23429
     2690| RRC x_23430 -> h_RRC x_23430
     2691| SWAP x_23431 -> h_SWAP x_23431
     2692| MOV x_23432 -> h_MOV x_23432
     2693| MOVX x_23433 -> h_MOVX x_23433
     2694| SETB x_23434 -> h_SETB x_23434
     2695| PUSH x_23435 -> h_PUSH x_23435
     2696| POP x_23436 -> h_POP x_23436
     2697| XCH (x_23438, x_23437) -> h_XCH x_23438 x_23437
     2698| XCHD (x_23440, x_23439) -> h_XCHD x_23440 x_23439
    26992699| RET -> h_RET
    27002700| RETI -> h_RETI
    27012701| NOP -> h_NOP
    2702 | JMP x_23272 -> h_JMP x_23272
     2702| JMP x_23441 -> h_JMP x_23441
    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_23844 -> h_ACALL x_23844
    5107 | LCALL x_23845 -> h_LCALL x_23845
    5108 | AJMP x_23846 -> h_AJMP x_23846
    5109 | LJMP x_23847 -> h_LJMP x_23847
    5110 | SJMP x_23848 -> h_SJMP x_23848
    5111 | MOVC (x_23850, x_23849) -> h_MOVC x_23850 x_23849
    5112 | RealInstruction x_23851 -> h_RealInstruction x_23851
     5106| ACALL x_24013 -> h_ACALL x_24013
     5107| LCALL x_24014 -> h_LCALL x_24014
     5108| AJMP x_24015 -> h_AJMP x_24015
     5109| LJMP x_24016 -> h_LJMP x_24016
     5110| SJMP x_24017 -> h_SJMP x_24017
     5111| MOVC (x_24019, x_24018) -> h_MOVC x_24019 x_24018
     5112| RealInstruction x_24020 -> h_RealInstruction x_24020
    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_23860 -> h_ACALL x_23860
    5122 | LCALL x_23861 -> h_LCALL x_23861
    5123 | AJMP x_23862 -> h_AJMP x_23862
    5124 | LJMP x_23863 -> h_LJMP x_23863
    5125 | SJMP x_23864 -> h_SJMP x_23864
    5126 | MOVC (x_23866, x_23865) -> h_MOVC x_23866 x_23865
    5127 | RealInstruction x_23867 -> h_RealInstruction x_23867
     5121| ACALL x_24029 -> h_ACALL x_24029
     5122| LCALL x_24030 -> h_LCALL x_24030
     5123| AJMP x_24031 -> h_AJMP x_24031
     5124| LJMP x_24032 -> h_LJMP x_24032
     5125| SJMP x_24033 -> h_SJMP x_24033
     5126| MOVC (x_24035, x_24034) -> h_MOVC x_24035 x_24034
     5127| RealInstruction x_24036 -> h_RealInstruction x_24036
    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_23876 -> h_ACALL x_23876
    5137 | LCALL x_23877 -> h_LCALL x_23877
    5138 | AJMP x_23878 -> h_AJMP x_23878
    5139 | LJMP x_23879 -> h_LJMP x_23879
    5140 | SJMP x_23880 -> h_SJMP x_23880
    5141 | MOVC (x_23882, x_23881) -> h_MOVC x_23882 x_23881
    5142 | RealInstruction x_23883 -> h_RealInstruction x_23883
     5136| ACALL x_24045 -> h_ACALL x_24045
     5137| LCALL x_24046 -> h_LCALL x_24046
     5138| AJMP x_24047 -> h_AJMP x_24047
     5139| LJMP x_24048 -> h_LJMP x_24048
     5140| SJMP x_24049 -> h_SJMP x_24049
     5141| MOVC (x_24051, x_24050) -> h_MOVC x_24051 x_24050
     5142| RealInstruction x_24052 -> h_RealInstruction x_24052
    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_23892 -> h_ACALL x_23892
    5152 | LCALL x_23893 -> h_LCALL x_23893
    5153 | AJMP x_23894 -> h_AJMP x_23894
    5154 | LJMP x_23895 -> h_LJMP x_23895
    5155 | SJMP x_23896 -> h_SJMP x_23896
    5156 | MOVC (x_23898, x_23897) -> h_MOVC x_23898 x_23897
    5157 | RealInstruction x_23899 -> h_RealInstruction x_23899
     5151| ACALL x_24061 -> h_ACALL x_24061
     5152| LCALL x_24062 -> h_LCALL x_24062
     5153| AJMP x_24063 -> h_AJMP x_24063
     5154| LJMP x_24064 -> h_LJMP x_24064
     5155| SJMP x_24065 -> h_SJMP x_24065
     5156| MOVC (x_24067, x_24066) -> h_MOVC x_24067 x_24066
     5157| RealInstruction x_24068 -> h_RealInstruction x_24068
    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_23908 -> h_ACALL x_23908
    5167 | LCALL x_23909 -> h_LCALL x_23909
    5168 | AJMP x_23910 -> h_AJMP x_23910
    5169 | LJMP x_23911 -> h_LJMP x_23911
    5170 | SJMP x_23912 -> h_SJMP x_23912
    5171 | MOVC (x_23914, x_23913) -> h_MOVC x_23914 x_23913
    5172 | RealInstruction x_23915 -> h_RealInstruction x_23915
     5166| ACALL x_24077 -> h_ACALL x_24077
     5167| LCALL x_24078 -> h_LCALL x_24078
     5168| AJMP x_24079 -> h_AJMP x_24079
     5169| LJMP x_24080 -> h_LJMP x_24080
     5170| SJMP x_24081 -> h_SJMP x_24081
     5171| MOVC (x_24083, x_24082) -> h_MOVC x_24083 x_24082
     5172| RealInstruction x_24084 -> h_RealInstruction x_24084
    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_23924 -> h_ACALL x_23924
    5182 | LCALL x_23925 -> h_LCALL x_23925
    5183 | AJMP x_23926 -> h_AJMP x_23926
    5184 | LJMP x_23927 -> h_LJMP x_23927
    5185 | SJMP x_23928 -> h_SJMP x_23928
    5186 | MOVC (x_23930, x_23929) -> h_MOVC x_23930 x_23929
    5187 | RealInstruction x_23931 -> h_RealInstruction x_23931
     5181| ACALL x_24093 -> h_ACALL x_24093
     5182| LCALL x_24094 -> h_LCALL x_24094
     5183| AJMP x_24095 -> h_AJMP x_24095
     5184| LJMP x_24096 -> h_LJMP x_24096
     5185| SJMP x_24097 -> h_SJMP x_24097
     5186| MOVC (x_24099, x_24098) -> h_MOVC x_24099 x_24098
     5187| RealInstruction x_24100 -> h_RealInstruction x_24100
    51885188
    51895189(** val instruction_inv_rect_Type4 :
     
    54765476    -> 'a1 **)
    54775477let rec pseudo_instruction_rect_Type4 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5478 | Instruction x_24097 -> h_Instruction x_24097
    5479 | Comment x_24098 -> h_Comment x_24098
    5480 | Cost x_24099 -> h_Cost x_24099
    5481 | Jmp x_24100 -> h_Jmp x_24100
    5482 | Jnz (x_24103, x_24102, x_24101) -> h_Jnz x_24103 x_24102 x_24101
    5483 | MovSuccessor (x_24106, x_24105, x_24104) ->
    5484   h_MovSuccessor x_24106 x_24105 x_24104
    5485 | Call x_24107 -> h_Call x_24107
    5486 | Mov (x_24109, x_24108) -> h_Mov x_24109 x_24108
     5478| Instruction x_24266 -> h_Instruction x_24266
     5479| Comment x_24267 -> h_Comment x_24267
     5480| Cost x_24268 -> h_Cost x_24268
     5481| Jmp x_24269 -> h_Jmp x_24269
     5482| Jnz (x_24272, x_24271, x_24270) -> h_Jnz x_24272 x_24271 x_24270
     5483| MovSuccessor (x_24275, x_24274, x_24273) ->
     5484  h_MovSuccessor x_24275 x_24274 x_24273
     5485| Call x_24276 -> h_Call x_24276
     5486| Mov (x_24278, x_24277) -> h_Mov x_24278 x_24277
    54875487
    54885488(** val pseudo_instruction_rect_Type5 :
     
    54945494    -> 'a1 **)
    54955495let rec pseudo_instruction_rect_Type5 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5496 | Instruction x_24119 -> h_Instruction x_24119
    5497 | Comment x_24120 -> h_Comment x_24120
    5498 | Cost x_24121 -> h_Cost x_24121
    5499 | Jmp x_24122 -> h_Jmp x_24122
    5500 | Jnz (x_24125, x_24124, x_24123) -> h_Jnz x_24125 x_24124 x_24123
    5501 | MovSuccessor (x_24128, x_24127, x_24126) ->
    5502   h_MovSuccessor x_24128 x_24127 x_24126
    5503 | Call x_24129 -> h_Call x_24129
    5504 | Mov (x_24131, x_24130) -> h_Mov x_24131 x_24130
     5496| Instruction x_24288 -> h_Instruction x_24288
     5497| Comment x_24289 -> h_Comment x_24289
     5498| Cost x_24290 -> h_Cost x_24290
     5499| Jmp x_24291 -> h_Jmp x_24291
     5500| Jnz (x_24294, x_24293, x_24292) -> h_Jnz x_24294 x_24293 x_24292
     5501| MovSuccessor (x_24297, x_24296, x_24295) ->
     5502  h_MovSuccessor x_24297 x_24296 x_24295
     5503| Call x_24298 -> h_Call x_24298
     5504| Mov (x_24300, x_24299) -> h_Mov x_24300 x_24299
    55055505
    55065506(** val pseudo_instruction_rect_Type3 :
     
    55125512    -> 'a1 **)
    55135513let rec pseudo_instruction_rect_Type3 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5514 | Instruction x_24141 -> h_Instruction x_24141
    5515 | Comment x_24142 -> h_Comment x_24142
    5516 | Cost x_24143 -> h_Cost x_24143
    5517 | Jmp x_24144 -> h_Jmp x_24144
    5518 | Jnz (x_24147, x_24146, x_24145) -> h_Jnz x_24147 x_24146 x_24145
    5519 | MovSuccessor (x_24150, x_24149, x_24148) ->
    5520   h_MovSuccessor x_24150 x_24149 x_24148
    5521 | Call x_24151 -> h_Call x_24151
    5522 | Mov (x_24153, x_24152) -> h_Mov x_24153 x_24152
     5514| Instruction x_24310 -> h_Instruction x_24310
     5515| Comment x_24311 -> h_Comment x_24311
     5516| Cost x_24312 -> h_Cost x_24312
     5517| Jmp x_24313 -> h_Jmp x_24313
     5518| Jnz (x_24316, x_24315, x_24314) -> h_Jnz x_24316 x_24315 x_24314
     5519| MovSuccessor (x_24319, x_24318, x_24317) ->
     5520  h_MovSuccessor x_24319 x_24318 x_24317
     5521| Call x_24320 -> h_Call x_24320
     5522| Mov (x_24322, x_24321) -> h_Mov x_24322 x_24321
    55235523
    55245524(** val pseudo_instruction_rect_Type2 :
     
    55305530    -> 'a1 **)
    55315531let rec pseudo_instruction_rect_Type2 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5532 | Instruction x_24163 -> h_Instruction x_24163
    5533 | Comment x_24164 -> h_Comment x_24164
    5534 | Cost x_24165 -> h_Cost x_24165
    5535 | Jmp x_24166 -> h_Jmp x_24166
    5536 | Jnz (x_24169, x_24168, x_24167) -> h_Jnz x_24169 x_24168 x_24167
    5537 | MovSuccessor (x_24172, x_24171, x_24170) ->
    5538   h_MovSuccessor x_24172 x_24171 x_24170
    5539 | Call x_24173 -> h_Call x_24173
    5540 | Mov (x_24175, x_24174) -> h_Mov x_24175 x_24174
     5532| Instruction x_24332 -> h_Instruction x_24332
     5533| Comment x_24333 -> h_Comment x_24333
     5534| Cost x_24334 -> h_Cost x_24334
     5535| Jmp x_24335 -> h_Jmp x_24335
     5536| Jnz (x_24338, x_24337, x_24336) -> h_Jnz x_24338 x_24337 x_24336
     5537| MovSuccessor (x_24341, x_24340, x_24339) ->
     5538  h_MovSuccessor x_24341 x_24340 x_24339
     5539| Call x_24342 -> h_Call x_24342
     5540| Mov (x_24344, x_24343) -> h_Mov x_24344 x_24343
    55415541
    55425542(** val pseudo_instruction_rect_Type1 :
     
    55485548    -> 'a1 **)
    55495549let rec pseudo_instruction_rect_Type1 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5550 | Instruction x_24185 -> h_Instruction x_24185
    5551 | Comment x_24186 -> h_Comment x_24186
    5552 | Cost x_24187 -> h_Cost x_24187
    5553 | Jmp x_24188 -> h_Jmp x_24188
    5554 | Jnz (x_24191, x_24190, x_24189) -> h_Jnz x_24191 x_24190 x_24189
    5555 | MovSuccessor (x_24194, x_24193, x_24192) ->
    5556   h_MovSuccessor x_24194 x_24193 x_24192
    5557 | Call x_24195 -> h_Call x_24195
    5558 | Mov (x_24197, x_24196) -> h_Mov x_24197 x_24196
     5550| Instruction x_24354 -> h_Instruction x_24354
     5551| Comment x_24355 -> h_Comment x_24355
     5552| Cost x_24356 -> h_Cost x_24356
     5553| Jmp x_24357 -> h_Jmp x_24357
     5554| Jnz (x_24360, x_24359, x_24358) -> h_Jnz x_24360 x_24359 x_24358
     5555| MovSuccessor (x_24363, x_24362, x_24361) ->
     5556  h_MovSuccessor x_24363 x_24362 x_24361
     5557| Call x_24364 -> h_Call x_24364
     5558| Mov (x_24366, x_24365) -> h_Mov x_24366 x_24365
    55595559
    55605560(** val pseudo_instruction_rect_Type0 :
     
    55665566    -> 'a1 **)
    55675567let rec pseudo_instruction_rect_Type0 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5568 | Instruction x_24207 -> h_Instruction x_24207
    5569 | Comment x_24208 -> h_Comment x_24208
    5570 | Cost x_24209 -> h_Cost x_24209
    5571 | Jmp x_24210 -> h_Jmp x_24210
    5572 | Jnz (x_24213, x_24212, x_24211) -> h_Jnz x_24213 x_24212 x_24211
    5573 | MovSuccessor (x_24216, x_24215, x_24214) ->
    5574   h_MovSuccessor x_24216 x_24215 x_24214
    5575 | Call x_24217 -> h_Call x_24217
    5576 | Mov (x_24219, x_24218) -> h_Mov x_24219 x_24218
     5568| Instruction x_24376 -> h_Instruction x_24376
     5569| Comment x_24377 -> h_Comment x_24377
     5570| Cost x_24378 -> h_Cost x_24378
     5571| Jmp x_24379 -> h_Jmp x_24379
     5572| Jnz (x_24382, x_24381, x_24380) -> h_Jnz x_24382 x_24381 x_24380
     5573| MovSuccessor (x_24385, x_24384, x_24383) ->
     5574  h_MovSuccessor x_24385 x_24384 x_24383
     5575| Call x_24386 -> h_Call x_24386
     5576| Mov (x_24388, x_24387) -> h_Mov x_24388 x_24387
    55775577
    55785578(** val pseudo_instruction_inv_rect_Type4 :
     
    57965796    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    57975797    pseudo_assembly_program -> 'a1 **)
    5798 let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_24362 =
     5798let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_24531 =
    57995799  let { preamble = preamble0; code = code0; renamed_symbols =
    5800     renamed_symbols0; final_label = final_label0 } = x_24362
     5800    renamed_symbols0; final_label = final_label0 } = x_24531
    58015801  in
    58025802  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58085808    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58095809    pseudo_assembly_program -> 'a1 **)
    5810 let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_24364 =
     5810let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_24533 =
    58115811  let { preamble = preamble0; code = code0; renamed_symbols =
    5812     renamed_symbols0; final_label = final_label0 } = x_24364
     5812    renamed_symbols0; final_label = final_label0 } = x_24533
    58135813  in
    58145814  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58205820    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58215821    pseudo_assembly_program -> 'a1 **)
    5822 let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_24366 =
     5822let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_24535 =
    58235823  let { preamble = preamble0; code = code0; renamed_symbols =
    5824     renamed_symbols0; final_label = final_label0 } = x_24366
     5824    renamed_symbols0; final_label = final_label0 } = x_24535
    58255825  in
    58265826  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58325832    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58335833    pseudo_assembly_program -> 'a1 **)
    5834 let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_24368 =
     5834let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_24537 =
    58355835  let { preamble = preamble0; code = code0; renamed_symbols =
    5836     renamed_symbols0; final_label = final_label0 } = x_24368
     5836    renamed_symbols0; final_label = final_label0 } = x_24537
    58375837  in
    58385838  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58445844    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58455845    pseudo_assembly_program -> 'a1 **)
    5846 let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_24370 =
     5846let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_24539 =
    58475847  let { preamble = preamble0; code = code0; renamed_symbols =
    5848     renamed_symbols0; final_label = final_label0 } = x_24370
     5848    renamed_symbols0; final_label = final_label0 } = x_24539
    58495849  in
    58505850  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58565856    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58575857    pseudo_assembly_program -> 'a1 **)
    5858 let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_24372 =
     5858let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_24541 =
    58595859  let { preamble = preamble0; code = code0; renamed_symbols =
    5860     renamed_symbols0; final_label = final_label0 } = x_24372
     5860    renamed_symbols0; final_label = final_label0 } = x_24541
    58615861  in
    58625862  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    59445944    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59455945    -> 'a1) -> labelled_object_code -> 'a1 **)
    5946 let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_24388 =
     5946let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_24557 =
    59475947  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5948     final_pc = final_pc0 } = x_24388
     5948    final_pc = final_pc0 } = x_24557
    59495949  in
    59505950  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59535953    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59545954    -> 'a1) -> labelled_object_code -> 'a1 **)
    5955 let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_24390 =
     5955let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_24559 =
    59565956  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5957     final_pc = final_pc0 } = x_24390
     5957    final_pc = final_pc0 } = x_24559
    59585958  in
    59595959  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59625962    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59635963    -> 'a1) -> labelled_object_code -> 'a1 **)
    5964 let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_24392 =
     5964let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_24561 =
    59655965  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5966     final_pc = final_pc0 } = x_24392
     5966    final_pc = final_pc0 } = x_24561
    59675967  in
    59685968  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59715971    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59725972    -> 'a1) -> labelled_object_code -> 'a1 **)
    5973 let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_24394 =
     5973let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_24563 =
    59745974  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5975     final_pc = final_pc0 } = x_24394
     5975    final_pc = final_pc0 } = x_24563
    59765976  in
    59775977  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59805980    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59815981    -> 'a1) -> labelled_object_code -> 'a1 **)
    5982 let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_24396 =
     5982let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_24565 =
    59835983  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5984     final_pc = final_pc0 } = x_24396
     5984    final_pc = final_pc0 } = x_24565
    59855985  in
    59865986  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59895989    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59905990    -> 'a1) -> labelled_object_code -> 'a1 **)
    5991 let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_24398 =
     5991let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_24567 =
    59925992  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5993     final_pc = final_pc0 } = x_24398
     5993    final_pc = final_pc0 } = x_24567
    59945994  in
    59955995  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
  • extracted/aSMCosts.ml

    r2867 r2873  
    209209   | Nat.S program_size' ->
    210210     (fun _ ->
    211        (let { Types.fst = eta31781; Types.snd = ticks } =
     211       (let { Types.fst = eta31796; Types.snd = ticks } =
    212212          Fetch.fetch code_memory' program_counter'
    213213        in
    214214       let { Types.fst = instruction; Types.snd = program_counter'' } =
    215          eta31781
     215         eta31796
    216216       in
    217217       (fun _ ->
  • extracted/backEndOps.ml

    r2827 r2873  
    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_19102 =
    405   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19102 in
     404let rec eval_rect_Type4 h_mk_Eval x_19271 =
     405  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19271 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_19104 =
    414   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19104 in
     413let rec eval_rect_Type5 h_mk_Eval x_19273 =
     414  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19273 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_19106 =
    423   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19106 in
     422let rec eval_rect_Type3 h_mk_Eval x_19275 =
     423  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19275 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_19108 =
    432   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19108 in
     431let rec eval_rect_Type2 h_mk_Eval x_19277 =
     432  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19277 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_19110 =
    441   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19110 in
     440let rec eval_rect_Type1 h_mk_Eval x_19279 =
     441  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19279 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_19112 =
    450   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19112 in
     449let rec eval_rect_Type0 h_mk_Eval x_19281 =
     450  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19281 in
    451451  h_mk_Eval opaccs0 op4 op5
    452452
     
    813813    (ByteValues.beval, ByteValues.bebit) Types.prod Errors.res **)
    814814let be_op2 carry op a1 a2 =
    815   match a1 with
    816   | ByteValues.BVundef ->
    817     Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    818       List.Nil))
    819   | ByteValues.BVnonzero ->
    820     (match a2 with
     815  match op with
     816  | Add ->
     817    (match a1 with
    821818     | ByteValues.BVundef ->
    822819       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    823820         List.Nil))
    824821     | ByteValues.BVnonzero ->
    825        (match op with
    826         | Add ->
    827           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    828             List.Nil))
    829         | Addc ->
    830           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    831             List.Nil))
    832         | Sub ->
    833           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    834             List.Nil))
    835         | And ->
    836           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    837             List.Nil))
    838         | Or ->
    839           Obj.magic
    840             (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
    841               ByteValues.BVnonzero; Types.snd = carry })
    842         | Xor ->
    843           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    844             List.Nil)))
     822       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     823         List.Nil))
    845824     | ByteValues.BVXor (x, x0, x1) ->
    846        (match op with
    847         | Add ->
    848           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    849             List.Nil))
    850         | Addc ->
    851           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    852             List.Nil))
    853         | Sub ->
    854           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    855             List.Nil))
    856         | And ->
    857           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    858             List.Nil))
    859         | Or ->
    860           Obj.magic
    861             (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
    862               ByteValues.BVnonzero; Types.snd = carry })
    863         | Xor ->
    864           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    865             List.Nil)))
    866      | ByteValues.BVByte x ->
    867        (match op with
    868         | Add ->
    869           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    870             List.Nil))
    871         | Addc ->
    872           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    873             List.Nil))
    874         | Sub ->
    875           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    876             List.Nil))
    877         | And ->
    878           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    879             List.Nil))
    880         | Or ->
    881           Obj.magic
    882             (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
    883               ByteValues.BVnonzero; Types.snd = carry })
    884         | Xor ->
    885           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    886             List.Nil)))
     825       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     826         List.Nil))
     827     | ByteValues.BVByte b1 ->
     828       be_add_sub_byte Bool.True (ByteValues.BBbit Bool.False) a2 b1
    887829     | ByteValues.BVnull x ->
    888830       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    889831         List.Nil))
    890      | ByteValues.BVptr (x, x0) ->
    891        Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    892          List.Nil))
    893      | ByteValues.BVpc (x, x0) ->
    894        Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    895          List.Nil)))
    896   | ByteValues.BVXor (ptr1_opt, ptr1_opt', p1) ->
    897     (match a2 with
    898      | ByteValues.BVundef ->
    899        Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    900          List.Nil))
    901      | ByteValues.BVnonzero ->
    902        (match op with
    903         | Add ->
    904           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    905             List.Nil))
    906         | Addc ->
    907           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    908             List.Nil))
    909         | Sub ->
    910           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    911             List.Nil))
    912         | And ->
    913           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    914             List.Nil))
    915         | Or ->
    916           Obj.magic
    917             (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
    918               ByteValues.BVnonzero; Types.snd = carry })
    919         | Xor ->
    920           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    921             List.Nil)))
    922      | ByteValues.BVXor (ptr2_opt, ptr2_opt', p2) ->
    923        (match op with
    924         | Add ->
    925           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    926             List.Nil))
    927         | Addc ->
    928           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    929             List.Nil))
    930         | Sub ->
    931           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    932             List.Nil))
    933         | And ->
    934           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    935             List.Nil))
    936         | Or ->
    937           (match Bool.orb
    938                    (Bool.andb (Nat.eqb (ByteValues.part_no p1) Nat.O)
    939                      (Nat.eqb (ByteValues.part_no p2) (Nat.S Nat.O)))
    940                    (Bool.andb (Nat.eqb (ByteValues.part_no p1) (Nat.S Nat.O))
    941                      (Nat.eqb (ByteValues.part_no p2) Nat.O)) with
    942            | Bool.True ->
    943              let eq_at = fun p ptr1 ptr2 ->
    944                Bool.andb
    945                  (Pointers.eq_block ptr1.Pointers.pblock
    946                    ptr2.Pointers.pblock)
    947                  (BitVector.eq_bv (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
    948                    (Nat.S (Nat.S Nat.O))))))))
    949                    (byte_at AST.size_pointer
    950                      (Pointers.offv ptr1.Pointers.poff)
    951                      (ByteValues.part_no p))
    952                    (byte_at AST.size_pointer
    953                      (Pointers.offv ptr2.Pointers.poff)
    954                      (ByteValues.part_no p)))
    955              in
    956              (match Bool.andb (eq_opt (eq_at p1) ptr1_opt ptr1_opt')
    957                       (eq_opt (eq_at p2) ptr2_opt ptr2_opt') with
    958               | Bool.True ->
    959                 Obj.magic
    960                   (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
    961                     (ByteValues.BVByte
    962                     (BitVector.zero (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
    963                       (Nat.S (Nat.S Nat.O)))))))))); Types.snd = carry })
    964               | Bool.False ->
    965                 Obj.magic
    966                   (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
    967                     ByteValues.BVnonzero; Types.snd = carry }))
    968            | Bool.False ->
    969              Errors.Error (List.Cons ((Errors.MSG
    970                ErrorMessages.UnsupportedOp), List.Nil)))
    971         | Xor ->
    972           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    973             List.Nil)))
    974      | ByteValues.BVByte b2 ->
    975        (match op with
    976         | Add ->
    977           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    978             List.Nil))
    979         | Addc ->
    980           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    981             List.Nil))
    982         | Sub ->
    983           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    984             List.Nil))
    985         | And ->
    986           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    987             List.Nil))
    988         | Or ->
    989           (match BitVector.eq_bv (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
    990                    (Nat.S (Nat.S Nat.O))))))))
    991                    (BitVector.zero (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
    992                      (Nat.S (Nat.S Nat.O))))))))) b2 with
    993            | Bool.True ->
    994              Obj.magic
    995                (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst = a1;
    996                  Types.snd = carry })
    997            | Bool.False ->
    998              Errors.Error (List.Cons ((Errors.MSG
    999                ErrorMessages.UnsupportedOp), List.Nil)))
    1000         | Xor ->
    1001           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1002             List.Nil)))
    1003      | ByteValues.BVnull x ->
    1004        Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1005          List.Nil))
    1006      | ByteValues.BVptr (x, x0) ->
    1007        Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1008          List.Nil))
    1009      | ByteValues.BVpc (x, x0) ->
    1010        Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1011          List.Nil)))
    1012   | ByteValues.BVByte b1 ->
    1013     (match a2 with
    1014      | ByteValues.BVundef ->
    1015        Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1016          List.Nil))
    1017      | ByteValues.BVnonzero ->
    1018        (match op with
    1019         | Add ->
    1020           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1021             List.Nil))
    1022         | Addc ->
    1023           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1024             List.Nil))
    1025         | Sub ->
    1026           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1027             List.Nil))
    1028         | And ->
    1029           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1030             List.Nil))
    1031         | Or ->
    1032           Obj.magic
    1033             (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
    1034               ByteValues.BVnonzero; Types.snd = carry })
    1035         | Xor ->
    1036           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1037             List.Nil)))
    1038      | ByteValues.BVXor (x, x0, x1) ->
    1039        Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1040          List.Nil))
    1041      | ByteValues.BVByte b2 ->
    1042        Obj.magic
    1043          (Monad.m_bind0 (Monad.max_def Errors.res0)
    1044            (Obj.magic
    1045              (ByteValues.bit_of_val ErrorMessages.UnsupportedOp carry))
    1046            (fun carry0 ->
    1047            let { Types.fst = result; Types.snd = carry1 } =
    1048              eval0.op3 carry0 op b1 b2
    1049            in
    1050            Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
    1051              (ByteValues.BVByte result); Types.snd = (ByteValues.BBbit
    1052              carry1) }))
    1053      | ByteValues.BVnull x ->
    1054        Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1055          List.Nil))
    1056      | ByteValues.BVptr (x, x0) ->
    1057        (match op with
    1058         | Add ->
    1059           be_add_sub_byte Bool.True (ByteValues.BBbit Bool.False) a2 b1
    1060         | Addc -> be_add_sub_byte Bool.True carry a2 b1
    1061         | Sub ->
    1062           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1063             List.Nil))
    1064         | And ->
    1065           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1066             List.Nil))
    1067         | Or ->
    1068           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1069             List.Nil))
    1070         | Xor ->
     832     | ByteValues.BVptr (ptr1, p1) ->
     833       (match a2 with
     834        | ByteValues.BVundef ->
     835          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     836            List.Nil))
     837        | ByteValues.BVnonzero ->
     838          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     839            List.Nil))
     840        | ByteValues.BVXor (x, x0, x1) ->
     841          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     842            List.Nil))
     843        | ByteValues.BVByte b2 ->
     844          be_add_sub_byte Bool.True (ByteValues.BBbit Bool.False) a1 b2
     845        | ByteValues.BVnull x ->
     846          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     847            List.Nil))
     848        | ByteValues.BVptr (x, x0) ->
     849          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     850            List.Nil))
     851        | ByteValues.BVpc (x, x0) ->
    1071852          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1072853            List.Nil)))
     
    1074855       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1075856         List.Nil)))
    1076   | ByteValues.BVnull p1 ->
    1077     (match a2 with
     857  | Addc ->
     858    (match a1 with
    1078859     | ByteValues.BVundef ->
    1079860       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     
    1085866       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1086867         List.Nil))
    1087      | ByteValues.BVByte x ->
    1088        Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1089          List.Nil))
    1090      | ByteValues.BVnull p2 ->
    1091        (match op with
    1092         | Add ->
    1093           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1094             List.Nil))
    1095         | Addc ->
    1096           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1097             List.Nil))
    1098         | Sub ->
    1099           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1100             List.Nil))
    1101         | And ->
    1102           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1103             List.Nil))
    1104         | Or ->
    1105           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1106             List.Nil))
    1107         | Xor ->
    1108           (match Nat.eqb (ByteValues.part_no p1) (ByteValues.part_no p2) with
    1109            | Bool.True ->
    1110              Obj.magic
    1111                (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
    1112                  (ByteValues.BVXor (Types.None, Types.None, p1)); Types.snd =
    1113                  carry })
    1114            | Bool.False ->
    1115              Errors.Error (List.Cons ((Errors.MSG
    1116                ErrorMessages.UnsupportedOp), List.Nil))))
    1117      | ByteValues.BVptr (ptr2, p2) ->
    1118        (match op with
    1119         | Add ->
    1120           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1121             List.Nil))
    1122         | Addc ->
    1123           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1124             List.Nil))
    1125         | Sub ->
    1126           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1127             List.Nil))
    1128         | And ->
    1129           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1130             List.Nil))
    1131         | Or ->
    1132           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1133             List.Nil))
    1134         | Xor ->
    1135           (match Nat.eqb (ByteValues.part_no p1) (ByteValues.part_no p2) with
    1136            | Bool.True ->
    1137              Obj.magic
    1138                (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
    1139                  (ByteValues.BVXor (Types.None, (Types.Some ptr2), p1));
    1140                  Types.snd = carry })
    1141            | Bool.False ->
    1142              Errors.Error (List.Cons ((Errors.MSG
    1143                ErrorMessages.UnsupportedOp), List.Nil))))
     868     | ByteValues.BVByte b1 -> be_add_sub_byte Bool.True carry a2 b1
     869     | ByteValues.BVnull x ->
     870       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     871         List.Nil))
     872     | ByteValues.BVptr (ptr1, p1) ->
     873       (match a2 with
     874        | ByteValues.BVundef ->
     875          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     876            List.Nil))
     877        | ByteValues.BVnonzero ->
     878          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     879            List.Nil))
     880        | ByteValues.BVXor (x, x0, x1) ->
     881          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     882            List.Nil))
     883        | ByteValues.BVByte b2 -> be_add_sub_byte Bool.True carry a1 b2
     884        | ByteValues.BVnull x ->
     885          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     886            List.Nil))
     887        | ByteValues.BVptr (x, x0) ->
     888          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     889            List.Nil))
     890        | ByteValues.BVpc (x, x0) ->
     891          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     892            List.Nil)))
    1144893     | ByteValues.BVpc (x, x0) ->
    1145894       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1146895         List.Nil)))
    1147   | ByteValues.BVptr (ptr1, p1) ->
    1148     (match a2 with
     896  | Sub ->
     897    (match a1 with
    1149898     | ByteValues.BVundef ->
    1150899       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     
    1156905       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1157906         List.Nil))
    1158      | ByteValues.BVByte b2 ->
    1159        (match op with
    1160         | Add ->
    1161           be_add_sub_byte Bool.True (ByteValues.BBbit Bool.False) a1 b2
    1162         | Addc -> be_add_sub_byte Bool.True carry a1 b2
    1163         | Sub -> be_add_sub_byte Bool.False carry a1 b2
    1164         | And ->
    1165           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1166             List.Nil))
    1167         | Or ->
    1168           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1169             List.Nil))
    1170         | Xor ->
    1171           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1172             List.Nil)))
    1173      | ByteValues.BVnull p2 ->
    1174        (match op with
    1175         | Add ->
    1176           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1177             List.Nil))
    1178         | Addc ->
    1179           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1180             List.Nil))
    1181         | Sub ->
    1182           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1183             List.Nil))
    1184         | And ->
    1185           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1186             List.Nil))
    1187         | Or ->
    1188           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1189             List.Nil))
    1190         | Xor ->
    1191           (match Nat.eqb (ByteValues.part_no p1) (ByteValues.part_no p2) with
    1192            | Bool.True ->
    1193              Obj.magic
    1194                (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
    1195                  (ByteValues.BVXor ((Types.Some ptr1), Types.None, p1));
    1196                  Types.snd = carry })
    1197            | Bool.False ->
    1198              Errors.Error (List.Cons ((Errors.MSG
    1199                ErrorMessages.UnsupportedOp), List.Nil))))
    1200      | ByteValues.BVptr (ptr2, p2) ->
    1201        (match op with
    1202         | Add ->
    1203           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1204             List.Nil))
    1205         | Addc ->
    1206           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1207             List.Nil))
    1208         | Sub ->
     907     | ByteValues.BVByte b1 -> be_add_sub_byte Bool.False carry a2 b1
     908     | ByteValues.BVnull x ->
     909       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     910         List.Nil))
     911     | ByteValues.BVptr (ptr1, p1) ->
     912       (match a2 with
     913        | ByteValues.BVundef ->
     914          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     915            List.Nil))
     916        | ByteValues.BVnonzero ->
     917          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     918            List.Nil))
     919        | ByteValues.BVXor (x, x0, x1) ->
     920          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     921            List.Nil))
     922        | ByteValues.BVByte b2 -> be_add_sub_byte Bool.False carry a1 b2
     923        | ByteValues.BVnull x ->
     924          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     925            List.Nil))
     926        | ByteValues.BVptr (ptr2, p2) ->
    1209927          (match Pointers.ptype ptr1 with
    1210928           | AST.XData ->
     
    1242960             Errors.Error (List.Cons ((Errors.MSG
    1243961               ErrorMessages.UnsupportedOp), List.Nil)))
    1244         | And ->
    1245           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1246             List.Nil))
    1247         | Or ->
    1248           Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1249             List.Nil))
    1250         | Xor ->
     962        | ByteValues.BVpc (x, x0) ->
     963          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     964            List.Nil)))
     965     | ByteValues.BVpc (x, x0) ->
     966       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     967         List.Nil)))
     968  | And ->
     969    Obj.magic
     970      (Monad.m_bind0 (Monad.max_def Errors.res0)
     971        (Obj.magic (ByteValues.byte_of_val ErrorMessages.UnsupportedOp a1))
     972        (fun b1 ->
     973        Monad.m_bind0 (Monad.max_def Errors.res0)
     974          (Obj.magic (ByteValues.byte_of_val ErrorMessages.UnsupportedOp a2))
     975          (fun b2 ->
     976          let res = (eval0.op3 Bool.False And b1 b2).Types.fst in
     977          Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     978            (ByteValues.BVByte res); Types.snd = carry })))
     979  | Or ->
     980    (match a1 with
     981     | ByteValues.BVundef ->
     982       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     983         List.Nil))
     984     | ByteValues.BVnonzero ->
     985       (match a2 with
     986        | ByteValues.BVundef ->
     987          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     988            List.Nil))
     989        | ByteValues.BVnonzero ->
     990          Obj.magic
     991            (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     992              ByteValues.BVnonzero; Types.snd = carry })
     993        | ByteValues.BVXor (x, x0, x1) ->
     994          Obj.magic
     995            (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     996              ByteValues.BVnonzero; Types.snd = carry })
     997        | ByteValues.BVByte x ->
     998          Obj.magic
     999            (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     1000              ByteValues.BVnonzero; Types.snd = carry })
     1001        | ByteValues.BVnull x ->
     1002          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1003            List.Nil))
     1004        | ByteValues.BVptr (x, x0) ->
     1005          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1006            List.Nil))
     1007        | ByteValues.BVpc (x, x0) ->
     1008          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1009            List.Nil)))
     1010     | ByteValues.BVXor (ptr1_opt, ptr1_opt', p1) ->
     1011       (match a2 with
     1012        | ByteValues.BVundef ->
     1013          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1014            List.Nil))
     1015        | ByteValues.BVnonzero ->
     1016          Obj.magic
     1017            (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     1018              ByteValues.BVnonzero; Types.snd = carry })
     1019        | ByteValues.BVXor (ptr2_opt, ptr2_opt', p2) ->
     1020          (match Bool.orb
     1021                   (Bool.andb (Nat.eqb (ByteValues.part_no p1) Nat.O)
     1022                     (Nat.eqb (ByteValues.part_no p2) (Nat.S Nat.O)))
     1023                   (Bool.andb (Nat.eqb (ByteValues.part_no p1) (Nat.S Nat.O))
     1024                     (Nat.eqb (ByteValues.part_no p2) Nat.O)) with
     1025           | Bool.True ->
     1026             let eq_at = fun p ptr1 ptr2 ->
     1027               Bool.andb
     1028                 (Pointers.eq_block ptr1.Pointers.pblock
     1029                   ptr2.Pointers.pblock)
     1030                 (BitVector.eq_bv (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     1031                   (Nat.S (Nat.S Nat.O))))))))
     1032                   (byte_at AST.size_pointer
     1033                     (Pointers.offv ptr1.Pointers.poff)
     1034                     (ByteValues.part_no p))
     1035                   (byte_at AST.size_pointer
     1036                     (Pointers.offv ptr2.Pointers.poff)
     1037                     (ByteValues.part_no p)))
     1038             in
     1039             (match Bool.andb (eq_opt (eq_at p1) ptr1_opt ptr1_opt')
     1040                      (eq_opt (eq_at p2) ptr2_opt ptr2_opt') with
     1041              | Bool.True ->
     1042                Obj.magic
     1043                  (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     1044                    (ByteValues.BVByte
     1045                    (BitVector.zero (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     1046                      (Nat.S (Nat.S Nat.O)))))))))); Types.snd = carry })
     1047              | Bool.False ->
     1048                Obj.magic
     1049                  (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     1050                    ByteValues.BVnonzero; Types.snd = carry }))
     1051           | Bool.False ->
     1052             Errors.Error (List.Cons ((Errors.MSG
     1053               ErrorMessages.UnsupportedOp), List.Nil)))
     1054        | ByteValues.BVByte x ->
     1055          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1056            List.Nil))
     1057        | ByteValues.BVnull x ->
     1058          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1059            List.Nil))
     1060        | ByteValues.BVptr (x, x0) ->
     1061          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1062            List.Nil))
     1063        | ByteValues.BVpc (x, x0) ->
     1064          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1065            List.Nil)))
     1066     | ByteValues.BVByte b1 ->
     1067       (match a2 with
     1068        | ByteValues.BVundef ->
     1069          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1070            List.Nil))
     1071        | ByteValues.BVnonzero ->
     1072          Obj.magic
     1073            (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     1074              ByteValues.BVnonzero; Types.snd = carry })
     1075        | ByteValues.BVXor (x, x0, x1) ->
     1076          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1077            List.Nil))
     1078        | ByteValues.BVByte b2 ->
     1079          let res = (eval0.op3 Bool.False Or b1 b2).Types.fst in
     1080          Obj.magic
     1081            (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     1082              (ByteValues.BVByte res); Types.snd = carry })
     1083        | ByteValues.BVnull x ->
     1084          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1085            List.Nil))
     1086        | ByteValues.BVptr (x, x0) ->
     1087          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1088            List.Nil))
     1089        | ByteValues.BVpc (x, x0) ->
     1090          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1091            List.Nil)))
     1092     | ByteValues.BVnull x ->
     1093       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1094         List.Nil))
     1095     | ByteValues.BVptr (x, x0) ->
     1096       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1097         List.Nil))
     1098     | ByteValues.BVpc (x, x0) ->
     1099       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1100         List.Nil)))
     1101  | Xor ->
     1102    (match a1 with
     1103     | ByteValues.BVundef ->
     1104       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1105         List.Nil))
     1106     | ByteValues.BVnonzero ->
     1107       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1108         List.Nil))
     1109     | ByteValues.BVXor (x, x0, x1) ->
     1110       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1111         List.Nil))
     1112     | ByteValues.BVByte b1 ->
     1113       (match a2 with
     1114        | ByteValues.BVundef ->
     1115          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1116            List.Nil))
     1117        | ByteValues.BVnonzero ->
     1118          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1119            List.Nil))
     1120        | ByteValues.BVXor (x, x0, x1) ->
     1121          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1122            List.Nil))
     1123        | ByteValues.BVByte b2 ->
     1124          let res = (eval0.op3 Bool.False Xor b1 b2).Types.fst in
     1125          Obj.magic
     1126            (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     1127              (ByteValues.BVByte res); Types.snd = carry })
     1128        | ByteValues.BVnull x ->
     1129          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1130            List.Nil))
     1131        | ByteValues.BVptr (x, x0) ->
     1132          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1133            List.Nil))
     1134        | ByteValues.BVpc (x, x0) ->
     1135          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1136            List.Nil)))
     1137     | ByteValues.BVnull p1 ->
     1138       (match a2 with
     1139        | ByteValues.BVundef ->
     1140          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1141            List.Nil))
     1142        | ByteValues.BVnonzero ->
     1143          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1144            List.Nil))
     1145        | ByteValues.BVXor (x, x0, x1) ->
     1146          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1147            List.Nil))
     1148        | ByteValues.BVByte x ->
     1149          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1150            List.Nil))
     1151        | ByteValues.BVnull p2 ->
     1152          (match Nat.eqb (ByteValues.part_no p1) (ByteValues.part_no p2) with
     1153           | Bool.True ->
     1154             Obj.magic
     1155               (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     1156                 (ByteValues.BVXor (Types.None, Types.None, p1)); Types.snd =
     1157                 carry })
     1158           | Bool.False ->
     1159             Errors.Error (List.Cons ((Errors.MSG
     1160               ErrorMessages.UnsupportedOp), List.Nil)))
     1161        | ByteValues.BVptr (ptr2, p2) ->
     1162          (match Nat.eqb (ByteValues.part_no p1) (ByteValues.part_no p2) with
     1163           | Bool.True ->
     1164             Obj.magic
     1165               (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     1166                 (ByteValues.BVXor (Types.None, (Types.Some ptr2), p1));
     1167                 Types.snd = carry })
     1168           | Bool.False ->
     1169             Errors.Error (List.Cons ((Errors.MSG
     1170               ErrorMessages.UnsupportedOp), List.Nil)))
     1171        | ByteValues.BVpc (x, x0) ->
     1172          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1173            List.Nil)))
     1174     | ByteValues.BVptr (ptr1, p1) ->
     1175       (match a2 with
     1176        | ByteValues.BVundef ->
     1177          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1178            List.Nil))
     1179        | ByteValues.BVnonzero ->
     1180          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1181            List.Nil))
     1182        | ByteValues.BVXor (x, x0, x1) ->
     1183          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1184            List.Nil))
     1185        | ByteValues.BVByte x ->
     1186          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1187            List.Nil))
     1188        | ByteValues.BVnull p2 ->
     1189          (match Nat.eqb (ByteValues.part_no p1) (ByteValues.part_no p2) with
     1190           | Bool.True ->
     1191             Obj.magic
     1192               (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     1193                 (ByteValues.BVXor ((Types.Some ptr1), Types.None, p1));
     1194                 Types.snd = carry })
     1195           | Bool.False ->
     1196             Errors.Error (List.Cons ((Errors.MSG
     1197               ErrorMessages.UnsupportedOp), List.Nil)))
     1198        | ByteValues.BVptr (ptr2, p2) ->
    12511199          (match Nat.eqb (ByteValues.part_no p1) (ByteValues.part_no p2) with
    12521200           | Bool.True ->
     
    12571205           | Bool.False ->
    12581206             Errors.Error (List.Cons ((Errors.MSG
    1259                ErrorMessages.UnsupportedOp), List.Nil))))
     1207               ErrorMessages.UnsupportedOp), List.Nil)))
     1208        | ByteValues.BVpc (x, x0) ->
     1209          Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
     1210            List.Nil)))
    12601211     | ByteValues.BVpc (x, x0) ->
    12611212       Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    12621213         List.Nil)))
    1263   | ByteValues.BVpc (x, x0) ->
    1264     Errors.Error (List.Cons ((Errors.MSG ErrorMessages.UnsupportedOp),
    1265       List.Nil))
    1266 
     1214
  • extracted/bind_new.ml

    r2827 r2873  
    3535    ('a1, 'a2) bind_new -> 'a3 **)
    3636let rec bind_new_rect_Type4 h_bret h_bnew = function
    37 | Bret x_20959 -> h_bret x_20959
    38 | Bnew x_20961 ->
    39   h_bnew x_20961 (fun x_20960 ->
    40     bind_new_rect_Type4 h_bret h_bnew (x_20961 x_20960))
     37| Bret x_21128 -> h_bret x_21128
     38| Bnew x_21130 ->
     39  h_bnew x_21130 (fun x_21129 ->
     40    bind_new_rect_Type4 h_bret h_bnew (x_21130 x_21129))
    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_20971 -> h_bret x_20971
    47 | Bnew x_20973 ->
    48   h_bnew x_20973 (fun x_20972 ->
    49     bind_new_rect_Type3 h_bret h_bnew (x_20973 x_20972))
     46| Bret x_21140 -> h_bret x_21140
     47| Bnew x_21142 ->
     48  h_bnew x_21142 (fun x_21141 ->
     49    bind_new_rect_Type3 h_bret h_bnew (x_21142 x_21141))
    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_20977 -> h_bret x_20977
    56 | Bnew x_20979 ->
    57   h_bnew x_20979 (fun x_20978 ->
    58     bind_new_rect_Type2 h_bret h_bnew (x_20979 x_20978))
     55| Bret x_21146 -> h_bret x_21146
     56| Bnew x_21148 ->
     57  h_bnew x_21148 (fun x_21147 ->
     58    bind_new_rect_Type2 h_bret h_bnew (x_21148 x_21147))
    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_20983 -> h_bret x_20983
    65 | Bnew x_20985 ->
    66   h_bnew x_20985 (fun x_20984 ->
    67     bind_new_rect_Type1 h_bret h_bnew (x_20985 x_20984))
     64| Bret x_21152 -> h_bret x_21152
     65| Bnew x_21154 ->
     66  h_bnew x_21154 (fun x_21153 ->
     67    bind_new_rect_Type1 h_bret h_bnew (x_21154 x_21153))
    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_20989 -> h_bret x_20989
    74 | Bnew x_20991 ->
    75   h_bnew x_20991 (fun x_20990 ->
    76     bind_new_rect_Type0 h_bret h_bnew (x_20991 x_20990))
     73| Bret x_21158 -> h_bret x_21158
     74| Bnew x_21160 ->
     75  h_bnew x_21160 (fun x_21159 ->
     76    bind_new_rect_Type0 h_bret h_bnew (x_21160 x_21159))
    7777
    7878(** val bind_new_inv_rect_Type4 :
  • extracted/cminor_semantics.ml

    r2867 r2873  
    123123let rec cont_rect_Type4 h_Kend h_Kseq h_Kblock = function
    124124| Kend -> h_Kend
    125 | Kseq (x_25288, x_25287) ->
    126   h_Kseq x_25288 x_25287 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_25287)
    127 | Kblock x_25289 ->
    128   h_Kblock x_25289 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_25289)
     125| Kseq (x_25457, x_25456) ->
     126  h_Kseq x_25457 x_25456 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_25456)
     127| Kblock x_25458 ->
     128  h_Kblock x_25458 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_25458)
    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_25302, x_25301) ->
    136   h_Kseq x_25302 x_25301 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_25301)
    137 | Kblock x_25303 ->
    138   h_Kblock x_25303 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_25303)
     135| Kseq (x_25471, x_25470) ->
     136  h_Kseq x_25471 x_25470 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_25470)
     137| Kblock x_25472 ->
     138  h_Kblock x_25472 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_25472)
    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_25309, x_25308) ->
    146   h_Kseq x_25309 x_25308 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_25308)
    147 | Kblock x_25310 ->
    148   h_Kblock x_25310 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_25310)
     145| Kseq (x_25478, x_25477) ->
     146  h_Kseq x_25478 x_25477 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_25477)
     147| Kblock x_25479 ->
     148  h_Kblock x_25479 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_25479)
    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_25316, x_25315) ->
    156   h_Kseq x_25316 x_25315 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_25315)
    157 | Kblock x_25317 ->
    158   h_Kblock x_25317 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_25317)
     155| Kseq (x_25485, x_25484) ->
     156  h_Kseq x_25485 x_25484 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_25484)
     157| Kblock x_25486 ->
     158  h_Kblock x_25486 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_25486)
    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_25323, x_25322) ->
    166   h_Kseq x_25323 x_25322 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_25322)
    167 | Kblock x_25324 ->
    168   h_Kblock x_25324 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_25324)
     165| Kseq (x_25492, x_25491) ->
     166  h_Kseq x_25492 x_25491 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_25491)
     167| Kblock x_25493 ->
     168  h_Kblock x_25493 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_25493)
    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_25383, en, k, x_25379) ->
    229   h_Scall dest f x_25383 en __ __ k __ x_25379
    230     (stack_rect_Type4 h_SStop h_Scall x_25379)
     228| Scall (dest, f, x_25552, en, k, x_25548) ->
     229  h_Scall dest f x_25552 en __ __ k __ x_25548
     230    (stack_rect_Type4 h_SStop h_Scall x_25548)
    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_25399, en, k, x_25395) ->
    239   h_Scall dest f x_25399 en __ __ k __ x_25395
    240     (stack_rect_Type3 h_SStop h_Scall x_25395)
     238| Scall (dest, f, x_25568, en, k, x_25564) ->
     239  h_Scall dest f x_25568 en __ __ k __ x_25564
     240    (stack_rect_Type3 h_SStop h_Scall x_25564)
    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_25407, en, k, x_25403) ->
    249   h_Scall dest f x_25407 en __ __ k __ x_25403
    250     (stack_rect_Type2 h_SStop h_Scall x_25403)
     248| Scall (dest, f, x_25576, en, k, x_25572) ->
     249  h_Scall dest f x_25576 en __ __ k __ x_25572
     250    (stack_rect_Type2 h_SStop h_Scall x_25572)
    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_25415, en, k, x_25411) ->
    259   h_Scall dest f x_25415 en __ __ k __ x_25411
    260     (stack_rect_Type1 h_SStop h_Scall x_25411)
     258| Scall (dest, f, x_25584, en, k, x_25580) ->
     259  h_Scall dest f x_25584 en __ __ k __ x_25580
     260    (stack_rect_Type1 h_SStop h_Scall x_25580)
    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_25423, en, k, x_25419) ->
    269   h_Scall dest f x_25423 en __ __ k __ x_25419
    270     (stack_rect_Type0 h_SStop h_Scall x_25419)
     268| Scall (dest, f, x_25592, en, k, x_25588) ->
     269  h_Scall dest f x_25592 en __ __ k __ x_25588
     270    (stack_rect_Type0 h_SStop h_Scall x_25588)
    271271
    272272(** val stack_inv_rect_Type4 :
  • extracted/compiler.ml

    r2867 r2873  
    510510  let i2 = Obj.magic observe Ertlptr_pass { Types.fst = p2; Types.snd = st1 }
    511511  in
    512   let { Types.fst = eta29089; Types.snd = max_stack } =
     512  let { Types.fst = eta29104; Types.snd = max_stack } =
    513513    ERTLptrToLTL.ertlptr_to_ltl compute_fixpoint colour_graph p2
    514514  in
    515   let { Types.fst = p3; Types.snd = stack_cost } = eta29089 in
     515  let { Types.fst = p3; Types.snd = stack_cost } = eta29104 in
    516516  let st2 = lookup_stack_cost (Joint.graph_params_to_params LTL.lTL) p3 in
    517517  let i3 = Obj.magic observe Ltl_pass { Types.fst = p3; Types.snd = st2 } in
     
    586586    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    587587    compiler_output -> 'a1 **)
    588 let rec compiler_output_rect_Type4 h_mk_compiler_output x_25195 =
     588let rec compiler_output_rect_Type4 h_mk_compiler_output x_25364 =
    589589  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    590590    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    591     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25195
     591    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25364
    592592  in
    593593  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    598598    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    599599    compiler_output -> 'a1 **)
    600 let rec compiler_output_rect_Type5 h_mk_compiler_output x_25197 =
     600let rec compiler_output_rect_Type5 h_mk_compiler_output x_25366 =
    601601  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    602602    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    603     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25197
     603    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25366
    604604  in
    605605  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    610610    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    611611    compiler_output -> 'a1 **)
    612 let rec compiler_output_rect_Type3 h_mk_compiler_output x_25199 =
     612let rec compiler_output_rect_Type3 h_mk_compiler_output x_25368 =
    613613  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    614614    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    615     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25199
     615    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25368
    616616  in
    617617  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    622622    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    623623    compiler_output -> 'a1 **)
    624 let rec compiler_output_rect_Type2 h_mk_compiler_output x_25201 =
     624let rec compiler_output_rect_Type2 h_mk_compiler_output x_25370 =
    625625  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    626626    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    627     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25201
     627    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25370
    628628  in
    629629  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    634634    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    635635    compiler_output -> 'a1 **)
    636 let rec compiler_output_rect_Type1 h_mk_compiler_output x_25203 =
     636let rec compiler_output_rect_Type1 h_mk_compiler_output x_25372 =
    637637  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    638638    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    639     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25203
     639    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25372
    640640  in
    641641  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    646646    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    647647    compiler_output -> 'a1 **)
    648 let rec compiler_output_rect_Type0 h_mk_compiler_output x_25205 =
     648let rec compiler_output_rect_Type0 h_mk_compiler_output x_25374 =
    649649  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    650650    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    651     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25205
     651    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25374
    652652  in
    653653  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
  • extracted/eRTL.ml

    r2867 r2873  
    112112    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    113113let rec move_dst_rect_Type4 h_PSD h_HDW = function
    114 | PSD x_21247 -> h_PSD x_21247
    115 | HDW x_21248 -> h_HDW x_21248
     114| PSD x_21416 -> h_PSD x_21416
     115| HDW x_21417 -> h_HDW x_21417
    116116
    117117(** val move_dst_rect_Type5 :
    118118    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    119119let rec move_dst_rect_Type5 h_PSD h_HDW = function
    120 | PSD x_21252 -> h_PSD x_21252
    121 | HDW x_21253 -> h_HDW x_21253
     120| PSD x_21421 -> h_PSD x_21421
     121| HDW x_21422 -> h_HDW x_21422
    122122
    123123(** val move_dst_rect_Type3 :
    124124    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    125125let rec move_dst_rect_Type3 h_PSD h_HDW = function
    126 | PSD x_21257 -> h_PSD x_21257
    127 | HDW x_21258 -> h_HDW x_21258
     126| PSD x_21426 -> h_PSD x_21426
     127| HDW x_21427 -> h_HDW x_21427
    128128
    129129(** val move_dst_rect_Type2 :
    130130    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    131131let rec move_dst_rect_Type2 h_PSD h_HDW = function
    132 | PSD x_21262 -> h_PSD x_21262
    133 | HDW x_21263 -> h_HDW x_21263
     132| PSD x_21431 -> h_PSD x_21431
     133| HDW x_21432 -> h_HDW x_21432
    134134
    135135(** val move_dst_rect_Type1 :
    136136    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    137137let rec move_dst_rect_Type1 h_PSD h_HDW = function
    138 | PSD x_21267 -> h_PSD x_21267
    139 | HDW x_21268 -> h_HDW x_21268
     138| PSD x_21436 -> h_PSD x_21436
     139| HDW x_21437 -> h_HDW x_21437
    140140
    141141(** val move_dst_rect_Type0 :
    142142    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    143143let rec move_dst_rect_Type0 h_PSD h_HDW = function
    144 | PSD x_21272 -> h_PSD x_21272
    145 | HDW x_21273 -> h_HDW x_21273
     144| PSD x_21441 -> h_PSD x_21441
     145| HDW x_21442 -> h_HDW x_21442
    146146
    147147(** val move_dst_inv_rect_Type4 :
     
    338338| Ertl_new_frame -> h_ertl_new_frame
    339339| Ertl_del_frame -> h_ertl_del_frame
    340 | Ertl_frame_size x_21312 -> h_ertl_frame_size x_21312
     340| Ertl_frame_size x_21481 -> h_ertl_frame_size x_21481
    341341
    342342(** val ertl_seq_rect_Type5 :
     
    345345| Ertl_new_frame -> h_ertl_new_frame
    346346| Ertl_del_frame -> h_ertl_del_frame
    347 | Ertl_frame_size x_21317 -> h_ertl_frame_size x_21317
     347| Ertl_frame_size x_21486 -> h_ertl_frame_size x_21486
    348348
    349349(** val ertl_seq_rect_Type3 :
     
    352352| Ertl_new_frame -> h_ertl_new_frame
    353353| Ertl_del_frame -> h_ertl_del_frame
    354 | Ertl_frame_size x_21322 -> h_ertl_frame_size x_21322
     354| Ertl_frame_size x_21491 -> h_ertl_frame_size x_21491
    355355
    356356(** val ertl_seq_rect_Type2 :
     
    359359| Ertl_new_frame -> h_ertl_new_frame
    360360| Ertl_del_frame -> h_ertl_del_frame
    361 | Ertl_frame_size x_21327 -> h_ertl_frame_size x_21327
     361| Ertl_frame_size x_21496 -> h_ertl_frame_size x_21496
    362362
    363363(** val ertl_seq_rect_Type1 :
     
    366366| Ertl_new_frame -> h_ertl_new_frame
    367367| Ertl_del_frame -> h_ertl_del_frame
    368 | Ertl_frame_size x_21332 -> h_ertl_frame_size x_21332
     368| Ertl_frame_size x_21501 -> h_ertl_frame_size x_21501
    369369
    370370(** val ertl_seq_rect_Type0 :
     
    373373| Ertl_new_frame -> h_ertl_new_frame
    374374| Ertl_del_frame -> h_ertl_del_frame
    375 | Ertl_frame_size x_21337 -> h_ertl_frame_size x_21337
     375| Ertl_frame_size x_21506 -> h_ertl_frame_size x_21506
    376376
    377377(** val ertl_seq_inv_rect_Type4 :
  • extracted/eRTLptr.ml

    r2867 r2873  
    116116    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    117117let rec ertlptr_seq_rect_Type4 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    118 | Ertlptr_ertl x_21381 -> h_ertlptr_ertl x_21381
    119 | LOW_ADDRESS (x_21383, x_21382) -> h_LOW_ADDRESS x_21383 x_21382
    120 | HIGH_ADDRESS (x_21385, x_21384) -> h_HIGH_ADDRESS x_21385 x_21384
     118| Ertlptr_ertl x_21550 -> h_ertlptr_ertl x_21550
     119| LOW_ADDRESS (x_21552, x_21551) -> h_LOW_ADDRESS x_21552 x_21551
     120| HIGH_ADDRESS (x_21554, x_21553) -> h_HIGH_ADDRESS x_21554 x_21553
    121121
    122122(** val ertlptr_seq_rect_Type5 :
     
    124124    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    125125let rec ertlptr_seq_rect_Type5 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    126 | Ertlptr_ertl x_21390 -> h_ertlptr_ertl x_21390
    127 | LOW_ADDRESS (x_21392, x_21391) -> h_LOW_ADDRESS x_21392 x_21391
    128 | HIGH_ADDRESS (x_21394, x_21393) -> h_HIGH_ADDRESS x_21394 x_21393
     126| Ertlptr_ertl x_21559 -> h_ertlptr_ertl x_21559
     127| LOW_ADDRESS (x_21561, x_21560) -> h_LOW_ADDRESS x_21561 x_21560
     128| HIGH_ADDRESS (x_21563, x_21562) -> h_HIGH_ADDRESS x_21563 x_21562
    129129
    130130(** val ertlptr_seq_rect_Type3 :
     
    132132    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    133133let rec ertlptr_seq_rect_Type3 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    134 | Ertlptr_ertl x_21399 -> h_ertlptr_ertl x_21399
    135 | LOW_ADDRESS (x_21401, x_21400) -> h_LOW_ADDRESS x_21401 x_21400
    136 | HIGH_ADDRESS (x_21403, x_21402) -> h_HIGH_ADDRESS x_21403 x_21402
     134| Ertlptr_ertl x_21568 -> h_ertlptr_ertl x_21568
     135| LOW_ADDRESS (x_21570, x_21569) -> h_LOW_ADDRESS x_21570 x_21569
     136| HIGH_ADDRESS (x_21572, x_21571) -> h_HIGH_ADDRESS x_21572 x_21571
    137137
    138138(** val ertlptr_seq_rect_Type2 :
     
    140140    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    141141let rec ertlptr_seq_rect_Type2 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    142 | Ertlptr_ertl x_21408 -> h_ertlptr_ertl x_21408
    143 | LOW_ADDRESS (x_21410, x_21409) -> h_LOW_ADDRESS x_21410 x_21409
    144 | HIGH_ADDRESS (x_21412, x_21411) -> h_HIGH_ADDRESS x_21412 x_21411
     142| Ertlptr_ertl x_21577 -> h_ertlptr_ertl x_21577
     143| LOW_ADDRESS (x_21579, x_21578) -> h_LOW_ADDRESS x_21579 x_21578
     144| HIGH_ADDRESS (x_21581, x_21580) -> h_HIGH_ADDRESS x_21581 x_21580
    145145
    146146(** val ertlptr_seq_rect_Type1 :
     
    148148    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    149149let rec ertlptr_seq_rect_Type1 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    150 | Ertlptr_ertl x_21417 -> h_ertlptr_ertl x_21417
    151 | LOW_ADDRESS (x_21419, x_21418) -> h_LOW_ADDRESS x_21419 x_21418
    152 | HIGH_ADDRESS (x_21421, x_21420) -> h_HIGH_ADDRESS x_21421 x_21420
     150| Ertlptr_ertl x_21586 -> h_ertlptr_ertl x_21586
     151| LOW_ADDRESS (x_21588, x_21587) -> h_LOW_ADDRESS x_21588 x_21587
     152| HIGH_ADDRESS (x_21590, x_21589) -> h_HIGH_ADDRESS x_21590 x_21589
    153153
    154154(** val ertlptr_seq_rect_Type0 :
     
    156156    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    157157let rec ertlptr_seq_rect_Type0 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    158 | Ertlptr_ertl x_21426 -> h_ertlptr_ertl x_21426
    159 | LOW_ADDRESS (x_21428, x_21427) -> h_LOW_ADDRESS x_21428 x_21427
    160 | HIGH_ADDRESS (x_21430, x_21429) -> h_HIGH_ADDRESS x_21430 x_21429
     158| Ertlptr_ertl x_21595 -> h_ertlptr_ertl x_21595
     159| LOW_ADDRESS (x_21597, x_21596) -> h_LOW_ADDRESS x_21597 x_21596
     160| HIGH_ADDRESS (x_21599, x_21598) -> h_HIGH_ADDRESS x_21599 x_21598
    161161
    162162(** val ertlptr_seq_inv_rect_Type4 :
  • extracted/eRTLptrToLTL.ml

    r2867 r2873  
    167167    arg_decision -> 'a1 **)
    168168let rec arg_decision_rect_Type4 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    169 | Arg_decision_colour x_21937 -> h_arg_decision_colour x_21937
    170 | Arg_decision_spill x_21938 -> h_arg_decision_spill x_21938
    171 | Arg_decision_imm x_21939 -> h_arg_decision_imm x_21939
     169| Arg_decision_colour x_22106 -> h_arg_decision_colour x_22106
     170| Arg_decision_spill x_22107 -> h_arg_decision_spill x_22107
     171| Arg_decision_imm x_22108 -> h_arg_decision_imm x_22108
    172172
    173173(** val arg_decision_rect_Type5 :
     
    175175    arg_decision -> 'a1 **)
    176176let rec arg_decision_rect_Type5 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    177 | Arg_decision_colour x_21944 -> h_arg_decision_colour x_21944
    178 | Arg_decision_spill x_21945 -> h_arg_decision_spill x_21945
    179 | Arg_decision_imm x_21946 -> h_arg_decision_imm x_21946
     177| Arg_decision_colour x_22113 -> h_arg_decision_colour x_22113
     178| Arg_decision_spill x_22114 -> h_arg_decision_spill x_22114
     179| Arg_decision_imm x_22115 -> h_arg_decision_imm x_22115
    180180
    181181(** val arg_decision_rect_Type3 :
     
    183183    arg_decision -> 'a1 **)
    184184let rec arg_decision_rect_Type3 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    185 | Arg_decision_colour x_21951 -> h_arg_decision_colour x_21951
    186 | Arg_decision_spill x_21952 -> h_arg_decision_spill x_21952
    187 | Arg_decision_imm x_21953 -> h_arg_decision_imm x_21953
     185| Arg_decision_colour x_22120 -> h_arg_decision_colour x_22120
     186| Arg_decision_spill x_22121 -> h_arg_decision_spill x_22121
     187| Arg_decision_imm x_22122 -> h_arg_decision_imm x_22122
    188188
    189189(** val arg_decision_rect_Type2 :
     
    191191    arg_decision -> 'a1 **)
    192192let rec arg_decision_rect_Type2 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    193 | Arg_decision_colour x_21958 -> h_arg_decision_colour x_21958
    194 | Arg_decision_spill x_21959 -> h_arg_decision_spill x_21959
    195 | Arg_decision_imm x_21960 -> h_arg_decision_imm x_21960
     193| Arg_decision_colour x_22127 -> h_arg_decision_colour x_22127
     194| Arg_decision_spill x_22128 -> h_arg_decision_spill x_22128
     195| Arg_decision_imm x_22129 -> h_arg_decision_imm x_22129
    196196
    197197(** val arg_decision_rect_Type1 :
     
    199199    arg_decision -> 'a1 **)
    200200let rec arg_decision_rect_Type1 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    201 | Arg_decision_colour x_21965 -> h_arg_decision_colour x_21965
    202 | Arg_decision_spill x_21966 -> h_arg_decision_spill x_21966
    203 | Arg_decision_imm x_21967 -> h_arg_decision_imm x_21967
     201| Arg_decision_colour x_22134 -> h_arg_decision_colour x_22134
     202| Arg_decision_spill x_22135 -> h_arg_decision_spill x_22135
     203| Arg_decision_imm x_22136 -> h_arg_decision_imm x_22136
    204204
    205205(** val arg_decision_rect_Type0 :
     
    207207    arg_decision -> 'a1 **)
    208208let rec arg_decision_rect_Type0 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    209 | Arg_decision_colour x_21972 -> h_arg_decision_colour x_21972
    210 | Arg_decision_spill x_21973 -> h_arg_decision_spill x_21973
    211 | Arg_decision_imm x_21974 -> h_arg_decision_imm x_21974
     209| Arg_decision_colour x_22141 -> h_arg_decision_colour x_22141
     210| Arg_decision_spill x_22142 -> h_arg_decision_spill x_22142
     211| Arg_decision_imm x_22143 -> h_arg_decision_imm x_22143
    212212
    213213(** val arg_decision_inv_rect_Type4 :
  • extracted/fetch.ml

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

    r2827 r2873  
    8080    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    8181    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    82 let rec property_lattice_rect_Type4 h_mk_property_lattice x_21776 =
    83   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    84     l_is_maximal = l_is_maximal0 } = x_21776
     82let rec property_lattice_rect_Type4 h_mk_property_lattice x_21945 =
     83  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     84    l_is_maximal = l_is_maximal0 } = x_21945
    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_21778 =
    92   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    93     l_is_maximal = l_is_maximal0 } = x_21778
     91let rec property_lattice_rect_Type5 h_mk_property_lattice x_21947 =
     92  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     93    l_is_maximal = l_is_maximal0 } = x_21947
    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_21780 =
    101   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    102     l_is_maximal = l_is_maximal0 } = x_21780
     100let rec property_lattice_rect_Type3 h_mk_property_lattice x_21949 =
     101  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     102    l_is_maximal = l_is_maximal0 } = x_21949
    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_21782 =
    110   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    111     l_is_maximal = l_is_maximal0 } = x_21782
     109let rec property_lattice_rect_Type2 h_mk_property_lattice x_21951 =
     110  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     111    l_is_maximal = l_is_maximal0 } = x_21951
    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_21784 =
    119   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    120     l_is_maximal = l_is_maximal0 } = x_21784
     118let rec property_lattice_rect_Type1 h_mk_property_lattice x_21953 =
     119  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     120    l_is_maximal = l_is_maximal0 } = x_21953
    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_21786 =
    128   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    129     l_is_maximal = l_is_maximal0 } = x_21786
     127let rec property_lattice_rect_Type0 h_mk_property_lattice x_21955 =
     128  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     129    l_is_maximal = l_is_maximal0 } = x_21955
    130130  in
    131131  h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0
     
    201201    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    202202    -> 'a1 **)
    203 let rec fixpoint_rect_Type4 latt h_mk_fixpoint x_21807 =
    204   let fix_lfp = x_21807 in h_mk_fixpoint fix_lfp __
     203let rec fixpoint_rect_Type4 latt h_mk_fixpoint x_21976 =
     204  let fix_lfp = x_21976 in h_mk_fixpoint fix_lfp __
    205205
    206206(** val fixpoint_rect_Type5 :
    207207    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    208208    -> 'a1 **)
    209 let rec fixpoint_rect_Type5 latt h_mk_fixpoint x_21809 =
    210   let fix_lfp = x_21809 in h_mk_fixpoint fix_lfp __
     209let rec fixpoint_rect_Type5 latt h_mk_fixpoint x_21978 =
     210  let fix_lfp = x_21978 in h_mk_fixpoint fix_lfp __
    211211
    212212(** val fixpoint_rect_Type3 :
    213213    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    214214    -> 'a1 **)
    215 let rec fixpoint_rect_Type3 latt h_mk_fixpoint x_21811 =
    216   let fix_lfp = x_21811 in h_mk_fixpoint fix_lfp __
     215let rec fixpoint_rect_Type3 latt h_mk_fixpoint x_21980 =
     216  let fix_lfp = x_21980 in h_mk_fixpoint fix_lfp __
    217217
    218218(** val fixpoint_rect_Type2 :
    219219    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    220220    -> 'a1 **)
    221 let rec fixpoint_rect_Type2 latt h_mk_fixpoint x_21813 =
    222   let fix_lfp = x_21813 in h_mk_fixpoint fix_lfp __
     221let rec fixpoint_rect_Type2 latt h_mk_fixpoint x_21982 =
     222  let fix_lfp = x_21982 in h_mk_fixpoint fix_lfp __
    223223
    224224(** val fixpoint_rect_Type1 :
    225225    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    226226    -> 'a1 **)
    227 let rec fixpoint_rect_Type1 latt h_mk_fixpoint x_21815 =
    228   let fix_lfp = x_21815 in h_mk_fixpoint fix_lfp __
     227let rec fixpoint_rect_Type1 latt h_mk_fixpoint x_21984 =
     228  let fix_lfp = x_21984 in h_mk_fixpoint fix_lfp __
    229229
    230230(** val fixpoint_rect_Type0 :
    231231    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    232232    -> 'a1 **)
    233 let rec fixpoint_rect_Type0 latt h_mk_fixpoint x_21817 =
    234   let fix_lfp = x_21817 in h_mk_fixpoint fix_lfp __
     233let rec fixpoint_rect_Type0 latt h_mk_fixpoint x_21986 =
     234  let fix_lfp = x_21986 in h_mk_fixpoint fix_lfp __
    235235
    236236(** val fix_lfp : property_lattice -> fixpoint -> equations -> valuation **)
  • extracted/interference.ml

    r2867 r2873  
    122122    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    123123let rec decision_rect_Type4 h_decision_spill h_decision_colour = function
    124 | Decision_spill x_21838 -> h_decision_spill x_21838
    125 | Decision_colour x_21839 -> h_decision_colour x_21839
     124| Decision_spill x_22007 -> h_decision_spill x_22007
     125| Decision_colour x_22008 -> h_decision_colour x_22008
    126126
    127127(** val decision_rect_Type5 :
    128128    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    129129let rec decision_rect_Type5 h_decision_spill h_decision_colour = function
    130 | Decision_spill x_21843 -> h_decision_spill x_21843
    131 | Decision_colour x_21844 -> h_decision_colour x_21844
     130| Decision_spill x_22012 -> h_decision_spill x_22012
     131| Decision_colour x_22013 -> h_decision_colour x_22013
    132132
    133133(** val decision_rect_Type3 :
    134134    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    135135let rec decision_rect_Type3 h_decision_spill h_decision_colour = function
    136 | Decision_spill x_21848 -> h_decision_spill x_21848
    137 | Decision_colour x_21849 -> h_decision_colour x_21849
     136| Decision_spill x_22017 -> h_decision_spill x_22017
     137| Decision_colour x_22018 -> h_decision_colour x_22018
    138138
    139139(** val decision_rect_Type2 :
    140140    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    141141let rec decision_rect_Type2 h_decision_spill h_decision_colour = function
    142 | Decision_spill x_21853 -> h_decision_spill x_21853
    143 | Decision_colour x_21854 -> h_decision_colour x_21854
     142| Decision_spill x_22022 -> h_decision_spill x_22022
     143| Decision_colour x_22023 -> h_decision_colour x_22023
    144144
    145145(** val decision_rect_Type1 :
    146146    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    147147let rec decision_rect_Type1 h_decision_spill h_decision_colour = function
    148 | Decision_spill x_21858 -> h_decision_spill x_21858
    149 | Decision_colour x_21859 -> h_decision_colour x_21859
     148| Decision_spill x_22027 -> h_decision_spill x_22027
     149| Decision_colour x_22028 -> h_decision_colour x_22028
    150150
    151151(** val decision_rect_Type0 :
    152152    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    153153let rec decision_rect_Type0 h_decision_spill h_decision_colour = function
    154 | Decision_spill x_21863 -> h_decision_spill x_21863
    155 | Decision_colour x_21864 -> h_decision_colour x_21864
     154| Decision_spill x_22032 -> h_decision_spill x_22032
     155| Decision_colour x_22033 -> h_decision_colour x_22033
    156156
    157157(** val decision_inv_rect_Type4 :
     
    205205    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    206206    __ -> 'a1) -> coloured_graph -> 'a1 **)
    207 let rec coloured_graph_rect_Type4 after h_mk_coloured_graph x_21899 =
    208   let { colouring = colouring0; spilled_no = spilled_no0 } = x_21899 in
     207let rec coloured_graph_rect_Type4 after h_mk_coloured_graph x_22068 =
     208  let { colouring = colouring0; spilled_no = spilled_no0 } = x_22068 in
    209209  h_mk_coloured_graph colouring0 spilled_no0 __ __
    210210
     
    212212    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    213213    __ -> 'a1) -> coloured_graph -> 'a1 **)
    214 let rec coloured_graph_rect_Type5 after h_mk_coloured_graph x_21901 =
    215   let { colouring = colouring0; spilled_no = spilled_no0 } = x_21901 in
     214let rec coloured_graph_rect_Type5 after h_mk_coloured_graph x_22070 =
     215  let { colouring = colouring0; spilled_no = spilled_no0 } = x_22070 in
    216216  h_mk_coloured_graph colouring0 spilled_no0 __ __
    217217
     
    219219    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    220220    __ -> 'a1) -> coloured_graph -> 'a1 **)
    221 let rec coloured_graph_rect_Type3 after h_mk_coloured_graph x_21903 =
    222   let { colouring = colouring0; spilled_no = spilled_no0 } = x_21903 in
     221let rec coloured_graph_rect_Type3 after h_mk_coloured_graph x_22072 =
     222  let { colouring = colouring0; spilled_no = spilled_no0 } = x_22072 in
    223223  h_mk_coloured_graph colouring0 spilled_no0 __ __
    224224
     
    226226    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    227227    __ -> 'a1) -> coloured_graph -> 'a1 **)
    228 let rec coloured_graph_rect_Type2 after h_mk_coloured_graph x_21905 =
    229   let { colouring = colouring0; spilled_no = spilled_no0 } = x_21905 in
     228let rec coloured_graph_rect_Type2 after h_mk_coloured_graph x_22074 =
     229  let { colouring = colouring0; spilled_no = spilled_no0 } = x_22074 in
    230230  h_mk_coloured_graph colouring0 spilled_no0 __ __
    231231
     
    233233    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    234234    __ -> 'a1) -> coloured_graph -> 'a1 **)
    235 let rec coloured_graph_rect_Type1 after h_mk_coloured_graph x_21907 =
    236   let { colouring = colouring0; spilled_no = spilled_no0 } = x_21907 in
     235let rec coloured_graph_rect_Type1 after h_mk_coloured_graph x_22076 =
     236  let { colouring = colouring0; spilled_no = spilled_no0 } = x_22076 in
    237237  h_mk_coloured_graph colouring0 spilled_no0 __ __
    238238
     
    240240    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    241241    __ -> 'a1) -> coloured_graph -> 'a1 **)
    242 let rec coloured_graph_rect_Type0 after h_mk_coloured_graph x_21909 =
    243   let { colouring = colouring0; spilled_no = spilled_no0 } = x_21909 in
     242let rec coloured_graph_rect_Type0 after h_mk_coloured_graph x_22078 =
     243  let { colouring = colouring0; spilled_no = spilled_no0 } = x_22078 in
    244244  h_mk_coloured_graph colouring0 spilled_no0 __ __
    245245
  • extracted/joint.ml

    r2867 r2873  
    110110    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    111111let rec argument_rect_Type4 h_Reg h_Imm = function
    112 | Reg x_19661 -> h_Reg x_19661
    113 | Imm x_19662 -> h_Imm x_19662
     112| Reg x_19830 -> h_Reg x_19830
     113| Imm x_19831 -> h_Imm x_19831
    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_19666 -> h_Reg x_19666
    119 | Imm x_19667 -> h_Imm x_19667
     118| Reg x_19835 -> h_Reg x_19835
     119| Imm x_19836 -> h_Imm x_19836
    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_19671 -> h_Reg x_19671
    125 | Imm x_19672 -> h_Imm x_19672
     124| Reg x_19840 -> h_Reg x_19840
     125| Imm x_19841 -> h_Imm x_19841
    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_19676 -> h_Reg x_19676
    131 | Imm x_19677 -> h_Imm x_19677
     130| Reg x_19845 -> h_Reg x_19845
     131| Imm x_19846 -> h_Imm x_19846
    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_19681 -> h_Reg x_19681
    137 | Imm x_19682 -> h_Imm x_19682
     136| Reg x_19850 -> h_Reg x_19850
     137| Imm x_19851 -> h_Imm x_19851
    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_19686 -> h_Reg x_19686
    143 | Imm x_19687 -> h_Imm x_19687
     142| Reg x_19855 -> h_Reg x_19855
     143| Imm x_19856 -> h_Imm x_19856
    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_19722 =
     326let rec unserialized_params_rect_Type4 h_mk_unserialized_params x_19891 =
    327327  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    328     x_19722
     328    x_19891
    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_19724 =
     337let rec unserialized_params_rect_Type5 h_mk_unserialized_params x_19893 =
    338338  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    339     x_19724
     339    x_19893
    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_19726 =
     348let rec unserialized_params_rect_Type3 h_mk_unserialized_params x_19895 =
    349349  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    350     x_19726
     350    x_19895
    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_19728 =
     359let rec unserialized_params_rect_Type2 h_mk_unserialized_params x_19897 =
    360360  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    361     x_19728
     361    x_19897
    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_19730 =
     370let rec unserialized_params_rect_Type1 h_mk_unserialized_params x_19899 =
    371371  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    372     x_19730
     372    x_19899
    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_19732 =
     381let rec unserialized_params_rect_Type0 h_mk_unserialized_params x_19901 =
    382382  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    383     x_19732
     383    x_19901
    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_19749 =
     508let rec get_pseudo_reg_functs_rect_Type4 p h_mk_get_pseudo_reg_functs x_19918 =
    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_19749
     514    params_regs0 } = x_19918
    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_19751 =
     531let rec get_pseudo_reg_functs_rect_Type5 p h_mk_get_pseudo_reg_functs x_19920 =
    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_19751
     537    params_regs0 } = x_19920
    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_19753 =
     554let rec get_pseudo_reg_functs_rect_Type3 p h_mk_get_pseudo_reg_functs x_19922 =
    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_19753
     560    params_regs0 } = x_19922
    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_19755 =
     577let rec get_pseudo_reg_functs_rect_Type2 p h_mk_get_pseudo_reg_functs x_19924 =
    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_19755
     583    params_regs0 } = x_19924
    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_19757 =
     600let rec get_pseudo_reg_functs_rect_Type1 p h_mk_get_pseudo_reg_functs x_19926 =
    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_19757
     606    params_regs0 } = x_19926
    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_19759 =
     623let rec get_pseudo_reg_functs_rect_Type0 p h_mk_get_pseudo_reg_functs x_19928 =
    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_19759
     629    params_regs0 } = x_19928
    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_19789 =
    808   let { u_pars = u_pars0; functs = functs0 } = x_19789 in
     807let rec uns_params_rect_Type4 h_mk_uns_params x_19958 =
     808  let { u_pars = u_pars0; functs = functs0 } = x_19958 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_19791 =
    815   let { u_pars = u_pars0; functs = functs0 } = x_19791 in
     814let rec uns_params_rect_Type5 h_mk_uns_params x_19960 =
     815  let { u_pars = u_pars0; functs = functs0 } = x_19960 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_19793 =
    822   let { u_pars = u_pars0; functs = functs0 } = x_19793 in
     821let rec uns_params_rect_Type3 h_mk_uns_params x_19962 =
     822  let { u_pars = u_pars0; functs = functs0 } = x_19962 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_19795 =
    829   let { u_pars = u_pars0; functs = functs0 } = x_19795 in
     828let rec uns_params_rect_Type2 h_mk_uns_params x_19964 =
     829  let { u_pars = u_pars0; functs = functs0 } = x_19964 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_19797 =
    836   let { u_pars = u_pars0; functs = functs0 } = x_19797 in
     835let rec uns_params_rect_Type1 h_mk_uns_params x_19966 =
     836  let { u_pars = u_pars0; functs = functs0 } = x_19966 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_19799 =
    843   let { u_pars = u_pars0; functs = functs0 } = x_19799 in
     842let rec uns_params_rect_Type0 h_mk_uns_params x_19968 =
     843  let { u_pars = u_pars0; functs = functs0 } = x_19968 in
    844844  h_mk_uns_params u_pars0 functs0
    845845
     
    911911    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    912912let rec joint_seq_rect_Type4 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    913 | COMMENT x_19854 -> h_COMMENT x_19854
    914 | MOVE x_19855 -> h_MOVE x_19855
    915 | POP x_19856 -> h_POP x_19856
    916 | PUSH x_19857 -> h_PUSH x_19857
    917 | ADDRESS (i, x_19859, x_19858) -> h_ADDRESS i __ x_19859 x_19858
    918 | OPACCS (x_19865, x_19864, x_19863, x_19862, x_19861) ->
    919   h_OPACCS x_19865 x_19864 x_19863 x_19862 x_19861
    920 | OP1 (x_19868, x_19867, x_19866) -> h_OP1 x_19868 x_19867 x_19866
    921 | OP2 (x_19872, x_19871, x_19870, x_19869) ->
    922   h_OP2 x_19872 x_19871 x_19870 x_19869
     913| COMMENT x_20023 -> h_COMMENT x_20023
     914| MOVE x_20024 -> h_MOVE x_20024
     915| POP x_20025 -> h_POP x_20025
     916| PUSH x_20026 -> h_PUSH x_20026
     917| ADDRESS (i, x_20028, x_20027) -> h_ADDRESS i __ x_20028 x_20027
     918| OPACCS (x_20034, x_20033, x_20032, x_20031, x_20030) ->
     919  h_OPACCS x_20034 x_20033 x_20032 x_20031 x_20030
     920| OP1 (x_20037, x_20036, x_20035) -> h_OP1 x_20037 x_20036 x_20035
     921| OP2 (x_20041, x_20040, x_20039, x_20038) ->
     922  h_OP2 x_20041 x_20040 x_20039 x_20038
    923923| CLEAR_CARRY -> h_CLEAR_CARRY
    924924| SET_CARRY -> h_SET_CARRY
    925 | LOAD (x_19875, x_19874, x_19873) -> h_LOAD x_19875 x_19874 x_19873
    926 | STORE (x_19878, x_19877, x_19876) -> h_STORE x_19878 x_19877 x_19876
    927 | Extension_seq x_19879 -> h_extension_seq x_19879
     925| LOAD (x_20044, x_20043, x_20042) -> h_LOAD x_20044 x_20043 x_20042
     926| STORE (x_20047, x_20046, x_20045) -> h_STORE x_20047 x_20046 x_20045
     927| Extension_seq x_20048 -> h_extension_seq x_20048
    928928
    929929(** val joint_seq_rect_Type5 :
     
    935935    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    936936let rec joint_seq_rect_Type5 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    937 | COMMENT x_19894 -> h_COMMENT x_19894
    938 | MOVE x_19895 -> h_MOVE x_19895
    939 | POP x_19896 -> h_POP x_19896
    940 | PUSH x_19897 -> h_PUSH x_19897
    941 | ADDRESS (i, x_19899, x_19898) -> h_ADDRESS i __ x_19899 x_19898
    942 | OPACCS (x_19905, x_19904, x_19903, x_19902, x_19901) ->
    943   h_OPACCS x_19905 x_19904 x_19903 x_19902 x_19901
    944 | OP1 (x_19908, x_19907, x_19906) -> h_OP1 x_19908 x_19907 x_19906
    945 | OP2 (x_19912, x_19911, x_19910, x_19909) ->
    946   h_OP2 x_19912 x_19911 x_19910 x_19909
     937| COMMENT x_20063 -> h_COMMENT x_20063
     938| MOVE x_20064 -> h_MOVE x_20064
     939| POP x_20065 -> h_POP x_20065
     940| PUSH x_20066 -> h_PUSH x_20066
     941| ADDRESS (i, x_20068, x_20067) -> h_ADDRESS i __ x_20068 x_20067
     942| OPACCS (x_20074, x_20073, x_20072, x_20071, x_20070) ->
     943  h_OPACCS x_20074 x_20073 x_20072 x_20071 x_20070
     944| OP1 (x_20077, x_20076, x_20075) -> h_OP1 x_20077 x_20076 x_20075
     945| OP2 (x_20081, x_20080, x_20079, x_20078) ->
     946  h_OP2 x_20081 x_20080 x_20079 x_20078
    947947| CLEAR_CARRY -> h_CLEAR_CARRY
    948948| SET_CARRY -> h_SET_CARRY
    949 | LOAD (x_19915, x_19914, x_19913) -> h_LOAD x_19915 x_19914 x_19913
    950 | STORE (x_19918, x_19917, x_19916) -> h_STORE x_19918 x_19917 x_19916
    951 | Extension_seq x_19919 -> h_extension_seq x_19919
     949| LOAD (x_20084, x_20083, x_20082) -> h_LOAD x_20084 x_20083 x_20082
     950| STORE (x_20087, x_20086, x_20085) -> h_STORE x_20087 x_20086 x_20085
     951| Extension_seq x_20088 -> h_extension_seq x_20088
    952952
    953953(** val joint_seq_rect_Type3 :
     
    959959    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    960960let rec joint_seq_rect_Type3 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    961 | COMMENT x_19934 -> h_COMMENT x_19934
    962 | MOVE x_19935 -> h_MOVE x_19935
    963 | POP x_19936 -> h_POP x_19936
    964 | PUSH x_19937 -> h_PUSH x_19937
    965 | ADDRESS (i, x_19939, x_19938) -> h_ADDRESS i __ x_19939 x_19938
    966 | OPACCS (x_19945, x_19944, x_19943, x_19942, x_19941) ->
    967   h_OPACCS x_19945 x_19944 x_19943 x_19942 x_19941
    968 | OP1 (x_19948, x_19947, x_19946) -> h_OP1 x_19948 x_19947 x_19946
    969 | OP2 (x_19952, x_19951, x_19950, x_19949) ->
    970   h_OP2 x_19952 x_19951 x_19950 x_19949
     961| COMMENT x_20103 -> h_COMMENT x_20103
     962| MOVE x_20104 -> h_MOVE x_20104
     963| POP x_20105 -> h_POP x_20105
     964| PUSH x_20106 -> h_PUSH x_20106
     965| ADDRESS (i, x_20108, x_20107) -> h_ADDRESS i __ x_20108 x_20107
     966| OPACCS (x_20114, x_20113, x_20112, x_20111, x_20110) ->
     967  h_OPACCS x_20114 x_20113 x_20112 x_20111 x_20110
     968| OP1 (x_20117, x_20116, x_20115) -> h_OP1 x_20117 x_20116 x_20115
     969| OP2 (x_20121, x_20120, x_20119, x_20118) ->
     970  h_OP2 x_20121 x_20120 x_20119 x_20118
    971971| CLEAR_CARRY -> h_CLEAR_CARRY
    972972| SET_CARRY -> h_SET_CARRY
    973 | LOAD (x_19955, x_19954, x_19953) -> h_LOAD x_19955 x_19954 x_19953
    974 | STORE (x_19958, x_19957, x_19956) -> h_STORE x_19958 x_19957 x_19956
    975 | Extension_seq x_19959 -> h_extension_seq x_19959
     973| LOAD (x_20124, x_20123, x_20122) -> h_LOAD x_20124 x_20123 x_20122
     974| STORE (x_20127, x_20126, x_20125) -> h_STORE x_20127 x_20126 x_20125
     975| Extension_seq x_20128 -> h_extension_seq x_20128
    976976
    977977(** val joint_seq_rect_Type2 :
     
    983983    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    984984let rec joint_seq_rect_Type2 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    985 | COMMENT x_19974 -> h_COMMENT x_19974
    986 | MOVE x_19975 -> h_MOVE x_19975
    987 | POP x_19976 -> h_POP x_19976
    988 | PUSH x_19977 -> h_PUSH x_19977
    989 | ADDRESS (i, x_19979, x_19978) -> h_ADDRESS i __ x_19979 x_19978
    990 | OPACCS (x_19985, x_19984, x_19983, x_19982, x_19981) ->
    991   h_OPACCS x_19985 x_19984 x_19983 x_19982 x_19981
    992 | OP1 (x_19988, x_19987, x_19986) -> h_OP1 x_19988 x_19987 x_19986
    993 | OP2 (x_19992, x_19991, x_19990, x_19989) ->
    994   h_OP2 x_19992 x_19991 x_19990 x_19989
     985| COMMENT x_20143 -> h_COMMENT x_20143
     986| MOVE x_20144 -> h_MOVE x_20144
     987| POP x_20145 -> h_POP x_20145
     988| PUSH x_20146 -> h_PUSH x_20146
     989| ADDRESS (i, x_20148, x_20147) -> h_ADDRESS i __ x_20148 x_20147
     990| OPACCS (x_20154, x_20153, x_20152, x_20151, x_20150) ->
     991  h_OPACCS x_20154 x_20153 x_20152 x_20151 x_20150
     992| OP1 (x_20157, x_20156, x_20155) -> h_OP1 x_20157 x_20156 x_20155
     993| OP2 (x_20161, x_20160, x_20159, x_20158) ->
     994  h_OP2 x_20161 x_20160 x_20159 x_20158
    995995| CLEAR_CARRY -> h_CLEAR_CARRY
    996996| SET_CARRY -> h_SET_CARRY
    997 | LOAD (x_19995, x_19994, x_19993) -> h_LOAD x_19995 x_19994 x_19993
    998 | STORE (x_19998, x_19997, x_19996) -> h_STORE x_19998 x_19997 x_19996
    999 | Extension_seq x_19999 -> h_extension_seq x_19999
     997| LOAD (x_20164, x_20163, x_20162) -> h_LOAD x_20164 x_20163 x_20162
     998| STORE (x_20167, x_20166, x_20165) -> h_STORE x_20167 x_20166 x_20165
     999| Extension_seq x_20168 -> h_extension_seq x_20168
    10001000
    10011001(** val joint_seq_rect_Type1 :
     
    10071007    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    10081008let rec joint_seq_rect_Type1 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    1009 | COMMENT x_20014 -> h_COMMENT x_20014
    1010 | MOVE x_20015 -> h_MOVE x_20015
    1011 | POP x_20016 -> h_POP x_20016
    1012 | PUSH x_20017 -> h_PUSH x_20017
    1013 | ADDRESS (i, x_20019, x_20018) -> h_ADDRESS i __ x_20019 x_20018
    1014 | OPACCS (x_20025, x_20024, x_20023, x_20022, x_20021) ->
    1015   h_OPACCS x_20025 x_20024 x_20023 x_20022 x_20021
    1016 | OP1 (x_20028, x_20027, x_20026) -> h_OP1 x_20028 x_20027 x_20026
    1017 | OP2 (x_20032, x_20031, x_20030, x_20029) ->
    1018   h_OP2 x_20032 x_20031 x_20030 x_20029
     1009| COMMENT x_20183 -> h_COMMENT x_20183
     1010| MOVE x_20184 -> h_MOVE x_20184
     1011| POP x_20185 -> h_POP x_20185
     1012| PUSH x_20186 -> h_PUSH x_20186
     1013| ADDRESS (i, x_20188, x_20187) -> h_ADDRESS i __ x_20188 x_20187
     1014| OPACCS (x_20194, x_20193, x_20192, x_20191, x_20190) ->
     1015  h_OPACCS x_20194 x_20193 x_20192 x_20191 x_20190
     1016| OP1 (x_20197, x_20196, x_20195) -> h_OP1 x_20197 x_20196 x_20195
     1017| OP2 (x_20201, x_20200, x_20199, x_20198) ->
     1018  h_OP2 x_20201 x_20200 x_20199 x_20198
    10191019| CLEAR_CARRY -> h_CLEAR_CARRY
    10201020| SET_CARRY -> h_SET_CARRY
    1021 | LOAD (x_20035, x_20034, x_20033) -> h_LOAD x_20035 x_20034 x_20033
    1022 | STORE (x_20038, x_20037, x_20036) -> h_STORE x_20038 x_20037 x_20036
    1023 | Extension_seq x_20039 -> h_extension_seq x_20039
     1021| LOAD (x_20204, x_20203, x_20202) -> h_LOAD x_20204 x_20203 x_20202
     1022| STORE (x_20207, x_20206, x_20205) -> h_STORE x_20207 x_20206 x_20205
     1023| Extension_seq x_20208 -> h_extension_seq x_20208
    10241024
    10251025(** val joint_seq_rect_Type0 :
     
    10311031    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    10321032let rec joint_seq_rect_Type0 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    1033 | COMMENT x_20054 -> h_COMMENT x_20054
    1034 | MOVE x_20055 -> h_MOVE x_20055
    1035 | POP x_20056 -> h_POP x_20056
    1036 | PUSH x_20057 -> h_PUSH x_20057
    1037 | ADDRESS (i, x_20059, x_20058) -> h_ADDRESS i __ x_20059 x_20058
    1038 | OPACCS (x_20065, x_20064, x_20063, x_20062, x_20061) ->
    1039   h_OPACCS x_20065 x_20064 x_20063 x_20062 x_20061
    1040 | OP1 (x_20068, x_20067, x_20066) -> h_OP1 x_20068 x_20067 x_20066
    1041 | OP2 (x_20072, x_20071, x_20070, x_20069) ->
    1042   h_OP2 x_20072 x_20071 x_20070 x_20069
     1033| COMMENT x_20223 -> h_COMMENT x_20223
     1034| MOVE x_20224 -> h_MOVE x_20224
     1035| POP x_20225 -> h_POP x_20225
     1036| PUSH x_20226 -> h_PUSH x_20226
     1037| ADDRESS (i, x_20228, x_20227) -> h_ADDRESS i __ x_20228 x_20227
     1038| OPACCS (x_20234, x_20233, x_20232, x_20231, x_20230) ->
     1039  h_OPACCS x_20234 x_20233 x_20232 x_20231 x_20230
     1040| OP1 (x_20237, x_20236, x_20235) -> h_OP1 x_20237 x_20236 x_20235
     1041| OP2 (x_20241, x_20240, x_20239, x_20238) ->
     1042  h_OP2 x_20241 x_20240 x_20239 x_20238
    10431043| CLEAR_CARRY -> h_CLEAR_CARRY
    10441044| SET_CARRY -> h_SET_CARRY
    1045 | LOAD (x_20075, x_20074, x_20073) -> h_LOAD x_20075 x_20074 x_20073
    1046 | STORE (x_20078, x_20077, x_20076) -> h_STORE x_20078 x_20077 x_20076
    1047 | Extension_seq x_20079 -> h_extension_seq x_20079
     1045| LOAD (x_20244, x_20243, x_20242) -> h_LOAD x_20244 x_20243 x_20242
     1046| STORE (x_20247, x_20246, x_20245) -> h_STORE x_20247 x_20246 x_20245
     1047| Extension_seq x_20248 -> h_extension_seq x_20248
    10481048
    10491049(** val joint_seq_inv_rect_Type4 :
     
    12361236    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12371237let rec joint_step_rect_Type4 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1238 | COST_LABEL x_20346 -> h_COST_LABEL x_20346
    1239 | CALL (x_20349, x_20348, x_20347) -> h_CALL x_20349 x_20348 x_20347
    1240 | COND (x_20351, x_20350) -> h_COND x_20351 x_20350
    1241 | Step_seq x_20352 -> h_step_seq x_20352
     1238| COST_LABEL x_20515 -> h_COST_LABEL x_20515
     1239| CALL (x_20518, x_20517, x_20516) -> h_CALL x_20518 x_20517 x_20516
     1240| COND (x_20520, x_20519) -> h_COND x_20520 x_20519
     1241| Step_seq x_20521 -> h_step_seq x_20521
    12421242
    12431243(** val joint_step_rect_Type5 :
     
    12461246    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12471247let rec joint_step_rect_Type5 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1248 | COST_LABEL x_20358 -> h_COST_LABEL x_20358
    1249 | CALL (x_20361, x_20360, x_20359) -> h_CALL x_20361 x_20360 x_20359
    1250 | COND (x_20363, x_20362) -> h_COND x_20363 x_20362
    1251 | Step_seq x_20364 -> h_step_seq x_20364
     1248| COST_LABEL x_20527 -> h_COST_LABEL x_20527
     1249| CALL (x_20530, x_20529, x_20528) -> h_CALL x_20530 x_20529 x_20528
     1250| COND (x_20532, x_20531) -> h_COND x_20532 x_20531
     1251| Step_seq x_20533 -> h_step_seq x_20533
    12521252
    12531253(** val joint_step_rect_Type3 :
     
    12561256    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12571257let rec joint_step_rect_Type3 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1258 | COST_LABEL x_20370 -> h_COST_LABEL x_20370
    1259 | CALL (x_20373, x_20372, x_20371) -> h_CALL x_20373 x_20372 x_20371
    1260 | COND (x_20375, x_20374) -> h_COND x_20375 x_20374
    1261 | Step_seq x_20376 -> h_step_seq x_20376
     1258| COST_LABEL x_20539 -> h_COST_LABEL x_20539
     1259| CALL (x_20542, x_20541, x_20540) -> h_CALL x_20542 x_20541 x_20540
     1260| COND (x_20544, x_20543) -> h_COND x_20544 x_20543
     1261| Step_seq x_20545 -> h_step_seq x_20545
    12621262
    12631263(** val joint_step_rect_Type2 :
     
    12661266    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12671267let rec joint_step_rect_Type2 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1268 | COST_LABEL x_20382 -> h_COST_LABEL x_20382
    1269 | CALL (x_20385, x_20384, x_20383) -> h_CALL x_20385 x_20384 x_20383
    1270 | COND (x_20387, x_20386) -> h_COND x_20387 x_20386
    1271 | Step_seq x_20388 -> h_step_seq x_20388
     1268| COST_LABEL x_20551 -> h_COST_LABEL x_20551
     1269| CALL (x_20554, x_20553, x_20552) -> h_CALL x_20554 x_20553 x_20552
     1270| COND (x_20556, x_20555) -> h_COND x_20556 x_20555
     1271| Step_seq x_20557 -> h_step_seq x_20557
    12721272
    12731273(** val joint_step_rect_Type1 :
     
    12761276    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12771277let rec joint_step_rect_Type1 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1278 | COST_LABEL x_20394 -> h_COST_LABEL x_20394
    1279 | CALL (x_20397, x_20396, x_20395) -> h_CALL x_20397 x_20396 x_20395
    1280 | COND (x_20399, x_20398) -> h_COND x_20399 x_20398
    1281 | Step_seq x_20400 -> h_step_seq x_20400
     1278| COST_LABEL x_20563 -> h_COST_LABEL x_20563
     1279| CALL (x_20566, x_20565, x_20564) -> h_CALL x_20566 x_20565 x_20564
     1280| COND (x_20568, x_20567) -> h_COND x_20568 x_20567
     1281| Step_seq x_20569 -> h_step_seq x_20569
    12821282
    12831283(** val joint_step_rect_Type0 :
     
    12861286    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12871287let rec joint_step_rect_Type0 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1288 | COST_LABEL x_20406 -> h_COST_LABEL x_20406
    1289 | CALL (x_20409, x_20408, x_20407) -> h_CALL x_20409 x_20408 x_20407
    1290 | COND (x_20411, x_20410) -> h_COND x_20411 x_20410
    1291 | Step_seq x_20412 -> h_step_seq x_20412
     1288| COST_LABEL x_20575 -> h_COST_LABEL x_20575
     1289| CALL (x_20578, x_20577, x_20576) -> h_CALL x_20578 x_20577 x_20576
     1290| COND (x_20580, x_20579) -> h_COND x_20580 x_20579
     1291| Step_seq x_20581 -> h_step_seq x_20581
    12921292
    12931293(** val joint_step_inv_rect_Type4 :
     
    14641464    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14651465    'a1) -> stmt_params -> 'a1 **)
    1466 let rec stmt_params_rect_Type4 h_mk_stmt_params x_20491 =
     1466let rec stmt_params_rect_Type4 h_mk_stmt_params x_20660 =
    14671467  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1468     has_fcond0 } = x_20491
     1468    has_fcond0 } = x_20660
    14691469  in
    14701470  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    14731473    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14741474    'a1) -> stmt_params -> 'a1 **)
    1475 let rec stmt_params_rect_Type5 h_mk_stmt_params x_20493 =
     1475let rec stmt_params_rect_Type5 h_mk_stmt_params x_20662 =
    14761476  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1477     has_fcond0 } = x_20493
     1477    has_fcond0 } = x_20662
    14781478  in
    14791479  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    14821482    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14831483    'a1) -> stmt_params -> 'a1 **)
    1484 let rec stmt_params_rect_Type3 h_mk_stmt_params x_20495 =
     1484let rec stmt_params_rect_Type3 h_mk_stmt_params x_20664 =
    14851485  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1486     has_fcond0 } = x_20495
     1486    has_fcond0 } = x_20664
    14871487  in
    14881488  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    14911491    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14921492    'a1) -> stmt_params -> 'a1 **)
    1493 let rec stmt_params_rect_Type2 h_mk_stmt_params x_20497 =
     1493let rec stmt_params_rect_Type2 h_mk_stmt_params x_20666 =
    14941494  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1495     has_fcond0 } = x_20497
     1495    has_fcond0 } = x_20666
    14961496  in
    14971497  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    15001500    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    15011501    'a1) -> stmt_params -> 'a1 **)
    1502 let rec stmt_params_rect_Type1 h_mk_stmt_params x_20499 =
     1502let rec stmt_params_rect_Type1 h_mk_stmt_params x_20668 =
    15031503  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1504     has_fcond0 } = x_20499
     1504    has_fcond0 } = x_20668
    15051505  in
    15061506  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    15091509    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    15101510    'a1) -> stmt_params -> 'a1 **)
    1511 let rec stmt_params_rect_Type0 h_mk_stmt_params x_20501 =
     1511let rec stmt_params_rect_Type0 h_mk_stmt_params x_20670 =
    15121512  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1513     has_fcond0 } = x_20501
     1513    has_fcond0 } = x_20670
    15141514  in
    15151515  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    15781578    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    15791579let rec joint_fin_step_rect_Type4 p h_GOTO h_RETURN h_TAILCALL = function
    1580 | GOTO x_20525 -> h_GOTO x_20525
     1580| GOTO x_20694 -> h_GOTO x_20694
    15811581| RETURN -> h_RETURN
    1582 | TAILCALL (x_20527, x_20526) -> h_TAILCALL __ x_20527 x_20526
     1582| TAILCALL (x_20696, x_20695) -> h_TAILCALL __ x_20696 x_20695
    15831583
    15841584(** val joint_fin_step_rect_Type5 :
     
    15861586    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    15871587let rec joint_fin_step_rect_Type5 p h_GOTO h_RETURN h_TAILCALL = function
    1588 | GOTO x_20533 -> h_GOTO x_20533
     1588| GOTO x_20702 -> h_GOTO x_20702
    15891589| RETURN -> h_RETURN
    1590 | TAILCALL (x_20535, x_20534) -> h_TAILCALL __ x_20535 x_20534
     1590| TAILCALL (x_20704, x_20703) -> h_TAILCALL __ x_20704 x_20703
    15911591
    15921592(** val joint_fin_step_rect_Type3 :
     
    15941594    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    15951595let rec joint_fin_step_rect_Type3 p h_GOTO h_RETURN h_TAILCALL = function
    1596 | GOTO x_20541 -> h_GOTO x_20541
     1596| GOTO x_20710 -> h_GOTO x_20710
    15971597| RETURN -> h_RETURN
    1598 | TAILCALL (x_20543, x_20542) -> h_TAILCALL __ x_20543 x_20542
     1598| TAILCALL (x_20712, x_20711) -> h_TAILCALL __ x_20712 x_20711
    15991599
    16001600(** val joint_fin_step_rect_Type2 :
     
    16021602    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    16031603let rec joint_fin_step_rect_Type2 p h_GOTO h_RETURN h_TAILCALL = function
    1604 | GOTO x_20549 -> h_GOTO x_20549
     1604| GOTO x_20718 -> h_GOTO x_20718
    16051605| RETURN -> h_RETURN
    1606 | TAILCALL (x_20551, x_20550) -> h_TAILCALL __ x_20551 x_20550
     1606| TAILCALL (x_20720, x_20719) -> h_TAILCALL __ x_20720 x_20719
    16071607
    16081608(** val joint_fin_step_rect_Type1 :
     
    16101610    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    16111611let rec joint_fin_step_rect_Type1 p h_GOTO h_RETURN h_TAILCALL = function
    1612 | GOTO x_20557 -> h_GOTO x_20557
     1612| GOTO x_20726 -> h_GOTO x_20726
    16131613| RETURN -> h_RETURN
    1614 | TAILCALL (x_20559, x_20558) -> h_TAILCALL __ x_20559 x_20558
     1614| TAILCALL (x_20728, x_20727) -> h_TAILCALL __ x_20728 x_20727
    16151615
    16161616(** val joint_fin_step_rect_Type0 :
     
    16181618    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    16191619let rec joint_fin_step_rect_Type0 p h_GOTO h_RETURN h_TAILCALL = function
    1620 | GOTO x_20565 -> h_GOTO x_20565
     1620| GOTO x_20734 -> h_GOTO x_20734
    16211621| RETURN -> h_RETURN
    1622 | TAILCALL (x_20567, x_20566) -> h_TAILCALL __ x_20567 x_20566
     1622| TAILCALL (x_20736, x_20735) -> h_TAILCALL __ x_20736 x_20735
    16231623
    16241624(** val joint_fin_step_inv_rect_Type4 :
     
    16921692    'a1) -> joint_statement -> 'a1 **)
    16931693let rec joint_statement_rect_Type4 p globals h_sequential h_final h_FCOND = function
    1694 | Sequential (x_20633, x_20632) -> h_sequential x_20633 x_20632
    1695 | Final x_20634 -> h_final x_20634
    1696 | FCOND (x_20637, x_20636, x_20635) -> h_FCOND __ x_20637 x_20636 x_20635
     1694| Sequential (x_20802, x_20801) -> h_sequential x_20802 x_20801
     1695| Final x_20803 -> h_final x_20803
     1696| FCOND (x_20806, x_20805, x_20804) -> h_FCOND __ x_20806 x_20805 x_20804
    16971697
    16981698(** val joint_statement_rect_Type5 :
     
    17011701    'a1) -> joint_statement -> 'a1 **)
    17021702let rec joint_statement_rect_Type5 p globals h_sequential h_final h_FCOND = function
    1703 | Sequential (x_20644, x_20643) -> h_sequential x_20644 x_20643
    1704 | Final x_20645 -> h_final x_20645
    1705 | FCOND (x_20648, x_20647, x_20646) -> h_FCOND __ x_20648 x_20647 x_20646
     1703| Sequential (x_20813, x_20812) -> h_sequential x_20813 x_20812
     1704| Final x_20814 -> h_final x_20814
     1705| FCOND (x_20817, x_20816, x_20815) -> h_FCOND __ x_20817 x_20816 x_20815
    17061706
    17071707(** val joint_statement_rect_Type3 :
     
    17101710    'a1) -> joint_statement -> 'a1 **)
    17111711let rec joint_statement_rect_Type3 p globals h_sequential h_final h_FCOND = function
    1712 | Sequential (x_20655, x_20654) -> h_sequential x_20655 x_20654
    1713 | Final x_20656 -> h_final x_20656
    1714 | FCOND (x_20659, x_20658, x_20657) -> h_FCOND __ x_20659 x_20658 x_20657
     1712| Sequential (x_20824, x_20823) -> h_sequential x_20824 x_20823
     1713| Final x_20825 -> h_final x_20825
     1714| FCOND (x_20828, x_20827, x_20826) -> h_FCOND __ x_20828 x_20827 x_20826
    17151715
    17161716(** val joint_statement_rect_Type2 :
     
    17191719    'a1) -> joint_statement -> 'a1 **)
    17201720let rec joint_statement_rect_Type2 p globals h_sequential h_final h_FCOND = function
    1721 | Sequential (x_20666, x_20665) -> h_sequential x_20666 x_20665
    1722 | Final x_20667 -> h_final x_20667
    1723 | FCOND (x_20670, x_20669, x_20668) -> h_FCOND __ x_20670 x_20669 x_20668
     1721| Sequential (x_20835, x_20834) -> h_sequential x_20835 x_20834
     1722| Final x_20836 -> h_final x_20836
     1723| FCOND (x_20839, x_20838, x_20837) -> h_FCOND __ x_20839 x_20838 x_20837
    17241724
    17251725(** val joint_statement_rect_Type1 :
     
    17281728    'a1) -> joint_statement -> 'a1 **)
    17291729let rec joint_statement_rect_Type1 p globals h_sequential h_final h_FCOND = function
    1730 | Sequential (x_20677, x_20676) -> h_sequential x_20677 x_20676
    1731 | Final x_20678 -> h_final x_20678
    1732 | FCOND (x_20681, x_20680, x_20679) -> h_FCOND __ x_20681 x_20680 x_20679
     1730| Sequential (x_20846, x_20845) -> h_sequential x_20846 x_20845
     1731| Final x_20847 -> h_final x_20847
     1732| FCOND (x_20850, x_20849, x_20848) -> h_FCOND __ x_20850 x_20849 x_20848
    17331733
    17341734(** val joint_statement_rect_Type0 :
     
    17371737    'a1) -> joint_statement -> 'a1 **)
    17381738let rec joint_statement_rect_Type0 p globals h_sequential h_final h_FCOND = function
    1739 | Sequential (x_20688, x_20687) -> h_sequential x_20688 x_20687
    1740 | Final x_20689 -> h_final x_20689
    1741 | FCOND (x_20692, x_20691, x_20690) -> h_FCOND __ x_20692 x_20691 x_20690
     1739| Sequential (x_20857, x_20856) -> h_sequential x_20857 x_20856
     1740| Final x_20858 -> h_final x_20858
     1741| FCOND (x_20861, x_20860, x_20859) -> h_FCOND __ x_20861 x_20860 x_20859
    17421742
    17431743(** val joint_statement_inv_rect_Type4 :
     
    18381838    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18391839    'a1 **)
    1840 let rec params_rect_Type4 h_mk_params x_20765 =
     1840let rec params_rect_Type4 h_mk_params x_20934 =
    18411841  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1842     point_of_label0; point_of_succ = point_of_succ0 } = x_20765
     1842    point_of_label0; point_of_succ = point_of_succ0 } = x_20934
    18431843  in
    18441844  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18491849    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18501850    'a1 **)
    1851 let rec params_rect_Type5 h_mk_params x_20767 =
     1851let rec params_rect_Type5 h_mk_params x_20936 =
    18521852  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1853     point_of_label0; point_of_succ = point_of_succ0 } = x_20767
     1853    point_of_label0; point_of_succ = point_of_succ0 } = x_20936
    18541854  in
    18551855  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18601860    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18611861    'a1 **)
    1862 let rec params_rect_Type3 h_mk_params x_20769 =
     1862let rec params_rect_Type3 h_mk_params x_20938 =
    18631863  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1864     point_of_label0; point_of_succ = point_of_succ0 } = x_20769
     1864    point_of_label0; point_of_succ = point_of_succ0 } = x_20938
    18651865  in
    18661866  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18711871    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18721872    'a1 **)
    1873 let rec params_rect_Type2 h_mk_params x_20771 =
     1873let rec params_rect_Type2 h_mk_params x_20940 =
    18741874  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1875     point_of_label0; point_of_succ = point_of_succ0 } = x_20771
     1875    point_of_label0; point_of_succ = point_of_succ0 } = x_20940
    18761876  in
    18771877  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18821882    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18831883    'a1 **)
    1884 let rec params_rect_Type1 h_mk_params x_20773 =
     1884let rec params_rect_Type1 h_mk_params x_20942 =
    18851885  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1886     point_of_label0; point_of_succ = point_of_succ0 } = x_20773
     1886    point_of_label0; point_of_succ = point_of_succ0 } = x_20942
    18871887  in
    18881888  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18931893    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18941894    'a1 **)
    1895 let rec params_rect_Type0 h_mk_params x_20775 =
     1895let rec params_rect_Type0 h_mk_params x_20944 =
    18961896  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1897     point_of_label0; point_of_succ = point_of_succ0 } = x_20775
     1897    point_of_label0; point_of_succ = point_of_succ0 } = x_20944
    18981898  in
    18991899  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    20302030
    20312031(** val lin_params_rect_Type4 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2032 let rec lin_params_rect_Type4 h_mk_lin_params x_20798 =
    2033   let l_u_pars = x_20798 in h_mk_lin_params l_u_pars
     2032let rec lin_params_rect_Type4 h_mk_lin_params x_20967 =
     2033  let l_u_pars = x_20967 in h_mk_lin_params l_u_pars
    20342034
    20352035(** val lin_params_rect_Type5 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2036 let rec lin_params_rect_Type5 h_mk_lin_params x_20800 =
    2037   let l_u_pars = x_20800 in h_mk_lin_params l_u_pars
     2036let rec lin_params_rect_Type5 h_mk_lin_params x_20969 =
     2037  let l_u_pars = x_20969 in h_mk_lin_params l_u_pars
    20382038
    20392039(** val lin_params_rect_Type3 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2040 let rec lin_params_rect_Type3 h_mk_lin_params x_20802 =
    2041   let l_u_pars = x_20802 in h_mk_lin_params l_u_pars
     2040let rec lin_params_rect_Type3 h_mk_lin_params x_20971 =
     2041  let l_u_pars = x_20971 in h_mk_lin_params l_u_pars
    20422042
    20432043(** val lin_params_rect_Type2 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2044 let rec lin_params_rect_Type2 h_mk_lin_params x_20804 =
    2045   let l_u_pars = x_20804 in h_mk_lin_params l_u_pars
     2044let rec lin_params_rect_Type2 h_mk_lin_params x_20973 =
     2045  let l_u_pars = x_20973 in h_mk_lin_params l_u_pars
    20462046
    20472047(** val lin_params_rect_Type1 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2048 let rec lin_params_rect_Type1 h_mk_lin_params x_20806 =
    2049   let l_u_pars = x_20806 in h_mk_lin_params l_u_pars
     2048let rec lin_params_rect_Type1 h_mk_lin_params x_20975 =
     2049  let l_u_pars = x_20975 in h_mk_lin_params l_u_pars
    20502050
    20512051(** val lin_params_rect_Type0 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2052 let rec lin_params_rect_Type0 h_mk_lin_params x_20808 =
    2053   let l_u_pars = x_20808 in h_mk_lin_params l_u_pars
     2052let rec lin_params_rect_Type0 h_mk_lin_params x_20977 =
     2053  let l_u_pars = x_20977 in h_mk_lin_params l_u_pars
    20542054
    20552055(** val l_u_pars : lin_params -> uns_params **)
     
    21252125(** val graph_params_rect_Type4 :
    21262126    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2127 let rec graph_params_rect_Type4 h_mk_graph_params x_20824 =
    2128   let g_u_pars = x_20824 in h_mk_graph_params g_u_pars
     2127let rec graph_params_rect_Type4 h_mk_graph_params x_20993 =
     2128  let g_u_pars = x_20993 in h_mk_graph_params g_u_pars
    21292129
    21302130(** val graph_params_rect_Type5 :
    21312131    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2132 let rec graph_params_rect_Type5 h_mk_graph_params x_20826 =
    2133   let g_u_pars = x_20826 in h_mk_graph_params g_u_pars
     2132let rec graph_params_rect_Type5 h_mk_graph_params x_20995 =
     2133  let g_u_pars = x_20995 in h_mk_graph_params g_u_pars
    21342134
    21352135(** val graph_params_rect_Type3 :
    21362136    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2137 let rec graph_params_rect_Type3 h_mk_graph_params x_20828 =
    2138   let g_u_pars = x_20828 in h_mk_graph_params g_u_pars
     2137let rec graph_params_rect_Type3 h_mk_graph_params x_20997 =
     2138  let g_u_pars = x_20997 in h_mk_graph_params g_u_pars
    21392139
    21402140(** val graph_params_rect_Type2 :
    21412141    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2142 let rec graph_params_rect_Type2 h_mk_graph_params x_20830 =
    2143   let g_u_pars = x_20830 in h_mk_graph_params g_u_pars
     2142let rec graph_params_rect_Type2 h_mk_graph_params x_20999 =
     2143  let g_u_pars = x_20999 in h_mk_graph_params g_u_pars
    21442144
    21452145(** val graph_params_rect_Type1 :
    21462146    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2147 let rec graph_params_rect_Type1 h_mk_graph_params x_20832 =
    2148   let g_u_pars = x_20832 in h_mk_graph_params g_u_pars
     2147let rec graph_params_rect_Type1 h_mk_graph_params x_21001 =
     2148  let g_u_pars = x_21001 in h_mk_graph_params g_u_pars
    21492149
    21502150(** val graph_params_rect_Type0 :
    21512151    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2152 let rec graph_params_rect_Type0 h_mk_graph_params x_20834 =
    2153   let g_u_pars = x_20834 in h_mk_graph_params g_u_pars
     2152let rec graph_params_rect_Type0 h_mk_graph_params x_21003 =
     2153  let g_u_pars = x_21003 in h_mk_graph_params g_u_pars
    21542154
    21552155(** val g_u_pars : graph_params -> uns_params **)
     
    22212221    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22222222    'a1) -> joint_internal_function -> 'a1 **)
    2223 let rec joint_internal_function_rect_Type4 p globals h_mk_joint_internal_function x_20850 =
     2223let rec joint_internal_function_rect_Type4 p globals h_mk_joint_internal_function x_21019 =
    22242224  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22252225    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22272227    joint_if_stacksize0; joint_if_local_stacksize =
    22282228    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2229     joint_if_entry = joint_if_entry0 } = x_20850
     2229    joint_if_entry = joint_if_entry0 } = x_21019
    22302230  in
    22312231  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    22372237    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22382238    'a1) -> joint_internal_function -> 'a1 **)
    2239 let rec joint_internal_function_rect_Type5 p globals h_mk_joint_internal_function x_20852 =
     2239let rec joint_internal_function_rect_Type5 p globals h_mk_joint_internal_function x_21021 =
    22402240  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22412241    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22432243    joint_if_stacksize0; joint_if_local_stacksize =
    22442244    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2245     joint_if_entry = joint_if_entry0 } = x_20852
     2245    joint_if_entry = joint_if_entry0 } = x_21021
    22462246  in
    22472247  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    22532253    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22542254    'a1) -> joint_internal_function -> 'a1 **)
    2255 let rec joint_internal_function_rect_Type3 p globals h_mk_joint_internal_function x_20854 =
     2255let rec joint_internal_function_rect_Type3 p globals h_mk_joint_internal_function x_21023 =
    22562256  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22572257    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22592259    joint_if_stacksize0; joint_if_local_stacksize =
    22602260    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2261     joint_if_entry = joint_if_entry0 } = x_20854
     2261    joint_if_entry = joint_if_entry0 } = x_21023
    22622262  in
    22632263  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    22692269    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22702270    'a1) -> joint_internal_function -> 'a1 **)
    2271 let rec joint_internal_function_rect_Type2 p globals h_mk_joint_internal_function x_20856 =
     2271let rec joint_internal_function_rect_Type2 p globals h_mk_joint_internal_function x_21025 =
    22722272  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22732273    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22752275    joint_if_stacksize0; joint_if_local_stacksize =
    22762276    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2277     joint_if_entry = joint_if_entry0 } = x_20856
     2277    joint_if_entry = joint_if_entry0 } = x_21025
    22782278  in
    22792279  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    22852285    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22862286    'a1) -> joint_internal_function -> 'a1 **)
    2287 let rec joint_internal_function_rect_Type1 p globals h_mk_joint_internal_function x_20858 =
     2287let rec joint_internal_function_rect_Type1 p globals h_mk_joint_internal_function x_21027 =
    22882288  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22892289    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22912291    joint_if_stacksize0; joint_if_local_stacksize =
    22922292    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2293     joint_if_entry = joint_if_entry0 } = x_20858
     2293    joint_if_entry = joint_if_entry0 } = x_21027
    22942294  in
    22952295  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    23012301    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    23022302    'a1) -> joint_internal_function -> 'a1 **)
    2303 let rec joint_internal_function_rect_Type0 p globals h_mk_joint_internal_function x_20860 =
     2303let rec joint_internal_function_rect_Type0 p globals h_mk_joint_internal_function x_21029 =
    23042304  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    23052305    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    23072307    joint_if_stacksize0; joint_if_local_stacksize =
    23082308    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2309     joint_if_entry = joint_if_entry0 } = x_20860
     2309    joint_if_entry = joint_if_entry0 } = x_21029
    23102310  in
    23112311  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
  • extracted/joint_LTL_LIN.ml

    r2867 r2873  
    116116    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    117117let rec registers_move_rect_Type4 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    118 | From_acc (x_21503, x_21502) -> h_from_acc x_21503 x_21502
    119 | To_acc (x_21505, x_21504) -> h_to_acc x_21505 x_21504
    120 | Int_to_reg (x_21507, x_21506) -> h_int_to_reg x_21507 x_21506
    121 | Int_to_acc (x_21509, x_21508) -> h_int_to_acc x_21509 x_21508
     118| From_acc (x_21672, x_21671) -> h_from_acc x_21672 x_21671
     119| To_acc (x_21674, x_21673) -> h_to_acc x_21674 x_21673
     120| Int_to_reg (x_21676, x_21675) -> h_int_to_reg x_21676 x_21675
     121| Int_to_acc (x_21678, x_21677) -> h_int_to_acc x_21678 x_21677
    122122
    123123(** val registers_move_rect_Type5 :
     
    126126    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    127127let rec registers_move_rect_Type5 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    128 | From_acc (x_21516, x_21515) -> h_from_acc x_21516 x_21515
    129 | To_acc (x_21518, x_21517) -> h_to_acc x_21518 x_21517
    130 | Int_to_reg (x_21520, x_21519) -> h_int_to_reg x_21520 x_21519
    131 | Int_to_acc (x_21522, x_21521) -> h_int_to_acc x_21522 x_21521
     128| From_acc (x_21685, x_21684) -> h_from_acc x_21685 x_21684
     129| To_acc (x_21687, x_21686) -> h_to_acc x_21687 x_21686
     130| Int_to_reg (x_21689, x_21688) -> h_int_to_reg x_21689 x_21688
     131| Int_to_acc (x_21691, x_21690) -> h_int_to_acc x_21691 x_21690
    132132
    133133(** val registers_move_rect_Type3 :
     
    136136    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    137137let rec registers_move_rect_Type3 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    138 | From_acc (x_21529, x_21528) -> h_from_acc x_21529 x_21528
    139 | To_acc (x_21531, x_21530) -> h_to_acc x_21531 x_21530
    140 | Int_to_reg (x_21533, x_21532) -> h_int_to_reg x_21533 x_21532
    141 | Int_to_acc (x_21535, x_21534) -> h_int_to_acc x_21535 x_21534
     138| From_acc (x_21698, x_21697) -> h_from_acc x_21698 x_21697
     139| To_acc (x_21700, x_21699) -> h_to_acc x_21700 x_21699
     140| Int_to_reg (x_21702, x_21701) -> h_int_to_reg x_21702 x_21701
     141| Int_to_acc (x_21704, x_21703) -> h_int_to_acc x_21704 x_21703
    142142
    143143(** val registers_move_rect_Type2 :
     
    146146    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    147147let rec registers_move_rect_Type2 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    148 | From_acc (x_21542, x_21541) -> h_from_acc x_21542 x_21541
    149 | To_acc (x_21544, x_21543) -> h_to_acc x_21544 x_21543
    150 | Int_to_reg (x_21546, x_21545) -> h_int_to_reg x_21546 x_21545
    151 | Int_to_acc (x_21548, x_21547) -> h_int_to_acc x_21548 x_21547
     148| From_acc (x_21711, x_21710) -> h_from_acc x_21711 x_21710
     149| To_acc (x_21713, x_21712) -> h_to_acc x_21713 x_21712
     150| Int_to_reg (x_21715, x_21714) -> h_int_to_reg x_21715 x_21714
     151| Int_to_acc (x_21717, x_21716) -> h_int_to_acc x_21717 x_21716
    152152
    153153(** val registers_move_rect_Type1 :
     
    156156    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    157157let rec registers_move_rect_Type1 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    158 | From_acc (x_21555, x_21554) -> h_from_acc x_21555 x_21554
    159 | To_acc (x_21557, x_21556) -> h_to_acc x_21557 x_21556
    160 | Int_to_reg (x_21559, x_21558) -> h_int_to_reg x_21559 x_21558
    161 | Int_to_acc (x_21561, x_21560) -> h_int_to_acc x_21561 x_21560
     158| From_acc (x_21724, x_21723) -> h_from_acc x_21724 x_21723
     159| To_acc (x_21726, x_21725) -> h_to_acc x_21726 x_21725
     160| Int_to_reg (x_21728, x_21727) -> h_int_to_reg x_21728 x_21727
     161| Int_to_acc (x_21730, x_21729) -> h_int_to_acc x_21730 x_21729
    162162
    163163(** val registers_move_rect_Type0 :
     
    166166    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    167167let rec registers_move_rect_Type0 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    168 | From_acc (x_21568, x_21567) -> h_from_acc x_21568 x_21567
    169 | To_acc (x_21570, x_21569) -> h_to_acc x_21570 x_21569
    170 | Int_to_reg (x_21572, x_21571) -> h_int_to_reg x_21572 x_21571
    171 | Int_to_acc (x_21574, x_21573) -> h_int_to_acc x_21574 x_21573
     168| From_acc (x_21737, x_21736) -> h_from_acc x_21737 x_21736
     169| To_acc (x_21739, x_21738) -> h_to_acc x_21739 x_21738
     170| Int_to_reg (x_21741, x_21740) -> h_int_to_reg x_21741 x_21740
     171| Int_to_acc (x_21743, x_21742) -> h_int_to_acc x_21743 x_21742
    172172
    173173(** val registers_move_inv_rect_Type4 :
     
    241241| SAVE_CARRY -> h_SAVE_CARRY
    242242| RESTORE_CARRY -> h_RESTORE_CARRY
    243 | LOW_ADDRESS (x_21668, x_21667) -> h_LOW_ADDRESS x_21668 x_21667
    244 | HIGH_ADDRESS (x_21670, x_21669) -> h_HIGH_ADDRESS x_21670 x_21669
     243| LOW_ADDRESS (x_21837, x_21836) -> h_LOW_ADDRESS x_21837 x_21836
     244| HIGH_ADDRESS (x_21839, x_21838) -> h_HIGH_ADDRESS x_21839 x_21838
    245245
    246246(** val ltl_lin_seq_rect_Type5 :
     
    250250| SAVE_CARRY -> h_SAVE_CARRY
    251251| RESTORE_CARRY -> h_RESTORE_CARRY
    252 | LOW_ADDRESS (x_21677, x_21676) -> h_LOW_ADDRESS x_21677 x_21676
    253 | HIGH_ADDRESS (x_21679, x_21678) -> h_HIGH_ADDRESS x_21679 x_21678
     252| LOW_ADDRESS (x_21846, x_21845) -> h_LOW_ADDRESS x_21846 x_21845
     253| HIGH_ADDRESS (x_21848, x_21847) -> h_HIGH_ADDRESS x_21848 x_21847
    254254
    255255(** val ltl_lin_seq_rect_Type3 :
     
    259259| SAVE_CARRY -> h_SAVE_CARRY
    260260| RESTORE_CARRY -> h_RESTORE_CARRY
    261 | LOW_ADDRESS (x_21686, x_21685) -> h_LOW_ADDRESS x_21686 x_21685
    262 | HIGH_ADDRESS (x_21688, x_21687) -> h_HIGH_ADDRESS x_21688 x_21687
     261| LOW_ADDRESS (x_21855, x_21854) -> h_LOW_ADDRESS x_21855 x_21854
     262| HIGH_ADDRESS (x_21857, x_21856) -> h_HIGH_ADDRESS x_21857 x_21856
    263263
    264264(** val ltl_lin_seq_rect_Type2 :
     
    268268| SAVE_CARRY -> h_SAVE_CARRY
    269269| RESTORE_CARRY -> h_RESTORE_CARRY
    270 | LOW_ADDRESS (x_21695, x_21694) -> h_LOW_ADDRESS x_21695 x_21694
    271 | HIGH_ADDRESS (x_21697, x_21696) -> h_HIGH_ADDRESS x_21697 x_21696
     270| LOW_ADDRESS (x_21864, x_21863) -> h_LOW_ADDRESS x_21864 x_21863
     271| HIGH_ADDRESS (x_21866, x_21865) -> h_HIGH_ADDRESS x_21866 x_21865
    272272
    273273(** val ltl_lin_seq_rect_Type1 :
     
    277277| SAVE_CARRY -> h_SAVE_CARRY
    278278| RESTORE_CARRY -> h_RESTORE_CARRY
    279 | LOW_ADDRESS (x_21704, x_21703) -> h_LOW_ADDRESS x_21704 x_21703
    280 | HIGH_ADDRESS (x_21706, x_21705) -> h_HIGH_ADDRESS x_21706 x_21705
     279| LOW_ADDRESS (x_21873, x_21872) -> h_LOW_ADDRESS x_21873 x_21872
     280| HIGH_ADDRESS (x_21875, x_21874) -> h_HIGH_ADDRESS x_21875 x_21874
    281281
    282282(** val ltl_lin_seq_rect_Type0 :
     
    286286| SAVE_CARRY -> h_SAVE_CARRY
    287287| RESTORE_CARRY -> h_RESTORE_CARRY
    288 | LOW_ADDRESS (x_21713, x_21712) -> h_LOW_ADDRESS x_21713 x_21712
    289 | HIGH_ADDRESS (x_21715, x_21714) -> h_HIGH_ADDRESS x_21715 x_21714
     288| LOW_ADDRESS (x_21882, x_21881) -> h_LOW_ADDRESS x_21882 x_21881
     289| HIGH_ADDRESS (x_21884, x_21883) -> h_HIGH_ADDRESS x_21884 x_21883
    290290
    291291(** val ltl_lin_seq_inv_rect_Type4 :
  • extracted/joint_fullexec.ml

    r2867 r2873  
    149149    Joint_semantics.sem_params -> (AST.ident List.list ->
    150150    Joint_semantics.genv -> 'a1) -> joint_global -> 'a1 **)
    151 let rec joint_global_rect_Type4 p h_mk_joint_global x_25944 =
    152   let { jglobals = jglobals0; jgenv = jgenv0 } = x_25944 in
     151let rec joint_global_rect_Type4 p h_mk_joint_global x_26113 =
     152  let { jglobals = jglobals0; jgenv = jgenv0 } = x_26113 in
    153153  h_mk_joint_global jglobals0 jgenv0
    154154
     
    156156    Joint_semantics.sem_params -> (AST.ident List.list ->
    157157    Joint_semantics.genv -> 'a1) -> joint_global -> 'a1 **)
    158 let rec joint_global_rect_Type5 p h_mk_joint_global x_25946 =
    159   let { jglobals = jglobals0; jgenv = jgenv0 } = x_25946 in
     158let rec joint_global_rect_Type5 p h_mk_joint_global x_26115 =
     159  let { jglobals = jglobals0; jgenv = jgenv0 } = x_26115 in
    160160  h_mk_joint_global jglobals0 jgenv0
    161161
     
    163163    Joint_semantics.sem_params -> (AST.ident List.list ->
    164164    Joint_semantics.genv -> 'a1) -> joint_global -> 'a1 **)
    165 let rec joint_global_rect_Type3 p h_mk_joint_global x_25948 =
    166   let { jglobals = jglobals0; jgenv = jgenv0 } = x_25948 in
     165let rec joint_global_rect_Type3 p h_mk_joint_global x_26117 =
     166  let { jglobals = jglobals0; jgenv = jgenv0 } = x_26117 in
    167167  h_mk_joint_global jglobals0 jgenv0
    168168
     
    170170    Joint_semantics.sem_params -> (AST.ident List.list ->
    171171    Joint_semantics.genv -> 'a1) -> joint_global -> 'a1 **)
    172 let rec joint_global_rect_Type2 p h_mk_joint_global x_25950 =
    173   let { jglobals = jglobals0; jgenv = jgenv0 } = x_25950 in
     172let rec joint_global_rect_Type2 p h_mk_joint_global x_26119 =
     173  let { jglobals = jglobals0; jgenv = jgenv0 } = x_26119 in
    174174  h_mk_joint_global jglobals0 jgenv0
    175175
     
    177177    Joint_semantics.sem_params -> (AST.ident List.list ->
    178178    Joint_semantics.genv -> 'a1) -> joint_global -> 'a1 **)
    179 let rec joint_global_rect_Type1 p h_mk_joint_global x_25952 =
    180   let { jglobals = jglobals0; jgenv = jgenv0 } = x_25952 in
     179let rec joint_global_rect_Type1 p h_mk_joint_global x_26121 =
     180  let { jglobals = jglobals0; jgenv = jgenv0 } = x_26121 in
    181181  h_mk_joint_global jglobals0 jgenv0
    182182
     
    184184    Joint_semantics.sem_params -> (AST.ident List.list ->
    185185    Joint_semantics.genv -> 'a1) -> joint_global -> 'a1 **)
    186 let rec joint_global_rect_Type0 p h_mk_joint_global x_25954 =
    187   let { jglobals = jglobals0; jgenv = jgenv0 } = x_25954 in
     186let rec joint_global_rect_Type0 p h_mk_joint_global x_26123 =
     187  let { jglobals = jglobals0; jgenv = jgenv0 } = x_26123 in
    188188  h_mk_joint_global jglobals0 jgenv0
    189189
  • extracted/joint_semantics.ml

    r2867 r2873  
    141141    (AST.ident -> Nat.nat Types.option) -> (AST.ident -> Graphs.label ->
    142142    ByteValues.program_counter Errors.res) -> 'a2) -> 'a1 genv_gen -> 'a2 **)
    143 let rec genv_gen_rect_Type4 globals h_mk_genv_gen x_25541 =
     143let rec genv_gen_rect_Type4 globals h_mk_genv_gen x_25710 =
    144144  let { ge = ge0; stack_sizes = stack_sizes0; get_pc_from_label =
    145     get_pc_from_label0 } = x_25541
     145    get_pc_from_label0 } = x_25710
    146146  in
    147147  h_mk_genv_gen ge0 __ stack_sizes0 get_pc_from_label0
     
    151151    (AST.ident -> Nat.nat Types.option) -> (AST.ident -> Graphs.label ->
    152152    ByteValues.program_counter Errors.res) -> 'a2) -> 'a1 genv_gen -> 'a2 **)
    153 let rec genv_gen_rect_Type5 globals h_mk_genv_gen x_25543 =
     153let rec genv_gen_rect_Type5 globals h_mk_genv_gen x_25712 =
    154154  let { ge = ge0; stack_sizes = stack_sizes0; get_pc_from_label =
    155     get_pc_from_label0 } = x_25543
     155    get_pc_from_label0 } = x_25712
    156156  in
    157157  h_mk_genv_gen ge0 __ stack_sizes0 get_pc_from_label0
     
    161161    (AST.ident -> Nat.nat Types.option) -> (AST.ident -> Graphs.label ->
    162162    ByteValues.program_counter Errors.res) -> 'a2) -> 'a1 genv_gen -> 'a2 **)
    163 let rec genv_gen_rect_Type3 globals h_mk_genv_gen x_25545 =
     163let rec genv_gen_rect_Type3 globals h_mk_genv_gen x_25714 =
    164164  let { ge = ge0; stack_sizes = stack_sizes0; get_pc_from_label =
    165     get_pc_from_label0 } = x_25545
     165    get_pc_from_label0 } = x_25714
    166166  in
    167167  h_mk_genv_gen ge0 __ stack_sizes0 get_pc_from_label0
     
    171171    (AST.ident -> Nat.nat Types.option) -> (AST.ident -> Graphs.label ->
    172172    ByteValues.program_counter Errors.res) -> 'a2) -> 'a1 genv_gen -> 'a2 **)
    173 let rec genv_gen_rect_Type2 globals h_mk_genv_gen x_25547 =
     173let rec genv_gen_rect_Type2 globals h_mk_genv_gen x_25716 =
    174174  let { ge = ge0; stack_sizes = stack_sizes0; get_pc_from_label =
    175     get_pc_from_label0 } = x_25547
     175    get_pc_from_label0 } = x_25716
    176176  in
    177177  h_mk_genv_gen ge0 __ stack_sizes0 get_pc_from_label0
     
    181181    (AST.ident -> Nat.nat Types.option) -> (AST.ident -> Graphs.label ->
    182182    ByteValues.program_counter Errors.res) -> 'a2) -> 'a1 genv_gen -> 'a2 **)
    183 let rec genv_gen_rect_Type1 globals h_mk_genv_gen x_25549 =
     183let rec genv_gen_rect_Type1 globals h_mk_genv_gen x_25718 =
    184184  let { ge = ge0; stack_sizes = stack_sizes0; get_pc_from_label =
    185     get_pc_from_label0 } = x_25549
     185    get_pc_from_label0 } = x_25718
    186186  in
    187187  h_mk_genv_gen ge0 __ stack_sizes0 get_pc_from_label0
     
    191191    (AST.ident -> Nat.nat Types.option) -> (AST.ident -> Graphs.label ->
    192192    ByteValues.program_counter Errors.res) -> 'a2) -> 'a1 genv_gen -> 'a2 **)
    193 let rec genv_gen_rect_Type0 globals h_mk_genv_gen x_25551 =
     193let rec genv_gen_rect_Type0 globals h_mk_genv_gen x_25720 =
    194194  let { ge = ge0; stack_sizes = stack_sizes0; get_pc_from_label =
    195     get_pc_from_label0 } = x_25551
     195    get_pc_from_label0 } = x_25720
    196196  in
    197197  h_mk_genv_gen ge0 __ stack_sizes0 get_pc_from_label0
     
    341341    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    342342    'a1) -> sem_state_params -> 'a1 **)
    343 let rec sem_state_params_rect_Type4 h_mk_sem_state_params x_25571 =
     343let rec sem_state_params_rect_Type4 h_mk_sem_state_params x_25740 =
    344344  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    345     load_sp0; save_sp = save_sp0 } = x_25571
     345    load_sp0; save_sp = save_sp0 } = x_25740
    346346  in
    347347  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    351351    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    352352    'a1) -> sem_state_params -> 'a1 **)
    353 let rec sem_state_params_rect_Type5 h_mk_sem_state_params x_25573 =
     353let rec sem_state_params_rect_Type5 h_mk_sem_state_params x_25742 =
    354354  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    355     load_sp0; save_sp = save_sp0 } = x_25573
     355    load_sp0; save_sp = save_sp0 } = x_25742
    356356  in
    357357  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    361361    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    362362    'a1) -> sem_state_params -> 'a1 **)
    363 let rec sem_state_params_rect_Type3 h_mk_sem_state_params x_25575 =
     363let rec sem_state_params_rect_Type3 h_mk_sem_state_params x_25744 =
    364364  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    365     load_sp0; save_sp = save_sp0 } = x_25575
     365    load_sp0; save_sp = save_sp0 } = x_25744
    366366  in
    367367  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    371371    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    372372    'a1) -> sem_state_params -> 'a1 **)
    373 let rec sem_state_params_rect_Type2 h_mk_sem_state_params x_25577 =
     373let rec sem_state_params_rect_Type2 h_mk_sem_state_params x_25746 =
    374374  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    375     load_sp0; save_sp = save_sp0 } = x_25577
     375    load_sp0; save_sp = save_sp0 } = x_25746
    376376  in
    377377  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    381381    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    382382    'a1) -> sem_state_params -> 'a1 **)
    383 let rec sem_state_params_rect_Type1 h_mk_sem_state_params x_25579 =
     383let rec sem_state_params_rect_Type1 h_mk_sem_state_params x_25748 =
    384384  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    385     load_sp0; save_sp = save_sp0 } = x_25579
     385    load_sp0; save_sp = save_sp0 } = x_25748
    386386  in
    387387  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    391391    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    392392    'a1) -> sem_state_params -> 'a1 **)
    393 let rec sem_state_params_rect_Type0 h_mk_sem_state_params x_25581 =
     393let rec sem_state_params_rect_Type0 h_mk_sem_state_params x_25750 =
    394394  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    395     load_sp0; save_sp = save_sp0 } = x_25581
     395    load_sp0; save_sp = save_sp0 } = x_25750
    396396  in
    397397  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    472472let rec internal_stack_rect_Type4 h_empty_is h_one_is h_both_is = function
    473473| Empty_is -> h_empty_is
    474 | One_is x_25607 -> h_one_is x_25607
    475 | Both_is (x_25609, x_25608) -> h_both_is x_25609 x_25608
     474| One_is x_25776 -> h_one_is x_25776
     475| Both_is (x_25778, x_25777) -> h_both_is x_25778 x_25777
    476476
    477477(** val internal_stack_rect_Type5 :
     
    480480let rec internal_stack_rect_Type5 h_empty_is h_one_is h_both_is = function
    481481| Empty_is -> h_empty_is
    482 | One_is x_25614 -> h_one_is x_25614
    483 | Both_is (x_25616, x_25615) -> h_both_is x_25616 x_25615
     482| One_is x_25783 -> h_one_is x_25783
     483| Both_is (x_25785, x_25784) -> h_both_is x_25785 x_25784
    484484
    485485(** val internal_stack_rect_Type3 :
     
    488488let rec internal_stack_rect_Type3 h_empty_is h_one_is h_both_is = function
    489489| Empty_is -> h_empty_is
    490 | One_is x_25621 -> h_one_is x_25621
    491 | Both_is (x_25623, x_25622) -> h_both_is x_25623 x_25622
     490| One_is x_25790 -> h_one_is x_25790
     491| Both_is (x_25792, x_25791) -> h_both_is x_25792 x_25791
    492492
    493493(** val internal_stack_rect_Type2 :
     
    496496let rec internal_stack_rect_Type2 h_empty_is h_one_is h_both_is = function
    497497| Empty_is -> h_empty_is
    498 | One_is x_25628 -> h_one_is x_25628
    499 | Both_is (x_25630, x_25629) -> h_both_is x_25630 x_25629
     498| One_is x_25797 -> h_one_is x_25797
     499| Both_is (x_25799, x_25798) -> h_both_is x_25799 x_25798
    500500
    501501(** val internal_stack_rect_Type1 :
     
    504504let rec internal_stack_rect_Type1 h_empty_is h_one_is h_both_is = function
    505505| Empty_is -> h_empty_is
    506 | One_is x_25635 -> h_one_is x_25635
    507 | Both_is (x_25637, x_25636) -> h_both_is x_25637 x_25636
     506| One_is x_25804 -> h_one_is x_25804
     507| Both_is (x_25806, x_25805) -> h_both_is x_25806 x_25805
    508508
    509509(** val internal_stack_rect_Type0 :
     
    512512let rec internal_stack_rect_Type0 h_empty_is h_one_is h_both_is = function
    513513| Empty_is -> h_empty_is
    514 | One_is x_25642 -> h_one_is x_25642
    515 | Both_is (x_25644, x_25643) -> h_both_is x_25644 x_25643
     514| One_is x_25811 -> h_one_is x_25811
     515| Both_is (x_25813, x_25812) -> h_both_is x_25813 x_25812
    516516
    517517(** val internal_stack_inv_rect_Type4 :
     
    596596    sem_state_params -> (__ Types.option -> internal_stack ->
    597597    ByteValues.bebit -> __ -> BEMem.bemem -> 'a1) -> state -> 'a1 **)
    598 let rec state_rect_Type4 semp h_mk_state x_25692 =
     598let rec state_rect_Type4 semp h_mk_state x_25861 =
    599599  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    600     m = m0 } = x_25692
     600    m = m0 } = x_25861
    601601  in
    602602  h_mk_state st_frms0 istack0 carry0 regs0 m0
     
    605605    sem_state_params -> (__ Types.option -> internal_stack ->
    606606    ByteValues.bebit -> __ -> BEMem.bemem -> 'a1) -> state -> 'a1 **)
    607 let rec state_rect_Type5 semp h_mk_state x_25694 =
     607let rec state_rect_Type5 semp h_mk_state x_25863 =
    608608  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    609     m = m0 } = x_25694
     609    m = m0 } = x_25863
    610610  in
    611611  h_mk_state st_frms0 istack0 carry0 regs0 m0
     
    614614    sem_state_params -> (__ Types.option -> internal_stack ->
    615615    ByteValues.bebit -> __ -> BEMem.bemem -> 'a1) -> state -> 'a1 **)
    616 let rec state_rect_Type3 semp h_mk_state x_25696 =
     616let rec state_rect_Type3 semp h_mk_state x_25865 =
    617617  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    618     m = m0 } = x_25696
     618    m = m0 } = x_25865
    619619  in
    620620  h_mk_state st_frms0 istack0 carry0 regs0 m0
     
    623623    sem_state_params -> (__ Types.option -> internal_stack ->
    624624    ByteValues.bebit -> __ -> BEMem.bemem -> 'a1) -> state -> 'a1 **)
    625 let rec state_rect_Type2 semp h_mk_state x_25698 =
     625let rec state_rect_Type2 semp h_mk_state x_25867 =
    626626  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    627     m = m0 } = x_25698
     627    m = m0 } = x_25867
    628628  in
    629629  h_mk_state st_frms0 istack0 carry0 regs0 m0
     
    632632    sem_state_params -> (__ Types.option -> internal_stack ->
    633633    ByteValues.bebit -> __ -> BEMem.bemem -> 'a1) -> state -> 'a1 **)
    634 let rec state_rect_Type1 semp h_mk_state x_25700 =
     634let rec state_rect_Type1 semp h_mk_state x_25869 =
    635635  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    636     m = m0 } = x_25700
     636    m = m0 } = x_25869
    637637  in
    638638  h_mk_state st_frms0 istack0 carry0 regs0 m0
     
    641641    sem_state_params -> (__ Types.option -> internal_stack ->
    642642    ByteValues.bebit -> __ -> BEMem.bemem -> 'a1) -> state -> 'a1 **)
    643 let rec state_rect_Type0 semp h_mk_state x_25702 =
     643let rec state_rect_Type0 semp h_mk_state x_25871 =
    644644  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    645     m = m0 } = x_25702
     645    m = m0 } = x_25871
    646646  in
    647647  h_mk_state st_frms0 istack0 carry0 regs0 m0
     
    719719    sem_state_params -> (state -> ByteValues.program_counter ->
    720720    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    721 let rec state_pc_rect_Type4 semp h_mk_state_pc x_25718 =
    722   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25718 in
     721let rec state_pc_rect_Type4 semp h_mk_state_pc x_25887 =
     722  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25887 in
    723723  h_mk_state_pc st_no_pc0 pc0 last_pop0
    724724
     
    726726    sem_state_params -> (state -> ByteValues.program_counter ->
    727727    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    728 let rec state_pc_rect_Type5 semp h_mk_state_pc x_25720 =
    729   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25720 in
     728let rec state_pc_rect_Type5 semp h_mk_state_pc x_25889 =
     729  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25889 in
    730730  h_mk_state_pc st_no_pc0 pc0 last_pop0
    731731
     
    733733    sem_state_params -> (state -> ByteValues.program_counter ->
    734734    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    735 let rec state_pc_rect_Type3 semp h_mk_state_pc x_25722 =
    736   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25722 in
     735let rec state_pc_rect_Type3 semp h_mk_state_pc x_25891 =
     736  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25891 in
    737737  h_mk_state_pc st_no_pc0 pc0 last_pop0
    738738
     
    740740    sem_state_params -> (state -> ByteValues.program_counter ->
    741741    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    742 let rec state_pc_rect_Type2 semp h_mk_state_pc x_25724 =
    743   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25724 in
     742let rec state_pc_rect_Type2 semp h_mk_state_pc x_25893 =
     743  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25893 in
    744744  h_mk_state_pc st_no_pc0 pc0 last_pop0
    745745
     
    747747    sem_state_params -> (state -> ByteValues.program_counter ->
    748748    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    749 let rec state_pc_rect_Type1 semp h_mk_state_pc x_25726 =
    750   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25726 in
     749let rec state_pc_rect_Type1 semp h_mk_state_pc x_25895 =
     750  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25895 in
    751751  h_mk_state_pc st_no_pc0 pc0 last_pop0
    752752
     
    754754    sem_state_params -> (state -> ByteValues.program_counter ->
    755755    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    756 let rec state_pc_rect_Type0 semp h_mk_state_pc x_25728 =
    757   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25728 in
     756let rec state_pc_rect_Type0 semp h_mk_state_pc x_25897 =
     757  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25897 in
    758758  h_mk_state_pc st_no_pc0 pc0 last_pop0
    759759
     
    10941094    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    10951095    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1096 let rec sem_unserialized_params_rect_Type4 uns_pars h_mk_sem_unserialized_params x_25783 =
     1096let rec sem_unserialized_params_rect_Type4 uns_pars h_mk_sem_unserialized_params x_25952 =
    10971097  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    10981098    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    11061106    set_result0; call_args_for_main = call_args_for_main0;
    11071107    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1108     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25783
     1108    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25952
    11091109  in
    11101110  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    11351135    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    11361136    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1137 let rec sem_unserialized_params_rect_Type5 uns_pars h_mk_sem_unserialized_params x_25785 =
     1137let rec sem_unserialized_params_rect_Type5 uns_pars h_mk_sem_unserialized_params x_25954 =
    11381138  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    11391139    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    11471147    set_result0; call_args_for_main = call_args_for_main0;
    11481148    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1149     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25785
     1149    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25954
    11501150  in
    11511151  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    11761176    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    11771177    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1178 let rec sem_unserialized_params_rect_Type3 uns_pars h_mk_sem_unserialized_params x_25787 =
     1178let rec sem_unserialized_params_rect_Type3 uns_pars h_mk_sem_unserialized_params x_25956 =
    11791179  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    11801180    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    11881188    set_result0; call_args_for_main = call_args_for_main0;
    11891189    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1190     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25787
     1190    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25956
    11911191  in
    11921192  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    12171217    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    12181218    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1219 let rec sem_unserialized_params_rect_Type2 uns_pars h_mk_sem_unserialized_params x_25789 =
     1219let rec sem_unserialized_params_rect_Type2 uns_pars h_mk_sem_unserialized_params x_25958 =
    12201220  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    12211221    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    12291229    set_result0; call_args_for_main = call_args_for_main0;
    12301230    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1231     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25789
     1231    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25958
    12321232  in
    12331233  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    12581258    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    12591259    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1260 let rec sem_unserialized_params_rect_Type1 uns_pars h_mk_sem_unserialized_params x_25791 =
     1260let rec sem_unserialized_params_rect_Type1 uns_pars h_mk_sem_unserialized_params x_25960 =
    12611261  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    12621262    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    12701270    set_result0; call_args_for_main = call_args_for_main0;
    12711271    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1272     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25791
     1272    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25960
    12731273  in
    12741274  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    12991299    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    13001300    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1301 let rec sem_unserialized_params_rect_Type0 uns_pars h_mk_sem_unserialized_params x_25793 =
     1301let rec sem_unserialized_params_rect_Type0 uns_pars h_mk_sem_unserialized_params x_25962 =
    13021302  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    13031303    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    13111311    set_result0; call_args_for_main = call_args_for_main0;
    13121312    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1313     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25793
     1313    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25962
    13141314  in
    13151315  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    17611761    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    17621762    -> __ -> __ -> 'a1) -> sem_params -> 'a1 **)
    1763 let rec sem_params_rect_Type4 h_mk_sem_params x_25863 =
     1763let rec sem_params_rect_Type4 h_mk_sem_params x_26032 =
    17641764  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1765     point_of_offset = point_of_offset0 } = x_25863
     1765    point_of_offset = point_of_offset0 } = x_26032
    17661766  in
    17671767  h_mk_sem_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __ __
     
    17711771    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    17721772    -> __ -> __ -> 'a1) -> sem_params -> 'a1 **)
    1773 let rec sem_params_rect_Type5 h_mk_sem_params x_25865 =
     1773let rec sem_params_rect_Type5 h_mk_sem_params x_26034 =
    17741774  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1775     point_of_offset = point_of_offset0 } = x_25865
     1775    point_of_offset = point_of_offset0 } = x_26034
    17761776  in
    17771777  h_mk_sem_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __ __
     
    17811781    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    17821782    -> __ -> __ -> 'a1) -> sem_params -> 'a1 **)
    1783 let rec sem_params_rect_Type3 h_mk_sem_params x_25867 =
     1783let rec sem_params_rect_Type3 h_mk_sem_params x_26036 =
    17841784  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1785     point_of_offset = point_of_offset0 } = x_25867
     1785    point_of_offset = point_of_offset0 } = x_26036
    17861786  in
    17871787  h_mk_sem_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __ __
     
    17911791    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    17921792    -> __ -> __ -> 'a1) -> sem_params -> 'a1 **)
    1793 let rec sem_params_rect_Type2 h_mk_sem_params x_25869 =
     1793let rec sem_params_rect_Type2 h_mk_sem_params x_26038 =
    17941794  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1795     point_of_offset = point_of_offset0 } = x_25869
     1795    point_of_offset = point_of_offset0 } = x_26038
    17961796  in
    17971797  h_mk_sem_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __ __
     
    18011801    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    18021802    -> __ -> __ -> 'a1) -> sem_params -> 'a1 **)
    1803 let rec sem_params_rect_Type1 h_mk_sem_params x_25871 =
     1803let rec sem_params_rect_Type1 h_mk_sem_params x_26040 =
    18041804  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1805     point_of_offset = point_of_offset0 } = x_25871
     1805    point_of_offset = point_of_offset0 } = x_26040
    18061806  in
    18071807  h_mk_sem_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __ __
     
    18111811    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    18121812    -> __ -> __ -> 'a1) -> sem_params -> 'a1 **)
    1813 let rec sem_params_rect_Type0 h_mk_sem_params x_25873 =
     1813let rec sem_params_rect_Type0 h_mk_sem_params x_26042 =
    18141814  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1815     point_of_offset = point_of_offset0 } = x_25873
     1815    point_of_offset = point_of_offset0 } = x_26042
    18161816  in
    18171817  h_mk_sem_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __ __
  • extracted/lINToASM.ml

    r2867 r2873  
    127127    Identifiers.identifier_map Identifiers.identifier_map -> BitVector.word
    128128    Identifiers.identifier_map -> __ -> 'a1) -> aSM_universe -> 'a1 **)
    129 let rec aSM_universe_rect_Type4 globals h_mk_ASM_universe x_24414 =
     129let rec aSM_universe_rect_Type4 globals h_mk_ASM_universe x_24583 =
    130130  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    131131    ident_map0; label_map = label_map0; address_map = address_map0 } =
    132     x_24414
     132    x_24583
    133133  in
    134134  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    140140    Identifiers.identifier_map Identifiers.identifier_map -> BitVector.word
    141141    Identifiers.identifier_map -> __ -> 'a1) -> aSM_universe -> 'a1 **)
    142 let rec aSM_universe_rect_Type5 globals h_mk_ASM_universe x_24416 =
     142let rec aSM_universe_rect_Type5 globals h_mk_ASM_universe x_24585 =
    143143  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    144144    ident_map0; label_map = label_map0; address_map = address_map0 } =
    145     x_24416
     145    x_24585
    146146  in
    147147  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    153153    Identifiers.identifier_map Identifiers.identifier_map -> BitVector.word
    154154    Identifiers.identifier_map -> __ -> 'a1) -> aSM_universe -> 'a1 **)
    155 let rec aSM_universe_rect_Type3 globals h_mk_ASM_universe x_24418 =
     155let rec aSM_universe_rect_Type3 globals h_mk_ASM_universe x_24587 =
    156156  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    157157    ident_map0; label_map = label_map0; address_map = address_map0 } =
    158     x_24418
     158    x_24587
    159159  in
    160160  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    166166    Identifiers.identifier_map Identifiers.identifier_map -> BitVector.word
    167167    Identifiers.identifier_map -> __ -> 'a1) -> aSM_universe -> 'a1 **)
    168 let rec aSM_universe_rect_Type2 globals h_mk_ASM_universe x_24420 =
     168let rec aSM_universe_rect_Type2 globals h_mk_ASM_universe x_24589 =
    169169  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    170170    ident_map0; label_map = label_map0; address_map = address_map0 } =
    171     x_24420
     171    x_24589
    172172  in
    173173  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    179179    Identifiers.identifier_map Identifiers.identifier_map -> BitVector.word
    180180    Identifiers.identifier_map -> __ -> 'a1) -> aSM_universe -> 'a1 **)
    181 let rec aSM_universe_rect_Type1 globals h_mk_ASM_universe x_24422 =
     181let rec aSM_universe_rect_Type1 globals h_mk_ASM_universe x_24591 =
    182182  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    183183    ident_map0; label_map = label_map0; address_map = address_map0 } =
    184     x_24422
     184    x_24591
    185185  in
    186186  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    192192    Identifiers.identifier_map Identifiers.identifier_map -> BitVector.word
    193193    Identifiers.identifier_map -> __ -> 'a1) -> aSM_universe -> 'a1 **)
    194 let rec aSM_universe_rect_Type0 globals h_mk_ASM_universe x_24424 =
     194let rec aSM_universe_rect_Type0 globals h_mk_ASM_universe x_24593 =
    195195  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    196196    ident_map0; label_map = label_map0; address_map = address_map0 } =
    197     x_24424
     197    x_24593
    198198  in
    199199  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    280280  let globals_addr_internal = fun res_offset x_size ->
    281281    let { Types.fst = res; Types.snd = offset } = res_offset in
    282     let { Types.fst = eta29059; Types.snd = size } = x_size in
    283     let { Types.fst = x; Types.snd = region } = eta29059 in
     282    let { Types.fst = eta29074; Types.snd = size } = x_size in
     283    let { Types.fst = x; Types.snd = region } = eta29074 in
    284284    { Types.fst =
    285285    (Identifiers.add PreIdentifiers.SymbolTag res x
     
    309309        (Identifiers.empty_map PreIdentifiers.LabelTag)
    310310    in
    311     let { Types.fst = eta29060; Types.snd = lmap0 } =
     311    let { Types.fst = eta29075; Types.snd = lmap0 } =
    312312      match Identifiers.lookup PreIdentifiers.LabelTag lmap l with
    313313      | Types.None ->
     
    321321          lmap }
    322322    in
    323     let { Types.fst = id; Types.snd = univ } = eta29060 in
     323    let { Types.fst = id; Types.snd = univ } = eta29075 in
    324324    { Types.fst = { id_univ = univ; current_funct = current; ident_map =
    325325    u.ident_map; label_map =
     
    333333  Obj.magic (fun u ->
    334334    let imap = u.ident_map in
    335     let { Types.fst = eta29061; Types.snd = imap0 } =
     335    let { Types.fst = eta29076; Types.snd = imap0 } =
    336336      match Identifiers.lookup PreIdentifiers.SymbolTag imap i with
    337337      | Types.None ->
     
    345345          imap }
    346346    in
    347     let { Types.fst = id; Types.snd = univ } = eta29061 in
     347    let { Types.fst = id; Types.snd = univ } = eta29076 in
    348348    { Types.fst = { id_univ = univ; current_funct = u.current_funct;
    349349    ident_map = imap0; label_map = u.label_map; address_map =
  • extracted/measurable.ml

    r2867 r2873  
    112112    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    113113    'a1) -> classified_system -> 'a1 **)
    114 let rec classified_system_rect_Type4 h_mk_classified_system x_25221 =
     114let rec classified_system_rect_Type4 h_mk_classified_system x_25390 =
    115115  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    116116    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
    117     x_25221
     117    x_25390
    118118  in
    119119  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    124124    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    125125    'a1) -> classified_system -> 'a1 **)
    126 let rec classified_system_rect_Type5 h_mk_classified_system x_25223 =
     126let rec classified_system_rect_Type5 h_mk_classified_system x_25392 =
    127127  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    128128    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
    129     x_25223
     129    x_25392
    130130  in
    131131  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    136136    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    137137    'a1) -> classified_system -> 'a1 **)
    138 let rec classified_system_rect_Type3 h_mk_classified_system x_25225 =
     138let rec classified_system_rect_Type3 h_mk_classified_system x_25394 =
    139139  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    140140    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
    141     x_25225
     141    x_25394
    142142  in
    143143  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    148148    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    149149    'a1) -> classified_system -> 'a1 **)
    150 let rec classified_system_rect_Type2 h_mk_classified_system x_25227 =
     150let rec classified_system_rect_Type2 h_mk_classified_system x_25396 =
    151151  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    152152    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
    153     x_25227
     153    x_25396
    154154  in
    155155  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    160160    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    161161    'a1) -> classified_system -> 'a1 **)
    162 let rec classified_system_rect_Type1 h_mk_classified_system x_25229 =
     162let rec classified_system_rect_Type1 h_mk_classified_system x_25398 =
    163163  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    164164    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
    165     x_25229
     165    x_25398
    166166  in
    167167  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    172172    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    173173    'a1) -> classified_system -> 'a1 **)
    174 let rec classified_system_rect_Type0 h_mk_classified_system x_25231 =
     174let rec classified_system_rect_Type0 h_mk_classified_system x_25400 =
    175175  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    176176    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
    177     x_25231
     177    x_25400
    178178  in
    179179  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    361361    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    362362    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    363 let rec preclassified_system_rect_Type4 h_mk_preclassified_system x_25251 =
     363let rec preclassified_system_rect_Type4 h_mk_preclassified_system x_25420 =
    364364  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    365     pcs_classify0; pcs_callee = pcs_callee0 } = x_25251
     365    pcs_classify0; pcs_callee = pcs_callee0 } = x_25420
    366366  in
    367367  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    371371    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    372372    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    373 let rec preclassified_system_rect_Type5 h_mk_preclassified_system x_25253 =
     373let rec preclassified_system_rect_Type5 h_mk_preclassified_system x_25422 =
    374374  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    375     pcs_classify0; pcs_callee = pcs_callee0 } = x_25253
     375    pcs_classify0; pcs_callee = pcs_callee0 } = x_25422
    376376  in
    377377  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    381381    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    382382    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    383 let rec preclassified_system_rect_Type3 h_mk_preclassified_system x_25255 =
     383let rec preclassified_system_rect_Type3 h_mk_preclassified_system x_25424 =
    384384  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    385     pcs_classify0; pcs_callee = pcs_callee0 } = x_25255
     385    pcs_classify0; pcs_callee = pcs_callee0 } = x_25424
    386386  in
    387387  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    391391    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    392392    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    393 let rec preclassified_system_rect_Type2 h_mk_preclassified_system x_25257 =
     393let rec preclassified_system_rect_Type2 h_mk_preclassified_system x_25426 =
    394394  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    395     pcs_classify0; pcs_callee = pcs_callee0 } = x_25257
     395    pcs_classify0; pcs_callee = pcs_callee0 } = x_25426
    396396  in
    397397  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    401401    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    402402    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    403 let rec preclassified_system_rect_Type1 h_mk_preclassified_system x_25259 =
     403let rec preclassified_system_rect_Type1 h_mk_preclassified_system x_25428 =
    404404  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    405     pcs_classify0; pcs_callee = pcs_callee0 } = x_25259
     405    pcs_classify0; pcs_callee = pcs_callee0 } = x_25428
    406406  in
    407407  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    411411    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    412412    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    413 let rec preclassified_system_rect_Type0 h_mk_preclassified_system x_25261 =
     413let rec preclassified_system_rect_Type0 h_mk_preclassified_system x_25430 =
    414414  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    415     pcs_classify0; pcs_callee = pcs_callee0 } = x_25261
     415    pcs_classify0; pcs_callee = pcs_callee0 } = x_25430
    416416  in
    417417  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
  • extracted/rTL.ml

    r2867 r2873  
    111111    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    112112let rec rtl_seq_rect_Type4 h_rtl_stack_address = function
    113 | Rtl_stack_address (x_20906, x_20905) -> h_rtl_stack_address x_20906 x_20905
     113| Rtl_stack_address (x_21075, x_21074) -> h_rtl_stack_address x_21075 x_21074
    114114
    115115(** val rtl_seq_rect_Type5 :
    116116    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    117117let rec rtl_seq_rect_Type5 h_rtl_stack_address = function
    118 | Rtl_stack_address (x_20910, x_20909) -> h_rtl_stack_address x_20910 x_20909
     118| Rtl_stack_address (x_21079, x_21078) -> h_rtl_stack_address x_21079 x_21078
    119119
    120120(** val rtl_seq_rect_Type3 :
    121121    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    122122let rec rtl_seq_rect_Type3 h_rtl_stack_address = function
    123 | Rtl_stack_address (x_20914, x_20913) -> h_rtl_stack_address x_20914 x_20913
     123| Rtl_stack_address (x_21083, x_21082) -> h_rtl_stack_address x_21083 x_21082
    124124
    125125(** val rtl_seq_rect_Type2 :
    126126    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    127127let rec rtl_seq_rect_Type2 h_rtl_stack_address = function
    128 | Rtl_stack_address (x_20918, x_20917) -> h_rtl_stack_address x_20918 x_20917
     128| Rtl_stack_address (x_21087, x_21086) -> h_rtl_stack_address x_21087 x_21086
    129129
    130130(** val rtl_seq_rect_Type1 :
    131131    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    132132let rec rtl_seq_rect_Type1 h_rtl_stack_address = function
    133 | Rtl_stack_address (x_20922, x_20921) -> h_rtl_stack_address x_20922 x_20921
     133| Rtl_stack_address (x_21091, x_21090) -> h_rtl_stack_address x_21091 x_21090
    134134
    135135(** val rtl_seq_rect_Type0 :
    136136    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    137137let rec rtl_seq_rect_Type0 h_rtl_stack_address = function
    138 | Rtl_stack_address (x_20926, x_20925) -> h_rtl_stack_address x_20926 x_20925
     138| Rtl_stack_address (x_21095, x_21094) -> h_rtl_stack_address x_21095 x_21094
    139139
    140140(** val rtl_seq_inv_rect_Type4 :
  • extracted/rTL_semantics.ml

    r2867 r2873  
    158158    (Registers.register List.list -> ByteValues.program_counter ->
    159159    ByteValues.bebit -> SemanticsUtils.reg_sp -> 'a1) -> frame -> 'a1 **)
    160 let rec frame_rect_Type4 h_mk_frame x_26197 =
     160let rec frame_rect_Type4 h_mk_frame x_26366 =
    161161  let { fr_ret_regs = fr_ret_regs0; fr_pc = fr_pc0; fr_carry = fr_carry0;
    162     fr_regs = fr_regs0 } = x_26197
     162    fr_regs = fr_regs0 } = x_26366
    163163  in
    164164  h_mk_frame fr_ret_regs0 fr_pc0 fr_carry0 fr_regs0
     
    167167    (Registers.register List.list -> ByteValues.program_counter ->
    168168    ByteValues.bebit -> SemanticsUtils.reg_sp -> 'a1) -> frame -> 'a1 **)
    169 let rec frame_rect_Type5 h_mk_frame x_26199 =
     169let rec frame_rect_Type5 h_mk_frame x_26368 =
    170170  let { fr_ret_regs = fr_ret_regs0; fr_pc = fr_pc0; fr_carry = fr_carry0;
    171     fr_regs = fr_regs0 } = x_26199
     171    fr_regs = fr_regs0 } = x_26368
    172172  in
    173173  h_mk_frame fr_ret_regs0 fr_pc0 fr_carry0 fr_regs0
     
    176176    (Registers.register List.list -> ByteValues.program_counter ->
    177177    ByteValues.bebit -> SemanticsUtils.reg_sp -> 'a1) -> frame -> 'a1 **)
    178 let rec frame_rect_Type3 h_mk_frame x_26201 =
     178let rec frame_rect_Type3 h_mk_frame x_26370 =
    179179  let { fr_ret_regs = fr_ret_regs0; fr_pc = fr_pc0; fr_carry = fr_carry0;
    180     fr_regs = fr_regs0 } = x_26201
     180    fr_regs = fr_regs0 } = x_26370
    181181  in
    182182  h_mk_frame fr_ret_regs0 fr_pc0 fr_carry0 fr_regs0
     
    185185    (Registers.register List.list -> ByteValues.program_counter ->
    186186    ByteValues.bebit -> SemanticsUtils.reg_sp -> 'a1) -> frame -> 'a1 **)
    187 let rec frame_rect_Type2 h_mk_frame x_26203 =
     187let rec frame_rect_Type2 h_mk_frame x_26372 =
    188188  let { fr_ret_regs = fr_ret_regs0; fr_pc = fr_pc0; fr_carry = fr_carry0;
    189     fr_regs = fr_regs0 } = x_26203
     189    fr_regs = fr_regs0 } = x_26372
    190190  in
    191191  h_mk_frame fr_ret_regs0 fr_pc0 fr_carry0 fr_regs0
     
    194194    (Registers.register List.list -> ByteValues.program_counter ->
    195195    ByteValues.bebit -> SemanticsUtils.reg_sp -> 'a1) -> frame -> 'a1 **)
    196 let rec frame_rect_Type1 h_mk_frame x_26205 =
     196let rec frame_rect_Type1 h_mk_frame x_26374 =
    197197  let { fr_ret_regs = fr_ret_regs0; fr_pc = fr_pc0; fr_carry = fr_carry0;
    198     fr_regs = fr_regs0 } = x_26205
     198    fr_regs = fr_regs0 } = x_26374
    199199  in
    200200  h_mk_frame fr_ret_regs0 fr_pc0 fr_carry0 fr_regs0
     
    203203    (Registers.register List.list -> ByteValues.program_counter ->
    204204    ByteValues.bebit -> SemanticsUtils.reg_sp -> 'a1) -> frame -> 'a1 **)
    205 let rec frame_rect_Type0 h_mk_frame x_26207 =
     205let rec frame_rect_Type0 h_mk_frame x_26376 =
    206206  let { fr_ret_regs = fr_ret_regs0; fr_pc = fr_pc0; fr_carry = fr_carry0;
    207     fr_regs = fr_regs0 } = x_26207
     207    fr_regs = fr_regs0 } = x_26376
    208208  in
    209209  h_mk_frame fr_ret_regs0 fr_pc0 fr_carry0 fr_regs0
  • extracted/rTLabsToRTL.ml

    r2867 r2873  
    150150    -> 'a1) -> register_type -> 'a1 **)
    151151let rec register_type_rect_Type4 h_register_int h_register_ptr = function
    152 | Register_int x_21128 -> h_register_int x_21128
    153 | Register_ptr (x_21130, x_21129) -> h_register_ptr x_21130 x_21129
     152| Register_int x_21297 -> h_register_int x_21297
     153| Register_ptr (x_21299, x_21298) -> h_register_ptr x_21299 x_21298
    154154
    155155(** val register_type_rect_Type5 :
     
    157157    -> 'a1) -> register_type -> 'a1 **)
    158158let rec register_type_rect_Type5 h_register_int h_register_ptr = function
    159 | Register_int x_21134 -> h_register_int x_21134
    160 | Register_ptr (x_21136, x_21135) -> h_register_ptr x_21136 x_21135
     159| Register_int x_21303 -> h_register_int x_21303
     160| Register_ptr (x_21305, x_21304) -> h_register_ptr x_21305 x_21304
    161161
    162162(** val register_type_rect_Type3 :
     
    164164    -> 'a1) -> register_type -> 'a1 **)
    165165let rec register_type_rect_Type3 h_register_int h_register_ptr = function
    166 | Register_int x_21140 -> h_register_int x_21140
    167 | Register_ptr (x_21142, x_21141) -> h_register_ptr x_21142 x_21141
     166| Register_int x_21309 -> h_register_int x_21309
     167| Register_ptr (x_21311, x_21310) -> h_register_ptr x_21311 x_21310
    168168
    169169(** val register_type_rect_Type2 :
     
    171171    -> 'a1) -> register_type -> 'a1 **)
    172172let rec register_type_rect_Type2 h_register_int h_register_ptr = function
    173 | Register_int x_21146 -> h_register_int x_21146
    174 | Register_ptr (x_21148, x_21147) -> h_register_ptr x_21148 x_21147
     173| Register_int x_21315 -> h_register_int x_21315
     174| Register_ptr (x_21317, x_21316) -> h_register_ptr x_21317 x_21316
    175175
    176176(** val register_type_rect_Type1 :
     
    178178    -> 'a1) -> register_type -> 'a1 **)
    179179let rec register_type_rect_Type1 h_register_int h_register_ptr = function
    180 | Register_int x_21152 -> h_register_int x_21152
    181 | Register_ptr (x_21154, x_21153) -> h_register_ptr x_21154 x_21153
     180| Register_int x_21321 -> h_register_int x_21321
     181| Register_ptr (x_21323, x_21322) -> h_register_ptr x_21323 x_21322
    182182
    183183(** val register_type_rect_Type0 :
     
    185185    -> 'a1) -> register_type -> 'a1 **)
    186186let rec register_type_rect_Type0 h_register_int h_register_ptr = function
    187 | Register_int x_21158 -> h_register_int x_21158
    188 | Register_ptr (x_21160, x_21159) -> h_register_ptr x_21160 x_21159
     187| Register_int x_21327 -> h_register_int x_21327
     188| Register_ptr (x_21329, x_21328) -> h_register_ptr x_21329 x_21328
    189189
    190190(** val register_type_inv_rect_Type4 :
  • extracted/rTLabs_abstract.ml

    r2827 r2873  
    150150    RTLabs_semantics.genv -> (RTLabs_semantics.state -> Pointers.block
    151151    List.list -> __ -> 'a1) -> rTLabs_ext_state -> 'a1 **)
    152 let rec rTLabs_ext_state_rect_Type4 ge h_mk_RTLabs_ext_state x_17436 =
    153   let { ras_state = ras_state0; ras_fn_stack = ras_fn_stack0 } = x_17436 in
     152let rec rTLabs_ext_state_rect_Type4 ge h_mk_RTLabs_ext_state x_17605 =
     153  let { ras_state = ras_state0; ras_fn_stack = ras_fn_stack0 } = x_17605 in
    154154  h_mk_RTLabs_ext_state ras_state0 ras_fn_stack0 __
    155155
     
    157157    RTLabs_semantics.genv -> (RTLabs_semantics.state -> Pointers.block
    158158    List.list -> __ -> 'a1) -> rTLabs_ext_state -> 'a1 **)
    159 let rec rTLabs_ext_state_rect_Type5 ge h_mk_RTLabs_ext_state x_17438 =
    160   let { ras_state = ras_state0; ras_fn_stack = ras_fn_stack0 } = x_17438 in
     159let rec rTLabs_ext_state_rect_Type5 ge h_mk_RTLabs_ext_state x_17607 =
     160  let { ras_state = ras_state0; ras_fn_stack = ras_fn_stack0 } = x_17607 in
    161161  h_mk_RTLabs_ext_state ras_state0 ras_fn_stack0 __
    162162
     
    164164    RTLabs_semantics.genv -> (RTLabs_semantics.state -> Pointers.block
    165165    List.list -> __ -> 'a1) -> rTLabs_ext_state -> 'a1 **)
    166 let rec rTLabs_ext_state_rect_Type3 ge h_mk_RTLabs_ext_state x_17440 =
    167   let { ras_state = ras_state0; ras_fn_stack = ras_fn_stack0 } = x_17440 in
     166let rec rTLabs_ext_state_rect_Type3 ge h_mk_RTLabs_ext_state x_17609 =
     167  let { ras_state = ras_state0; ras_fn_stack = ras_fn_stack0 } = x_17609 in
    168168  h_mk_RTLabs_ext_state ras_state0 ras_fn_stack0 __
    169169
     
    171171    RTLabs_semantics.genv -> (RTLabs_semantics.state -> Pointers.block
    172172    List.list -> __ -> 'a1) -> rTLabs_ext_state -> 'a1 **)
    173 let rec rTLabs_ext_state_rect_Type2 ge h_mk_RTLabs_ext_state x_17442 =
    174   let { ras_state = ras_state0; ras_fn_stack = ras_fn_stack0 } = x_17442 in
     173let rec rTLabs_ext_state_rect_Type2 ge h_mk_RTLabs_ext_state x_17611 =
     174  let { ras_state = ras_state0; ras_fn_stack = ras_fn_stack0 } = x_17611 in
    175175  h_mk_RTLabs_ext_state ras_state0 ras_fn_stack0 __
    176176
     
    178178    RTLabs_semantics.genv -> (RTLabs_semantics.state -> Pointers.block
    179179    List.list -> __ -> 'a1) -> rTLabs_ext_state -> 'a1 **)
    180 let rec rTLabs_ext_state_rect_Type1 ge h_mk_RTLabs_ext_state x_17444 =
    181   let { ras_state = ras_state0; ras_fn_stack = ras_fn_stack0 } = x_17444 in
     180let rec rTLabs_ext_state_rect_Type1 ge h_mk_RTLabs_ext_state x_17613 =
     181  let { ras_state = ras_state0; ras_fn_stack = ras_fn_stack0 } = x_17613 in
    182182  h_mk_RTLabs_ext_state ras_state0 ras_fn_stack0 __
    183183
     
    185185    RTLabs_semantics.genv -> (RTLabs_semantics.state -> Pointers.block
    186186    List.list -> __ -> 'a1) -> rTLabs_ext_state -> 'a1 **)
    187 let rec rTLabs_ext_state_rect_Type0 ge h_mk_RTLabs_ext_state x_17446 =
    188   let { ras_state = ras_state0; ras_fn_stack = ras_fn_stack0 } = x_17446 in
     187let rec rTLabs_ext_state_rect_Type0 ge h_mk_RTLabs_ext_state x_17615 =
     188  let { ras_state = ras_state0; ras_fn_stack = ras_fn_stack0 } = x_17615 in
    189189  h_mk_RTLabs_ext_state ras_state0 ras_fn_stack0 __
    190190
     
    340340    rTLabs_pc -> 'a1 **)
    341341let rec rTLabs_pc_rect_Type4 h_rapc_state h_rapc_call h_rapc_ret h_rapc_fin = function
    342 | Rapc_state (x_17472, x_17471) -> h_rapc_state x_17472 x_17471
    343 | Rapc_call (x_17474, x_17473) -> h_rapc_call x_17474 x_17473
    344 | Rapc_ret x_17475 -> h_rapc_ret x_17475
     342| Rapc_state (x_17641, x_17640) -> h_rapc_state x_17641 x_17640
     343| Rapc_call (x_17643, x_17642) -> h_rapc_call x_17643 x_17642
     344| Rapc_ret x_17644 -> h_rapc_ret x_17644
    345345| Rapc_fin -> h_rapc_fin
    346346
     
    350350    rTLabs_pc -> 'a1 **)
    351351let rec rTLabs_pc_rect_Type5 h_rapc_state h_rapc_call h_rapc_ret h_rapc_fin = function
    352 | Rapc_state (x_17482, x_17481) -> h_rapc_state x_17482 x_17481
    353 | Rapc_call (x_17484, x_17483) -> h_rapc_call x_17484 x_17483
    354 | Rapc_ret x_17485 -> h_rapc_ret x_17485
     352| Rapc_state (x_17651, x_17650) -> h_rapc_state x_17651 x_17650
     353| Rapc_call (x_17653, x_17652) -> h_rapc_call x_17653 x_17652
     354| Rapc_ret x_17654 -> h_rapc_ret x_17654
    355355| Rapc_fin -> h_rapc_fin
    356356
     
    360360    rTLabs_pc -> 'a1 **)
    361361let rec rTLabs_pc_rect_Type3 h_rapc_state h_rapc_call h_rapc_ret h_rapc_fin = function
    362 | Rapc_state (x_17492, x_17491) -> h_rapc_state x_17492 x_17491
    363 | Rapc_call (x_17494, x_17493) -> h_rapc_call x_17494 x_17493
    364 | Rapc_ret x_17495 -> h_rapc_ret x_17495
     362| Rapc_state (x_17661, x_17660) -> h_rapc_state x_17661 x_17660
     363| Rapc_call (x_17663, x_17662) -> h_rapc_call x_17663 x_17662
     364| Rapc_ret x_17664 -> h_rapc_ret x_17664
    365365| Rapc_fin -> h_rapc_fin
    366366
     
    370370    rTLabs_pc -> 'a1 **)
    371371let rec rTLabs_pc_rect_Type2 h_rapc_state h_rapc_call h_rapc_ret h_rapc_fin = function
    372 | Rapc_state (x_17502, x_17501) -> h_rapc_state x_17502 x_17501
    373 | Rapc_call (x_17504, x_17503) -> h_rapc_call x_17504 x_17503
    374 | Rapc_ret x_17505 -> h_rapc_ret x_17505
     372| Rapc_state (x_17671, x_17670) -> h_rapc_state x_17671 x_17670
     373| Rapc_call (x_17673, x_17672) -> h_rapc_call x_17673 x_17672
     374| Rapc_ret x_17674 -> h_rapc_ret x_17674
    375375| Rapc_fin -> h_rapc_fin
    376376
     
    380380    rTLabs_pc -> 'a1 **)
    381381let rec rTLabs_pc_rect_Type1 h_rapc_state h_rapc_call h_rapc_ret h_rapc_fin = function
    382 | Rapc_state (x_17512, x_17511) -> h_rapc_state x_17512 x_17511
    383 | Rapc_call (x_17514, x_17513) -> h_rapc_call x_17514 x_17513
    384 | Rapc_ret x_17515 -> h_rapc_ret x_17515
     382| Rapc_state (x_17681, x_17680) -> h_rapc_state x_17681 x_17680
     383| Rapc_call (x_17683, x_17682) -> h_rapc_call x_17683 x_17682
     384| Rapc_ret x_17684 -> h_rapc_ret x_17684
    385385| Rapc_fin -> h_rapc_fin
    386386
     
    390390    rTLabs_pc -> 'a1 **)
    391391let rec rTLabs_pc_rect_Type0 h_rapc_state h_rapc_call h_rapc_ret h_rapc_fin = function
    392 | Rapc_state (x_17522, x_17521) -> h_rapc_state x_17522 x_17521
    393 | Rapc_call (x_17524, x_17523) -> h_rapc_call x_17524 x_17523
    394 | Rapc_ret x_17525 -> h_rapc_ret x_17525
     392| Rapc_state (x_17691, x_17690) -> h_rapc_state x_17691 x_17690
     393| Rapc_call (x_17693, x_17692) -> h_rapc_call x_17693 x_17692
     394| Rapc_ret x_17694 -> h_rapc_ret x_17694
    395395| Rapc_fin -> h_rapc_fin
    396396
  • extracted/rTLabs_traces.ml

    r2867 r2873  
    296296    'a1) -> Nat.nat -> RTLabs_semantics.state -> (IO.io_out, IO.io_in)
    297297    flat_trace -> will_return -> 'a1 **)
    298 let rec will_return_rect_Type4 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17709 s x_17708 = function
    299 | Wr_step (s0, tr, s', depth, trace, x_17711) ->
    300   h_wr_step s0 tr s' depth __ trace __ x_17711
     298let rec will_return_rect_Type4 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17878 s x_17877 = function
     299| Wr_step (s0, tr, s', depth, trace, x_17880) ->
     300  h_wr_step s0 tr s' depth __ trace __ x_17880
    301301    (will_return_rect_Type4 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    302       s' trace x_17711)
    303 | Wr_call (s0, tr, s', depth, trace, x_17713) ->
    304   h_wr_call s0 tr s' depth __ trace __ x_17713
     302      s' trace x_17880)
     303| Wr_call (s0, tr, s', depth, trace, x_17882) ->
     304  h_wr_call s0 tr s' depth __ trace __ x_17882
    305305    (will_return_rect_Type4 ge h_wr_step h_wr_call h_wr_ret h_wr_base (Nat.S
    306       depth) s' trace x_17713)
    307 | Wr_ret (s0, tr, s', depth, trace, x_17715) ->
    308   h_wr_ret s0 tr s' depth __ trace __ x_17715
     306      depth) s' trace x_17882)
     307| Wr_ret (s0, tr, s', depth, trace, x_17884) ->
     308  h_wr_ret s0 tr s' depth __ trace __ x_17884
    309309    (will_return_rect_Type4 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    310       s' trace x_17715)
     310      s' trace x_17884)
    311311| Wr_base (s0, tr, s', trace) -> h_wr_base s0 tr s' __ trace __
    312312
     
    323323    'a1) -> Nat.nat -> RTLabs_semantics.state -> (IO.io_out, IO.io_in)
    324324    flat_trace -> will_return -> 'a1 **)
    325 let rec will_return_rect_Type3 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17737 s x_17736 = function
    326 | Wr_step (s0, tr, s', depth, trace, x_17739) ->
    327   h_wr_step s0 tr s' depth __ trace __ x_17739
     325let rec will_return_rect_Type3 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17906 s x_17905 = function
     326| Wr_step (s0, tr, s', depth, trace, x_17908) ->
     327  h_wr_step s0 tr s' depth __ trace __ x_17908
    328328    (will_return_rect_Type3 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    329       s' trace x_17739)
    330 | Wr_call (s0, tr, s', depth, trace, x_17741) ->
    331   h_wr_call s0 tr s' depth __ trace __ x_17741
     329      s' trace x_17908)
     330| Wr_call (s0, tr, s', depth, trace, x_17910) ->
     331  h_wr_call s0 tr s' depth __ trace __ x_17910
    332332    (will_return_rect_Type3 ge h_wr_step h_wr_call h_wr_ret h_wr_base (Nat.S
    333       depth) s' trace x_17741)
    334 | Wr_ret (s0, tr, s', depth, trace, x_17743) ->
    335   h_wr_ret s0 tr s' depth __ trace __ x_17743
     333      depth) s' trace x_17910)
     334| Wr_ret (s0, tr, s', depth, trace, x_17912) ->
     335  h_wr_ret s0 tr s' depth __ trace __ x_17912
    336336    (will_return_rect_Type3 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    337       s' trace x_17743)
     337      s' trace x_17912)
    338338| Wr_base (s0, tr, s', trace) -> h_wr_base s0 tr s' __ trace __
    339339
     
    350350    'a1) -> Nat.nat -> RTLabs_semantics.state -> (IO.io_out, IO.io_in)
    351351    flat_trace -> will_return -> 'a1 **)
    352 let rec will_return_rect_Type2 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17751 s x_17750 = function
    353 | Wr_step (s0, tr, s', depth, trace, x_17753) ->
    354   h_wr_step s0 tr s' depth __ trace __ x_17753
     352let rec will_return_rect_Type2 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17920 s x_17919 = function
     353| Wr_step (s0, tr, s', depth, trace, x_17922) ->
     354  h_wr_step s0 tr s' depth __ trace __ x_17922
    355355    (will_return_rect_Type2 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    356       s' trace x_17753)
    357 | Wr_call (s0, tr, s', depth, trace, x_17755) ->
    358   h_wr_call s0 tr s' depth __ trace __ x_17755
     356      s' trace x_17922)
     357| Wr_call (s0, tr, s', depth, trace, x_17924) ->
     358  h_wr_call s0 tr s' depth __ trace __ x_17924
    359359    (will_return_rect_Type2 ge h_wr_step h_wr_call h_wr_ret h_wr_base (Nat.S
    360       depth) s' trace x_17755)
    361 | Wr_ret (s0, tr, s', depth, trace, x_17757) ->
    362   h_wr_ret s0 tr s' depth __ trace __ x_17757
     360      depth) s' trace x_17924)
     361| Wr_ret (s0, tr, s', depth, trace, x_17926) ->
     362  h_wr_ret s0 tr s' depth __ trace __ x_17926
    363363    (will_return_rect_Type2 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    364       s' trace x_17757)
     364      s' trace x_17926)
    365365| Wr_base (s0, tr, s', trace) -> h_wr_base s0 tr s' __ trace __
    366366
     
    377377    'a1) -> Nat.nat -> RTLabs_semantics.state -> (IO.io_out, IO.io_in)
    378378    flat_trace -> will_return -> 'a1 **)
    379 let rec will_return_rect_Type1 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17765 s x_17764 = function
    380 | Wr_step (s0, tr, s', depth, trace, x_17767) ->
    381   h_wr_step s0 tr s' depth __ trace __ x_17767
     379let rec will_return_rect_Type1 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17934 s x_17933 = function
     380| Wr_step (s0, tr, s', depth, trace, x_17936) ->
     381  h_wr_step s0 tr s' depth __ trace __ x_17936
    382382    (will_return_rect_Type1 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    383       s' trace x_17767)
    384 | Wr_call (s0, tr, s', depth, trace, x_17769) ->
    385   h_wr_call s0 tr s' depth __ trace __ x_17769
     383      s' trace x_17936)
     384| Wr_call (s0, tr, s', depth, trace, x_17938) ->
     385  h_wr_call s0 tr s' depth __ trace __ x_17938
    386386    (will_return_rect_Type1 ge h_wr_step h_wr_call h_wr_ret h_wr_base (Nat.S
    387       depth) s' trace x_17769)
    388 | Wr_ret (s0, tr, s', depth, trace, x_17771) ->
    389   h_wr_ret s0 tr s' depth __ trace __ x_17771
     387      depth) s' trace x_17938)
     388| Wr_ret (s0, tr, s', depth, trace, x_17940) ->
     389  h_wr_ret s0 tr s' depth __ trace __ x_17940
    390390    (will_return_rect_Type1 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    391       s' trace x_17771)
     391      s' trace x_17940)
    392392| Wr_base (s0, tr, s', trace) -> h_wr_base s0 tr s' __ trace __
    393393
     
    404404    'a1) -> Nat.nat -> RTLabs_semantics.state -> (IO.io_out, IO.io_in)
    405405    flat_trace -> will_return -> 'a1 **)
    406 let rec will_return_rect_Type0 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17779 s x_17778 = function
    407 | Wr_step (s0, tr, s', depth, trace, x_17781) ->
    408   h_wr_step s0 tr s' depth __ trace __ x_17781
     406let rec will_return_rect_Type0 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17948 s x_17947 = function
     407| Wr_step (s0, tr, s', depth, trace, x_17950) ->
     408  h_wr_step s0 tr s' depth __ trace __ x_17950
    409409    (will_return_rect_Type0 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    410       s' trace x_17781)
    411 | Wr_call (s0, tr, s', depth, trace, x_17783) ->
    412   h_wr_call s0 tr s' depth __ trace __ x_17783
     410      s' trace x_17950)
     411| Wr_call (s0, tr, s', depth, trace, x_17952) ->
     412  h_wr_call s0 tr s' depth __ trace __ x_17952
    413413    (will_return_rect_Type0 ge h_wr_step h_wr_call h_wr_ret h_wr_base (Nat.S
    414       depth) s' trace x_17783)
    415 | Wr_ret (s0, tr, s', depth, trace, x_17785) ->
    416   h_wr_ret s0 tr s' depth __ trace __ x_17785
     414      depth) s' trace x_17952)
     415| Wr_ret (s0, tr, s', depth, trace, x_17954) ->
     416  h_wr_ret s0 tr s' depth __ trace __ x_17954
    417417    (will_return_rect_Type0 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    418       s' trace x_17785)
     418      s' trace x_17954)
    419419| Wr_base (s0, tr, s', trace) -> h_wr_base s0 tr s' __ trace __
    420420
     
    839839    (IO.io_out, IO.io_in) flat_trace -> __ -> 'a1 -> __ -> __ -> 'a2) -> 'a1
    840840    trace_result -> 'a2 **)
    841 let rec trace_result_rect_Type4 ge depth ends start full original_terminates limit h_mk_trace_result x_18320 =
     841let rec trace_result_rect_Type4 ge depth ends start full original_terminates limit h_mk_trace_result x_18489 =
    842842  let { new_state = new_state0; remainder = remainder0; new_trace =
    843     new_trace0; terminates = terminates0 } = x_18320
     843    new_trace0; terminates = terminates0 } = x_18489
    844844  in
    845845  h_mk_trace_result new_state0 remainder0 __ new_trace0 __ terminates0
     
    851851    (IO.io_out, IO.io_in) flat_trace -> __ -> 'a1 -> __ -> __ -> 'a2) -> 'a1
    852852    trace_result -> 'a2 **)
    853 let rec trace_result_rect_Type5 ge depth ends start full original_terminates limit h_mk_trace_result x_18322 =
     853let rec trace_result_rect_Type5 ge depth ends start full original_terminates limit h_mk_trace_result x_18491 =
    854854  let { new_state = new_state0; remainder = remainder0; new_trace =
    855     new_trace0; terminates = terminates0 } = x_18322
     855    new_trace0; terminates = terminates0 } = x_18491
    856856  in
    857857  h_mk_trace_result new_state0 remainder0 __ new_trace0 __ terminates0
     
    863863    (IO.io_out, IO.io_in) flat_trace -> __ -> 'a1 -> __ -> __ -> 'a2) -> 'a1
    864864    trace_result -> 'a2 **)
    865 let rec trace_result_rect_Type3 ge depth ends start full original_terminates limit h_mk_trace_result x_18324 =
     865let rec trace_result_rect_Type3 ge depth ends start full original_terminates limit h_mk_trace_result x_18493 =
    866866  let { new_state = new_state0; remainder = remainder0; new_trace =
    867     new_trace0; terminates = terminates0 } = x_18324
     867    new_trace0; terminates = terminates0 } = x_18493
    868868  in
    869869  h_mk_trace_result new_state0 remainder0 __ new_trace0 __ terminates0
     
    875875    (IO.io_out, IO.io_in) flat_trace -> __ -> 'a1 -> __ -> __ -> 'a2) -> 'a1
    876876    trace_result -> 'a2 **)
    877 let rec trace_result_rect_Type2 ge depth ends start full original_terminates limit h_mk_trace_result x_18326 =
     877let rec trace_result_rect_Type2 ge depth ends start full original_terminates limit h_mk_trace_result x_18495 =
    878878  let { new_state = new_state0; remainder = remainder0; new_trace =
    879     new_trace0; terminates = terminates0 } = x_18326
     879    new_trace0; terminates = terminates0 } = x_18495
    880880  in
    881881  h_mk_trace_result new_state0 remainder0 __ new_trace0 __ terminates0
     
    887887    (IO.io_out, IO.io_in) flat_trace -> __ -> 'a1 -> __ -> __ -> 'a2) -> 'a1
    888888    trace_result -> 'a2 **)
    889 let rec trace_result_rect_Type1 ge depth ends start full original_terminates limit h_mk_trace_result x_18328 =
     889let rec trace_result_rect_Type1 ge depth ends start full original_terminates limit h_mk_trace_result x_18497 =
    890890  let { new_state = new_state0; remainder = remainder0; new_trace =
    891     new_trace0; terminates = terminates0 } = x_18328
     891    new_trace0; terminates = terminates0 } = x_18497
    892892  in
    893893  h_mk_trace_result new_state0 remainder0 __ new_trace0 __ terminates0
     
    899899    (IO.io_out, IO.io_in) flat_trace -> __ -> 'a1 -> __ -> __ -> 'a2) -> 'a1
    900900    trace_result -> 'a2 **)
    901 let rec trace_result_rect_Type0 ge depth ends start full original_terminates limit h_mk_trace_result x_18330 =
     901let rec trace_result_rect_Type0 ge depth ends start full original_terminates limit h_mk_trace_result x_18499 =
    902902  let { new_state = new_state0; remainder = remainder0; new_trace =
    903     new_trace0; terminates = terminates0 } = x_18330
     903    new_trace0; terminates = terminates0 } = x_18499
    904904  in
    905905  h_mk_trace_result new_state0 remainder0 __ new_trace0 __ terminates0
     
    999999    (StructuredTraces.trace_ends_with_ret -> 'a1 trace_result -> 'a2) -> 'a1
    10001000    sub_trace_result -> 'a2 **)
    1001 let rec sub_trace_result_rect_Type4 ge depth start full original_terminates limit h_mk_sub_trace_result x_18348 =
    1002   let { ends = ends0; trace_res = trace_res0 } = x_18348 in
     1001let rec sub_trace_result_rect_Type4 ge depth start full original_terminates limit h_mk_sub_trace_result x_18517 =
     1002  let { ends = ends0; trace_res = trace_res0 } = x_18517 in
    10031003  h_mk_sub_trace_result ends0 trace_res0
    10041004
     
    10081008    (StructuredTraces.trace_ends_with_ret -> 'a1 trace_result -> 'a2) -> 'a1
    10091009    sub_trace_result -> 'a2 **)
    1010 let rec sub_trace_result_rect_Type5 ge depth start full original_terminates limit h_mk_sub_trace_result x_18350 =
    1011   let { ends = ends0; trace_res = trace_res0 } = x_18350 in
     1010let rec sub_trace_result_rect_Type5 ge depth start full original_terminates limit h_mk_sub_trace_result x_18519 =
     1011  let { ends = ends0; trace_res = trace_res0 } = x_18519 in
    10121012  h_mk_sub_trace_result ends0 trace_res0
    10131013
     
    10171017    (StructuredTraces.trace_ends_with_ret -> 'a1 trace_result -> 'a2) -> 'a1
    10181018    sub_trace_result -> 'a2 **)
    1019 let rec sub_trace_result_rect_Type3 ge depth start full original_terminates limit h_mk_sub_trace_result x_18352 =
    1020   let { ends = ends0; trace_res = trace_res0 } = x_18352 in
     1019let rec sub_trace_result_rect_Type3 ge depth start full original_terminates limit h_mk_sub_trace_result x_18521 =
     1020  let { ends = ends0; trace_res = trace_res0 } = x_18521 in
    10211021  h_mk_sub_trace_result ends0 trace_res0
    10221022
     
    10261026    (StructuredTraces.trace_ends_with_ret -> 'a1 trace_result -> 'a2) -> 'a1
    10271027    sub_trace_result -> 'a2 **)
    1028 let rec sub_trace_result_rect_Type2 ge depth start full original_terminates limit h_mk_sub_trace_result x_18354 =
    1029   let { ends = ends0; trace_res = trace_res0 } = x_18354 in
     1028let rec sub_trace_result_rect_Type2 ge depth start full original_terminates limit h_mk_sub_trace_result x_18523 =
     1029  let { ends = ends0; trace_res = trace_res0 } = x_18523 in
    10301030  h_mk_sub_trace_result ends0 trace_res0
    10311031
     
    10351035    (StructuredTraces.trace_ends_with_ret -> 'a1 trace_result -> 'a2) -> 'a1
    10361036    sub_trace_result -> 'a2 **)
    1037 let rec sub_trace_result_rect_Type1 ge depth start full original_terminates limit h_mk_sub_trace_result x_18356 =
    1038   let { ends = ends0; trace_res = trace_res0 } = x_18356 in
     1037let rec sub_trace_result_rect_Type1 ge depth start full original_terminates limit h_mk_sub_trace_result x_18525 =
     1038  let { ends = ends0; trace_res = trace_res0 } = x_18525 in
    10391039  h_mk_sub_trace_result ends0 trace_res0
    10401040
     
    10441044    (StructuredTraces.trace_ends_with_ret -> 'a1 trace_result -> 'a2) -> 'a1
    10451045    sub_trace_result -> 'a2 **)
    1046 let rec sub_trace_result_rect_Type0 ge depth start full original_terminates limit h_mk_sub_trace_result x_18358 =
    1047   let { ends = ends0; trace_res = trace_res0 } = x_18358 in
     1046let rec sub_trace_result_rect_Type0 ge depth start full original_terminates limit h_mk_sub_trace_result x_18527 =
     1047  let { ends = ends0; trace_res = trace_res0 } = x_18527 in
    10481048  h_mk_sub_trace_result ends0 trace_res0
    10491049
     
    15581558    ('a1, 'a2) partial_flat_trace -> 'a3 -> 'a3) -> RTLabs_semantics.state ->
    15591559    RTLabs_semantics.state -> ('a1, 'a2) partial_flat_trace -> 'a3 **)
    1560 let rec partial_flat_trace_rect_Type4 ge h_pft_base h_pft_step x_18693 x_18692 = function
     1560let rec partial_flat_trace_rect_Type4 ge h_pft_base h_pft_step x_18862 x_18861 = function
    15611561| Pft_base (s, tr, s') -> h_pft_base s tr s' __
    1562 | Pft_step (s, tr, s', s'', x_18696) ->
    1563   h_pft_step s tr s' s'' __ x_18696
    1564     (partial_flat_trace_rect_Type4 ge h_pft_base h_pft_step s' s'' x_18696)
     1562| Pft_step (s, tr, s', s'', x_18865) ->
     1563  h_pft_step s tr s' s'' __ x_18865
     1564    (partial_flat_trace_rect_Type4 ge h_pft_base h_pft_step s' s'' x_18865)
    15651565
    15661566(** val partial_flat_trace_rect_Type3 :
     
    15701570    ('a1, 'a2) partial_flat_trace -> 'a3 -> 'a3) -> RTLabs_semantics.state ->
    15711571    RTLabs_semantics.state -> ('a1, 'a2) partial_flat_trace -> 'a3 **)
    1572 let rec partial_flat_trace_rect_Type3 ge h_pft_base h_pft_step x_18709 x_18708 = function
     1572let rec partial_flat_trace_rect_Type3 ge h_pft_base h_pft_step x_18878 x_18877 = function
    15731573| Pft_base (s, tr, s') -> h_pft_base s tr s' __
    1574 | Pft_step (s, tr, s', s'', x_18712) ->
    1575   h_pft_step s tr s' s'' __ x_18712
    1576     (partial_flat_trace_rect_Type3 ge h_pft_base h_pft_step s' s'' x_18712)
     1574| Pft_step (s, tr, s', s'', x_18881) ->
     1575  h_pft_step s tr s' s'' __ x_18881
     1576    (partial_flat_trace_rect_Type3 ge h_pft_base h_pft_step s' s'' x_18881)
    15771577
    15781578(** val partial_flat_trace_rect_Type2 :