Changeset 2797


Ignore:
Timestamp:
Mar 7, 2013, 12:55:34 PM (6 years ago)
Author:
sacerdot
Message:

Extracted again after James's cleanup and the implementation of the
new testing function to be used in the untrusted code.

Location:
extracted
Files:
58 edited

Legend:

Unmodified
Added
Removed
  • extracted/aSM.ml

    r2775 r2797  
    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_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
     115| DIRECT x_21925 -> h_DIRECT x_21925
     116| INDIRECT x_21926 -> h_INDIRECT x_21926
     117| EXT_INDIRECT x_21927 -> h_EXT_INDIRECT x_21927
     118| REGISTER x_21928 -> h_REGISTER x_21928
    119119| ACC_A -> h_ACC_A
    120120| ACC_B -> h_ACC_B
    121121| DPTR -> h_DPTR
    122 | DATA x_21850 -> h_DATA x_21850
    123 | DATA16 x_21851 -> h_DATA16 x_21851
     122| DATA x_21929 -> h_DATA x_21929
     123| DATA16 x_21930 -> h_DATA16 x_21930
    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_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
     129| BIT_ADDR x_21931 -> h_BIT_ADDR x_21931
     130| N_BIT_ADDR x_21932 -> h_N_BIT_ADDR x_21932
     131| RELATIVE x_21933 -> h_RELATIVE x_21933
     132| ADDR11 x_21934 -> h_ADDR11 x_21934
     133| ADDR16 x_21935 -> h_ADDR16 x_21935
    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_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
     143| DIRECT x_21956 -> h_DIRECT x_21956
     144| INDIRECT x_21957 -> h_INDIRECT x_21957
     145| EXT_INDIRECT x_21958 -> h_EXT_INDIRECT x_21958
     146| REGISTER x_21959 -> h_REGISTER x_21959
    147147| ACC_A -> h_ACC_A
    148148| ACC_B -> h_ACC_B
    149149| DPTR -> h_DPTR
    150 | DATA x_21881 -> h_DATA x_21881
    151 | DATA16 x_21882 -> h_DATA16 x_21882
     150| DATA x_21960 -> h_DATA x_21960
     151| DATA16 x_21961 -> h_DATA16 x_21961
    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_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
     157| BIT_ADDR x_21962 -> h_BIT_ADDR x_21962
     158| N_BIT_ADDR x_21963 -> h_N_BIT_ADDR x_21963
     159| RELATIVE x_21964 -> h_RELATIVE x_21964
     160| ADDR11 x_21965 -> h_ADDR11 x_21965
     161| ADDR16 x_21966 -> h_ADDR16 x_21966
    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_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
     171| DIRECT x_21987 -> h_DIRECT x_21987
     172| INDIRECT x_21988 -> h_INDIRECT x_21988
     173| EXT_INDIRECT x_21989 -> h_EXT_INDIRECT x_21989
     174| REGISTER x_21990 -> h_REGISTER x_21990
    175175| ACC_A -> h_ACC_A
    176176| ACC_B -> h_ACC_B
    177177| DPTR -> h_DPTR
    178 | DATA x_21912 -> h_DATA x_21912
    179 | DATA16 x_21913 -> h_DATA16 x_21913
     178| DATA x_21991 -> h_DATA x_21991
     179| DATA16 x_21992 -> h_DATA16 x_21992
    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_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
     185| BIT_ADDR x_21993 -> h_BIT_ADDR x_21993
     186| N_BIT_ADDR x_21994 -> h_N_BIT_ADDR x_21994
     187| RELATIVE x_21995 -> h_RELATIVE x_21995
     188| ADDR11 x_21996 -> h_ADDR11 x_21996
     189| ADDR16 x_21997 -> h_ADDR16 x_21997
    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_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
     199| DIRECT x_22018 -> h_DIRECT x_22018
     200| INDIRECT x_22019 -> h_INDIRECT x_22019
     201| EXT_INDIRECT x_22020 -> h_EXT_INDIRECT x_22020
     202| REGISTER x_22021 -> h_REGISTER x_22021
    203203| ACC_A -> h_ACC_A
    204204| ACC_B -> h_ACC_B
    205205| DPTR -> h_DPTR
    206 | DATA x_21943 -> h_DATA x_21943
    207 | DATA16 x_21944 -> h_DATA16 x_21944
     206| DATA x_22022 -> h_DATA x_22022
     207| DATA16 x_22023 -> h_DATA16 x_22023
    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_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
     213| BIT_ADDR x_22024 -> h_BIT_ADDR x_22024
     214| N_BIT_ADDR x_22025 -> h_N_BIT_ADDR x_22025
     215| RELATIVE x_22026 -> h_RELATIVE x_22026
     216| ADDR11 x_22027 -> h_ADDR11 x_22027
     217| ADDR16 x_22028 -> h_ADDR16 x_22028
    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_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
     227| DIRECT x_22049 -> h_DIRECT x_22049
     228| INDIRECT x_22050 -> h_INDIRECT x_22050
     229| EXT_INDIRECT x_22051 -> h_EXT_INDIRECT x_22051
     230| REGISTER x_22052 -> h_REGISTER x_22052
    231231| ACC_A -> h_ACC_A
    232232| ACC_B -> h_ACC_B
    233233| DPTR -> h_DPTR
    234 | DATA x_21974 -> h_DATA x_21974
    235 | DATA16 x_21975 -> h_DATA16 x_21975
     234| DATA x_22053 -> h_DATA x_22053
     235| DATA16 x_22054 -> h_DATA16 x_22054
    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_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
     241| BIT_ADDR x_22055 -> h_BIT_ADDR x_22055
     242| N_BIT_ADDR x_22056 -> h_N_BIT_ADDR x_22056
     243| RELATIVE x_22057 -> h_RELATIVE x_22057
     244| ADDR11 x_22058 -> h_ADDR11 x_22058
     245| ADDR16 x_22059 -> h_ADDR16 x_22059
    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_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
     255| DIRECT x_22080 -> h_DIRECT x_22080
     256| INDIRECT x_22081 -> h_INDIRECT x_22081
     257| EXT_INDIRECT x_22082 -> h_EXT_INDIRECT x_22082
     258| REGISTER x_22083 -> h_REGISTER x_22083
    259259| ACC_A -> h_ACC_A
    260260| ACC_B -> h_ACC_B
    261261| DPTR -> h_DPTR
    262 | DATA x_22005 -> h_DATA x_22005
    263 | DATA16 x_22006 -> h_DATA16 x_22006
     262| DATA x_22084 -> h_DATA x_22084
     263| DATA16 x_22085 -> h_DATA16 x_22085
    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_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
     269| BIT_ADDR x_22086 -> h_BIT_ADDR x_22086
     270| N_BIT_ADDR x_22087 -> h_N_BIT_ADDR x_22087
     271| RELATIVE x_22088 -> h_RELATIVE x_22088
     272| ADDR11 x_22089 -> h_ADDR11 x_22089
     273| ADDR16 x_22090 -> h_ADDR16 x_22090
    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_22479 =
    1929   let subaddressing_modeel = x_22479 in
     1928let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_22558 =
     1929  let subaddressing_modeel = x_22558 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_22481 =
    1936   let subaddressing_modeel = x_22481 in
     1935let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_22560 =
     1936  let subaddressing_modeel = x_22560 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_22483 =
    1943   let subaddressing_modeel = x_22483 in
     1942let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_22562 =
     1943  let subaddressing_modeel = x_22562 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_22485 =
    1950   let subaddressing_modeel = x_22485 in
     1949let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_22564 =
     1950  let subaddressing_modeel = x_22564 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_22487 =
    1957   let subaddressing_modeel = x_22487 in
     1956let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_22566 =
     1957  let subaddressing_modeel = x_22566 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_22489 =
    1964   let subaddressing_modeel = x_22489 in
     1963let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_22568 =
     1964  let subaddressing_modeel = x_22568 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_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
     2290| ADD (x_22670, x_22669) -> h_ADD x_22670 x_22669
     2291| ADDC (x_22672, x_22671) -> h_ADDC x_22672 x_22671
     2292| SUBB (x_22674, x_22673) -> h_SUBB x_22674 x_22673
     2293| INC x_22675 -> h_INC x_22675
     2294| DEC x_22676 -> h_DEC x_22676
     2295| MUL (x_22678, x_22677) -> h_MUL x_22678 x_22677
     2296| DIV (x_22680, x_22679) -> h_DIV x_22680 x_22679
     2297| DA x_22681 -> h_DA x_22681
     2298| JC x_22682 -> h_JC x_22682
     2299| JNC x_22683 -> h_JNC x_22683
     2300| JB (x_22685, x_22684) -> h_JB x_22685 x_22684
     2301| JNB (x_22687, x_22686) -> h_JNB x_22687 x_22686
     2302| JBC (x_22689, x_22688) -> h_JBC x_22689 x_22688
     2303| JZ x_22690 -> h_JZ x_22690
     2304| JNZ x_22691 -> h_JNZ x_22691
     2305| CJNE (x_22693, x_22692) -> h_CJNE x_22693 x_22692
     2306| DJNZ (x_22695, x_22694) -> h_DJNZ x_22695 x_22694
     2307| ANL x_22696 -> h_ANL x_22696
     2308| ORL x_22697 -> h_ORL x_22697
     2309| XRL x_22698 -> h_XRL x_22698
     2310| CLR x_22699 -> h_CLR x_22699
     2311| CPL x_22700 -> h_CPL x_22700
     2312| RL x_22701 -> h_RL x_22701
     2313| RLC x_22702 -> h_RLC x_22702
     2314| RR x_22703 -> h_RR x_22703
     2315| RRC x_22704 -> h_RRC x_22704
     2316| SWAP x_22705 -> h_SWAP x_22705
     2317| MOV x_22706 -> h_MOV x_22706
     2318| MOVX x_22707 -> h_MOVX x_22707
     2319| SETB x_22708 -> h_SETB x_22708
     2320| PUSH x_22709 -> h_PUSH x_22709
     2321| POP x_22710 -> h_POP x_22710
     2322| XCH (x_22712, x_22711) -> h_XCH x_22712 x_22711
     2323| XCHD (x_22714, x_22713) -> h_XCHD x_22714 x_22713
    23242324| RET -> h_RET
    23252325| RETI -> h_RETI
    23262326| NOP -> h_NOP
    2327 | JMP x_22636 -> h_JMP x_22636
     2327| JMP x_22715 -> h_JMP x_22715
    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_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
     2365| ADD (x_22756, x_22755) -> h_ADD x_22756 x_22755
     2366| ADDC (x_22758, x_22757) -> h_ADDC x_22758 x_22757
     2367| SUBB (x_22760, x_22759) -> h_SUBB x_22760 x_22759
     2368| INC x_22761 -> h_INC x_22761
     2369| DEC x_22762 -> h_DEC x_22762
     2370| MUL (x_22764, x_22763) -> h_MUL x_22764 x_22763
     2371| DIV (x_22766, x_22765) -> h_DIV x_22766 x_22765
     2372| DA x_22767 -> h_DA x_22767
     2373| JC x_22768 -> h_JC x_22768
     2374| JNC x_22769 -> h_JNC x_22769
     2375| JB (x_22771, x_22770) -> h_JB x_22771 x_22770
     2376| JNB (x_22773, x_22772) -> h_JNB x_22773 x_22772
     2377| JBC (x_22775, x_22774) -> h_JBC x_22775 x_22774
     2378| JZ x_22776 -> h_JZ x_22776
     2379| JNZ x_22777 -> h_JNZ x_22777
     2380| CJNE (x_22779, x_22778) -> h_CJNE x_22779 x_22778
     2381| DJNZ (x_22781, x_22780) -> h_DJNZ x_22781 x_22780
     2382| ANL x_22782 -> h_ANL x_22782
     2383| ORL x_22783 -> h_ORL x_22783
     2384| XRL x_22784 -> h_XRL x_22784
     2385| CLR x_22785 -> h_CLR x_22785
     2386| CPL x_22786 -> h_CPL x_22786
     2387| RL x_22787 -> h_RL x_22787
     2388| RLC x_22788 -> h_RLC x_22788
     2389| RR x_22789 -> h_RR x_22789
     2390| RRC x_22790 -> h_RRC x_22790
     2391| SWAP x_22791 -> h_SWAP x_22791
     2392| MOV x_22792 -> h_MOV x_22792
     2393| MOVX x_22793 -> h_MOVX x_22793
     2394| SETB x_22794 -> h_SETB x_22794
     2395| PUSH x_22795 -> h_PUSH x_22795
     2396| POP x_22796 -> h_POP x_22796
     2397| XCH (x_22798, x_22797) -> h_XCH x_22798 x_22797
     2398| XCHD (x_22800, x_22799) -> h_XCHD x_22800 x_22799
    23992399| RET -> h_RET
    24002400| RETI -> h_RETI
    24012401| NOP -> h_NOP
    2402 | JMP x_22722 -> h_JMP x_22722
     2402| JMP x_22801 -> h_JMP x_22801
    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_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
     2440| ADD (x_22842, x_22841) -> h_ADD x_22842 x_22841
     2441| ADDC (x_22844, x_22843) -> h_ADDC x_22844 x_22843
     2442| SUBB (x_22846, x_22845) -> h_SUBB x_22846 x_22845
     2443| INC x_22847 -> h_INC x_22847
     2444| DEC x_22848 -> h_DEC x_22848
     2445| MUL (x_22850, x_22849) -> h_MUL x_22850 x_22849
     2446| DIV (x_22852, x_22851) -> h_DIV x_22852 x_22851
     2447| DA x_22853 -> h_DA x_22853
     2448| JC x_22854 -> h_JC x_22854
     2449| JNC x_22855 -> h_JNC x_22855
     2450| JB (x_22857, x_22856) -> h_JB x_22857 x_22856
     2451| JNB (x_22859, x_22858) -> h_JNB x_22859 x_22858
     2452| JBC (x_22861, x_22860) -> h_JBC x_22861 x_22860
     2453| JZ x_22862 -> h_JZ x_22862
     2454| JNZ x_22863 -> h_JNZ x_22863
     2455| CJNE (x_22865, x_22864) -> h_CJNE x_22865 x_22864
     2456| DJNZ (x_22867, x_22866) -> h_DJNZ x_22867 x_22866
     2457| ANL x_22868 -> h_ANL x_22868
     2458| ORL x_22869 -> h_ORL x_22869
     2459| XRL x_22870 -> h_XRL x_22870
     2460| CLR x_22871 -> h_CLR x_22871
     2461| CPL x_22872 -> h_CPL x_22872
     2462| RL x_22873 -> h_RL x_22873
     2463| RLC x_22874 -> h_RLC x_22874
     2464| RR x_22875 -> h_RR x_22875
     2465| RRC x_22876 -> h_RRC x_22876
     2466| SWAP x_22877 -> h_SWAP x_22877
     2467| MOV x_22878 -> h_MOV x_22878
     2468| MOVX x_22879 -> h_MOVX x_22879
     2469| SETB x_22880 -> h_SETB x_22880
     2470| PUSH x_22881 -> h_PUSH x_22881
     2471| POP x_22882 -> h_POP x_22882
     2472| XCH (x_22884, x_22883) -> h_XCH x_22884 x_22883
     2473| XCHD (x_22886, x_22885) -> h_XCHD x_22886 x_22885
    24742474| RET -> h_RET
    24752475| RETI -> h_RETI
    24762476| NOP -> h_NOP
    2477 | JMP x_22808 -> h_JMP x_22808
     2477| JMP x_22887 -> h_JMP x_22887
    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_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
     2515| ADD (x_22928, x_22927) -> h_ADD x_22928 x_22927
     2516| ADDC (x_22930, x_22929) -> h_ADDC x_22930 x_22929
     2517| SUBB (x_22932, x_22931) -> h_SUBB x_22932 x_22931
     2518| INC x_22933 -> h_INC x_22933
     2519| DEC x_22934 -> h_DEC x_22934
     2520| MUL (x_22936, x_22935) -> h_MUL x_22936 x_22935
     2521| DIV (x_22938, x_22937) -> h_DIV x_22938 x_22937
     2522| DA x_22939 -> h_DA x_22939
     2523| JC x_22940 -> h_JC x_22940
     2524| JNC x_22941 -> h_JNC x_22941
     2525| JB (x_22943, x_22942) -> h_JB x_22943 x_22942
     2526| JNB (x_22945, x_22944) -> h_JNB x_22945 x_22944
     2527| JBC (x_22947, x_22946) -> h_JBC x_22947 x_22946
     2528| JZ x_22948 -> h_JZ x_22948
     2529| JNZ x_22949 -> h_JNZ x_22949
     2530| CJNE (x_22951, x_22950) -> h_CJNE x_22951 x_22950
     2531| DJNZ (x_22953, x_22952) -> h_DJNZ x_22953 x_22952
     2532| ANL x_22954 -> h_ANL x_22954
     2533| ORL x_22955 -> h_ORL x_22955
     2534| XRL x_22956 -> h_XRL x_22956
     2535| CLR x_22957 -> h_CLR x_22957
     2536| CPL x_22958 -> h_CPL x_22958
     2537| RL x_22959 -> h_RL x_22959
     2538| RLC x_22960 -> h_RLC x_22960
     2539| RR x_22961 -> h_RR x_22961
     2540| RRC x_22962 -> h_RRC x_22962
     2541| SWAP x_22963 -> h_SWAP x_22963
     2542| MOV x_22964 -> h_MOV x_22964
     2543| MOVX x_22965 -> h_MOVX x_22965
     2544| SETB x_22966 -> h_SETB x_22966
     2545| PUSH x_22967 -> h_PUSH x_22967
     2546| POP x_22968 -> h_POP x_22968
     2547| XCH (x_22970, x_22969) -> h_XCH x_22970 x_22969
     2548| XCHD (x_22972, x_22971) -> h_XCHD x_22972 x_22971
    25492549| RET -> h_RET
    25502550| RETI -> h_RETI
    25512551| NOP -> h_NOP
    2552 | JMP x_22894 -> h_JMP x_22894
     2552| JMP x_22973 -> h_JMP x_22973
    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_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
     2590| ADD (x_23014, x_23013) -> h_ADD x_23014 x_23013
     2591| ADDC (x_23016, x_23015) -> h_ADDC x_23016 x_23015
     2592| SUBB (x_23018, x_23017) -> h_SUBB x_23018 x_23017
     2593| INC x_23019 -> h_INC x_23019
     2594| DEC x_23020 -> h_DEC x_23020
     2595| MUL (x_23022, x_23021) -> h_MUL x_23022 x_23021
     2596| DIV (x_23024, x_23023) -> h_DIV x_23024 x_23023
     2597| DA x_23025 -> h_DA x_23025
     2598| JC x_23026 -> h_JC x_23026
     2599| JNC x_23027 -> h_JNC x_23027
     2600| JB (x_23029, x_23028) -> h_JB x_23029 x_23028
     2601| JNB (x_23031, x_23030) -> h_JNB x_23031 x_23030
     2602| JBC (x_23033, x_23032) -> h_JBC x_23033 x_23032
     2603| JZ x_23034 -> h_JZ x_23034
     2604| JNZ x_23035 -> h_JNZ x_23035
     2605| CJNE (x_23037, x_23036) -> h_CJNE x_23037 x_23036
     2606| DJNZ (x_23039, x_23038) -> h_DJNZ x_23039 x_23038
     2607| ANL x_23040 -> h_ANL x_23040
     2608| ORL x_23041 -> h_ORL x_23041
     2609| XRL x_23042 -> h_XRL x_23042
     2610| CLR x_23043 -> h_CLR x_23043
     2611| CPL x_23044 -> h_CPL x_23044
     2612| RL x_23045 -> h_RL x_23045
     2613| RLC x_23046 -> h_RLC x_23046
     2614| RR x_23047 -> h_RR x_23047
     2615| RRC x_23048 -> h_RRC x_23048
     2616| SWAP x_23049 -> h_SWAP x_23049
     2617| MOV x_23050 -> h_MOV x_23050
     2618| MOVX x_23051 -> h_MOVX x_23051
     2619| SETB x_23052 -> h_SETB x_23052
     2620| PUSH x_23053 -> h_PUSH x_23053
     2621| POP x_23054 -> h_POP x_23054
     2622| XCH (x_23056, x_23055) -> h_XCH x_23056 x_23055
     2623| XCHD (x_23058, x_23057) -> h_XCHD x_23058 x_23057
    26242624| RET -> h_RET
    26252625| RETI -> h_RETI
    26262626| NOP -> h_NOP
    2627 | JMP x_22980 -> h_JMP x_22980
     2627| JMP x_23059 -> h_JMP x_23059
    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_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
     2665| ADD (x_23100, x_23099) -> h_ADD x_23100 x_23099
     2666| ADDC (x_23102, x_23101) -> h_ADDC x_23102 x_23101
     2667| SUBB (x_23104, x_23103) -> h_SUBB x_23104 x_23103
     2668| INC x_23105 -> h_INC x_23105
     2669| DEC x_23106 -> h_DEC x_23106
     2670| MUL (x_23108, x_23107) -> h_MUL x_23108 x_23107
     2671| DIV (x_23110, x_23109) -> h_DIV x_23110 x_23109
     2672| DA x_23111 -> h_DA x_23111
     2673| JC x_23112 -> h_JC x_23112
     2674| JNC x_23113 -> h_JNC x_23113
     2675| JB (x_23115, x_23114) -> h_JB x_23115 x_23114
     2676| JNB (x_23117, x_23116) -> h_JNB x_23117 x_23116
     2677| JBC (x_23119, x_23118) -> h_JBC x_23119 x_23118
     2678| JZ x_23120 -> h_JZ x_23120
     2679| JNZ x_23121 -> h_JNZ x_23121
     2680| CJNE (x_23123, x_23122) -> h_CJNE x_23123 x_23122
     2681| DJNZ (x_23125, x_23124) -> h_DJNZ x_23125 x_23124
     2682| ANL x_23126 -> h_ANL x_23126
     2683| ORL x_23127 -> h_ORL x_23127
     2684| XRL x_23128 -> h_XRL x_23128
     2685| CLR x_23129 -> h_CLR x_23129
     2686| CPL x_23130 -> h_CPL x_23130
     2687| RL x_23131 -> h_RL x_23131
     2688| RLC x_23132 -> h_RLC x_23132
     2689| RR x_23133 -> h_RR x_23133
     2690| RRC x_23134 -> h_RRC x_23134
     2691| SWAP x_23135 -> h_SWAP x_23135
     2692| MOV x_23136 -> h_MOV x_23136
     2693| MOVX x_23137 -> h_MOVX x_23137
     2694| SETB x_23138 -> h_SETB x_23138
     2695| PUSH x_23139 -> h_PUSH x_23139
     2696| POP x_23140 -> h_POP x_23140
     2697| XCH (x_23142, x_23141) -> h_XCH x_23142 x_23141
     2698| XCHD (x_23144, x_23143) -> h_XCHD x_23144 x_23143
    26992699| RET -> h_RET
    27002700| RETI -> h_RETI
    27012701| NOP -> h_NOP
    2702 | JMP x_23066 -> h_JMP x_23066
     2702| JMP x_23145 -> h_JMP x_23145
    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_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
     5106| ACALL x_23717 -> h_ACALL x_23717
     5107| LCALL x_23718 -> h_LCALL x_23718
     5108| AJMP x_23719 -> h_AJMP x_23719
     5109| LJMP x_23720 -> h_LJMP x_23720
     5110| SJMP x_23721 -> h_SJMP x_23721
     5111| MOVC (x_23723, x_23722) -> h_MOVC x_23723 x_23722
     5112| RealInstruction x_23724 -> h_RealInstruction x_23724
    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_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
     5121| ACALL x_23733 -> h_ACALL x_23733
     5122| LCALL x_23734 -> h_LCALL x_23734
     5123| AJMP x_23735 -> h_AJMP x_23735
     5124| LJMP x_23736 -> h_LJMP x_23736
     5125| SJMP x_23737 -> h_SJMP x_23737
     5126| MOVC (x_23739, x_23738) -> h_MOVC x_23739 x_23738
     5127| RealInstruction x_23740 -> h_RealInstruction x_23740
    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_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
     5136| ACALL x_23749 -> h_ACALL x_23749
     5137| LCALL x_23750 -> h_LCALL x_23750
     5138| AJMP x_23751 -> h_AJMP x_23751
     5139| LJMP x_23752 -> h_LJMP x_23752
     5140| SJMP x_23753 -> h_SJMP x_23753
     5141| MOVC (x_23755, x_23754) -> h_MOVC x_23755 x_23754
     5142| RealInstruction x_23756 -> h_RealInstruction x_23756
    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_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
     5151| ACALL x_23765 -> h_ACALL x_23765
     5152| LCALL x_23766 -> h_LCALL x_23766
     5153| AJMP x_23767 -> h_AJMP x_23767
     5154| LJMP x_23768 -> h_LJMP x_23768
     5155| SJMP x_23769 -> h_SJMP x_23769
     5156| MOVC (x_23771, x_23770) -> h_MOVC x_23771 x_23770
     5157| RealInstruction x_23772 -> h_RealInstruction x_23772
    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_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
     5166| ACALL x_23781 -> h_ACALL x_23781
     5167| LCALL x_23782 -> h_LCALL x_23782
     5168| AJMP x_23783 -> h_AJMP x_23783
     5169| LJMP x_23784 -> h_LJMP x_23784
     5170| SJMP x_23785 -> h_SJMP x_23785
     5171| MOVC (x_23787, x_23786) -> h_MOVC x_23787 x_23786
     5172| RealInstruction x_23788 -> h_RealInstruction x_23788
    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_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
     5181| ACALL x_23797 -> h_ACALL x_23797
     5182| LCALL x_23798 -> h_LCALL x_23798
     5183| AJMP x_23799 -> h_AJMP x_23799
     5184| LJMP x_23800 -> h_LJMP x_23800
     5185| SJMP x_23801 -> h_SJMP x_23801
     5186| MOVC (x_23803, x_23802) -> h_MOVC x_23803 x_23802
     5187| RealInstruction x_23804 -> h_RealInstruction x_23804
    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_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
     5478| Instruction x_23970 -> h_Instruction x_23970
     5479| Comment x_23971 -> h_Comment x_23971
     5480| Cost x_23972 -> h_Cost x_23972
     5481| Jmp x_23973 -> h_Jmp x_23973
     5482| Jnz (x_23976, x_23975, x_23974) -> h_Jnz x_23976 x_23975 x_23974
     5483| MovSuccessor (x_23979, x_23978, x_23977) ->
     5484  h_MovSuccessor x_23979 x_23978 x_23977
     5485| Call x_23980 -> h_Call x_23980
     5486| Mov (x_23982, x_23981) -> h_Mov x_23982 x_23981
    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_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
     5496| Instruction x_23992 -> h_Instruction x_23992
     5497| Comment x_23993 -> h_Comment x_23993
     5498| Cost x_23994 -> h_Cost x_23994
     5499| Jmp x_23995 -> h_Jmp x_23995
     5500| Jnz (x_23998, x_23997, x_23996) -> h_Jnz x_23998 x_23997 x_23996
     5501| MovSuccessor (x_24001, x_24000, x_23999) ->
     5502  h_MovSuccessor x_24001 x_24000 x_23999
     5503| Call x_24002 -> h_Call x_24002
     5504| Mov (x_24004, x_24003) -> h_Mov x_24004 x_24003
    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_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
     5514| Instruction x_24014 -> h_Instruction x_24014
     5515| Comment x_24015 -> h_Comment x_24015
     5516| Cost x_24016 -> h_Cost x_24016
     5517| Jmp x_24017 -> h_Jmp x_24017
     5518| Jnz (x_24020, x_24019, x_24018) -> h_Jnz x_24020 x_24019 x_24018
     5519| MovSuccessor (x_24023, x_24022, x_24021) ->
     5520  h_MovSuccessor x_24023 x_24022 x_24021
     5521| Call x_24024 -> h_Call x_24024
     5522| Mov (x_24026, x_24025) -> h_Mov x_24026 x_24025
    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_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
     5532| Instruction x_24036 -> h_Instruction x_24036
     5533| Comment x_24037 -> h_Comment x_24037
     5534| Cost x_24038 -> h_Cost x_24038
     5535| Jmp x_24039 -> h_Jmp x_24039
     5536| Jnz (x_24042, x_24041, x_24040) -> h_Jnz x_24042 x_24041 x_24040
     5537| MovSuccessor (x_24045, x_24044, x_24043) ->
     5538  h_MovSuccessor x_24045 x_24044 x_24043
     5539| Call x_24046 -> h_Call x_24046
     5540| Mov (x_24048, x_24047) -> h_Mov x_24048 x_24047
    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_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
     5550| Instruction x_24058 -> h_Instruction x_24058
     5551| Comment x_24059 -> h_Comment x_24059
     5552| Cost x_24060 -> h_Cost x_24060
     5553| Jmp x_24061 -> h_Jmp x_24061
     5554| Jnz (x_24064, x_24063, x_24062) -> h_Jnz x_24064 x_24063 x_24062
     5555| MovSuccessor (x_24067, x_24066, x_24065) ->
     5556  h_MovSuccessor x_24067 x_24066 x_24065
     5557| Call x_24068 -> h_Call x_24068
     5558| Mov (x_24070, x_24069) -> h_Mov x_24070 x_24069
    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_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
     5568| Instruction x_24080 -> h_Instruction x_24080
     5569| Comment x_24081 -> h_Comment x_24081
     5570| Cost x_24082 -> h_Cost x_24082
     5571| Jmp x_24083 -> h_Jmp x_24083
     5572| Jnz (x_24086, x_24085, x_24084) -> h_Jnz x_24086 x_24085 x_24084
     5573| MovSuccessor (x_24089, x_24088, x_24087) ->
     5574  h_MovSuccessor x_24089 x_24088 x_24087
     5575| Call x_24090 -> h_Call x_24090
     5576| Mov (x_24092, x_24091) -> h_Mov x_24092 x_24091
    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_24156 =
     5798let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_24235 =
    57995799  let { preamble = preamble0; code = code0; renamed_symbols =
    5800     renamed_symbols0; final_label = final_label0 } = x_24156
     5800    renamed_symbols0; final_label = final_label0 } = x_24235
    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_24158 =
     5810let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_24237 =
    58115811  let { preamble = preamble0; code = code0; renamed_symbols =
    5812     renamed_symbols0; final_label = final_label0 } = x_24158
     5812    renamed_symbols0; final_label = final_label0 } = x_24237
    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_24160 =
     5822let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_24239 =
    58235823  let { preamble = preamble0; code = code0; renamed_symbols =
    5824     renamed_symbols0; final_label = final_label0 } = x_24160
     5824    renamed_symbols0; final_label = final_label0 } = x_24239
    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_24162 =
     5834let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_24241 =
    58355835  let { preamble = preamble0; code = code0; renamed_symbols =
    5836     renamed_symbols0; final_label = final_label0 } = x_24162
     5836    renamed_symbols0; final_label = final_label0 } = x_24241
    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_24164 =
     5846let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_24243 =
    58475847  let { preamble = preamble0; code = code0; renamed_symbols =
    5848     renamed_symbols0; final_label = final_label0 } = x_24164
     5848    renamed_symbols0; final_label = final_label0 } = x_24243
    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_24166 =
     5858let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_24245 =
    58595859  let { preamble = preamble0; code = code0; renamed_symbols =
    5860     renamed_symbols0; final_label = final_label0 } = x_24166
     5860    renamed_symbols0; final_label = final_label0 } = x_24245
    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_24182 =
     5946let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_24261 =
    59475947  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5948     final_pc = final_pc0 } = x_24182
     5948    final_pc = final_pc0 } = x_24261
    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_24184 =
     5955let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_24263 =
    59565956  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5957     final_pc = final_pc0 } = x_24184
     5957    final_pc = final_pc0 } = x_24263
    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_24186 =
     5964let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_24265 =
    59655965  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5966     final_pc = final_pc0 } = x_24186
     5966    final_pc = final_pc0 } = x_24265
    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_24188 =
     5973let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_24267 =
    59745974  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5975     final_pc = final_pc0 } = x_24188
     5975    final_pc = final_pc0 } = x_24267
    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_24190 =
     5982let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_24269 =
    59835983  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5984     final_pc = final_pc0 } = x_24190
     5984    final_pc = final_pc0 } = x_24269
    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_24192 =
     5991let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_24271 =
    59925992  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5993     final_pc = final_pc0 } = x_24192
     5993    final_pc = final_pc0 } = x_24271
    59945994  in
    59955995  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
  • extracted/aSMCosts.ml

    r2775 r2797  
    128128      (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
    129129      Nat.O)))))))))))))))) (Obj.magic pc) cost_labels);
    130     StructuredTraces.as_result = (fun _ -> assert false (* absurd case *));
    131     StructuredTraces.as_call_ident = (fun _ -> assert false (* absurd case *));
    132     StructuredTraces.as_tailcall_ident = (fun _ -> assert false (* absurd case *)) }
     130    StructuredTraces.as_result = (assert false (* absurd case *));
     131    StructuredTraces.as_call_ident = (assert false (* absurd case *));
     132    StructuredTraces.as_tailcall_ident = (assert false (* absurd case *)) }
    133133
    134134(** val trace_any_label_length :
  • extracted/aST.ml

    r2775 r2797  
    418418    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    419419let rec typ_rect_Type4 h_ASTint h_ASTptr = function
    420 | ASTint (x_3519, x_3518) -> h_ASTint x_3519 x_3518
     420| ASTint (x_3532, x_3531) -> h_ASTint x_3532 x_3531
    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_3524, x_3523) -> h_ASTint x_3524 x_3523
     426| ASTint (x_3537, x_3536) -> h_ASTint x_3537 x_3536
    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_3529, x_3528) -> h_ASTint x_3529 x_3528
     432| ASTint (x_3542, x_3541) -> h_ASTint x_3542 x_3541
    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_3534, x_3533) -> h_ASTint x_3534 x_3533
     438| ASTint (x_3547, x_3546) -> h_ASTint x_3547 x_3546
    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_3539, x_3538) -> h_ASTint x_3539 x_3538
     444| ASTint (x_3552, x_3551) -> h_ASTint x_3552 x_3551
    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_3544, x_3543) -> h_ASTint x_3544 x_3543
     450| ASTint (x_3557, x_3556) -> h_ASTint x_3557 x_3556
    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_3579 =
    880   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3579 in
     879let rec signature_rect_Type4 h_mk_signature x_3592 =
     880  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3592 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_3581 =
    886   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3581 in
     885let rec signature_rect_Type5 h_mk_signature x_3594 =
     886  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3594 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_3583 =
    892   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3583 in
     891let rec signature_rect_Type3 h_mk_signature x_3596 =
     892  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3596 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_3585 =
    898   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3585 in
     897let rec signature_rect_Type2 h_mk_signature x_3598 =
     898  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3598 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_3587 =
    904   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3587 in
     903let rec signature_rect_Type1 h_mk_signature x_3600 =
     904  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3600 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_3589 =
    910   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3589 in
     909let rec signature_rect_Type0 h_mk_signature x_3602 =
     910  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3602 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_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
    990 | Init_null -> h_Init_null
    991 | Init_addrof (x_3622, x_3621) -> h_Init_addrof x_3622 x_3621
    992 
    993 (** val init_data_rect_Type5 :
    994     (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
    995     'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    996 let rec init_data_rect_Type5 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    997986| Init_int8 x_3630 -> h_Init_int8 x_3630
    998987| Init_int16 x_3631 -> h_Init_int16 x_3631
     
    1002991| Init_addrof (x_3635, x_3634) -> h_Init_addrof x_3635 x_3634
    1003992
    1004 (** val init_data_rect_Type3 :
     993(** val init_data_rect_Type5 :
    1005994    (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
    1006995    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    1007 let rec init_data_rect_Type3 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
     996let rec init_data_rect_Type5 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    1008997| Init_int8 x_3643 -> h_Init_int8 x_3643
    1009998| Init_int16 x_3644 -> h_Init_int16 x_3644
     
    10131002| Init_addrof (x_3648, x_3647) -> h_Init_addrof x_3648 x_3647
    10141003
    1015 (** val init_data_rect_Type2 :
     1004(** val init_data_rect_Type3 :
    10161005    (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
    10171006    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    1018 let rec init_data_rect_Type2 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
     1007let rec init_data_rect_Type3 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    10191008| Init_int8 x_3656 -> h_Init_int8 x_3656
    10201009| Init_int16 x_3657 -> h_Init_int16 x_3657
     
    10241013| Init_addrof (x_3661, x_3660) -> h_Init_addrof x_3661 x_3660
    10251014
    1026 (** val init_data_rect_Type1 :
     1015(** val init_data_rect_Type2 :
    10271016    (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
    10281017    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    1029 let rec init_data_rect_Type1 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
     1018let rec init_data_rect_Type2 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    10301019| Init_int8 x_3669 -> h_Init_int8 x_3669
    10311020| Init_int16 x_3670 -> h_Init_int16 x_3670
     
    10351024| Init_addrof (x_3674, x_3673) -> h_Init_addrof x_3674 x_3673
    10361025
    1037 (** val init_data_rect_Type0 :
     1026(** val init_data_rect_Type1 :
    10381027    (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
    10391028    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    1040 let rec init_data_rect_Type0 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
     1029let rec init_data_rect_Type1 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    10411030| Init_int8 x_3682 -> h_Init_int8 x_3682
    10421031| Init_int16 x_3683 -> h_Init_int16 x_3683
     
    10451034| Init_null -> h_Init_null
    10461035| Init_addrof (x_3687, x_3686) -> h_Init_addrof x_3687 x_3686
     1036
     1037(** val init_data_rect_Type0 :
     1038    (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
     1039    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
     1040let 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_3695 -> h_Init_int8 x_3695
     1042| Init_int16 x_3696 -> h_Init_int16 x_3696
     1043| Init_int32 x_3697 -> h_Init_int32 x_3697
     1044| Init_space x_3698 -> h_Init_space x_3698
     1045| Init_null -> h_Init_null
     1046| Init_addrof (x_3700, x_3699) -> h_Init_addrof x_3700 x_3699
    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_3774 =
     1113let rec program_rect_Type4 h_mk_program x_3787 =
    11141114  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1115     prog_main0 } = x_3774
     1115    prog_main0 } = x_3787
    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_3776 =
     1122let rec program_rect_Type5 h_mk_program x_3789 =
    11231123  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1124     prog_main0 } = x_3776
     1124    prog_main0 } = x_3789
    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_3778 =
     1131let rec program_rect_Type3 h_mk_program x_3791 =
    11321132  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1133     prog_main0 } = x_3778
     1133    prog_main0 } = x_3791
    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_3780 =
     1140let rec program_rect_Type2 h_mk_program x_3793 =
    11411141  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1142     prog_main0 } = x_3780
     1142    prog_main0 } = x_3793
    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_3782 =
     1149let rec program_rect_Type1 h_mk_program x_3795 =
    11501150  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1151     prog_main0 } = x_3782
     1151    prog_main0 } = x_3795
    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_3784 =
     1158let rec program_rect_Type0 h_mk_program x_3797 =
    11591159  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1160     prog_main0 } = x_3784
     1160    prog_main0 } = x_3797
    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_3988 =
    1480   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3988 in
     1479let rec external_function_rect_Type4 h_mk_external_function x_4001 =
     1480  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4001 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_3990 =
    1486   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3990 in
     1485let rec external_function_rect_Type5 h_mk_external_function x_4003 =
     1486  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4003 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_3992 =
    1492   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3992 in
     1491let rec external_function_rect_Type3 h_mk_external_function x_4005 =
     1492  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4005 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_3994 =
    1498   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3994 in
     1497let rec external_function_rect_Type2 h_mk_external_function x_4007 =
     1498  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4007 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_3996 =
    1504   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3996 in
     1503let rec external_function_rect_Type1 h_mk_external_function x_4009 =
     1504  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4009 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_3998 =
    1510   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3998 in
     1509let rec external_function_rect_Type0 h_mk_external_function x_4011 =
     1510  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4011 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_4018 -> h_Internal x_4018
    1578 | External x_4019 -> h_External x_4019
     1577| Internal x_4031 -> h_Internal x_4031
     1578| External x_4032 -> h_External x_4032
    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_4023 -> h_Internal x_4023
    1584 | External x_4024 -> h_External x_4024
     1583| Internal x_4036 -> h_Internal x_4036
     1584| External x_4037 -> h_External x_4037
    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_4028 -> h_Internal x_4028
    1590 | External x_4029 -> h_External x_4029
     1589| Internal x_4041 -> h_Internal x_4041
     1590| External x_4042 -> h_External x_4042
    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_4033 -> h_Internal x_4033
    1596 | External x_4034 -> h_External x_4034
     1595| Internal x_4046 -> h_Internal x_4046
     1596| External x_4047 -> h_External x_4047
    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_4038 -> h_Internal x_4038
    1602 | External x_4039 -> h_External x_4039
     1601| Internal x_4051 -> h_Internal x_4051
     1602| External x_4052 -> h_External x_4052
    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_4043 -> h_Internal x_4043
    1608 | External x_4044 -> h_External x_4044
     1607| Internal x_4056 -> h_Internal x_4056
     1608| External x_4057 -> h_External x_4057
    16091609
    16101610(** val fundef_inv_rect_Type4 :
  • extracted/backEndOps.ml

    r2775 r2797  
    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_18972 =
    405   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18972 in
     404let rec eval_rect_Type4 h_mk_Eval x_18985 =
     405  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18985 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_18974 =
    414   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18974 in
     413let rec eval_rect_Type5 h_mk_Eval x_18987 =
     414  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18987 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_18976 =
    423   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18976 in
     422let rec eval_rect_Type3 h_mk_Eval x_18989 =
     423  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18989 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_18978 =
    432   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18978 in
     431let rec eval_rect_Type2 h_mk_Eval x_18991 =
     432  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18991 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_18980 =
    441   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18980 in
     440let rec eval_rect_Type1 h_mk_Eval x_18993 =
     441  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18993 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_18982 =
    450   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18982 in
     449let rec eval_rect_Type0 h_mk_Eval x_18995 =
     450  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18995 in
    451451  h_mk_Eval opaccs0 op4 op5
    452452
  • extracted/bind_new.ml

    r2775 r2797  
    3535    ('a1, 'a2) bind_new -> 'a3 **)
    3636let rec bind_new_rect_Type4 h_bret h_bnew = function
    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))
     37| Bret x_20842 -> h_bret x_20842
     38| Bnew x_20844 ->
     39  h_bnew x_20844 (fun x_20843 ->
     40    bind_new_rect_Type4 h_bret h_bnew (x_20844 x_20843))
    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_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))
     46| Bret x_20854 -> h_bret x_20854
     47| Bnew x_20856 ->
     48  h_bnew x_20856 (fun x_20855 ->
     49    bind_new_rect_Type3 h_bret h_bnew (x_20856 x_20855))
    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_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))
     55| Bret x_20860 -> h_bret x_20860
     56| Bnew x_20862 ->
     57  h_bnew x_20862 (fun x_20861 ->
     58    bind_new_rect_Type2 h_bret h_bnew (x_20862 x_20861))
    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_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))
     64| Bret x_20866 -> h_bret x_20866
     65| Bnew x_20868 ->
     66  h_bnew x_20868 (fun x_20867 ->
     67    bind_new_rect_Type1 h_bret h_bnew (x_20868 x_20867))
    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_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))
     73| Bret x_20872 -> h_bret x_20872
     74| Bnew x_20874 ->
     75  h_bnew x_20874 (fun x_20873 ->
     76    bind_new_rect_Type0 h_bret h_bnew (x_20874 x_20873))
    7777
    7878(** val bind_new_inv_rect_Type4 :
  • extracted/bitVectorTrie.ml

    r2775 r2797  
    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_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)
     51let rec bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub x_14647 = function
     52| Leaf x_14649 -> h_Leaf x_14649
     53| Node (n, x_14651, x_14650) ->
     54  h_Node n x_14651 x_14650
     55    (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14651)
     56    (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14650)
    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_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)
     62let rec bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub x_14663 = function
     63| Leaf x_14665 -> h_Leaf x_14665
     64| Node (n, x_14667, x_14666) ->
     65  h_Node n x_14667 x_14666
     66    (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14667)
     67    (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14666)
    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_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)
     73let rec bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub x_14671 = function
     74| Leaf x_14673 -> h_Leaf x_14673
     75| Node (n, x_14675, x_14674) ->
     76  h_Node n x_14675 x_14674
     77    (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14675)
     78    (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14674)
    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_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)
     84let rec bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub x_14679 = function
     85| Leaf x_14681 -> h_Leaf x_14681
     86| Node (n, x_14683, x_14682) ->
     87  h_Node n x_14683 x_14682
     88    (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14683)
     89    (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14682)
    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_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)
     95let rec bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub x_14687 = function
     96| Leaf x_14689 -> h_Leaf x_14689
     97| Node (n, x_14691, x_14690) ->
     98  h_Node n x_14691 x_14690
     99    (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14691)
     100    (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14690)
    101101| Stub n -> h_Stub n
    102102
  • extracted/blocks.ml

    r2773 r2797  
    149149  | Types.None ->
    150150    { Types.fst = { Types.fst = List.Nil; Types.snd = (fun x ->
    151       Joint.Step_seq (Joint.nOOP (Joint.stmt_pars__o__uns_pars p) g)) };
     151      Joint.Step_seq
     152      (Joint.nOOP (Joint.stmt_pars__o__uns_pars__o__u_pars p) g)) };
    152153      Types.snd = List.Nil }
    153154  | Types.Some pr ->
  • extracted/byteValues.ml

    r2775 r2797  
    8989    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    9090    'a1 **)
    91 let rec program_counter_rect_Type4 h_mk_program_counter x_6009 =
    92   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6009 in
     91let rec program_counter_rect_Type4 h_mk_program_counter x_6022 =
     92  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6022 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_6011 =
    99   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6011 in
     98let rec program_counter_rect_Type5 h_mk_program_counter x_6024 =
     99  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6024 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_6013 =
    106   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6013 in
     105let rec program_counter_rect_Type3 h_mk_program_counter x_6026 =
     106  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6026 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_6015 =
    113   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6015 in
     112let rec program_counter_rect_Type2 h_mk_program_counter x_6028 =
     113  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6028 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_6017 =
    120   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6017 in
     119let rec program_counter_rect_Type1 h_mk_program_counter x_6030 =
     120  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6030 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_6019 =
    127   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6019 in
     126let rec program_counter_rect_Type0 h_mk_program_counter x_6032 =
     127  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6032 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_6035 =
    218   let part_no = x_6035 in h_mk_part part_no __
     217let rec part_rect_Type4 h_mk_part x_6048 =
     218  let part_no = x_6048 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_6037 =
    222   let part_no = x_6037 in h_mk_part part_no __
     221let rec part_rect_Type5 h_mk_part x_6050 =
     222  let part_no = x_6050 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_6039 =
    226   let part_no = x_6039 in h_mk_part part_no __
     225let rec part_rect_Type3 h_mk_part x_6052 =
     226  let part_no = x_6052 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_6041 =
    230   let part_no = x_6041 in h_mk_part part_no __
     229let rec part_rect_Type2 h_mk_part x_6054 =
     230  let part_no = x_6054 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_6043 =
    234   let part_no = x_6043 in h_mk_part part_no __
     233let rec part_rect_Type1 h_mk_part x_6056 =
     234  let part_no = x_6056 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_6045 =
    238   let part_no = x_6045 in h_mk_part part_no __
     237let rec part_rect_Type0 h_mk_part x_6058 =
     238  let part_no = x_6058 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_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
     488| BVXor (x_6092, x_6091, x_6090) -> h_BVXor x_6092 x_6091 x_6090
     489| BVByte x_6093 -> h_BVByte x_6093
     490| BVnull x_6094 -> h_BVnull x_6094
     491| BVptr (x_6096, x_6095) -> h_BVptr x_6096 x_6095
     492| BVpc (x_6098, x_6097) -> h_BVpc x_6098 x_6097
    493493
    494494(** val beval_rect_Type5 :
     
    500500| BVundef -> h_BVundef
    501501| BVnonzero -> h_BVnonzero
    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
     502| BVXor (x_6109, x_6108, x_6107) -> h_BVXor x_6109 x_6108 x_6107
     503| BVByte x_6110 -> h_BVByte x_6110
     504| BVnull x_6111 -> h_BVnull x_6111
     505| BVptr (x_6113, x_6112) -> h_BVptr x_6113 x_6112
     506| BVpc (x_6115, x_6114) -> h_BVpc x_6115 x_6114
    507507
    508508(** val beval_rect_Type3 :
     
    514514| BVundef -> h_BVundef
    515515| BVnonzero -> h_BVnonzero
    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
     516| BVXor (x_6126, x_6125, x_6124) -> h_BVXor x_6126 x_6125 x_6124
     517| BVByte x_6127 -> h_BVByte x_6127
     518| BVnull x_6128 -> h_BVnull x_6128
     519| BVptr (x_6130, x_6129) -> h_BVptr x_6130 x_6129
     520| BVpc (x_6132, x_6131) -> h_BVpc x_6132 x_6131
    521521
    522522(** val beval_rect_Type2 :
     
    528528| BVundef -> h_BVundef
    529529| BVnonzero -> h_BVnonzero
    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
     530| BVXor (x_6143, x_6142, x_6141) -> h_BVXor x_6143 x_6142 x_6141
     531| BVByte x_6144 -> h_BVByte x_6144
     532| BVnull x_6145 -> h_BVnull x_6145
     533| BVptr (x_6147, x_6146) -> h_BVptr x_6147 x_6146
     534| BVpc (x_6149, x_6148) -> h_BVpc x_6149 x_6148
    535535
    536536(** val beval_rect_Type1 :
     
    542542| BVundef -> h_BVundef
    543543| BVnonzero -> h_BVnonzero
    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
     544| BVXor (x_6160, x_6159, x_6158) -> h_BVXor x_6160 x_6159 x_6158
     545| BVByte x_6161 -> h_BVByte x_6161
     546| BVnull x_6162 -> h_BVnull x_6162
     547| BVptr (x_6164, x_6163) -> h_BVptr x_6164 x_6163
     548| BVpc (x_6166, x_6165) -> h_BVpc x_6166 x_6165
    549549
    550550(** val beval_rect_Type0 :
     
    556556| BVundef -> h_BVundef
    557557| BVnonzero -> h_BVnonzero
    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
     558| BVXor (x_6177, x_6176, x_6175) -> h_BVXor x_6177 x_6176 x_6175
     559| BVByte x_6178 -> h_BVByte x_6178
     560| BVnull x_6179 -> h_BVnull x_6179
     561| BVptr (x_6181, x_6180) -> h_BVptr x_6181 x_6180
     562| BVpc (x_6183, x_6182) -> h_BVpc x_6183 x_6182
    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_6289 -> h_BBbit x_6289
     901| BBbit x_6302 -> h_BBbit x_6302
    902902| BBundef -> h_BBundef
    903 | BBptrcarry (x_6292, x_6291, p, x_6290) ->
    904   h_BBptrcarry x_6292 x_6291 p x_6290
     903| BBptrcarry (x_6305, x_6304, p, x_6303) ->
     904  h_BBptrcarry x_6305 x_6304 p x_6303
    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_6297 -> h_BBbit x_6297
     910| BBbit x_6310 -> h_BBbit x_6310
    911911| BBundef -> h_BBundef
    912 | BBptrcarry (x_6300, x_6299, p, x_6298) ->
    913   h_BBptrcarry x_6300 x_6299 p x_6298
     912| BBptrcarry (x_6313, x_6312, p, x_6311) ->
     913  h_BBptrcarry x_6313 x_6312 p x_6311
    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_6305 -> h_BBbit x_6305
     919| BBbit x_6318 -> h_BBbit x_6318
    920920| BBundef -> h_BBundef
    921 | BBptrcarry (x_6308, x_6307, p, x_6306) ->
    922   h_BBptrcarry x_6308 x_6307 p x_6306
     921| BBptrcarry (x_6321, x_6320, p, x_6319) ->
     922  h_BBptrcarry x_6321 x_6320 p x_6319
    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_6313 -> h_BBbit x_6313
     928| BBbit x_6326 -> h_BBbit x_6326
    929929| BBundef -> h_BBundef
    930 | BBptrcarry (x_6316, x_6315, p, x_6314) ->
    931   h_BBptrcarry x_6316 x_6315 p x_6314
     930| BBptrcarry (x_6329, x_6328, p, x_6327) ->
     931  h_BBptrcarry x_6329 x_6328 p x_6327
    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_6321 -> h_BBbit x_6321
     937| BBbit x_6334 -> h_BBbit x_6334
    938938| BBundef -> h_BBundef
    939 | BBptrcarry (x_6324, x_6323, p, x_6322) ->
    940   h_BBptrcarry x_6324 x_6323 p x_6322
     939| BBptrcarry (x_6337, x_6336, p, x_6335) ->
     940  h_BBptrcarry x_6337 x_6336 p x_6335
    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_6329 -> h_BBbit x_6329
     946| BBbit x_6342 -> h_BBbit x_6342
    947947| BBundef -> h_BBundef
    948 | BBptrcarry (x_6332, x_6331, p, x_6330) ->
    949   h_BBptrcarry x_6332 x_6331 p x_6330
     948| BBptrcarry (x_6345, x_6344, p, x_6343) ->
     949  h_BBptrcarry x_6345 x_6344 p x_6343
    950950
    951951(** val bebit_inv_rect_Type4 :
  • extracted/classifyOp.ml

    r2775 r2797  
    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_7259 x_7258 = function
     98let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7272 x_7271 = 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_7266 x_7265 = function
     110let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7279 x_7278 = 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_7273 x_7272 = function
     122let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7286 x_7285 = 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_7280 x_7279 = function
     134let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7293 x_7292 = 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_7287 x_7286 = function
     146let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7300 x_7299 = 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_7294 x_7293 = function
     158let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7307 x_7306 = 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_7350 x_7349 = function
     321let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7363 x_7362 = 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_7357 x_7356 = function
     333let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7370 x_7369 = 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_7364 x_7363 = function
     345let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7377 x_7376 = 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_7371 x_7370 = function
     357let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7384 x_7383 = 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_7378 x_7377 = function
     369let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7391 x_7390 = 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_7385 x_7384 = function
     381let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7398 x_7397 = 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_7439 x_7438 = function
     521let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_7452 x_7451 = 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_7444 x_7443 = function
     528let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_7457 x_7456 = 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_7449 x_7448 = function
     535let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_7462 x_7461 = 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_7454 x_7453 = function
     542let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_7467 x_7466 = 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_7459 x_7458 = function
     549let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_7472 x_7471 = 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_7464 x_7463 = function
     556let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_7477 x_7476 = 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_7505 x_7504 = function
     638let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7518 x_7517 = 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_7511 x_7510 = function
     647let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7524 x_7523 = 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_7517 x_7516 = function
     656let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7530 x_7529 = 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_7523 x_7522 = function
     665let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7536 x_7535 = 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_7529 x_7528 = function
     674let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7542 x_7541 = 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_7535 x_7534 = function
     683let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7548 x_7547 = 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_7583, x_7582) -> h_fun_case_f x_7583 x_7582
     782| Fun_case_f (x_7596, x_7595) -> h_fun_case_f x_7596 x_7595
    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_7588, x_7587) -> h_fun_case_f x_7588 x_7587
     789| Fun_case_f (x_7601, x_7600) -> h_fun_case_f x_7601 x_7600
    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_7593, x_7592) -> h_fun_case_f x_7593 x_7592
     796| Fun_case_f (x_7606, x_7605) -> h_fun_case_f x_7606 x_7605
    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_7598, x_7597) -> h_fun_case_f x_7598 x_7597
     803| Fun_case_f (x_7611, x_7610) -> h_fun_case_f x_7611 x_7610
    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_7603, x_7602) -> h_fun_case_f x_7603 x_7602
     810| Fun_case_f (x_7616, x_7615) -> h_fun_case_f x_7616 x_7615
    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_7608, x_7607) -> h_fun_case_f x_7608 x_7607
     817| Fun_case_f (x_7621, x_7620) -> h_fun_case_f x_7621 x_7620
    818818| Fun_default -> h_fun_default
    819819
  • extracted/cminor_syntax.ml

    r2775 r2797  
    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_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
     115let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13629 = function
     116| Id (t, x_13631) -> h_Id t x_13631
     117| Cst (t, x_13632) -> h_Cst t x_13632
     118| Op1 (t, t', x_13634, x_13633) ->
     119  h_Op1 t t' x_13634 x_13633
     120    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13633)
     121| Op2 (t1, t2, t', x_13637, x_13636, x_13635) ->
     122  h_Op2 t1 t2 t' x_13637 x_13636 x_13635
     123    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13636)
     124    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13635)
     125| Mem (t, x_13638) ->
     126  h_Mem t x_13638
    127127    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    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
     128      x_13638)
     129| Cond (sz, sg, t, x_13641, x_13640, x_13639) ->
     130  h_Cond sz sg t x_13641 x_13640 x_13639
    131131    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    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)
     132      (sz, sg)) x_13641)
     133    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13640)
     134    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13639)
     135| Ecost (t, x_13643, x_13642) ->
     136  h_Ecost t x_13643 x_13642
     137    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13642)
    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_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
     147let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13673 = function
     148| Id (t, x_13675) -> h_Id t x_13675
     149| Cst (t, x_13676) -> h_Cst t x_13676
     150| Op1 (t, t', x_13678, x_13677) ->
     151  h_Op1 t t' x_13678 x_13677
     152    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13677)
     153| Op2 (t1, t2, t', x_13681, x_13680, x_13679) ->
     154  h_Op2 t1 t2 t' x_13681 x_13680 x_13679
     155    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13680)
     156    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13679)
     157| Mem (t, x_13682) ->
     158  h_Mem t x_13682
    159159    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    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
     160      x_13682)
     161| Cond (sz, sg, t, x_13685, x_13684, x_13683) ->
     162  h_Cond sz sg t x_13685 x_13684 x_13683
    163163    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    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)
     164      (sz, sg)) x_13685)
     165    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13684)
     166    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13683)
     167| Ecost (t, x_13687, x_13686) ->
     168  h_Ecost t x_13687 x_13686
     169    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13686)
    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_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
     179let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13695 = function
     180| Id (t, x_13697) -> h_Id t x_13697
     181| Cst (t, x_13698) -> h_Cst t x_13698
     182| Op1 (t, t', x_13700, x_13699) ->
     183  h_Op1 t t' x_13700 x_13699
     184    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13699)
     185| Op2 (t1, t2, t', x_13703, x_13702, x_13701) ->
     186  h_Op2 t1 t2 t' x_13703 x_13702 x_13701
     187    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13702)
     188    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13701)
     189| Mem (t, x_13704) ->
     190  h_Mem t x_13704
    191191    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    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
     192      x_13704)
     193| Cond (sz, sg, t, x_13707, x_13706, x_13705) ->
     194  h_Cond sz sg t x_13707 x_13706 x_13705
    195195    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    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)
     196      (sz, sg)) x_13707)
     197    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13706)
     198    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13705)
     199| Ecost (t, x_13709, x_13708) ->
     200  h_Ecost t x_13709 x_13708
     201    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13708)
    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_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
     211let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13717 = function
     212| Id (t, x_13719) -> h_Id t x_13719
     213| Cst (t, x_13720) -> h_Cst t x_13720
     214| Op1 (t, t', x_13722, x_13721) ->
     215  h_Op1 t t' x_13722 x_13721
     216    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13721)
     217| Op2 (t1, t2, t', x_13725, x_13724, x_13723) ->
     218  h_Op2 t1 t2 t' x_13725 x_13724 x_13723
     219    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13724)
     220    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13723)
     221| Mem (t, x_13726) ->
     222  h_Mem t x_13726
    223223    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    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
     224      x_13726)
     225| Cond (sz, sg, t, x_13729, x_13728, x_13727) ->
     226  h_Cond sz sg t x_13729 x_13728 x_13727
    227227    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    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)
     228      (sz, sg)) x_13729)
     229    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13728)
     230    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13727)
     231| Ecost (t, x_13731, x_13730) ->
     232  h_Ecost t x_13731 x_13730
     233    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13730)
    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_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
     243let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13739 = function
     244| Id (t, x_13741) -> h_Id t x_13741
     245| Cst (t, x_13742) -> h_Cst t x_13742
     246| Op1 (t, t', x_13744, x_13743) ->
     247  h_Op1 t t' x_13744 x_13743
     248    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13743)
     249| Op2 (t1, t2, t', x_13747, x_13746, x_13745) ->
     250  h_Op2 t1 t2 t' x_13747 x_13746 x_13745
     251    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13746)
     252    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13745)
     253| Mem (t, x_13748) ->
     254  h_Mem t x_13748
    255255    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    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
     256      x_13748)
     257| Cond (sz, sg, t, x_13751, x_13750, x_13749) ->
     258  h_Cond sz sg t x_13751 x_13750 x_13749
    259259    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    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)
     260      (sz, sg)) x_13751)
     261    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13750)
     262    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13749)
     263| Ecost (t, x_13753, x_13752) ->
     264  h_Ecost t x_13753 x_13752
     265    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13752)
    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_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
     375| St_assign (t, x_13924, x_13923) -> h_St_assign t x_13924 x_13923
     376| St_store (t, x_13926, x_13925) -> h_St_store t x_13926 x_13925
     377| St_call (x_13929, x_13928, x_13927) -> h_St_call x_13929 x_13928 x_13927
     378| St_seq (x_13931, x_13930) ->
     379  h_St_seq x_13931 x_13930
    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_13918)
     381      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13931)
    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_13917)
    384 | St_ifthenelse (sz, sg, x_13921, x_13920, x_13919) ->
    385   h_St_ifthenelse sz sg x_13921 x_13920 x_13919
     383      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13930)
     384| St_ifthenelse (sz, sg, x_13934, x_13933, x_13932) ->
     385  h_St_ifthenelse sz sg x_13934 x_13933 x_13932
    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_13920)
     387      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13933)
    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_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
     389      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13932)
     390| St_return x_13935 -> h_St_return x_13935
     391| St_label (x_13937, x_13936) ->
     392  h_St_label x_13937 x_13936
    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_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
     394      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13936)
     395| St_goto x_13938 -> h_St_goto x_13938
     396| St_cost (x_13940, x_13939) ->
     397  h_St_cost x_13940 x_13939
    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_13926)
     399      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13939)
    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_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
     412| St_assign (t, x_13982, x_13981) -> h_St_assign t x_13982 x_13981
     413| St_store (t, x_13984, x_13983) -> h_St_store t x_13984 x_13983
     414| St_call (x_13987, x_13986, x_13985) -> h_St_call x_13987 x_13986 x_13985
     415| St_seq (x_13989, x_13988) ->
     416  h_St_seq x_13989 x_13988
    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_13976)
     418      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13989)
    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_13975)
    421 | St_ifthenelse (sz, sg, x_13979, x_13978, x_13977) ->
    422   h_St_ifthenelse sz sg x_13979 x_13978 x_13977
     420      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13988)
     421| St_ifthenelse (sz, sg, x_13992, x_13991, x_13990) ->
     422  h_St_ifthenelse sz sg x_13992 x_13991 x_13990
    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_13978)
     424      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13991)
    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_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
     426      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13990)
     427| St_return x_13993 -> h_St_return x_13993
     428| St_label (x_13995, x_13994) ->
     429  h_St_label x_13995 x_13994
    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_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
     431      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13994)
     432| St_goto x_13996 -> h_St_goto x_13996
     433| St_cost (x_13998, x_13997) ->
     434  h_St_cost x_13998 x_13997
    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_13984)
     436      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13997)
    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_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
     449| St_assign (t, x_14011, x_14010) -> h_St_assign t x_14011 x_14010
     450| St_store (t, x_14013, x_14012) -> h_St_store t x_14013 x_14012
     451| St_call (x_14016, x_14015, x_14014) -> h_St_call x_14016 x_14015 x_14014
     452| St_seq (x_14018, x_14017) ->
     453  h_St_seq x_14018 x_14017
    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_14005)
     455      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14018)
    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_14004)
    458 | St_ifthenelse (sz, sg, x_14008, x_14007, x_14006) ->
    459   h_St_ifthenelse sz sg x_14008 x_14007 x_14006
     457      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14017)
     458| St_ifthenelse (sz, sg, x_14021, x_14020, x_14019) ->
     459  h_St_ifthenelse sz sg x_14021 x_14020 x_14019
    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_14007)
     461      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14020)
    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_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
     463      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14019)
     464| St_return x_14022 -> h_St_return x_14022
     465| St_label (x_14024, x_14023) ->
     466  h_St_label x_14024 x_14023
    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_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
     468      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14023)
     469| St_goto x_14025 -> h_St_goto x_14025
     470| St_cost (x_14027, x_14026) ->
     471  h_St_cost x_14027 x_14026
    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_14013)
     473      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14026)
    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_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
     486| St_assign (t, x_14040, x_14039) -> h_St_assign t x_14040 x_14039
     487| St_store (t, x_14042, x_14041) -> h_St_store t x_14042 x_14041
     488| St_call (x_14045, x_14044, x_14043) -> h_St_call x_14045 x_14044 x_14043
     489| St_seq (x_14047, x_14046) ->
     490  h_St_seq x_14047 x_14046
    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_14034)
     492      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14047)
    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_14033)
    495 | St_ifthenelse (sz, sg, x_14037, x_14036, x_14035) ->
    496   h_St_ifthenelse sz sg x_14037 x_14036 x_14035
     494      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14046)
     495| St_ifthenelse (sz, sg, x_14050, x_14049, x_14048) ->
     496  h_St_ifthenelse sz sg x_14050 x_14049 x_14048
    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_14036)
     498      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14049)
    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_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
     500      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14048)
     501| St_return x_14051 -> h_St_return x_14051
     502| St_label (x_14053, x_14052) ->
     503  h_St_label x_14053 x_14052
    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_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
     505      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14052)
     506| St_goto x_14054 -> h_St_goto x_14054
     507| St_cost (x_14056, x_14055) ->
     508  h_St_cost x_14056 x_14055
    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_14042)
     510      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14055)
    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_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
     523| St_assign (t, x_14069, x_14068) -> h_St_assign t x_14069 x_14068
     524| St_store (t, x_14071, x_14070) -> h_St_store t x_14071 x_14070
     525| St_call (x_14074, x_14073, x_14072) -> h_St_call x_14074 x_14073 x_14072
     526| St_seq (x_14076, x_14075) ->
     527  h_St_seq x_14076 x_14075
    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_14063)
     529      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14076)
    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_14062)
    532 | St_ifthenelse (sz, sg, x_14066, x_14065, x_14064) ->
    533   h_St_ifthenelse sz sg x_14066 x_14065 x_14064
     531      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14075)
     532| St_ifthenelse (sz, sg, x_14079, x_14078, x_14077) ->
     533  h_St_ifthenelse sz sg x_14079 x_14078 x_14077
    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_14065)
     535      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14078)
    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_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
     537      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14077)
     538| St_return x_14080 -> h_St_return x_14080
     539| St_label (x_14082, x_14081) ->
     540  h_St_label x_14082 x_14081
    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_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
     542      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14081)
     543| St_goto x_14083 -> h_St_goto x_14083
     544| St_cost (x_14085, x_14084) ->
     545  h_St_cost x_14085 x_14084
    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_14071)
     547      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14084)
    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_14367 =
     759let rec internal_function_rect_Type4 h_mk_internal_function x_14380 =
    760760  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    761     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14367
     761    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14380
    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_14369 =
     770let rec internal_function_rect_Type5 h_mk_internal_function x_14382 =
    771771  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    772     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14369
     772    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14382
    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_14371 =
     781let rec internal_function_rect_Type3 h_mk_internal_function x_14384 =
    782782  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    783     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14371
     783    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14384
    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_14373 =
     792let rec internal_function_rect_Type2 h_mk_internal_function x_14386 =
    793793  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    794     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14373
     794    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14386
    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_14375 =
     803let rec internal_function_rect_Type1 h_mk_internal_function x_14388 =
    804804  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    805     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14375
     805    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14388
    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_14377 =
     814let rec internal_function_rect_Type0 h_mk_internal_function x_14390 =
    815815  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    816     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14377
     816    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14390
    817817  in
    818818  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
  • extracted/compiler.ml

    r2775 r2797  
    286286  let { Types.fst = p3; Types.snd = stack_cost } = eta29073 in
    287287  let p4 = LTLToLIN.ltl_to_lin p3 in
    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 })
     288  Obj.magic
     289    (Monad.m_bind0 (Monad.max_def Errors.res0)
     290      (Obj.magic
     291        (Errors.opt_to_res (Errors.msg ErrorMessages.AssemblyTooLarge)
     292          (LINToASM.lin_to_asm p4))) (fun p5 ->
     293      Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst = { Types.fst =
     294        p5; Types.snd = stack_cost }; Types.snd = max_stack }))
    294295
    295296open Assembly
     
    351352    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    352353    compiler_output -> 'a1 **)
    353 let rec compiler_output_rect_Type4 h_mk_compiler_output x_24820 =
     354let rec compiler_output_rect_Type4 h_mk_compiler_output x_24899 =
    354355  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    355356    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    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24899
    357358  in
    358359  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    363364    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    364365    compiler_output -> 'a1 **)
    365 let rec compiler_output_rect_Type5 h_mk_compiler_output x_24822 =
     366let rec compiler_output_rect_Type5 h_mk_compiler_output x_24901 =
    366367  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    367368    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    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24901
    369370  in
    370371  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    375376    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    376377    compiler_output -> 'a1 **)
    377 let rec compiler_output_rect_Type3 h_mk_compiler_output x_24824 =
     378let rec compiler_output_rect_Type3 h_mk_compiler_output x_24903 =
    378379  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    379380    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    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24903
    381382  in
    382383  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    387388    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    388389    compiler_output -> 'a1 **)
    389 let rec compiler_output_rect_Type2 h_mk_compiler_output x_24826 =
     390let rec compiler_output_rect_Type2 h_mk_compiler_output x_24905 =
    390391  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    391392    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    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24905
    393394  in
    394395  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    399400    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    400401    compiler_output -> 'a1 **)
    401 let rec compiler_output_rect_Type1 h_mk_compiler_output x_24828 =
     402let rec compiler_output_rect_Type1 h_mk_compiler_output x_24907 =
    402403  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    403404    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    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24907
    405406  in
    406407  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    411412    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    412413    compiler_output -> 'a1 **)
    413 let rec compiler_output_rect_Type0 h_mk_compiler_output x_24830 =
     414let rec compiler_output_rect_Type0 h_mk_compiler_output x_24909 =
    414415  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    415416    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    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24909
    417418  in
    418419  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
  • extracted/csem.ml

    r2775 r2797  
    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_8557, x_8556) ->
    781   h_Kseq x_8557 x_8556
     780| Kseq (x_8570, x_8569) ->
     781  h_Kseq x_8570 x_8569
    782782    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    783       h_Kswitch h_Kcall x_8556)
    784 | Kwhile (x_8560, x_8559, x_8558) ->
    785   h_Kwhile x_8560 x_8559 x_8558
     783      h_Kswitch h_Kcall x_8569)
     784| Kwhile (x_8573, x_8572, x_8571) ->
     785  h_Kwhile x_8573 x_8572 x_8571
    786786    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    787       h_Kswitch h_Kcall x_8558)
    788 | Kdowhile (x_8563, x_8562, x_8561) ->
    789   h_Kdowhile x_8563 x_8562 x_8561
     787      h_Kswitch h_Kcall x_8571)
     788| Kdowhile (x_8576, x_8575, x_8574) ->
     789  h_Kdowhile x_8576 x_8575 x_8574
    790790    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     791      h_Kswitch h_Kcall x_8574)
     792| Kfor2 (x_8580, x_8579, x_8578, x_8577) ->
     793  h_Kfor2 x_8580 x_8579 x_8578 x_8577
    794794    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     795      h_Kswitch h_Kcall x_8577)
     796| Kfor3 (x_8584, x_8583, x_8582, x_8581) ->
     797  h_Kfor3 x_8584 x_8583 x_8582 x_8581
    798798    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    799       h_Kswitch h_Kcall x_8568)
    800 | Kswitch x_8572 ->
    801   h_Kswitch x_8572
     799      h_Kswitch h_Kcall x_8581)
     800| Kswitch x_8585 ->
     801  h_Kswitch x_8585
    802802    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     803      h_Kswitch h_Kcall x_8585)
     804| Kcall (x_8589, x_8588, x_8587, x_8586) ->
     805  h_Kcall x_8589 x_8588 x_8587 x_8586
    806806    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    807       h_Kswitch h_Kcall x_8573)
     807      h_Kswitch h_Kcall x_8586)
    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_8617, x_8616) ->
    821   h_Kseq x_8617 x_8616
     820| Kseq (x_8630, x_8629) ->
     821  h_Kseq x_8630 x_8629
    822822    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    823       h_Kswitch h_Kcall x_8616)
    824 | Kwhile (x_8620, x_8619, x_8618) ->
    825   h_Kwhile x_8620 x_8619 x_8618
     823      h_Kswitch h_Kcall x_8629)
     824| Kwhile (x_8633, x_8632, x_8631) ->
     825  h_Kwhile x_8633 x_8632 x_8631
    826826    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    827       h_Kswitch h_Kcall x_8618)
    828 | Kdowhile (x_8623, x_8622, x_8621) ->
    829   h_Kdowhile x_8623 x_8622 x_8621
     827      h_Kswitch h_Kcall x_8631)
     828| Kdowhile (x_8636, x_8635, x_8634) ->
     829  h_Kdowhile x_8636 x_8635 x_8634
    830830    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     831      h_Kswitch h_Kcall x_8634)
     832| Kfor2 (x_8640, x_8639, x_8638, x_8637) ->
     833  h_Kfor2 x_8640 x_8639 x_8638 x_8637
    834834    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     835      h_Kswitch h_Kcall x_8637)
     836| Kfor3 (x_8644, x_8643, x_8642, x_8641) ->
     837  h_Kfor3 x_8644 x_8643 x_8642 x_8641
    838838    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    839       h_Kswitch h_Kcall x_8628)
    840 | Kswitch x_8632 ->
    841   h_Kswitch x_8632
     839      h_Kswitch h_Kcall x_8641)
     840| Kswitch x_8645 ->
     841  h_Kswitch x_8645
    842842    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     843      h_Kswitch h_Kcall x_8645)
     844| Kcall (x_8649, x_8648, x_8647, x_8646) ->
     845  h_Kcall x_8649 x_8648 x_8647 x_8646
    846846    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    847       h_Kswitch h_Kcall x_8633)
     847      h_Kswitch h_Kcall x_8646)
    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_8647, x_8646) ->
    861   h_Kseq x_8647 x_8646
     860| Kseq (x_8660, x_8659) ->
     861  h_Kseq x_8660 x_8659
    862862    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    863       h_Kswitch h_Kcall x_8646)
    864 | Kwhile (x_8650, x_8649, x_8648) ->
    865   h_Kwhile x_8650 x_8649 x_8648
     863      h_Kswitch h_Kcall x_8659)
     864| Kwhile (x_8663, x_8662, x_8661) ->
     865  h_Kwhile x_8663 x_8662 x_8661
    866866    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    867       h_Kswitch h_Kcall x_8648)
    868 | Kdowhile (x_8653, x_8652, x_8651) ->
    869   h_Kdowhile x_8653 x_8652 x_8651
     867      h_Kswitch h_Kcall x_8661)
     868| Kdowhile (x_8666, x_8665, x_8664) ->
     869  h_Kdowhile x_8666 x_8665 x_8664
    870870    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     871      h_Kswitch h_Kcall x_8664)
     872| Kfor2 (x_8670, x_8669, x_8668, x_8667) ->
     873  h_Kfor2 x_8670 x_8669 x_8668 x_8667
    874874    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     875      h_Kswitch h_Kcall x_8667)
     876| Kfor3 (x_8674, x_8673, x_8672, x_8671) ->
     877  h_Kfor3 x_8674 x_8673 x_8672 x_8671
    878878    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    879       h_Kswitch h_Kcall x_8658)
    880 | Kswitch x_8662 ->
    881   h_Kswitch x_8662
     879      h_Kswitch h_Kcall x_8671)
     880| Kswitch x_8675 ->
     881  h_Kswitch x_8675
    882882    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     883      h_Kswitch h_Kcall x_8675)
     884| Kcall (x_8679, x_8678, x_8677, x_8676) ->
     885  h_Kcall x_8679 x_8678 x_8677 x_8676
    886886    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    887       h_Kswitch h_Kcall x_8663)
     887      h_Kswitch h_Kcall x_8676)
    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_8677, x_8676) ->
    901   h_Kseq x_8677 x_8676
     900| Kseq (x_8690, x_8689) ->
     901  h_Kseq x_8690 x_8689
    902902    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    903       h_Kswitch h_Kcall x_8676)
    904 | Kwhile (x_8680, x_8679, x_8678) ->
    905   h_Kwhile x_8680 x_8679 x_8678
     903      h_Kswitch h_Kcall x_8689)
     904| Kwhile (x_8693, x_8692, x_8691) ->
     905  h_Kwhile x_8693 x_8692 x_8691
    906906    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    907       h_Kswitch h_Kcall x_8678)
    908 | Kdowhile (x_8683, x_8682, x_8681) ->
    909   h_Kdowhile x_8683 x_8682 x_8681
     907      h_Kswitch h_Kcall x_8691)
     908| Kdowhile (x_8696, x_8695, x_8694) ->
     909  h_Kdowhile x_8696 x_8695 x_8694
    910910    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     911      h_Kswitch h_Kcall x_8694)
     912| Kfor2 (x_8700, x_8699, x_8698, x_8697) ->
     913  h_Kfor2 x_8700 x_8699 x_8698 x_8697
    914914    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     915      h_Kswitch h_Kcall x_8697)
     916| Kfor3 (x_8704, x_8703, x_8702, x_8701) ->
     917  h_Kfor3 x_8704 x_8703 x_8702 x_8701
    918918    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    919       h_Kswitch h_Kcall x_8688)
    920 | Kswitch x_8692 ->
    921   h_Kswitch x_8692
     919      h_Kswitch h_Kcall x_8701)
     920| Kswitch x_8705 ->
     921  h_Kswitch x_8705
    922922    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     923      h_Kswitch h_Kcall x_8705)
     924| Kcall (x_8709, x_8708, x_8707, x_8706) ->
     925  h_Kcall x_8709 x_8708 x_8707 x_8706
    926926    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    927       h_Kswitch h_Kcall x_8693)
     927      h_Kswitch h_Kcall x_8706)
    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_8707, x_8706) ->
    941   h_Kseq x_8707 x_8706
     940| Kseq (x_8720, x_8719) ->
     941  h_Kseq x_8720 x_8719
    942942    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    943       h_Kswitch h_Kcall x_8706)
    944 | Kwhile (x_8710, x_8709, x_8708) ->
    945   h_Kwhile x_8710 x_8709 x_8708
     943      h_Kswitch h_Kcall x_8719)
     944| Kwhile (x_8723, x_8722, x_8721) ->
     945  h_Kwhile x_8723 x_8722 x_8721
    946946    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    947       h_Kswitch h_Kcall x_8708)
    948 | Kdowhile (x_8713, x_8712, x_8711) ->
    949   h_Kdowhile x_8713 x_8712 x_8711
     947      h_Kswitch h_Kcall x_8721)
     948| Kdowhile (x_8726, x_8725, x_8724) ->
     949  h_Kdowhile x_8726 x_8725 x_8724
    950950    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     951      h_Kswitch h_Kcall x_8724)
     952| Kfor2 (x_8730, x_8729, x_8728, x_8727) ->
     953  h_Kfor2 x_8730 x_8729 x_8728 x_8727
    954954    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     955      h_Kswitch h_Kcall x_8727)
     956| Kfor3 (x_8734, x_8733, x_8732, x_8731) ->
     957  h_Kfor3 x_8734 x_8733 x_8732 x_8731
    958958    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    959       h_Kswitch h_Kcall x_8718)
    960 | Kswitch x_8722 ->
    961   h_Kswitch x_8722
     959      h_Kswitch h_Kcall x_8731)
     960| Kswitch x_8735 ->
     961  h_Kswitch x_8735
    962962    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    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
     963      h_Kswitch h_Kcall x_8735)
     964| Kcall (x_8739, x_8738, x_8737, x_8736) ->
     965  h_Kcall x_8739 x_8738 x_8737 x_8736
    966966    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    967       h_Kswitch h_Kcall x_8723)
     967      h_Kswitch h_Kcall x_8736)
    968968
    969969(** val cont_inv_rect_Type4 :
  • extracted/csyntax.ml

    r2775 r2797  
    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_4352 =
     1205let rec function_rect_Type4 h_mk_function x_4365 =
    12061206  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1207     fn_body = fn_body0 } = x_4352
     1207    fn_body = fn_body0 } = x_4365
    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_4354 =
     1214let rec function_rect_Type5 h_mk_function x_4367 =
    12151215  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1216     fn_body = fn_body0 } = x_4354
     1216    fn_body = fn_body0 } = x_4367
    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_4356 =
     1223let rec function_rect_Type3 h_mk_function x_4369 =
    12241224  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1225     fn_body = fn_body0 } = x_4356
     1225    fn_body = fn_body0 } = x_4369
    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_4358 =
     1232let rec function_rect_Type2 h_mk_function x_4371 =
    12331233  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1234     fn_body = fn_body0 } = x_4358
     1234    fn_body = fn_body0 } = x_4371
    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_4360 =
     1241let rec function_rect_Type1 h_mk_function x_4373 =
    12421242  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1243     fn_body = fn_body0 } = x_4360
     1243    fn_body = fn_body0 } = x_4373
    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_4362 =
     1250let rec function_rect_Type0 h_mk_function x_4375 =
    12511251  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1252     fn_body = fn_body0 } = x_4362
     1252    fn_body = fn_body0 } = x_4375
    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_4384 -> h_CL_Internal x_4384
    1325 | CL_External (x_4387, x_4386, x_4385) -> h_CL_External x_4387 x_4386 x_4385
     1324| CL_Internal x_4397 -> h_CL_Internal x_4397
     1325| CL_External (x_4400, x_4399, x_4398) -> h_CL_External x_4400 x_4399 x_4398
    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_4391 -> h_CL_Internal x_4391
    1332 | CL_External (x_4394, x_4393, x_4392) -> h_CL_External x_4394 x_4393 x_4392
     1331| CL_Internal x_4404 -> h_CL_Internal x_4404
     1332| CL_External (x_4407, x_4406, x_4405) -> h_CL_External x_4407 x_4406 x_4405
    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_4398 -> h_CL_Internal x_4398
    1339 | CL_External (x_4401, x_4400, x_4399) -> h_CL_External x_4401 x_4400 x_4399
     1338| CL_Internal x_4411 -> h_CL_Internal x_4411
     1339| CL_External (x_4414, x_4413, x_4412) -> h_CL_External x_4414 x_4413 x_4412
    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_4405 -> h_CL_Internal x_4405
    1346 | CL_External (x_4408, x_4407, x_4406) -> h_CL_External x_4408 x_4407 x_4406
     1345| CL_Internal x_4418 -> h_CL_Internal x_4418
     1346| CL_External (x_4421, x_4420, x_4419) -> h_CL_External x_4421 x_4420 x_4419
    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_4412 -> h_CL_Internal x_4412
    1353 | CL_External (x_4415, x_4414, x_4413) -> h_CL_External x_4415 x_4414 x_4413
     1352| CL_Internal x_4425 -> h_CL_Internal x_4425
     1353| CL_External (x_4428, x_4427, x_4426) -> h_CL_External x_4428 x_4427 x_4426
    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_4419 -> h_CL_Internal x_4419
    1360 | CL_External (x_4422, x_4421, x_4420) -> h_CL_External x_4422 x_4421 x_4420
     1359| CL_Internal x_4432 -> h_CL_Internal x_4432
     1360| CL_External (x_4435, x_4434, x_4433) -> h_CL_External x_4435 x_4434 x_4433
    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_4472 = function
     1534let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_4485 = 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_4477 = function
     1541let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_4490 = 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_4482 = function
     1548let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_4495 = 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_4487 = function
     1555let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_4500 = 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_4492 = function
     1562let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_4505 = 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_4497 = function
     1569let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_4510 = function
    15701570| By_value t -> h_By_value t
    15711571| By_reference -> h_By_reference
  • extracted/division.ml

    r2775 r2797  
    2828let rec natp_rect_Type4 h_pzero h_ppos = function
    2929| Pzero -> h_pzero
    30 | Ppos x_4758 -> h_ppos x_4758
     30| Ppos x_4771 -> h_ppos x_4771
    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_4762 -> h_ppos x_4762
     35| Ppos x_4775 -> h_ppos x_4775
    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_4766 -> h_ppos x_4766
     40| Ppos x_4779 -> h_ppos x_4779
    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_4770 -> h_ppos x_4770
     45| Ppos x_4783 -> h_ppos x_4783
    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_4774 -> h_ppos x_4774
     50| Ppos x_4787 -> h_ppos x_4787
    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_4778 -> h_ppos x_4778
     55| Ppos x_4791 -> h_ppos x_4791
    5656
    5757(** val natp_inv_rect_Type4 :
  • extracted/eRTL.ml

    r2775 r2797  
    112112    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    113113let rec move_dst_rect_Type4 h_PSD h_HDW = function
    114 | PSD x_21042 -> h_PSD x_21042
    115 | HDW x_21043 -> h_HDW x_21043
     114| PSD x_21121 -> h_PSD x_21121
     115| HDW x_21122 -> h_HDW x_21122
    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_21047 -> h_PSD x_21047
    121 | HDW x_21048 -> h_HDW x_21048
     120| PSD x_21126 -> h_PSD x_21126
     121| HDW x_21127 -> h_HDW x_21127
    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_21052 -> h_PSD x_21052
    127 | HDW x_21053 -> h_HDW x_21053
     126| PSD x_21131 -> h_PSD x_21131
     127| HDW x_21132 -> h_HDW x_21132
    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_21057 -> h_PSD x_21057
    133 | HDW x_21058 -> h_HDW x_21058
     132| PSD x_21136 -> h_PSD x_21136
     133| HDW x_21137 -> h_HDW x_21137
    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_21062 -> h_PSD x_21062
    139 | HDW x_21063 -> h_HDW x_21063
     138| PSD x_21141 -> h_PSD x_21141
     139| HDW x_21142 -> h_HDW x_21142
    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_21067 -> h_PSD x_21067
    145 | HDW x_21068 -> h_HDW x_21068
     144| PSD x_21146 -> h_PSD x_21146
     145| HDW x_21147 -> h_HDW x_21147
    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_21107 -> h_ertl_frame_size x_21107
     340| Ertl_frame_size x_21186 -> h_ertl_frame_size x_21186
    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_21112 -> h_ertl_frame_size x_21112
     347| Ertl_frame_size x_21191 -> h_ertl_frame_size x_21191
    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_21117 -> h_ertl_frame_size x_21117
     354| Ertl_frame_size x_21196 -> h_ertl_frame_size x_21196
    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_21122 -> h_ertl_frame_size x_21122
     361| Ertl_frame_size x_21201 -> h_ertl_frame_size x_21201
    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_21127 -> h_ertl_frame_size x_21127
     368| Ertl_frame_size x_21206 -> h_ertl_frame_size x_21206
    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_21132 -> h_ertl_frame_size x_21132
     375| Ertl_frame_size x_21211 -> h_ertl_frame_size x_21211
    376376
    377377(** val ertl_seq_inv_rect_Type4 :
     
    426426    Bool.False }
    427427
     428(** val regs_from_move_dst : move_dst -> Registers.register List.list **)
     429let regs_from_move_dst = function
     430| PSD r -> List.Cons (r, List.Nil)
     431| HDW x -> List.Nil
     432
     433(** val regs_from_move_src : move_src -> Registers.register List.list **)
     434let regs_from_move_src = function
     435| Joint.Reg r ->
     436  (match r with
     437   | PSD r1 -> List.Cons (r1, List.Nil)
     438   | HDW x -> List.Nil)
     439| Joint.Imm x -> List.Nil
     440
     441(** val ertl_ext_seq_regs : ertl_seq -> Registers.register List.list **)
     442let ertl_ext_seq_regs = function
     443| Ertl_new_frame -> List.Nil
     444| Ertl_del_frame -> List.Nil
     445| Ertl_frame_size r -> List.Cons (r, List.Nil)
     446
     447(** val eRTL_functs : Joint.get_pseudo_reg_functs **)
     448let eRTL_functs =
     449  { Joint.acc_a_regs = (fun r -> List.Cons ((Obj.magic r), List.Nil));
     450    Joint.acc_b_regs = (fun r -> List.Cons ((Obj.magic r), List.Nil));
     451    Joint.acc_a_args = (fun arg ->
     452    match Obj.magic arg with
     453    | Joint.Reg r -> List.Cons (r, List.Nil)
     454    | Joint.Imm x -> List.Nil); Joint.acc_b_args = (fun arg ->
     455    match Obj.magic arg with
     456    | Joint.Reg r -> List.Cons (r, List.Nil)
     457    | Joint.Imm x -> List.Nil); Joint.dpl_regs = (fun r -> List.Cons
     458    ((Obj.magic r), List.Nil)); Joint.dph_regs = (fun r -> List.Cons
     459    ((Obj.magic r), List.Nil)); Joint.dpl_args = (fun arg ->
     460    match Obj.magic arg with
     461    | Joint.Reg r -> List.Cons (r, List.Nil)
     462    | Joint.Imm x -> List.Nil); Joint.dph_args = (fun arg ->
     463    match Obj.magic arg with
     464    | Joint.Reg r -> List.Cons (r, List.Nil)
     465    | Joint.Imm x -> List.Nil); Joint.snd_args = (fun arg ->
     466    match Obj.magic arg with
     467    | Joint.Reg r -> List.Cons (r, List.Nil)
     468    | Joint.Imm x -> List.Nil); Joint.pair_move_regs = (fun x ->
     469    List.append (regs_from_move_dst (Obj.magic x).Types.fst)
     470      (regs_from_move_src (Obj.magic x).Types.snd)); Joint.f_call_args =
     471    (fun x -> List.Nil); Joint.f_call_dest = (fun x -> List.Nil);
     472    Joint.ext_seq_regs = (Obj.magic ertl_ext_seq_regs); Joint.params_regs =
     473    (fun x -> List.Nil) }
     474
    428475(** val eRTL : Joint.graph_params **)
    429476let eRTL =
    430   eRTL_uns
     477  { Joint.u_pars = eRTL_uns; Joint.functs = eRTL_functs }
    431478
    432479type ertl_program = Joint.joint_program
     
    561608let dpi1__o__ertl_seq_to_joint_seq__o__seq_to_step__o__inject x1 x2 =
    562609  Joint.seq_to_step__o__inject
    563     (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTL) x1
     610    (Joint.gp_to_p__o__stmt_pars__o__uns_pars__o__u_pars eRTL) x1
    564611    (ertl_seq_joint x1 x2.Types.dpi1)
    565612
     
    578625let eject__o__ertl_seq_to_joint_seq__o__seq_to_step__o__inject x1 x2 =
    579626  Joint.seq_to_step__o__inject
    580     (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTL) x1
     627    (Joint.gp_to_p__o__stmt_pars__o__uns_pars__o__u_pars eRTL) x1
    581628    (ertl_seq_joint x1 (Types.pi1 x2))
    582629
     
    595642let ertl_seq_to_joint_seq__o__seq_to_step__o__inject x0 x1 =
    596643  Joint.seq_to_step__o__inject
    597     (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTL) x0 (ertl_seq_joint x0 x1)
     644    (Joint.gp_to_p__o__stmt_pars__o__uns_pars__o__u_pars eRTL) x0
     645    (ertl_seq_joint x0 x1)
    598646
    599647(** val ertl_seq_to_joint_seq__o__inject :
  • extracted/eRTL.mli

    r2773 r2797  
    281281val eRTL_uns : Joint.unserialized_params
    282282
     283val regs_from_move_dst : move_dst -> Registers.register List.list
     284
     285val regs_from_move_src : move_src -> Registers.register List.list
     286
     287val ertl_ext_seq_regs : ertl_seq -> Registers.register List.list
     288
     289val eRTL_functs : Joint.get_pseudo_reg_functs
     290
    283291val eRTL : Joint.graph_params
    284292
  • extracted/eRTLptr.ml

    r2775 r2797  
    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_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
     118| Ertlptr_ertl x_21255 -> h_ertlptr_ertl x_21255
     119| LOW_ADDRESS (x_21257, x_21256) -> h_LOW_ADDRESS x_21257 x_21256
     120| HIGH_ADDRESS (x_21259, x_21258) -> h_HIGH_ADDRESS x_21259 x_21258
    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_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
     126| Ertlptr_ertl x_21264 -> h_ertlptr_ertl x_21264
     127| LOW_ADDRESS (x_21266, x_21265) -> h_LOW_ADDRESS x_21266 x_21265
     128| HIGH_ADDRESS (x_21268, x_21267) -> h_HIGH_ADDRESS x_21268 x_21267
    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_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
     134| Ertlptr_ertl x_21273 -> h_ertlptr_ertl x_21273
     135| LOW_ADDRESS (x_21275, x_21274) -> h_LOW_ADDRESS x_21275 x_21274
     136| HIGH_ADDRESS (x_21277, x_21276) -> h_HIGH_ADDRESS x_21277 x_21276
    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_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
     142| Ertlptr_ertl x_21282 -> h_ertlptr_ertl x_21282
     143| LOW_ADDRESS (x_21284, x_21283) -> h_LOW_ADDRESS x_21284 x_21283
     144| HIGH_ADDRESS (x_21286, x_21285) -> h_HIGH_ADDRESS x_21286 x_21285
    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_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
     150| Ertlptr_ertl x_21291 -> h_ertlptr_ertl x_21291
     151| LOW_ADDRESS (x_21293, x_21292) -> h_LOW_ADDRESS x_21293 x_21292
     152| HIGH_ADDRESS (x_21295, x_21294) -> h_HIGH_ADDRESS x_21295 x_21294
    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_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
     158| Ertlptr_ertl x_21300 -> h_ertlptr_ertl x_21300
     159| LOW_ADDRESS (x_21302, x_21301) -> h_LOW_ADDRESS x_21302 x_21301
     160| HIGH_ADDRESS (x_21304, x_21303) -> h_HIGH_ADDRESS x_21304 x_21303
    161161
    162162(** val ertlptr_seq_inv_rect_Type4 :
     
    220220    Bool.False }
    221221
     222(** val eRTLptr_functs : Joint.get_pseudo_reg_functs **)
     223let eRTLptr_functs =
     224  { Joint.acc_a_regs = (fun r -> List.Cons ((Obj.magic r), List.Nil));
     225    Joint.acc_b_regs = (fun r -> List.Cons ((Obj.magic r), List.Nil));
     226    Joint.acc_a_args = (fun arg ->
     227    match Obj.magic arg with
     228    | Joint.Reg r -> List.Cons (r, List.Nil)
     229    | Joint.Imm x -> List.Nil); Joint.acc_b_args = (fun arg ->
     230    match Obj.magic arg with
     231    | Joint.Reg r -> List.Cons (r, List.Nil)
     232    | Joint.Imm x -> List.Nil); Joint.dpl_regs = (fun r -> List.Cons
     233    ((Obj.magic r), List.Nil)); Joint.dph_regs = (fun r -> List.Cons
     234    ((Obj.magic r), List.Nil)); Joint.dpl_args = (fun arg ->
     235    match Obj.magic arg with
     236    | Joint.Reg r -> List.Cons (r, List.Nil)
     237    | Joint.Imm x -> List.Nil); Joint.dph_args = (fun arg ->
     238    match Obj.magic arg with
     239    | Joint.Reg r -> List.Cons (r, List.Nil)
     240    | Joint.Imm x -> List.Nil); Joint.snd_args = (fun arg ->
     241    match Obj.magic arg with
     242    | Joint.Reg r -> List.Cons (r, List.Nil)
     243    | Joint.Imm x -> List.Nil); Joint.pair_move_regs = (fun x ->
     244    List.append (ERTL.regs_from_move_dst (Obj.magic x).Types.fst)
     245      (ERTL.regs_from_move_src (Obj.magic x).Types.snd)); Joint.f_call_args =
     246    (fun x -> List.Nil); Joint.f_call_dest = (fun x -> List.Nil);
     247    Joint.ext_seq_regs = (fun s ->
     248    match Obj.magic s with
     249    | Ertlptr_ertl s' -> ERTL.ertl_ext_seq_regs s'
     250    | LOW_ADDRESS (r, x) -> List.Cons (r, List.Nil)
     251    | HIGH_ADDRESS (r, x) -> List.Cons (r, List.Nil)); Joint.params_regs =
     252    (fun x -> List.Nil) }
     253
    222254(** val eRTLptr : Joint.graph_params **)
    223255let eRTLptr =
    224   eRTLptr_uns
     256  { Joint.u_pars = eRTLptr_uns; Joint.functs = eRTLptr_functs }
    225257
    226258type ertlptr_program = Joint.joint_program
     
    241273let dpi1__o__ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject x1 x2 =
    242274  Joint.seq_to_step__o__inject
    243     (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTLptr) x1
     275    (Joint.gp_to_p__o__stmt_pars__o__uns_pars__o__u_pars eRTLptr) x1
    244276    (ertlptr_seq_joint x1 x2.Types.dpi1)
    245277
     
    258290let eject__o__ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject x1 x2 =
    259291  Joint.seq_to_step__o__inject
    260     (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTLptr) x1
     292    (Joint.gp_to_p__o__stmt_pars__o__uns_pars__o__u_pars eRTLptr) x1
    261293    (ertlptr_seq_joint x1 (Types.pi1 x2))
    262294
     
    275307let ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject x0 x1 =
    276308  Joint.seq_to_step__o__inject
    277     (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTLptr) x0
     309    (Joint.gp_to_p__o__stmt_pars__o__uns_pars__o__u_pars eRTLptr) x0
    278310    (ertlptr_seq_joint x0 x1)
    279311
  • extracted/eRTLptr.mli

    r2773 r2797  
    167167val eRTLptr_uns : Joint.unserialized_params
    168168
     169val eRTLptr_functs : Joint.get_pseudo_reg_functs
     170
    169171val eRTLptr : Joint.graph_params
    170172
  • extracted/eRTLptrToLTL.ml

    r2775 r2797  
    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_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
     169| Arg_decision_colour x_21810 -> h_arg_decision_colour x_21810
     170| Arg_decision_spill x_21811 -> h_arg_decision_spill x_21811
     171| Arg_decision_imm x_21812 -> h_arg_decision_imm x_21812
    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_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
     177| Arg_decision_colour x_21817 -> h_arg_decision_colour x_21817
     178| Arg_decision_spill x_21818 -> h_arg_decision_spill x_21818
     179| Arg_decision_imm x_21819 -> h_arg_decision_imm x_21819
    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_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
     185| Arg_decision_colour x_21824 -> h_arg_decision_colour x_21824
     186| Arg_decision_spill x_21825 -> h_arg_decision_spill x_21825
     187| Arg_decision_imm x_21826 -> h_arg_decision_imm x_21826
    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_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
     193| Arg_decision_colour x_21831 -> h_arg_decision_colour x_21831
     194| Arg_decision_spill x_21832 -> h_arg_decision_spill x_21832
     195| Arg_decision_imm x_21833 -> h_arg_decision_imm x_21833
    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_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
     201| Arg_decision_colour x_21838 -> h_arg_decision_colour x_21838
     202| Arg_decision_spill x_21839 -> h_arg_decision_spill x_21839
     203| Arg_decision_imm x_21840 -> h_arg_decision_imm x_21840
    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_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
     209| Arg_decision_colour x_21845 -> h_arg_decision_colour x_21845
     210| Arg_decision_spill x_21846 -> h_arg_decision_spill x_21846
     211| Arg_decision_imm x_21847 -> h_arg_decision_imm x_21847
    212212
    213213(** val arg_decision_inv_rect_Type4 :
  • extracted/errorMessages.ml

    r2773 r2797  
    7474| BadCostLabelling
    7575| RepeatedCostLabel
     76| NotTerminated
    7677
    7778(** val errorMessage_rect_Type4 :
     
    8283    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    8384    -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    84     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
    85 let rec errorMessage_rect_Type4 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function
     85    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
     86let rec errorMessage_rect_Type4 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function
    8687| MISSING -> h_MISSING
    8788| EXTERNAL -> h_EXTERNAL
     
    152153| BadCostLabelling -> h_BadCostLabelling
    153154| RepeatedCostLabel -> h_RepeatedCostLabel
     155| NotTerminated -> h_NotTerminated
    154156
    155157(** val errorMessage_rect_Type5 :
     
    160162    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    161163    -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    162     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
    163 let rec errorMessage_rect_Type5 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function
     164    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
     165let rec errorMessage_rect_Type5 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function
    164166| MISSING -> h_MISSING
    165167| EXTERNAL -> h_EXTERNAL
     
    230232| BadCostLabelling -> h_BadCostLabelling
    231233| RepeatedCostLabel -> h_RepeatedCostLabel
     234| NotTerminated -> h_NotTerminated
    232235
    233236(** val errorMessage_rect_Type3 :
     
    238241    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    239242    -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    240     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
    241 let rec errorMessage_rect_Type3 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function
     243    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
     244let rec errorMessage_rect_Type3 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function
    242245| MISSING -> h_MISSING
    243246| EXTERNAL -> h_EXTERNAL
     
    308311| BadCostLabelling -> h_BadCostLabelling
    309312| RepeatedCostLabel -> h_RepeatedCostLabel
     313| NotTerminated -> h_NotTerminated
    310314
    311315(** val errorMessage_rect_Type2 :
     
    316320    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    317321    -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    318     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
    319 let rec errorMessage_rect_Type2 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function
     322    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
     323let rec errorMessage_rect_Type2 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function
    320324| MISSING -> h_MISSING
    321325| EXTERNAL -> h_EXTERNAL
     
    386390| BadCostLabelling -> h_BadCostLabelling
    387391| RepeatedCostLabel -> h_RepeatedCostLabel
     392| NotTerminated -> h_NotTerminated
    388393
    389394(** val errorMessage_rect_Type1 :
     
    394399    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    395400    -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    396     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
    397 let rec errorMessage_rect_Type1 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function
     401    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
     402let rec errorMessage_rect_Type1 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function
    398403| MISSING -> h_MISSING
    399404| EXTERNAL -> h_EXTERNAL
     
    464469| BadCostLabelling -> h_BadCostLabelling
    465470| RepeatedCostLabel -> h_RepeatedCostLabel
     471| NotTerminated -> h_NotTerminated
    466472
    467473(** val errorMessage_rect_Type0 :
     
    472478    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    473479    -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    474     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
    475 let rec errorMessage_rect_Type0 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function
     480    'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
     481let rec errorMessage_rect_Type0 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function
    476482| MISSING -> h_MISSING
    477483| EXTERNAL -> h_EXTERNAL
     
    542548| BadCostLabelling -> h_BadCostLabelling
    543549| RepeatedCostLabel -> h_RepeatedCostLabel
    544 
     550| NotTerminated -> h_NotTerminated
     551
  • extracted/errorMessages.mli

    r2773 r2797  
    7474| BadCostLabelling
    7575| RepeatedCostLabel
     76| NotTerminated
    7677
    7778val errorMessage_rect_Type4 :
     
    8283  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    8384  -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    84   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
     85  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    8586
    8687val errorMessage_rect_Type5 :
     
    9192  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    9293  -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    93   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
     94  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    9495
    9596val errorMessage_rect_Type3 :
     
    100101  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    101102  -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    102   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
     103  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    103104
    104105val errorMessage_rect_Type2 :
     
    109110  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    110111  -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    111   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
     112  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    112113
    113114val errorMessage_rect_Type1 :
     
    118119  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    119120  -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    120   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
     121  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    121122
    122123val errorMessage_rect_Type0 :
     
    127128  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    128129  -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    129   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
     130  'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    130131
  • extracted/errors.ml

    r2775 r2797  
    4343    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    4444let rec errcode_rect_Type4 h_MSG h_CTX = function
    45 | MSG x_2970 -> h_MSG x_2970
    46 | CTX (tag, x_2971) -> h_CTX tag x_2971
     45| MSG x_2983 -> h_MSG x_2983
     46| CTX (tag, x_2984) -> h_CTX tag x_2984
    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_2975 -> h_MSG x_2975
    53 | CTX (tag, x_2976) -> h_CTX tag x_2976
     52| MSG x_2988 -> h_MSG x_2988
     53| CTX (tag, x_2989) -> h_CTX tag x_2989
    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_2980 -> h_MSG x_2980
    60 | CTX (tag, x_2981) -> h_CTX tag x_2981
     59| MSG x_2993 -> h_MSG x_2993
     60| CTX (tag, x_2994) -> h_CTX tag x_2994
    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_2985 -> h_MSG x_2985
    67 | CTX (tag, x_2986) -> h_CTX tag x_2986
     66| MSG x_2998 -> h_MSG x_2998
     67| CTX (tag, x_2999) -> h_CTX tag x_2999
    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_2990 -> h_MSG x_2990
    74 | CTX (tag, x_2991) -> h_CTX tag x_2991
     73| MSG x_3003 -> h_MSG x_3003
     74| CTX (tag, x_3004) -> h_CTX tag x_3004
    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_2995 -> h_MSG x_2995
    81 | CTX (tag, x_2996) -> h_CTX tag x_2996
     80| MSG x_3008 -> h_MSG x_3008
     81| CTX (tag, x_3009) -> h_CTX tag x_3009
    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_3035 -> h_OK x_3035
    146 | Error x_3036 -> h_Error x_3036
     145| OK x_3048 -> h_OK x_3048
     146| Error x_3049 -> h_Error x_3049
    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_3040 -> h_OK x_3040
    152 | Error x_3041 -> h_Error x_3041
     151| OK x_3053 -> h_OK x_3053
     152| Error x_3054 -> h_Error x_3054
    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_3045 -> h_OK x_3045
    158 | Error x_3046 -> h_Error x_3046
     157| OK x_3058 -> h_OK x_3058
     158| Error x_3059 -> h_Error x_3059
    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_3050 -> h_OK x_3050
    164 | Error x_3051 -> h_Error x_3051
     163| OK x_3063 -> h_OK x_3063
     164| Error x_3064 -> h_Error x_3064
    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_3055 -> h_OK x_3055
    170 | Error x_3056 -> h_Error x_3056
     169| OK x_3068 -> h_OK x_3068
     170| Error x_3069 -> h_Error x_3069
    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_3060 -> h_OK x_3060
    176 | Error x_3061 -> h_Error x_3061
     175| OK x_3073 -> h_OK x_3073
     176| Error x_3074 -> h_Error x_3074
    177177
    178178(** val res_inv_rect_Type4 :
  • extracted/events.ml

    r2775 r2797  
    8989    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    9090let rec eventval_rect_Type4 h_EVint = function
    91 | EVint (sz, x_5394) -> h_EVint sz x_5394
     91| EVint (sz, x_5407) -> h_EVint sz x_5407
    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_5397) -> h_EVint sz x_5397
     96| EVint (sz, x_5410) -> h_EVint sz x_5410
    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_5400) -> h_EVint sz x_5400
     101| EVint (sz, x_5413) -> h_EVint sz x_5413
    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_5403) -> h_EVint sz x_5403
     106| EVint (sz, x_5416) -> h_EVint sz x_5416
    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_5406) -> h_EVint sz x_5406
     111| EVint (sz, x_5419) -> h_EVint sz x_5419
    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_5409) -> h_EVint sz x_5409
     116| EVint (sz, x_5422) -> h_EVint sz x_5422
    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_5434 -> h_EVcost x_5434
     161| EVcost x_5447 -> h_EVcost x_5447
    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_5438 -> h_EVcost x_5438
     168| EVcost x_5451 -> h_EVcost x_5451
    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_5442 -> h_EVcost x_5442
     175| EVcost x_5455 -> h_EVcost x_5455
    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_5446 -> h_EVcost x_5446
     182| EVcost x_5459 -> h_EVcost x_5459
    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_5450 -> h_EVcost x_5450
     189| EVcost x_5463 -> h_EVcost x_5463
    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_5454 -> h_EVcost x_5454
     196| EVcost x_5467 -> h_EVcost x_5467
    197197| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    198198
  • extracted/fixpoints.ml

    r2775 r2797  
    8080    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    8181    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    82 let 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
     82let rec property_lattice_rect_Type4 h_mk_property_lattice x_21650 =
     83  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     84    l_is_maximal = l_is_maximal0 } = x_21650
    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_21573 =
    92   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    93     l_is_maximal = l_is_maximal0 } = x_21573
     91let rec property_lattice_rect_Type5 h_mk_property_lattice x_21652 =
     92  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     93    l_is_maximal = l_is_maximal0 } = x_21652
    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_21575 =
    101   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    102     l_is_maximal = l_is_maximal0 } = x_21575
     100let rec property_lattice_rect_Type3 h_mk_property_lattice x_21654 =
     101  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     102    l_is_maximal = l_is_maximal0 } = x_21654
    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_21577 =
    110   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    111     l_is_maximal = l_is_maximal0 } = x_21577
     109let rec property_lattice_rect_Type2 h_mk_property_lattice x_21656 =
     110  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     111    l_is_maximal = l_is_maximal0 } = x_21656
    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_21579 =
    119   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    120     l_is_maximal = l_is_maximal0 } = x_21579
     118let rec property_lattice_rect_Type1 h_mk_property_lattice x_21658 =
     119  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     120    l_is_maximal = l_is_maximal0 } = x_21658
    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_21581 =
    128   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    129     l_is_maximal = l_is_maximal0 } = x_21581
     127let rec property_lattice_rect_Type0 h_mk_property_lattice x_21660 =
     128  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     129    l_is_maximal = l_is_maximal0 } = x_21660
    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_21602 =
    204   let fix_lfp = x_21602 in h_mk_fixpoint fix_lfp __
     203let rec fixpoint_rect_Type4 latt h_mk_fixpoint x_21681 =
     204  let fix_lfp = x_21681 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_21604 =
    210   let fix_lfp = x_21604 in h_mk_fixpoint fix_lfp __
     209let rec fixpoint_rect_Type5 latt h_mk_fixpoint x_21683 =
     210  let fix_lfp = x_21683 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_21606 =
    216   let fix_lfp = x_21606 in h_mk_fixpoint fix_lfp __
     215let rec fixpoint_rect_Type3 latt h_mk_fixpoint x_21685 =
     216  let fix_lfp = x_21685 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_21608 =
    222   let fix_lfp = x_21608 in h_mk_fixpoint fix_lfp __
     221let rec fixpoint_rect_Type2 latt h_mk_fixpoint x_21687 =
     222  let fix_lfp = x_21687 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_21610 =
    228   let fix_lfp = x_21610 in h_mk_fixpoint fix_lfp __
     227let rec fixpoint_rect_Type1 latt h_mk_fixpoint x_21689 =
     228  let fix_lfp = x_21689 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_21612 =
    234   let fix_lfp = x_21612 in h_mk_fixpoint fix_lfp __
     233let rec fixpoint_rect_Type0 latt h_mk_fixpoint x_21691 =
     234  let fix_lfp = x_21691 in h_mk_fixpoint fix_lfp __
    235235
    236236(** val fix_lfp : property_lattice -> fixpoint -> equations -> valuation **)
  • extracted/frontEndOps.ml

    r2775 r2797  
    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_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
     101let rec constant_rect_Type4 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13005 = function
     102| Ointconst (sz, sg, x_13007) -> h_Ointconst sz sg x_13007
     103| Oaddrsymbol (x_13009, x_13008) -> h_Oaddrsymbol x_13009 x_13008
     104| Oaddrstack x_13010 -> h_Oaddrstack x_13010
    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_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
     109let rec constant_rect_Type5 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13014 = function
     110| Ointconst (sz, sg, x_13016) -> h_Ointconst sz sg x_13016
     111| Oaddrsymbol (x_13018, x_13017) -> h_Oaddrsymbol x_13018 x_13017
     112| Oaddrstack x_13019 -> h_Oaddrstack x_13019
    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_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
     117let rec constant_rect_Type3 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13023 = function
     118| Ointconst (sz, sg, x_13025) -> h_Ointconst sz sg x_13025
     119| Oaddrsymbol (x_13027, x_13026) -> h_Oaddrsymbol x_13027 x_13026
     120| Oaddrstack x_13028 -> h_Oaddrstack x_13028
    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_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
     125let rec constant_rect_Type2 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13032 = function
     126| Ointconst (sz, sg, x_13034) -> h_Ointconst sz sg x_13034
     127| Oaddrsymbol (x_13036, x_13035) -> h_Oaddrsymbol x_13036 x_13035
     128| Oaddrstack x_13037 -> h_Oaddrstack x_13037
    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_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
     133let rec constant_rect_Type1 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13041 = function
     134| Ointconst (sz, sg, x_13043) -> h_Ointconst sz sg x_13043
     135| Oaddrsymbol (x_13045, x_13044) -> h_Oaddrsymbol x_13045 x_13044
     136| Oaddrstack x_13046 -> h_Oaddrstack x_13046
    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_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
     141let rec constant_rect_Type0 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13050 = function
     142| Ointconst (sz, sg, x_13052) -> h_Ointconst sz sg x_13052
     143| Oaddrsymbol (x_13054, x_13053) -> h_Oaddrsymbol x_13054 x_13053
     144| Oaddrstack x_13055 -> h_Oaddrstack x_13055
    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_13112 x_13111 = function
     213let rec unary_operation_rect_Type4 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13125 x_13124 = 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_13123 x_13122 = function
     229let rec unary_operation_rect_Type5 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13136 x_13135 = 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_13134 x_13133 = function
     245let rec unary_operation_rect_Type3 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13147 x_13146 = 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_13145 x_13144 = function
     261let rec unary_operation_rect_Type2 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13158 x_13157 = 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_13156 x_13155 = function
     277let rec unary_operation_rect_Type1 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13169 x_13168 = 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_13167 x_13166 = function
     293let rec unary_operation_rect_Type0 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13180 x_13179 = 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_13272 x_13271 x_13270 = 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_13285 x_13284 x_13283 = 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_13274) -> h_Ocmp sz sg sg' x_13274
    443 | Ocmpu (sz, sg', x_13275) -> h_Ocmpu sz sg' x_13275
     442| Ocmp (sz, sg, sg', x_13287) -> h_Ocmp sz sg sg' x_13287
     443| Ocmpu (sz, sg', x_13288) -> h_Ocmpu sz sg' x_13288
    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_13276) -> h_Ocmpp sg' x_13276
     448| Ocmpp (sg', x_13289) -> h_Ocmpp sg' x_13289
    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_13299 x_13298 x_13297 = 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_13312 x_13311 x_13310 = 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_13301) -> h_Ocmp sz sg sg' x_13301
    478 | Ocmpu (sz, sg', x_13302) -> h_Ocmpu sz sg' x_13302
     477| Ocmp (sz, sg, sg', x_13314) -> h_Ocmp sz sg sg' x_13314
     478| Ocmpu (sz, sg', x_13315) -> h_Ocmpu sz sg' x_13315
    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_13303) -> h_Ocmpp sg' x_13303
     483| Ocmpp (sg', x_13316) -> h_Ocmpp sg' x_13316
    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_13326 x_13325 x_13324 = 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_13339 x_13338 x_13337 = 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_13328) -> h_Ocmp sz sg sg' x_13328
    513 | Ocmpu (sz, sg', x_13329) -> h_Ocmpu sz sg' x_13329
     512| Ocmp (sz, sg, sg', x_13341) -> h_Ocmp sz sg sg' x_13341
     513| Ocmpu (sz, sg', x_13342) -> h_Ocmpu sz sg' x_13342
    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_13330) -> h_Ocmpp sg' x_13330
     518| Ocmpp (sg', x_13343) -> h_Ocmpp sg' x_13343
    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_13353 x_13352 x_13351 = 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_13366 x_13365 x_13364 = 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_13355) -> h_Ocmp sz sg sg' x_13355
    548 | Ocmpu (sz, sg', x_13356) -> h_Ocmpu sz sg' x_13356
     547| Ocmp (sz, sg, sg', x_13368) -> h_Ocmp sz sg sg' x_13368
     548| Ocmpu (sz, sg', x_13369) -> h_Ocmpu sz sg' x_13369
    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_13357) -> h_Ocmpp sg' x_13357
     553| Ocmpp (sg', x_13370) -> h_Ocmpp sg' x_13370
    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_13380 x_13379 x_13378 = 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_13393 x_13392 x_13391 = 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_13382) -> h_Ocmp sz sg sg' x_13382
    583 | Ocmpu (sz, sg', x_13383) -> h_Ocmpu sz sg' x_13383
     582| Ocmp (sz, sg, sg', x_13395) -> h_Ocmp sz sg sg' x_13395
     583| Ocmpu (sz, sg', x_13396) -> h_Ocmpu sz sg' x_13396
    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_13384) -> h_Ocmpp sg' x_13384
     588| Ocmpp (sg', x_13397) -> h_Ocmpp sg' x_13397
    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_13407 x_13406 x_13405 = 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_13420 x_13419 x_13418 = 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_13409) -> h_Ocmp sz sg sg' x_13409
    618 | Ocmpu (sz, sg', x_13410) -> h_Ocmpu sz sg' x_13410
     617| Ocmp (sz, sg, sg', x_13422) -> h_Ocmp sz sg sg' x_13422
     618| Ocmpu (sz, sg', x_13423) -> h_Ocmpu sz sg' x_13423
    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_13411) -> h_Ocmpp sg' x_13411
     623| Ocmpp (sg', x_13424) -> h_Ocmpp sg' x_13424
    624624
    625625(** val binary_operation_inv_rect_Type4 :
  • extracted/genMem.ml

    r2775 r2797  
    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_6386 =
    103   let { low = low0; high = high0; contents = contents0 } = x_6386 in
     102let rec block_contents_rect_Type4 h_mk_block_contents x_6399 =
     103  let { low = low0; high = high0; contents = contents0 } = x_6399 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_6388 =
    109   let { low = low0; high = high0; contents = contents0 } = x_6388 in
     108let rec block_contents_rect_Type5 h_mk_block_contents x_6401 =
     109  let { low = low0; high = high0; contents = contents0 } = x_6401 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_6390 =
    115   let { low = low0; high = high0; contents = contents0 } = x_6390 in
     114let rec block_contents_rect_Type3 h_mk_block_contents x_6403 =
     115  let { low = low0; high = high0; contents = contents0 } = x_6403 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_6392 =
    121   let { low = low0; high = high0; contents = contents0 } = x_6392 in
     120let rec block_contents_rect_Type2 h_mk_block_contents x_6405 =
     121  let { low = low0; high = high0; contents = contents0 } = x_6405 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_6394 =
    127   let { low = low0; high = high0; contents = contents0 } = x_6394 in
     126let rec block_contents_rect_Type1 h_mk_block_contents x_6407 =
     127  let { low = low0; high = high0; contents = contents0 } = x_6407 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_6396 =
    133   let { low = low0; high = high0; contents = contents0 } = x_6396 in
     132let rec block_contents_rect_Type0 h_mk_block_contents x_6409 =
     133  let { low = low0; high = high0; contents = contents0 } = x_6409 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_6412 =
    190   let { blocks = blocks0; nextblock = nextblock0 } = x_6412 in
     189let rec mem_rect_Type4 h_mk_mem x_6425 =
     190  let { blocks = blocks0; nextblock = nextblock0 } = x_6425 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_6414 =
    196   let { blocks = blocks0; nextblock = nextblock0 } = x_6414 in
     195let rec mem_rect_Type5 h_mk_mem x_6427 =
     196  let { blocks = blocks0; nextblock = nextblock0 } = x_6427 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_6416 =
    202   let { blocks = blocks0; nextblock = nextblock0 } = x_6416 in
     201let rec mem_rect_Type3 h_mk_mem x_6429 =
     202  let { blocks = blocks0; nextblock = nextblock0 } = x_6429 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_6418 =
    208   let { blocks = blocks0; nextblock = nextblock0 } = x_6418 in
     207let rec mem_rect_Type2 h_mk_mem x_6431 =
     208  let { blocks = blocks0; nextblock = nextblock0 } = x_6431 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_6420 =
    214   let { blocks = blocks0; nextblock = nextblock0 } = x_6420 in
     213let rec mem_rect_Type1 h_mk_mem x_6433 =
     214  let { blocks = blocks0; nextblock = nextblock0 } = x_6433 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_6422 =
    220   let { blocks = blocks0; nextblock = nextblock0 } = x_6422 in
     219let rec mem_rect_Type0 h_mk_mem x_6435 =
     220  let { blocks = blocks0; nextblock = nextblock0 } = x_6435 in
    221221  h_mk_mem blocks0 nextblock0 __
    222222
  • extracted/globalenvs.ml

    r2775 r2797  
    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_6439 =
     100let rec genv_t_rect_Type4 h_mk_genv_t x_6452 =
    101101  let { functions = functions0; nextfunction = nextfunction0; symbols =
    102     symbols0 } = x_6439
     102    symbols0 } = x_6452
    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_6441 =
     109let rec genv_t_rect_Type5 h_mk_genv_t x_6454 =
    110110  let { functions = functions0; nextfunction = nextfunction0; symbols =
    111     symbols0 } = x_6441
     111    symbols0 } = x_6454
    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_6443 =
     118let rec genv_t_rect_Type3 h_mk_genv_t x_6456 =
    119119  let { functions = functions0; nextfunction = nextfunction0; symbols =
    120     symbols0 } = x_6443
     120    symbols0 } = x_6456
    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_6445 =
     127let rec genv_t_rect_Type2 h_mk_genv_t x_6458 =
    128128  let { functions = functions0; nextfunction = nextfunction0; symbols =
    129     symbols0 } = x_6445
     129    symbols0 } = x_6458
    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_6447 =
     136let rec genv_t_rect_Type1 h_mk_genv_t x_6460 =
    137137  let { functions = functions0; nextfunction = nextfunction0; symbols =
    138     symbols0 } = x_6447
     138    symbols0 } = x_6460
    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_6449 =
     145let rec genv_t_rect_Type0 h_mk_genv_t x_6462 =
    146146  let { functions = functions0; nextfunction = nextfunction0; symbols =
    147     symbols0 } = x_6449
     147    symbols0 } = x_6462
    148148  in
    149149  h_mk_genv_t functions0 nextfunction0 symbols0 __
  • extracted/iO.ml

    r2775 r2797  
    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_5756 =
    153   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    154     io_in_typ0 } = x_5756
     152let rec io_out_rect_Type4 h_mk_io_out x_5769 =
     153  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     154    io_in_typ0 } = x_5769
    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_5758 =
    162   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    163     io_in_typ0 } = x_5758
     161let rec io_out_rect_Type5 h_mk_io_out x_5771 =
     162  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     163    io_in_typ0 } = x_5771
    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_5760 =
    171   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    172     io_in_typ0 } = x_5760
     170let rec io_out_rect_Type3 h_mk_io_out x_5773 =
     171  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     172    io_in_typ0 } = x_5773
    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_5762 =
    180   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    181     io_in_typ0 } = x_5762
     179let rec io_out_rect_Type2 h_mk_io_out x_5775 =
     180  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     181    io_in_typ0 } = x_5775
    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_5764 =
    189   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    190     io_in_typ0 } = x_5764
     188let rec io_out_rect_Type1 h_mk_io_out x_5777 =
     189  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     190    io_in_typ0 } = x_5777
    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_5766 =
    198   let { io_function = io_function0; io_args = io_args0; io_in_typ =
    199     io_in_typ0 } = x_5766
     197let rec io_out_rect_Type0 h_mk_io_out x_5779 =
     198  let { io_function = io_function0; io_args = io_args0; io_in_typ =
     199    io_in_typ0 } = x_5779
    200200  in
    201201  h_mk_io_out io_function0 io_args0 io_in_typ0
  • extracted/iOMonad.ml

    r2775 r2797  
    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_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
     54| Interact (o, x_4555) ->
     55  h_Interact o x_4555 (fun x_4554 ->
     56    iO_rect_Type4 h_Interact h_Value h_Wrong (x_4555 x_4554))
     57| Value x_4556 -> h_Value x_4556
     58| Wrong x_4557 -> h_Wrong x_4557
    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_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
     64| Interact (o, x_4571) ->
     65  h_Interact o x_4571 (fun x_4570 ->
     66    iO_rect_Type3 h_Interact h_Value h_Wrong (x_4571 x_4570))
     67| Value x_4572 -> h_Value x_4572
     68| Wrong x_4573 -> h_Wrong x_4573
    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_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
     74| Interact (o, x_4579) ->
     75  h_Interact o x_4579 (fun x_4578 ->
     76    iO_rect_Type2 h_Interact h_Value h_Wrong (x_4579 x_4578))
     77| Value x_4580 -> h_Value x_4580
     78| Wrong x_4581 -> h_Wrong x_4581
    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_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
     84| Interact (o, x_4587) ->
     85  h_Interact o x_4587 (fun x_4586 ->
     86    iO_rect_Type1 h_Interact h_Value h_Wrong (x_4587 x_4586))
     87| Value x_4588 -> h_Value x_4588
     88| Wrong x_4589 -> h_Wrong x_4589
    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_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
     94| Interact (o, x_4595) ->
     95  h_Interact o x_4595 (fun x_4594 ->
     96    iO_rect_Type0 h_Interact h_Value h_Wrong (x_4595 x_4594))
     97| Value x_4596 -> h_Value x_4596
     98| Wrong x_4597 -> h_Wrong x_4597
    9999
    100100(** val iO_inv_rect_Type4 :
  • extracted/identifiers.ml

    r2775 r2797  
    5151(** val universe_rect_Type4 :
    5252    PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **)
    53 let rec universe_rect_Type4 tag h_mk_universe x_3096 =
    54   let next_identifier = x_3096 in h_mk_universe next_identifier
     53let rec universe_rect_Type4 tag h_mk_universe x_3109 =
     54  let next_identifier = x_3109 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_3098 =
    59   let next_identifier = x_3098 in h_mk_universe next_identifier
     58let rec universe_rect_Type5 tag h_mk_universe x_3111 =
     59  let next_identifier = x_3111 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_3100 =
    64   let next_identifier = x_3100 in h_mk_universe next_identifier
     63let rec universe_rect_Type3 tag h_mk_universe x_3113 =
     64  let next_identifier = x_3113 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_3102 =
    69   let next_identifier = x_3102 in h_mk_universe next_identifier
     68let rec universe_rect_Type2 tag h_mk_universe x_3115 =
     69  let next_identifier = x_3115 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_3104 =
    74   let next_identifier = x_3104 in h_mk_universe next_identifier
     73let rec universe_rect_Type1 tag h_mk_universe x_3117 =
     74  let next_identifier = x_3117 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_3106 =
    79   let next_identifier = x_3106 in h_mk_universe next_identifier
     78let rec universe_rect_Type0 tag h_mk_universe x_3119 =
     79  let next_identifier = x_3119 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_3268 =
    218   let x_3269 = x_3268 in h_an_id_map x_3269
     217let rec identifier_map_rect_Type4 tag h_an_id_map x_3281 =
     218  let x_3282 = x_3281 in h_an_id_map x_3282
    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_3271 =
    224   let x_3272 = x_3271 in h_an_id_map x_3272
     223let rec identifier_map_rect_Type5 tag h_an_id_map x_3284 =
     224  let x_3285 = x_3284 in h_an_id_map x_3285
    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_3274 =
    230   let x_3275 = x_3274 in h_an_id_map x_3275
     229let rec identifier_map_rect_Type3 tag h_an_id_map x_3287 =
     230  let x_3288 = x_3287 in h_an_id_map x_3288
    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_3277 =
    236   let x_3278 = x_3277 in h_an_id_map x_3278
     235let rec identifier_map_rect_Type2 tag h_an_id_map x_3290 =
     236  let x_3291 = x_3290 in h_an_id_map x_3291
    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_3280 =
    242   let x_3281 = x_3280 in h_an_id_map x_3281
     241let rec identifier_map_rect_Type1 tag h_an_id_map x_3293 =
     242  let x_3294 = x_3293 in h_an_id_map x_3294
    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_3283 =
    248   let x_3284 = x_3283 in h_an_id_map x_3284
     247let rec identifier_map_rect_Type0 tag h_an_id_map x_3296 =
     248  let x_3297 = x_3296 in h_an_id_map x_3297
    249249
    250250(** val identifier_map_inv_rect_Type4 :
  • extracted/initialisation.ml

    r2773 r2797  
    157157    Types.sig0 **)
    158158let init_var id r init =
    159   (List.foldr (fun datum os ->
     159  (Util.foldl (fun os datum ->
    160160    let { Types.fst = off; Types.snd = s } = os in
    161161    { Types.fst = (Nat.plus off (Globalenvs.size_init_data datum));
  • extracted/interference.ml

    r2775 r2797  
    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_21633 -> h_decision_spill x_21633
    125 | Decision_colour x_21634 -> h_decision_colour x_21634
     124| Decision_spill x_21712 -> h_decision_spill x_21712
     125| Decision_colour x_21713 -> h_decision_colour x_21713
    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_21638 -> h_decision_spill x_21638
    131 | Decision_colour x_21639 -> h_decision_colour x_21639
     130| Decision_spill x_21717 -> h_decision_spill x_21717
     131| Decision_colour x_21718 -> h_decision_colour x_21718
    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_21643 -> h_decision_spill x_21643
    137 | Decision_colour x_21644 -> h_decision_colour x_21644
     136| Decision_spill x_21722 -> h_decision_spill x_21722
     137| Decision_colour x_21723 -> h_decision_colour x_21723
    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_21648 -> h_decision_spill x_21648
    143 | Decision_colour x_21649 -> h_decision_colour x_21649
     142| Decision_spill x_21727 -> h_decision_spill x_21727
     143| Decision_colour x_21728 -> h_decision_colour x_21728
    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_21653 -> h_decision_spill x_21653
    149 | Decision_colour x_21654 -> h_decision_colour x_21654
     148| Decision_spill x_21732 -> h_decision_spill x_21732
     149| Decision_colour x_21733 -> h_decision_colour x_21733
    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_21658 -> h_decision_spill x_21658
    155 | Decision_colour x_21659 -> h_decision_colour x_21659
     154| Decision_spill x_21737 -> h_decision_spill x_21737
     155| Decision_colour x_21738 -> h_decision_colour x_21738
    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_21694 =
    208   let { colouring = colouring0; spilled_no = spilled_no0 } = x_21694 in
     207let rec coloured_graph_rect_Type4 after h_mk_coloured_graph x_21773 =
     208  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21773 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_21696 =
    215   let { colouring = colouring0; spilled_no = spilled_no0 } = x_21696 in
     214let rec coloured_graph_rect_Type5 after h_mk_coloured_graph x_21775 =
     215  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21775 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_21698 =
    222   let { colouring = colouring0; spilled_no = spilled_no0 } = x_21698 in
     221let rec coloured_graph_rect_Type3 after h_mk_coloured_graph x_21777 =
     222  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21777 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_21700 =
    229   let { colouring = colouring0; spilled_no = spilled_no0 } = x_21700 in
     228let rec coloured_graph_rect_Type2 after h_mk_coloured_graph x_21779 =
     229  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21779 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_21702 =
    236   let { colouring = colouring0; spilled_no = spilled_no0 } = x_21702 in
     235let rec coloured_graph_rect_Type1 after h_mk_coloured_graph x_21781 =
     236  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21781 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_21704 =
    243   let { colouring = colouring0; spilled_no = spilled_no0 } = x_21704 in
     242let rec coloured_graph_rect_Type0 after h_mk_coloured_graph x_21783 =
     243  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21783 in
    244244  h_mk_coloured_graph colouring0 spilled_no0 __ __
    245245
  • extracted/joint.ml

    r2775 r2797  
    110110    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    111111let rec argument_rect_Type4 h_Reg h_Imm = function
    112 | Reg x_19531 -> h_Reg x_19531
    113 | Imm x_19532 -> h_Imm x_19532
     112| Reg x_19544 -> h_Reg x_19544
     113| Imm x_19545 -> h_Imm x_19545
    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_19536 -> h_Reg x_19536
    119 | Imm x_19537 -> h_Imm x_19537
     118| Reg x_19549 -> h_Reg x_19549
     119| Imm x_19550 -> h_Imm x_19550
    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_19541 -> h_Reg x_19541
    125 | Imm x_19542 -> h_Imm x_19542
     124| Reg x_19554 -> h_Reg x_19554
     125| Imm x_19555 -> h_Imm x_19555
    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_19546 -> h_Reg x_19546
    131 | Imm x_19547 -> h_Imm x_19547
     130| Reg x_19559 -> h_Reg x_19559
     131| Imm x_19560 -> h_Imm x_19560
    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_19551 -> h_Reg x_19551
    137 | Imm x_19552 -> h_Imm x_19552
     136| Reg x_19564 -> h_Reg x_19564
     137| Imm x_19565 -> h_Imm x_19565
    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_19556 -> h_Reg x_19556
    143 | Imm x_19557 -> h_Imm x_19557
     142| Reg x_19569 -> h_Reg x_19569
     143| Imm x_19570 -> h_Imm x_19570
    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_19592 =
     326let rec unserialized_params_rect_Type4 h_mk_unserialized_params x_19605 =
    327327  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    328     x_19592
     328    x_19605
    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_19594 =
     337let rec unserialized_params_rect_Type5 h_mk_unserialized_params x_19607 =
    338338  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    339     x_19594
     339    x_19607
    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_19596 =
     348let rec unserialized_params_rect_Type3 h_mk_unserialized_params x_19609 =
    349349  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    350     x_19596
     350    x_19609
    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_19598 =
     359let rec unserialized_params_rect_Type2 h_mk_unserialized_params x_19611 =
    360360  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    361     x_19598