Changeset 2775


Ignore:
Timestamp:
Mar 5, 2013, 9:52:39 PM (6 years ago)
Author:
sacerdot
Message:

The compiler now computes also the stack cost model.

Location:
extracted
Files:
61 edited

Legend:

Unmodified
Added
Removed
  • extracted/aSM.ml

    r2773 r2775  
    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_17106 -> h_DIRECT x_17106
    116 | INDIRECT x_17107 -> h_INDIRECT x_17107
    117 | EXT_INDIRECT x_17108 -> h_EXT_INDIRECT x_17108
    118 | REGISTER x_17109 -> h_REGISTER x_17109
     115| DIRECT x_21846 -> h_DIRECT x_21846
     116| INDIRECT x_21847 -> h_INDIRECT x_21847
     117| EXT_INDIRECT x_21848 -> h_EXT_INDIRECT x_21848
     118| REGISTER x_21849 -> h_REGISTER x_21849
    119119| ACC_A -> h_ACC_A
    120120| ACC_B -> h_ACC_B
    121121| DPTR -> h_DPTR
    122 | DATA x_17110 -> h_DATA x_17110
    123 | DATA16 x_17111 -> h_DATA16 x_17111
     122| DATA x_21850 -> h_DATA x_21850
     123| DATA16 x_21851 -> h_DATA16 x_21851
    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_17112 -> h_BIT_ADDR x_17112
    130 | N_BIT_ADDR x_17113 -> h_N_BIT_ADDR x_17113
    131 | RELATIVE x_17114 -> h_RELATIVE x_17114
    132 | ADDR11 x_17115 -> h_ADDR11 x_17115
    133 | ADDR16 x_17116 -> h_ADDR16 x_17116
     129| BIT_ADDR x_21852 -> h_BIT_ADDR x_21852
     130| N_BIT_ADDR x_21853 -> h_N_BIT_ADDR x_21853
     131| RELATIVE x_21854 -> h_RELATIVE x_21854
     132| ADDR11 x_21855 -> h_ADDR11 x_21855
     133| ADDR16 x_21856 -> h_ADDR16 x_21856
    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_17137 -> h_DIRECT x_17137
    144 | INDIRECT x_17138 -> h_INDIRECT x_17138
    145 | EXT_INDIRECT x_17139 -> h_EXT_INDIRECT x_17139
    146 | REGISTER x_17140 -> h_REGISTER x_17140
     143| DIRECT x_21877 -> h_DIRECT x_21877
     144| INDIRECT x_21878 -> h_INDIRECT x_21878
     145| EXT_INDIRECT x_21879 -> h_EXT_INDIRECT x_21879
     146| REGISTER x_21880 -> h_REGISTER x_21880
    147147| ACC_A -> h_ACC_A
    148148| ACC_B -> h_ACC_B
    149149| DPTR -> h_DPTR
    150 | DATA x_17141 -> h_DATA x_17141
    151 | DATA16 x_17142 -> h_DATA16 x_17142
     150| DATA x_21881 -> h_DATA x_21881
     151| DATA16 x_21882 -> h_DATA16 x_21882
    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_17143 -> h_BIT_ADDR x_17143
    158 | N_BIT_ADDR x_17144 -> h_N_BIT_ADDR x_17144
    159 | RELATIVE x_17145 -> h_RELATIVE x_17145
    160 | ADDR11 x_17146 -> h_ADDR11 x_17146
    161 | ADDR16 x_17147 -> h_ADDR16 x_17147
     157| BIT_ADDR x_21883 -> h_BIT_ADDR x_21883
     158| N_BIT_ADDR x_21884 -> h_N_BIT_ADDR x_21884
     159| RELATIVE x_21885 -> h_RELATIVE x_21885
     160| ADDR11 x_21886 -> h_ADDR11 x_21886
     161| ADDR16 x_21887 -> h_ADDR16 x_21887
    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_17168 -> h_DIRECT x_17168
    172 | INDIRECT x_17169 -> h_INDIRECT x_17169
    173 | EXT_INDIRECT x_17170 -> h_EXT_INDIRECT x_17170
    174 | REGISTER x_17171 -> h_REGISTER x_17171
     171| DIRECT x_21908 -> h_DIRECT x_21908
     172| INDIRECT x_21909 -> h_INDIRECT x_21909
     173| EXT_INDIRECT x_21910 -> h_EXT_INDIRECT x_21910
     174| REGISTER x_21911 -> h_REGISTER x_21911
    175175| ACC_A -> h_ACC_A
    176176| ACC_B -> h_ACC_B
    177177| DPTR -> h_DPTR
    178 | DATA x_17172 -> h_DATA x_17172
    179 | DATA16 x_17173 -> h_DATA16 x_17173
     178| DATA x_21912 -> h_DATA x_21912
     179| DATA16 x_21913 -> h_DATA16 x_21913
    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_17174 -> h_BIT_ADDR x_17174
    186 | N_BIT_ADDR x_17175 -> h_N_BIT_ADDR x_17175
    187 | RELATIVE x_17176 -> h_RELATIVE x_17176
    188 | ADDR11 x_17177 -> h_ADDR11 x_17177
    189 | ADDR16 x_17178 -> h_ADDR16 x_17178
     185| BIT_ADDR x_21914 -> h_BIT_ADDR x_21914
     186| N_BIT_ADDR x_21915 -> h_N_BIT_ADDR x_21915
     187| RELATIVE x_21916 -> h_RELATIVE x_21916
     188| ADDR11 x_21917 -> h_ADDR11 x_21917
     189| ADDR16 x_21918 -> h_ADDR16 x_21918
    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_17199 -> h_DIRECT x_17199
    200 | INDIRECT x_17200 -> h_INDIRECT x_17200
    201 | EXT_INDIRECT x_17201 -> h_EXT_INDIRECT x_17201
    202 | REGISTER x_17202 -> h_REGISTER x_17202
     199| DIRECT x_21939 -> h_DIRECT x_21939
     200| INDIRECT x_21940 -> h_INDIRECT x_21940
     201| EXT_INDIRECT x_21941 -> h_EXT_INDIRECT x_21941
     202| REGISTER x_21942 -> h_REGISTER x_21942
    203203| ACC_A -> h_ACC_A
    204204| ACC_B -> h_ACC_B
    205205| DPTR -> h_DPTR
    206 | DATA x_17203 -> h_DATA x_17203
    207 | DATA16 x_17204 -> h_DATA16 x_17204
     206| DATA x_21943 -> h_DATA x_21943
     207| DATA16 x_21944 -> h_DATA16 x_21944
    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_17205 -> h_BIT_ADDR x_17205
    214 | N_BIT_ADDR x_17206 -> h_N_BIT_ADDR x_17206
    215 | RELATIVE x_17207 -> h_RELATIVE x_17207
    216 | ADDR11 x_17208 -> h_ADDR11 x_17208
    217 | ADDR16 x_17209 -> h_ADDR16 x_17209
     213| BIT_ADDR x_21945 -> h_BIT_ADDR x_21945
     214| N_BIT_ADDR x_21946 -> h_N_BIT_ADDR x_21946
     215| RELATIVE x_21947 -> h_RELATIVE x_21947
     216| ADDR11 x_21948 -> h_ADDR11 x_21948
     217| ADDR16 x_21949 -> h_ADDR16 x_21949
    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_17230 -> h_DIRECT x_17230
    228 | INDIRECT x_17231 -> h_INDIRECT x_17231
    229 | EXT_INDIRECT x_17232 -> h_EXT_INDIRECT x_17232
    230 | REGISTER x_17233 -> h_REGISTER x_17233
     227| DIRECT x_21970 -> h_DIRECT x_21970
     228| INDIRECT x_21971 -> h_INDIRECT x_21971
     229| EXT_INDIRECT x_21972 -> h_EXT_INDIRECT x_21972
     230| REGISTER x_21973 -> h_REGISTER x_21973
    231231| ACC_A -> h_ACC_A
    232232| ACC_B -> h_ACC_B
    233233| DPTR -> h_DPTR
    234 | DATA x_17234 -> h_DATA x_17234
    235 | DATA16 x_17235 -> h_DATA16 x_17235
     234| DATA x_21974 -> h_DATA x_21974
     235| DATA16 x_21975 -> h_DATA16 x_21975
    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_17236 -> h_BIT_ADDR x_17236
    242 | N_BIT_ADDR x_17237 -> h_N_BIT_ADDR x_17237
    243 | RELATIVE x_17238 -> h_RELATIVE x_17238
    244 | ADDR11 x_17239 -> h_ADDR11 x_17239
    245 | ADDR16 x_17240 -> h_ADDR16 x_17240
     241| BIT_ADDR x_21976 -> h_BIT_ADDR x_21976
     242| N_BIT_ADDR x_21977 -> h_N_BIT_ADDR x_21977
     243| RELATIVE x_21978 -> h_RELATIVE x_21978
     244| ADDR11 x_21979 -> h_ADDR11 x_21979
     245| ADDR16 x_21980 -> h_ADDR16 x_21980
    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_17261 -> h_DIRECT x_17261
    256 | INDIRECT x_17262 -> h_INDIRECT x_17262
    257 | EXT_INDIRECT x_17263 -> h_EXT_INDIRECT x_17263
    258 | REGISTER x_17264 -> h_REGISTER x_17264
     255| DIRECT x_22001 -> h_DIRECT x_22001
     256| INDIRECT x_22002 -> h_INDIRECT x_22002
     257| EXT_INDIRECT x_22003 -> h_EXT_INDIRECT x_22003
     258| REGISTER x_22004 -> h_REGISTER x_22004
    259259| ACC_A -> h_ACC_A
    260260| ACC_B -> h_ACC_B
    261261| DPTR -> h_DPTR
    262 | DATA x_17265 -> h_DATA x_17265
    263 | DATA16 x_17266 -> h_DATA16 x_17266
     262| DATA x_22005 -> h_DATA x_22005
     263| DATA16 x_22006 -> h_DATA16 x_22006
    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_17267 -> h_BIT_ADDR x_17267
    270 | N_BIT_ADDR x_17268 -> h_N_BIT_ADDR x_17268
    271 | RELATIVE x_17269 -> h_RELATIVE x_17269
    272 | ADDR11 x_17270 -> h_ADDR11 x_17270
    273 | ADDR16 x_17271 -> h_ADDR16 x_17271
     269| BIT_ADDR x_22007 -> h_BIT_ADDR x_22007
     270| N_BIT_ADDR x_22008 -> h_N_BIT_ADDR x_22008
     271| RELATIVE x_22009 -> h_RELATIVE x_22009
     272| ADDR11 x_22010 -> h_ADDR11 x_22010
     273| ADDR16 x_22011 -> h_ADDR16 x_22011
    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_17739 =
    1929   let subaddressing_modeel = x_17739 in
     1928let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_22479 =
     1929  let subaddressing_modeel = x_22479 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_17741 =
    1936   let subaddressing_modeel = x_17741 in
     1935let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_22481 =
     1936  let subaddressing_modeel = x_22481 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_17743 =
    1943   let subaddressing_modeel = x_17743 in
     1942let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_22483 =
     1943  let subaddressing_modeel = x_22483 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_17745 =
    1950   let subaddressing_modeel = x_17745 in
     1949let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_22485 =
     1950  let subaddressing_modeel = x_22485 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_17747 =
    1957   let subaddressing_modeel = x_17747 in
     1956let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_22487 =
     1957  let subaddressing_modeel = x_22487 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_17749 =
    1964   let subaddressing_modeel = x_17749 in
     1963let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_22489 =
     1964  let subaddressing_modeel = x_22489 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_17851, x_17850) -> h_ADD x_17851 x_17850
    2291 | ADDC (x_17853, x_17852) -> h_ADDC x_17853 x_17852
    2292 | SUBB (x_17855, x_17854) -> h_SUBB x_17855 x_17854
    2293 | INC x_17856 -> h_INC x_17856
    2294 | DEC x_17857 -> h_DEC x_17857
    2295 | MUL (x_17859, x_17858) -> h_MUL x_17859 x_17858
    2296 | DIV (x_17861, x_17860) -> h_DIV x_17861 x_17860
    2297 | DA x_17862 -> h_DA x_17862
    2298 | JC x_17863 -> h_JC x_17863
    2299 | JNC x_17864 -> h_JNC x_17864
    2300 | JB (x_17866, x_17865) -> h_JB x_17866 x_17865
    2301 | JNB (x_17868, x_17867) -> h_JNB x_17868 x_17867
    2302 | JBC (x_17870, x_17869) -> h_JBC x_17870 x_17869
    2303 | JZ x_17871 -> h_JZ x_17871
    2304 | JNZ x_17872 -> h_JNZ x_17872
    2305 | CJNE (x_17874, x_17873) -> h_CJNE x_17874 x_17873
    2306 | DJNZ (x_17876, x_17875) -> h_DJNZ x_17876 x_17875
    2307 | ANL x_17877 -> h_ANL x_17877
    2308 | ORL x_17878 -> h_ORL x_17878
    2309 | XRL x_17879 -> h_XRL x_17879
    2310 | CLR x_17880 -> h_CLR x_17880
    2311 | CPL x_17881 -> h_CPL x_17881
    2312 | RL x_17882 -> h_RL x_17882
    2313 | RLC x_17883 -> h_RLC x_17883
    2314 | RR x_17884 -> h_RR x_17884
    2315 | RRC x_17885 -> h_RRC x_17885
    2316 | SWAP x_17886 -> h_SWAP x_17886
    2317 | MOV x_17887 -> h_MOV x_17887
    2318 | MOVX x_17888 -> h_MOVX x_17888
    2319 | SETB x_17889 -> h_SETB x_17889
    2320 | PUSH x_17890 -> h_PUSH x_17890
    2321 | POP x_17891 -> h_POP x_17891
    2322 | XCH (x_17893, x_17892) -> h_XCH x_17893 x_17892
    2323 | XCHD (x_17895, x_17894) -> h_XCHD x_17895 x_17894
     2290| ADD (x_22591, x_22590) -> h_ADD x_22591 x_22590
     2291| ADDC (x_22593, x_22592) -> h_ADDC x_22593 x_22592
     2292| SUBB (x_22595, x_22594) -> h_SUBB x_22595 x_22594
     2293| INC x_22596 -> h_INC x_22596
     2294| DEC x_22597 -> h_DEC x_22597
     2295| MUL (x_22599, x_22598) -> h_MUL x_22599 x_22598
     2296| DIV (x_22601, x_22600) -> h_DIV x_22601 x_22600
     2297| DA x_22602 -> h_DA x_22602
     2298| JC x_22603 -> h_JC x_22603
     2299| JNC x_22604 -> h_JNC x_22604
     2300| JB (x_22606, x_22605) -> h_JB x_22606 x_22605
     2301| JNB (x_22608, x_22607) -> h_JNB x_22608 x_22607
     2302| JBC (x_22610, x_22609) -> h_JBC x_22610 x_22609
     2303| JZ x_22611 -> h_JZ x_22611
     2304| JNZ x_22612 -> h_JNZ x_22612
     2305| CJNE (x_22614, x_22613) -> h_CJNE x_22614 x_22613
     2306| DJNZ (x_22616, x_22615) -> h_DJNZ x_22616 x_22615
     2307| ANL x_22617 -> h_ANL x_22617
     2308| ORL x_22618 -> h_ORL x_22618
     2309| XRL x_22619 -> h_XRL x_22619
     2310| CLR x_22620 -> h_CLR x_22620
     2311| CPL x_22621 -> h_CPL x_22621
     2312| RL x_22622 -> h_RL x_22622
     2313| RLC x_22623 -> h_RLC x_22623
     2314| RR x_22624 -> h_RR x_22624
     2315| RRC x_22625 -> h_RRC x_22625
     2316| SWAP x_22626 -> h_SWAP x_22626
     2317| MOV x_22627 -> h_MOV x_22627
     2318| MOVX x_22628 -> h_MOVX x_22628
     2319| SETB x_22629 -> h_SETB x_22629
     2320| PUSH x_22630 -> h_PUSH x_22630
     2321| POP x_22631 -> h_POP x_22631
     2322| XCH (x_22633, x_22632) -> h_XCH x_22633 x_22632
     2323| XCHD (x_22635, x_22634) -> h_XCHD x_22635 x_22634
    23242324| RET -> h_RET
    23252325| RETI -> h_RETI
    23262326| NOP -> h_NOP
    2327 | JMP x_17896 -> h_JMP x_17896
     2327| JMP x_22636 -> h_JMP x_22636
    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_17937, x_17936) -> h_ADD x_17937 x_17936
    2366 | ADDC (x_17939, x_17938) -> h_ADDC x_17939 x_17938
    2367 | SUBB (x_17941, x_17940) -> h_SUBB x_17941 x_17940
    2368 | INC x_17942 -> h_INC x_17942
    2369 | DEC x_17943 -> h_DEC x_17943
    2370 | MUL (x_17945, x_17944) -> h_MUL x_17945 x_17944
    2371 | DIV (x_17947, x_17946) -> h_DIV x_17947 x_17946
    2372 | DA x_17948 -> h_DA x_17948
    2373 | JC x_17949 -> h_JC x_17949
    2374 | JNC x_17950 -> h_JNC x_17950
    2375 | JB (x_17952, x_17951) -> h_JB x_17952 x_17951
    2376 | JNB (x_17954, x_17953) -> h_JNB x_17954 x_17953
    2377 | JBC (x_17956, x_17955) -> h_JBC x_17956 x_17955
    2378 | JZ x_17957 -> h_JZ x_17957
    2379 | JNZ x_17958 -> h_JNZ x_17958
    2380 | CJNE (x_17960, x_17959) -> h_CJNE x_17960 x_17959
    2381 | DJNZ (x_17962, x_17961) -> h_DJNZ x_17962 x_17961
    2382 | ANL x_17963 -> h_ANL x_17963
    2383 | ORL x_17964 -> h_ORL x_17964
    2384 | XRL x_17965 -> h_XRL x_17965
    2385 | CLR x_17966 -> h_CLR x_17966
    2386 | CPL x_17967 -> h_CPL x_17967
    2387 | RL x_17968 -> h_RL x_17968
    2388 | RLC x_17969 -> h_RLC x_17969
    2389 | RR x_17970 -> h_RR x_17970
    2390 | RRC x_17971 -> h_RRC x_17971
    2391 | SWAP x_17972 -> h_SWAP x_17972
    2392 | MOV x_17973 -> h_MOV x_17973
    2393 | MOVX x_17974 -> h_MOVX x_17974
    2394 | SETB x_17975 -> h_SETB x_17975
    2395 | PUSH x_17976 -> h_PUSH x_17976
    2396 | POP x_17977 -> h_POP x_17977
    2397 | XCH (x_17979, x_17978) -> h_XCH x_17979 x_17978
    2398 | XCHD (x_17981, x_17980) -> h_XCHD x_17981 x_17980
     2365| ADD (x_22677, x_22676) -> h_ADD x_22677 x_22676
     2366| ADDC (x_22679, x_22678) -> h_ADDC x_22679 x_22678
     2367| SUBB (x_22681, x_22680) -> h_SUBB x_22681 x_22680
     2368| INC x_22682 -> h_INC x_22682
     2369| DEC x_22683 -> h_DEC x_22683
     2370| MUL (x_22685, x_22684) -> h_MUL x_22685 x_22684
     2371| DIV (x_22687, x_22686) -> h_DIV x_22687 x_22686
     2372| DA x_22688 -> h_DA x_22688
     2373| JC x_22689 -> h_JC x_22689
     2374| JNC x_22690 -> h_JNC x_22690
     2375| JB (x_22692, x_22691) -> h_JB x_22692 x_22691
     2376| JNB (x_22694, x_22693) -> h_JNB x_22694 x_22693
     2377| JBC (x_22696, x_22695) -> h_JBC x_22696 x_22695
     2378| JZ x_22697 -> h_JZ x_22697
     2379| JNZ x_22698 -> h_JNZ x_22698
     2380| CJNE (x_22700, x_22699) -> h_CJNE x_22700 x_22699
     2381| DJNZ (x_22702, x_22701) -> h_DJNZ x_22702 x_22701
     2382| ANL x_22703 -> h_ANL x_22703
     2383| ORL x_22704 -> h_ORL x_22704
     2384| XRL x_22705 -> h_XRL x_22705
     2385| CLR x_22706 -> h_CLR x_22706
     2386| CPL x_22707 -> h_CPL x_22707
     2387| RL x_22708 -> h_RL x_22708
     2388| RLC x_22709 -> h_RLC x_22709
     2389| RR x_22710 -> h_RR x_22710
     2390| RRC x_22711 -> h_RRC x_22711
     2391| SWAP x_22712 -> h_SWAP x_22712
     2392| MOV x_22713 -> h_MOV x_22713
     2393| MOVX x_22714 -> h_MOVX x_22714
     2394| SETB x_22715 -> h_SETB x_22715
     2395| PUSH x_22716 -> h_PUSH x_22716
     2396| POP x_22717 -> h_POP x_22717
     2397| XCH (x_22719, x_22718) -> h_XCH x_22719 x_22718
     2398| XCHD (x_22721, x_22720) -> h_XCHD x_22721 x_22720
    23992399| RET -> h_RET
    24002400| RETI -> h_RETI
    24012401| NOP -> h_NOP
    2402 | JMP x_17982 -> h_JMP x_17982
     2402| JMP x_22722 -> h_JMP x_22722
    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_18023, x_18022) -> h_ADD x_18023 x_18022
    2441 | ADDC (x_18025, x_18024) -> h_ADDC x_18025 x_18024
    2442 | SUBB (x_18027, x_18026) -> h_SUBB x_18027 x_18026
    2443 | INC x_18028 -> h_INC x_18028
    2444 | DEC x_18029 -> h_DEC x_18029
    2445 | MUL (x_18031, x_18030) -> h_MUL x_18031 x_18030
    2446 | DIV (x_18033, x_18032) -> h_DIV x_18033 x_18032
    2447 | DA x_18034 -> h_DA x_18034
    2448 | JC x_18035 -> h_JC x_18035
    2449 | JNC x_18036 -> h_JNC x_18036
    2450 | JB (x_18038, x_18037) -> h_JB x_18038 x_18037
    2451 | JNB (x_18040, x_18039) -> h_JNB x_18040 x_18039
    2452 | JBC (x_18042, x_18041) -> h_JBC x_18042 x_18041
    2453 | JZ x_18043 -> h_JZ x_18043
    2454 | JNZ x_18044 -> h_JNZ x_18044
    2455 | CJNE (x_18046, x_18045) -> h_CJNE x_18046 x_18045
    2456 | DJNZ (x_18048, x_18047) -> h_DJNZ x_18048 x_18047
    2457 | ANL x_18049 -> h_ANL x_18049
    2458 | ORL x_18050 -> h_ORL x_18050
    2459 | XRL x_18051 -> h_XRL x_18051
    2460 | CLR x_18052 -> h_CLR x_18052
    2461 | CPL x_18053 -> h_CPL x_18053
    2462 | RL x_18054 -> h_RL x_18054
    2463 | RLC x_18055 -> h_RLC x_18055
    2464 | RR x_18056 -> h_RR x_18056
    2465 | RRC x_18057 -> h_RRC x_18057
    2466 | SWAP x_18058 -> h_SWAP x_18058
    2467 | MOV x_18059 -> h_MOV x_18059
    2468 | MOVX x_18060 -> h_MOVX x_18060
    2469 | SETB x_18061 -> h_SETB x_18061
    2470 | PUSH x_18062 -> h_PUSH x_18062
    2471 | POP x_18063 -> h_POP x_18063
    2472 | XCH (x_18065, x_18064) -> h_XCH x_18065 x_18064
    2473 | XCHD (x_18067, x_18066) -> h_XCHD x_18067 x_18066
     2440| ADD (x_22763, x_22762) -> h_ADD x_22763 x_22762
     2441| ADDC (x_22765, x_22764) -> h_ADDC x_22765 x_22764
     2442| SUBB (x_22767, x_22766) -> h_SUBB x_22767 x_22766
     2443| INC x_22768 -> h_INC x_22768
     2444| DEC x_22769 -> h_DEC x_22769
     2445| MUL (x_22771, x_22770) -> h_MUL x_22771 x_22770
     2446| DIV (x_22773, x_22772) -> h_DIV x_22773 x_22772
     2447| DA x_22774 -> h_DA x_22774
     2448| JC x_22775 -> h_JC x_22775
     2449| JNC x_22776 -> h_JNC x_22776
     2450| JB (x_22778, x_22777) -> h_JB x_22778 x_22777
     2451| JNB (x_22780, x_22779) -> h_JNB x_22780 x_22779
     2452| JBC (x_22782, x_22781) -> h_JBC x_22782 x_22781
     2453| JZ x_22783 -> h_JZ x_22783
     2454| JNZ x_22784 -> h_JNZ x_22784
     2455| CJNE (x_22786, x_22785) -> h_CJNE x_22786 x_22785
     2456| DJNZ (x_22788, x_22787) -> h_DJNZ x_22788 x_22787
     2457| ANL x_22789 -> h_ANL x_22789
     2458| ORL x_22790 -> h_ORL x_22790
     2459| XRL x_22791 -> h_XRL x_22791
     2460| CLR x_22792 -> h_CLR x_22792
     2461| CPL x_22793 -> h_CPL x_22793
     2462| RL x_22794 -> h_RL x_22794
     2463| RLC x_22795 -> h_RLC x_22795
     2464| RR x_22796 -> h_RR x_22796
     2465| RRC x_22797 -> h_RRC x_22797
     2466| SWAP x_22798 -> h_SWAP x_22798
     2467| MOV x_22799 -> h_MOV x_22799
     2468| MOVX x_22800 -> h_MOVX x_22800
     2469| SETB x_22801 -> h_SETB x_22801
     2470| PUSH x_22802 -> h_PUSH x_22802
     2471| POP x_22803 -> h_POP x_22803
     2472| XCH (x_22805, x_22804) -> h_XCH x_22805 x_22804
     2473| XCHD (x_22807, x_22806) -> h_XCHD x_22807 x_22806
    24742474| RET -> h_RET
    24752475| RETI -> h_RETI
    24762476| NOP -> h_NOP
    2477 | JMP x_18068 -> h_JMP x_18068
     2477| JMP x_22808 -> h_JMP x_22808
    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_18109, x_18108) -> h_ADD x_18109 x_18108
    2516 | ADDC (x_18111, x_18110) -> h_ADDC x_18111 x_18110
    2517 | SUBB (x_18113, x_18112) -> h_SUBB x_18113 x_18112
    2518 | INC x_18114 -> h_INC x_18114
    2519 | DEC x_18115 -> h_DEC x_18115
    2520 | MUL (x_18117, x_18116) -> h_MUL x_18117 x_18116
    2521 | DIV (x_18119, x_18118) -> h_DIV x_18119 x_18118
    2522 | DA x_18120 -> h_DA x_18120
    2523 | JC x_18121 -> h_JC x_18121
    2524 | JNC x_18122 -> h_JNC x_18122
    2525 | JB (x_18124, x_18123) -> h_JB x_18124 x_18123
    2526 | JNB (x_18126, x_18125) -> h_JNB x_18126 x_18125
    2527 | JBC (x_18128, x_18127) -> h_JBC x_18128 x_18127
    2528 | JZ x_18129 -> h_JZ x_18129
    2529 | JNZ x_18130 -> h_JNZ x_18130
    2530 | CJNE (x_18132, x_18131) -> h_CJNE x_18132 x_18131
    2531 | DJNZ (x_18134, x_18133) -> h_DJNZ x_18134 x_18133
    2532 | ANL x_18135 -> h_ANL x_18135
    2533 | ORL x_18136 -> h_ORL x_18136
    2534 | XRL x_18137 -> h_XRL x_18137
    2535 | CLR x_18138 -> h_CLR x_18138
    2536 | CPL x_18139 -> h_CPL x_18139
    2537 | RL x_18140 -> h_RL x_18140
    2538 | RLC x_18141 -> h_RLC x_18141
    2539 | RR x_18142 -> h_RR x_18142
    2540 | RRC x_18143 -> h_RRC x_18143
    2541 | SWAP x_18144 -> h_SWAP x_18144
    2542 | MOV x_18145 -> h_MOV x_18145
    2543 | MOVX x_18146 -> h_MOVX x_18146
    2544 | SETB x_18147 -> h_SETB x_18147
    2545 | PUSH x_18148 -> h_PUSH x_18148
    2546 | POP x_18149 -> h_POP x_18149
    2547 | XCH (x_18151, x_18150) -> h_XCH x_18151 x_18150
    2548 | XCHD (x_18153, x_18152) -> h_XCHD x_18153 x_18152
     2515| ADD (x_22849, x_22848) -> h_ADD x_22849 x_22848
     2516| ADDC (x_22851, x_22850) -> h_ADDC x_22851 x_22850
     2517| SUBB (x_22853, x_22852) -> h_SUBB x_22853 x_22852
     2518| INC x_22854 -> h_INC x_22854
     2519| DEC x_22855 -> h_DEC x_22855
     2520| MUL (x_22857, x_22856) -> h_MUL x_22857 x_22856
     2521| DIV (x_22859, x_22858) -> h_DIV x_22859 x_22858
     2522| DA x_22860 -> h_DA x_22860
     2523| JC x_22861 -> h_JC x_22861
     2524| JNC x_22862 -> h_JNC x_22862
     2525| JB (x_22864, x_22863) -> h_JB x_22864 x_22863
     2526| JNB (x_22866, x_22865) -> h_JNB x_22866 x_22865
     2527| JBC (x_22868, x_22867) -> h_JBC x_22868 x_22867
     2528| JZ x_22869 -> h_JZ x_22869
     2529| JNZ x_22870 -> h_JNZ x_22870
     2530| CJNE (x_22872, x_22871) -> h_CJNE x_22872 x_22871
     2531| DJNZ (x_22874, x_22873) -> h_DJNZ x_22874 x_22873
     2532| ANL x_22875 -> h_ANL x_22875
     2533| ORL x_22876 -> h_ORL x_22876
     2534| XRL x_22877 -> h_XRL x_22877
     2535| CLR x_22878 -> h_CLR x_22878
     2536| CPL x_22879 -> h_CPL x_22879
     2537| RL x_22880 -> h_RL x_22880
     2538| RLC x_22881 -> h_RLC x_22881
     2539| RR x_22882 -> h_RR x_22882
     2540| RRC x_22883 -> h_RRC x_22883
     2541| SWAP x_22884 -> h_SWAP x_22884
     2542| MOV x_22885 -> h_MOV x_22885
     2543| MOVX x_22886 -> h_MOVX x_22886
     2544| SETB x_22887 -> h_SETB x_22887
     2545| PUSH x_22888 -> h_PUSH x_22888
     2546| POP x_22889 -> h_POP x_22889
     2547| XCH (x_22891, x_22890) -> h_XCH x_22891 x_22890
     2548| XCHD (x_22893, x_22892) -> h_XCHD x_22893 x_22892
    25492549| RET -> h_RET
    25502550| RETI -> h_RETI
    25512551| NOP -> h_NOP
    2552 | JMP x_18154 -> h_JMP x_18154
     2552| JMP x_22894 -> h_JMP x_22894
    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_18195, x_18194) -> h_ADD x_18195 x_18194
    2591 | ADDC (x_18197, x_18196) -> h_ADDC x_18197 x_18196
    2592 | SUBB (x_18199, x_18198) -> h_SUBB x_18199 x_18198
    2593 | INC x_18200 -> h_INC x_18200
    2594 | DEC x_18201 -> h_DEC x_18201
    2595 | MUL (x_18203, x_18202) -> h_MUL x_18203 x_18202
    2596 | DIV (x_18205, x_18204) -> h_DIV x_18205 x_18204
    2597 | DA x_18206 -> h_DA x_18206
    2598 | JC x_18207 -> h_JC x_18207
    2599 | JNC x_18208 -> h_JNC x_18208
    2600 | JB (x_18210, x_18209) -> h_JB x_18210 x_18209
    2601 | JNB (x_18212, x_18211) -> h_JNB x_18212 x_18211
    2602 | JBC (x_18214, x_18213) -> h_JBC x_18214 x_18213
    2603 | JZ x_18215 -> h_JZ x_18215
    2604 | JNZ x_18216 -> h_JNZ x_18216
    2605 | CJNE (x_18218, x_18217) -> h_CJNE x_18218 x_18217
    2606 | DJNZ (x_18220, x_18219) -> h_DJNZ x_18220 x_18219
    2607 | ANL x_18221 -> h_ANL x_18221
    2608 | ORL x_18222 -> h_ORL x_18222
    2609 | XRL x_18223 -> h_XRL x_18223
    2610 | CLR x_18224 -> h_CLR x_18224
    2611 | CPL x_18225 -> h_CPL x_18225
    2612 | RL x_18226 -> h_RL x_18226
    2613 | RLC x_18227 -> h_RLC x_18227
    2614 | RR x_18228 -> h_RR x_18228
    2615 | RRC x_18229 -> h_RRC x_18229
    2616 | SWAP x_18230 -> h_SWAP x_18230
    2617 | MOV x_18231 -> h_MOV x_18231
    2618 | MOVX x_18232 -> h_MOVX x_18232
    2619 | SETB x_18233 -> h_SETB x_18233
    2620 | PUSH x_18234 -> h_PUSH x_18234
    2621 | POP x_18235 -> h_POP x_18235
    2622 | XCH (x_18237, x_18236) -> h_XCH x_18237 x_18236
    2623 | XCHD (x_18239, x_18238) -> h_XCHD x_18239 x_18238
     2590| ADD (x_22935, x_22934) -> h_ADD x_22935 x_22934
     2591| ADDC (x_22937, x_22936) -> h_ADDC x_22937 x_22936
     2592| SUBB (x_22939, x_22938) -> h_SUBB x_22939 x_22938
     2593| INC x_22940 -> h_INC x_22940
     2594| DEC x_22941 -> h_DEC x_22941
     2595| MUL (x_22943, x_22942) -> h_MUL x_22943 x_22942
     2596| DIV (x_22945, x_22944) -> h_DIV x_22945 x_22944
     2597| DA x_22946 -> h_DA x_22946
     2598| JC x_22947 -> h_JC x_22947
     2599| JNC x_22948 -> h_JNC x_22948
     2600| JB (x_22950, x_22949) -> h_JB x_22950 x_22949
     2601| JNB (x_22952, x_22951) -> h_JNB x_22952 x_22951
     2602| JBC (x_22954, x_22953) -> h_JBC x_22954 x_22953
     2603| JZ x_22955 -> h_JZ x_22955
     2604| JNZ x_22956 -> h_JNZ x_22956
     2605| CJNE (x_22958, x_22957) -> h_CJNE x_22958 x_22957
     2606| DJNZ (x_22960, x_22959) -> h_DJNZ x_22960 x_22959
     2607| ANL x_22961 -> h_ANL x_22961
     2608| ORL x_22962 -> h_ORL x_22962
     2609| XRL x_22963 -> h_XRL x_22963
     2610| CLR x_22964 -> h_CLR x_22964
     2611| CPL x_22965 -> h_CPL x_22965
     2612| RL x_22966 -> h_RL x_22966
     2613| RLC x_22967 -> h_RLC x_22967
     2614| RR x_22968 -> h_RR x_22968
     2615| RRC x_22969 -> h_RRC x_22969
     2616| SWAP x_22970 -> h_SWAP x_22970
     2617| MOV x_22971 -> h_MOV x_22971
     2618| MOVX x_22972 -> h_MOVX x_22972
     2619| SETB x_22973 -> h_SETB x_22973
     2620| PUSH x_22974 -> h_PUSH x_22974
     2621| POP x_22975 -> h_POP x_22975
     2622| XCH (x_22977, x_22976) -> h_XCH x_22977 x_22976
     2623| XCHD (x_22979, x_22978) -> h_XCHD x_22979 x_22978
    26242624| RET -> h_RET
    26252625| RETI -> h_RETI
    26262626| NOP -> h_NOP
    2627 | JMP x_18240 -> h_JMP x_18240
     2627| JMP x_22980 -> h_JMP x_22980
    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_18281, x_18280) -> h_ADD x_18281 x_18280
    2666 | ADDC (x_18283, x_18282) -> h_ADDC x_18283 x_18282
    2667 | SUBB (x_18285, x_18284) -> h_SUBB x_18285 x_18284
    2668 | INC x_18286 -> h_INC x_18286
    2669 | DEC x_18287 -> h_DEC x_18287
    2670 | MUL (x_18289, x_18288) -> h_MUL x_18289 x_18288
    2671 | DIV (x_18291, x_18290) -> h_DIV x_18291 x_18290
    2672 | DA x_18292 -> h_DA x_18292
    2673 | JC x_18293 -> h_JC x_18293
    2674 | JNC x_18294 -> h_JNC x_18294
    2675 | JB (x_18296, x_18295) -> h_JB x_18296 x_18295
    2676 | JNB (x_18298, x_18297) -> h_JNB x_18298 x_18297
    2677 | JBC (x_18300, x_18299) -> h_JBC x_18300 x_18299
    2678 | JZ x_18301 -> h_JZ x_18301
    2679 | JNZ x_18302 -> h_JNZ x_18302
    2680 | CJNE (x_18304, x_18303) -> h_CJNE x_18304 x_18303
    2681 | DJNZ (x_18306, x_18305) -> h_DJNZ x_18306 x_18305
    2682 | ANL x_18307 -> h_ANL x_18307
    2683 | ORL x_18308 -> h_ORL x_18308
    2684 | XRL x_18309 -> h_XRL x_18309
    2685 | CLR x_18310 -> h_CLR x_18310
    2686 | CPL x_18311 -> h_CPL x_18311
    2687 | RL x_18312 -> h_RL x_18312
    2688 | RLC x_18313 -> h_RLC x_18313
    2689 | RR x_18314 -> h_RR x_18314
    2690 | RRC x_18315 -> h_RRC x_18315
    2691 | SWAP x_18316 -> h_SWAP x_18316
    2692 | MOV x_18317 -> h_MOV x_18317
    2693 | MOVX x_18318 -> h_MOVX x_18318
    2694 | SETB x_18319 -> h_SETB x_18319
    2695 | PUSH x_18320 -> h_PUSH x_18320
    2696 | POP x_18321 -> h_POP x_18321
    2697 | XCH (x_18323, x_18322) -> h_XCH x_18323 x_18322
    2698 | XCHD (x_18325, x_18324) -> h_XCHD x_18325 x_18324
     2665| ADD (x_23021, x_23020) -> h_ADD x_23021 x_23020
     2666| ADDC (x_23023, x_23022) -> h_ADDC x_23023 x_23022
     2667| SUBB (x_23025, x_23024) -> h_SUBB x_23025 x_23024
     2668| INC x_23026 -> h_INC x_23026
     2669| DEC x_23027 -> h_DEC x_23027
     2670| MUL (x_23029, x_23028) -> h_MUL x_23029 x_23028
     2671| DIV (x_23031, x_23030) -> h_DIV x_23031 x_23030
     2672| DA x_23032 -> h_DA x_23032
     2673| JC x_23033 -> h_JC x_23033
     2674| JNC x_23034 -> h_JNC x_23034
     2675| JB (x_23036, x_23035) -> h_JB x_23036 x_23035
     2676| JNB (x_23038, x_23037) -> h_JNB x_23038 x_23037
     2677| JBC (x_23040, x_23039) -> h_JBC x_23040 x_23039
     2678| JZ x_23041 -> h_JZ x_23041
     2679| JNZ x_23042 -> h_JNZ x_23042
     2680| CJNE (x_23044, x_23043) -> h_CJNE x_23044 x_23043
     2681| DJNZ (x_23046, x_23045) -> h_DJNZ x_23046 x_23045
     2682| ANL x_23047 -> h_ANL x_23047
     2683| ORL x_23048 -> h_ORL x_23048
     2684| XRL x_23049 -> h_XRL x_23049
     2685| CLR x_23050 -> h_CLR x_23050
     2686| CPL x_23051 -> h_CPL x_23051
     2687| RL x_23052 -> h_RL x_23052
     2688| RLC x_23053 -> h_RLC x_23053
     2689| RR x_23054 -> h_RR x_23054
     2690| RRC x_23055 -> h_RRC x_23055
     2691| SWAP x_23056 -> h_SWAP x_23056
     2692| MOV x_23057 -> h_MOV x_23057
     2693| MOVX x_23058 -> h_MOVX x_23058
     2694| SETB x_23059 -> h_SETB x_23059
     2695| PUSH x_23060 -> h_PUSH x_23060
     2696| POP x_23061 -> h_POP x_23061
     2697| XCH (x_23063, x_23062) -> h_XCH x_23063 x_23062
     2698| XCHD (x_23065, x_23064) -> h_XCHD x_23065 x_23064
    26992699| RET -> h_RET
    27002700| RETI -> h_RETI
    27012701| NOP -> h_NOP
    2702 | JMP x_18326 -> h_JMP x_18326
     2702| JMP x_23066 -> h_JMP x_23066
    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_18898 -> h_ACALL x_18898
    5107 | LCALL x_18899 -> h_LCALL x_18899
    5108 | AJMP x_18900 -> h_AJMP x_18900
    5109 | LJMP x_18901 -> h_LJMP x_18901
    5110 | SJMP x_18902 -> h_SJMP x_18902
    5111 | MOVC (x_18904, x_18903) -> h_MOVC x_18904 x_18903
    5112 | RealInstruction x_18905 -> h_RealInstruction x_18905
     5106| ACALL x_23638 -> h_ACALL x_23638
     5107| LCALL x_23639 -> h_LCALL x_23639
     5108| AJMP x_23640 -> h_AJMP x_23640
     5109| LJMP x_23641 -> h_LJMP x_23641
     5110| SJMP x_23642 -> h_SJMP x_23642
     5111| MOVC (x_23644, x_23643) -> h_MOVC x_23644 x_23643
     5112| RealInstruction x_23645 -> h_RealInstruction x_23645
    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_18914 -> h_ACALL x_18914
    5122 | LCALL x_18915 -> h_LCALL x_18915
    5123 | AJMP x_18916 -> h_AJMP x_18916
    5124 | LJMP x_18917 -> h_LJMP x_18917
    5125 | SJMP x_18918 -> h_SJMP x_18918
    5126 | MOVC (x_18920, x_18919) -> h_MOVC x_18920 x_18919
    5127 | RealInstruction x_18921 -> h_RealInstruction x_18921
     5121| ACALL x_23654 -> h_ACALL x_23654
     5122| LCALL x_23655 -> h_LCALL x_23655
     5123| AJMP x_23656 -> h_AJMP x_23656
     5124| LJMP x_23657 -> h_LJMP x_23657
     5125| SJMP x_23658 -> h_SJMP x_23658
     5126| MOVC (x_23660, x_23659) -> h_MOVC x_23660 x_23659
     5127| RealInstruction x_23661 -> h_RealInstruction x_23661
    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_18930 -> h_ACALL x_18930
    5137 | LCALL x_18931 -> h_LCALL x_18931
    5138 | AJMP x_18932 -> h_AJMP x_18932
    5139 | LJMP x_18933 -> h_LJMP x_18933
    5140 | SJMP x_18934 -> h_SJMP x_18934
    5141 | MOVC (x_18936, x_18935) -> h_MOVC x_18936 x_18935
    5142 | RealInstruction x_18937 -> h_RealInstruction x_18937
     5136| ACALL x_23670 -> h_ACALL x_23670
     5137| LCALL x_23671 -> h_LCALL x_23671
     5138| AJMP x_23672 -> h_AJMP x_23672
     5139| LJMP x_23673 -> h_LJMP x_23673
     5140| SJMP x_23674 -> h_SJMP x_23674
     5141| MOVC (x_23676, x_23675) -> h_MOVC x_23676 x_23675
     5142| RealInstruction x_23677 -> h_RealInstruction x_23677
    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_18946 -> h_ACALL x_18946
    5152 | LCALL x_18947 -> h_LCALL x_18947
    5153 | AJMP x_18948 -> h_AJMP x_18948
    5154 | LJMP x_18949 -> h_LJMP x_18949
    5155 | SJMP x_18950 -> h_SJMP x_18950
    5156 | MOVC (x_18952, x_18951) -> h_MOVC x_18952 x_18951
    5157 | RealInstruction x_18953 -> h_RealInstruction x_18953
     5151| ACALL x_23686 -> h_ACALL x_23686
     5152| LCALL x_23687 -> h_LCALL x_23687
     5153| AJMP x_23688 -> h_AJMP x_23688
     5154| LJMP x_23689 -> h_LJMP x_23689
     5155| SJMP x_23690 -> h_SJMP x_23690
     5156| MOVC (x_23692, x_23691) -> h_MOVC x_23692 x_23691
     5157| RealInstruction x_23693 -> h_RealInstruction x_23693
    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_18962 -> h_ACALL x_18962
    5167 | LCALL x_18963 -> h_LCALL x_18963
    5168 | AJMP x_18964 -> h_AJMP x_18964
    5169 | LJMP x_18965 -> h_LJMP x_18965
    5170 | SJMP x_18966 -> h_SJMP x_18966
    5171 | MOVC (x_18968, x_18967) -> h_MOVC x_18968 x_18967
    5172 | RealInstruction x_18969 -> h_RealInstruction x_18969
     5166| ACALL x_23702 -> h_ACALL x_23702
     5167| LCALL x_23703 -> h_LCALL x_23703
     5168| AJMP x_23704 -> h_AJMP x_23704
     5169| LJMP x_23705 -> h_LJMP x_23705
     5170| SJMP x_23706 -> h_SJMP x_23706
     5171| MOVC (x_23708, x_23707) -> h_MOVC x_23708 x_23707
     5172| RealInstruction x_23709 -> h_RealInstruction x_23709
    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_18978 -> h_ACALL x_18978
    5182 | LCALL x_18979 -> h_LCALL x_18979
    5183 | AJMP x_18980 -> h_AJMP x_18980
    5184 | LJMP x_18981 -> h_LJMP x_18981
    5185 | SJMP x_18982 -> h_SJMP x_18982
    5186 | MOVC (x_18984, x_18983) -> h_MOVC x_18984 x_18983
    5187 | RealInstruction x_18985 -> h_RealInstruction x_18985
     5181| ACALL x_23718 -> h_ACALL x_23718
     5182| LCALL x_23719 -> h_LCALL x_23719
     5183| AJMP x_23720 -> h_AJMP x_23720
     5184| LJMP x_23721 -> h_LJMP x_23721
     5185| SJMP x_23722 -> h_SJMP x_23722
     5186| MOVC (x_23724, x_23723) -> h_MOVC x_23724 x_23723
     5187| RealInstruction x_23725 -> h_RealInstruction x_23725
    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_19151 -> h_Instruction x_19151
    5479 | Comment x_19152 -> h_Comment x_19152
    5480 | Cost x_19153 -> h_Cost x_19153
    5481 | Jmp x_19154 -> h_Jmp x_19154
    5482 | Jnz (x_19157, x_19156, x_19155) -> h_Jnz x_19157 x_19156 x_19155
    5483 | MovSuccessor (x_19160, x_19159, x_19158) ->
    5484   h_MovSuccessor x_19160 x_19159 x_19158
    5485 | Call x_19161 -> h_Call x_19161
    5486 | Mov (x_19163, x_19162) -> h_Mov x_19163 x_19162
     5478| Instruction x_23891 -> h_Instruction x_23891
     5479| Comment x_23892 -> h_Comment x_23892
     5480| Cost x_23893 -> h_Cost x_23893
     5481| Jmp x_23894 -> h_Jmp x_23894
     5482| Jnz (x_23897, x_23896, x_23895) -> h_Jnz x_23897 x_23896 x_23895
     5483| MovSuccessor (x_23900, x_23899, x_23898) ->
     5484  h_MovSuccessor x_23900 x_23899 x_23898
     5485| Call x_23901 -> h_Call x_23901
     5486| Mov (x_23903, x_23902) -> h_Mov x_23903 x_23902
    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_19173 -> h_Instruction x_19173
    5497 | Comment x_19174 -> h_Comment x_19174
    5498 | Cost x_19175 -> h_Cost x_19175
    5499 | Jmp x_19176 -> h_Jmp x_19176
    5500 | Jnz (x_19179, x_19178, x_19177) -> h_Jnz x_19179 x_19178 x_19177
    5501 | MovSuccessor (x_19182, x_19181, x_19180) ->
    5502   h_MovSuccessor x_19182 x_19181 x_19180
    5503 | Call x_19183 -> h_Call x_19183
    5504 | Mov (x_19185, x_19184) -> h_Mov x_19185 x_19184
     5496| Instruction x_23913 -> h_Instruction x_23913
     5497| Comment x_23914 -> h_Comment x_23914
     5498| Cost x_23915 -> h_Cost x_23915
     5499| Jmp x_23916 -> h_Jmp x_23916
     5500| Jnz (x_23919, x_23918, x_23917) -> h_Jnz x_23919 x_23918 x_23917
     5501| MovSuccessor (x_23922, x_23921, x_23920) ->
     5502  h_MovSuccessor x_23922 x_23921 x_23920
     5503| Call x_23923 -> h_Call x_23923
     5504| Mov (x_23925, x_23924) -> h_Mov x_23925 x_23924
    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_19195 -> h_Instruction x_19195
    5515 | Comment x_19196 -> h_Comment x_19196
    5516 | Cost x_19197 -> h_Cost x_19197
    5517 | Jmp x_19198 -> h_Jmp x_19198
    5518 | Jnz (x_19201, x_19200, x_19199) -> h_Jnz x_19201 x_19200 x_19199
    5519 | MovSuccessor (x_19204, x_19203, x_19202) ->
    5520   h_MovSuccessor x_19204 x_19203 x_19202
    5521 | Call x_19205 -> h_Call x_19205
    5522 | Mov (x_19207, x_19206) -> h_Mov x_19207 x_19206
     5514| Instruction x_23935 -> h_Instruction x_23935
     5515| Comment x_23936 -> h_Comment x_23936
     5516| Cost x_23937 -> h_Cost x_23937
     5517| Jmp x_23938 -> h_Jmp x_23938
     5518| Jnz (x_23941, x_23940, x_23939) -> h_Jnz x_23941 x_23940 x_23939
     5519| MovSuccessor (x_23944, x_23943, x_23942) ->
     5520  h_MovSuccessor x_23944 x_23943 x_23942
     5521| Call x_23945 -> h_Call x_23945
     5522| Mov (x_23947, x_23946) -> h_Mov x_23947 x_23946
    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_19217 -> h_Instruction x_19217
    5533 | Comment x_19218 -> h_Comment x_19218
    5534 | Cost x_19219 -> h_Cost x_19219
    5535 | Jmp x_19220 -> h_Jmp x_19220
    5536 | Jnz (x_19223, x_19222, x_19221) -> h_Jnz x_19223 x_19222 x_19221
    5537 | MovSuccessor (x_19226, x_19225, x_19224) ->
    5538   h_MovSuccessor x_19226 x_19225 x_19224
    5539 | Call x_19227 -> h_Call x_19227
    5540 | Mov (x_19229, x_19228) -> h_Mov x_19229 x_19228
     5532| Instruction x_23957 -> h_Instruction x_23957
     5533| Comment x_23958 -> h_Comment x_23958
     5534| Cost x_23959 -> h_Cost x_23959
     5535| Jmp x_23960 -> h_Jmp x_23960
     5536| Jnz (x_23963, x_23962, x_23961) -> h_Jnz x_23963 x_23962 x_23961
     5537| MovSuccessor (x_23966, x_23965, x_23964) ->
     5538  h_MovSuccessor x_23966 x_23965 x_23964
     5539| Call x_23967 -> h_Call x_23967
     5540| Mov (x_23969, x_23968) -> h_Mov x_23969 x_23968
    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_19239 -> h_Instruction x_19239
    5551 | Comment x_19240 -> h_Comment x_19240
    5552 | Cost x_19241 -> h_Cost x_19241
    5553 | Jmp x_19242 -> h_Jmp x_19242
    5554 | Jnz (x_19245, x_19244, x_19243) -> h_Jnz x_19245 x_19244 x_19243
    5555 | MovSuccessor (x_19248, x_19247, x_19246) ->
    5556   h_MovSuccessor x_19248 x_19247 x_19246
    5557 | Call x_19249 -> h_Call x_19249
    5558 | Mov (x_19251, x_19250) -> h_Mov x_19251 x_19250
     5550| Instruction x_23979 -> h_Instruction x_23979
     5551| Comment x_23980 -> h_Comment x_23980
     5552| Cost x_23981 -> h_Cost x_23981
     5553| Jmp x_23982 -> h_Jmp x_23982
     5554| Jnz (x_23985, x_23984, x_23983) -> h_Jnz x_23985 x_23984 x_23983
     5555| MovSuccessor (x_23988, x_23987, x_23986) ->
     5556  h_MovSuccessor x_23988 x_23987 x_23986
     5557| Call x_23989 -> h_Call x_23989
     5558| Mov (x_23991, x_23990) -> h_Mov x_23991 x_23990
    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_19261 -> h_Instruction x_19261
    5569 | Comment x_19262 -> h_Comment x_19262
    5570 | Cost x_19263 -> h_Cost x_19263
    5571 | Jmp x_19264 -> h_Jmp x_19264
    5572 | Jnz (x_19267, x_19266, x_19265) -> h_Jnz x_19267 x_19266 x_19265
    5573 | MovSuccessor (x_19270, x_19269, x_19268) ->
    5574   h_MovSuccessor x_19270 x_19269 x_19268
    5575 | Call x_19271 -> h_Call x_19271
    5576 | Mov (x_19273, x_19272) -> h_Mov x_19273 x_19272
     5568| Instruction x_24001 -> h_Instruction x_24001
     5569| Comment x_24002 -> h_Comment x_24002
     5570| Cost x_24003 -> h_Cost x_24003
     5571| Jmp x_24004 -> h_Jmp x_24004
     5572| Jnz (x_24007, x_24006, x_24005) -> h_Jnz x_24007 x_24006 x_24005
     5573| MovSuccessor (x_24010, x_24009, x_24008) ->
     5574  h_MovSuccessor x_24010 x_24009 x_24008
     5575| Call x_24011 -> h_Call x_24011
     5576| Mov (x_24013, x_24012) -> h_Mov x_24013 x_24012
    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_19416 =
     5798let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_24156 =
    57995799  let { preamble = preamble0; code = code0; renamed_symbols =
    5800     renamed_symbols0; final_label = final_label0 } = x_19416
     5800    renamed_symbols0; final_label = final_label0 } = x_24156
    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_19418 =
     5810let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_24158 =
    58115811  let { preamble = preamble0; code = code0; renamed_symbols =
    5812     renamed_symbols0; final_label = final_label0 } = x_19418
     5812    renamed_symbols0; final_label = final_label0 } = x_24158
    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_19420 =
     5822let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_24160 =
    58235823  let { preamble = preamble0; code = code0; renamed_symbols =
    5824     renamed_symbols0; final_label = final_label0 } = x_19420
     5824    renamed_symbols0; final_label = final_label0 } = x_24160
    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_19422 =
     5834let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_24162 =
    58355835  let { preamble = preamble0; code = code0; renamed_symbols =
    5836     renamed_symbols0; final_label = final_label0 } = x_19422
     5836    renamed_symbols0; final_label = final_label0 } = x_24162
    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_19424 =
     5846let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_24164 =
    58475847  let { preamble = preamble0; code = code0; renamed_symbols =
    5848     renamed_symbols0; final_label = final_label0 } = x_19424
     5848    renamed_symbols0; final_label = final_label0 } = x_24164
    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_19426 =
     5858let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_24166 =
    58595859  let { preamble = preamble0; code = code0; renamed_symbols =
    5860     renamed_symbols0; final_label = final_label0 } = x_19426
     5860    renamed_symbols0; final_label = final_label0 } = x_24166
    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_19442 =
     5946let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_24182 =
    59475947  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5948     final_pc = final_pc0 } = x_19442
     5948    final_pc = final_pc0 } = x_24182
    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_19444 =
     5955let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_24184 =
    59565956  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5957     final_pc = final_pc0 } = x_19444
     5957    final_pc = final_pc0 } = x_24184
    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_19446 =
     5964let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_24186 =
    59655965  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5966     final_pc = final_pc0 } = x_19446
     5966    final_pc = final_pc0 } = x_24186
    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_19448 =
     5973let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_24188 =
    59745974  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5975     final_pc = final_pc0 } = x_19448
     5975    final_pc = final_pc0 } = x_24188
    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_19450 =
     5982let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_24190 =
    59835983  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5984     final_pc = final_pc0 } = x_19450
     5984    final_pc = final_pc0 } = x_24190
    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_19452 =
     5991let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_24192 =
    59925992  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5993     final_pc = final_pc0 } = x_19452
     5993    final_pc = final_pc0 } = x_24192
    59945994  in
    59955995  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
  • extracted/aSMCosts.ml

    r2773 r2775  
    208208   | Nat.S program_size' ->
    209209     (fun _ ->
    210        (let { Types.fst = eta30542; Types.snd = ticks } =
     210       (let { Types.fst = eta31765; Types.snd = ticks } =
    211211          Fetch.fetch code_memory' program_counter'
    212212        in
    213213       let { Types.fst = instruction; Types.snd = program_counter'' } =
    214          eta30542
     214         eta31765
    215215       in
    216216       (fun _ ->
  • extracted/aST.ml

    r2773 r2775  
    418418    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    419419let rec typ_rect_Type4 h_ASTint h_ASTptr = function
    420 | ASTint (x_3766, x_3765) -> h_ASTint x_3766 x_3765
     420| ASTint (x_3519, x_3518) -> h_ASTint x_3519 x_3518
    421421| ASTptr -> h_ASTptr
    422422
     
    424424    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    425425let rec typ_rect_Type5 h_ASTint h_ASTptr = function
    426 | ASTint (x_3771, x_3770) -> h_ASTint x_3771 x_3770
     426| ASTint (x_3524, x_3523) -> h_ASTint x_3524 x_3523
    427427| ASTptr -> h_ASTptr
    428428
     
    430430    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    431431let rec typ_rect_Type3 h_ASTint h_ASTptr = function
    432 | ASTint (x_3776, x_3775) -> h_ASTint x_3776 x_3775
     432| ASTint (x_3529, x_3528) -> h_ASTint x_3529 x_3528
    433433| ASTptr -> h_ASTptr
    434434
     
    436436    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    437437let rec typ_rect_Type2 h_ASTint h_ASTptr = function
    438 | ASTint (x_3781, x_3780) -> h_ASTint x_3781 x_3780
     438| ASTint (x_3534, x_3533) -> h_ASTint x_3534 x_3533
    439439| ASTptr -> h_ASTptr
    440440
     
    442442    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    443443let rec typ_rect_Type1 h_ASTint h_ASTptr = function
    444 | ASTint (x_3786, x_3785) -> h_ASTint x_3786 x_3785
     444| ASTint (x_3539, x_3538) -> h_ASTint x_3539 x_3538
    445445| ASTptr -> h_ASTptr
    446446
     
    448448    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    449449let rec typ_rect_Type0 h_ASTint h_ASTptr = function
    450 | ASTint (x_3791, x_3790) -> h_ASTint x_3791 x_3790
     450| ASTint (x_3544, x_3543) -> h_ASTint x_3544 x_3543
    451451| ASTptr -> h_ASTptr
    452452
     
    877877(** val signature_rect_Type4 :
    878878    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    879 let rec signature_rect_Type4 h_mk_signature x_3826 =
    880   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3826 in
     879let rec signature_rect_Type4 h_mk_signature x_3579 =
     880  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3579 in
    881881  h_mk_signature sig_args0 sig_res0
    882882
    883883(** val signature_rect_Type5 :
    884884    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    885 let rec signature_rect_Type5 h_mk_signature x_3828 =
    886   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3828 in
     885let rec signature_rect_Type5 h_mk_signature x_3581 =
     886  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3581 in
    887887  h_mk_signature sig_args0 sig_res0
    888888
    889889(** val signature_rect_Type3 :
    890890    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    891 let rec signature_rect_Type3 h_mk_signature x_3830 =
    892   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3830 in
     891let rec signature_rect_Type3 h_mk_signature x_3583 =
     892  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3583 in
    893893  h_mk_signature sig_args0 sig_res0
    894894
    895895(** val signature_rect_Type2 :
    896896    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    897 let rec signature_rect_Type2 h_mk_signature x_3832 =
    898   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3832 in
     897let rec signature_rect_Type2 h_mk_signature x_3585 =
     898  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3585 in
    899899  h_mk_signature sig_args0 sig_res0
    900900
    901901(** val signature_rect_Type1 :
    902902    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    903 let rec signature_rect_Type1 h_mk_signature x_3834 =
    904   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3834 in
     903let rec signature_rect_Type1 h_mk_signature x_3587 =
     904  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3587 in
    905905  h_mk_signature sig_args0 sig_res0
    906906
    907907(** val signature_rect_Type0 :
    908908    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    909 let rec signature_rect_Type0 h_mk_signature x_3836 =
    910   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3836 in
     909let rec signature_rect_Type0 h_mk_signature x_3589 =
     910  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3589 in
    911911  h_mk_signature sig_args0 sig_res0
    912912
     
    984984    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    985985let rec init_data_rect_Type4 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    986 | Init_int8 x_3864 -> h_Init_int8 x_3864
    987 | Init_int16 x_3865 -> h_Init_int16 x_3865
    988 | Init_int32 x_3866 -> h_Init_int32 x_3866
    989 | Init_space x_3867 -> h_Init_space x_3867
     986| Init_int8 x_3617 -> h_Init_int8 x_3617
     987| Init_int16 x_3618 -> h_Init_int16 x_3618
     988| Init_int32 x_3619 -> h_Init_int32 x_3619
     989| Init_space x_3620 -> h_Init_space x_3620
    990990| Init_null -> h_Init_null
    991 | Init_addrof (x_3869, x_3868) -> h_Init_addrof x_3869 x_3868
     991| Init_addrof (x_3622, x_3621) -> h_Init_addrof x_3622 x_3621
    992992
    993993(** val init_data_rect_Type5 :
     
    995995    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    996996let rec init_data_rect_Type5 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    997 | Init_int8 x_3877 -> h_Init_int8 x_3877
    998 | Init_int16 x_3878 -> h_Init_int16 x_3878
    999 | Init_int32 x_3879 -> h_Init_int32 x_3879
    1000 | Init_space x_3880 -> h_Init_space x_3880
     997| Init_int8 x_3630 -> h_Init_int8 x_3630
     998| Init_int16 x_3631 -> h_Init_int16 x_3631
     999| Init_int32 x_3632 -> h_Init_int32 x_3632
     1000| Init_space x_3633 -> h_Init_space x_3633
    10011001| Init_null -> h_Init_null
    1002 | Init_addrof (x_3882, x_3881) -> h_Init_addrof x_3882 x_3881
     1002| Init_addrof (x_3635, x_3634) -> h_Init_addrof x_3635 x_3634
    10031003
    10041004(** val init_data_rect_Type3 :
     
    10061006    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    10071007let rec init_data_rect_Type3 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    1008 | Init_int8 x_3890 -> h_Init_int8 x_3890
    1009 | Init_int16 x_3891 -> h_Init_int16 x_3891
    1010 | Init_int32 x_3892 -> h_Init_int32 x_3892
    1011 | Init_space x_3893 -> h_Init_space x_3893
     1008| Init_int8 x_3643 -> h_Init_int8 x_3643
     1009| Init_int16 x_3644 -> h_Init_int16 x_3644
     1010| Init_int32 x_3645 -> h_Init_int32 x_3645
     1011| Init_space x_3646 -> h_Init_space x_3646
    10121012| Init_null -> h_Init_null
    1013 | Init_addrof (x_3895, x_3894) -> h_Init_addrof x_3895 x_3894
     1013| Init_addrof (x_3648, x_3647) -> h_Init_addrof x_3648 x_3647
    10141014
    10151015(** val init_data_rect_Type2 :
     
    10171017    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    10181018let rec init_data_rect_Type2 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    1019 | Init_int8 x_3903 -> h_Init_int8 x_3903
    1020 | Init_int16 x_3904 -> h_Init_int16 x_3904
    1021 | Init_int32 x_3905 -> h_Init_int32 x_3905
    1022 | Init_space x_3906 -> h_Init_space x_3906
     1019| Init_int8 x_3656 -> h_Init_int8 x_3656
     1020| Init_int16 x_3657 -> h_Init_int16 x_3657
     1021| Init_int32 x_3658 -> h_Init_int32 x_3658
     1022| Init_space x_3659 -> h_Init_space x_3659
    10231023| Init_null -> h_Init_null
    1024 | Init_addrof (x_3908, x_3907) -> h_Init_addrof x_3908 x_3907
     1024| Init_addrof (x_3661, x_3660) -> h_Init_addrof x_3661 x_3660
    10251025
    10261026(** val init_data_rect_Type1 :
     
    10281028    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    10291029let rec init_data_rect_Type1 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    1030 | Init_int8 x_3916 -> h_Init_int8 x_3916
    1031 | Init_int16 x_3917 -> h_Init_int16 x_3917
    1032 | Init_int32 x_3918 -> h_Init_int32 x_3918
    1033 | Init_space x_3919 -> h_Init_space x_3919
     1030| Init_int8 x_3669 -> h_Init_int8 x_3669
     1031| Init_int16 x_3670 -> h_Init_int16 x_3670
     1032| Init_int32 x_3671 -> h_Init_int32 x_3671
     1033| Init_space x_3672 -> h_Init_space x_3672
    10341034| Init_null -> h_Init_null
    1035 | Init_addrof (x_3921, x_3920) -> h_Init_addrof x_3921 x_3920
     1035| Init_addrof (x_3674, x_3673) -> h_Init_addrof x_3674 x_3673
    10361036
    10371037(** val init_data_rect_Type0 :
     
    10391039    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    10401040let rec init_data_rect_Type0 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    1041 | Init_int8 x_3929 -> h_Init_int8 x_3929
    1042 | Init_int16 x_3930 -> h_Init_int16 x_3930
    1043 | Init_int32 x_3931 -> h_Init_int32 x_3931
    1044 | Init_space x_3932 -> h_Init_space x_3932
     1041| Init_int8 x_3682 -> h_Init_int8 x_3682
     1042| Init_int16 x_3683 -> h_Init_int16 x_3683
     1043| Init_int32 x_3684 -> h_Init_int32 x_3684
     1044| Init_space x_3685 -> h_Init_space x_3685
    10451045| Init_null -> h_Init_null
    1046 | Init_addrof (x_3934, x_3933) -> h_Init_addrof x_3934 x_3933
     1046| Init_addrof (x_3687, x_3686) -> h_Init_addrof x_3687 x_3686
    10471047
    10481048(** val init_data_inv_rect_Type4 :
     
    11111111    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11121112    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1113 let rec program_rect_Type4 h_mk_program x_4021 =
     1113let rec program_rect_Type4 h_mk_program x_3774 =
    11141114  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1115     prog_main0 } = x_4021
     1115    prog_main0 } = x_3774
    11161116  in
    11171117  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11201120    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11211121    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1122 let rec program_rect_Type5 h_mk_program x_4023 =
     1122let rec program_rect_Type5 h_mk_program x_3776 =
    11231123  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1124     prog_main0 } = x_4023
     1124    prog_main0 } = x_3776
    11251125  in
    11261126  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11291129    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11301130    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1131 let rec program_rect_Type3 h_mk_program x_4025 =
     1131let rec program_rect_Type3 h_mk_program x_3778 =
    11321132  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1133     prog_main0 } = x_4025
     1133    prog_main0 } = x_3778
    11341134  in
    11351135  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11381138    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11391139    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1140 let rec program_rect_Type2 h_mk_program x_4027 =
     1140let rec program_rect_Type2 h_mk_program x_3780 =
    11411141  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1142     prog_main0 } = x_4027
     1142    prog_main0 } = x_3780
    11431143  in
    11441144  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11471147    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11481148    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1149 let rec program_rect_Type1 h_mk_program x_4029 =
     1149let rec program_rect_Type1 h_mk_program x_3782 =
    11501150  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1151     prog_main0 } = x_4029
     1151    prog_main0 } = x_3782
    11521152  in
    11531153  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11561156    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11571157    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1158 let rec program_rect_Type0 h_mk_program x_4031 =
     1158let rec program_rect_Type0 h_mk_program x_3784 =
    11591159  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1160     prog_main0 } = x_4031
     1160    prog_main0 } = x_3784
    11611161  in
    11621162  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    14771477(** val external_function_rect_Type4 :
    14781478    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1479 let rec external_function_rect_Type4 h_mk_external_function x_4235 =
    1480   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4235 in
     1479let rec external_function_rect_Type4 h_mk_external_function x_3988 =
     1480  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3988 in
    14811481  h_mk_external_function ef_id0 ef_sig0
    14821482
    14831483(** val external_function_rect_Type5 :
    14841484    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1485 let rec external_function_rect_Type5 h_mk_external_function x_4237 =
    1486   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4237 in
     1485let rec external_function_rect_Type5 h_mk_external_function x_3990 =
     1486  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3990 in
    14871487  h_mk_external_function ef_id0 ef_sig0
    14881488
    14891489(** val external_function_rect_Type3 :
    14901490    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1491 let rec external_function_rect_Type3 h_mk_external_function x_4239 =
    1492   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4239 in
     1491let rec external_function_rect_Type3 h_mk_external_function x_3992 =
     1492  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3992 in
    14931493  h_mk_external_function ef_id0 ef_sig0
    14941494
    14951495(** val external_function_rect_Type2 :
    14961496    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1497 let rec external_function_rect_Type2 h_mk_external_function x_4241 =
    1498   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4241 in
     1497let rec external_function_rect_Type2 h_mk_external_function x_3994 =
     1498  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3994 in
    14991499  h_mk_external_function ef_id0 ef_sig0
    15001500
    15011501(** val external_function_rect_Type1 :
    15021502    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1503 let rec external_function_rect_Type1 h_mk_external_function x_4243 =
    1504   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4243 in
     1503let rec external_function_rect_Type1 h_mk_external_function x_3996 =
     1504  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3996 in
    15051505  h_mk_external_function ef_id0 ef_sig0
    15061506
    15071507(** val external_function_rect_Type0 :
    15081508    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1509 let rec external_function_rect_Type0 h_mk_external_function x_4245 =
    1510   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4245 in
     1509let rec external_function_rect_Type0 h_mk_external_function x_3998 =
     1510  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3998 in
    15111511  h_mk_external_function ef_id0 ef_sig0
    15121512
     
    15751575    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15761576let rec fundef_rect_Type4 h_Internal h_External = function
    1577 | Internal x_4265 -> h_Internal x_4265
    1578 | External x_4266 -> h_External x_4266
     1577| Internal x_4018 -> h_Internal x_4018
     1578| External x_4019 -> h_External x_4019
    15791579
    15801580(** val fundef_rect_Type5 :
    15811581    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15821582let rec fundef_rect_Type5 h_Internal h_External = function
    1583 | Internal x_4270 -> h_Internal x_4270
    1584 | External x_4271 -> h_External x_4271
     1583| Internal x_4023 -> h_Internal x_4023
     1584| External x_4024 -> h_External x_4024
    15851585
    15861586(** val fundef_rect_Type3 :
    15871587    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15881588let rec fundef_rect_Type3 h_Internal h_External = function
    1589 | Internal x_4275 -> h_Internal x_4275
    1590 | External x_4276 -> h_External x_4276
     1589| Internal x_4028 -> h_Internal x_4028
     1590| External x_4029 -> h_External x_4029
    15911591
    15921592(** val fundef_rect_Type2 :
    15931593    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15941594let rec fundef_rect_Type2 h_Internal h_External = function
    1595 | Internal x_4280 -> h_Internal x_4280
    1596 | External x_4281 -> h_External x_4281
     1595| Internal x_4033 -> h_Internal x_4033
     1596| External x_4034 -> h_External x_4034
    15971597
    15981598(** val fundef_rect_Type1 :
    15991599    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16001600let rec fundef_rect_Type1 h_Internal h_External = function
    1601 | Internal x_4285 -> h_Internal x_4285
    1602 | External x_4286 -> h_External x_4286
     1601| Internal x_4038 -> h_Internal x_4038
     1602| External x_4039 -> h_External x_4039
    16031603
    16041604(** val fundef_rect_Type0 :
    16051605    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16061606let rec fundef_rect_Type0 h_Internal h_External = function
    1607 | Internal x_4290 -> h_Internal x_4290
    1608 | External x_4291 -> h_External x_4291
     1607| Internal x_4043 -> h_Internal x_4043
     1608| External x_4044 -> h_External x_4044
    16091609
    16101610(** val fundef_inv_rect_Type4 :
  • extracted/arithmetic.ml

    r2773 r2775  
    297297(** val fbs_diff_rect_Type4 :
    298298    (Nat.nat -> Nat.nat -> 'a1) -> Nat.nat -> fbs_diff -> 'a1 **)
    299 let rec fbs_diff_rect_Type4 h_fbs_diff' x_1836 = function
     299let rec fbs_diff_rect_Type4 h_fbs_diff' x_1368 = function
    300300| Fbs_diff' (n, m) -> h_fbs_diff' n m
    301301
    302302(** val fbs_diff_rect_Type5 :
    303303    (Nat.nat -> Nat.nat -> 'a1) -> Nat.nat -> fbs_diff -> 'a1 **)
    304 let rec fbs_diff_rect_Type5 h_fbs_diff' x_1839 = function
     304let rec fbs_diff_rect_Type5 h_fbs_diff' x_1371 = function
    305305| Fbs_diff' (n, m) -> h_fbs_diff' n m
    306306
    307307(** val fbs_diff_rect_Type3 :
    308308    (Nat.nat -> Nat.nat -> 'a1) -> Nat.nat -> fbs_diff -> 'a1 **)
    309 let rec fbs_diff_rect_Type3 h_fbs_diff' x_1842 = function
     309let rec fbs_diff_rect_Type3 h_fbs_diff' x_1374 = function
    310310| Fbs_diff' (n, m) -> h_fbs_diff' n m
    311311
    312312(** val fbs_diff_rect_Type2 :
    313313    (Nat.nat -> Nat.nat -> 'a1) -> Nat.nat -> fbs_diff -> 'a1 **)
    314 let rec fbs_diff_rect_Type2 h_fbs_diff' x_1845 = function
     314let rec fbs_diff_rect_Type2 h_fbs_diff' x_1377 = function
    315315| Fbs_diff' (n, m) -> h_fbs_diff' n m
    316316
    317317(** val fbs_diff_rect_Type1 :
    318318    (Nat.nat -> Nat.nat -> 'a1) -> Nat.nat -> fbs_diff -> 'a1 **)
    319 let rec fbs_diff_rect_Type1 h_fbs_diff' x_1848 = function
     319let rec fbs_diff_rect_Type1 h_fbs_diff' x_1380 = function
    320320| Fbs_diff' (n, m) -> h_fbs_diff' n m
    321321
    322322(** val fbs_diff_rect_Type0 :
    323323    (Nat.nat -> Nat.nat -> 'a1) -> Nat.nat -> fbs_diff -> 'a1 **)
    324 let rec fbs_diff_rect_Type0 h_fbs_diff' x_1851 = function
     324let rec fbs_diff_rect_Type0 h_fbs_diff' x_1383 = function
    325325| Fbs_diff' (n, m) -> h_fbs_diff' n m
    326326
  • extracted/backEndOps.ml

    r2773 r2775  
    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_14141 =
    405   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_14141 in
     404let rec eval_rect_Type4 h_mk_Eval x_18972 =
     405  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18972 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_14143 =
    414   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_14143 in
     413let rec eval_rect_Type5 h_mk_Eval x_18974 =
     414  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18974 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_14145 =
    423   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_14145 in
     422let rec eval_rect_Type3 h_mk_Eval x_18976 =
     423  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18976 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_14147 =
    432   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_14147 in
     431let rec eval_rect_Type2 h_mk_Eval x_18978 =
     432  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18978 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_14149 =
    441   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_14149 in
     440let rec eval_rect_Type1 h_mk_Eval x_18980 =
     441  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18980 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_14151 =
    450   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_14151 in
     449let rec eval_rect_Type0 h_mk_Eval x_18982 =
     450  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18982 in
    451451  h_mk_Eval opaccs0 op4 op5
    452452
  • extracted/bind_new.ml

    r2773 r2775  
    3535    ('a1, 'a2) bind_new -> 'a3 **)
    3636let rec bind_new_rect_Type4 h_bret h_bnew = function
    37 | Bret x_15932 -> h_bret x_15932
    38 | Bnew x_15934 ->
    39   h_bnew x_15934 (fun x_15933 ->
    40     bind_new_rect_Type4 h_bret h_bnew (x_15934 x_15933))
     37| Bret x_20763 -> h_bret x_20763
     38| Bnew x_20765 ->
     39  h_bnew x_20765 (fun x_20764 ->
     40    bind_new_rect_Type4 h_bret h_bnew (x_20765 x_20764))
    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_15944 -> h_bret x_15944
    47 | Bnew x_15946 ->
    48   h_bnew x_15946 (fun x_15945 ->
    49     bind_new_rect_Type3 h_bret h_bnew (x_15946 x_15945))
     46| Bret x_20775 -> h_bret x_20775
     47| Bnew x_20777 ->
     48  h_bnew x_20777 (fun x_20776 ->
     49    bind_new_rect_Type3 h_bret h_bnew (x_20777 x_20776))
    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_15950 -> h_bret x_15950
    56 | Bnew x_15952 ->
    57   h_bnew x_15952 (fun x_15951 ->
    58     bind_new_rect_Type2 h_bret h_bnew (x_15952 x_15951))
     55| Bret x_20781 -> h_bret x_20781
     56| Bnew x_20783 ->
     57  h_bnew x_20783 (fun x_20782 ->
     58    bind_new_rect_Type2 h_bret h_bnew (x_20783 x_20782))
    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_15956 -> h_bret x_15956
    65 | Bnew x_15958 ->
    66   h_bnew x_15958 (fun x_15957 ->
    67     bind_new_rect_Type1 h_bret h_bnew (x_15958 x_15957))
     64| Bret x_20787 -> h_bret x_20787
     65| Bnew x_20789 ->
     66  h_bnew x_20789 (fun x_20788 ->
     67    bind_new_rect_Type1 h_bret h_bnew (x_20789 x_20788))
    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_15962 -> h_bret x_15962
    74 | Bnew x_15964 ->
    75   h_bnew x_15964 (fun x_15963 ->
    76     bind_new_rect_Type0 h_bret h_bnew (x_15964 x_15963))
     73| Bret x_20793 -> h_bret x_20793
     74| Bnew x_20795 ->
     75  h_bnew x_20795 (fun x_20794 ->
     76    bind_new_rect_Type0 h_bret h_bnew (x_20795 x_20794))
    7777
    7878(** val bind_new_inv_rect_Type4 :
  • extracted/bitVectorTrie.ml

    r2773 r2775  
    4949    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    5050    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    51 let rec bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub x_9803 = function
    52 | Leaf x_9805 -> h_Leaf x_9805
    53 | Node (n, x_9807, x_9806) ->
    54   h_Node n x_9807 x_9806
    55     (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_9807)
    56     (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_9806)
     51let rec bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub x_14634 = function
     52| Leaf x_14636 -> h_Leaf x_14636
     53| Node (n, x_14638, x_14637) ->
     54  h_Node n x_14638 x_14637
     55    (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14638)
     56    (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14637)
    5757| Stub n -> h_Stub n
    5858
     
    6060    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    6161    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    62 let rec bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub x_9819 = function
    63 | Leaf x_9821 -> h_Leaf x_9821
    64 | Node (n, x_9823, x_9822) ->
    65   h_Node n x_9823 x_9822
    66     (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_9823)
    67     (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_9822)
     62let rec bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub x_14650 = function
     63| Leaf x_14652 -> h_Leaf x_14652
     64| Node (n, x_14654, x_14653) ->
     65  h_Node n x_14654 x_14653
     66    (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14654)
     67    (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14653)
    6868| Stub n -> h_Stub n
    6969
     
    7171    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    7272    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    73 let rec bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub x_9827 = function
    74 | Leaf x_9829 -> h_Leaf x_9829
    75 | Node (n, x_9831, x_9830) ->
    76   h_Node n x_9831 x_9830
    77     (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_9831)
    78     (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_9830)
     73let rec bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub x_14658 = function
     74| Leaf x_14660 -> h_Leaf x_14660
     75| Node (n, x_14662, x_14661) ->
     76  h_Node n x_14662 x_14661
     77    (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14662)
     78    (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14661)
    7979| Stub n -> h_Stub n
    8080
     
    8282    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    8383    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    84 let rec bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub x_9835 = function
    85 | Leaf x_9837 -> h_Leaf x_9837
    86 | Node (n, x_9839, x_9838) ->
    87   h_Node n x_9839 x_9838
    88     (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_9839)
    89     (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_9838)
     84let rec bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub x_14666 = function
     85| Leaf x_14668 -> h_Leaf x_14668
     86| Node (n, x_14670, x_14669) ->
     87  h_Node n x_14670 x_14669
     88    (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14670)
     89    (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14669)
    9090| Stub n -> h_Stub n
    9191
     
    9393    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    9494    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    95 let rec bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub x_9843 = function
    96 | Leaf x_9845 -> h_Leaf x_9845
    97 | Node (n, x_9847, x_9846) ->
    98   h_Node n x_9847 x_9846
    99     (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_9847)
    100     (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_9846)
     95let rec bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub x_14674 = function
     96| Leaf x_14676 -> h_Leaf x_14676
     97| Node (n, x_14678, x_14677) ->
     98  h_Node n x_14678 x_14677
     99    (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14678)
     100    (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14677)
    101101| Stub n -> h_Stub n
    102102
  • extracted/byteValues.ml

    r2773 r2775  
    8989    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    9090    'a1 **)
    91 let rec program_counter_rect_Type4 h_mk_program_counter x_4404 =
    92   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_4404 in
     91let rec program_counter_rect_Type4 h_mk_program_counter x_6009 =
     92  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6009 in
    9393  h_mk_program_counter pc_block0 pc_offset0
    9494
     
    9696    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    9797    'a1 **)
    98 let rec program_counter_rect_Type5 h_mk_program_counter x_4406 =
    99   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_4406 in
     98let rec program_counter_rect_Type5 h_mk_program_counter x_6011 =
     99  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6011 in
    100100  h_mk_program_counter pc_block0 pc_offset0
    101101
     
    103103    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    104104    'a1 **)
    105 let rec program_counter_rect_Type3 h_mk_program_counter x_4408 =
    106   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_4408 in
     105let rec program_counter_rect_Type3 h_mk_program_counter x_6013 =
     106  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6013 in
    107107  h_mk_program_counter pc_block0 pc_offset0
    108108
     
    110110    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    111111    'a1 **)
    112 let rec program_counter_rect_Type2 h_mk_program_counter x_4410 =
    113   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_4410 in
     112let rec program_counter_rect_Type2 h_mk_program_counter x_6015 =
     113  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6015 in
    114114  h_mk_program_counter pc_block0 pc_offset0
    115115
     
    117117    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    118118    'a1 **)
    119 let rec program_counter_rect_Type1 h_mk_program_counter x_4412 =
    120   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_4412 in
     119let rec program_counter_rect_Type1 h_mk_program_counter x_6017 =
     120  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6017 in
    121121  h_mk_program_counter pc_block0 pc_offset0
    122122
     
    124124    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    125125    'a1 **)
    126 let rec program_counter_rect_Type0 h_mk_program_counter x_4414 =
    127   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_4414 in
     126let rec program_counter_rect_Type0 h_mk_program_counter x_6019 =
     127  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6019 in
    128128  h_mk_program_counter pc_block0 pc_offset0
    129129
     
    215215
    216216(** val part_rect_Type4 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    217 let rec part_rect_Type4 h_mk_part x_4430 =
    218   let part_no = x_4430 in h_mk_part part_no __
     217let rec part_rect_Type4 h_mk_part x_6035 =
     218  let part_no = x_6035 in h_mk_part part_no __
    219219
    220220(** val part_rect_Type5 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    221 let rec part_rect_Type5 h_mk_part x_4432 =
    222   let part_no = x_4432 in h_mk_part part_no __
     221let rec part_rect_Type5 h_mk_part x_6037 =
     222  let part_no = x_6037 in h_mk_part part_no __
    223223
    224224(** val part_rect_Type3 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    225 let rec part_rect_Type3 h_mk_part x_4434 =
    226   let part_no = x_4434 in h_mk_part part_no __
     225let rec part_rect_Type3 h_mk_part x_6039 =
     226  let part_no = x_6039 in h_mk_part part_no __
    227227
    228228(** val part_rect_Type2 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    229 let rec part_rect_Type2 h_mk_part x_4436 =
    230   let part_no = x_4436 in h_mk_part part_no __
     229let rec part_rect_Type2 h_mk_part x_6041 =
     230  let part_no = x_6041 in h_mk_part part_no __
    231231
    232232(** val part_rect_Type1 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    233 let rec part_rect_Type1 h_mk_part x_4438 =
    234   let part_no = x_4438 in h_mk_part part_no __
     233let rec part_rect_Type1 h_mk_part x_6043 =
     234  let part_no = x_6043 in h_mk_part part_no __
    235235
    236236(** val part_rect_Type0 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    237 let rec part_rect_Type0 h_mk_part x_4440 =
    238   let part_no = x_4440 in h_mk_part part_no __
     237let rec part_rect_Type0 h_mk_part x_6045 =
     238  let part_no = x_6045 in h_mk_part part_no __
    239239
    240240(** val part_no : part -> Nat.nat **)
     
    486486| BVundef -> h_BVundef
    487487| BVnonzero -> h_BVnonzero
    488 | BVXor (x_4474, x_4473, x_4472) -> h_BVXor x_4474 x_4473 x_4472
    489 | BVByte x_4475 -> h_BVByte x_4475
    490 | BVnull x_4476 -> h_BVnull x_4476
    491 | BVptr (x_4478, x_4477) -> h_BVptr x_4478 x_4477
    492 | BVpc (x_4480, x_4479) -> h_BVpc x_4480 x_4479
     488| BVXor (x_6079, x_6078, x_6077) -> h_BVXor x_6079 x_6078 x_6077
     489| BVByte x_6080 -> h_BVByte x_6080
     490| BVnull x_6081 -> h_BVnull x_6081
     491| BVptr (x_6083, x_6082) -> h_BVptr x_6083 x_6082
     492| BVpc (x_6085, x_6084) -> h_BVpc x_6085 x_6084
    493493
    494494(** val beval_rect_Type5 :
     
    500500| BVundef -> h_BVundef
    501501| BVnonzero -> h_BVnonzero
    502 | BVXor (x_4491, x_4490, x_4489) -> h_BVXor x_4491 x_4490 x_4489
    503 | BVByte x_4492 -> h_BVByte x_4492
    504 | BVnull x_4493 -> h_BVnull x_4493
    505 | BVptr (x_4495, x_4494) -> h_BVptr x_4495 x_4494
    506 | BVpc (x_4497, x_4496) -> h_BVpc x_4497 x_4496
     502| BVXor (x_6096, x_6095, x_6094) -> h_BVXor x_6096 x_6095 x_6094
     503| BVByte x_6097 -> h_BVByte x_6097
     504| BVnull x_6098 -> h_BVnull x_6098
     505| BVptr (x_6100, x_6099) -> h_BVptr x_6100 x_6099
     506| BVpc (x_6102, x_6101) -> h_BVpc x_6102 x_6101
    507507
    508508(** val beval_rect_Type3 :
     
    514514| BVundef -> h_BVundef
    515515| BVnonzero -> h_BVnonzero
    516 | BVXor (x_4508, x_4507, x_4506) -> h_BVXor x_4508 x_4507 x_4506
    517 | BVByte x_4509 -> h_BVByte x_4509
    518 | BVnull x_4510 -> h_BVnull x_4510
    519 | BVptr (x_4512, x_4511) -> h_BVptr x_4512 x_4511
    520 | BVpc (x_4514, x_4513) -> h_BVpc x_4514 x_4513
     516| BVXor (x_6113, x_6112, x_6111) -> h_BVXor x_6113 x_6112 x_6111
     517| BVByte x_6114 -> h_BVByte x_6114
     518| BVnull x_6115 -> h_BVnull x_6115
     519| BVptr (x_6117, x_6116) -> h_BVptr x_6117 x_6116
     520| BVpc (x_6119, x_6118) -> h_BVpc x_6119 x_6118
    521521
    522522(** val beval_rect_Type2 :
     
    528528| BVundef -> h_BVundef
    529529| BVnonzero -> h_BVnonzero
    530 | BVXor (x_4525, x_4524, x_4523) -> h_BVXor x_4525 x_4524 x_4523
    531 | BVByte x_4526 -> h_BVByte x_4526
    532 | BVnull x_4527 -> h_BVnull x_4527
    533 | BVptr (x_4529, x_4528) -> h_BVptr x_4529 x_4528
    534 | BVpc (x_4531, x_4530) -> h_BVpc x_4531 x_4530
     530| BVXor (x_6130, x_6129, x_6128) -> h_BVXor x_6130 x_6129 x_6128
     531| BVByte x_6131 -> h_BVByte x_6131
     532| BVnull x_6132 -> h_BVnull x_6132
     533| BVptr (x_6134, x_6133) -> h_BVptr x_6134 x_6133
     534| BVpc (x_6136, x_6135) -> h_BVpc x_6136 x_6135
    535535
    536536(** val beval_rect_Type1 :
     
    542542| BVundef -> h_BVundef
    543543| BVnonzero -> h_BVnonzero
    544 | BVXor (x_4542, x_4541, x_4540) -> h_BVXor x_4542 x_4541 x_4540
    545 | BVByte x_4543 -> h_BVByte x_4543
    546 | BVnull x_4544 -> h_BVnull x_4544
    547 | BVptr (x_4546, x_4545) -> h_BVptr x_4546 x_4545
    548 | BVpc (x_4548, x_4547) -> h_BVpc x_4548 x_4547
     544| BVXor (x_6147, x_6146, x_6145) -> h_BVXor x_6147 x_6146 x_6145
     545| BVByte x_6148 -> h_BVByte x_6148
     546| BVnull x_6149 -> h_BVnull x_6149
     547| BVptr (x_6151, x_6150) -> h_BVptr x_6151 x_6150
     548| BVpc (x_6153, x_6152) -> h_BVpc x_6153 x_6152
    549549
    550550(** val beval_rect_Type0 :
     
    556556| BVundef -> h_BVundef
    557557| BVnonzero -> h_BVnonzero
    558 | BVXor (x_4559, x_4558, x_4557) -> h_BVXor x_4559 x_4558 x_4557
    559 | BVByte x_4560 -> h_BVByte x_4560
    560 | BVnull x_4561 -> h_BVnull x_4561
    561 | BVptr (x_4563, x_4562) -> h_BVptr x_4563 x_4562
    562 | BVpc (x_4565, x_4564) -> h_BVpc x_4565 x_4564
     558| BVXor (x_6164, x_6163, x_6162) -> h_BVXor x_6164 x_6163 x_6162
     559| BVByte x_6165 -> h_BVByte x_6165
     560| BVnull x_6166 -> h_BVnull x_6166
     561| BVptr (x_6168, x_6167) -> h_BVptr x_6168 x_6167
     562| BVpc (x_6170, x_6169) -> h_BVpc x_6170 x_6169
    563563
    564564(** val beval_inv_rect_Type4 :
     
    899899    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    900900let rec bebit_rect_Type4 h_BBbit h_BBundef h_BBptrcarry = function
    901 | BBbit x_4684 -> h_BBbit x_4684
     901| BBbit x_6289 -> h_BBbit x_6289
    902902| BBundef -> h_BBundef
    903 | BBptrcarry (x_4687, x_4686, p, x_4685) ->
    904   h_BBptrcarry x_4687 x_4686 p x_4685
     903| BBptrcarry (x_6292, x_6291, p, x_6290) ->
     904  h_BBptrcarry x_6292 x_6291 p x_6290
    905905
    906906(** val bebit_rect_Type5 :
     
    908908    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    909909let rec bebit_rect_Type5 h_BBbit h_BBundef h_BBptrcarry = function
    910 | BBbit x_4692 -> h_BBbit x_4692
     910| BBbit x_6297 -> h_BBbit x_6297
    911911| BBundef -> h_BBundef
    912 | BBptrcarry (x_4695, x_4694, p, x_4693) ->
    913   h_BBptrcarry x_4695 x_4694 p x_4693
     912| BBptrcarry (x_6300, x_6299, p, x_6298) ->
     913  h_BBptrcarry x_6300 x_6299 p x_6298
    914914
    915915(** val bebit_rect_Type3 :
     
    917917    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    918918let rec bebit_rect_Type3 h_BBbit h_BBundef h_BBptrcarry = function
    919 | BBbit x_4700 -> h_BBbit x_4700
     919| BBbit x_6305 -> h_BBbit x_6305
    920920| BBundef -> h_BBundef
    921 | BBptrcarry (x_4703, x_4702, p, x_4701) ->
    922   h_BBptrcarry x_4703 x_4702 p x_4701
     921| BBptrcarry (x_6308, x_6307, p, x_6306) ->
     922  h_BBptrcarry x_6308 x_6307 p x_6306
    923923
    924924(** val bebit_rect_Type2 :
     
    926926    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    927927let rec bebit_rect_Type2 h_BBbit h_BBundef h_BBptrcarry = function
    928 | BBbit x_4708 -> h_BBbit x_4708
     928| BBbit x_6313 -> h_BBbit x_6313
    929929| BBundef -> h_BBundef
    930 | BBptrcarry (x_4711, x_4710, p, x_4709) ->
    931   h_BBptrcarry x_4711 x_4710 p x_4709
     930| BBptrcarry (x_6316, x_6315, p, x_6314) ->
     931  h_BBptrcarry x_6316 x_6315 p x_6314
    932932
    933933(** val bebit_rect_Type1 :
     
    935935    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    936936let rec bebit_rect_Type1 h_BBbit h_BBundef h_BBptrcarry = function
    937 | BBbit x_4716 -> h_BBbit x_4716
     937| BBbit x_6321 -> h_BBbit x_6321
    938938| BBundef -> h_BBundef
    939 | BBptrcarry (x_4719, x_4718, p, x_4717) ->
    940   h_BBptrcarry x_4719 x_4718 p x_4717
     939| BBptrcarry (x_6324, x_6323, p, x_6322) ->
     940  h_BBptrcarry x_6324 x_6323 p x_6322
    941941
    942942(** val bebit_rect_Type0 :
     
    944944    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    945945let rec bebit_rect_Type0 h_BBbit h_BBundef h_BBptrcarry = function
    946 | BBbit x_4724 -> h_BBbit x_4724
     946| BBbit x_6329 -> h_BBbit x_6329
    947947| BBundef -> h_BBundef
    948 | BBptrcarry (x_4727, x_4726, p, x_4725) ->
    949   h_BBptrcarry x_4727 x_4726 p x_4725
     948| BBptrcarry (x_6332, x_6331, p, x_6330) ->
     949  h_BBptrcarry x_6332 x_6331 p x_6330
    950950
    951951(** val bebit_inv_rect_Type4 :
  • extracted/classifyOp.ml

    r2773 r2775  
    9696    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    9797    -> classify_add_cases -> 'a1 **)
    98 let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_2428 x_2427 = function
     98let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7259 x_7258 = function
    9999| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    100100| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    108108    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    109109    -> classify_add_cases -> 'a1 **)
    110 let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_2435 x_2434 = function
     110let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7266 x_7265 = function
    111111| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    112112| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    120120    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    121121    -> classify_add_cases -> 'a1 **)
    122 let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_2442 x_2441 = function
     122let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7273 x_7272 = function
    123123| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    124124| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    132132    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    133133    -> classify_add_cases -> 'a1 **)
    134 let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_2449 x_2448 = function
     134let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7280 x_7279 = function
    135135| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    136136| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    144144    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    145145    -> classify_add_cases -> 'a1 **)
    146 let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_2456 x_2455 = function
     146let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7287 x_7286 = function
    147147| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    148148| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    156156    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    157157    -> classify_add_cases -> 'a1 **)
    158 let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_2463 x_2462 = function
     158let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7294 x_7293 = function
    159159| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    160160| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    319319    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    320320    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    321 let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_2519 x_2518 = function
     321let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7350 x_7349 = function
    322322| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    323323| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    331331    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    332332    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    333 let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_2526 x_2525 = function
     333let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7357 x_7356 = function
    334334| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    335335| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    343343    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    344344    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    345 let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_2533 x_2532 = function
     345let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7364 x_7363 = function
    346346| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    347347| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    355355    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    356356    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    357 let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_2540 x_2539 = function
     357let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7371 x_7370 = function
    358358| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    359359| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    367367    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    368368    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    369 let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_2547 x_2546 = function
     369let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7378 x_7377 = function
    370370| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    371371| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    379379    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    380380    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    381 let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_2554 x_2553 = function
     381let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7385 x_7384 = function
    382382| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    383383| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    519519    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    520520    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    521 let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_2608 x_2607 = function
     521let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_7439 x_7438 = function
    522522| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    523523| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    526526    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    527527    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    528 let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_2613 x_2612 = function
     528let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_7444 x_7443 = function
    529529| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    530530| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    533533    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    534534    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    535 let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_2618 x_2617 = function
     535let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_7449 x_7448 = function
    536536| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    537537| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    540540    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    541541    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    542 let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_2623 x_2622 = function
     542let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_7454 x_7453 = function
    543543| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    544544| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    547547    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    548548    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    549 let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_2628 x_2627 = function
     549let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_7459 x_7458 = function
    550550| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    551551| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    554554    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    555555    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    556 let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_2633 x_2632 = function
     556let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_7464 x_7463 = function
    557557| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    558558| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    636636    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    637637    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    638 let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_2674 x_2673 = function
     638let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7505 x_7504 = function
    639639| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    640640| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    645645    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    646646    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    647 let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_2680 x_2679 = function
     647let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7511 x_7510 = function
    648648| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    649649| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    654654    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    655655    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    656 let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_2686 x_2685 = function
     656let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7517 x_7516 = function
    657657| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    658658| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    663663    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    664664    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    665 let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_2692 x_2691 = function
     665let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7523 x_7522 = function
    666666| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    667667| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    672672    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    673673    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    674 let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_2698 x_2697 = function
     674let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7529 x_7528 = function
    675675| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    676676| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    681681    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    682682    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    683 let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_2704 x_2703 = function
     683let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7535 x_7534 = function
    684684| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    685685| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    780780    -> 'a1 **)
    781781let rec classify_fun_cases_rect_Type4 h_fun_case_f h_fun_default = function
    782 | Fun_case_f (x_2752, x_2751) -> h_fun_case_f x_2752 x_2751
     782| Fun_case_f (x_7583, x_7582) -> h_fun_case_f x_7583 x_7582
    783783| Fun_default -> h_fun_default
    784784
     
    787787    -> 'a1 **)
    788788let rec classify_fun_cases_rect_Type5 h_fun_case_f h_fun_default = function
    789 | Fun_case_f (x_2757, x_2756) -> h_fun_case_f x_2757 x_2756
     789| Fun_case_f (x_7588, x_7587) -> h_fun_case_f x_7588 x_7587
    790790| Fun_default -> h_fun_default
    791791
     
    794794    -> 'a1 **)
    795795let rec classify_fun_cases_rect_Type3 h_fun_case_f h_fun_default = function
    796 | Fun_case_f (x_2762, x_2761) -> h_fun_case_f x_2762 x_2761
     796| Fun_case_f (x_7593, x_7592) -> h_fun_case_f x_7593 x_7592
    797797| Fun_default -> h_fun_default
    798798
     
    801801    -> 'a1 **)
    802802let rec classify_fun_cases_rect_Type2 h_fun_case_f h_fun_default = function
    803 | Fun_case_f (x_2767, x_2766) -> h_fun_case_f x_2767 x_2766
     803| Fun_case_f (x_7598, x_7597) -> h_fun_case_f x_7598 x_7597
    804804| Fun_default -> h_fun_default
    805805
     
    808808    -> 'a1 **)
    809809let rec classify_fun_cases_rect_Type1 h_fun_case_f h_fun_default = function
    810 | Fun_case_f (x_2772, x_2771) -> h_fun_case_f x_2772 x_2771
     810| Fun_case_f (x_7603, x_7602) -> h_fun_case_f x_7603 x_7602
    811811| Fun_default -> h_fun_default
    812812
     
    815815    -> 'a1 **)
    816816let rec classify_fun_cases_rect_Type0 h_fun_case_f h_fun_default = function
    817 | Fun_case_f (x_2777, x_2776) -> h_fun_case_f x_2777 x_2776
     817| Fun_case_f (x_7608, x_7607) -> h_fun_case_f x_7608 x_7607
    818818| Fun_default -> h_fun_default
    819819
  • extracted/cminor_syntax.ml

    r2773 r2775  
    113113    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    114114    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    115 let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_8785 = function
    116 | Id (t, x_8787) -> h_Id t x_8787
    117 | Cst (t, x_8788) -> h_Cst t x_8788
    118 | Op1 (t, t', x_8790, x_8789) ->
    119   h_Op1 t t' x_8790 x_8789
    120     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8789)
    121 | Op2 (t1, t2, t', x_8793, x_8792, x_8791) ->
    122   h_Op2 t1 t2 t' x_8793 x_8792 x_8791
    123     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_8792)
    124     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_8791)
    125 | Mem (t, x_8794) ->
    126   h_Mem t x_8794
     115let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13616 = function
     116| Id (t, x_13618) -> h_Id t x_13618
     117| Cst (t, x_13619) -> h_Cst t x_13619
     118| Op1 (t, t', x_13621, x_13620) ->
     119  h_Op1 t t' x_13621 x_13620
     120    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13620)
     121| Op2 (t1, t2, t', x_13624, x_13623, x_13622) ->
     122  h_Op2 t1 t2 t' x_13624 x_13623 x_13622
     123    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13623)
     124    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13622)
     125| Mem (t, x_13625) ->
     126  h_Mem t x_13625
    127127    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    128       x_8794)
    129 | Cond (sz, sg, t, x_8797, x_8796, x_8795) ->
    130   h_Cond sz sg t x_8797 x_8796 x_8795
     128      x_13625)
     129| Cond (sz, sg, t, x_13628, x_13627, x_13626) ->
     130  h_Cond sz sg t x_13628 x_13627 x_13626
    131131    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    132       (sz, sg)) x_8797)
    133     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8796)
    134     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8795)
    135 | Ecost (t, x_8799, x_8798) ->
    136   h_Ecost t x_8799 x_8798
    137     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8798)
     132      (sz, sg)) x_13628)
     133    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13627)
     134    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13626)
     135| Ecost (t, x_13630, x_13629) ->
     136  h_Ecost t x_13630 x_13629
     137    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13629)
    138138
    139139(** val expr_rect_Type3 :
     
    145145    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    146146    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    147 let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_8829 = function
    148 | Id (t, x_8831) -> h_Id t x_8831
    149 | Cst (t, x_8832) -> h_Cst t x_8832
    150 | Op1 (t, t', x_8834, x_8833) ->
    151   h_Op1 t t' x_8834 x_8833
    152     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8833)
    153 | Op2 (t1, t2, t', x_8837, x_8836, x_8835) ->
    154   h_Op2 t1 t2 t' x_8837 x_8836 x_8835
    155     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_8836)
    156     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_8835)
    157 | Mem (t, x_8838) ->
    158   h_Mem t x_8838
     147let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13660 = function
     148| Id (t, x_13662) -> h_Id t x_13662
     149| Cst (t, x_13663) -> h_Cst t x_13663
     150| Op1 (t, t', x_13665, x_13664) ->
     151  h_Op1 t t' x_13665 x_13664
     152    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13664)
     153| Op2 (t1, t2, t', x_13668, x_13667, x_13666) ->
     154  h_Op2 t1 t2 t' x_13668 x_13667 x_13666
     155    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13667)
     156    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13666)
     157| Mem (t, x_13669) ->
     158  h_Mem t x_13669
    159159    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    160       x_8838)
    161 | Cond (sz, sg, t, x_8841, x_8840, x_8839) ->
    162   h_Cond sz sg t x_8841 x_8840 x_8839
     160      x_13669)
     161| Cond (sz, sg, t, x_13672, x_13671, x_13670) ->
     162  h_Cond sz sg t x_13672 x_13671 x_13670
    163163    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    164       (sz, sg)) x_8841)
    165     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8840)
    166     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8839)
    167 | Ecost (t, x_8843, x_8842) ->
    168   h_Ecost t x_8843 x_8842
    169     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8842)
     164      (sz, sg)) x_13672)
     165    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13671)
     166    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13670)
     167| Ecost (t, x_13674, x_13673) ->
     168  h_Ecost t x_13674 x_13673
     169    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13673)
    170170
    171171(** val expr_rect_Type2 :
     
    177177    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    178178    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    179 let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_8851 = function
    180 | Id (t, x_8853) -> h_Id t x_8853
    181 | Cst (t, x_8854) -> h_Cst t x_8854
    182 | Op1 (t, t', x_8856, x_8855) ->
    183   h_Op1 t t' x_8856 x_8855
    184     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8855)
    185 | Op2 (t1, t2, t', x_8859, x_8858, x_8857) ->
    186   h_Op2 t1 t2 t' x_8859 x_8858 x_8857
    187     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_8858)
    188     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_8857)
    189 | Mem (t, x_8860) ->
    190   h_Mem t x_8860
     179let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13682 = function
     180| Id (t, x_13684) -> h_Id t x_13684
     181| Cst (t, x_13685) -> h_Cst t x_13685
     182| Op1 (t, t', x_13687, x_13686) ->
     183  h_Op1 t t' x_13687 x_13686
     184    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13686)
     185| Op2 (t1, t2, t', x_13690, x_13689, x_13688) ->
     186  h_Op2 t1 t2 t' x_13690 x_13689 x_13688
     187    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13689)
     188    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13688)
     189| Mem (t, x_13691) ->
     190  h_Mem t x_13691
    191191    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    192       x_8860)
    193 | Cond (sz, sg, t, x_8863, x_8862, x_8861) ->
    194   h_Cond sz sg t x_8863 x_8862 x_8861
     192      x_13691)
     193| Cond (sz, sg, t, x_13694, x_13693, x_13692) ->
     194  h_Cond sz sg t x_13694 x_13693 x_13692
    195195    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    196       (sz, sg)) x_8863)
    197     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8862)
    198     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8861)
    199 | Ecost (t, x_8865, x_8864) ->
    200   h_Ecost t x_8865 x_8864
    201     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8864)
     196      (sz, sg)) x_13694)
     197    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13693)
     198    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13692)
     199| Ecost (t, x_13696, x_13695) ->
     200  h_Ecost t x_13696 x_13695
     201    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13695)
    202202
    203203(** val expr_rect_Type1 :
     
    209209    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    210210    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    211 let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_8873 = function
    212 | Id (t, x_8875) -> h_Id t x_8875
    213 | Cst (t, x_8876) -> h_Cst t x_8876
    214 | Op1 (t, t', x_8878, x_8877) ->
    215   h_Op1 t t' x_8878 x_8877
    216     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8877)
    217 | Op2 (t1, t2, t', x_8881, x_8880, x_8879) ->
    218   h_Op2 t1 t2 t' x_8881 x_8880 x_8879
    219     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_8880)
    220     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_8879)
    221 | Mem (t, x_8882) ->
    222   h_Mem t x_8882
     211let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13704 = function
     212| Id (t, x_13706) -> h_Id t x_13706
     213| Cst (t, x_13707) -> h_Cst t x_13707
     214| Op1 (t, t', x_13709, x_13708) ->
     215  h_Op1 t t' x_13709 x_13708
     216    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13708)
     217| Op2 (t1, t2, t', x_13712, x_13711, x_13710) ->
     218  h_Op2 t1 t2 t' x_13712 x_13711 x_13710
     219    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13711)
     220    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13710)
     221| Mem (t, x_13713) ->
     222  h_Mem t x_13713
    223223    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    224       x_8882)
    225 | Cond (sz, sg, t, x_8885, x_8884, x_8883) ->
    226   h_Cond sz sg t x_8885 x_8884 x_8883
     224      x_13713)
     225| Cond (sz, sg, t, x_13716, x_13715, x_13714) ->
     226  h_Cond sz sg t x_13716 x_13715 x_13714
    227227    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    228       (sz, sg)) x_8885)
    229     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8884)
    230     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8883)
    231 | Ecost (t, x_8887, x_8886) ->
    232   h_Ecost t x_8887 x_8886
    233     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8886)
     228      (sz, sg)) x_13716)
     229    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13715)
     230    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13714)
     231| Ecost (t, x_13718, x_13717) ->
     232  h_Ecost t x_13718 x_13717
     233    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13717)
    234234
    235235(** val expr_rect_Type0 :
     
    241241    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    242242    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    243 let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_8895 = function
    244 | Id (t, x_8897) -> h_Id t x_8897
    245 | Cst (t, x_8898) -> h_Cst t x_8898
    246 | Op1 (t, t', x_8900, x_8899) ->
    247   h_Op1 t t' x_8900 x_8899
    248     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8899)
    249 | Op2 (t1, t2, t', x_8903, x_8902, x_8901) ->
    250   h_Op2 t1 t2 t' x_8903 x_8902 x_8901
    251     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_8902)
    252     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_8901)
    253 | Mem (t, x_8904) ->
    254   h_Mem t x_8904
     243let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13726 = function
     244| Id (t, x_13728) -> h_Id t x_13728
     245| Cst (t, x_13729) -> h_Cst t x_13729
     246| Op1 (t, t', x_13731, x_13730) ->
     247  h_Op1 t t' x_13731 x_13730
     248    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13730)
     249| Op2 (t1, t2, t', x_13734, x_13733, x_13732) ->
     250  h_Op2 t1 t2 t' x_13734 x_13733 x_13732
     251    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13733)
     252    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13732)
     253| Mem (t, x_13735) ->
     254  h_Mem t x_13735
    255255    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    256       x_8904)
    257 | Cond (sz, sg, t, x_8907, x_8906, x_8905) ->
    258   h_Cond sz sg t x_8907 x_8906 x_8905
     256      x_13735)
     257| Cond (sz, sg, t, x_13738, x_13737, x_13736) ->
     258  h_Cond sz sg t x_13738 x_13737 x_13736
    259259    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    260       (sz, sg)) x_8907)
    261     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8906)
    262     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8905)
    263 | Ecost (t, x_8909, x_8908) ->
    264   h_Ecost t x_8909 x_8908
    265     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_8908)
     260      (sz, sg)) x_13738)
     261    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13737)
     262    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13736)
     263| Ecost (t, x_13740, x_13739) ->
     264  h_Ecost t x_13740 x_13739
     265    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13739)
    266266
    267267(** val expr_inv_rect_Type4 :
     
    373373let rec stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    374374| St_skip -> h_St_skip
    375 | St_assign (t, x_9080, x_9079) -> h_St_assign t x_9080 x_9079
    376 | St_store (t, x_9082, x_9081) -> h_St_store t x_9082 x_9081
    377 | St_call (x_9085, x_9084, x_9083) -> h_St_call x_9085 x_9084 x_9083
    378 | St_seq (x_9087, x_9086) ->
    379   h_St_seq x_9087 x_9086
     375| St_assign (t, x_13911, x_13910) -> h_St_assign t x_13911 x_13910
     376| St_store (t, x_13913, x_13912) -> h_St_store t x_13913 x_13912
     377| St_call (x_13916, x_13915, x_13914) -> h_St_call x_13916 x_13915 x_13914
     378| St_seq (x_13918, x_13917) ->
     379  h_St_seq x_13918 x_13917
    380380    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    381       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9087)
     381      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13918)
    382382    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    383       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9086)
    384 | St_ifthenelse (sz, sg, x_9090, x_9089, x_9088) ->
    385   h_St_ifthenelse sz sg x_9090 x_9089 x_9088
     383      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13917)
     384| St_ifthenelse (sz, sg, x_13921, x_13920, x_13919) ->
     385  h_St_ifthenelse sz sg x_13921 x_13920 x_13919
    386386    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    387       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9089)
     387      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13920)
    388388    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    389       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9088)
    390 | St_return x_9091 -> h_St_return x_9091
    391 | St_label (x_9093, x_9092) ->
    392   h_St_label x_9093 x_9092
     389      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13919)
     390| St_return x_13922 -> h_St_return x_13922
     391| St_label (x_13924, x_13923) ->
     392  h_St_label x_13924 x_13923
    393393    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    394       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9092)
    395 | St_goto x_9094 -> h_St_goto x_9094
    396 | St_cost (x_9096, x_9095) ->
    397   h_St_cost x_9096 x_9095
     394      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13923)
     395| St_goto x_13925 -> h_St_goto x_13925
     396| St_cost (x_13927, x_13926) ->
     397  h_St_cost x_13927 x_13926
    398398    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    399       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9095)
     399      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13926)
    400400
    401401(** val stmt_rect_Type3 :
     
    410410let rec stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    411411| St_skip -> h_St_skip
    412 | St_assign (t, x_9138, x_9137) -> h_St_assign t x_9138 x_9137
    413 | St_store (t, x_9140, x_9139) -> h_St_store t x_9140 x_9139
    414 | St_call (x_9143, x_9142, x_9141) -> h_St_call x_9143 x_9142 x_9141
    415 | St_seq (x_9145, x_9144) ->
    416   h_St_seq x_9145 x_9144
     412| St_assign (t, x_13969, x_13968) -> h_St_assign t x_13969 x_13968
     413| St_store (t, x_13971, x_13970) -> h_St_store t x_13971 x_13970
     414| St_call (x_13974, x_13973, x_13972) -> h_St_call x_13974 x_13973 x_13972
     415| St_seq (x_13976, x_13975) ->
     416  h_St_seq x_13976 x_13975
    417417    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    418       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9145)
     418      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13976)
    419419    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    420       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9144)
    421 | St_ifthenelse (sz, sg, x_9148, x_9147, x_9146) ->
    422   h_St_ifthenelse sz sg x_9148 x_9147 x_9146
     420      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13975)
     421| St_ifthenelse (sz, sg, x_13979, x_13978, x_13977) ->
     422  h_St_ifthenelse sz sg x_13979 x_13978 x_13977
    423423    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    424       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9147)
     424      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13978)
    425425    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    426       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9146)
    427 | St_return x_9149 -> h_St_return x_9149
    428 | St_label (x_9151, x_9150) ->
    429   h_St_label x_9151 x_9150
     426      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13977)
     427| St_return x_13980 -> h_St_return x_13980
     428| St_label (x_13982, x_13981) ->
     429  h_St_label x_13982 x_13981
    430430    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    431       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9150)
    432 | St_goto x_9152 -> h_St_goto x_9152
    433 | St_cost (x_9154, x_9153) ->
    434   h_St_cost x_9154 x_9153
     431      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13981)
     432| St_goto x_13983 -> h_St_goto x_13983
     433| St_cost (x_13985, x_13984) ->
     434  h_St_cost x_13985 x_13984
    435435    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    436       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9153)
     436      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13984)
    437437
    438438(** val stmt_rect_Type2 :
     
    447447let rec stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    448448| St_skip -> h_St_skip
    449 | St_assign (t, x_9167, x_9166) -> h_St_assign t x_9167 x_9166
    450 | St_store (t, x_9169, x_9168) -> h_St_store t x_9169 x_9168
    451 | St_call (x_9172, x_9171, x_9170) -> h_St_call x_9172 x_9171 x_9170
    452 | St_seq (x_9174, x_9173) ->
    453   h_St_seq x_9174 x_9173
     449| St_assign (t, x_13998, x_13997) -> h_St_assign t x_13998 x_13997
     450| St_store (t, x_14000, x_13999) -> h_St_store t x_14000 x_13999
     451| St_call (x_14003, x_14002, x_14001) -> h_St_call x_14003 x_14002 x_14001
     452| St_seq (x_14005, x_14004) ->
     453  h_St_seq x_14005 x_14004
    454454    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    455       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9174)
     455      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14005)
    456456    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    457       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9173)
    458 | St_ifthenelse (sz, sg, x_9177, x_9176, x_9175) ->
    459   h_St_ifthenelse sz sg x_9177 x_9176 x_9175
     457      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14004)
     458| St_ifthenelse (sz, sg, x_14008, x_14007, x_14006) ->
     459  h_St_ifthenelse sz sg x_14008 x_14007 x_14006
    460460    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    461       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9176)
     461      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14007)
    462462    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    463       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9175)
    464 | St_return x_9178 -> h_St_return x_9178
    465 | St_label (x_9180, x_9179) ->
    466   h_St_label x_9180 x_9179
     463      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14006)
     464| St_return x_14009 -> h_St_return x_14009
     465| St_label (x_14011, x_14010) ->
     466  h_St_label x_14011 x_14010
    467467    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    468       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9179)
    469 | St_goto x_9181 -> h_St_goto x_9181
    470 | St_cost (x_9183, x_9182) ->
    471   h_St_cost x_9183 x_9182
     468      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14010)
     469| St_goto x_14012 -> h_St_goto x_14012
     470| St_cost (x_14014, x_14013) ->
     471  h_St_cost x_14014 x_14013
    472472    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    473       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9182)
     473      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14013)
    474474
    475475(** val stmt_rect_Type1 :
     
    484484let rec stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    485485| St_skip -> h_St_skip
    486 | St_assign (t, x_9196, x_9195) -> h_St_assign t x_9196 x_9195
    487 | St_store (t, x_9198, x_9197) -> h_St_store t x_9198 x_9197
    488 | St_call (x_9201, x_9200, x_9199) -> h_St_call x_9201 x_9200 x_9199
    489 | St_seq (x_9203, x_9202) ->
    490   h_St_seq x_9203 x_9202
     486| St_assign (t, x_14027, x_14026) -> h_St_assign t x_14027 x_14026
     487| St_store (t, x_14029, x_14028) -> h_St_store t x_14029 x_14028
     488| St_call (x_14032, x_14031, x_14030) -> h_St_call x_14032 x_14031 x_14030
     489| St_seq (x_14034, x_14033) ->
     490  h_St_seq x_14034 x_14033
    491491    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    492       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9203)
     492      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14034)
    493493    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    494       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9202)
    495 | St_ifthenelse (sz, sg, x_9206, x_9205, x_9204) ->
    496   h_St_ifthenelse sz sg x_9206 x_9205 x_9204
     494      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14033)
     495| St_ifthenelse (sz, sg, x_14037, x_14036, x_14035) ->
     496  h_St_ifthenelse sz sg x_14037 x_14036 x_14035
    497497    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    498       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9205)
     498      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14036)
    499499    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    500       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9204)
    501 | St_return x_9207 -> h_St_return x_9207
    502 | St_label (x_9209, x_9208) ->
    503   h_St_label x_9209 x_9208
     500      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14035)
     501| St_return x_14038 -> h_St_return x_14038
     502| St_label (x_14040, x_14039) ->
     503  h_St_label x_14040 x_14039
    504504    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    505       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9208)
    506 | St_goto x_9210 -> h_St_goto x_9210
    507 | St_cost (x_9212, x_9211) ->
    508   h_St_cost x_9212 x_9211
     505      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14039)
     506| St_goto x_14041 -> h_St_goto x_14041
     507| St_cost (x_14043, x_14042) ->
     508  h_St_cost x_14043 x_14042
    509509    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    510       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9211)
     510      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14042)
    511511
    512512(** val stmt_rect_Type0 :
     
    521521let rec stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    522522| St_skip -> h_St_skip
    523 | St_assign (t, x_9225, x_9224) -> h_St_assign t x_9225 x_9224
    524 | St_store (t, x_9227, x_9226) -> h_St_store t x_9227 x_9226
    525 | St_call (x_9230, x_9229, x_9228) -> h_St_call x_9230 x_9229 x_9228
    526 | St_seq (x_9232, x_9231) ->
    527   h_St_seq x_9232 x_9231
     523| St_assign (t, x_14056, x_14055) -> h_St_assign t x_14056 x_14055
     524| St_store (t, x_14058, x_14057) -> h_St_store t x_14058 x_14057
     525| St_call (x_14061, x_14060, x_14059) -> h_St_call x_14061 x_14060 x_14059
     526| St_seq (x_14063, x_14062) ->
     527  h_St_seq x_14063 x_14062
    528528    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    529       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9232)
     529      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14063)
    530530    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    531       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9231)
    532 | St_ifthenelse (sz, sg, x_9235, x_9234, x_9233) ->
    533   h_St_ifthenelse sz sg x_9235 x_9234 x_9233
     531      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14062)
     532| St_ifthenelse (sz, sg, x_14066, x_14065, x_14064) ->
     533  h_St_ifthenelse sz sg x_14066 x_14065 x_14064
    534534    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    535       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9234)
     535      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14065)
    536536    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    537       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9233)
    538 | St_return x_9236 -> h_St_return x_9236
    539 | St_label (x_9238, x_9237) ->
    540   h_St_label x_9238 x_9237
     537      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14064)
     538| St_return x_14067 -> h_St_return x_14067
     539| St_label (x_14069, x_14068) ->
     540  h_St_label x_14069 x_14068
    541541    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    542       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9237)
    543 | St_goto x_9239 -> h_St_goto x_9239
    544 | St_cost (x_9241, x_9240) ->
    545   h_St_cost x_9241 x_9240
     542      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14068)
     543| St_goto x_14070 -> h_St_goto x_14070
     544| St_cost (x_14072, x_14071) ->
     545  h_St_cost x_14072 x_14071
    546546    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    547       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_9240)
     547      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14071)
    548548
    549549(** val stmt_inv_rect_Type4 :
     
    757757    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    758758    -> 'a1) -> internal_function -> 'a1 **)
    759 let rec internal_function_rect_Type4 h_mk_internal_function x_9536 =
     759let rec internal_function_rect_Type4 h_mk_internal_function x_14367 =
    760760  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    761     f_stacksize = f_stacksize0; f_body = f_body0 } = x_9536
     761    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14367
    762762  in
    763763  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    768768    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    769769    -> 'a1) -> internal_function -> 'a1 **)
    770 let rec internal_function_rect_Type5 h_mk_internal_function x_9538 =
     770let rec internal_function_rect_Type5 h_mk_internal_function x_14369 =
    771771  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    772     f_stacksize = f_stacksize0; f_body = f_body0 } = x_9538
     772    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14369
    773773  in
    774774  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    779779    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    780780    -> 'a1) -> internal_function -> 'a1 **)
    781 let rec internal_function_rect_Type3 h_mk_internal_function x_9540 =
     781let rec internal_function_rect_Type3 h_mk_internal_function x_14371 =
    782782  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    783     f_stacksize = f_stacksize0; f_body = f_body0 } = x_9540
     783    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14371
    784784  in
    785785  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    790790    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    791791    -> 'a1) -> internal_function -> 'a1 **)
    792 let rec internal_function_rect_Type2 h_mk_internal_function x_9542 =
     792let rec internal_function_rect_Type2 h_mk_internal_function x_14373 =
    793793  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    794     f_stacksize = f_stacksize0; f_body = f_body0 } = x_9542
     794    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14373
    795795  in
    796796  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    801801    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    802802    -> 'a1) -> internal_function -> 'a1 **)
    803 let rec internal_function_rect_Type1 h_mk_internal_function x_9544 =
     803let rec internal_function_rect_Type1 h_mk_internal_function x_14375 =
    804804  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    805     f_stacksize = f_stacksize0; f_body = f_body0 } = x_9544
     805    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14375
    806806  in
    807807  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    812812    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    813813    -> 'a1) -> internal_function -> 'a1 **)
    814 let rec internal_function_rect_Type0 h_mk_internal_function x_9546 =
     814let rec internal_function_rect_Type0 h_mk_internal_function x_14377 =
    815815  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    816     f_stacksize = f_stacksize0; f_body = f_body0 } = x_9546
     816    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14377
    817817  in
    818818  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
  • extracted/compiler.ml

    r2773 r2775  
    218218open TranslateUtils
    219219
    220 open AssocList
    221 
    222220open String
    223221
     
    277275
    278276(** val back_end :
    279     RTLabs_syntax.rTLabs_program -> ASM.pseudo_assembly_program Errors.res **)
     277    RTLabs_syntax.rTLabs_program -> ((ASM.pseudo_assembly_program,
     278    Joint.stack_cost_model) Types.prod, Nat.nat) Types.prod Errors.res **)
    280279let back_end p =
    281280  let p0 = RTLabsToRTL.rtlabs_to_rtl p in
    282281  let p1 = RTLToERTL.rtl_to_ertl p0 in
    283282  let p2 = ERTLToERTLptr.ertl_to_ertlptr p1 in
    284   let p3 = ERTLptrToLTL.ertlptr_to_ltl compute_fixpoint colour_graph p2 in
     283  let { Types.fst = eta29073; Types.snd = max_stack } =
     284    ERTLptrToLTL.ertlptr_to_ltl compute_fixpoint colour_graph p2
     285  in
     286  let { Types.fst = p3; Types.snd = stack_cost } = eta29073 in
    285287  let p4 = LTLToLIN.ltl_to_lin p3 in
    286   Errors.opt_to_res (Errors.msg ErrorMessages.AssemblyTooLarge)
    287     (LINToASM.lin_to_asm p4)
     288  let p5 = LINToASM.lin_to_asm p4 in
     289  (match p5 with
     290   | Types.None -> Errors.Error (Errors.msg ErrorMessages.AssemblyTooLarge)
     291   | Types.Some p6 ->
     292     Errors.OK { Types.fst = { Types.fst = p6; Types.snd = stack_cost };
     293       Types.snd = max_stack })
    288294
    289295open Assembly
     
    335341open ASMCostsSplit
    336342
    337 (** val compile :
    338     Csyntax.clight_program -> (ASM.labelled_object_code,
    339     (Csyntax.clight_program, Label.clight_cost_map) Types.dPair) Types.prod
    340     Errors.res **)
     343type compiler_output = { c_labelled_object_code : ASM.labelled_object_code;
     344                         c_stack_cost : Joint.stack_cost_model;
     345                         c_max_stack : Nat.nat;
     346                         c_labelled_clight : Csyntax.clight_program;
     347                         c_clight_cost_map : Label.clight_cost_map }
     348
     349(** val compiler_output_rect_Type4 :
     350    (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
     351    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
     352    compiler_output -> 'a1 **)
     353let rec compiler_output_rect_Type4 h_mk_compiler_output x_24820 =
     354  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
     355    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
     356    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24820
     357  in
     358  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     359    c_labelled_clight0 c_clight_cost_map0
     360
     361(** val compiler_output_rect_Type5 :
     362    (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
     363    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
     364    compiler_output -> 'a1 **)
     365let rec compiler_output_rect_Type5 h_mk_compiler_output x_24822 =
     366  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
     367    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
     368    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24822
     369  in
     370  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     371    c_labelled_clight0 c_clight_cost_map0
     372
     373(** val compiler_output_rect_Type3 :
     374    (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
     375    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
     376    compiler_output -> 'a1 **)
     377let rec compiler_output_rect_Type3 h_mk_compiler_output x_24824 =
     378  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
     379    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
     380    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24824
     381  in
     382  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     383    c_labelled_clight0 c_clight_cost_map0
     384
     385(** val compiler_output_rect_Type2 :
     386    (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
     387    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
     388    compiler_output -> 'a1 **)
     389let rec compiler_output_rect_Type2 h_mk_compiler_output x_24826 =
     390  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
     391    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
     392    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24826
     393  in
     394  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     395    c_labelled_clight0 c_clight_cost_map0
     396
     397(** val compiler_output_rect_Type1 :
     398    (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
     399    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
     400    compiler_output -> 'a1 **)
     401let rec compiler_output_rect_Type1 h_mk_compiler_output x_24828 =
     402  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
     403    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
     404    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24828
     405  in
     406  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     407    c_labelled_clight0 c_clight_cost_map0
     408
     409(** val compiler_output_rect_Type0 :
     410    (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
     411    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
     412    compiler_output -> 'a1 **)
     413let rec compiler_output_rect_Type0 h_mk_compiler_output x_24830 =
     414  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
     415    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
     416    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24830
     417  in
     418  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     419    c_labelled_clight0 c_clight_cost_map0
     420
     421(** val c_labelled_object_code :
     422    compiler_output -> ASM.labelled_object_code **)
     423let rec c_labelled_object_code xxx =
     424  xxx.c_labelled_object_code
     425
     426(** val c_stack_cost : compiler_output -> Joint.stack_cost_model **)
     427let rec c_stack_cost xxx =
     428  xxx.c_stack_cost
     429
     430(** val c_max_stack : compiler_output -> Nat.nat **)
     431let rec c_max_stack xxx =
     432  xxx.c_max_stack
     433
     434(** val c_labelled_clight : compiler_output -> Csyntax.clight_program **)
     435let rec c_labelled_clight xxx =
     436  xxx.c_labelled_clight
     437
     438(** val c_clight_cost_map : compiler_output -> Label.clight_cost_map **)
     439let rec c_clight_cost_map xxx =
     440  xxx.c_clight_cost_map
     441
     442(** val compiler_output_inv_rect_Type4 :
     443    compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
     444    Nat.nat -> Csyntax.clight_program -> Label.clight_cost_map -> __ -> 'a1)
     445    -> 'a1 **)
     446let compiler_output_inv_rect_Type4 hterm h1 =
     447  let hcut = compiler_output_rect_Type4 h1 hterm in hcut __
     448
     449(** val compiler_output_inv_rect_Type3 :
     450    compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
     451    Nat.nat -> Csyntax.clight_program -> Label.clight_cost_map -> __ -> 'a1)
     452    -> 'a1 **)
     453let compiler_output_inv_rect_Type3 hterm h1 =
     454  let hcut = compiler_output_rect_Type3 h1 hterm in hcut __
     455
     456(** val compiler_output_inv_rect_Type2 :
     457    compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
     458    Nat.nat -> Csyntax.clight_program -> Label.clight_cost_map -> __ -> 'a1)
     459    -> 'a1 **)
     460let compiler_output_inv_rect_Type2 hterm h1 =
     461  let hcut = compiler_output_rect_Type2 h1 hterm in hcut __
     462
     463(** val compiler_output_inv_rect_Type1 :
     464    compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
     465    Nat.nat -> Csyntax.clight_program -> Label.clight_cost_map -> __ -> 'a1)
     466    -> 'a1 **)
     467let compiler_output_inv_rect_Type1 hterm h1 =
     468  let hcut = compiler_output_rect_Type1 h1 hterm in hcut __
     469
     470(** val compiler_output_inv_rect_Type0 :
     471    compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
     472    Nat.nat -> Csyntax.clight_program -> Label.clight_cost_map -> __ -> 'a1)
     473    -> 'a1 **)
     474let compiler_output_inv_rect_Type0 hterm h1 =
     475  let hcut = compiler_output_rect_Type0 h1 hterm in hcut __
     476
     477(** val compiler_output_discr : compiler_output -> compiler_output -> __ **)
     478let compiler_output_discr x y =
     479  Logic.eq_rect_Type2 x
     480    (let { c_labelled_object_code = a0; c_stack_cost = a1; c_max_stack = a2;
     481       c_labelled_clight = a3; c_clight_cost_map = a4 } = x
     482     in
     483    Obj.magic (fun _ dH -> dH __ __ __ __ __)) y
     484
     485(** val compiler_output_jmdiscr :
     486    compiler_output -> compiler_output -> __ **)
     487let compiler_output_jmdiscr x y =
     488  Logic.eq_rect_Type2 x
     489    (let { c_labelled_object_code = a0; c_stack_cost = a1; c_max_stack = a2;
     490       c_labelled_clight = a3; c_clight_cost_map = a4 } = x
     491     in
     492    Obj.magic (fun _ dH -> dH __ __ __ __ __)) y
     493
     494(** val compile : Csyntax.clight_program -> compiler_output Errors.res **)
    341495let compile p =
    342496  Obj.magic
    343497    (Monad.m_bind3 (Monad.max_def Errors.res0) (Obj.magic (front_end p))
    344498      (fun init_cost p' p0 ->
    345       Monad.m_bind0 (Monad.max_def Errors.res0) (Obj.magic (back_end p0))
    346         (fun p1 ->
     499      Monad.m_bind3 (Monad.max_def Errors.res0) (Obj.magic (back_end p0))
     500        (fun p1 stack_cost max_stack ->
    347501        Monad.m_bind0 (Monad.max_def Errors.res0) (Obj.magic (assembler p1))
    348502          (fun p2 ->
     
    352506              p2.ASM.costlabels k
    353507          in
    354           Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst = p2;
    355             Types.snd = { Types.dpi1 = p'; Types.dpi2 = k' } }))))
    356 
     508          Monad.m_return0 (Monad.max_def Errors.res0)
     509            { c_labelled_object_code = p2; c_stack_cost = stack_cost;
     510            c_max_stack = max_stack; c_labelled_clight = p';
     511            c_clight_cost_map = k' }))))
     512
  • extracted/compiler.mli

    r2773 r2775  
    199199open TranslateUtils
    200200
    201 open AssocList
    202 
    203201open String
    204202
     
    256254
    257255val back_end :
    258   RTLabs_syntax.rTLabs_program -> ASM.pseudo_assembly_program Errors.res
     256  RTLabs_syntax.rTLabs_program -> ((ASM.pseudo_assembly_program,
     257  Joint.stack_cost_model) Types.prod, Nat.nat) Types.prod Errors.res
    259258
    260259open Assembly
     
    290289open ASMCostsSplit
    291290
    292 val compile :
    293   Csyntax.clight_program -> (ASM.labelled_object_code,
    294   (Csyntax.clight_program, Label.clight_cost_map) Types.dPair) Types.prod
    295   Errors.res
    296 
     291type compiler_output = { c_labelled_object_code : ASM.labelled_object_code;
     292                         c_stack_cost : Joint.stack_cost_model;
     293                         c_max_stack : Nat.nat;
     294                         c_labelled_clight : Csyntax.clight_program;
     295                         c_clight_cost_map : Label.clight_cost_map }
     296
     297val compiler_output_rect_Type4 :
     298  (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
     299  Csyntax.clight_program -> Label.clight_cost_map -> 'a1) -> compiler_output
     300  -> 'a1
     301
     302val compiler_output_rect_Type5 :
     303  (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
     304  Csyntax.clight_program -> Label.clight_cost_map -> 'a1) -> compiler_output
     305  -> 'a1
     306
     307val compiler_output_rect_Type3 :
     308  (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
     309  Csyntax.clight_program -> Label.clight_cost_map -> 'a1) -> compiler_output
     310  -> 'a1
     311
     312val compiler_output_rect_Type2 :
     313  (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
     314  Csyntax.clight_program -> Label.clight_cost_map -> 'a1) -> compiler_output
     315  -> 'a1
     316
     317val compiler_output_rect_Type1 :
     318  (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
     319  Csyntax.clight_program -> Label.clight_cost_map -> 'a1) -> compiler_output
     320  -> 'a1
     321
     322val compiler_output_rect_Type0 :
     323  (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
     324  Csyntax.clight_program -> Label.clight_cost_map -> 'a1) -> compiler_output
     325  -> 'a1
     326
     327val c_labelled_object_code : compiler_output -> ASM.labelled_object_code
     328
     329val c_stack_cost : compiler_output -> Joint.stack_cost_model
     330
     331val c_max_stack : compiler_output -> Nat.nat
     332
     333val c_labelled_clight : compiler_output -> Csyntax.clight_program
     334
     335val c_clight_cost_map : compiler_output -> Label.clight_cost_map
     336
     337val compiler_output_inv_rect_Type4 :
     338  compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
     339  Nat.nat -> Csyntax.clight_program -> Label.clight_cost_map -> __ -> 'a1) ->
     340  'a1
     341
     342val compiler_output_inv_rect_Type3 :
     343  compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
     344  Nat.nat -> Csyntax.clight_program -> Label.clight_cost_map -> __ -> 'a1) ->
     345  'a1
     346
     347val compiler_output_inv_rect_Type2 :
     348  compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
     349  Nat.nat -> Csyntax.clight_program -> Label.clight_cost_map -> __ -> 'a1) ->
     350  'a1
     351
     352val compiler_output_inv_rect_Type1 :
     353  compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
     354  Nat.nat -> Csyntax.clight_program -> Label.clight_cost_map -> __ -> 'a1) ->
     355  'a1
     356
     357val compiler_output_inv_rect_Type0 :
     358  compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
     359  Nat.nat -> Csyntax.clight_program -> Label.clight_cost_map -> __ -> 'a1) ->
     360  'a1
     361
     362val compiler_output_discr : compiler_output -> compiler_output -> __
     363
     364val compiler_output_jmdiscr : compiler_output -> compiler_output -> __
     365
     366val compile : Csyntax.clight_program -> compiler_output Errors.res
     367
  • extracted/csem.ml

    r2773 r2775  
    778778let rec cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    779779| Kstop -> h_Kstop
    780 | Kseq (x_3726, x_3725) ->
    781   h_Kseq x_3726 x_3725
     780| Kseq (x_8557, x_8556) ->
     781  h_Kseq x_8557 x_8556
    782782    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    783       h_Kswitch h_Kcall x_3725)
    784 | Kwhile (x_3729, x_3728, x_3727) ->
    785   h_Kwhile x_3729 x_3728 x_3727
     783      h_Kswitch h_Kcall x_8556)
     784| Kwhile (x_8560, x_8559, x_8558) ->
     785  h_Kwhile x_8560 x_8559 x_8558
    786786    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    787       h_Kswitch h_Kcall x_3727)
    788 | Kdowhile (x_3732, x_3731, x_3730) ->
    789   h_Kdowhile x_3732 x_3731 x_3730
     787      h_Kswitch h_Kcall x_8558)
     788| Kdowhile (x_8563, x_8562, x_8561) ->
     789  h_Kdowhile x_8563 x_8562 x_8561
    790790    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    791       h_Kswitch h_Kcall x_3730)
    792 | Kfor2 (x_3736, x_3735, x_3734, x_3733) ->
    793   h_Kfor2 x_3736 x_3735 x_3734 x_3733
     791      h_Kswitch h_Kcall x_8561)
     792| Kfor2 (x_8567, x_8566, x_8565, x_8564) ->
     793  h_Kfor2 x_8567 x_8566 x_8565 x_8564
    794794    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    795       h_Kswitch h_Kcall x_3733)
    796 | Kfor3 (x_3740, x_3739, x_3738, x_3737) ->
    797   h_Kfor3 x_3740 x_3739 x_3738 x_3737
     795      h_Kswitch h_Kcall x_8564)
     796| Kfor3 (x_8571, x_8570, x_8569, x_8568) ->
     797  h_Kfor3 x_8571 x_8570 x_8569 x_8568
    798798    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    799       h_Kswitch h_Kcall x_3737)
    800 | Kswitch x_3741 ->
    801   h_Kswitch x_3741
     799      h_Kswitch h_Kcall x_8568)
     800| Kswitch x_8572 ->
     801  h_Kswitch x_8572
    802802    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    803       h_Kswitch h_Kcall x_3741)
    804 | Kcall (x_3745, x_3744, x_3743, x_3742) ->
    805   h_Kcall x_3745 x_3744 x_3743 x_3742
     803      h_Kswitch h_Kcall x_8572)
     804| Kcall (x_8576, x_8575, x_8574, x_8573) ->
     805  h_Kcall x_8576 x_8575 x_8574 x_8573
    806806    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    807       h_Kswitch h_Kcall x_3742)
     807      h_Kswitch h_Kcall x_8573)
    808808
    809809(** val cont_rect_Type3 :
     
    818818let rec cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    819819| Kstop -> h_Kstop
    820 | Kseq (x_3786, x_3785) ->
    821   h_Kseq x_3786 x_3785
     820| Kseq (x_8617, x_8616) ->
     821  h_Kseq x_8617 x_8616
    822822    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    823       h_Kswitch h_Kcall x_3785)
    824 | Kwhile (x_3789, x_3788, x_3787) ->
    825   h_Kwhile x_3789 x_3788 x_3787
     823      h_Kswitch h_Kcall x_8616)
     824| Kwhile (x_8620, x_8619, x_8618) ->
     825  h_Kwhile x_8620 x_8619 x_8618
    826826    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    827       h_Kswitch h_Kcall x_3787)
    828 | Kdowhile (x_3792, x_3791, x_3790) ->
    829   h_Kdowhile x_3792 x_3791 x_3790
     827      h_Kswitch h_Kcall x_8618)
     828| Kdowhile (x_8623, x_8622, x_8621) ->
     829  h_Kdowhile x_8623 x_8622 x_8621
    830830    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    831       h_Kswitch h_Kcall x_3790)
    832 | Kfor2 (x_3796, x_3795, x_3794, x_3793) ->
    833   h_Kfor2 x_3796 x_3795 x_3794 x_3793
     831      h_Kswitch h_Kcall x_8621)
     832| Kfor2 (x_8627, x_8626, x_8625, x_8624) ->
     833  h_Kfor2 x_8627 x_8626 x_8625 x_8624
    834834    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    835       h_Kswitch h_Kcall x_3793)
    836 | Kfor3 (x_3800, x_3799, x_3798, x_3797) ->
    837   h_Kfor3 x_3800 x_3799 x_3798 x_3797
     835      h_Kswitch h_Kcall x_8624)
     836| Kfor3 (x_8631, x_8630, x_8629, x_8628) ->
     837  h_Kfor3 x_8631 x_8630 x_8629 x_8628
    838838    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    839       h_Kswitch h_Kcall x_3797)
    840 | Kswitch x_3801 ->
    841   h_Kswitch x_3801
     839      h_Kswitch h_Kcall x_8628)
     840| Kswitch x_8632 ->
     841  h_Kswitch x_8632
    842842    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    843       h_Kswitch h_Kcall x_3801)
    844 | Kcall (x_3805, x_3804, x_3803, x_3802) ->
    845   h_Kcall x_3805 x_3804 x_3803 x_3802
     843      h_Kswitch h_Kcall x_8632)
     844| Kcall (x_8636, x_8635, x_8634, x_8633) ->
     845  h_Kcall x_8636 x_8635 x_8634 x_8633
    846846    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    847       h_Kswitch h_Kcall x_3802)
     847      h_Kswitch h_Kcall x_8633)
    848848
    849849(** val cont_rect_Type2 :
     
    858858let rec cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    859859| Kstop -> h_Kstop
    860 | Kseq (x_3816, x_3815) ->
    861   h_Kseq x_3816 x_3815
     860| Kseq (x_8647, x_8646) ->
     861  h_Kseq x_8647 x_8646
    862862    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    863       h_Kswitch h_Kcall x_3815)
    864 | Kwhile (x_3819, x_3818, x_3817) ->
    865   h_Kwhile x_3819 x_3818 x_3817
     863      h_Kswitch h_Kcall x_8646)
     864| Kwhile (x_8650, x_8649, x_8648) ->
     865  h_Kwhile x_8650 x_8649 x_8648
    866866    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    867       h_Kswitch h_Kcall x_3817)
    868 | Kdowhile (x_3822, x_3821, x_3820) ->
    869   h_Kdowhile x_3822 x_3821 x_3820
     867      h_Kswitch h_Kcall x_8648)
     868| Kdowhile (x_8653, x_8652, x_8651) ->
     869  h_Kdowhile x_8653 x_8652 x_8651
    870870    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    871       h_Kswitch h_Kcall x_3820)
    872 | Kfor2 (x_3826, x_3825, x_3824, x_3823) ->
    873   h_Kfor2 x_3826 x_3825 x_3824 x_3823
     871      h_Kswitch h_Kcall x_8651)
     872| Kfor2 (x_8657, x_8656, x_8655, x_8654) ->
     873  h_Kfor2 x_8657 x_8656 x_8655 x_8654
    874874    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    875       h_Kswitch h_Kcall x_3823)
    876 | Kfor3 (x_3830, x_3829, x_3828, x_3827) ->
    877   h_Kfor3 x_3830 x_3829 x_3828 x_3827
     875      h_Kswitch h_Kcall x_8654)
     876| Kfor3 (x_8661, x_8660, x_8659, x_8658) ->
     877  h_Kfor3 x_8661 x_8660 x_8659 x_8658
    878878    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    879       h_Kswitch h_Kcall x_3827)
    880 | Kswitch x_3831 ->
    881   h_Kswitch x_3831
     879      h_Kswitch h_Kcall x_8658)
     880| Kswitch x_8662 ->
     881  h_Kswitch x_8662
    882882    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    883       h_Kswitch h_Kcall x_3831)
    884 | Kcall (x_3835, x_3834, x_3833, x_3832) ->
    885   h_Kcall x_3835 x_3834 x_3833 x_3832
     883      h_Kswitch h_Kcall x_8662)
     884| Kcall (x_8666, x_8665, x_8664, x_8663) ->
     885  h_Kcall x_8666 x_8665 x_8664 x_8663
    886886    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    887       h_Kswitch h_Kcall x_3832)
     887      h_Kswitch h_Kcall x_8663)
    888888
    889889(** val cont_rect_Type1 :
     
    898898let rec cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    899899| Kstop -> h_Kstop
    900 | Kseq (x_3846, x_3845) ->
    901   h_Kseq x_3846 x_3845
     900| Kseq (x_8677, x_8676) ->
     901  h_Kseq x_8677 x_8676
    902902    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    903       h_Kswitch h_Kcall x_3845)
    904 | Kwhile (x_3849, x_3848, x_3847) ->
    905   h_Kwhile x_3849 x_3848 x_3847
     903      h_Kswitch h_Kcall x_8676)
     904| Kwhile (x_8680, x_8679, x_8678) ->
     905  h_Kwhile x_8680 x_8679 x_8678
    906906    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    907       h_Kswitch h_Kcall x_3847)
    908 | Kdowhile (x_3852, x_3851, x_3850) ->
    909   h_Kdowhile x_3852 x_3851 x_3850
     907      h_Kswitch h_Kcall x_8678)
     908| Kdowhile (x_8683, x_8682, x_8681) ->
     909  h_Kdowhile x_8683 x_8682 x_8681
    910910    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    911       h_Kswitch h_Kcall x_3850)
    912 | Kfor2 (x_3856, x_3855, x_3854, x_3853) ->
    913   h_Kfor2 x_3856 x_3855 x_3854 x_3853
     911      h_Kswitch h_Kcall x_8681)
     912| Kfor2 (x_8687, x_8686, x_8685, x_8684) ->
     913  h_Kfor2 x_8687 x_8686 x_8685 x_8684
    914914    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    915       h_Kswitch h_Kcall x_3853)
    916 | Kfor3 (x_3860, x_3859, x_3858, x_3857) ->
    917   h_Kfor3 x_3860 x_3859 x_3858 x_3857
     915      h_Kswitch h_Kcall x_8684)
     916| Kfor3 (x_8691, x_8690, x_8689, x_8688) ->
     917  h_Kfor3 x_8691 x_8690 x_8689 x_8688
    918918    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    919       h_Kswitch h_Kcall x_3857)
    920 | Kswitch x_3861 ->
    921   h_Kswitch x_3861
     919      h_Kswitch h_Kcall x_8688)
     920| Kswitch x_8692 ->
     921  h_Kswitch x_8692
    922922    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    923       h_Kswitch h_Kcall x_3861)
    924 | Kcall (x_3865, x_3864, x_3863, x_3862) ->
    925   h_Kcall x_3865 x_3864 x_3863 x_3862
     923      h_Kswitch h_Kcall x_8692)
     924| Kcall (x_8696, x_8695, x_8694, x_8693) ->
     925  h_Kcall x_8696 x_8695 x_8694 x_8693
    926926    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    927       h_Kswitch h_Kcall x_3862)
     927      h_Kswitch h_Kcall x_8693)
    928928
    929929(** val cont_rect_Type0 :
     
    938938let rec cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    939939| Kstop -> h_Kstop
    940 | Kseq (x_3876, x_3875) ->
    941   h_Kseq x_3876 x_3875
     940| Kseq (x_8707, x_8706) ->
     941  h_Kseq x_8707 x_8706
    942942    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    943       h_Kswitch h_Kcall x_3875)
    944 | Kwhile (x_3879, x_3878, x_3877) ->
    945   h_Kwhile x_3879 x_3878 x_3877
     943      h_Kswitch h_Kcall x_8706)
     944| Kwhile (x_8710, x_8709, x_8708) ->
     945  h_Kwhile x_8710 x_8709 x_8708
    946946    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    947       h_Kswitch h_Kcall x_3877)
    948 | Kdowhile (x_3882, x_3881, x_3880) ->
    949   h_Kdowhile x_3882 x_3881 x_3880
     947      h_Kswitch h_Kcall x_8708)
     948| Kdowhile (x_8713, x_8712, x_8711) ->
     949  h_Kdowhile x_8713 x_8712 x_8711
    950950    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    951       h_Kswitch h_Kcall x_3880)
    952 | Kfor2 (x_3886, x_3885, x_3884, x_3883) ->
    953   h_Kfor2 x_3886 x_3885 x_3884 x_3883
     951      h_Kswitch h_Kcall x_8711)
     952| Kfor2 (x_8717, x_8716, x_8715, x_8714) ->
     953  h_Kfor2 x_8717 x_8716 x_8715 x_8714
    954954    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    955       h_Kswitch h_Kcall x_3883)
    956 | Kfor3 (x_3890, x_3889, x_3888, x_3887) ->
    957   h_Kfor3 x_3890 x_3889 x_3888 x_3887
     955      h_Kswitch h_Kcall x_8714)
     956| Kfor3 (x_8721, x_8720, x_8719, x_8718) ->
     957  h_Kfor3 x_8721 x_8720 x_8719 x_8718
    958958    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    959       h_Kswitch h_Kcall x_3887)
    960 | Kswitch x_3891 ->
    961   h_Kswitch x_3891
     959      h_Kswitch h_Kcall x_8718)
     960| Kswitch x_8722 ->
     961  h_Kswitch x_8722
    962962    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    963       h_Kswitch h_Kcall x_3891)
    964 | Kcall (x_3895, x_3894, x_3893, x_3892) ->
    965   h_Kcall x_3895 x_3894 x_3893 x_3892
     963      h_Kswitch h_Kcall x_8722)
     964| Kcall (x_8726, x_8725, x_8724, x_8723) ->
     965  h_Kcall x_8726 x_8725 x_8724 x_8723
    966966    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    967       h_Kswitch h_Kcall x_3892)
     967      h_Kswitch h_Kcall x_8723)
    968968
    969969(** val cont_inv_rect_Type4 :
  • extracted/csyntax.ml

    r2773 r2775  
    12031203    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12041204    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1205 let rec function_rect_Type4 h_mk_function x_276 =
     1205let rec function_rect_Type4 h_mk_function x_4352 =
    12061206  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1207     fn_body = fn_body0 } = x_276
     1207    fn_body = fn_body0 } = x_4352
    12081208  in
    12091209  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12121212    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12131213    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1214 let rec function_rect_Type5 h_mk_function x_278 =
     1214let rec function_rect_Type5 h_mk_function x_4354 =
    12151215  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1216     fn_body = fn_body0 } = x_278
     1216    fn_body = fn_body0 } = x_4354
    12171217  in
    12181218  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12211221    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12221222    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1223 let rec function_rect_Type3 h_mk_function x_280 =
     1223let rec function_rect_Type3 h_mk_function x_4356 =
    12241224  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1225     fn_body = fn_body0 } = x_280
     1225    fn_body = fn_body0 } = x_4356
    12261226  in
    12271227  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12301230    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12311231    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1232 let rec function_rect_Type2 h_mk_function x_282 =
     1232let rec function_rect_Type2 h_mk_function x_4358 =
    12331233  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1234     fn_body = fn_body0 } = x_282
     1234    fn_body = fn_body0 } = x_4358
    12351235  in
    12361236  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12391239    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12401240    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1241 let rec function_rect_Type1 h_mk_function x_284 =
     1241let rec function_rect_Type1 h_mk_function x_4360 =
    12421242  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1243     fn_body = fn_body0 } = x_284
     1243    fn_body = fn_body0 } = x_4360
    12441244  in
    12451245  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12481248    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12491249    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1250 let rec function_rect_Type0 h_mk_function x_286 =
     1250let rec function_rect_Type0 h_mk_function x_4362 =
    12511251  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1252     fn_body = fn_body0 } = x_286
     1252    fn_body = fn_body0 } = x_4362
    12531253  in
    12541254  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    13221322    clight_fundef -> 'a1 **)
    13231323let rec clight_fundef_rect_Type4 h_CL_Internal h_CL_External = function
    1324 | CL_Internal x_308 -> h_CL_Internal x_308
    1325 | CL_External (x_311, x_310, x_309) -> h_CL_External x_311 x_310 x_309
     1324| CL_Internal x_4384 -> h_CL_Internal x_4384
     1325| CL_External (x_4387, x_4386, x_4385) -> h_CL_External x_4387 x_4386 x_4385
    13261326
    13271327(** val clight_fundef_rect_Type5 :
     
    13291329    clight_fundef -> 'a1 **)
    13301330let rec clight_fundef_rect_Type5 h_CL_Internal h_CL_External = function
    1331 | CL_Internal x_315 -> h_CL_Internal x_315
    1332 | CL_External (x_318, x_317, x_316) -> h_CL_External x_318 x_317 x_316
     1331| CL_Internal x_4391 -> h_CL_Internal x_4391
     1332| CL_External (x_4394, x_4393, x_4392) -> h_CL_External x_4394 x_4393 x_4392
    13331333
    13341334(** val clight_fundef_rect_Type3 :
     
    13361336    clight_fundef -> 'a1 **)
    13371337let rec clight_fundef_rect_Type3 h_CL_Internal h_CL_External = function
    1338 | CL_Internal x_322 -> h_CL_Internal x_322
    1339 | CL_External (x_325, x_324, x_323) -> h_CL_External x_325 x_324 x_323
     1338| CL_Internal x_4398 -> h_CL_Internal x_4398
     1339| CL_External (x_4401, x_4400, x_4399) -> h_CL_External x_4401 x_4400 x_4399
    13401340
    13411341(** val clight_fundef_rect_Type2 :
     
    13431343    clight_fundef -> 'a1 **)
    13441344let rec clight_fundef_rect_Type2 h_CL_Internal h_CL_External = function
    1345 | CL_Internal x_329 -> h_CL_Internal x_329
    1346 | CL_External (x_332, x_331, x_330) -> h_CL_External x_332 x_331 x_330
     1345| CL_Internal x_4405 -> h_CL_Internal x_4405
     1346| CL_External (x_4408, x_4407, x_4406) -> h_CL_External x_4408 x_4407 x_4406
    13471347
    13481348(** val clight_fundef_rect_Type1 :
     
    13501350    clight_fundef -> 'a1 **)
    13511351let rec clight_fundef_rect_Type1 h_CL_Internal h_CL_External = function
    1352 | CL_Internal x_336 -> h_CL_Internal x_336
    1353 | CL_External (x_339, x_338, x_337) -> h_CL_External x_339 x_338 x_337
     1352| CL_Internal x_4412 -> h_CL_Internal x_4412
     1353| CL_External (x_4415, x_4414, x_4413) -> h_CL_External x_4415 x_4414 x_4413
    13541354
    13551355(** val clight_fundef_rect_Type0 :
     
    13571357    clight_fundef -> 'a1 **)
    13581358let rec clight_fundef_rect_Type0 h_CL_Internal h_CL_External = function
    1359 | CL_Internal x_343 -> h_CL_Internal x_343
    1360 | CL_External (x_346, x_345, x_344) -> h_CL_External x_346 x_345 x_344
     1359| CL_Internal x_4419 -> h_CL_Internal x_4419
     1360| CL_External (x_4422, x_4421, x_4420) -> h_CL_External x_4422 x_4421 x_4420
    13611361
    13621362(** val clight_fundef_inv_rect_Type4 :
     
    15321532(** val mode_rect_Type4 :
    15331533    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1534 let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_396 = function
     1534let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_4472 = function
    15351535| By_value t -> h_By_value t
    15361536| By_reference -> h_By_reference
     
    15391539(** val mode_rect_Type5 :
    15401540    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1541 let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_401 = function
     1541let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_4477 = function
    15421542| By_value t -> h_By_value t
    15431543| By_reference -> h_By_reference
     
    15461546(** val mode_rect_Type3 :
    15471547    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1548 let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_406 = function
     1548let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_4482 = function
    15491549| By_value t -> h_By_value t
    15501550| By_reference -> h_By_reference
     
    15531553(** val mode_rect_Type2 :
    15541554    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1555 let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_411 = function
     1555let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_4487 = function
    15561556| By_value t -> h_By_value t
    15571557| By_reference -> h_By_reference
     
    15601560(** val mode_rect_Type1 :
    15611561    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1562 let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_416 = function
     1562let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_4492 = function
    15631563| By_value t -> h_By_value t
    15641564| By_reference -> h_By_reference
     
    15671567(** val mode_rect_Type0 :
    15681568    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1569 let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_421 = function
     1569let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_4497 = function
    15701570| By_value t -> h_By_value t
    15711571| By_reference -> h_By_reference
  • extracted/division.ml

    r2773 r2775  
    2828let rec natp_rect_Type4 h_pzero h_ppos = function
    2929| Pzero -> h_pzero
    30 | Ppos x_1968 -> h_ppos x_1968
     30| Ppos x_4758 -> h_ppos x_4758
    3131
    3232(** val natp_rect_Type5 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **)
    3333let rec natp_rect_Type5 h_pzero h_ppos = function
    3434| Pzero -> h_pzero
    35 | Ppos x_1972 -> h_ppos x_1972
     35| Ppos x_4762 -> h_ppos x_4762
    3636
    3737(** val natp_rect_Type3 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **)
    3838let rec natp_rect_Type3 h_pzero h_ppos = function
    3939| Pzero -> h_pzero
    40 | Ppos x_1976 -> h_ppos x_1976
     40| Ppos x_4766 -> h_ppos x_4766
    4141
    4242(** val natp_rect_Type2 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **)
    4343let rec natp_rect_Type2 h_pzero h_ppos = function
    4444| Pzero -> h_pzero
    45 | Ppos x_1980 -> h_ppos x_1980
     45| Ppos x_4770 -> h_ppos x_4770
    4646
    4747(** val natp_rect_Type1 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **)
    4848let rec natp_rect_Type1 h_pzero h_ppos = function
    4949| Pzero -> h_pzero
    50 | Ppos x_1984 -> h_ppos x_1984
     50| Ppos x_4774 -> h_ppos x_4774
    5151
    5252(** val natp_rect_Type0 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **)
    5353let rec natp_rect_Type0 h_pzero h_ppos = function
    5454| Pzero -> h_pzero
    55 | Ppos x_1988 -> h_ppos x_1988
     55| Ppos x_4778 -> h_ppos x_4778
    5656
    5757(** val natp_inv_rect_Type4 :
  • extracted/eRTL.ml

    r2773 r2775  
    112112    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    113113let rec move_dst_rect_Type4 h_PSD h_HDW = function
    114 | PSD x_16211 -> h_PSD x_16211
    115 | HDW x_16212 -> h_HDW x_16212
     114| PSD x_21042 -> h_PSD x_21042
     115| HDW x_21043 -> h_HDW x_21043
    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_16216 -> h_PSD x_16216
    121 | HDW x_16217 -> h_HDW x_16217
     120| PSD x_21047 -> h_PSD x_21047
     121| HDW x_21048 -> h_HDW x_21048
    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_16221 -> h_PSD x_16221
    127 | HDW x_16222 -> h_HDW x_16222
     126| PSD x_21052 -> h_PSD x_21052
     127| HDW x_21053 -> h_HDW x_21053
    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_16226 -> h_PSD x_16226
    133 | HDW x_16227 -> h_HDW x_16227
     132| PSD x_21057 -> h_PSD x_21057
     133| HDW x_21058 -> h_HDW x_21058
    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_16231 -> h_PSD x_16231
    139 | HDW x_16232 -> h_HDW x_16232
     138| PSD x_21062 -> h_PSD x_21062
     139| HDW x_21063 -> h_HDW x_21063
    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_16236 -> h_PSD x_16236
    145 | HDW x_16237 -> h_HDW x_16237
     144| PSD x_21067 -> h_PSD x_21067
     145| HDW x_21068 -> h_HDW x_21068
    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_16276 -> h_ertl_frame_size x_16276
     340| Ertl_frame_size x_21107 -> h_ertl_frame_size x_21107
    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_16281 -> h_ertl_frame_size x_16281
     347| Ertl_frame_size x_21112 -> h_ertl_frame_size x_21112
    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_16286 -> h_ertl_frame_size x_16286
     354| Ertl_frame_size x_21117 -> h_ertl_frame_size x_21117
    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_16291 -> h_ertl_frame_size x_16291
     361| Ertl_frame_size x_21122 -> h_ertl_frame_size x_21122
    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_16296 -> h_ertl_frame_size x_16296
     368| Ertl_frame_size x_21127 -> h_ertl_frame_size x_21127
    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_16301 -> h_ertl_frame_size x_16301
     375| Ertl_frame_size x_21132 -> h_ertl_frame_size x_21132
    376376
    377377(** val ertl_seq_inv_rect_Type4 :
  • extracted/eRTLptr.ml

    r2773 r2775  
    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_16345 -> h_ertlptr_ertl x_16345
    119 | LOW_ADDRESS (x_16347, x_16346) -> h_LOW_ADDRESS x_16347 x_16346
    120 | HIGH_ADDRESS (x_16349, x_16348) -> h_HIGH_ADDRESS x_16349 x_16348
     118| Ertlptr_ertl x_21176 -> h_ertlptr_ertl x_21176
     119| LOW_ADDRESS (x_21178, x_21177) -> h_LOW_ADDRESS x_21178 x_21177
     120| HIGH_ADDRESS (x_21180, x_21179) -> h_HIGH_ADDRESS x_21180 x_21179
    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_16354 -> h_ertlptr_ertl x_16354
    127 | LOW_ADDRESS (x_16356, x_16355) -> h_LOW_ADDRESS x_16356 x_16355
    128 | HIGH_ADDRESS (x_16358, x_16357) -> h_HIGH_ADDRESS x_16358 x_16357
     126| Ertlptr_ertl x_21185 -> h_ertlptr_ertl x_21185
     127| LOW_ADDRESS (x_21187, x_21186) -> h_LOW_ADDRESS x_21187 x_21186
     128| HIGH_ADDRESS (x_21189, x_21188) -> h_HIGH_ADDRESS x_21189 x_21188
    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_16363 -> h_ertlptr_ertl x_16363
    135 | LOW_ADDRESS (x_16365, x_16364) -> h_LOW_ADDRESS x_16365 x_16364
    136 | HIGH_ADDRESS (x_16367, x_16366) -> h_HIGH_ADDRESS x_16367 x_16366
     134| Ertlptr_ertl x_21194 -> h_ertlptr_ertl x_21194
     135| LOW_ADDRESS (x_21196, x_21195) -> h_LOW_ADDRESS x_21196 x_21195
     136| HIGH_ADDRESS (x_21198, x_21197) -> h_HIGH_ADDRESS x_21198 x_21197
    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_16372 -> h_ertlptr_ertl x_16372
    143 | LOW_ADDRESS (x_16374, x_16373) -> h_LOW_ADDRESS x_16374 x_16373
    144 | HIGH_ADDRESS (x_16376, x_16375) -> h_HIGH_ADDRESS x_16376 x_16375
     142| Ertlptr_ertl x_21203 -> h_ertlptr_ertl x_21203
     143| LOW_ADDRESS (x_21205, x_21204) -> h_LOW_ADDRESS x_21205 x_21204
     144| HIGH_ADDRESS (x_21207, x_21206) -> h_HIGH_ADDRESS x_21207 x_21206
    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_16381 -> h_ertlptr_ertl x_16381
    151 | LOW_ADDRESS (x_16383, x_16382) -> h_LOW_ADDRESS x_16383 x_16382
    152 | HIGH_ADDRESS (x_16385, x_16384) -> h_HIGH_ADDRESS x_16385 x_16384
     150| Ertlptr_ertl x_21212 -> h_ertlptr_ertl x_21212
     151| LOW_ADDRESS (x_21214, x_21213) -> h_LOW_ADDRESS x_21214 x_21213
     152| HIGH_ADDRESS (x_21216, x_21215) -> h_HIGH_ADDRESS x_21216 x_21215
    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_16390 -> h_ertlptr_ertl x_16390
    159 | LOW_ADDRESS (x_16392, x_16391) -> h_LOW_ADDRESS x_16392 x_16391
    160 | HIGH_ADDRESS (x_16394, x_16393) -> h_HIGH_ADDRESS x_16394 x_16393
     158| Ertlptr_ertl x_21221 -> h_ertlptr_ertl x_21221
     159| LOW_ADDRESS (x_21223, x_21222) -> h_LOW_ADDRESS x_21223 x_21222
     160| HIGH_ADDRESS (x_21225, x_21224) -> h_HIGH_ADDRESS x_21225 x_21224
    161161
    162162(** val ertlptr_seq_inv_rect_Type4 :
  • extracted/eRTLptrToLTL.ml

    r2773 r2775  
    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_16991 -> h_arg_decision_colour x_16991
    170 | Arg_decision_spill x_16992 -> h_arg_decision_spill x_16992
    171 | Arg_decision_imm x_16993 -> h_arg_decision_imm x_16993
     169| Arg_decision_colour x_21731 -> h_arg_decision_colour x_21731
     170| Arg_decision_spill x_21732 -> h_arg_decision_spill x_21732
     171| Arg_decision_imm x_21733 -> h_arg_decision_imm x_21733
    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_16998 -> h_arg_decision_colour x_16998
    178 | Arg_decision_spill x_16999 -> h_arg_decision_spill x_16999
    179 | Arg_decision_imm x_17000 -> h_arg_decision_imm x_17000
     177| Arg_decision_colour x_21738 -> h_arg_decision_colour x_21738
     178| Arg_decision_spill x_21739 -> h_arg_decision_spill x_21739
     179| Arg_decision_imm x_21740 -> h_arg_decision_imm x_21740
    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_17005 -> h_arg_decision_colour x_17005
    186 | Arg_decision_spill x_17006 -> h_arg_decision_spill x_17006
    187 | Arg_decision_imm x_17007 -> h_arg_decision_imm x_17007
     185| Arg_decision_colour x_21745 -> h_arg_decision_colour x_21745
     186| Arg_decision_spill x_21746 -> h_arg_decision_spill x_21746
     187| Arg_decision_imm x_21747 -> h_arg_decision_imm x_21747
    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_17012 -> h_arg_decision_colour x_17012
    194 | Arg_decision_spill x_17013 -> h_arg_decision_spill x_17013
    195 | Arg_decision_imm x_17014 -> h_arg_decision_imm x_17014
     193| Arg_decision_colour x_21752 -> h_arg_decision_colour x_21752
     194| Arg_decision_spill x_21753 -> h_arg_decision_spill x_21753
     195| Arg_decision_imm x_21754 -> h_arg_decision_imm x_21754
    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_17019 -> h_arg_decision_colour x_17019
    202 | Arg_decision_spill x_17020 -> h_arg_decision_spill x_17020
    203 | Arg_decision_imm x_17021 -> h_arg_decision_imm x_17021
     201| Arg_decision_colour x_21759 -> h_arg_decision_colour x_21759
     202| Arg_decision_spill x_21760 -> h_arg_decision_spill x_21760
     203| Arg_decision_imm x_21761 -> h_arg_decision_imm x_21761
    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_17026 -> h_arg_decision_colour x_17026
    210 | Arg_decision_spill x_17027 -> h_arg_decision_spill x_17027
    211 | Arg_decision_imm x_17028 -> h_arg_decision_imm x_17028
     209| Arg_decision_colour x_21766 -> h_arg_decision_colour x_21766
     210| Arg_decision_spill x_21767 -> h_arg_decision_spill x_21767
     211| Arg_decision_imm x_21768 -> h_arg_decision_imm x_21768
    212212
    213213(** val arg_decision_inv_rect_Type4 :
     
    943943  TranslateUtils.f_fin = (translate_fin_step globals) }
    944944
     945(** val first_free_stack_addr : LTL.ltl_program -> Nat.nat **)
     946let first_free_stack_addr p =
     947  let globals_addr_internal = fun offset x_size ->
     948    let { Types.fst = eta4401; Types.snd = size } = x_size in
     949    let { Types.fst = x; Types.snd = region } = eta4401 in
     950    Nat.plus offset size
     951  in
     952  Util.foldl globals_addr_internal Nat.O p.AST.prog_vars
     953
    945954(** val ertlptr_to_ltl :
    946955    Fixpoints.fixpoint_computer -> Interference.coloured_graph_computer ->
    947     ERTLptr.ertlptr_program -> LTL.ltl_program **)
    948 let ertlptr_to_ltl the_fixpoint build =
    949   TranslateUtils.b_graph_transform_program ERTLptr.eRTLptr LTL.lTL
    950     (translate_data the_fixpoint build)
    951 
     956    ERTLptr.ertlptr_program -> ((LTL.ltl_program, Joint.stack_cost_model)
     957    Types.prod, Nat.nat) Types.prod **)
     958let ertlptr_to_ltl the_fixpoint build pr =
     959  let ltlprog =
     960    TranslateUtils.b_graph_transform_program ERTLptr.eRTLptr LTL.lTL
     961      (translate_data the_fixpoint build) pr
     962  in
     963  { Types.fst = { Types.fst = ltlprog; Types.snd =
     964  (Joint.stack_cost (Joint.graph_params_to_params LTL.lTL) ltlprog) };
     965  Types.snd =
     966  (Nat.minus
     967    (Exp.exp (Nat.S (Nat.S Nat.O)) (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     968      (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     969      Nat.O))))))))))))))))) (first_free_stack_addr ltlprog)) }
     970
  • extracted/eRTLptrToLTL.mli

    r2773 r2775  
    358358  Bind_new.bind_new
    359359
     360val first_free_stack_addr : LTL.ltl_program -> Nat.nat
     361
    360362val ertlptr_to_ltl :
    361363  Fixpoints.fixpoint_computer -> Interference.coloured_graph_computer ->
    362   ERTLptr.ertlptr_program -> LTL.ltl_program
    363 
     364  ERTLptr.ertlptr_program -> ((LTL.ltl_program, Joint.stack_cost_model)
     365  Types.prod, Nat.nat) Types.prod
     366
  • extracted/errors.ml

    r2773 r2775  
    4343    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    4444let rec errcode_rect_Type4 h_MSG h_CTX = function
    45 | MSG x_3217 -> h_MSG x_3217
    46 | CTX (tag, x_3218) -> h_CTX tag x_3218
     45| MSG x_2970 -> h_MSG x_2970
     46| CTX (tag, x_2971) -> h_CTX tag x_2971
    4747
    4848(** val errcode_rect_Type5 :
     
    5050    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    5151let rec errcode_rect_Type5 h_MSG h_CTX = function
    52 | MSG x_3222 -> h_MSG x_3222
    53 | CTX (tag, x_3223) -> h_CTX tag x_3223
     52| MSG x_2975 -> h_MSG x_2975
     53| CTX (tag, x_2976) -> h_CTX tag x_2976
    5454
    5555(** val errcode_rect_Type3 :
     
    5757    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    5858let rec errcode_rect_Type3 h_MSG h_CTX = function
    59 | MSG x_3227 -> h_MSG x_3227
    60 | CTX (tag, x_3228) -> h_CTX tag x_3228
     59| MSG x_2980 -> h_MSG x_2980
     60| CTX (tag, x_2981) -> h_CTX tag x_2981
    6161
    6262(** val errcode_rect_Type2 :
     
    6464    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    6565let rec errcode_rect_Type2 h_MSG h_CTX = function
    66 | MSG x_3232 -> h_MSG x_3232
    67 | CTX (tag, x_3233) -> h_CTX tag x_3233
     66| MSG x_2985 -> h_MSG x_2985
     67| CTX (tag, x_2986) -> h_CTX tag x_2986
    6868
    6969(** val errcode_rect_Type1 :
     
    7171    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    7272let rec errcode_rect_Type1 h_MSG h_CTX = function
    73 | MSG x_3237 -> h_MSG x_3237
    74 | CTX (tag, x_3238) -> h_CTX tag x_3238
     73| MSG x_2990 -> h_MSG x_2990
     74| CTX (tag, x_2991) -> h_CTX tag x_2991
    7575
    7676(** val errcode_rect_Type0 :
     
    7878    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    7979let rec errcode_rect_Type0 h_MSG h_CTX = function
    80 | MSG x_3242 -> h_MSG x_3242
    81 | CTX (tag, x_3243) -> h_CTX tag x_3243
     80| MSG x_2995 -> h_MSG x_2995
     81| CTX (tag, x_2996) -> h_CTX tag x_2996
    8282
    8383(** val errcode_inv_rect_Type4 :
     
    143143    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    144144let rec res_rect_Type4 h_OK h_Error = function
    145 | OK x_3282 -> h_OK x_3282
    146 | Error x_3283 -> h_Error x_3283
     145| OK x_3035 -> h_OK x_3035
     146| Error x_3036 -> h_Error x_3036
    147147
    148148(** val res_rect_Type5 :
    149149    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    150150let rec res_rect_Type5 h_OK h_Error = function
    151 | OK x_3287 -> h_OK x_3287
    152 | Error x_3288 -> h_Error x_3288
     151| OK x_3040 -> h_OK x_3040
     152| Error x_3041 -> h_Error x_3041
    153153
    154154(** val res_rect_Type3 :
    155155    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    156156let rec res_rect_Type3 h_OK h_Error = function
    157 | OK x_3292 -> h_OK x_3292
    158 | Error x_3293 -> h_Error x_3293
     157| OK x_3045 -> h_OK x_3045
     158| Error x_3046 -> h_Error x_3046
    159159
    160160(** val res_rect_Type2 :
    161161    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    162162let rec res_rect_Type2 h_OK h_Error = function
    163 | OK x_3297 -> h_OK x_3297
    164 | Error x_3298 -> h_Error x_3298
     163| OK x_3050 -> h_OK x_3050
     164| Error x_3051 -> h_Error x_3051
    165165
    166166(** val res_rect_Type1 :
    167167    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    168168let rec res_rect_Type1 h_OK h_Error = function
    169 | OK x_3302 -> h_OK x_3302
    170 | Error x_3303 -> h_Error x_3303
     169| OK x_3055 -> h_OK x_3055
     170| Error x_3056 -> h_Error x_3056
    171171
    172172(** val res_rect_Type0 :
    173173    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    174174let rec res_rect_Type0 h_OK h_Error = function
    175 | OK x_3307 -> h_OK x_3307
    176 | Error x_3308 -> h_Error x_3308
     175| OK x_3060 -> h_OK x_3060
     176| Error x_3061 -> h_Error x_3061
    177177
    178178(** val res_inv_rect_Type4 :
     
    298298
    299299(** val bind : __ -> ('a1 -> __) -> __ **)
    300 let bind x_1498 x_1499 =
    301   Monad.m_bind0 (Monad.max_def res0) x_1498 x_1499
     300let bind x_768 x_769 =
     301  Monad.m_bind0 (Monad.max_def res0) x_768 x_769
    302302
    303303(** val bind2 : __ -> ('a1 -> 'a2 -> __) -> __ **)
  • extracted/events.ml

    r2773 r2775  
    8989    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    9090let rec eventval_rect_Type4 h_EVint = function
    91 | EVint (sz, x_993) -> h_EVint sz x_993
     91| EVint (sz, x_5394) -> h_EVint sz x_5394
    9292
    9393(** val eventval_rect_Type5 :
    9494    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    9595let rec eventval_rect_Type5 h_EVint = function
    96 | EVint (sz, x_996) -> h_EVint sz x_996
     96| EVint (sz, x_5397) -> h_EVint sz x_5397
    9797
    9898(** val eventval_rect_Type3 :
    9999    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    100100let rec eventval_rect_Type3 h_EVint = function
    101 | EVint (sz, x_999) -> h_EVint sz x_999
     101| EVint (sz, x_5400) -> h_EVint sz x_5400
    102102
    103103(** val eventval_rect_Type2 :
    104104    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    105105let rec eventval_rect_Type2 h_EVint = function
    106 | EVint (sz, x_1002) -> h_EVint sz x_1002
     106| EVint (sz, x_5403) -> h_EVint sz x_5403
    107107
    108108(** val eventval_rect_Type1 :
    109109    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    110110let rec eventval_rect_Type1 h_EVint = function
    111 | EVint (sz, x_1005) -> h_EVint sz x_1005
     111| EVint (sz, x_5406) -> h_EVint sz x_5406
    112112
    113113(** val eventval_rect_Type0 :
    114114    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    115115let rec eventval_rect_Type0 h_EVint = function
    116 | EVint (sz, x_1008) -> h_EVint sz x_1008
     116| EVint (sz, x_5409) -> h_EVint sz x_5409
    117117
    118118(** val eventval_inv_rect_Type4 :
     
    159159    eventval -> 'a1) -> event -> 'a1 **)
    160160let rec event_rect_Type4 h_EVcost h_EVextcall = function
    161 | EVcost x_1033 -> h_EVcost x_1033
     161| EVcost x_5434 -> h_EVcost x_5434
    162162| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    163163
     
    166166    eventval -> 'a1) -> event -> 'a1 **)
    167167let rec event_rect_Type5 h_EVcost h_EVextcall = function
    168 | EVcost x_1037 -> h_EVcost x_1037
     168| EVcost x_5438 -> h_EVcost x_5438
    169169| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    170170
     
    173173    eventval -> 'a1) -> event -> 'a1 **)
    174174let rec event_rect_Type3 h_EVcost h_EVextcall = function
    175 | EVcost x_1041 -> h_EVcost x_1041
     175| EVcost x_5442 -> h_EVcost x_5442
    176176| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    177177
     
    180180    eventval -> 'a1) -> event -> 'a1 **)
    181181let rec event_rect_Type2 h_EVcost h_EVextcall = function
    182 | EVcost x_1045 -> h_EVcost x_1045
     182| EVcost x_5446 -> h_EVcost x_5446
    183183| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    184184
     
    187187    eventval -> 'a1) -> event -> 'a1 **)
    188188let rec event_rect_Type1 h_EVcost h_EVextcall = function
    189 | EVcost x_1049 -> h_EVcost x_1049
     189| EVcost x_5450 -> h_EVcost x_5450
    190190| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    191191
     
    194194    eventval -> 'a1) -> event -> 'a1 **)
    195195let rec event_rect_Type0 h_EVcost h_EVextcall = function
    196 | EVcost x_1053 -> h_EVcost x_1053
     196| EVcost x_5454 -> h_EVcost x_5454
    197197| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    198198
  • extracted/extranat.ml

    r2773 r2775  
    5050    (Nat.nat -> Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> (Nat.nat -> Nat.nat ->
    5151    'a1) -> Nat.nat -> Nat.nat -> nat_compared -> 'a1 **)
    52 let rec nat_compared_rect_Type4 h_nat_lt h_nat_eq h_nat_gt x_1684 x_1683 = function
     52let rec nat_compared_rect_Type4 h_nat_lt h_nat_eq h_nat_gt x_1125 x_1124 = function
    5353| Nat_lt (n, m) -> h_nat_lt n m
    5454| Nat_eq n -> h_nat_eq n
     
    5858    (Nat.nat -> Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> (Nat.nat -> Nat.nat ->
    5959    'a1) -> Nat.nat -> Nat.nat -> nat_compared -> 'a1 **)
    60 let rec nat_compared_rect_Type5 h_nat_lt h_nat_eq h_nat_gt x_1690 x_1689 = function
     60let rec nat_compared_rect_Type5 h_nat_lt h_nat_eq h_nat_gt x_1131 x_1130 = function
    6161| Nat_lt (n, m) -> h_nat_lt n m
    6262| Nat_eq n -> h_nat_eq n
     
    6666    (Nat.nat -> Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> (Nat.nat -> Nat.nat ->
    6767    'a1) -> Nat.nat -> Nat.nat -> nat_compared -> 'a1 **)
    68 let rec nat_compared_rect_Type3 h_nat_lt h_nat_eq h_nat_gt x_1696 x_1695 = function
     68let rec nat_compared_rect_Type3 h_nat_lt h_nat_eq h_nat_gt x_1137 x_1136 = function
    6969| Nat_lt (n, m) -> h_nat_lt n m
    7070| Nat_eq n -> h_nat_eq n
     
    7474    (Nat.nat -> Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> (Nat.nat -> Nat.nat ->
    7575    'a1) -> Nat.nat -> Nat.nat -> nat_compared -> 'a1 **)
    76 let rec nat_compared_rect_Type2 h_nat_lt h_nat_eq h_nat_gt x_1702 x_1701 = function
     76let rec nat_compared_rect_Type2 h_nat_lt h_nat_eq h_nat_gt x_1143 x_1142 = function
    7777| Nat_lt (n, m) -> h_nat_lt n m
    7878| Nat_eq n -> h_nat_eq n
     
    8282    (Nat.nat -> Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> (Nat.nat -> Nat.nat ->
    8383    'a1) -> Nat.nat -> Nat.nat -> nat_compared -> 'a1 **)
    84 let rec nat_compared_rect_Type1 h_nat_lt h_nat_eq h_nat_gt x_1708 x_1707 = function
     84let rec nat_compared_rect_Type1 h_nat_lt h_nat_eq h_nat_gt x_1149 x_1148 = function
    8585| Nat_lt (n, m) -> h_nat_lt n m
    8686| Nat_eq n -> h_nat_eq n
     
    9090    (Nat.nat -> Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> (Nat.nat -> Nat.nat ->
    9191    'a1) -> Nat.nat -> Nat.nat -> nat_compared -> 'a1 **)
    92 let rec nat_compared_rect_Type0 h_nat_lt h_nat_eq h_nat_gt x_1714 x_1713 = function
     92let rec nat_compared_rect_Type0 h_nat_lt h_nat_eq h_nat_gt x_1155 x_1154 = function
    9393| Nat_lt (n, m) -> h_nat_lt n m
    9494| Nat_eq n -> h_nat_eq n
  • extracted/fetch.ml

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

    r2773 r2775  
    8080    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    8181    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    82 let rec property_lattice_rect_Type4 h_mk_property_lattice x_16831 =
    83   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    84     l_is_maximal = l_is_maximal0 } = x_16831
     82let rec property_lattice_rect_Type4 h_mk_property_lattice x_21571 =
     83  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     84    l_is_maximal = l_is_maximal0 } = x_21571
    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_16833 =
    92   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    93     l_is_maximal = l_is_maximal0 } = x_16833
     91let rec property_lattice_rect_Type5 h_mk_property_lattice x_21573 =
     92  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     93    l_is_maximal = l_is_maximal0 } = x_21573
    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_16835 =
    101   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    102     l_is_maximal = l_is_maximal0 } = x_16835
     100let rec property_lattice_rect_Type3 h_mk_property_lattice x_21575 =
     101  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     102    l_is_maximal = l_is_maximal0 } = x_21575
    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_16837 =
    110   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    111     l_is_maximal = l_is_maximal0 } = x_16837
     109let rec property_lattice_rect_Type2 h_mk_property_lattice x_21577 =
     110  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     111    l_is_maximal = l_is_maximal0 } = x_21577
    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_16839 =
    119   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    120     l_is_maximal = l_is_maximal0 } = x_16839
     118let rec property_lattice_rect_Type1 h_mk_property_lattice x_21579 =
     119  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     120    l_is_maximal = l_is_maximal0 } = x_21579
    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_16841 =
    128   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    129     l_is_maximal = l_is_maximal0 } = x_16841
     127let rec property_lattice_rect_Type0 h_mk_property_lattice x_21581 =
     128  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     129    l_is_maximal = l_is_maximal0 } = x_21581
    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_16862 =
    204   let fix_lfp = x_16862 in h_mk_fixpoint fix_lfp __
     203let rec fixpoint_rect_Type4 latt h_mk_fixpoint x_21602 =
     204  let fix_lfp = x_21602 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_16864 =
    210   let fix_lfp = x_16864 in h_mk_fixpoint fix_lfp __
     209let rec fixpoint_rect_Type5 latt h_mk_fixpoint x_21604 =
     210  let fix_lfp = x_21604 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_16866 =
    216   let fix_lfp = x_16866 in h_mk_fixpoint fix_lfp __
     215let rec fixpoint_rect_Type3 latt h_mk_fixpoint x_21606 =
     216  let fix_lfp = x_21606 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_16868 =
    222   let fix_lfp = x_16868 in h_mk_fixpoint fix_lfp __
     221let rec fixpoint_rect_Type2 latt h_mk_fixpoint x_21608 =
     222  let fix_lfp = x_21608 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_16870 =
    228   let fix_lfp = x_16870 in h_mk_fixpoint fix_lfp __
     227let rec fixpoint_rect_Type1 latt h_mk_fixpoint x_21610 =
     228  let fix_lfp = x_21610 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_16872 =
    234   let fix_lfp = x_16872 in h_mk_fixpoint fix_lfp __
     233let rec fixpoint_rect_Type0 latt h_mk_fixpoint x_21612 =
     234  let fix_lfp = x_21612 in h_mk_fixpoint fix_lfp __
    235235
    236236(** val fix_lfp : property_lattice -> fixpoint -> equations -> valuation **)
  • extracted/frontEndOps.ml

    r2773 r2775  
    9999    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    100100    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    101 let rec constant_rect_Type4 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_8161 = function
    102 | Ointconst (sz, sg, x_8163) -> h_Ointconst sz sg x_8163
    103 | Oaddrsymbol (x_8165, x_8164) -> h_Oaddrsymbol x_8165 x_8164
    104 | Oaddrstack x_8166 -> h_Oaddrstack x_8166
     101let rec constant_rect_Type4 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_12992 = function
     102| Ointconst (sz, sg, x_12994) -> h_Ointconst sz sg x_12994
     103| Oaddrsymbol (x_12996, x_12995) -> h_Oaddrsymbol x_12996 x_12995
     104| Oaddrstack x_12997 -> h_Oaddrstack x_12997
    105105
    106106(** val constant_rect_Type5 :
    107107    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    108108    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    109 let rec constant_rect_Type5 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_8170 = function
    110 | Ointconst (sz, sg, x_8172) -> h_Ointconst sz sg x_8172
    111 | Oaddrsymbol (x_8174, x_8173) -> h_Oaddrsymbol x_8174 x_8173
    112 | Oaddrstack x_8175 -> h_Oaddrstack x_8175
     109let rec constant_rect_Type5 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13001 = function
     110| Ointconst (sz, sg, x_13003) -> h_Ointconst sz sg x_13003
     111| Oaddrsymbol (x_13005, x_13004) -> h_Oaddrsymbol x_13005 x_13004
     112| Oaddrstack x_13006 -> h_Oaddrstack x_13006
    113113
    114114(** val constant_rect_Type3 :
    115115    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    116116    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    117 let rec constant_rect_Type3 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_8179 = function
    118 | Ointconst (sz, sg, x_8181) -> h_Ointconst sz sg x_8181
    119 | Oaddrsymbol (x_8183, x_8182) -> h_Oaddrsymbol x_8183 x_8182
    120 | Oaddrstack x_8184 -> h_Oaddrstack x_8184
     117let rec constant_rect_Type3 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13010 = function
     118| Ointconst (sz, sg, x_13012) -> h_Ointconst sz sg x_13012
     119| Oaddrsymbol (x_13014, x_13013) -> h_Oaddrsymbol x_13014 x_13013
     120| Oaddrstack x_13015 -> h_Oaddrstack x_13015
    121121
    122122(** val constant_rect_Type2 :
    123123    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    124124    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    125 let rec constant_rect_Type2 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_8188 = function
    126 | Ointconst (sz, sg, x_8190) -> h_Ointconst sz sg x_8190
    127 | Oaddrsymbol (x_8192, x_8191) -> h_Oaddrsymbol x_8192 x_8191
    128 | Oaddrstack x_8193 -> h_Oaddrstack x_8193
     125let rec constant_rect_Type2 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13019 = function
     126| Ointconst (sz, sg, x_13021) -> h_Ointconst sz sg x_13021
     127| Oaddrsymbol (x_13023, x_13022) -> h_Oaddrsymbol x_13023 x_13022
     128| Oaddrstack x_13024 -> h_Oaddrstack x_13024
    129129
    130130(** val constant_rect_Type1 :
    131131    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    132132    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    133 let rec constant_rect_Type1 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_8197 = function
    134 | Ointconst (sz, sg, x_8199) -> h_Ointconst sz sg x_8199
    135 | Oaddrsymbol (x_8201, x_8200) -> h_Oaddrsymbol x_8201 x_8200
    136 | Oaddrstack x_8202 -> h_Oaddrstack x_8202
     133let rec constant_rect_Type1 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13028 = function
     134| Ointconst (sz, sg, x_13030) -> h_Ointconst sz sg x_13030
     135| Oaddrsymbol (x_13032, x_13031) -> h_Oaddrsymbol x_13032 x_13031
     136| Oaddrstack x_13033 -> h_Oaddrstack x_13033
    137137
    138138(** val constant_rect_Type0 :
    139139    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    140140    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    141 let rec constant_rect_Type0 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_8206 = function
    142 | Ointconst (sz, sg, x_8208) -> h_Ointconst sz sg x_8208
    143 | Oaddrsymbol (x_8210, x_8209) -> h_Oaddrsymbol x_8210 x_8209
    144 | Oaddrstack x_8211 -> h_Oaddrstack x_8211
     141let rec constant_rect_Type0 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13037 = function
     142| Ointconst (sz, sg, x_13039) -> h_Ointconst sz sg x_13039
     143| Oaddrsymbol (x_13041, x_13040) -> h_Oaddrsymbol x_13041 x_13040
     144| Oaddrstack x_13042 -> h_Oaddrstack x_13042
    145145
    146146(** val constant_inv_rect_Type4 :
     
    211211    (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ ->
    212212    unary_operation -> 'a1 **)
    213 let rec unary_operation_rect_Type4 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_8281 x_8280 = function
     213let rec unary_operation_rect_Type4 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13112 x_13111 = function
    214214| Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg'
    215215| Onegint (sz, sg) -> h_Onegint sz sg
     
    227227    (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ ->
    228228    unary_operation -> 'a1 **)
    229 let rec unary_operation_rect_Type5 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_8292 x_8291 = function
     229let rec unary_operation_rect_Type5 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13123 x_13122 = function
    230230| Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg'
    231231| Onegint (sz, sg) -> h_Onegint sz sg
     
    243243    (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ ->
    244244    unary_operation -> 'a1 **)
    245 let rec unary_operation_rect_Type3 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_8303 x_8302 = function
     245let rec unary_operation_rect_Type3 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13134 x_13133 = function
    246246| Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg'
    247247| Onegint (sz, sg) -> h_Onegint sz sg
     
    259259    (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ ->
    260260    unary_operation -> 'a1 **)
    261 let rec unary_operation_rect_Type2 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_8314 x_8313 = function
     261let rec unary_operation_rect_Type2 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13145 x_13144 = function
    262262| Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg'
    263263| Onegint (sz, sg) -> h_Onegint sz sg
     
    275275    (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ ->
    276276    unary_operation -> 'a1 **)
    277 let rec unary_operation_rect_Type1 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_8325 x_8324 = function
     277let rec unary_operation_rect_Type1 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13156 x_13155 = function
    278278| Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg'
    279279| Onegint (sz, sg) -> h_Onegint sz sg
     
    291291    (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ ->
    292292    unary_operation -> 'a1 **)
    293 let rec unary_operation_rect_Type0 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_8336 x_8335 = function
     293let rec unary_operation_rect_Type0 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13167 x_13166 = function
    294294| Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg'
    295295| Onegint (sz, sg) -> h_Onegint sz sg
     
    426426    (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) ->
    427427    AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **)
    428 let rec binary_operation_rect_Type4 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_8441 x_8440 x_8439 = function
     428let rec binary_operation_rect_Type4 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13272 x_13271 x_13270 = function
    429429| Oadd (sz, sg) -> h_Oadd sz sg
    430430| Osub (sz, sg) -> h_Osub sz sg
     
    440440| Oshr (sz, sg) -> h_Oshr sz sg
    441441| Oshru (sz, sg) -> h_Oshru sz sg
    442 | Ocmp (sz, sg, sg', x_8443) -> h_Ocmp sz sg sg' x_8443
    443 | Ocmpu (sz, sg', x_8444) -> h_Ocmpu sz sg' x_8444
     442| Ocmp (sz, sg, sg', x_13274) -> h_Ocmp sz sg sg' x_13274
     443| Ocmpu (sz, sg', x_13275) -> h_Ocmpu sz sg' x_13275
    444444| Oaddpi sz -> h_Oaddpi sz
    445445| Oaddip sz -> h_Oaddip sz
    446446| Osubpi sz -> h_Osubpi sz
    447447| Osubpp sz -> h_Osubpp sz
    448 | Ocmpp (sg', x_8445) -> h_Ocmpp sg' x_8445
     448| Ocmpp (sg', x_13276) -> h_Ocmpp sg' x_13276
    449449
    450450(** val binary_operation_rect_Type5 :
     
    461461    (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) ->
    462462    AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **)
    463 let rec binary_operation_rect_Type5 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_8468 x_8467 x_8466 = function
     463let rec binary_operation_rect_Type5 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13299 x_13298 x_13297 = function
    464464| Oadd (sz, sg) -> h_Oadd sz sg
    465465| Osub (sz, sg) -> h_Osub sz sg
     
    475475| Oshr (sz, sg) -> h_Oshr sz sg
    476476| Oshru (sz, sg) -> h_Oshru sz sg
    477 | Ocmp (sz, sg, sg', x_8470) -> h_Ocmp sz sg sg' x_8470
    478 | Ocmpu (sz, sg', x_8471) -> h_Ocmpu sz sg' x_8471
     477| Ocmp (sz, sg, sg', x_13301) -> h_Ocmp sz sg sg' x_13301
     478| Ocmpu (sz, sg', x_13302) -> h_Ocmpu sz sg' x_13302
    479479| Oaddpi sz -> h_Oaddpi sz
    480480| Oaddip sz -> h_Oaddip sz
    481481| Osubpi sz -> h_Osubpi sz
    482482| Osubpp sz -> h_Osubpp sz
    483 | Ocmpp (sg', x_8472) -> h_Ocmpp sg' x_8472
     483| Ocmpp (sg', x_13303) -> h_Ocmpp sg' x_13303
    484484
    485485(** val binary_operation_rect_Type3 :
     
    496496    (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) ->
    497497    AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **)
    498 let rec binary_operation_rect_Type3 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_8495 x_8494 x_8493 = function
     498let rec binary_operation_rect_Type3 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13326 x_13325 x_13324 = function
    499499| Oadd (sz, sg) -> h_Oadd sz sg
    500500| Osub (sz, sg) -> h_Osub sz sg
     
    510510| Oshr (sz, sg) -> h_Oshr sz sg
    511511| Oshru (sz, sg) -> h_Oshru sz sg
    512 | Ocmp (sz, sg, sg', x_8497) -> h_Ocmp sz sg sg' x_8497
    513 | Ocmpu (sz, sg', x_8498) -> h_Ocmpu sz sg' x_8498
     512| Ocmp (sz, sg, sg', x_13328) -> h_Ocmp sz sg sg' x_13328
     513| Ocmpu (sz, sg', x_13329) -> h_Ocmpu sz sg' x_13329
    514514| Oaddpi sz -> h_Oaddpi sz
    515515| Oaddip sz -> h_Oaddip sz
    516516| Osubpi sz -> h_Osubpi sz
    517517| Osubpp sz -> h_Osubpp sz
    518 | Ocmpp (sg', x_8499) -> h_Ocmpp sg' x_8499
     518| Ocmpp (sg', x_13330) -> h_Ocmpp sg' x_13330
    519519
    520520(** val binary_operation_rect_Type2 :
     
    531531    (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) ->
    532532    AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **)
    533 let rec binary_operation_rect_Type2 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_8522 x_8521 x_8520 = function
     533let rec binary_operation_rect_Type2 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13353 x_13352 x_13351 = function
    534534| Oadd (sz, sg) -> h_Oadd sz sg
    535535| Osub (sz, sg) -> h_Osub sz sg
     
    545545| Oshr (sz, sg) -> h_Oshr sz sg
    546546| Oshru (sz, sg) -> h_Oshru sz sg
    547 | Ocmp (sz, sg, sg', x_8524) -> h_Ocmp sz sg sg' x_8524
    548 | Ocmpu (sz, sg', x_8525) -> h_Ocmpu sz sg' x_8525
     547| Ocmp (sz, sg, sg', x_13355) -> h_Ocmp sz sg sg' x_13355
     548| Ocmpu (sz, sg', x_13356) -> h_Ocmpu sz sg' x_13356
    549549| Oaddpi sz -> h_Oaddpi sz
    550550| Oaddip sz -> h_Oaddip sz
    551551| Osubpi sz -> h_Osubpi sz
    552552| Osubpp sz -> h_Osubpp sz
    553 | Ocmpp (sg', x_8526) -> h_Ocmpp sg' x_8526
     553| Ocmpp (sg', x_13357) -> h_Ocmpp sg' x_13357
    554554
    555555(** val binary_operation_rect_Type1 :
     
    566566    (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) ->
    567567    AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **)
    568 let rec binary_operation_rect_Type1 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_8549 x_8548 x_8547 = function
     568let rec binary_operation_rect_Type1 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13380 x_13379 x_13378 = function
    569569| Oadd (sz, sg) -> h_Oadd sz sg
    570570| Osub (sz, sg) -> h_Osub sz sg
     
    580580| Oshr (sz, sg) -> h_Oshr sz sg
    581581| Oshru (sz, sg) -> h_Oshru sz sg
    582 | Ocmp (sz, sg, sg', x_8551) -> h_Ocmp sz sg sg' x_8551
    583 | Ocmpu (sz, sg', x_8552) -> h_Ocmpu sz sg' x_8552
     582| Ocmp (sz, sg, sg', x_13382) -> h_Ocmp sz sg sg' x_13382
     583| Ocmpu (sz, sg', x_13383) -> h_Ocmpu sz sg' x_13383
    584584| Oaddpi sz -> h_Oaddpi sz
    585585| Oaddip sz -> h_Oaddip sz
    586586| Osubpi sz -> h_Osubpi sz
    587587| Osubpp sz -> h_Osubpp sz
    588 | Ocmpp (sg', x_8553) -> h_Ocmpp sg' x_8553
     588| Ocmpp (sg', x_13384) -> h_Ocmpp sg' x_13384
    589589
    590590(** val binary_operation_rect_Type0 :
     
    601601    (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) ->
    602602    AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **)
    603 let rec binary_operation_rect_Type0 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_8576 x_8575 x_8574 = function
     603let rec binary_operation_rect_Type0 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13407 x_13406 x_13405 = function
    604604| Oadd (sz, sg) -> h_Oadd sz sg
    605605| Osub (sz, sg) -> h_Osub sz sg
     
    615615| Oshr (sz, sg) -> h_Oshr sz sg
    616616| Oshru (sz, sg) -> h_Oshru sz sg
    617 | Ocmp (sz, sg, sg', x_8578) -> h_Ocmp sz sg sg' x_8578
    618 | Ocmpu (sz, sg', x_8579) -> h_Ocmpu sz sg' x_8579
     617| Ocmp (sz, sg, sg', x_13409) -> h_Ocmp sz sg sg' x_13409
     618| Ocmpu (sz, sg', x_13410) -> h_Ocmpu sz sg' x_13410
    619619| Oaddpi sz -> h_Oaddpi sz
    620620| Oaddip sz -> h_Oaddip sz
    621621| Osubpi sz -> h_Osubpi sz
    622622| Osubpp sz -> h_Osubpp sz
    623 | Ocmpp (sg', x_8580) -> h_Ocmpp sg' x_8580
     623| Ocmpp (sg', x_13411) -> h_Ocmpp sg' x_13411
    624624
    625625(** val binary_operation_inv_rect_Type4 :
  • extracted/genMem.ml

    r2773 r2775  
    100100(** val block_contents_rect_Type4 :
    101101    (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **)
    102 let rec block_contents_rect_Type4 h_mk_block_contents x_4781 =
    103   let { low = low0; high = high0; contents = contents0 } = x_4781 in
     102let rec block_contents_rect_Type4 h_mk_block_contents x_6386 =
     103  let { low = low0; high = high0; contents = contents0 } = x_6386 in
    104104  h_mk_block_contents low0 high0 contents0
    105105
    106106(** val block_contents_rect_Type5 :
    107107    (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **)
    108 let rec block_contents_rect_Type5 h_mk_block_contents x_4783 =
    109   let { low = low0; high = high0; contents = contents0 } = x_4783 in
     108let rec block_contents_rect_Type5 h_mk_block_contents x_6388 =
     109  let { low = low0; high = high0; contents = contents0 } = x_6388 in
    110110  h_mk_block_contents low0 high0 contents0
    111111
    112112(** val block_contents_rect_Type3 :
    113113    (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **)
    114 let rec block_contents_rect_Type3 h_mk_block_contents x_4785 =
    115   let { low = low0; high = high0; contents = contents0 } = x_4785 in
     114let rec block_contents_rect_Type3 h_mk_block_contents x_6390 =
     115  let { low = low0; high = high0; contents = contents0 } = x_6390 in
    116116  h_mk_block_contents low0 high0 contents0
    117117
    118118(** val block_contents_rect_Type2 :
    119119    (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **)
    120 let rec block_contents_rect_Type2 h_mk_block_contents x_4787 =
    121   let { low = low0; high = high0; contents = contents0 } = x_4787 in
     120let rec block_contents_rect_Type2 h_mk_block_contents x_6392 =
     121  let { low = low0; high = high0; contents = contents0 } = x_6392 in
    122122  h_mk_block_contents low0 high0 contents0
    123123
    124124(** val block_contents_rect_Type1 :
    125125    (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **)
    126 let rec block_contents_rect_Type1 h_mk_block_contents x_4789 =
    127   let { low = low0; high = high0; contents = contents0 } = x_4789 in
     126let rec block_contents_rect_Type1 h_mk_block_contents x_6394 =
     127  let { low = low0; high = high0; contents = contents0 } = x_6394 in
    128128  h_mk_block_contents low0 high0 contents0
    129129
    130130(** val block_contents_rect_Type0 :
    131131    (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **)
    132 let rec block_contents_rect_Type0 h_mk_block_contents x_4791 =
    133   let { low = low0; high = high0; contents = contents0 } = x_4791 in
     132let rec block_contents_rect_Type0 h_mk_block_contents x_6396 =
     133  let { low = low0; high = high0; contents = contents0 } = x_6396 in
    134134  h_mk_block_contents low0 high0 contents0
    135135
     
    187187(** val mem_rect_Type4 :
    188188    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **)
    189 let rec mem_rect_Type4 h_mk_mem x_4807 =
    190   let { blocks = blocks0; nextblock = nextblock0 } = x_4807 in
     189let rec mem_rect_Type4 h_mk_mem x_6412 =
     190  let { blocks = blocks0; nextblock = nextblock0 } = x_6412 in
    191191  h_mk_mem blocks0 nextblock0 __
    192192
    193193(** val mem_rect_Type5 :
    194194    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **)
    195 let rec mem_rect_Type5 h_mk_mem x_4809 =
    196   let { blocks = blocks0; nextblock = nextblock0 } = x_4809 in
     195let rec mem_rect_Type5 h_mk_mem x_6414 =
     196  let { blocks = blocks0; nextblock = nextblock0 } = x_6414 in
    197197  h_mk_mem blocks0 nextblock0 __
    198198
    199199(** val mem_rect_Type3 :
    200200    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **)
    201 let rec mem_rect_Type3 h_mk_mem x_4811 =
    202   let { blocks = blocks0; nextblock = nextblock0 } = x_4811 in
     201let rec mem_rect_Type3 h_mk_mem x_6416 =
     202  let { blocks = blocks0; nextblock = nextblock0 } = x_6416 in
    203203  h_mk_mem blocks0 nextblock0 __
    204204
    205205(** val mem_rect_Type2 :
    206206    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **)
    207 let rec mem_rect_Type2 h_mk_mem x_4813 =
    208   let { blocks = blocks0; nextblock = nextblock0 } = x_4813 in
     207let rec mem_rect_Type2 h_mk_mem x_6418 =
     208  let { blocks = blocks0; nextblock = nextblock0 } = x_6418 in
    209209  h_mk_mem blocks0 nextblock0 __
    210210
    211211(** val mem_rect_Type1 :
    212212    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **)
    213 let rec mem_rect_Type1 h_mk_mem x_4815 =
    214   let { blocks = blocks0; nextblock = nextblock0 } = x_4815 in
     213let rec mem_rect_Type1 h_mk_mem x_6420 =
     214  let { blocks = blocks0; nextblock = nextblock0 } = x_6420 in
    215215  h_mk_mem blocks0 nextblock0 __
    216216
    217217(** val mem_rect_Type0 :
    218218    ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **)
    219 let rec mem_rect_Type0 h_mk_mem x_4817 =
    220   let { blocks = blocks0; nextblock = nextblock0 } = x_4817 in
     219let rec mem_rect_Type0 h_mk_mem x_6422 =
     220  let { blocks = blocks0; nextblock = nextblock0 } = x_6422 in
    221221  h_mk_mem blocks0 nextblock0 __
    222222
  • extracted/globalenvs.ml

    r2773 r2775  
    9898    ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block
    9999    Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **)
    100 let rec genv_t_rect_Type4 h_mk_genv_t x_1608 =
     100let rec genv_t_rect_Type4 h_mk_genv_t x_6439 =
    101101  let { functions = functions0; nextfunction = nextfunction0; symbols =
    102     symbols0 } = x_1608
     102    symbols0 } = x_6439
    103103  in
    104104  h_mk_genv_t functions0 nextfunction0 symbols0 __
     
    107107    ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block
    108108    Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **)
    109 let rec genv_t_rect_Type5 h_mk_genv_t x_1610 =
     109let rec genv_t_rect_Type5 h_mk_genv_t x_6441 =
    110110  let { functions = functions0; nextfunction = nextfunction0; symbols =
    111     symbols0 } = x_1610
     111    symbols0 } = x_6441
    112112  in
    113113  h_mk_genv_t functions0 nextfunction0 symbols0 __
     
    116116    ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block
    117117    Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **)
    118 let rec genv_t_rect_Type3 h_mk_genv_t x_1612 =
     118let rec genv_t_rect_Type3 h_mk_genv_t x_6443 =
    119119  let { functions = functions0; nextfunction = nextfunction0; symbols =
    120     symbols0 } = x_1612
     120    symbols0 } = x_6443
    121121  in
    122122  h_mk_genv_t functions0 nextfunction0 symbols0 __
     
    125125    ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block
    126126    Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **)
    127 let rec genv_t_rect_Type2 h_mk_genv_t x_1614 =
     127let rec genv_t_rect_Type2 h_mk_genv_t x_6445 =
    128128  let { functions = functions0; nextfunction = nextfunction0; symbols =
    129     symbols0 } = x_1614
     129    symbols0 } = x_6445
    130130  in
    131131  h_mk_genv_t functions0 nextfunction0 symbols0 __
     
    134134    ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block
    135135    Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **)
    136 let rec genv_t_rect_Type1 h_mk_genv_t x_1616 =
     136let rec genv_t_rect_Type1 h_mk_genv_t x_6447 =
    137137  let { functions = functions0; nextfunction = nextfunction0; symbols =
    138     symbols0 } = x_1616
     138    symbols0 } = x_6447
    139139  in
    140140  h_mk_genv_t functions0 nextfunction0 symbols0 __
     
    143143    ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block
    144144    Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **)
    145 let rec genv_t_rect_Type0 h_mk_genv_t x_1618 =
     145let rec genv_t_rect_Type0 h_mk_genv_t x_6449 =
    146146  let { functions = functions0; nextfunction = nextfunction0; symbols =
    147     symbols0 } = x_1618
     147    symbols0 } = x_6449
    148148  in
    149149  h_mk_genv_t functions0 nextfunction0 symbols0 __
     
    314314let add_globals extract_init init_env vars =
    315315  Util.foldl (fun g_st id_init ->
    316     let { Types.fst = eta117; Types.snd = init_info } = id_init in
    317     let { Types.fst = id; Types.snd = r } = eta117 in
     316    let { Types.fst = eta1339; Types.snd = init_info } = id_init in
     317    let { Types.fst = id; Types.snd = r } = eta1339 in
    318318    let init = extract_init init_info in
    319319    let { Types.fst = g; Types.snd = st } = g_st in
     
    330330let init_globals extract_init g m vars =
    331331  Util.foldl (fun st id_init ->
    332     let { Types.fst = eta118; Types.snd = init_info } = id_init in
    333     let { Types.fst = id; Types.snd = r } = eta118 in
     332    let { Types.fst = eta1340; Types.snd = init_info } = id_init in
     333    let { Types.fst = id; Types.snd = r } = eta1340 in
    334334    let init = extract_init init_info in
    335335    Obj.magic
  • extracted/iO.ml

    r2773 r2775  
    150150    (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out ->
    151151    'a1 **)
    152 let rec io_out_rect_Type4 h_mk_io_out x_1355 =
    153   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    154     io_in_typ0 } = x_1355
     152let rec io_out_rect_Type4 h_mk_io_out x_5756 =
     153  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     154    io_in_typ0 } = x_5756
    155155  in
    156156  h_mk_io_out io_function0 io_args0 io_in_typ0
     
    159159    (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out ->
    160160    'a1 **)
    161 let rec io_out_rect_Type5 h_mk_io_out x_1357 =
    162   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    163     io_in_typ0 } = x_1357
     161let rec io_out_rect_Type5 h_mk_io_out x_5758 =
     162  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     163    io_in_typ0 } = x_5758
    164164  in
    165165  h_mk_io_out io_function0 io_args0 io_in_typ0
     
    168168    (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out ->
    169169    'a1 **)
    170 let rec io_out_rect_Type3 h_mk_io_out x_1359 =
    171   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    172     io_in_typ0 } = x_1359
     170let rec io_out_rect_Type3 h_mk_io_out x_5760 =
     171  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     172    io_in_typ0 } = x_5760
    173173  in
    174174  h_mk_io_out io_function0 io_args0 io_in_typ0
     
    177177    (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out ->
    178178    'a1 **)
    179 let rec io_out_rect_Type2 h_mk_io_out x_1361 =
    180   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    181     io_in_typ0 } = x_1361
     179let rec io_out_rect_Type2 h_mk_io_out x_5762 =
     180  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     181    io_in_typ0 } = x_5762
    182182  in
    183183  h_mk_io_out io_function0 io_args0 io_in_typ0
     
    186186    (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out ->
    187187    'a1 **)
    188 let rec io_out_rect_Type1 h_mk_io_out x_1363 =
    189   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    190     io_in_typ0 } = x_1363
     188let rec io_out_rect_Type1 h_mk_io_out x_5764 =
     189  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     190    io_in_typ0 } = x_5764
    191191  in
    192192  h_mk_io_out io_function0 io_args0 io_in_typ0
     
    195195    (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out ->
    196196    'a1 **)
    197 let rec io_out_rect_Type0 h_mk_io_out x_1365 =
    198   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    199     io_in_typ0 } = x_1365
     197let rec io_out_rect_Type0 h_mk_io_out x_5766 =
     198  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     199    io_in_typ0 } = x_5766
    200200  in
    201201  h_mk_io_out io_function0 io_args0 io_in_typ0
  • extracted/iOMonad.ml

    r2773 r2775  
    5252    'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **)
    5353let rec iO_rect_Type4 h_Interact h_Value h_Wrong = function
    54 | Interact (o, x_466) ->
    55   h_Interact o x_466 (fun x_465 ->
    56     iO_rect_Type4 h_Interact h_Value h_Wrong (x_466 x_465))
    57 | Value x_467 -> h_Value x_467
    58 | Wrong x_468 -> h_Wrong x_468
     54| Interact (o, x_4542) ->
     55  h_Interact o x_4542 (fun x_4541 ->
     56    iO_rect_Type4 h_Interact h_Value h_Wrong (x_4542 x_4541))
     57| Value x_4543 -> h_Value x_4543
     58| Wrong x_4544 -> h_Wrong x_4544
    5959
    6060(** val iO_rect_Type3 :
     
    6262    'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **)
    6363let rec iO_rect_Type3 h_Interact h_Value h_Wrong = function
    64 | Interact (o, x_482) ->
    65   h_Interact o x_482 (fun x_481 ->
    66     iO_rect_Type3 h_Interact h_Value h_Wrong (x_482 x_481))
    67 | Value x_483 -> h_Value x_483
    68 | Wrong x_484 -> h_Wrong x_484
     64| Interact (o, x_4558) ->
     65  h_Interact o x_4558 (fun x_4557 ->
     66    iO_rect_Type3 h_Interact h_Value h_Wrong (x_4558 x_4557))
     67| Value x_4559 -> h_Value x_4559
     68| Wrong x_4560 -> h_Wrong x_4560
    6969
    7070(** val iO_rect_Type2 :
     
    7272    'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **)
    7373let rec iO_rect_Type2 h_Interact h_Value h_Wrong = function
    74 | Interact (o, x_490) ->
    75   h_Interact o x_490 (fun x_489 ->
    76     iO_rect_Type2 h_Interact h_Value h_Wrong (x_490 x_489))
    77 | Value x_491 -> h_Value x_491
    78 | Wrong x_492 -> h_Wrong x_492
     74| Interact (o, x_4566) ->
     75  h_Interact o x_4566 (fun x_4565 ->
     76    iO_rect_Type2 h_Interact h_Value h_Wrong (x_4566 x_4565))
     77| Value x_4567 -> h_Value x_4567
     78| Wrong x_4568 -> h_Wrong x_4568
    7979
    8080(** val iO_rect_Type1 :
     
    8282    'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **)
    8383let rec iO_rect_Type1 h_Interact h_Value h_Wrong = function
    84 | Interact (o, x_498) ->
    85   h_Interact o x_498 (fun x_497 ->
    86     iO_rect_Type1 h_Interact h_Value h_Wrong (x_498 x_497))
    87 | Value x_499 -> h_Value x_499
    88 | Wrong x_500 -> h_Wrong x_500
     84| Interact (o, x_4574) ->
     85  h_Interact o x_4574 (fun x_4573 ->
     86    iO_rect_Type1 h_Interact h_Value h_Wrong (x_4574 x_4573))
     87| Value x_4575 -> h_Value x_4575
     88| Wrong x_4576 -> h_Wrong x_4576
    8989
    9090(** val iO_rect_Type0 :
     
    9292    'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **)
    9393let rec iO_rect_Type0 h_Interact h_Value h_Wrong = function
    94 | Interact (o, x_506) ->
    95   h_Interact o x_506 (fun x_505 ->
    96     iO_rect_Type0 h_Interact h_Value h_Wrong (x_506 x_505))
    97 | Value x_507 -> h_Value x_507
    98 | Wrong x_508 -> h_Wrong x_508
     94| Interact (o, x_4582) ->
     95  h_Interact o x_4582 (fun x_4581 ->
     96    iO_rect_Type0 h_Interact h_Value h_Wrong (x_4582 x_4581))
     97| Value x_4583 -> h_Value x_4583
     98| Wrong x_4584 -> h_Wrong x_4584
    9999
    100100(** val iO_inv_rect_Type4 :
  • extracted/identifiers.ml

    r2773 r2775  
    5151(** val universe_rect_Type4 :
    5252    PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **)
    53 let rec universe_rect_Type4 tag h_mk_universe x_3343 =
    54   let next_identifier = x_3343 in h_mk_universe next_identifier
     53let rec universe_rect_Type4 tag h_mk_universe x_3096 =
     54  let next_identifier = x_3096 in h_mk_universe next_identifier
    5555
    5656(** val universe_rect_Type5 :
    5757    PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **)
    58 let rec universe_rect_Type5 tag h_mk_universe x_3345 =
    59   let next_identifier = x_3345 in h_mk_universe next_identifier
     58let rec universe_rect_Type5 tag h_mk_universe x_3098 =
     59  let next_identifier = x_3098 in h_mk_universe next_identifier
    6060
    6161(** val universe_rect_Type3 :
    6262    PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **)
    63 let rec universe_rect_Type3 tag h_mk_universe x_3347 =
    64   let next_identifier = x_3347 in h_mk_universe next_identifier
     63let rec universe_rect_Type3 tag h_mk_universe x_3100 =
     64  let next_identifier = x_3100 in h_mk_universe next_identifier
    6565
    6666(** val universe_rect_Type2 :
    6767    PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **)
    68 let rec universe_rect_Type2 tag h_mk_universe x_3349 =
    69   let next_identifier = x_3349 in h_mk_universe next_identifier
     68let rec universe_rect_Type2 tag h_mk_universe x_3102 =
     69  let next_identifier = x_3102 in h_mk_universe next_identifier
    7070
    7171(** val universe_rect_Type1 :
    7272    PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **)
    73 let rec universe_rect_Type1 tag h_mk_universe x_3351 =
    74   let next_identifier = x_3351 in h_mk_universe next_identifier
     73let rec universe_rect_Type1 tag h_mk_universe x_3104 =
     74  let next_identifier = x_3104 in h_mk_universe next_identifier
    7575
    7676(** val universe_rect_Type0 :
    7777    PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **)
    78 let rec universe_rect_Type0 tag h_mk_universe x_3353 =
    79   let next_identifier = x_3353 in h_mk_universe next_identifier
     78let rec universe_rect_Type0 tag h_mk_universe x_3106 =
     79  let next_identifier = x_3106 in h_mk_universe next_identifier
    8080
    8181(** val next_identifier :
     
    215215    PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) ->
    216216    'a1 identifier_map -> 'a2 **)
    217 let rec identifier_map_rect_Type4 tag h_an_id_map x_3515 =
    218   let x_3516 = x_3515 in h_an_id_map x_3516
     217let rec identifier_map_rect_Type4 tag h_an_id_map x_3268 =
     218  let x_3269 = x_3268 in h_an_id_map x_3269
    219219
    220220(** val identifier_map_rect_Type5 :
    221221    PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) ->
    222222    'a1 identifier_map -> 'a2 **)
    223 let rec identifier_map_rect_Type5 tag h_an_id_map x_3518 =
    224   let x_3519 = x_3518 in h_an_id_map x_3519
     223let rec identifier_map_rect_Type5 tag h_an_id_map x_3271 =
     224  let x_3272 = x_3271 in h_an_id_map x_3272
    225225
    226226(** val identifier_map_rect_Type3 :
    227227    PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) ->
    228228    'a1 identifier_map -> 'a2 **)
    229 let rec identifier_map_rect_Type3 tag h_an_id_map x_3521 =
    230   let x_3522 = x_3521 in h_an_id_map x_3522
     229let rec identifier_map_rect_Type3 tag h_an_id_map x_3274 =
     230  let x_3275 = x_3274 in h_an_id_map x_3275
    231231
    232232(** val identifier_map_rect_Type2 :
    233233    PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) ->
    234234    'a1 identifier_map -> 'a2 **)
    235 let rec identifier_map_rect_Type2 tag h_an_id_map x_3524 =
    236   let x_3525 = x_3524 in h_an_id_map x_3525
     235let rec identifier_map_rect_Type2 tag h_an_id_map x_3277 =
     236  let x_3278 = x_3277 in h_an_id_map x_3278
    237237
    238238(** val identifier_map_rect_Type1 :
    239239    PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) ->
    240240    'a1 identifier_map -> 'a2 **)
    241 let rec identifier_map_rect_Type1 tag h_an_id_map x_3527 =
    242   let x_3528 = x_3527 in h_an_id_map x_3528
     241let rec identifier_map_rect_Type1 tag h_an_id_map x_3280 =
     242  let x_3281 = x_3280 in h_an_id_map x_3281
    243243
    244244(** val identifier_map_rect_Type0 :
    245245    PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) ->
    246246    'a1 identifier_map -> 'a2 **)
    247 let rec identifier_map_rect_Type0 tag h_an_id_map x_3530 =
    248   let x_3531 = x_3530 in h_an_id_map x_3531
     247let rec identifier_map_rect_Type0 tag h_an_id_map x_3283 =
     248  let x_3284 = x_3283 in h_an_id_map x_3284
    249249
    250250(** val identifier_map_inv_rect_Type4 :
  • extracted/interference.ml

    r2773 r2775  
    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_16893 -> h_decision_spill x_16893
    125 | Decision_colour x_16894 -> h_decision_colour x_16894
     124| Decision_spill x_21633 -> h_decision_spill x_21633
     125| Decision_colour x_21634 -> h_decision_colour x_21634
    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_16898 -> h_decision_spill x_16898
    131 | Decision_colour x_16899 -> h_decision_colour x_16899
     130| Decision_spill x_21638 -> h_decision_spill x_21638
     131| Decision_colour x_21639 -> h_decision_colour x_21639
    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_16903 -> h_decision_spill x_16903
    137 | Decision_colour x_16904 -> h_decision_colour x_16904
     136| Decision_spill x_21643 -> h_decision_spill x_21643
     137| Decision_colour x_21644 -> h_decision_colour x_21644
    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_16908 -> h_decision_spill x_16908
    143 | Decision_colour x_16909 -> h_decision_colour x_16909
     142| Decision_spill x_21648 -> h_decision_spill x_21648
     143| Decision_colour x_21649 -> h_decision_colour x_21649
    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_16913 -> h_decision_spill x_16913
    149 | Decision_colour x_16914 -> h_decision_colour x_16914
     148| Decision_spill x_21653 -> h_decision_spill x_21653
     149| Decision_colour x_21654 -> h_decision_colour x_21654
    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_16918 -> h_decision_spill x_16918
    155 | Decision_colour x_16919 -> h_decision_colour x_16919
     154| Decision_spill x_21658 -> h_decision_spill x_21658
     155| Decision_colour x_21659 -> h_decision_colour x_21659
    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_16954 =
    208   let { colouring = colouring0; spilled_no = spilled_no0 } = x_16954 in
     207let rec coloured_graph_rect_Type4 after h_mk_coloured_graph x_21694 =
     208  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21694 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_16956 =
    215   let { colouring = colouring0; spilled_no = spilled_no0 } = x_16956 in
     214let rec coloured_graph_rect_Type5 after h_mk_coloured_graph x_21696 =
     215  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21696 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_16958 =
    222   let { colouring = colouring0; spilled_no = spilled_no0 } = x_16958 in
     221let rec coloured_graph_rect_Type3 after h_mk_coloured_graph x_21698 =
     222  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21698 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_16960 =
    229   let { colouring = colouring0; spilled_no = spilled_no0 } = x_16960 in
     228let rec coloured_graph_rect_Type2 after h_mk_coloured_graph x_21700 =
     229  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21700 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_16962 =
    236   let { colouring = colouring0; spilled_no = spilled_no0 } = x_16962 in
     235let rec coloured_graph_rect_Type1 after h_mk_coloured_graph x_21702 =
     236  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21702 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_16964 =
    243   let { colouring = colouring0; spilled_no = spilled_no0 } = x_16964 in
     242let rec coloured_graph_rect_Type0 after h_mk_coloured_graph x_21704 =
     243  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21704 in
    244244  h_mk_coloured_graph colouring0 spilled_no0 __ __
    245245
  • extracted/joint.ml

    r2773 r2775  
    110110    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    111111let rec argument_rect_Type4 h_Reg h_Imm = function
    112 | Reg x_14700 -> h_Reg x_14700
    113 | Imm x_14701 -> h_Imm x_14701
     112| Reg x_19531 -> h_Reg x_19531
     113| Imm x_19532 -> h_Imm x_19532
    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_14705 -> h_Reg x_14705
    119 | Imm x_14706 -> h_Imm x_14706
     118| Reg x_19536 -> h_Reg x_19536
     119| Imm x_19537 -> h_Imm x_19537
    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_14710 -> h_Reg x_14710
    125 | Imm x_14711 -> h_Imm x_14711
     124| Reg x_19541 -> h_Reg x_19541
     125| Imm x_19542 -> h_Imm x_19542
    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_14715 -> h_Reg x_14715
    131 | Imm x_14716 -> h_Imm x_14716
     130| Reg x_19546 -> h_Reg x_19546
     131| Imm x_19547 -> h_Imm x_19547
    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_14720 -> h_Reg x_14720
    137 | Imm x_14721 -> h_Imm x_14721
     136| Reg x_19551 -> h_Reg x_19551
     137| Imm x_19552 -> h_Imm x_19552
    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_14725 -> h_Reg x_14725
    143 | Imm x_14726 -> h_Imm x_14726
     142| Reg x_19556 -> h_Reg x_19556
     143| Imm x_19557 -> h_Imm x_19557
    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_14761 =
     326let rec unserialized_params_rect_Type4 h_mk_unserialized_params x_19592 =
    327327  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    328     x_14761
     328    x_19592
    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_14763 =
     337let rec unserialized_params_rect_Type5 h_mk_unserialized_params x_19594 =
    338338  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    339     x_14763
     339    x_19594
    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_14765 =
     348let rec unserialized_params_rect_Type3 h_mk_unserialized_params x_19596 =
    349349  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    350     x_14765
     350    x_19596
    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_14767 =
     359let rec unserialized_params_rect_Type2 h_mk_unserialized_params x_19598 =
    360360  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    361     x_14767
     361    x_19598
    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_14769 =
     370let rec unserialized_params_rect_Type1 h_mk_unserialized_params x_19600 =
    371371  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    372     x_14769
     372    x_19600
    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_14771 =
     381let rec unserialized_params_rect_Type0 h_mk_unserialized_params x_19602 =
    382382  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    383     x_14771
     383    x_19602
    384384  in
    385385  h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __
     
    489489    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    490490let 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
    491 | COMMENT x_14827 -> h_COMMENT x_14827
    492 | MOVE x_14828 -> h_MOVE x_14828
    493 | POP x_14829 -> h_POP x_14829
    494 | PUSH x_14830 -> h_PUSH x_14830
    495 | ADDRESS (i, x_14832, x_14831) -> h_ADDRESS i __ x_14832 x_14831