Changeset 2997
- Timestamp:
- Mar 28, 2013, 10:27:41 AM (5 years ago)
- Location:
- extracted
- Files:
-
- 55 edited
Legend:
- Unmodified
- Added
- Removed
-
extracted/aSM.ml
r2951 r2997 113 113 -> 'a1) -> addressing_mode -> 'a1 **) 114 114 let rec addressing_mode_rect_Type4 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function 115 | DIRECT x_ 33 -> h_DIRECT x_33116 | INDIRECT x_ 34 -> h_INDIRECT x_34117 | EXT_INDIRECT x_ 35 -> h_EXT_INDIRECT x_35118 | REGISTER x_ 36 -> h_REGISTER x_36115 | DIRECT x_1001 -> h_DIRECT x_1001 116 | INDIRECT x_1002 -> h_INDIRECT x_1002 117 | EXT_INDIRECT x_1003 -> h_EXT_INDIRECT x_1003 118 | REGISTER x_1004 -> h_REGISTER x_1004 119 119 | ACC_A -> h_ACC_A 120 120 | ACC_B -> h_ACC_B 121 121 | DPTR -> h_DPTR 122 | DATA x_ 37 -> h_DATA x_37123 | DATA16 x_ 38 -> h_DATA16 x_38122 | DATA x_1005 -> h_DATA x_1005 123 | DATA16 x_1006 -> h_DATA16 x_1006 124 124 | ACC_DPTR -> h_ACC_DPTR 125 125 | ACC_PC -> h_ACC_PC … … 127 127 | INDIRECT_DPTR -> h_INDIRECT_DPTR 128 128 | CARRY -> h_CARRY 129 | BIT_ADDR x_ 39 -> h_BIT_ADDR x_39130 | N_BIT_ADDR x_ 40 -> h_N_BIT_ADDR x_40131 | RELATIVE x_ 41 -> h_RELATIVE x_41132 | ADDR11 x_ 42 -> h_ADDR11 x_42133 | ADDR16 x_ 43 -> h_ADDR16 x_43129 | BIT_ADDR x_1007 -> h_BIT_ADDR x_1007 130 | N_BIT_ADDR x_1008 -> h_N_BIT_ADDR x_1008 131 | RELATIVE x_1009 -> h_RELATIVE x_1009 132 | ADDR11 x_1010 -> h_ADDR11 x_1010 133 | ADDR16 x_1011 -> h_ADDR16 x_1011 134 134 135 135 (** val addressing_mode_rect_Type5 : … … 141 141 -> 'a1) -> addressing_mode -> 'a1 **) 142 142 let rec addressing_mode_rect_Type5 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function 143 | DIRECT x_ 64 -> h_DIRECT x_64144 | INDIRECT x_ 65 -> h_INDIRECT x_65145 | EXT_INDIRECT x_ 66 -> h_EXT_INDIRECT x_66146 | REGISTER x_ 67 -> h_REGISTER x_67143 | DIRECT x_1032 -> h_DIRECT x_1032 144 | INDIRECT x_1033 -> h_INDIRECT x_1033 145 | EXT_INDIRECT x_1034 -> h_EXT_INDIRECT x_1034 146 | REGISTER x_1035 -> h_REGISTER x_1035 147 147 | ACC_A -> h_ACC_A 148 148 | ACC_B -> h_ACC_B 149 149 | DPTR -> h_DPTR 150 | DATA x_ 68 -> h_DATA x_68151 | DATA16 x_ 69 -> h_DATA16 x_69150 | DATA x_1036 -> h_DATA x_1036 151 | DATA16 x_1037 -> h_DATA16 x_1037 152 152 | ACC_DPTR -> h_ACC_DPTR 153 153 | ACC_PC -> h_ACC_PC … … 155 155 | INDIRECT_DPTR -> h_INDIRECT_DPTR 156 156 | CARRY -> h_CARRY 157 | BIT_ADDR x_ 70 -> h_BIT_ADDR x_70158 | N_BIT_ADDR x_ 71 -> h_N_BIT_ADDR x_71159 | RELATIVE x_ 72 -> h_RELATIVE x_72160 | ADDR11 x_ 73 -> h_ADDR11 x_73161 | ADDR16 x_ 74 -> h_ADDR16 x_74157 | BIT_ADDR x_1038 -> h_BIT_ADDR x_1038 158 | N_BIT_ADDR x_1039 -> h_N_BIT_ADDR x_1039 159 | RELATIVE x_1040 -> h_RELATIVE x_1040 160 | ADDR11 x_1041 -> h_ADDR11 x_1041 161 | ADDR16 x_1042 -> h_ADDR16 x_1042 162 162 163 163 (** val addressing_mode_rect_Type3 : … … 169 169 -> 'a1) -> addressing_mode -> 'a1 **) 170 170 let rec addressing_mode_rect_Type3 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function 171 | DIRECT x_ 95 -> h_DIRECT x_95172 | INDIRECT x_ 96 -> h_INDIRECT x_96173 | EXT_INDIRECT x_ 97 -> h_EXT_INDIRECT x_97174 | REGISTER x_ 98 -> h_REGISTER x_98171 | DIRECT x_1063 -> h_DIRECT x_1063 172 | INDIRECT x_1064 -> h_INDIRECT x_1064 173 | EXT_INDIRECT x_1065 -> h_EXT_INDIRECT x_1065 174 | REGISTER x_1066 -> h_REGISTER x_1066 175 175 | ACC_A -> h_ACC_A 176 176 | ACC_B -> h_ACC_B 177 177 | DPTR -> h_DPTR 178 | DATA x_ 99 -> h_DATA x_99179 | DATA16 x_10 0 -> h_DATA16 x_100178 | DATA x_1067 -> h_DATA x_1067 179 | DATA16 x_1068 -> h_DATA16 x_1068 180 180 | ACC_DPTR -> h_ACC_DPTR 181 181 | ACC_PC -> h_ACC_PC … … 183 183 | INDIRECT_DPTR -> h_INDIRECT_DPTR 184 184 | CARRY -> h_CARRY 185 | BIT_ADDR x_10 1 -> h_BIT_ADDR x_101186 | N_BIT_ADDR x_10 2 -> h_N_BIT_ADDR x_102187 | RELATIVE x_10 3 -> h_RELATIVE x_103188 | ADDR11 x_10 4 -> h_ADDR11 x_104189 | ADDR16 x_10 5 -> h_ADDR16 x_105185 | BIT_ADDR x_1069 -> h_BIT_ADDR x_1069 186 | N_BIT_ADDR x_1070 -> h_N_BIT_ADDR x_1070 187 | RELATIVE x_1071 -> h_RELATIVE x_1071 188 | ADDR11 x_1072 -> h_ADDR11 x_1072 189 | ADDR16 x_1073 -> h_ADDR16 x_1073 190 190 191 191 (** val addressing_mode_rect_Type2 : … … 197 197 -> 'a1) -> addressing_mode -> 'a1 **) 198 198 let 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_1 26 -> h_DIRECT x_126200 | INDIRECT x_1 27 -> h_INDIRECT x_127201 | EXT_INDIRECT x_1 28 -> h_EXT_INDIRECT x_128202 | REGISTER x_1 29 -> h_REGISTER x_129199 | DIRECT x_1094 -> h_DIRECT x_1094 200 | INDIRECT x_1095 -> h_INDIRECT x_1095 201 | EXT_INDIRECT x_1096 -> h_EXT_INDIRECT x_1096 202 | REGISTER x_1097 -> h_REGISTER x_1097 203 203 | ACC_A -> h_ACC_A 204 204 | ACC_B -> h_ACC_B 205 205 | DPTR -> h_DPTR 206 | DATA x_1 30 -> h_DATA x_130207 | DATA16 x_1 31 -> h_DATA16 x_131206 | DATA x_1098 -> h_DATA x_1098 207 | DATA16 x_1099 -> h_DATA16 x_1099 208 208 | ACC_DPTR -> h_ACC_DPTR 209 209 | ACC_PC -> h_ACC_PC … … 211 211 | INDIRECT_DPTR -> h_INDIRECT_DPTR 212 212 | CARRY -> h_CARRY 213 | BIT_ADDR x_1 32 -> h_BIT_ADDR x_132214 | N_BIT_ADDR x_1 33 -> h_N_BIT_ADDR x_133215 | RELATIVE x_1 34 -> h_RELATIVE x_134216 | ADDR11 x_1 35 -> h_ADDR11 x_135217 | ADDR16 x_1 36 -> h_ADDR16 x_136213 | BIT_ADDR x_1100 -> h_BIT_ADDR x_1100 214 | N_BIT_ADDR x_1101 -> h_N_BIT_ADDR x_1101 215 | RELATIVE x_1102 -> h_RELATIVE x_1102 216 | ADDR11 x_1103 -> h_ADDR11 x_1103 217 | ADDR16 x_1104 -> h_ADDR16 x_1104 218 218 219 219 (** val addressing_mode_rect_Type1 : … … 225 225 -> 'a1) -> addressing_mode -> 'a1 **) 226 226 let 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_1 57 -> h_DIRECT x_157228 | INDIRECT x_1 58 -> h_INDIRECT x_158229 | EXT_INDIRECT x_1 59 -> h_EXT_INDIRECT x_159230 | REGISTER x_1 60 -> h_REGISTER x_160227 | DIRECT x_1125 -> h_DIRECT x_1125 228 | INDIRECT x_1126 -> h_INDIRECT x_1126 229 | EXT_INDIRECT x_1127 -> h_EXT_INDIRECT x_1127 230 | REGISTER x_1128 -> h_REGISTER x_1128 231 231 | ACC_A -> h_ACC_A 232 232 | ACC_B -> h_ACC_B 233 233 | DPTR -> h_DPTR 234 | DATA x_1 61 -> h_DATA x_161235 | DATA16 x_1 62 -> h_DATA16 x_162234 | DATA x_1129 -> h_DATA x_1129 235 | DATA16 x_1130 -> h_DATA16 x_1130 236 236 | ACC_DPTR -> h_ACC_DPTR 237 237 | ACC_PC -> h_ACC_PC … … 239 239 | INDIRECT_DPTR -> h_INDIRECT_DPTR 240 240 | CARRY -> h_CARRY 241 | BIT_ADDR x_1 63 -> h_BIT_ADDR x_163242 | N_BIT_ADDR x_1 64 -> h_N_BIT_ADDR x_164243 | RELATIVE x_1 65 -> h_RELATIVE x_165244 | ADDR11 x_1 66 -> h_ADDR11 x_166245 | ADDR16 x_1 67 -> h_ADDR16 x_167241 | BIT_ADDR x_1131 -> h_BIT_ADDR x_1131 242 | N_BIT_ADDR x_1132 -> h_N_BIT_ADDR x_1132 243 | RELATIVE x_1133 -> h_RELATIVE x_1133 244 | ADDR11 x_1134 -> h_ADDR11 x_1134 245 | ADDR16 x_1135 -> h_ADDR16 x_1135 246 246 247 247 (** val addressing_mode_rect_Type0 : … … 253 253 -> 'a1) -> addressing_mode -> 'a1 **) 254 254 let 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_1 88 -> h_DIRECT x_188256 | INDIRECT x_1 89 -> h_INDIRECT x_189257 | EXT_INDIRECT x_1 90 -> h_EXT_INDIRECT x_190258 | REGISTER x_1 91 -> h_REGISTER x_191255 | DIRECT x_1156 -> h_DIRECT x_1156 256 | INDIRECT x_1157 -> h_INDIRECT x_1157 257 | EXT_INDIRECT x_1158 -> h_EXT_INDIRECT x_1158 258 | REGISTER x_1159 -> h_REGISTER x_1159 259 259 | ACC_A -> h_ACC_A 260 260 | ACC_B -> h_ACC_B 261 261 | DPTR -> h_DPTR 262 | DATA x_1 92 -> h_DATA x_192263 | DATA16 x_1 93 -> h_DATA16 x_193262 | DATA x_1160 -> h_DATA x_1160 263 | DATA16 x_1161 -> h_DATA16 x_1161 264 264 | ACC_DPTR -> h_ACC_DPTR 265 265 | ACC_PC -> h_ACC_PC … … 267 267 | INDIRECT_DPTR -> h_INDIRECT_DPTR 268 268 | CARRY -> h_CARRY 269 | BIT_ADDR x_1 94 -> h_BIT_ADDR x_194270 | N_BIT_ADDR x_1 95 -> h_N_BIT_ADDR x_195271 | RELATIVE x_1 96 -> h_RELATIVE x_196272 | ADDR11 x_1 97 -> h_ADDR11 x_197273 | ADDR16 x_1 98 -> h_ADDR16 x_198269 | BIT_ADDR x_1162 -> h_BIT_ADDR x_1162 270 | N_BIT_ADDR x_1163 -> h_N_BIT_ADDR x_1163 271 | RELATIVE x_1164 -> h_RELATIVE x_1164 272 | ADDR11 x_1165 -> h_ADDR11 x_1165 273 | ADDR16 x_1166 -> h_ADDR16 x_1166 274 274 275 275 (** val addressing_mode_inv_rect_Type4 : … … 1926 1926 Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ -> 1927 1927 'a1) -> subaddressing_mode -> 'a1 **) 1928 let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_ 666=1929 let subaddressing_modeel = x_ 666in1928 let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_1634 = 1929 let subaddressing_modeel = x_1634 in 1930 1930 h_mk_subaddressing_mode subaddressing_modeel __ 1931 1931 … … 1933 1933 Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ -> 1934 1934 'a1) -> subaddressing_mode -> 'a1 **) 1935 let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_ 668=1936 let subaddressing_modeel = x_ 668in1935 let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_1636 = 1936 let subaddressing_modeel = x_1636 in 1937 1937 h_mk_subaddressing_mode subaddressing_modeel __ 1938 1938 … … 1940 1940 Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ -> 1941 1941 'a1) -> subaddressing_mode -> 'a1 **) 1942 let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_ 670=1943 let subaddressing_modeel = x_ 670in1942 let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_1638 = 1943 let subaddressing_modeel = x_1638 in 1944 1944 h_mk_subaddressing_mode subaddressing_modeel __ 1945 1945 … … 1947 1947 Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ -> 1948 1948 'a1) -> subaddressing_mode -> 'a1 **) 1949 let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_ 672=1950 let subaddressing_modeel = x_ 672in1949 let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_1640 = 1950 let subaddressing_modeel = x_1640 in 1951 1951 h_mk_subaddressing_mode subaddressing_modeel __ 1952 1952 … … 1954 1954 Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ -> 1955 1955 'a1) -> subaddressing_mode -> 'a1 **) 1956 let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_ 674=1957 let subaddressing_modeel = x_ 674in1956 let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_1642 = 1957 let subaddressing_modeel = x_1642 in 1958 1958 h_mk_subaddressing_mode subaddressing_modeel __ 1959 1959 … … 1961 1961 Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ -> 1962 1962 'a1) -> subaddressing_mode -> 'a1 **) 1963 let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_ 676=1964 let subaddressing_modeel = x_ 676in1963 let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_1644 = 1964 let subaddressing_modeel = x_1644 in 1965 1965 h_mk_subaddressing_mode subaddressing_modeel __ 1966 1966 … … 2288 2288 'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **) 2289 2289 let rec preinstruction_rect_Type4 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function 2290 | ADD (x_ 778, x_777) -> h_ADD x_778 x_7772291 | ADDC (x_ 780, x_779) -> h_ADDC x_780 x_7792292 | SUBB (x_ 782, x_781) -> h_SUBB x_782 x_7812293 | INC x_ 783 -> h_INC x_7832294 | DEC x_ 784 -> h_DEC x_7842295 | MUL (x_ 786, x_785) -> h_MUL x_786 x_7852296 | DIV (x_ 788, x_787) -> h_DIV x_788 x_7872297 | DA x_ 789 -> h_DA x_7892298 | JC x_ 790 -> h_JC x_7902299 | JNC x_ 791 -> h_JNC x_7912300 | JB (x_ 793, x_792) -> h_JB x_793 x_7922301 | JNB (x_ 795, x_794) -> h_JNB x_795 x_7942302 | JBC (x_ 797, x_796) -> h_JBC x_797 x_7962303 | JZ x_ 798 -> h_JZ x_7982304 | JNZ x_ 799 -> h_JNZ x_7992305 | CJNE (x_ 801, x_800) -> h_CJNE x_801 x_8002306 | DJNZ (x_ 803, x_802) -> h_DJNZ x_803 x_8022307 | ANL x_ 804 -> h_ANL x_8042308 | ORL x_ 805 -> h_ORL x_8052309 | XRL x_ 806 -> h_XRL x_8062310 | CLR x_ 807 -> h_CLR x_8072311 | CPL x_ 808 -> h_CPL x_8082312 | RL x_ 809 -> h_RL x_8092313 | RLC x_ 810 -> h_RLC x_8102314 | RR x_ 811 -> h_RR x_8112315 | RRC x_ 812 -> h_RRC x_8122316 | SWAP x_ 813 -> h_SWAP x_8132317 | MOV x_ 814 -> h_MOV x_8142318 | MOVX x_ 815 -> h_MOVX x_8152319 | SETB x_ 816 -> h_SETB x_8162320 | PUSH x_ 817 -> h_PUSH x_8172321 | POP x_ 818 -> h_POP x_8182322 | XCH (x_ 820, x_819) -> h_XCH x_820 x_8192323 | XCHD (x_ 822, x_821) -> h_XCHD x_822 x_8212290 | ADD (x_1746, x_1745) -> h_ADD x_1746 x_1745 2291 | ADDC (x_1748, x_1747) -> h_ADDC x_1748 x_1747 2292 | SUBB (x_1750, x_1749) -> h_SUBB x_1750 x_1749 2293 | INC x_1751 -> h_INC x_1751 2294 | DEC x_1752 -> h_DEC x_1752 2295 | MUL (x_1754, x_1753) -> h_MUL x_1754 x_1753 2296 | DIV (x_1756, x_1755) -> h_DIV x_1756 x_1755 2297 | DA x_1757 -> h_DA x_1757 2298 | JC x_1758 -> h_JC x_1758 2299 | JNC x_1759 -> h_JNC x_1759 2300 | JB (x_1761, x_1760) -> h_JB x_1761 x_1760 2301 | JNB (x_1763, x_1762) -> h_JNB x_1763 x_1762 2302 | JBC (x_1765, x_1764) -> h_JBC x_1765 x_1764 2303 | JZ x_1766 -> h_JZ x_1766 2304 | JNZ x_1767 -> h_JNZ x_1767 2305 | CJNE (x_1769, x_1768) -> h_CJNE x_1769 x_1768 2306 | DJNZ (x_1771, x_1770) -> h_DJNZ x_1771 x_1770 2307 | ANL x_1772 -> h_ANL x_1772 2308 | ORL x_1773 -> h_ORL x_1773 2309 | XRL x_1774 -> h_XRL x_1774 2310 | CLR x_1775 -> h_CLR x_1775 2311 | CPL x_1776 -> h_CPL x_1776 2312 | RL x_1777 -> h_RL x_1777 2313 | RLC x_1778 -> h_RLC x_1778 2314 | RR x_1779 -> h_RR x_1779 2315 | RRC x_1780 -> h_RRC x_1780 2316 | SWAP x_1781 -> h_SWAP x_1781 2317 | MOV x_1782 -> h_MOV x_1782 2318 | MOVX x_1783 -> h_MOVX x_1783 2319 | SETB x_1784 -> h_SETB x_1784 2320 | PUSH x_1785 -> h_PUSH x_1785 2321 | POP x_1786 -> h_POP x_1786 2322 | XCH (x_1788, x_1787) -> h_XCH x_1788 x_1787 2323 | XCHD (x_1790, x_1789) -> h_XCHD x_1790 x_1789 2324 2324 | RET -> h_RET 2325 2325 | RETI -> h_RETI 2326 2326 | NOP -> h_NOP 2327 | JMP x_ 823 -> h_JMP x_8232327 | JMP x_1791 -> h_JMP x_1791 2328 2328 2329 2329 (** val preinstruction_rect_Type5 : … … 2363 2363 'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **) 2364 2364 let rec preinstruction_rect_Type5 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function 2365 | ADD (x_ 864, x_863) -> h_ADD x_864 x_8632366 | ADDC (x_ 866, x_865) -> h_ADDC x_866 x_8652367 | SUBB (x_ 868, x_867) -> h_SUBB x_868 x_8672368 | INC x_ 869 -> h_INC x_8692369 | DEC x_ 870 -> h_DEC x_8702370 | MUL (x_ 872, x_871) -> h_MUL x_872 x_8712371 | DIV (x_ 874, x_873) -> h_DIV x_874 x_8732372 | DA x_ 875 -> h_DA x_8752373 | JC x_ 876 -> h_JC x_8762374 | JNC x_ 877 -> h_JNC x_8772375 | JB (x_ 879, x_878) -> h_JB x_879 x_8782376 | JNB (x_ 881, x_880) -> h_JNB x_881 x_8802377 | JBC (x_ 883, x_882) -> h_JBC x_883 x_8822378 | JZ x_ 884 -> h_JZ x_8842379 | JNZ x_ 885 -> h_JNZ x_8852380 | CJNE (x_ 887, x_886) -> h_CJNE x_887 x_8862381 | DJNZ (x_ 889, x_888) -> h_DJNZ x_889 x_8882382 | ANL x_ 890 -> h_ANL x_8902383 | ORL x_ 891 -> h_ORL x_8912384 | XRL x_ 892 -> h_XRL x_8922385 | CLR x_ 893 -> h_CLR x_8932386 | CPL x_ 894 -> h_CPL x_8942387 | RL x_ 895 -> h_RL x_8952388 | RLC x_ 896 -> h_RLC x_8962389 | RR x_ 897 -> h_RR x_8972390 | RRC x_ 898 -> h_RRC x_8982391 | SWAP x_ 899 -> h_SWAP x_8992392 | MOV x_ 900 -> h_MOV x_9002393 | MOVX x_ 901 -> h_MOVX x_9012394 | SETB x_ 902 -> h_SETB x_9022395 | PUSH x_ 903 -> h_PUSH x_9032396 | POP x_ 904 -> h_POP x_9042397 | XCH (x_ 906, x_905) -> h_XCH x_906 x_9052398 | XCHD (x_ 908, x_907) -> h_XCHD x_908 x_9072365 | ADD (x_1832, x_1831) -> h_ADD x_1832 x_1831 2366 | ADDC (x_1834, x_1833) -> h_ADDC x_1834 x_1833 2367 | SUBB (x_1836, x_1835) -> h_SUBB x_1836 x_1835 2368 | INC x_1837 -> h_INC x_1837 2369 | DEC x_1838 -> h_DEC x_1838 2370 | MUL (x_1840, x_1839) -> h_MUL x_1840 x_1839 2371 | DIV (x_1842, x_1841) -> h_DIV x_1842 x_1841 2372 | DA x_1843 -> h_DA x_1843 2373 | JC x_1844 -> h_JC x_1844 2374 | JNC x_1845 -> h_JNC x_1845 2375 | JB (x_1847, x_1846) -> h_JB x_1847 x_1846 2376 | JNB (x_1849, x_1848) -> h_JNB x_1849 x_1848 2377 | JBC (x_1851, x_1850) -> h_JBC x_1851 x_1850 2378 | JZ x_1852 -> h_JZ x_1852 2379 | JNZ x_1853 -> h_JNZ x_1853 2380 | CJNE (x_1855, x_1854) -> h_CJNE x_1855 x_1854 2381 | DJNZ (x_1857, x_1856) -> h_DJNZ x_1857 x_1856 2382 | ANL x_1858 -> h_ANL x_1858 2383 | ORL x_1859 -> h_ORL x_1859 2384 | XRL x_1860 -> h_XRL x_1860 2385 | CLR x_1861 -> h_CLR x_1861 2386 | CPL x_1862 -> h_CPL x_1862 2387 | RL x_1863 -> h_RL x_1863 2388 | RLC x_1864 -> h_RLC x_1864 2389 | RR x_1865 -> h_RR x_1865 2390 | RRC x_1866 -> h_RRC x_1866 2391 | SWAP x_1867 -> h_SWAP x_1867 2392 | MOV x_1868 -> h_MOV x_1868 2393 | MOVX x_1869 -> h_MOVX x_1869 2394 | SETB x_1870 -> h_SETB x_1870 2395 | PUSH x_1871 -> h_PUSH x_1871 2396 | POP x_1872 -> h_POP x_1872 2397 | XCH (x_1874, x_1873) -> h_XCH x_1874 x_1873 2398 | XCHD (x_1876, x_1875) -> h_XCHD x_1876 x_1875 2399 2399 | RET -> h_RET 2400 2400 | RETI -> h_RETI 2401 2401 | NOP -> h_NOP 2402 | JMP x_ 909 -> h_JMP x_9092402 | JMP x_1877 -> h_JMP x_1877 2403 2403 2404 2404 (** val preinstruction_rect_Type3 : … … 2438 2438 'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **) 2439 2439 let rec preinstruction_rect_Type3 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function 2440 | ADD (x_ 950, x_949) -> h_ADD x_950 x_9492441 | ADDC (x_ 952, x_951) -> h_ADDC x_952 x_9512442 | SUBB (x_ 954, x_953) -> h_SUBB x_954 x_9532443 | INC x_ 955 -> h_INC x_9552444 | DEC x_ 956 -> h_DEC x_9562445 | MUL (x_ 958, x_957) -> h_MUL x_958 x_9572446 | DIV (x_ 960, x_959) -> h_DIV x_960 x_9592447 | DA x_ 961 -> h_DA x_9612448 | JC x_ 962 -> h_JC x_9622449 | JNC x_ 963 -> h_JNC x_9632450 | JB (x_ 965, x_964) -> h_JB x_965 x_9642451 | JNB (x_ 967, x_966) -> h_JNB x_967 x_9662452 | JBC (x_ 969, x_968) -> h_JBC x_969 x_9682453 | JZ x_ 970 -> h_JZ x_9702454 | JNZ x_ 971 -> h_JNZ x_9712455 | CJNE (x_ 973, x_972) -> h_CJNE x_973 x_9722456 | DJNZ (x_ 975, x_974) -> h_DJNZ x_975 x_9742457 | ANL x_ 976 -> h_ANL x_9762458 | ORL x_ 977 -> h_ORL x_9772459 | XRL x_ 978 -> h_XRL x_9782460 | CLR x_ 979 -> h_CLR x_9792461 | CPL x_ 980 -> h_CPL x_9802462 | RL x_ 981 -> h_RL x_9812463 | RLC x_ 982 -> h_RLC x_9822464 | RR x_ 983 -> h_RR x_9832465 | RRC x_ 984 -> h_RRC x_9842466 | SWAP x_ 985 -> h_SWAP x_9852467 | MOV x_ 986 -> h_MOV x_9862468 | MOVX x_ 987 -> h_MOVX x_9872469 | SETB x_ 988 -> h_SETB x_9882470 | PUSH x_ 989 -> h_PUSH x_9892471 | POP x_ 990 -> h_POP x_9902472 | XCH (x_ 992, x_991) -> h_XCH x_992 x_9912473 | XCHD (x_ 994, x_993) -> h_XCHD x_994 x_9932440 | ADD (x_1918, x_1917) -> h_ADD x_1918 x_1917 2441 | ADDC (x_1920, x_1919) -> h_ADDC x_1920 x_1919 2442 | SUBB (x_1922, x_1921) -> h_SUBB x_1922 x_1921 2443 | INC x_1923 -> h_INC x_1923 2444 | DEC x_1924 -> h_DEC x_1924 2445 | MUL (x_1926, x_1925) -> h_MUL x_1926 x_1925 2446 | DIV (x_1928, x_1927) -> h_DIV x_1928 x_1927 2447 | DA x_1929 -> h_DA x_1929 2448 | JC x_1930 -> h_JC x_1930 2449 | JNC x_1931 -> h_JNC x_1931 2450 | JB (x_1933, x_1932) -> h_JB x_1933 x_1932 2451 | JNB (x_1935, x_1934) -> h_JNB x_1935 x_1934 2452 | JBC (x_1937, x_1936) -> h_JBC x_1937 x_1936 2453 | JZ x_1938 -> h_JZ x_1938 2454 | JNZ x_1939 -> h_JNZ x_1939 2455 | CJNE (x_1941, x_1940) -> h_CJNE x_1941 x_1940 2456 | DJNZ (x_1943, x_1942) -> h_DJNZ x_1943 x_1942 2457 | ANL x_1944 -> h_ANL x_1944 2458 | ORL x_1945 -> h_ORL x_1945 2459 | XRL x_1946 -> h_XRL x_1946 2460 | CLR x_1947 -> h_CLR x_1947 2461 | CPL x_1948 -> h_CPL x_1948 2462 | RL x_1949 -> h_RL x_1949 2463 | RLC x_1950 -> h_RLC x_1950 2464 | RR x_1951 -> h_RR x_1951 2465 | RRC x_1952 -> h_RRC x_1952 2466 | SWAP x_1953 -> h_SWAP x_1953 2467 | MOV x_1954 -> h_MOV x_1954 2468 | MOVX x_1955 -> h_MOVX x_1955 2469 | SETB x_1956 -> h_SETB x_1956 2470 | PUSH x_1957 -> h_PUSH x_1957 2471 | POP x_1958 -> h_POP x_1958 2472 | XCH (x_1960, x_1959) -> h_XCH x_1960 x_1959 2473 | XCHD (x_1962, x_1961) -> h_XCHD x_1962 x_1961 2474 2474 | RET -> h_RET 2475 2475 | RETI -> h_RETI 2476 2476 | NOP -> h_NOP 2477 | JMP x_ 995 -> h_JMP x_9952477 | JMP x_1963 -> h_JMP x_1963 2478 2478 2479 2479 (** val preinstruction_rect_Type2 : … … 2513 2513 'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **) 2514 2514 let rec preinstruction_rect_Type2 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function 2515 | ADD (x_ 1036, x_1035) -> h_ADD x_1036 x_10352516 | ADDC (x_ 1038, x_1037) -> h_ADDC x_1038 x_10372517 | SUBB (x_ 1040, x_1039) -> h_SUBB x_1040 x_10392518 | INC x_ 1041 -> h_INC x_10412519 | DEC x_ 1042 -> h_DEC x_10422520 | MUL (x_ 1044, x_1043) -> h_MUL x_1044 x_10432521 | DIV (x_ 1046, x_1045) -> h_DIV x_1046 x_10452522 | DA x_ 1047 -> h_DA x_10472523 | JC x_ 1048 -> h_JC x_10482524 | JNC x_ 1049 -> h_JNC x_10492525 | JB (x_ 1051, x_1050) -> h_JB x_1051 x_10502526 | JNB (x_ 1053, x_1052) -> h_JNB x_1053 x_10522527 | JBC (x_ 1055, x_1054) -> h_JBC x_1055 x_10542528 | JZ x_ 1056 -> h_JZ x_10562529 | JNZ x_ 1057 -> h_JNZ x_10572530 | CJNE (x_ 1059, x_1058) -> h_CJNE x_1059 x_10582531 | DJNZ (x_ 1061, x_1060) -> h_DJNZ x_1061 x_10602532 | ANL x_ 1062 -> h_ANL x_10622533 | ORL x_ 1063 -> h_ORL x_10632534 | XRL x_ 1064 -> h_XRL x_10642535 | CLR x_ 1065 -> h_CLR x_10652536 | CPL x_ 1066 -> h_CPL x_10662537 | RL x_ 1067 -> h_RL x_10672538 | RLC x_ 1068 -> h_RLC x_10682539 | RR x_ 1069 -> h_RR x_10692540 | RRC x_ 1070 -> h_RRC x_10702541 | SWAP x_ 1071 -> h_SWAP x_10712542 | MOV x_ 1072 -> h_MOV x_10722543 | MOVX x_ 1073 -> h_MOVX x_10732544 | SETB x_ 1074 -> h_SETB x_10742545 | PUSH x_ 1075 -> h_PUSH x_10752546 | POP x_ 1076 -> h_POP x_10762547 | XCH (x_ 1078, x_1077) -> h_XCH x_1078 x_10772548 | XCHD (x_ 1080, x_1079) -> h_XCHD x_1080 x_10792515 | ADD (x_2004, x_2003) -> h_ADD x_2004 x_2003 2516 | ADDC (x_2006, x_2005) -> h_ADDC x_2006 x_2005 2517 | SUBB (x_2008, x_2007) -> h_SUBB x_2008 x_2007 2518 | INC x_2009 -> h_INC x_2009 2519 | DEC x_2010 -> h_DEC x_2010 2520 | MUL (x_2012, x_2011) -> h_MUL x_2012 x_2011 2521 | DIV (x_2014, x_2013) -> h_DIV x_2014 x_2013 2522 | DA x_2015 -> h_DA x_2015 2523 | JC x_2016 -> h_JC x_2016 2524 | JNC x_2017 -> h_JNC x_2017 2525 | JB (x_2019, x_2018) -> h_JB x_2019 x_2018 2526 | JNB (x_2021, x_2020) -> h_JNB x_2021 x_2020 2527 | JBC (x_2023, x_2022) -> h_JBC x_2023 x_2022 2528 | JZ x_2024 -> h_JZ x_2024 2529 | JNZ x_2025 -> h_JNZ x_2025 2530 | CJNE (x_2027, x_2026) -> h_CJNE x_2027 x_2026 2531 | DJNZ (x_2029, x_2028) -> h_DJNZ x_2029 x_2028 2532 | ANL x_2030 -> h_ANL x_2030 2533 | ORL x_2031 -> h_ORL x_2031 2534 | XRL x_2032 -> h_XRL x_2032 2535 | CLR x_2033 -> h_CLR x_2033 2536 | CPL x_2034 -> h_CPL x_2034 2537 | RL x_2035 -> h_RL x_2035 2538 | RLC x_2036 -> h_RLC x_2036 2539 | RR x_2037 -> h_RR x_2037 2540 | RRC x_2038 -> h_RRC x_2038 2541 | SWAP x_2039 -> h_SWAP x_2039 2542 | MOV x_2040 -> h_MOV x_2040 2543 | MOVX x_2041 -> h_MOVX x_2041 2544 | SETB x_2042 -> h_SETB x_2042 2545 | PUSH x_2043 -> h_PUSH x_2043 2546 | POP x_2044 -> h_POP x_2044 2547 | XCH (x_2046, x_2045) -> h_XCH x_2046 x_2045 2548 | XCHD (x_2048, x_2047) -> h_XCHD x_2048 x_2047 2549 2549 | RET -> h_RET 2550 2550 | RETI -> h_RETI 2551 2551 | NOP -> h_NOP 2552 | JMP x_ 1081 -> h_JMP x_10812552 | JMP x_2049 -> h_JMP x_2049 2553 2553 2554 2554 (** val preinstruction_rect_Type1 : … … 2588 2588 'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **) 2589 2589 let rec preinstruction_rect_Type1 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function 2590 | ADD (x_ 1122, x_1121) -> h_ADD x_1122 x_11212591 | ADDC (x_ 1124, x_1123) -> h_ADDC x_1124 x_11232592 | SUBB (x_ 1126, x_1125) -> h_SUBB x_1126 x_11252593 | INC x_ 1127 -> h_INC x_11272594 | DEC x_ 1128 -> h_DEC x_11282595 | MUL (x_ 1130, x_1129) -> h_MUL x_1130 x_11292596 | DIV (x_ 1132, x_1131) -> h_DIV x_1132 x_11312597 | DA x_ 1133 -> h_DA x_11332598 | JC x_ 1134 -> h_JC x_11342599 | JNC x_ 1135 -> h_JNC x_11352600 | JB (x_ 1137, x_1136) -> h_JB x_1137 x_11362601 | JNB (x_ 1139, x_1138) -> h_JNB x_1139 x_11382602 | JBC (x_ 1141, x_1140) -> h_JBC x_1141 x_11402603 | JZ x_ 1142 -> h_JZ x_11422604 | JNZ x_ 1143 -> h_JNZ x_11432605 | CJNE (x_ 1145, x_1144) -> h_CJNE x_1145 x_11442606 | DJNZ (x_ 1147, x_1146) -> h_DJNZ x_1147 x_11462607 | ANL x_ 1148 -> h_ANL x_11482608 | ORL x_ 1149 -> h_ORL x_11492609 | XRL x_ 1150 -> h_XRL x_11502610 | CLR x_ 1151 -> h_CLR x_11512611 | CPL x_ 1152 -> h_CPL x_11522612 | RL x_ 1153 -> h_RL x_11532613 | RLC x_ 1154 -> h_RLC x_11542614 | RR x_ 1155 -> h_RR x_11552615 | RRC x_ 1156 -> h_RRC x_11562616 | SWAP x_ 1157 -> h_SWAP x_11572617 | MOV x_ 1158 -> h_MOV x_11582618 | MOVX x_ 1159 -> h_MOVX x_11592619 | SETB x_ 1160 -> h_SETB x_11602620 | PUSH x_ 1161 -> h_PUSH x_11612621 | POP x_ 1162 -> h_POP x_11622622 | XCH (x_ 1164, x_1163) -> h_XCH x_1164 x_11632623 | XCHD (x_ 1166, x_1165) -> h_XCHD x_1166 x_11652590 | ADD (x_2090, x_2089) -> h_ADD x_2090 x_2089 2591 | ADDC (x_2092, x_2091) -> h_ADDC x_2092 x_2091 2592 | SUBB (x_2094, x_2093) -> h_SUBB x_2094 x_2093 2593 | INC x_2095 -> h_INC x_2095 2594 | DEC x_2096 -> h_DEC x_2096 2595 | MUL (x_2098, x_2097) -> h_MUL x_2098 x_2097 2596 | DIV (x_2100, x_2099) -> h_DIV x_2100 x_2099 2597 | DA x_2101 -> h_DA x_2101 2598 | JC x_2102 -> h_JC x_2102 2599 | JNC x_2103 -> h_JNC x_2103 2600 | JB (x_2105, x_2104) -> h_JB x_2105 x_2104 2601 | JNB (x_2107, x_2106) -> h_JNB x_2107 x_2106 2602 | JBC (x_2109, x_2108) -> h_JBC x_2109 x_2108 2603 | JZ x_2110 -> h_JZ x_2110 2604 | JNZ x_2111 -> h_JNZ x_2111 2605 | CJNE (x_2113, x_2112) -> h_CJNE x_2113 x_2112 2606 | DJNZ (x_2115, x_2114) -> h_DJNZ x_2115 x_2114 2607 | ANL x_2116 -> h_ANL x_2116 2608 | ORL x_2117 -> h_ORL x_2117 2609 | XRL x_2118 -> h_XRL x_2118 2610 | CLR x_2119 -> h_CLR x_2119 2611 | CPL x_2120 -> h_CPL x_2120 2612 | RL x_2121 -> h_RL x_2121 2613 | RLC x_2122 -> h_RLC x_2122 2614 | RR x_2123 -> h_RR x_2123 2615 | RRC x_2124 -> h_RRC x_2124 2616 | SWAP x_2125 -> h_SWAP x_2125 2617 | MOV x_2126 -> h_MOV x_2126 2618 | MOVX x_2127 -> h_MOVX x_2127 2619 | SETB x_2128 -> h_SETB x_2128 2620 | PUSH x_2129 -> h_PUSH x_2129 2621 | POP x_2130 -> h_POP x_2130 2622 | XCH (x_2132, x_2131) -> h_XCH x_2132 x_2131 2623 | XCHD (x_2134, x_2133) -> h_XCHD x_2134 x_2133 2624 2624 | RET -> h_RET 2625 2625 | RETI -> h_RETI 2626 2626 | NOP -> h_NOP 2627 | JMP x_ 1167 -> h_JMP x_11672627 | JMP x_2135 -> h_JMP x_2135 2628 2628 2629 2629 (** val preinstruction_rect_Type0 : … … 2663 2663 'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **) 2664 2664 let rec preinstruction_rect_Type0 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function 2665 | ADD (x_ 1208, x_1207) -> h_ADD x_1208 x_12072666 | ADDC (x_ 1210, x_1209) -> h_ADDC x_1210 x_12092667 | SUBB (x_ 1212, x_1211) -> h_SUBB x_1212 x_12112668 | INC x_ 1213 -> h_INC x_12132669 | DEC x_ 1214 -> h_DEC x_12142670 | MUL (x_ 1216, x_1215) -> h_MUL x_1216 x_12152671 | DIV (x_ 1218, x_1217) -> h_DIV x_1218 x_12172672 | DA x_ 1219 -> h_DA x_12192673 | JC x_ 1220 -> h_JC x_12202674 | JNC x_ 1221 -> h_JNC x_12212675 | JB (x_ 1223, x_1222) -> h_JB x_1223 x_12222676 | JNB (x_ 1225, x_1224) -> h_JNB x_1225 x_12242677 | JBC (x_ 1227, x_1226) -> h_JBC x_1227 x_12262678 | JZ x_ 1228 -> h_JZ x_12282679 | JNZ x_ 1229 -> h_JNZ x_12292680 | CJNE (x_ 1231, x_1230) -> h_CJNE x_1231 x_12302681 | DJNZ (x_ 1233, x_1232) -> h_DJNZ x_1233 x_12322682 | ANL x_ 1234 -> h_ANL x_12342683 | ORL x_ 1235 -> h_ORL x_12352684 | XRL x_ 1236 -> h_XRL x_12362685 | CLR x_ 1237 -> h_CLR x_12372686 | CPL x_ 1238 -> h_CPL x_12382687 | RL x_ 1239 -> h_RL x_12392688 | RLC x_ 1240 -> h_RLC x_12402689 | RR x_ 1241 -> h_RR x_12412690 | RRC x_ 1242 -> h_RRC x_12422691 | SWAP x_ 1243 -> h_SWAP x_12432692 | MOV x_ 1244 -> h_MOV x_12442693 | MOVX x_ 1245 -> h_MOVX x_12452694 | SETB x_ 1246 -> h_SETB x_12462695 | PUSH x_ 1247 -> h_PUSH x_12472696 | POP x_ 1248 -> h_POP x_12482697 | XCH (x_ 1250, x_1249) -> h_XCH x_1250 x_12492698 | XCHD (x_ 1252, x_1251) -> h_XCHD x_1252 x_12512665 | ADD (x_2176, x_2175) -> h_ADD x_2176 x_2175 2666 | ADDC (x_2178, x_2177) -> h_ADDC x_2178 x_2177 2667 | SUBB (x_2180, x_2179) -> h_SUBB x_2180 x_2179 2668 | INC x_2181 -> h_INC x_2181 2669 | DEC x_2182 -> h_DEC x_2182 2670 | MUL (x_2184, x_2183) -> h_MUL x_2184 x_2183 2671 | DIV (x_2186, x_2185) -> h_DIV x_2186 x_2185 2672 | DA x_2187 -> h_DA x_2187 2673 | JC x_2188 -> h_JC x_2188 2674 | JNC x_2189 -> h_JNC x_2189 2675 | JB (x_2191, x_2190) -> h_JB x_2191 x_2190 2676 | JNB (x_2193, x_2192) -> h_JNB x_2193 x_2192 2677 | JBC (x_2195, x_2194) -> h_JBC x_2195 x_2194 2678 | JZ x_2196 -> h_JZ x_2196 2679 | JNZ x_2197 -> h_JNZ x_2197 2680 | CJNE (x_2199, x_2198) -> h_CJNE x_2199 x_2198 2681 | DJNZ (x_2201, x_2200) -> h_DJNZ x_2201 x_2200 2682 | ANL x_2202 -> h_ANL x_2202 2683 | ORL x_2203 -> h_ORL x_2203 2684 | XRL x_2204 -> h_XRL x_2204 2685 | CLR x_2205 -> h_CLR x_2205 2686 | CPL x_2206 -> h_CPL x_2206 2687 | RL x_2207 -> h_RL x_2207 2688 | RLC x_2208 -> h_RLC x_2208 2689 | RR x_2209 -> h_RR x_2209 2690 | RRC x_2210 -> h_RRC x_2210 2691 | SWAP x_2211 -> h_SWAP x_2211 2692 | MOV x_2212 -> h_MOV x_2212 2693 | MOVX x_2213 -> h_MOVX x_2213 2694 | SETB x_2214 -> h_SETB x_2214 2695 | PUSH x_2215 -> h_PUSH x_2215 2696 | POP x_2216 -> h_POP x_2216 2697 | XCH (x_2218, x_2217) -> h_XCH x_2218 x_2217 2698 | XCHD (x_2220, x_2219) -> h_XCHD x_2220 x_2219 2699 2699 | RET -> h_RET 2700 2700 | RETI -> h_RETI 2701 2701 | NOP -> h_NOP 2702 | JMP x_ 1253 -> h_JMP x_12532702 | JMP x_2221 -> h_JMP x_2221 2703 2703 2704 2704 (** val preinstruction_inv_rect_Type4 : … … 5104 5104 'a1 **) 5105 5105 let rec instruction_rect_Type4 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function 5106 | ACALL x_ 1825 -> h_ACALL x_18255107 | LCALL x_ 1826 -> h_LCALL x_18265108 | AJMP x_ 1827 -> h_AJMP x_18275109 | LJMP x_ 1828 -> h_LJMP x_18285110 | SJMP x_ 1829 -> h_SJMP x_18295111 | MOVC (x_ 1831, x_1830) -> h_MOVC x_1831 x_18305112 | RealInstruction x_ 1832 -> h_RealInstruction x_18325106 | ACALL x_2793 -> h_ACALL x_2793 5107 | LCALL x_2794 -> h_LCALL x_2794 5108 | AJMP x_2795 -> h_AJMP x_2795 5109 | LJMP x_2796 -> h_LJMP x_2796 5110 | SJMP x_2797 -> h_SJMP x_2797 5111 | MOVC (x_2799, x_2798) -> h_MOVC x_2799 x_2798 5112 | RealInstruction x_2800 -> h_RealInstruction x_2800 5113 5113 5114 5114 (** val instruction_rect_Type5 : … … 5119 5119 'a1 **) 5120 5120 let rec instruction_rect_Type5 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function 5121 | ACALL x_ 1841 -> h_ACALL x_18415122 | LCALL x_ 1842 -> h_LCALL x_18425123 | AJMP x_ 1843 -> h_AJMP x_18435124 | LJMP x_ 1844 -> h_LJMP x_18445125 | SJMP x_ 1845 -> h_SJMP x_18455126 | MOVC (x_ 1847, x_1846) -> h_MOVC x_1847 x_18465127 | RealInstruction x_ 1848 -> h_RealInstruction x_18485121 | ACALL x_2809 -> h_ACALL x_2809 5122 | LCALL x_2810 -> h_LCALL x_2810 5123 | AJMP x_2811 -> h_AJMP x_2811 5124 | LJMP x_2812 -> h_LJMP x_2812 5125 | SJMP x_2813 -> h_SJMP x_2813 5126 | MOVC (x_2815, x_2814) -> h_MOVC x_2815 x_2814 5127 | RealInstruction x_2816 -> h_RealInstruction x_2816 5128 5128 5129 5129 (** val instruction_rect_Type3 : … … 5134 5134 'a1 **) 5135 5135 let rec instruction_rect_Type3 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function 5136 | ACALL x_ 1857 -> h_ACALL x_18575137 | LCALL x_ 1858 -> h_LCALL x_18585138 | AJMP x_ 1859 -> h_AJMP x_18595139 | LJMP x_ 1860 -> h_LJMP x_18605140 | SJMP x_ 1861 -> h_SJMP x_18615141 | MOVC (x_ 1863, x_1862) -> h_MOVC x_1863 x_18625142 | RealInstruction x_ 1864 -> h_RealInstruction x_18645136 | ACALL x_2825 -> h_ACALL x_2825 5137 | LCALL x_2826 -> h_LCALL x_2826 5138 | AJMP x_2827 -> h_AJMP x_2827 5139 | LJMP x_2828 -> h_LJMP x_2828 5140 | SJMP x_2829 -> h_SJMP x_2829 5141 | MOVC (x_2831, x_2830) -> h_MOVC x_2831 x_2830 5142 | RealInstruction x_2832 -> h_RealInstruction x_2832 5143 5143 5144 5144 (** val instruction_rect_Type2 : … … 5149 5149 'a1 **) 5150 5150 let rec instruction_rect_Type2 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function 5151 | ACALL x_ 1873 -> h_ACALL x_18735152 | LCALL x_ 1874 -> h_LCALL x_18745153 | AJMP x_ 1875 -> h_AJMP x_18755154 | LJMP x_ 1876 -> h_LJMP x_18765155 | SJMP x_ 1877 -> h_SJMP x_18775156 | MOVC (x_ 1879, x_1878) -> h_MOVC x_1879 x_18785157 | RealInstruction x_ 1880 -> h_RealInstruction x_18805151 | ACALL x_2841 -> h_ACALL x_2841 5152 | LCALL x_2842 -> h_LCALL x_2842 5153 | AJMP x_2843 -> h_AJMP x_2843 5154 | LJMP x_2844 -> h_LJMP x_2844 5155 | SJMP x_2845 -> h_SJMP x_2845 5156 | MOVC (x_2847, x_2846) -> h_MOVC x_2847 x_2846 5157 | RealInstruction x_2848 -> h_RealInstruction x_2848 5158 5158 5159 5159 (** val instruction_rect_Type1 : … … 5164 5164 'a1 **) 5165 5165 let rec instruction_rect_Type1 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function 5166 | ACALL x_ 1889 -> h_ACALL x_18895167 | LCALL x_ 1890 -> h_LCALL x_18905168 | AJMP x_ 1891 -> h_AJMP x_18915169 | LJMP x_ 1892 -> h_LJMP x_18925170 | SJMP x_ 1893 -> h_SJMP x_18935171 | MOVC (x_ 1895, x_1894) -> h_MOVC x_1895 x_18945172 | RealInstruction x_ 1896 -> h_RealInstruction x_18965166 | ACALL x_2857 -> h_ACALL x_2857 5167 | LCALL x_2858 -> h_LCALL x_2858 5168 | AJMP x_2859 -> h_AJMP x_2859 5169 | LJMP x_2860 -> h_LJMP x_2860 5170 | SJMP x_2861 -> h_SJMP x_2861 5171 | MOVC (x_2863, x_2862) -> h_MOVC x_2863 x_2862 5172 | RealInstruction x_2864 -> h_RealInstruction x_2864 5173 5173 5174 5174 (** val instruction_rect_Type0 : … … 5179 5179 'a1 **) 5180 5180 let rec instruction_rect_Type0 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function 5181 | ACALL x_ 1905 -> h_ACALL x_19055182 | LCALL x_ 1906 -> h_LCALL x_19065183 | AJMP x_ 1907 -> h_AJMP x_19075184 | LJMP x_ 1908 -> h_LJMP x_19085185 | SJMP x_ 1909 -> h_SJMP x_19095186 | MOVC (x_ 1911, x_1910) -> h_MOVC x_1911 x_19105187 | RealInstruction x_ 1912 -> h_RealInstruction x_19125181 | ACALL x_2873 -> h_ACALL x_2873 5182 | LCALL x_2874 -> h_LCALL x_2874 5183 | AJMP x_2875 -> h_AJMP x_2875 5184 | LJMP x_2876 -> h_LJMP x_2876 5185 | SJMP x_2877 -> h_SJMP x_2877 5186 | MOVC (x_2879, x_2878) -> h_MOVC x_2879 x_2878 5187 | RealInstruction x_2880 -> h_RealInstruction x_2880 5188 5188 5189 5189 (** val instruction_inv_rect_Type4 : … … 5476 5476 -> 'a1 **) 5477 5477 let rec pseudo_instruction_rect_Type4 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function 5478 | Instruction x_ 2078 -> h_Instruction x_20785479 | Comment x_ 2079 -> h_Comment x_20795480 | Cost x_ 2080 -> h_Cost x_20805481 | Jmp x_ 2081 -> h_Jmp x_20815482 | Jnz (x_ 2084, x_2083, x_2082) -> h_Jnz x_2084 x_2083 x_20825483 | MovSuccessor (x_ 2087, x_2086, x_2085) ->5484 h_MovSuccessor x_ 2087 x_2086 x_20855485 | Call x_ 2088 -> h_Call x_20885486 | Mov (x_ 2090, x_2089) -> h_Mov x_2090 x_20895478 | Instruction x_3046 -> h_Instruction x_3046 5479 | Comment x_3047 -> h_Comment x_3047 5480 | Cost x_3048 -> h_Cost x_3048 5481 | Jmp x_3049 -> h_Jmp x_3049 5482 | Jnz (x_3052, x_3051, x_3050) -> h_Jnz x_3052 x_3051 x_3050 5483 | MovSuccessor (x_3055, x_3054, x_3053) -> 5484 h_MovSuccessor x_3055 x_3054 x_3053 5485 | Call x_3056 -> h_Call x_3056 5486 | Mov (x_3058, x_3057) -> h_Mov x_3058 x_3057 5487 5487 5488 5488 (** val pseudo_instruction_rect_Type5 : … … 5494 5494 -> 'a1 **) 5495 5495 let rec pseudo_instruction_rect_Type5 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function 5496 | Instruction x_ 2100 -> h_Instruction x_21005497 | Comment x_ 2101 -> h_Comment x_21015498 | Cost x_ 2102 -> h_Cost x_21025499 | Jmp x_ 2103 -> h_Jmp x_21035500 | Jnz (x_ 2106, x_2105, x_2104) -> h_Jnz x_2106 x_2105 x_21045501 | MovSuccessor (x_ 2109, x_2108, x_2107) ->5502 h_MovSuccessor x_ 2109 x_2108 x_21075503 | Call x_ 2110 -> h_Call x_21105504 | Mov (x_ 2112, x_2111) -> h_Mov x_2112 x_21115496 | Instruction x_3068 -> h_Instruction x_3068 5497 | Comment x_3069 -> h_Comment x_3069 5498 | Cost x_3070 -> h_Cost x_3070 5499 | Jmp x_3071 -> h_Jmp x_3071 5500 | Jnz (x_3074, x_3073, x_3072) -> h_Jnz x_3074 x_3073 x_3072 5501 | MovSuccessor (x_3077, x_3076, x_3075) -> 5502 h_MovSuccessor x_3077 x_3076 x_3075 5503 | Call x_3078 -> h_Call x_3078 5504 | Mov (x_3080, x_3079) -> h_Mov x_3080 x_3079 5505 5505 5506 5506 (** val pseudo_instruction_rect_Type3 : … … 5512 5512 -> 'a1 **) 5513 5513 let rec pseudo_instruction_rect_Type3 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function 5514 | Instruction x_ 2122 -> h_Instruction x_21225515 | Comment x_ 2123 -> h_Comment x_21235516 | Cost x_ 2124 -> h_Cost x_21245517 | Jmp x_ 2125 -> h_Jmp x_21255518 | Jnz (x_ 2128, x_2127, x_2126) -> h_Jnz x_2128 x_2127 x_21265519 | MovSuccessor (x_ 2131, x_2130, x_2129) ->5520 h_MovSuccessor x_ 2131 x_2130 x_21295521 | Call x_ 2132 -> h_Call x_21325522 | Mov (x_ 2134, x_2133) -> h_Mov x_2134 x_21335514 | Instruction x_3090 -> h_Instruction x_3090 5515 | Comment x_3091 -> h_Comment x_3091 5516 | Cost x_3092 -> h_Cost x_3092 5517 | Jmp x_3093 -> h_Jmp x_3093 5518 | Jnz (x_3096, x_3095, x_3094) -> h_Jnz x_3096 x_3095 x_3094 5519 | MovSuccessor (x_3099, x_3098, x_3097) -> 5520 h_MovSuccessor x_3099 x_3098 x_3097 5521 | Call x_3100 -> h_Call x_3100 5522 | Mov (x_3102, x_3101) -> h_Mov x_3102 x_3101 5523 5523 5524 5524 (** val pseudo_instruction_rect_Type2 : … … 5530 5530 -> 'a1 **) 5531 5531 let rec pseudo_instruction_rect_Type2 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function 5532 | Instruction x_ 2144 -> h_Instruction x_21445533 | Comment x_ 2145 -> h_Comment x_21455534 | Cost x_ 2146 -> h_Cost x_21465535 | Jmp x_ 2147 -> h_Jmp x_21475536 | Jnz (x_ 2150, x_2149, x_2148) -> h_Jnz x_2150 x_2149 x_21485537 | MovSuccessor (x_ 2153, x_2152, x_2151) ->5538 h_MovSuccessor x_ 2153 x_2152 x_21515539 | Call x_ 2154 -> h_Call x_21545540 | Mov (x_ 2156, x_2155) -> h_Mov x_2156 x_21555532 | Instruction x_3112 -> h_Instruction x_3112 5533 | Comment x_3113 -> h_Comment x_3113 5534 | Cost x_3114 -> h_Cost x_3114 5535 | Jmp x_3115 -> h_Jmp x_3115 5536 | Jnz (x_3118, x_3117, x_3116) -> h_Jnz x_3118 x_3117 x_3116 5537 | MovSuccessor (x_3121, x_3120, x_3119) -> 5538 h_MovSuccessor x_3121 x_3120 x_3119 5539 | Call x_3122 -> h_Call x_3122 5540 | Mov (x_3124, x_3123) -> h_Mov x_3124 x_3123 5541 5541 5542 5542 (** val pseudo_instruction_rect_Type1 : … … 5548 5548 -> 'a1 **) 5549 5549 let rec pseudo_instruction_rect_Type1 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function 5550 | Instruction x_ 2166 -> h_Instruction x_21665551 | Comment x_ 2167 -> h_Comment x_21675552 | Cost x_ 2168 -> h_Cost x_21685553 | Jmp x_ 2169 -> h_Jmp x_21695554 | Jnz (x_ 2172, x_2171, x_2170) -> h_Jnz x_2172 x_2171 x_21705555 | MovSuccessor (x_ 2175, x_2174, x_2173) ->5556 h_MovSuccessor x_ 2175 x_2174 x_21735557 | Call x_ 2176 -> h_Call x_21765558 | Mov (x_ 2178, x_2177) -> h_Mov x_2178 x_21775550 | Instruction x_3134 -> h_Instruction x_3134 5551 | Comment x_3135 -> h_Comment x_3135 5552 | Cost x_3136 -> h_Cost x_3136 5553 | Jmp x_3137 -> h_Jmp x_3137 5554 | Jnz (x_3140, x_3139, x_3138) -> h_Jnz x_3140 x_3139 x_3138 5555 | MovSuccessor (x_3143, x_3142, x_3141) -> 5556 h_MovSuccessor x_3143 x_3142 x_3141 5557 | Call x_3144 -> h_Call x_3144 5558 | Mov (x_3146, x_3145) -> h_Mov x_3146 x_3145 5559 5559 5560 5560 (** val pseudo_instruction_rect_Type0 : … … 5566 5566 -> 'a1 **) 5567 5567 let rec pseudo_instruction_rect_Type0 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function 5568 | Instruction x_ 2188 -> h_Instruction x_21885569 | Comment x_ 2189 -> h_Comment x_21895570 | Cost x_ 2190 -> h_Cost x_21905571 | Jmp x_ 2191 -> h_Jmp x_21915572 | Jnz (x_ 2194, x_2193, x_2192) -> h_Jnz x_2194 x_2193 x_21925573 | MovSuccessor (x_ 2197, x_2196, x_2195) ->5574 h_MovSuccessor x_ 2197 x_2196 x_21955575 | Call x_ 2198 -> h_Call x_21985576 | Mov (x_ 2200, x_2199) -> h_Mov x_2200 x_21995568 | Instruction x_3156 -> h_Instruction x_3156 5569 | Comment x_3157 -> h_Comment x_3157 5570 | Cost x_3158 -> h_Cost x_3158 5571 | Jmp x_3159 -> h_Jmp x_3159 5572 | Jnz (x_3162, x_3161, x_3160) -> h_Jnz x_3162 x_3161 x_3160 5573 | MovSuccessor (x_3165, x_3164, x_3163) -> 5574 h_MovSuccessor x_3165 x_3164 x_3163 5575 | Call x_3166 -> h_Call x_3166 5576 | Mov (x_3168, x_3167) -> h_Mov x_3168 x_3167 5577 5577 5578 5578 (** val pseudo_instruction_inv_rect_Type4 : … … 5796 5796 Types.prod List.list -> identifier -> __ -> __ -> 'a1) -> 5797 5797 pseudo_assembly_program -> 'a1 **) 5798 let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_ 2343=5798 let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_3311 = 5799 5799 let { preamble = preamble0; code = code0; renamed_symbols = 5800 renamed_symbols0; final_label = final_label0 } = x_ 23435800 renamed_symbols0; final_label = final_label0 } = x_3311 5801 5801 in 5802 5802 h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0 … … 5808 5808 Types.prod List.list -> identifier -> __ -> __ -> 'a1) -> 5809 5809 pseudo_assembly_program -> 'a1 **) 5810 let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_ 2345=5810 let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_3313 = 5811 5811 let { preamble = preamble0; code = code0; renamed_symbols = 5812 renamed_symbols0; final_label = final_label0 } = x_ 23455812 renamed_symbols0; final_label = final_label0 } = x_3313 5813 5813 in 5814 5814 h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0 … … 5820 5820 Types.prod List.list -> identifier -> __ -> __ -> 'a1) -> 5821 5821 pseudo_assembly_program -> 'a1 **) 5822 let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_ 2347=5822 let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_3315 = 5823 5823 let { preamble = preamble0; code = code0; renamed_symbols = 5824 renamed_symbols0; final_label = final_label0 } = x_ 23475824 renamed_symbols0; final_label = final_label0 } = x_3315 5825 5825 in 5826 5826 h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0 … … 5832 5832 Types.prod List.list -> identifier -> __ -> __ -> 'a1) -> 5833 5833 pseudo_assembly_program -> 'a1 **) 5834 let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_ 2349=5834 let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_3317 = 5835 5835 let { preamble = preamble0; code = code0; renamed_symbols = 5836 renamed_symbols0; final_label = final_label0 } = x_ 23495836 renamed_symbols0; final_label = final_label0 } = x_3317 5837 5837 in 5838 5838 h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0 … … 5844 5844 Types.prod List.list -> identifier -> __ -> __ -> 'a1) -> 5845 5845 pseudo_assembly_program -> 'a1 **) 5846 let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_ 2351=5846 let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_3319 = 5847 5847 let { preamble = preamble0; code = code0; renamed_symbols = 5848 renamed_symbols0; final_label = final_label0 } = x_ 23515848 renamed_symbols0; final_label = final_label0 } = x_3319 5849 5849 in 5850 5850 h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0 … … 5856 5856 Types.prod List.list -> identifier -> __ -> __ -> 'a1) -> 5857 5857 pseudo_assembly_program -> 'a1 **) 5858 let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_ 2353=5858 let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_3321 = 5859 5859 let { preamble = preamble0; code = code0; renamed_symbols = 5860 renamed_symbols0; final_label = final_label0 } = x_ 23535860 renamed_symbols0; final_label = final_label0 } = x_3321 5861 5861 in 5862 5862 h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0 … … 5944 5944 (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __ 5945 5945 -> 'a1) -> labelled_object_code -> 'a1 **) 5946 let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_ 2369=5946 let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_3337 = 5947 5947 let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0; 5948 final_pc = final_pc0 } = x_ 23695948 final_pc = final_pc0 } = x_3337 5949 5949 in 5950 5950 h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __ … … 5953 5953 (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __ 5954 5954 -> 'a1) -> labelled_object_code -> 'a1 **) 5955 let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_ 2371=5955 let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_3339 = 5956 5956 let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0; 5957 final_pc = final_pc0 } = x_ 23715957 final_pc = final_pc0 } = x_3339 5958 5958 in 5959 5959 h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __ … … 5962 5962 (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __ 5963 5963 -> 'a1) -> labelled_object_code -> 'a1 **) 5964 let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_ 2373=5964 let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_3341 = 5965 5965 let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0; 5966 final_pc = final_pc0 } = x_ 23735966 final_pc = final_pc0 } = x_3341 5967 5967 in 5968 5968 h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __ … … 5971 5971 (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __ 5972 5972 -> 'a1) -> labelled_object_code -> 'a1 **) 5973 let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_ 2375=5973 let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_3343 = 5974 5974 let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0; 5975 final_pc = final_pc0 } = x_ 23755975 final_pc = final_pc0 } = x_3343 5976 5976 in 5977 5977 h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __ … … 5980 5980 (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __ 5981 5981 -> 'a1) -> labelled_object_code -> 'a1 **) 5982 let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_ 2377=5982 let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_3345 = 5983 5983 let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0; 5984 final_pc = final_pc0 } = x_ 23775984 final_pc = final_pc0 } = x_3345 5985 5985 in 5986 5986 h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __ … … 5989 5989 (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __ 5990 5990 -> 'a1) -> labelled_object_code -> 'a1 **) 5991 let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_ 2379=5991 let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_3347 = 5992 5992 let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0; 5993 final_pc = final_pc0 } = x_ 23795993 final_pc = final_pc0 } = x_3347 5994 5994 in 5995 5995 h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __ -
extracted/aSMCostsSplit.ml
r2993 r2997 124 124 let rec traverse_code_internal prog program_counter program_size = 125 125 (match program_size with 126 | 0-> (fun _ -> Identifiers.empty_map PreIdentifiers.CostTag)127 | _ -> let program_size' = program_size - 1 in126 | Nat.O -> (fun _ -> Identifiers.empty_map PreIdentifiers.CostTag) 127 | Nat.S program_size' -> 128 128 (fun _ -> 129 129 let new_program_counter' = … … 158 158 (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S 159 159 Nat.O))))))))))))))))) 160 (Glue.int_of_matitanat (List.length (ASM.oc prog)))) 160 (Exp.exp (Nat.S (Nat.S Nat.O)) (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S 161 (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S 162 (Nat.S Nat.O)))))))))))))))))) 161 163 162 164 (** val compute_costs : -
extracted/aSMCostsSplit.mli
r2965 r2997 119 119 open UtilBranch 120 120 121 val traverse_code_internal : 122 ASM.labelled_object_code -> BitVector.word -> Nat.nat -> Nat.nat 123 Identifiers.identifier_map Types.sig0 124 121 125 val traverse_code : 122 126 ASM.labelled_object_code -> Nat.nat Identifiers.identifier_map Types.sig0 -
extracted/aST.ml
r2827 r2997 418 418 (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **) 419 419 let rec typ_rect_Type4 h_ASTint h_ASTptr = function 420 | ASTint (x_ 3649, x_3648) -> h_ASTint x_3649 x_3648420 | ASTint (x_411, x_410) -> h_ASTint x_411 x_410 421 421 | ASTptr -> h_ASTptr 422 422 … … 424 424 (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **) 425 425 let rec typ_rect_Type5 h_ASTint h_ASTptr = function 426 | ASTint (x_ 3654, x_3653) -> h_ASTint x_3654 x_3653426 | ASTint (x_416, x_415) -> h_ASTint x_416 x_415 427 427 | ASTptr -> h_ASTptr 428 428 … … 430 430 (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **) 431 431 let rec typ_rect_Type3 h_ASTint h_ASTptr = function 432 | ASTint (x_ 3659, x_3658) -> h_ASTint x_3659 x_3658432 | ASTint (x_421, x_420) -> h_ASTint x_421 x_420 433 433 | ASTptr -> h_ASTptr 434 434 … … 436 436 (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **) 437 437 let rec typ_rect_Type2 h_ASTint h_ASTptr = function 438 | ASTint (x_ 3664, x_3663) -> h_ASTint x_3664 x_3663438 | ASTint (x_426, x_425) -> h_ASTint x_426 x_425 439 439 | ASTptr -> h_ASTptr 440 440 … … 442 442 (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **) 443 443 let rec typ_rect_Type1 h_ASTint h_ASTptr = function 444 | ASTint (x_ 3669, x_3668) -> h_ASTint x_3669 x_3668444 | ASTint (x_431, x_430) -> h_ASTint x_431 x_430 445 445 | ASTptr -> h_ASTptr 446 446 … … 448 448 (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **) 449 449 let rec typ_rect_Type0 h_ASTint h_ASTptr = function 450 | ASTint (x_ 3674, x_3673) -> h_ASTint x_3674 x_3673450 | ASTint (x_436, x_435) -> h_ASTint x_436 x_435 451 451 | ASTptr -> h_ASTptr 452 452 … … 877 877 (** val signature_rect_Type4 : 878 878 (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **) 879 let rec signature_rect_Type4 h_mk_signature x_ 3709=880 let { sig_args = sig_args0; sig_res = sig_res0 } = x_ 3709in879 let rec signature_rect_Type4 h_mk_signature x_471 = 880 let { sig_args = sig_args0; sig_res = sig_res0 } = x_471 in 881 881 h_mk_signature sig_args0 sig_res0 882 882 883 883 (** val signature_rect_Type5 : 884 884 (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **) 885 let rec signature_rect_Type5 h_mk_signature x_ 3711=886 let { sig_args = sig_args0; sig_res = sig_res0 } = x_ 3711in885 let rec signature_rect_Type5 h_mk_signature x_473 = 886 let { sig_args = sig_args0; sig_res = sig_res0 } = x_473 in 887 887 h_mk_signature sig_args0 sig_res0 888 888 889 889 (** val signature_rect_Type3 : 890 890 (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **) 891 let rec signature_rect_Type3 h_mk_signature x_ 3713=892 let { sig_args = sig_args0; sig_res = sig_res0 } = x_ 3713in891 let rec signature_rect_Type3 h_mk_signature x_475 = 892 let { sig_args = sig_args0; sig_res = sig_res0 } = x_475 in 893 893 h_mk_signature sig_args0 sig_res0 894 894 895 895 (** val signature_rect_Type2 : 896 896 (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **) 897 let rec signature_rect_Type2 h_mk_signature x_ 3715=898 let { sig_args = sig_args0; sig_res = sig_res0 } = x_ 3715in897 let rec signature_rect_Type2 h_mk_signature x_477 = 898 let { sig_args = sig_args0; sig_res = sig_res0 } = x_477 in 899 899 h_mk_signature sig_args0 sig_res0 900 900 901 901 (** val signature_rect_Type1 : 902 902 (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **) 903 let rec signature_rect_Type1 h_mk_signature x_ 3717=904 let { sig_args = sig_args0; sig_res = sig_res0 } = x_ 3717in903 let rec signature_rect_Type1 h_mk_signature x_479 = 904 let { sig_args = sig_args0; sig_res = sig_res0 } = x_479 in 905 905 h_mk_signature sig_args0 sig_res0 906 906 907 907 (** val signature_rect_Type0 : 908 908 (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **) 909 let rec signature_rect_Type0 h_mk_signature x_ 3719=910 let { sig_args = sig_args0; sig_res = sig_res0 } = x_ 3719in909 let rec signature_rect_Type0 h_mk_signature x_481 = 910 let { sig_args = sig_args0; sig_res = sig_res0 } = x_481 in 911 911 h_mk_signature sig_args0 sig_res0 912 912 … … 984 984 'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **) 985 985 let rec init_data_rect_Type4 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function 986 | Init_int8 x_ 3747 -> h_Init_int8 x_3747987 | Init_int16 x_ 3748 -> h_Init_int16 x_3748988 | Init_int32 x_ 3749 -> h_Init_int32 x_3749989 | Init_space x_ 3750 -> h_Init_space x_3750986 | Init_int8 x_509 -> h_Init_int8 x_509 987 | Init_int16 x_510 -> h_Init_int16 x_510 988 | Init_int32 x_511 -> h_Init_int32 x_511 989 | Init_space x_512 -> h_Init_space x_512 990 990 | Init_null -> h_Init_null 991 | Init_addrof (x_ 3752, x_3751) -> h_Init_addrof x_3752 x_3751991 | Init_addrof (x_514, x_513) -> h_Init_addrof x_514 x_513 992 992 993 993 (** val init_data_rect_Type5 : … … 995 995 'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **) 996 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 997 | Init_int8 x_ 3760 -> h_Init_int8 x_3760998 | Init_int16 x_ 3761 -> h_Init_int16 x_3761999 | Init_int32 x_ 3762 -> h_Init_int32 x_37621000 | Init_space x_ 3763 -> h_Init_space x_3763997 | Init_int8 x_522 -> h_Init_int8 x_522 998 | Init_int16 x_523 -> h_Init_int16 x_523 999 | Init_int32 x_524 -> h_Init_int32 x_524 1000 | Init_space x_525 -> h_Init_space x_525 1001 1001 | Init_null -> h_Init_null 1002 | Init_addrof (x_ 3765, x_3764) -> h_Init_addrof x_3765 x_37641002 | Init_addrof (x_527, x_526) -> h_Init_addrof x_527 x_526 1003 1003 1004 1004 (** val init_data_rect_Type3 : … … 1006 1006 'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **) 1007 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 1008 | Init_int8 x_ 3773 -> h_Init_int8 x_37731009 | Init_int16 x_ 3774 -> h_Init_int16 x_37741010 | Init_int32 x_ 3775 -> h_Init_int32 x_37751011 | Init_space x_ 3776 -> h_Init_space x_37761008 | Init_int8 x_535 -> h_Init_int8 x_535 1009 | Init_int16 x_536 -> h_Init_int16 x_536 1010 | Init_int32 x_537 -> h_Init_int32 x_537 1011 | Init_space x_538 -> h_Init_space x_538 1012 1012 | Init_null -> h_Init_null 1013 | Init_addrof (x_ 3778, x_3777) -> h_Init_addrof x_3778 x_37771013 | Init_addrof (x_540, x_539) -> h_Init_addrof x_540 x_539 1014 1014 1015 1015 (** val init_data_rect_Type2 : … … 1017 1017 'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **) 1018 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 1019 | Init_int8 x_ 3786 -> h_Init_int8 x_37861020 | Init_int16 x_ 3787 -> h_Init_int16 x_37871021 | Init_int32 x_ 3788 -> h_Init_int32 x_37881022 | Init_space x_ 3789 -> h_Init_space x_37891019 | Init_int8 x_548 -> h_Init_int8 x_548 1020 | Init_int16 x_549 -> h_Init_int16 x_549 1021 | Init_int32 x_550 -> h_Init_int32 x_550 1022 | Init_space x_551 -> h_Init_space x_551 1023 1023 | Init_null -> h_Init_null 1024 | Init_addrof (x_ 3791, x_3790) -> h_Init_addrof x_3791 x_37901024 | Init_addrof (x_553, x_552) -> h_Init_addrof x_553 x_552 1025 1025 1026 1026 (** val init_data_rect_Type1 : … … 1028 1028 'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **) 1029 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 1030 | Init_int8 x_ 3799 -> h_Init_int8 x_37991031 | Init_int16 x_ 3800 -> h_Init_int16 x_38001032 | Init_int32 x_ 3801 -> h_Init_int32 x_38011033 | Init_space x_ 3802 -> h_Init_space x_38021030 | Init_int8 x_561 -> h_Init_int8 x_561 1031 | Init_int16 x_562 -> h_Init_int16 x_562 1032 | Init_int32 x_563 -> h_Init_int32 x_563 1033 | Init_space x_564 -> h_Init_space x_564 1034 1034 | Init_null -> h_Init_null 1035 | Init_addrof (x_ 3804, x_3803) -> h_Init_addrof x_3804 x_38031035 | Init_addrof (x_566, x_565) -> h_Init_addrof x_566 x_565 1036 1036 1037 1037 (** val init_data_rect_Type0 : … … 1039 1039 'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **) 1040 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 1041 | Init_int8 x_ 3812 -> h_Init_int8 x_38121042 | Init_int16 x_ 3813 -> h_Init_int16 x_38131043 | Init_int32 x_ 3814 -> h_Init_int32 x_38141044 | Init_space x_ 3815 -> h_Init_space x_38151041 | Init_int8 x_574 -> h_Init_int8 x_574 1042 | Init_int16 x_575 -> h_Init_int16 x_575 1043 | Init_int32 x_576 -> h_Init_int32 x_576 1044 | Init_space x_577 -> h_Init_space x_577 1045 1045 | Init_null -> h_Init_null 1046 | Init_addrof (x_ 3817, x_3816) -> h_Init_addrof x_3817 x_38161046 | Init_addrof (x_579, x_578) -> h_Init_addrof x_579 x_578 1047 1047 1048 1048 (** val init_data_inv_rect_Type4 : … … 1111 1111 (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1) 1112 1112 Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **) 1113 let rec program_rect_Type4 h_mk_program x_ 3904=1113 let rec program_rect_Type4 h_mk_program x_666 = 1114 1114 let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main = 1115 prog_main0 } = x_ 39041115 prog_main0 } = x_666 1116 1116 in 1117 1117 h_mk_program prog_vars0 prog_funct0 prog_main0 … … 1120 1120 (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1) 1121 1121 Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **) 1122 let rec program_rect_Type5 h_mk_program x_ 3906=1122 let rec program_rect_Type5 h_mk_program x_668 = 1123 1123 let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main = 1124 prog_main0 } = x_ 39061124 prog_main0 } = x_668 1125 1125 in 1126 1126 h_mk_program prog_vars0 prog_funct0 prog_main0 … … 1129 1129 (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1) 1130 1130 Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **) 1131 let rec program_rect_Type3 h_mk_program x_ 3908=1131 let rec program_rect_Type3 h_mk_program x_670 = 1132 1132 let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main = 1133 prog_main0 } = x_ 39081133 prog_main0 } = x_670 1134 1134 in 1135 1135 h_mk_program prog_vars0 prog_funct0 prog_main0 … … 1138 1138 (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1) 1139 1139 Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **) 1140 let rec program_rect_Type2 h_mk_program x_ 3910=1140 let rec program_rect_Type2 h_mk_program x_672 = 1141 1141 let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main = 1142 prog_main0 } = x_ 39101142 prog_main0 } = x_672 1143 1143 in 1144 1144 h_mk_program prog_vars0 prog_funct0 prog_main0 … … 1147 1147 (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1) 1148 1148 Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **) 1149 let rec program_rect_Type1 h_mk_program x_ 3912=1149 let rec program_rect_Type1 h_mk_program x_674 = 1150 1150 let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main = 1151 prog_main0 } = x_ 39121151 prog_main0 } = x_674 1152 1152 in 1153 1153 h_mk_program prog_vars0 prog_funct0 prog_main0 … … 1156 1156 (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1) 1157 1157 Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **) 1158 let rec program_rect_Type0 h_mk_program x_ 3914=1158 let rec program_rect_Type0 h_mk_program x_676 = 1159 1159 let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main = 1160 prog_main0 } = x_ 39141160 prog_main0 } = x_676 1161 1161 in 1162 1162 h_mk_program prog_vars0 prog_funct0 prog_main0 … … 1477 1477 (** val external_function_rect_Type4 : 1478 1478 (ident -> signature -> 'a1) -> external_function -> 'a1 **) 1479 let rec external_function_rect_Type4 h_mk_external_function x_ 4118=1480 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_ 4118in1479 let rec external_function_rect_Type4 h_mk_external_function x_880 = 1480 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_880 in 1481 1481 h_mk_external_function ef_id0 ef_sig0 1482 1482 1483 1483 (** val external_function_rect_Type5 : 1484 1484 (ident -> signature -> 'a1) -> external_function -> 'a1 **) 1485 let rec external_function_rect_Type5 h_mk_external_function x_ 4120=1486 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_ 4120in1485 let rec external_function_rect_Type5 h_mk_external_function x_882 = 1486 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_882 in 1487 1487 h_mk_external_function ef_id0 ef_sig0 1488 1488 1489 1489 (** val external_function_rect_Type3 : 1490 1490 (ident -> signature -> 'a1) -> external_function -> 'a1 **) 1491 let rec external_function_rect_Type3 h_mk_external_function x_ 4122=1492 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_ 4122in1491 let rec external_function_rect_Type3 h_mk_external_function x_884 = 1492 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_884 in 1493 1493 h_mk_external_function ef_id0 ef_sig0 1494 1494 1495 1495 (** val external_function_rect_Type2 : 1496 1496 (ident -> signature -> 'a1) -> external_function -> 'a1 **) 1497 let rec external_function_rect_Type2 h_mk_external_function x_ 4124=1498 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_ 4124in1497 let rec external_function_rect_Type2 h_mk_external_function x_886 = 1498 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_886 in 1499 1499 h_mk_external_function ef_id0 ef_sig0 1500 1500 1501 1501 (** val external_function_rect_Type1 : 1502 1502 (ident -> signature -> 'a1) -> external_function -> 'a1 **) 1503 let rec external_function_rect_Type1 h_mk_external_function x_ 4126=1504 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_ 4126in1503 let rec external_function_rect_Type1 h_mk_external_function x_888 = 1504 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_888 in 1505 1505 h_mk_external_function ef_id0 ef_sig0 1506 1506 1507 1507 (** val external_function_rect_Type0 : 1508 1508 (ident -> signature -> 'a1) -> external_function -> 'a1 **) 1509 let rec external_function_rect_Type0 h_mk_external_function x_ 4128=1510 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_ 4128in1509 let rec external_function_rect_Type0 h_mk_external_function x_890 = 1510 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_890 in 1511 1511 h_mk_external_function ef_id0 ef_sig0 1512 1512 … … 1575 1575 ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **) 1576 1576 let rec fundef_rect_Type4 h_Internal h_External = function 1577 | Internal x_ 4148 -> h_Internal x_41481578 | External x_ 4149 -> h_External x_41491577 | Internal x_910 -> h_Internal x_910 1578 | External x_911 -> h_External x_911 1579 1579 1580 1580 (** val fundef_rect_Type5 : 1581 1581 ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **) 1582 1582 let rec fundef_rect_Type5 h_Internal h_External = function 1583 | Internal x_ 4153 -> h_Internal x_41531584 | External x_ 4154 -> h_External x_41541583 | Internal x_915 -> h_Internal x_915 1584 | External x_916 -> h_External x_916 1585 1585 1586 1586 (** val fundef_rect_Type3 : 1587 1587 ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **) 1588 1588 let rec fundef_rect_Type3 h_Internal h_External = function 1589 | Internal x_ 4158 -> h_Internal x_41581590 | External x_ 4159 -> h_External x_41591589 | Internal x_920 -> h_Internal x_920 1590 | External x_921 -> h_External x_921 1591 1591 1592 1592 (** val fundef_rect_Type2 : 1593 1593 ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **) 1594 1594 let rec fundef_rect_Type2 h_Internal h_External = function 1595 | Internal x_ 4163 -> h_Internal x_41631596 | External x_ 4164 -> h_External x_41641595 | Internal x_925 -> h_Internal x_925 1596 | External x_926 -> h_External x_926 1597 1597 1598 1598 (** val fundef_rect_Type1 : 1599 1599 ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **) 1600 1600 let rec fundef_rect_Type1 h_Internal h_External = function 1601 | Internal x_ 4168 -> h_Internal x_41681602 | External x_ 4169 -> h_External x_41691601 | Internal x_930 -> h_Internal x_930 1602 | External x_931 -> h_External x_931 1603 1603 1604 1604 (** val fundef_rect_Type0 : 1605 1605 ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **) 1606 1606 let rec fundef_rect_Type0 h_Internal h_External = function 1607 | Internal x_ 4173 -> h_Internal x_41731608 | External x_ 4174 -> h_External x_41741607 | Internal x_935 -> h_Internal x_935 1608 | External x_936 -> h_External x_936 1609 1609 1610 1610 (** val fundef_inv_rect_Type4 : -
extracted/byteValues.ml
r2951 r2997 89 89 (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter -> 90 90 'a1 **) 91 let rec program_counter_rect_Type4 h_mk_program_counter x_6 139=92 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6 139in91 let rec program_counter_rect_Type4 h_mk_program_counter x_6088 = 92 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6088 in 93 93 h_mk_program_counter pc_block0 pc_offset0 94 94 … … 96 96 (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter -> 97 97 'a1 **) 98 let rec program_counter_rect_Type5 h_mk_program_counter x_6 141=99 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6 141in98 let rec program_counter_rect_Type5 h_mk_program_counter x_6090 = 99 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6090 in 100 100 h_mk_program_counter pc_block0 pc_offset0 101 101 … … 103 103 (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter -> 104 104 'a1 **) 105 let rec program_counter_rect_Type3 h_mk_program_counter x_6 143=106 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6 143in105 let rec program_counter_rect_Type3 h_mk_program_counter x_6092 = 106 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6092 in 107 107 h_mk_program_counter pc_block0 pc_offset0 108 108 … … 110 110 (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter -> 111 111 'a1 **) 112 let rec program_counter_rect_Type2 h_mk_program_counter x_6 145=113 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6 145in112 let rec program_counter_rect_Type2 h_mk_program_counter x_6094 = 113 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6094 in 114 114 h_mk_program_counter pc_block0 pc_offset0 115 115 … … 117 117 (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter -> 118 118 'a1 **) 119 let rec program_counter_rect_Type1 h_mk_program_counter x_6 147=120 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6 147in119 let rec program_counter_rect_Type1 h_mk_program_counter x_6096 = 120 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6096 in 121 121 h_mk_program_counter pc_block0 pc_offset0 122 122 … … 124 124 (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter -> 125 125 'a1 **) 126 let rec program_counter_rect_Type0 h_mk_program_counter x_6 149=127 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6 149in126 let rec program_counter_rect_Type0 h_mk_program_counter x_6098 = 127 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6098 in 128 128 h_mk_program_counter pc_block0 pc_offset0 129 129 … … 215 215 216 216 (** val part_rect_Type4 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **) 217 let rec part_rect_Type4 h_mk_part x_61 65=218 let part_no = x_61 65in h_mk_part part_no __217 let rec part_rect_Type4 h_mk_part x_6114 = 218 let part_no = x_6114 in h_mk_part part_no __ 219 219 220 220 (** val part_rect_Type5 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **) 221 let rec part_rect_Type5 h_mk_part x_61 67=222 let part_no = x_61 67in h_mk_part part_no __221 let rec part_rect_Type5 h_mk_part x_6116 = 222 let part_no = x_6116 in h_mk_part part_no __ 223 223 224 224 (** val part_rect_Type3 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **) 225 let rec part_rect_Type3 h_mk_part x_61 69=226 let part_no = x_61 69in h_mk_part part_no __225 let rec part_rect_Type3 h_mk_part x_6118 = 226 let part_no = x_6118 in h_mk_part part_no __ 227 227 228 228 (** val part_rect_Type2 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **) 229 let rec part_rect_Type2 h_mk_part x_61 71=230 let part_no = x_61 71in h_mk_part part_no __229 let rec part_rect_Type2 h_mk_part x_6120 = 230 let part_no = x_6120 in h_mk_part part_no __ 231 231 232 232 (** val part_rect_Type1 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **) 233 let rec part_rect_Type1 h_mk_part x_61 73=234 let part_no = x_61 73in h_mk_part part_no __233 let rec part_rect_Type1 h_mk_part x_6122 = 234 let part_no = x_6122 in h_mk_part part_no __ 235 235 236 236 (** val part_rect_Type0 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **) 237 let rec part_rect_Type0 h_mk_part x_61 75=238 let part_no = x_61 75in h_mk_part part_no __237 let rec part_rect_Type0 h_mk_part x_6124 = 238 let part_no = x_6124 in h_mk_part part_no __ 239 239 240 240 (** val part_no : part -> Nat.nat **) … … 486 486 | BVundef -> h_BVundef 487 487 | BVnonzero -> h_BVnonzero 488 | BVXor (x_6 209, x_6208, x_6207) -> h_BVXor x_6209 x_6208 x_6207489 | BVByte x_6 210 -> h_BVByte x_6210490 | BVnull x_6 211 -> h_BVnull x_6211491 | BVptr (x_6 213, x_6212) -> h_BVptr x_6213 x_6212492 | BVpc (x_6 215, x_6214) -> h_BVpc x_6215 x_6214488 | BVXor (x_6158, x_6157, x_6156) -> h_BVXor x_6158 x_6157 x_6156 489 | BVByte x_6159 -> h_BVByte x_6159 490 | BVnull x_6160 -> h_BVnull x_6160 491 | BVptr (x_6162, x_6161) -> h_BVptr x_6162 x_6161 492 | BVpc (x_6164, x_6163) -> h_BVpc x_6164 x_6163 493 493 494 494 (** val beval_rect_Type5 : … … 500 500 | BVundef -> h_BVundef 501 501 | BVnonzero -> h_BVnonzero 502 | BVXor (x_6 226, x_6225, x_6224) -> h_BVXor x_6226 x_6225 x_6224503 | BVByte x_6 227 -> h_BVByte x_6227504 | BVnull x_6 228 -> h_BVnull x_6228505 | BVptr (x_6 230, x_6229) -> h_BVptr x_6230 x_6229506 | BVpc (x_6 232, x_6231) -> h_BVpc x_6232 x_6231502 | BVXor (x_6175, x_6174, x_6173) -> h_BVXor x_6175 x_6174 x_6173 503 | BVByte x_6176 -> h_BVByte x_6176 504 | BVnull x_6177 -> h_BVnull x_6177 505 | BVptr (x_6179, x_6178) -> h_BVptr x_6179 x_6178 506 | BVpc (x_6181, x_6180) -> h_BVpc x_6181 x_6180 507 507 508 508 (** val beval_rect_Type3 : … … 514 514 | BVundef -> h_BVundef 515 515 | BVnonzero -> h_BVnonzero 516 | BVXor (x_6 243, x_6242, x_6241) -> h_BVXor x_6243 x_6242 x_6241517 | BVByte x_6 244 -> h_BVByte x_6244518 | BVnull x_6 245 -> h_BVnull x_6245519 | BVptr (x_6 247, x_6246) -> h_BVptr x_6247 x_6246520 | BVpc (x_6 249, x_6248) -> h_BVpc x_6249 x_6248516 | BVXor (x_6192, x_6191, x_6190) -> h_BVXor x_6192 x_6191 x_6190 517 | BVByte x_6193 -> h_BVByte x_6193 518 | BVnull x_6194 -> h_BVnull x_6194 519 | BVptr (x_6196, x_6195) -> h_BVptr x_6196 x_6195 520 | BVpc (x_6198, x_6197) -> h_BVpc x_6198 x_6197 521 521 522 522 (** val beval_rect_Type2 : … … 528 528 | BVundef -> h_BVundef 529 529 | BVnonzero -> h_BVnonzero 530 | BVXor (x_62 60, x_6259, x_6258) -> h_BVXor x_6260 x_6259 x_6258531 | BVByte x_62 61 -> h_BVByte x_6261532 | BVnull x_62 62 -> h_BVnull x_6262533 | BVptr (x_62 64, x_6263) -> h_BVptr x_6264 x_6263534 | BVpc (x_62 66, x_6265) -> h_BVpc x_6266 x_6265530 | BVXor (x_6209, x_6208, x_6207) -> h_BVXor x_6209 x_6208 x_6207 531 | BVByte x_6210 -> h_BVByte x_6210 532 | BVnull x_6211 -> h_BVnull x_6211 533 | BVptr (x_6213, x_6212) -> h_BVptr x_6213 x_6212 534 | BVpc (x_6215, x_6214) -> h_BVpc x_6215 x_6214 535 535 536 536 (** val beval_rect_Type1 : … … 542 542 | BVundef -> h_BVundef 543 543 | BVnonzero -> h_BVnonzero 544 | BVXor (x_62 77, x_6276, x_6275) -> h_BVXor x_6277 x_6276 x_6275545 | BVByte x_62 78 -> h_BVByte x_6278546 | BVnull x_62 79 -> h_BVnull x_6279547 | BVptr (x_62 81, x_6280) -> h_BVptr x_6281 x_6280548 | BVpc (x_62 83, x_6282) -> h_BVpc x_6283 x_6282544 | BVXor (x_6226, x_6225, x_6224) -> h_BVXor x_6226 x_6225 x_6224 545 | BVByte x_6227 -> h_BVByte x_6227 546 | BVnull x_6228 -> h_BVnull x_6228 547 | BVptr (x_6230, x_6229) -> h_BVptr x_6230 x_6229 548 | BVpc (x_6232, x_6231) -> h_BVpc x_6232 x_6231 549 549 550 550 (** val beval_rect_Type0 : … … 556 556 | BVundef -> h_BVundef 557 557 | BVnonzero -> h_BVnonzero 558 | BVXor (x_62 94, x_6293, x_6292) -> h_BVXor x_6294 x_6293 x_6292559 | BVByte x_62 95 -> h_BVByte x_6295560 | BVnull x_62 96 -> h_BVnull x_6296561 | BVptr (x_62 98, x_6297) -> h_BVptr x_6298 x_6297562 | BVpc (x_6 300, x_6299) -> h_BVpc x_6300 x_6299558 | BVXor (x_6243, x_6242, x_6241) -> h_BVXor x_6243 x_6242 x_6241 559 | BVByte x_6244 -> h_BVByte x_6244 560 | BVnull x_6245 -> h_BVnull x_6245 561 | BVptr (x_6247, x_6246) -> h_BVptr x_6247 x_6246 562 | BVpc (x_6249, x_6248) -> h_BVpc x_6249 x_6248 563 563 564 564 (** val beval_inv_rect_Type4 : … … 985 985 BitVector.bitVector -> 'a1) -> bebit -> 'a1 **) 986 986 let rec bebit_rect_Type4 h_BBbit h_BBundef h_BBptrcarry = function 987 | BBbit x_64 58 -> h_BBbit x_6458987 | BBbit x_6407 -> h_BBbit x_6407 988 988 | BBundef -> h_BBundef 989 | BBptrcarry (x_64 61, x_6460, p, x_6459) ->990 h_BBptrcarry x_64 61 x_6460 p x_6459989 | BBptrcarry (x_6410, x_6409, p, x_6408) -> 990 h_BBptrcarry x_6410 x_6409 p x_6408 991 991 992 992 (** val bebit_rect_Type5 : … … 994 994 BitVector.bitVector -> 'a1) -> bebit -> 'a1 **) 995 995 let rec bebit_rect_Type5 h_BBbit h_BBundef h_BBptrcarry = function 996 | BBbit x_64 66 -> h_BBbit x_6466996 | BBbit x_6415 -> h_BBbit x_6415 997 997 | BBundef -> h_BBundef 998 | BBptrcarry (x_64 69, x_6468, p, x_6467) ->999 h_BBptrcarry x_64 69 x_6468 p x_6467998 | BBptrcarry (x_6418, x_6417, p, x_6416) -> 999 h_BBptrcarry x_6418 x_6417 p x_6416 1000 1000 1001 1001 (** val bebit_rect_Type3 : … … 1003 1003 BitVector.bitVector -> 'a1) -> bebit -> 'a1 **) 1004 1004 let rec bebit_rect_Type3 h_BBbit h_BBundef h_BBptrcarry = function 1005 | BBbit x_64 74 -> h_BBbit x_64741005 | BBbit x_6423 -> h_BBbit x_6423 1006 1006 | BBundef -> h_BBundef 1007 | BBptrcarry (x_64 77, x_6476, p, x_6475) ->1008 h_BBptrcarry x_64 77 x_6476 p x_64751007 | BBptrcarry (x_6426, x_6425, p, x_6424) -> 1008 h_BBptrcarry x_6426 x_6425 p x_6424 1009 1009 1010 1010 (** val bebit_rect_Type2 : … … 1012 1012 BitVector.bitVector -> 'a1) -> bebit -> 'a1 **) 1013 1013 let rec bebit_rect_Type2 h_BBbit h_BBundef h_BBptrcarry = function 1014 | BBbit x_64 82 -> h_BBbit x_64821014 | BBbit x_6431 -> h_BBbit x_6431 1015 1015 | BBundef -> h_BBundef 1016 | BBptrcarry (x_64 85, x_6484, p, x_6483) ->1017 h_BBptrcarry x_64 85 x_6484 p x_64831016 | BBptrcarry (x_6434, x_6433, p, x_6432) -> 1017 h_BBptrcarry x_6434 x_6433 p x_6432 1018 1018 1019 1019 (** val bebit_rect_Type1 : … … 1021 1021 BitVector.bitVector -> 'a1) -> bebit -> 'a1 **) 1022 1022 let rec bebit_rect_Type1 h_BBbit h_BBundef h_BBptrcarry = function 1023 | BBbit x_64 90 -> h_BBbit x_64901023 | BBbit x_6439 -> h_BBbit x_6439 1024 1024 | BBundef -> h_BBundef 1025 | BBptrcarry (x_64 93, x_6492, p, x_6491) ->1026 h_BBptrcarry x_64 93 x_6492 p x_64911025 | BBptrcarry (x_6442, x_6441, p, x_6440) -> 1026 h_BBptrcarry x_6442 x_6441 p x_6440 1027 1027 1028 1028 (** val bebit_rect_Type0 : … … 1030 1030 BitVector.bitVector -> 'a1) -> bebit -> 'a1 **) 1031 1031 let rec bebit_rect_Type0 h_BBbit h_BBundef h_BBptrcarry = function 1032 | BBbit x_64 98 -> h_BBbit x_64981032 | BBbit x_6447 -> h_BBbit x_6447 1033 1033 | BBundef -> h_BBundef 1034 | BBptrcarry (x_6 501, x_6500, p, x_6499) ->1035 h_BBptrcarry x_6 501 x_6500 p x_64991034 | BBptrcarry (x_6450, x_6449, p, x_6448) -> 1035 h_BBptrcarry x_6450 x_6449 p x_6448 1036 1036 1037 1037 (** val bebit_inv_rect_Type4 : -
extracted/classifyOp.ml
r2951 r2997 96 96 (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 97 97 -> classify_add_cases -> 'a1 **) 98 let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_ 7428 x_7427= function98 let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_12331 x_12330 = function 99 99 | Add_case_ii (sz, sg) -> h_add_case_ii sz sg 100 100 | Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg … … 108 108 (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 109 109 -> classify_add_cases -> 'a1 **) 110 let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_ 7435 x_7434= function110 let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_12338 x_12337 = function 111 111 | Add_case_ii (sz, sg) -> h_add_case_ii sz sg 112 112 | Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg … … 120 120 (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 121 121 -> classify_add_cases -> 'a1 **) 122 let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_ 7442 x_7441= function122 let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_12345 x_12344 = function 123 123 | Add_case_ii (sz, sg) -> h_add_case_ii sz sg 124 124 | Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg … … 132 132 (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 133 133 -> classify_add_cases -> 'a1 **) 134 let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_ 7449 x_7448= function134 let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_12352 x_12351 = function 135 135 | Add_case_ii (sz, sg) -> h_add_case_ii sz sg 136 136 | Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg … … 144 144 (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 145 145 -> classify_add_cases -> 'a1 **) 146 let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_ 7456 x_7455= function146 let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_12359 x_12358 = function 147 147 | Add_case_ii (sz, sg) -> h_add_case_ii sz sg 148 148 | Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg … … 156 156 (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 157 157 -> classify_add_cases -> 'a1 **) 158 let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_ 7463 x_7462= function158 let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_12366 x_12365 = function 159 159 | Add_case_ii (sz, sg) -> h_add_case_ii sz sg 160 160 | Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg … … 319 319 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> 320 320 Csyntax.type0 -> classify_sub_cases -> 'a1 **) 321 let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_ 7519 x_7518= function321 let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_12422 x_12421 = function 322 322 | Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg 323 323 | Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg … … 331 331 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> 332 332 Csyntax.type0 -> classify_sub_cases -> 'a1 **) 333 let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_ 7526 x_7525= function333 let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_12429 x_12428 = function 334 334 | Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg 335 335 | Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg … … 343 343 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> 344 344 Csyntax.type0 -> classify_sub_cases -> 'a1 **) 345 let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_ 7533 x_7532= function345 let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_12436 x_12435 = function 346 346 | Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg 347 347 | Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg … … 355 355 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> 356 356 Csyntax.type0 -> classify_sub_cases -> 'a1 **) 357 let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_ 7540 x_7539= function357 let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_12443 x_12442 = function 358 358 | Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg 359 359 | Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg … … 367 367 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> 368 368 Csyntax.type0 -> classify_sub_cases -> 'a1 **) 369 let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_ 7547 x_7546= function369 let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_12450 x_12449 = function 370 370 | Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg 371 371 | Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg … … 379 379 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> 380 380 Csyntax.type0 -> classify_sub_cases -> 'a1 **) 381 let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_ 7554 x_7553= function381 let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_12457 x_12456 = function 382 382 | Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg 383 383 | Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg … … 519 519 (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 520 520 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **) 521 let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_ 7608 x_7607= function521 let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_12511 x_12510 = function 522 522 | Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg 523 523 | Aop_default (ty, ty') -> h_aop_default ty ty' … … 526 526 (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 527 527 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **) 528 let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_ 7613 x_7612= function528 let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_12516 x_12515 = function 529 529 | Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg 530 530 | Aop_default (ty, ty') -> h_aop_default ty ty' … … 533 533 (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 534 534 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **) 535 let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_ 7618 x_7617= function535 let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_12521 x_12520 = function 536 536 | Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg 537 537 | Aop_default (ty, ty') -> h_aop_default ty ty' … … 540 540 (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 541 541 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **) 542 let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_ 7623 x_7622= function542 let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_12526 x_12525 = function 543 543 | Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg 544 544 | Aop_default (ty, ty') -> h_aop_default ty ty' … … 547 547 (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 548 548 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **) 549 let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_ 7628 x_7627= function549 let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_12531 x_12530 = function 550 550 | Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg 551 551 | Aop_default (ty, ty') -> h_aop_default ty ty' … … 554 554 (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 555 555 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **) 556 let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_ 7633 x_7632= function556 let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_12536 x_12535 = function 557 557 | Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg 558 558 | Aop_default (ty, ty') -> h_aop_default ty ty' … … 636 636 Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> 637 637 Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **) 638 let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_ 7674 x_7673= function638 let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_12577 x_12576 = function 639 639 | Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg 640 640 | Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty … … 645 645 Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> 646 646 Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **) 647 let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_ 7680 x_7679= function647 let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_12583 x_12582 = function 648 648 | Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg 649 649 | Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty … … 654 654 Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> 655 655 Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **) 656 let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_ 7686 x_7685= function656 let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_12589 x_12588 = function 657 657 | Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg 658 658 | Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty … … 663 663 Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> 664 664 Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **) 665 let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_ 7692 x_7691= function665 let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_12595 x_12594 = function 666 666 | Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg 667 667 | Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty … … 672 672 Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> 673 673 Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **) 674 let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_ 7698 x_7697= function674 let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_12601 x_12600 = function 675 675 | Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg 676 676 | Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty … … 681 681 Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> 682 682 Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **) 683 let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_ 7704 x_7703= function683 let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_12607 x_12606 = function 684 684 | Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg 685 685 | Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty … … 780 780 -> 'a1 **) 781 781 let rec classify_fun_cases_rect_Type4 h_fun_case_f h_fun_default = function 782 | Fun_case_f (x_ 7752, x_7751) -> h_fun_case_f x_7752 x_7751782 | Fun_case_f (x_12655, x_12654) -> h_fun_case_f x_12655 x_12654 783 783 | Fun_default -> h_fun_default 784 784 … … 787 787 -> 'a1 **) 788 788 let rec classify_fun_cases_rect_Type5 h_fun_case_f h_fun_default = function 789 | Fun_case_f (x_ 7757, x_7756) -> h_fun_case_f x_7757 x_7756789 | Fun_case_f (x_12660, x_12659) -> h_fun_case_f x_12660 x_12659 790 790 | Fun_default -> h_fun_default 791 791 … … 794 794 -> 'a1 **) 795 795 let rec classify_fun_cases_rect_Type3 h_fun_case_f h_fun_default = function 796 | Fun_case_f (x_ 7762, x_7761) -> h_fun_case_f x_7762 x_7761796 | Fun_case_f (x_12665, x_12664) -> h_fun_case_f x_12665 x_12664 797 797 | Fun_default -> h_fun_default 798 798 … … 801 801 -> 'a1 **) 802 802 let rec classify_fun_cases_rect_Type2 h_fun_case_f h_fun_default = function 803 | Fun_case_f (x_ 7767, x_7766) -> h_fun_case_f x_7767 x_7766803 | Fun_case_f (x_12670, x_12669) -> h_fun_case_f x_12670 x_12669 804 804 | Fun_default -> h_fun_default 805 805 … … 808 808 -> 'a1 **) 809 809 let rec classify_fun_cases_rect_Type1 h_fun_case_f h_fun_default = function 810 | Fun_case_f (x_ 7772, x_7771) -> h_fun_case_f x_7772 x_7771810 | Fun_case_f (x_12675, x_12674) -> h_fun_case_f x_12675 x_12674 811 811 | Fun_default -> h_fun_default 812 812 … … 815 815 -> 'a1 **) 816 816 let rec classify_fun_cases_rect_Type0 h_fun_case_f h_fun_default = function 817 | Fun_case_f (x_ 7777, x_7776) -> h_fun_case_f x_7777 x_7776817 | Fun_case_f (x_12680, x_12679) -> h_fun_case_f x_12680 x_12679 818 818 | Fun_default -> h_fun_default 819 819 -
extracted/cminor_semantics.ml
r2951 r2997 123 123 let rec cont_rect_Type4 h_Kend h_Kseq h_Kblock = function 124 124 | Kend -> h_Kend 125 | Kseq (x_ 4629, x_4628) ->126 h_Kseq x_ 4629 x_4628 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_4628)127 | Kblock x_ 4630->128 h_Kblock x_ 4630 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_4630)125 | Kseq (x_20078, x_20077) -> 126 h_Kseq x_20078 x_20077 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_20077) 127 | Kblock x_20079 -> 128 h_Kblock x_20079 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_20079) 129 129 130 130 (** val cont_rect_Type3 : … … 133 133 let rec cont_rect_Type3 h_Kend h_Kseq h_Kblock = function 134 134 | Kend -> h_Kend 135 | Kseq (x_ 4643, x_4642) ->136 h_Kseq x_ 4643 x_4642 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_4642)137 | Kblock x_ 4644->138 h_Kblock x_ 4644 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_4644)135 | Kseq (x_20092, x_20091) -> 136 h_Kseq x_20092 x_20091 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_20091) 137 | Kblock x_20093 -> 138 h_Kblock x_20093 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_20093) 139 139 140 140 (** val cont_rect_Type2 : … … 143 143 let rec cont_rect_Type2 h_Kend h_Kseq h_Kblock = function 144 144 | Kend -> h_Kend 145 | Kseq (x_ 4650, x_4649) ->146 h_Kseq x_ 4650 x_4649 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_4649)147 | Kblock x_ 4651->148 h_Kblock x_ 4651 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_4651)145 | Kseq (x_20099, x_20098) -> 146 h_Kseq x_20099 x_20098 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_20098) 147 | Kblock x_20100 -> 148 h_Kblock x_20100 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_20100) 149 149 150 150 (** val cont_rect_Type1 : … … 153 153 let rec cont_rect_Type1 h_Kend h_Kseq h_Kblock = function 154 154 | Kend -> h_Kend 155 | Kseq (x_ 4657, x_4656) ->156 h_Kseq x_ 4657 x_4656 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_4656)157 | Kblock x_ 4658->158 h_Kblock x_ 4658 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_4658)155 | Kseq (x_20106, x_20105) -> 156 h_Kseq x_20106 x_20105 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_20105) 157 | Kblock x_20107 -> 158 h_Kblock x_20107 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_20107) 159 159 160 160 (** val cont_rect_Type0 : … … 163 163 let rec cont_rect_Type0 h_Kend h_Kseq h_Kblock = function 164 164 | Kend -> h_Kend 165 | Kseq (x_ 4664, x_4663) ->166 h_Kseq x_ 4664 x_4663 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_4663)167 | Kblock x_ 4665->168 h_Kblock x_ 4665 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_4665)165 | Kseq (x_20113, x_20112) -> 166 h_Kseq x_20113 x_20112 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_20112) 167 | Kblock x_20114 -> 168 h_Kblock x_20114 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_20114) 169 169 170 170 (** val cont_inv_rect_Type4 : … … 226 226 let rec stack_rect_Type4 h_SStop h_Scall = function 227 227 | SStop -> h_SStop 228 | Scall (dest, f, x_ 4724, en, k, x_4720) ->229 h_Scall dest f x_ 4724 en __ __ k __ x_4720230 (stack_rect_Type4 h_SStop h_Scall x_ 4720)228 | Scall (dest, f, x_20173, en, k, x_20169) -> 229 h_Scall dest f x_20173 en __ __ k __ x_20169 230 (stack_rect_Type4 h_SStop h_Scall x_20169) 231 231 232 232 (** val stack_rect_Type3 : … … 236 236 let rec stack_rect_Type3 h_SStop h_Scall = function 237 237 | SStop -> h_SStop 238 | Scall (dest, f, x_ 4740, en, k, x_4736) ->239 h_Scall dest f x_ 4740 en __ __ k __ x_4736240 (stack_rect_Type3 h_SStop h_Scall x_ 4736)238 | Scall (dest, f, x_20189, en, k, x_20185) -> 239 h_Scall dest f x_20189 en __ __ k __ x_20185 240 (stack_rect_Type3 h_SStop h_Scall x_20185) 241 241 242 242 (** val stack_rect_Type2 : … … 246 246 let rec stack_rect_Type2 h_SStop h_Scall = function 247 247 | SStop -> h_SStop 248 | Scall (dest, f, x_ 4748, en, k, x_4744) ->249 h_Scall dest f x_ 4748 en __ __ k __ x_4744250 (stack_rect_Type2 h_SStop h_Scall x_ 4744)248 | Scall (dest, f, x_20197, en, k, x_20193) -> 249 h_Scall dest f x_20197 en __ __ k __ x_20193 250 (stack_rect_Type2 h_SStop h_Scall x_20193) 251 251 252 252 (** val stack_rect_Type1 : … … 256 256 let rec stack_rect_Type1 h_SStop h_Scall = function 257 257 | SStop -> h_SStop 258 | Scall (dest, f, x_ 4756, en, k, x_4752) ->259 h_Scall dest f x_ 4756 en __ __ k __ x_4752260 (stack_rect_Type1 h_SStop h_Scall x_ 4752)258 | Scall (dest, f, x_20205, en, k, x_20201) -> 259 h_Scall dest f x_20205 en __ __ k __ x_20201 260 (stack_rect_Type1 h_SStop h_Scall x_20201) 261 261 262 262 (** val stack_rect_Type0 : … … 266 266 let rec stack_rect_Type0 h_SStop h_Scall = function 267 267 | SStop -> h_SStop 268 | Scall (dest, f, x_ 4764, en, k, x_4760) ->269 h_Scall dest f x_ 4764 en __ __ k __ x_4760270 (stack_rect_Type0 h_SStop h_Scall x_ 4760)268 | Scall (dest, f, x_20213, en, k, x_20209) -> 269 h_Scall dest f x_20213 en __ __ k __ x_20209 270 (stack_rect_Type0 h_SStop h_Scall x_20209) 271 271 272 272 (** val stack_inv_rect_Type4 : -
extracted/cminor_syntax.ml
r2951 r2997 113 113 -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1 114 114 -> '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_1 3785= function116 | Id (t, x_1 3787) -> h_Id t x_13787117 | Cst (t, x_1 3788) -> h_Cst t x_13788118 | Op1 (t, t', x_1 3790, x_13789) ->119 h_Op1 t t' x_1 3790 x_13789120 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3789)121 | Op2 (t1, t2, t', x_1 3793, x_13792, x_13791) ->122 h_Op2 t1 t2 t' x_1 3793 x_13792 x_13791123 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_1 3792)124 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_1 3791)125 | Mem (t, x_1 3794) ->126 h_Mem t x_1 3794115 let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10841 = function 116 | Id (t, x_10843) -> h_Id t x_10843 117 | Cst (t, x_10844) -> h_Cst t x_10844 118 | Op1 (t, t', x_10846, x_10845) -> 119 h_Op1 t t' x_10846 x_10845 120 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10845) 121 | Op2 (t1, t2, t', x_10849, x_10848, x_10847) -> 122 h_Op2 t1 t2 t' x_10849 x_10848 x_10847 123 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10848) 124 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10847) 125 | Mem (t, x_10850) -> 126 h_Mem t x_10850 127 127 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr 128 x_1 3794)129 | Cond (sz, sg, t, x_1 3797, x_13796, x_13795) ->130 h_Cond sz sg t x_1 3797 x_13796 x_13795128 x_10850) 129 | Cond (sz, sg, t, x_10853, x_10852, x_10851) -> 130 h_Cond sz sg t x_10853 x_10852 x_10851 131 131 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint 132 (sz, sg)) x_1 3797)133 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3796)134 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3795)135 | Ecost (t, x_1 3799, x_13798) ->136 h_Ecost t x_1 3799 x_13798137 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3798)132 (sz, sg)) x_10853) 133 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10852) 134 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10851) 135 | Ecost (t, x_10855, x_10854) -> 136 h_Ecost t x_10855 x_10854 137 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10854) 138 138 139 139 (** val expr_rect_Type3 : … … 145 145 -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1 146 146 -> '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_1 3829= function148 | Id (t, x_1 3831) -> h_Id t x_13831149 | Cst (t, x_1 3832) -> h_Cst t x_13832150 | Op1 (t, t', x_1 3834, x_13833) ->151 h_Op1 t t' x_1 3834 x_13833152 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3833)153 | Op2 (t1, t2, t', x_1 3837, x_13836, x_13835) ->154 h_Op2 t1 t2 t' x_1 3837 x_13836 x_13835155 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_1 3836)156 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_1 3835)157 | Mem (t, x_1 3838) ->158 h_Mem t x_1 3838147 let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10885 = function 148 | Id (t, x_10887) -> h_Id t x_10887 149 | Cst (t, x_10888) -> h_Cst t x_10888 150 | Op1 (t, t', x_10890, x_10889) -> 151 h_Op1 t t' x_10890 x_10889 152 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10889) 153 | Op2 (t1, t2, t', x_10893, x_10892, x_10891) -> 154 h_Op2 t1 t2 t' x_10893 x_10892 x_10891 155 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10892) 156 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10891) 157 | Mem (t, x_10894) -> 158 h_Mem t x_10894 159 159 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr 160 x_1 3838)161 | Cond (sz, sg, t, x_1 3841, x_13840, x_13839) ->162 h_Cond sz sg t x_1 3841 x_13840 x_13839160 x_10894) 161 | Cond (sz, sg, t, x_10897, x_10896, x_10895) -> 162 h_Cond sz sg t x_10897 x_10896 x_10895 163 163 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint 164 (sz, sg)) x_1 3841)165 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3840)166 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3839)167 | Ecost (t, x_1 3843, x_13842) ->168 h_Ecost t x_1 3843 x_13842169 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3842)164 (sz, sg)) x_10897) 165 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10896) 166 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10895) 167 | Ecost (t, x_10899, x_10898) -> 168 h_Ecost t x_10899 x_10898 169 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10898) 170 170 171 171 (** val expr_rect_Type2 : … … 177 177 -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1 178 178 -> '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_1 3851= function180 | Id (t, x_1 3853) -> h_Id t x_13853181 | Cst (t, x_1 3854) -> h_Cst t x_13854182 | Op1 (t, t', x_1 3856, x_13855) ->183 h_Op1 t t' x_1 3856 x_13855184 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3855)185 | Op2 (t1, t2, t', x_1 3859, x_13858, x_13857) ->186 h_Op2 t1 t2 t' x_1 3859 x_13858 x_13857187 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_1 3858)188 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_1 3857)189 | Mem (t, x_1 3860) ->190 h_Mem t x_1 3860179 let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10907 = function 180 | Id (t, x_10909) -> h_Id t x_10909 181 | Cst (t, x_10910) -> h_Cst t x_10910 182 | Op1 (t, t', x_10912, x_10911) -> 183 h_Op1 t t' x_10912 x_10911 184 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10911) 185 | Op2 (t1, t2, t', x_10915, x_10914, x_10913) -> 186 h_Op2 t1 t2 t' x_10915 x_10914 x_10913 187 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10914) 188 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10913) 189 | Mem (t, x_10916) -> 190 h_Mem t x_10916 191 191 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr 192 x_1 3860)193 | Cond (sz, sg, t, x_1 3863, x_13862, x_13861) ->194 h_Cond sz sg t x_1 3863 x_13862 x_13861192 x_10916) 193 | Cond (sz, sg, t, x_10919, x_10918, x_10917) -> 194 h_Cond sz sg t x_10919 x_10918 x_10917 195 195 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint 196 (sz, sg)) x_1 3863)197 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3862)198 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3861)199 | Ecost (t, x_1 3865, x_13864) ->200 h_Ecost t x_1 3865 x_13864201 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3864)196 (sz, sg)) x_10919) 197 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10918) 198 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10917) 199 | Ecost (t, x_10921, x_10920) -> 200 h_Ecost t x_10921 x_10920 201 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10920) 202 202 203 203 (** val expr_rect_Type1 : … … 209 209 -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1 210 210 -> '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_1 3873= function212 | Id (t, x_1 3875) -> h_Id t x_13875213 | Cst (t, x_1 3876) -> h_Cst t x_13876214 | Op1 (t, t', x_1 3878, x_13877) ->215 h_Op1 t t' x_1 3878 x_13877216 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3877)217 | Op2 (t1, t2, t', x_1 3881, x_13880, x_13879) ->218 h_Op2 t1 t2 t' x_1 3881 x_13880 x_13879219 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_1 3880)220 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_1 3879)221 | Mem (t, x_1 3882) ->222 h_Mem t x_1 3882211 let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10929 = function 212 | Id (t, x_10931) -> h_Id t x_10931 213 | Cst (t, x_10932) -> h_Cst t x_10932 214 | Op1 (t, t', x_10934, x_10933) -> 215 h_Op1 t t' x_10934 x_10933 216 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10933) 217 | Op2 (t1, t2, t', x_10937, x_10936, x_10935) -> 218 h_Op2 t1 t2 t' x_10937 x_10936 x_10935 219 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10936) 220 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10935) 221 | Mem (t, x_10938) -> 222 h_Mem t x_10938 223 223 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr 224 x_1 3882)225 | Cond (sz, sg, t, x_1 3885, x_13884, x_13883) ->226 h_Cond sz sg t x_1 3885 x_13884 x_13883224 x_10938) 225 | Cond (sz, sg, t, x_10941, x_10940, x_10939) -> 226 h_Cond sz sg t x_10941 x_10940 x_10939 227 227 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint 228 (sz, sg)) x_1 3885)229 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3884)230 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3883)231 | Ecost (t, x_1 3887, x_13886) ->232 h_Ecost t x_1 3887 x_13886233 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3886)228 (sz, sg)) x_10941) 229 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10940) 230 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10939) 231 | Ecost (t, x_10943, x_10942) -> 232 h_Ecost t x_10943 x_10942 233 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10942) 234 234 235 235 (** val expr_rect_Type0 : … … 241 241 -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1 242 242 -> '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_1 3895= function244 | Id (t, x_1 3897) -> h_Id t x_13897245 | Cst (t, x_1 3898) -> h_Cst t x_13898246 | Op1 (t, t', x_1 3900, x_13899) ->247 h_Op1 t t' x_1 3900 x_13899248 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3899)249 | Op2 (t1, t2, t', x_1 3903, x_13902, x_13901) ->250 h_Op2 t1 t2 t' x_1 3903 x_13902 x_13901251 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_1 3902)252 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_1 3901)253 | Mem (t, x_1 3904) ->254 h_Mem t x_1 3904243 let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10951 = function 244 | Id (t, x_10953) -> h_Id t x_10953 245 | Cst (t, x_10954) -> h_Cst t x_10954 246 | Op1 (t, t', x_10956, x_10955) -> 247 h_Op1 t t' x_10956 x_10955 248 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10955) 249 | Op2 (t1, t2, t', x_10959, x_10958, x_10957) -> 250 h_Op2 t1 t2 t' x_10959 x_10958 x_10957 251 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10958) 252 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10957) 253 | Mem (t, x_10960) -> 254 h_Mem t x_10960 255 255 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr 256 x_1 3904)257 | Cond (sz, sg, t, x_1 3907, x_13906, x_13905) ->258 h_Cond sz sg t x_1 3907 x_13906 x_13905256 x_10960) 257 | Cond (sz, sg, t, x_10963, x_10962, x_10961) -> 258 h_Cond sz sg t x_10963 x_10962 x_10961 259 259 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint 260 (sz, sg)) x_1 3907)261 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3906)262 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3905)263 | Ecost (t, x_1 3909, x_13908) ->264 h_Ecost t x_1 3909 x_13908265 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_1 3908)260 (sz, sg)) x_10963) 261 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10962) 262 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10961) 263 | Ecost (t, x_10965, x_10964) -> 264 h_Ecost t x_10965 x_10964 265 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10964) 266 266 267 267 (** val expr_inv_rect_Type4 : … … 373 373 let 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 374 374 | St_skip -> h_St_skip 375 | St_assign (t, x_1 4080, x_14079) -> h_St_assign t x_14080 x_14079376 | St_store (t, x_1 4082, x_14081) -> h_St_store t x_14082 x_14081377 | St_call (x_1 4085, x_14084, x_14083) -> h_St_call x_14085 x_14084 x_14083378 | St_seq (x_1 4087, x_14086) ->379 h_St_seq x_1 4087 x_14086375 | St_assign (t, x_11136, x_11135) -> h_St_assign t x_11136 x_11135 376 | St_store (t, x_11138, x_11137) -> h_St_store t x_11138 x_11137 377 | St_call (x_11141, x_11140, x_11139) -> h_St_call x_11141 x_11140 x_11139 378 | St_seq (x_11143, x_11142) -> 379 h_St_seq x_11143 x_11142 380 380 (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_1 4087)381 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11143) 382 382 (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_1 4086)384 | St_ifthenelse (sz, sg, x_1 4090, x_14089, x_14088) ->385 h_St_ifthenelse sz sg x_1 4090 x_14089 x_14088383 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11142) 384 | St_ifthenelse (sz, sg, x_11146, x_11145, x_11144) -> 385 h_St_ifthenelse sz sg x_11146 x_11145 x_11144 386 386 (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_1 4089)387 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11145) 388 388 (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_1 4088)390 | St_return x_1 4091 -> h_St_return x_14091391 | St_label (x_1 4093, x_14092) ->392 h_St_label x_1 4093 x_14092389 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11144) 390 | St_return x_11147 -> h_St_return x_11147 391 | St_label (x_11149, x_11148) -> 392 h_St_label x_11149 x_11148 393 393 (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_1 4092)395 | St_goto x_1 4094 -> h_St_goto x_14094396 | St_cost (x_1 4096, x_14095) ->397 h_St_cost x_1 4096 x_14095394 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11148) 395 | St_goto x_11150 -> h_St_goto x_11150 396 | St_cost (x_11152, x_11151) -> 397 h_St_cost x_11152 x_11151 398 398 (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_1 4095)399 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11151) 400 400 401 401 (** val stmt_rect_Type3 : … … 410 410 let 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 411 411 | St_skip -> h_St_skip 412 | St_assign (t, x_1 4138, x_14137) -> h_St_assign t x_14138 x_14137413 | St_store (t, x_1 4140, x_14139) -> h_St_store t x_14140 x_14139414 | St_call (x_1 4143, x_14142, x_14141) -> h_St_call x_14143 x_14142 x_14141415 | St_seq (x_1 4145, x_14144) ->416 h_St_seq x_1 4145 x_14144412 | St_assign (t, x_11194, x_11193) -> h_St_assign t x_11194 x_11193 413 | St_store (t, x_11196, x_11195) -> h_St_store t x_11196 x_11195 414 | St_call (x_11199, x_11198, x_11197) -> h_St_call x_11199 x_11198 x_11197 415 | St_seq (x_11201, x_11200) -> 416 h_St_seq x_11201 x_11200 417 417 (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_1 4145)418 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11201) 419 419 (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_1 4144)421 | St_ifthenelse (sz, sg, x_1 4148, x_14147, x_14146) ->422 h_St_ifthenelse sz sg x_1 4148 x_14147 x_14146420 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11200) 421 | St_ifthenelse (sz, sg, x_11204, x_11203, x_11202) -> 422 h_St_ifthenelse sz sg x_11204 x_11203 x_11202 423 423 (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_1 4147)424 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11203) 425 425 (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_1 4146)427 | St_return x_1 4149 -> h_St_return x_14149428 | St_label (x_1 4151, x_14150) ->429 h_St_label x_1 4151 x_14150426 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11202) 427 | St_return x_11205 -> h_St_return x_11205 428 | St_label (x_11207, x_11206) -> 429 h_St_label x_11207 x_11206 430 430 (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_1 4150)432 | St_goto x_1 4152 -> h_St_goto x_14152433 | St_cost (x_1 4154, x_14153) ->434 h_St_cost x_1 4154 x_14153431 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11206) 432 | St_goto x_11208 -> h_St_goto x_11208 433 | St_cost (x_11210, x_11209) -> 434 h_St_cost x_11210 x_11209 435 435 (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_1 4153)436 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11209) 437 437 438 438 (** val stmt_rect_Type2 : … … 447 447 let 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 448 448 | St_skip -> h_St_skip 449 | St_assign (t, x_1 4167, x_14166) -> h_St_assign t x_14167 x_14166450 | St_store (t, x_1 4169, x_14168) -> h_St_store t x_14169 x_14168451 | St_call (x_1 4172, x_14171, x_14170) -> h_St_call x_14172 x_14171 x_14170452 | St_seq (x_1 4174, x_14173) ->453 h_St_seq x_1 4174 x_14173449 | St_assign (t, x_11223, x_11222) -> h_St_assign t x_11223 x_11222 450 | St_store (t, x_11225, x_11224) -> h_St_store t x_11225 x_11224 451 | St_call (x_11228, x_11227, x_11226) -> h_St_call x_11228 x_11227 x_11226 452 | St_seq (x_11230, x_11229) -> 453 h_St_seq x_11230 x_11229 454 454 (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_1 4174)455 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11230) 456 456 (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_1 4173)458 | St_ifthenelse (sz, sg, x_1 4177, x_14176, x_14175) ->459 h_St_ifthenelse sz sg x_1 4177 x_14176 x_14175457 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11229) 458 | St_ifthenelse (sz, sg, x_11233, x_11232, x_11231) -> 459 h_St_ifthenelse sz sg x_11233 x_11232 x_11231 460 460 (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_1 4176)461 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11232) 462 462 (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_1 4175)464 | St_return x_1 4178 -> h_St_return x_14178465 | St_label (x_1 4180, x_14179) ->466 h_St_label x_1 4180 x_14179463 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11231) 464 | St_return x_11234 -> h_St_return x_11234 465 | St_label (x_11236, x_11235) -> 466 h_St_label x_11236 x_11235 467 467 (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_1 4179)469 | St_goto x_1 4181 -> h_St_goto x_14181470 | St_cost (x_1 4183, x_14182) ->471 h_St_cost x_1 4183 x_14182468 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11235) 469 | St_goto x_11237 -> h_St_goto x_11237 470 | St_cost (x_11239, x_11238) -> 471 h_St_cost x_11239 x_11238 472 472 (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_1 4182)473 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11238) 474 474 475 475 (** val stmt_rect_Type1 : … … 484 484 let 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 485 485 | St_skip -> h_St_skip 486 | St_assign (t, x_1 4196, x_14195) -> h_St_assign t x_14196 x_14195487 | St_store (t, x_1 4198, x_14197) -> h_St_store t x_14198 x_14197488 | St_call (x_1 4201, x_14200, x_14199) -> h_St_call x_14201 x_14200 x_14199489 | St_seq (x_1 4203, x_14202) ->490 h_St_seq x_1 4203 x_14202486 | St_assign (t, x_11252, x_11251) -> h_St_assign t x_11252 x_11251 487 | St_store (t, x_11254, x_11253) -> h_St_store t x_11254 x_11253 488 | St_call (x_11257, x_11256, x_11255) -> h_St_call x_11257 x_11256 x_11255 489 | St_seq (x_11259, x_11258) -> 490 h_St_seq x_11259 x_11258 491 491 (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_1 4203)492 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11259) 493 493 (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_1 4202)495 | St_ifthenelse (sz, sg, x_1 4206, x_14205, x_14204) ->496 h_St_ifthenelse sz sg x_1 4206 x_14205 x_14204494 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11258) 495 | St_ifthenelse (sz, sg, x_11262, x_11261, x_11260) -> 496 h_St_ifthenelse sz sg x_11262 x_11261 x_11260 497 497 (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_1 4205)498 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11261) 499 499 (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_1 4204)501 | St_return x_1 4207 -> h_St_return x_14207502 | St_label (x_1 4209, x_14208) ->503 h_St_label x_1 4209 x_14208500 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11260) 501 | St_return x_11263 -> h_St_return x_11263 502 | St_label (x_11265, x_11264) -> 503 h_St_label x_11265 x_11264 504 504 (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_1 4208)506 | St_goto x_1 4210 -> h_St_goto x_14210507 | St_cost (x_1 4212, x_14211) ->508 h_St_cost x_1 4212 x_14211505 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11264) 506 | St_goto x_11266 -> h_St_goto x_11266 507 | St_cost (x_11268, x_11267) -> 508 h_St_cost x_11268 x_11267 509 509 (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_1 4211)510 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11267) 511 511 512 512 (** val stmt_rect_Type0 : … … 521 521 let 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 522 522 | St_skip -> h_St_skip 523 | St_assign (t, x_1 4225, x_14224) -> h_St_assign t x_14225 x_14224524 | St_store (t, x_1 4227, x_14226) -> h_St_store t x_14227 x_14226525 | St_call (x_1 4230, x_14229, x_14228) -> h_St_call x_14230 x_14229 x_14228526 | St_seq (x_1 4232, x_14231) ->527 h_St_seq x_1 4232 x_14231523 | St_assign (t, x_11281, x_11280) -> h_St_assign t x_11281 x_11280 524 | St_store (t, x_11283, x_11282) -> h_St_store t x_11283 x_11282 525 | St_call (x_11286, x_11285, x_11284) -> h_St_call x_11286 x_11285 x_11284 526 | St_seq (x_11288, x_11287) -> 527 h_St_seq x_11288 x_11287 528 528 (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_1 4232)529 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11288) 530 530 (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_1 4231)532 | St_ifthenelse (sz, sg, x_1 4235, x_14234, x_14233) ->533 h_St_ifthenelse sz sg x_1 4235 x_14234 x_14233531 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11287) 532 | St_ifthenelse (sz, sg, x_11291, x_11290, x_11289) -> 533 h_St_ifthenelse sz sg x_11291 x_11290 x_11289 534 534 (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_1 4234)535 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11290) 536 536 (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_1 4233)538 | St_return x_1 4236 -> h_St_return x_14236539 | St_label (x_1 4238, x_14237) ->540 h_St_label x_1 4238 x_14237537 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11289) 538 | St_return x_11292 -> h_St_return x_11292 539 | St_label (x_11294, x_11293) -> 540 h_St_label x_11294 x_11293 541 541 (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_1 4237)543 | St_goto x_1 4239 -> h_St_goto x_14239544 | St_cost (x_1 4241, x_14240) ->545 h_St_cost x_1 4241 x_14240542 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11293) 543 | St_goto x_11295 -> h_St_goto x_11295 544 | St_cost (x_11297, x_11296) -> 545 h_St_cost x_11297 x_11296 546 546 (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_1 4240)547 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_11296) 548 548 549 549 (** val stmt_inv_rect_Type4 : … … 757 757 (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __ 758 758 -> 'a1) -> internal_function -> 'a1 **) 759 let rec internal_function_rect_Type4 h_mk_internal_function x_1 4536=759 let rec internal_function_rect_Type4 h_mk_internal_function x_11592 = 760 760 let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0; 761 f_stacksize = f_stacksize0; f_body = f_body0 } = x_1 4536761 f_stacksize = f_stacksize0; f_body = f_body0 } = x_11592 762 762 in 763 763 h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0 … … 768 768 (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __ 769 769 -> 'a1) -> internal_function -> 'a1 **) 770 let rec internal_function_rect_Type5 h_mk_internal_function x_1 4538=770 let rec internal_function_rect_Type5 h_mk_internal_function x_11594 = 771 771 let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0; 772 f_stacksize = f_stacksize0; f_body = f_body0 } = x_1 4538772 f_stacksize = f_stacksize0; f_body = f_body0 } = x_11594 773 773 in 774 774 h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0 … … 779 779 (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __ 780 780 -> 'a1) -> internal_function -> 'a1 **) 781 let rec internal_function_rect_Type3 h_mk_internal_function x_1 4540=781 let rec internal_function_rect_Type3 h_mk_internal_function x_11596 = 782 782 let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0; 783 f_stacksize = f_stacksize0; f_body = f_body0 } = x_1 4540783 f_stacksize = f_stacksize0; f_body = f_body0 } = x_11596 784 784 in 785 785 h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0 … … 790 790 (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __ 791 791 -> 'a1) -> internal_function -> 'a1 **) 792 let rec internal_function_rect_Type2 h_mk_internal_function x_1 4542=792 let rec internal_function_rect_Type2 h_mk_internal_function x_11598 = 793 793 let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0; 794 f_stacksize = f_stacksize0; f_body = f_body0 } = x_1 4542794 f_stacksize = f_stacksize0; f_body = f_body0 } = x_11598 795 795 in 796 796 h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0 … … 801 801 (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __ 802 802 -> 'a1) -> internal_function -> 'a1 **) 803 let rec internal_function_rect_Type1 h_mk_internal_function x_1 4544=803 let rec internal_function_rect_Type1 h_mk_internal_function x_11600 = 804 804 let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0; 805 f_stacksize = f_stacksize0; f_body = f_body0 } = x_1 4544805 f_stacksize = f_stacksize0; f_body = f_body0 } = x_11600 806 806 in 807 807 h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0 … … 812 812 (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __ 813 813 -> 'a1) -> internal_function -> 'a1 **) 814 let rec internal_function_rect_Type0 h_mk_internal_function x_1 4546=814 let rec internal_function_rect_Type0 h_mk_internal_function x_11602 = 815 815 let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0; 816 f_stacksize = f_stacksize0; f_body = f_body0 } = x_1 4546816 f_stacksize = f_stacksize0; f_body = f_body0 } = x_11602 817 817 in 818 818 h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0 -
extracted/csem.ml
r2951 r2997 778 778 let rec cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function 779 779 | Kstop -> h_Kstop 780 | Kseq (x_ 8726, x_8725) ->781 h_Kseq x_ 8726 x_8725780 | Kseq (x_14621, x_14620) -> 781 h_Kseq x_14621 x_14620 782 782 (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 783 h_Kswitch h_Kcall x_ 8725)784 | Kwhile (x_ 8729, x_8728, x_8727) ->785 h_Kwhile x_ 8729 x_8728 x_8727783 h_Kswitch h_Kcall x_14620) 784 | Kwhile (x_14624, x_14623, x_14622) -> 785 h_Kwhile x_14624 x_14623 x_14622 786 786 (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 787 h_Kswitch h_Kcall x_ 8727)788 | Kdowhile (x_ 8732, x_8731, x_8730) ->789 h_Kdowhile x_ 8732 x_8731 x_8730787 h_Kswitch h_Kcall x_14622) 788 | Kdowhile (x_14627, x_14626, x_14625) -> 789 h_Kdowhile x_14627 x_14626 x_14625 790 790 (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 791 h_Kswitch h_Kcall x_ 8730)792 | Kfor2 (x_ 8736, x_8735, x_8734, x_8733) ->793 h_Kfor2 x_ 8736 x_8735 x_8734 x_8733791 h_Kswitch h_Kcall x_14625) 792 | Kfor2 (x_14631, x_14630, x_14629, x_14628) -> 793 h_Kfor2 x_14631 x_14630 x_14629 x_14628 794 794 (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 795 h_Kswitch h_Kcall x_ 8733)796 | Kfor3 (x_ 8740, x_8739, x_8738, x_8737) ->797 h_Kfor3 x_ 8740 x_8739 x_8738 x_8737795 h_Kswitch h_Kcall x_14628) 796 | Kfor3 (x_14635, x_14634, x_14633, x_14632) -> 797 h_Kfor3 x_14635 x_14634 x_14633 x_14632 798 798 (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 799 h_Kswitch h_Kcall x_ 8737)800 | Kswitch x_ 8741->801 h_Kswitch x_ 8741799 h_Kswitch h_Kcall x_14632) 800 | Kswitch x_14636 -> 801 h_Kswitch x_14636 802 802 (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 803 h_Kswitch h_Kcall x_ 8741)804 | Kcall (x_ 8745, x_8744, x_8743, x_8742) ->805 h_Kcall x_ 8745 x_8744 x_8743 x_8742803 h_Kswitch h_Kcall x_14636) 804 | Kcall (x_14640, x_14639, x_14638, x_14637) -> 805 h_Kcall x_14640 x_14639 x_14638 x_14637 806 806 (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 807 h_Kswitch h_Kcall x_ 8742)807 h_Kswitch h_Kcall x_14637) 808 808 809 809 (** val cont_rect_Type3 : … … 818 818 let rec cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function 819 819 | Kstop -> h_Kstop 820 | Kseq (x_ 8786, x_8785) ->821 h_Kseq x_ 8786 x_8785820 | Kseq (x_14681, x_14680) -> 821 h_Kseq x_14681 x_14680 822 822 (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 823 h_Kswitch h_Kcall x_ 8785)824 | Kwhile (x_ 8789, x_8788, x_8787) ->825 h_Kwhile x_ 8789 x_8788 x_8787823 h_Kswitch h_Kcall x_14680) 824 | Kwhile (x_14684, x_14683, x_14682) -> 825 h_Kwhile x_14684 x_14683 x_14682 826 826 (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 827 h_Kswitch h_Kcall x_ 8787)828 | Kdowhile (x_ 8792, x_8791, x_8790) ->829 h_Kdowhile x_ 8792 x_8791 x_8790827 h_Kswitch h_Kcall x_14682) 828 | Kdowhile (x_14687, x_14686, x_14685) -> 829 h_Kdowhile x_14687 x_14686 x_14685 830 830 (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 831 h_Kswitch h_Kcall x_ 8790)832 | Kfor2 (x_ 8796, x_8795, x_8794, x_8793) ->833 h_Kfor2 x_ 8796 x_8795 x_8794 x_8793831 h_Kswitch h_Kcall x_14685) 832 | Kfor2 (x_14691, x_14690, x_14689, x_14688) -> 833 h_Kfor2 x_14691 x_14690 x_14689 x_14688 834 834 (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 835 h_Kswitch h_Kcall x_ 8793)836 | Kfor3 (x_ 8800, x_8799, x_8798, x_8797) ->837 h_Kfor3 x_ 8800 x_8799 x_8798 x_8797835 h_Kswitch h_Kcall x_14688) 836 | Kfor3 (x_14695, x_14694, x_14693, x_14692) -> 837 h_Kfor3 x_14695 x_14694 x_14693 x_14692 838 838 (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 839 h_Kswitch h_Kcall x_ 8797)840 | Kswitch x_ 8801->841 h_Kswitch x_ 8801839 h_Kswitch h_Kcall x_14692) 840 | Kswitch x_14696 -> 841 h_Kswitch x_14696 842 842 (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 843 h_Kswitch h_Kcall x_ 8801)844 | Kcall (x_ 8805, x_8804, x_8803, x_8802) ->845 h_Kcall x_ 8805 x_8804 x_8803 x_8802843 h_Kswitch h_Kcall x_14696) 844 | Kcall (x_14700, x_14699, x_14698, x_14697) -> 845 h_Kcall x_14700 x_14699 x_14698 x_14697 846 846 (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 847 h_Kswitch h_Kcall x_ 8802)847 h_Kswitch h_Kcall x_14697) 848 848 849 849 (** val cont_rect_Type2 : … … 858 858 let rec cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function 859 859 | Kstop -> h_Kstop 860 | Kseq (x_ 8816, x_8815) ->861 h_Kseq x_ 8816 x_8815860 | Kseq (x_14711, x_14710) -> 861 h_Kseq x_14711 x_14710 862 862 (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 863 h_Kswitch h_Kcall x_ 8815)864 | Kwhile (x_ 8819, x_8818, x_8817) ->865 h_Kwhile x_ 8819 x_8818 x_8817863 h_Kswitch h_Kcall x_14710) 864 | Kwhile (x_14714, x_14713, x_14712) -> 865 h_Kwhile x_14714 x_14713 x_14712 866 866 (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 867 h_Kswitch h_Kcall x_ 8817)868 | Kdowhile (x_ 8822, x_8821, x_8820) ->869 h_Kdowhile x_ 8822 x_8821 x_8820867 h_Kswitch h_Kcall x_14712) 868 | Kdowhile (x_14717, x_14716, x_14715) -> 869 h_Kdowhile x_14717 x_14716 x_14715 870 870 (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 871 h_Kswitch h_Kcall x_ 8820)872 | Kfor2 (x_ 8826, x_8825, x_8824, x_8823) ->873 h_Kfor2 x_ 8826 x_8825 x_8824 x_8823871 h_Kswitch h_Kcall x_14715) 872 | Kfor2 (x_14721, x_14720, x_14719, x_14718) -> 873 h_Kfor2 x_14721 x_14720 x_14719 x_14718 874 874 (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 875 h_Kswitch h_Kcall x_ 8823)876 | Kfor3 (x_ 8830, x_8829, x_8828, x_8827) ->877 h_Kfor3 x_ 8830 x_8829 x_8828 x_8827875 h_Kswitch h_Kcall x_14718) 876 | Kfor3 (x_14725, x_14724, x_14723, x_14722) -> 877 h_Kfor3 x_14725 x_14724 x_14723 x_14722 878 878 (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 879 h_Kswitch h_Kcall x_ 8827)880 | Kswitch x_ 8831->881 h_Kswitch x_ 8831879 h_Kswitch h_Kcall x_14722) 880 | Kswitch x_14726 -> 881 h_Kswitch x_14726 882 882 (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 883 h_Kswitch h_Kcall x_ 8831)884 | Kcall (x_ 8835, x_8834, x_8833, x_8832) ->885 h_Kcall x_ 8835 x_8834 x_8833 x_8832883 h_Kswitch h_Kcall x_14726) 884 | Kcall (x_14730, x_14729, x_14728, x_14727) -> 885 h_Kcall x_14730 x_14729 x_14728 x_14727 886 886 (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 887 h_Kswitch h_Kcall x_ 8832)887 h_Kswitch h_Kcall x_14727) 888 888 889 889 (** val cont_rect_Type1 : … … 898 898 let rec cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function 899 899 | Kstop -> h_Kstop 900 | Kseq (x_ 8846, x_8845) ->901 h_Kseq x_ 8846 x_8845900 | Kseq (x_14741, x_14740) -> 901 h_Kseq x_14741 x_14740 902 902 (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 903 h_Kswitch h_Kcall x_ 8845)904 | Kwhile (x_ 8849, x_8848, x_8847) ->905 h_Kwhile x_ 8849 x_8848 x_8847903 h_Kswitch h_Kcall x_14740) 904 | Kwhile (x_14744, x_14743, x_14742) -> 905 h_Kwhile x_14744 x_14743 x_14742 906 906 (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 907 h_Kswitch h_Kcall x_ 8847)908 | Kdowhile (x_ 8852, x_8851, x_8850) ->909 h_Kdowhile x_ 8852 x_8851 x_8850907 h_Kswitch h_Kcall x_14742) 908 | Kdowhile (x_14747, x_14746, x_14745) -> 909 h_Kdowhile x_14747 x_14746 x_14745 910 910 (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 911 h_Kswitch h_Kcall x_ 8850)912 | Kfor2 (x_ 8856, x_8855, x_8854, x_8853) ->913 h_Kfor2 x_ 8856 x_8855 x_8854 x_8853911 h_Kswitch h_Kcall x_14745) 912 | Kfor2 (x_14751, x_14750, x_14749, x_14748) -> 913 h_Kfor2 x_14751 x_14750 x_14749 x_14748 914 914 (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 915 h_Kswitch h_Kcall x_ 8853)916 | Kfor3 (x_ 8860, x_8859, x_8858, x_8857) ->917 h_Kfor3 x_ 8860 x_8859 x_8858 x_8857915 h_Kswitch h_Kcall x_14748) 916 | Kfor3 (x_14755, x_14754, x_14753, x_14752) -> 917 h_Kfor3 x_14755 x_14754 x_14753 x_14752 918 918 (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 919 h_Kswitch h_Kcall x_ 8857)920 | Kswitch x_ 8861->921 h_Kswitch x_ 8861919 h_Kswitch h_Kcall x_14752) 920 | Kswitch x_14756 -> 921 h_Kswitch x_14756 922 922 (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 923 h_Kswitch h_Kcall x_ 8861)924 | Kcall (x_ 8865, x_8864, x_8863, x_8862) ->925 h_Kcall x_ 8865 x_8864 x_8863 x_8862923 h_Kswitch h_Kcall x_14756) 924 | Kcall (x_14760, x_14759, x_14758, x_14757) -> 925 h_Kcall x_14760 x_14759 x_14758 x_14757 926 926 (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 927 h_Kswitch h_Kcall x_ 8862)927 h_Kswitch h_Kcall x_14757) 928 928 929 929 (** val cont_rect_Type0 : … … 938 938 let rec cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function 939 939 | Kstop -> h_Kstop 940 | Kseq (x_ 8876, x_8875) ->941 h_Kseq x_ 8876 x_8875940 | Kseq (x_14771, x_14770) -> 941 h_Kseq x_14771 x_14770 942 942 (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 943 h_Kswitch h_Kcall x_ 8875)944 | Kwhile (x_ 8879, x_8878, x_8877) ->945 h_Kwhile x_ 8879 x_8878 x_8877943 h_Kswitch h_Kcall x_14770) 944 | Kwhile (x_14774, x_14773, x_14772) -> 945 h_Kwhile x_14774 x_14773 x_14772 946 946 (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 947 h_Kswitch h_Kcall x_ 8877)948 | Kdowhile (x_ 8882, x_8881, x_8880) ->949 h_Kdowhile x_ 8882 x_8881 x_8880947 h_Kswitch h_Kcall x_14772) 948 | Kdowhile (x_14777, x_14776, x_14775) -> 949 h_Kdowhile x_14777 x_14776 x_14775 950 950 (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 951 h_Kswitch h_Kcall x_ 8880)952 | Kfor2 (x_ 8886, x_8885, x_8884, x_8883) ->953 h_Kfor2 x_ 8886 x_8885 x_8884 x_8883951 h_Kswitch h_Kcall x_14775) 952 | Kfor2 (x_14781, x_14780, x_14779, x_14778) -> 953 h_Kfor2 x_14781 x_14780 x_14779 x_14778 954 954 (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 955 h_Kswitch h_Kcall x_ 8883)956 | Kfor3 (x_ 8890, x_8889, x_8888, x_8887) ->957 h_Kfor3 x_ 8890 x_8889 x_8888 x_8887955 h_Kswitch h_Kcall x_14778) 956 | Kfor3 (x_14785, x_14784, x_14783, x_14782) -> 957 h_Kfor3 x_14785 x_14784 x_14783 x_14782 958 958 (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 959 h_Kswitch h_Kcall x_ 8887)960 | Kswitch x_ 8891->961 h_Kswitch x_ 8891959 h_Kswitch h_Kcall x_14782) 960 | Kswitch x_14786 -> 961 h_Kswitch x_14786 962 962 (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 963 h_Kswitch h_Kcall x_ 8891)964 | Kcall (x_ 8895, x_8894, x_8893, x_8892) ->965 h_Kcall x_ 8895 x_8894 x_8893 x_8892963 h_Kswitch h_Kcall x_14786) 964 | Kcall (x_14790, x_14789, x_14788, x_14787) -> 965 h_Kcall x_14790 x_14789 x_14788 x_14787 966 966 (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 967 h_Kswitch h_Kcall x_ 8892)967 h_Kswitch h_Kcall x_14787) 968 968 969 969 (** val cont_inv_rect_Type4 : -
extracted/csyntax.ml
r2827 r2997 1203 1203 (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0) 1204 1204 Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **) 1205 let rec function_rect_Type4 h_mk_function x_ 4482=1205 let rec function_rect_Type4 h_mk_function x_12143 = 1206 1206 let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0; 1207 fn_body = fn_body0 } = x_ 44821207 fn_body = fn_body0 } = x_12143 1208 1208 in 1209 1209 h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0 … … 1212 1212 (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0) 1213 1213 Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **) 1214 let rec function_rect_Type5 h_mk_function x_ 4484=1214 let rec function_rect_Type5 h_mk_function x_12145 = 1215 1215 let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0; 1216 fn_body = fn_body0 } = x_ 44841216 fn_body = fn_body0 } = x_12145 1217 1217 in 1218 1218 h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0 … … 1221 1221 (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0) 1222 1222 Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **) 1223 let rec function_rect_Type3 h_mk_function x_ 4486=1223 let rec function_rect_Type3 h_mk_function x_12147 = 1224 1224 let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0; 1225 fn_body = fn_body0 } = x_ 44861225 fn_body = fn_body0 } = x_12147 1226 1226 in 1227 1227 h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0 … … 1230 1230 (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0) 1231 1231 Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **) 1232 let rec function_rect_Type2 h_mk_function x_ 4488=1232 let rec function_rect_Type2 h_mk_function x_12149 = 1233 1233 let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0; 1234 fn_body = fn_body0 } = x_ 44881234 fn_body = fn_body0 } = x_12149 1235 1235 in 1236 1236 h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0 … … 1239 1239 (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0) 1240 1240 Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **) 1241 let rec function_rect_Type1 h_mk_function x_ 4490=1241 let rec function_rect_Type1 h_mk_function x_12151 = 1242 1242 let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0; 1243 fn_body = fn_body0 } = x_ 44901243 fn_body = fn_body0 } = x_12151 1244 1244 in 1245 1245 h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0 … … 1248 1248 (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0) 1249 1249 Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **) 1250 let rec function_rect_Type0 h_mk_function x_ 4492=1250 let rec function_rect_Type0 h_mk_function x_12153 = 1251 1251 let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0; 1252 fn_body = fn_body0 } = x_ 44921252 fn_body = fn_body0 } = x_12153 1253 1253 in 1254 1254 h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0 … … 1322 1322 clight_fundef -> 'a1 **) 1323 1323 let rec clight_fundef_rect_Type4 h_CL_Internal h_CL_External = function 1324 | CL_Internal x_4514 -> h_CL_Internal x_4514 1325 | CL_External (x_4517, x_4516, x_4515) -> h_CL_External x_4517 x_4516 x_4515 1324 | CL_Internal x_12175 -> h_CL_Internal x_12175 1325 | CL_External (x_12178, x_12177, x_12176) -> 1326 h_CL_External x_12178 x_12177 x_12176 1326 1327 1327 1328 (** val clight_fundef_rect_Type5 : … … 1329 1330 clight_fundef -> 'a1 **) 1330 1331 let rec clight_fundef_rect_Type5 h_CL_Internal h_CL_External = function 1331 | CL_Internal x_4521 -> h_CL_Internal x_4521 1332 | CL_External (x_4524, x_4523, x_4522) -> h_CL_External x_4524 x_4523 x_4522 1332 | CL_Internal x_12182 -> h_CL_Internal x_12182 1333 | CL_External (x_12185, x_12184, x_12183) -> 1334 h_CL_External x_12185 x_12184 x_12183 1333 1335 1334 1336 (** val clight_fundef_rect_Type3 : … … 1336 1338 clight_fundef -> 'a1 **) 1337 1339 let rec clight_fundef_rect_Type3 h_CL_Internal h_CL_External = function 1338 | CL_Internal x_4528 -> h_CL_Internal x_4528 1339 | CL_External (x_4531, x_4530, x_4529) -> h_CL_External x_4531 x_4530 x_4529 1340 | CL_Internal x_12189 -> h_CL_Internal x_12189 1341 | CL_External (x_12192, x_12191, x_12190) -> 1342 h_CL_External x_12192 x_12191 x_12190 1340 1343 1341 1344 (** val clight_fundef_rect_Type2 : … … 1343 1346 clight_fundef -> 'a1 **) 1344 1347 let rec clight_fundef_rect_Type2 h_CL_Internal h_CL_External = function 1345 | CL_Internal x_4535 -> h_CL_Internal x_4535 1346 | CL_External (x_4538, x_4537, x_4536) -> h_CL_External x_4538 x_4537 x_4536 1348 | CL_Internal x_12196 -> h_CL_Internal x_12196 1349 | CL_External (x_12199, x_12198, x_12197) -> 1350 h_CL_External x_12199 x_12198 x_12197 1347 1351 1348 1352 (** val clight_fundef_rect_Type1 : … … 1350 1354 clight_fundef -> 'a1 **) 1351 1355 let rec clight_fundef_rect_Type1 h_CL_Internal h_CL_External = function 1352 | CL_Internal x_4542 -> h_CL_Internal x_4542 1353 | CL_External (x_4545, x_4544, x_4543) -> h_CL_External x_4545 x_4544 x_4543 1356 | CL_Internal x_12203 -> h_CL_Internal x_12203 1357 | CL_External (x_12206, x_12205, x_12204) -> 1358 h_CL_External x_12206 x_12205 x_12204 1354 1359 1355 1360 (** val clight_fundef_rect_Type0 : … … 1357 1362 clight_fundef -> 'a1 **) 1358 1363 let rec clight_fundef_rect_Type0 h_CL_Internal h_CL_External = function 1359 | CL_Internal x_4549 -> h_CL_Internal x_4549 1360 | CL_External (x_4552, x_4551, x_4550) -> h_CL_External x_4552 x_4551 x_4550 1364 | CL_Internal x_12210 -> h_CL_Internal x_12210 1365 | CL_External (x_12213, x_12212, x_12211) -> 1366 h_CL_External x_12213 x_12212 x_12211 1361 1367 1362 1368 (** val clight_fundef_inv_rect_Type4 : … … 1532 1538 (** val mode_rect_Type4 : 1533 1539 (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **) 1534 let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_ 4602= function1540 let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_12263 = function 1535 1541 | By_value t -> h_By_value t 1536 1542 | By_reference -> h_By_reference … … 1539 1545 (** val mode_rect_Type5 : 1540 1546 (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **) 1541 let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_ 4607= function1547 let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_12268 = function 1542 1548 | By_value t -> h_By_value t 1543 1549 | By_reference -> h_By_reference … … 1546 1552 (** val mode_rect_Type3 : 1547 1553 (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **) 1548 let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_ 4612= function1554 let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_12273 = function 1549 1555 | By_value t -> h_By_value t 1550 1556 | By_reference -> h_By_reference … … 1553 1559 (** val mode_rect_Type2 : 1554 1560 (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **) 1555 let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_ 4617= function1561 let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_12278 = function 1556 1562 | By_value t -> h_By_value t 1557 1563 | By_reference -> h_By_reference … … 1560 1566 (** val mode_rect_Type1 : 1561 1567 (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **) 1562 let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_ 4622= function1568 let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_12283 = function 1563 1569 | By_value t -> h_By_value t 1564 1570 | By_reference -> h_By_reference … … 1567 1573 (** val mode_rect_Type0 : 1568 1574 (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **) 1569 let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_ 4627= function1575 let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_12288 = function 1570 1576 | By_value t -> h_By_value t 1571 1577 | By_reference -> h_By_reference -
extracted/eRTL.ml
r2960 r2997 126 126 (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **) 127 127 let rec move_dst_rect_Type4 h_PSD h_HDW = function 128 | PSD x_ 7 -> h_PSD x_7129 | HDW x_8 -> h_HDW x_8128 | PSD x_8132 -> h_PSD x_8132 129 | HDW x_8133 -> h_HDW x_8133 130 130 131 131 (** val move_dst_rect_Type5 : 132 132 (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **) 133 133 let rec move_dst_rect_Type5 h_PSD h_HDW = function 134 | PSD x_ 12 -> h_PSD x_12135 | HDW x_ 13 -> h_HDW x_13134 | PSD x_8137 -> h_PSD x_8137 135 | HDW x_8138 -> h_HDW x_8138 136 136 137 137 (** val move_dst_rect_Type3 : 138 138 (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **) 139 139 let rec move_dst_rect_Type3 h_PSD h_HDW = function 140 | PSD x_ 17 -> h_PSD x_17141 | HDW x_ 18 -> h_HDW x_18140 | PSD x_8142 -> h_PSD x_8142 141 | HDW x_8143 -> h_HDW x_8143 142 142 143 143 (** val move_dst_rect_Type2 : 144 144 (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **) 145 145 let rec move_dst_rect_Type2 h_PSD h_HDW = function 146 | PSD x_ 22 -> h_PSD x_22147 | HDW x_ 23 -> h_HDW x_23146 | PSD x_8147 -> h_PSD x_8147 147 | HDW x_8148 -> h_HDW x_8148 148 148 149 149 (** val move_dst_rect_Type1 : 150 150 (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **) 151 151 let rec move_dst_rect_Type1 h_PSD h_HDW = function 152 | PSD x_ 27 -> h_PSD x_27153 | HDW x_ 28 -> h_HDW x_28152 | PSD x_8152 -> h_PSD x_8152 153 | HDW x_8153 -> h_HDW x_8153 154 154 155 155 (** val move_dst_rect_Type0 : 156 156 (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **) 157 157 let rec move_dst_rect_Type0 h_PSD h_HDW = function 158 | PSD x_ 32 -> h_PSD x_32159 | HDW x_ 33 -> h_HDW x_33158 | PSD x_8157 -> h_PSD x_8157 159 | HDW x_8158 -> h_HDW x_8158 160 160 161 161 (** val move_dst_inv_rect_Type4 : … … 352 352 | Ertl_new_frame -> h_ertl_new_frame 353 353 | Ertl_del_frame -> h_ertl_del_frame 354 | Ertl_frame_size x_ 72 -> h_ertl_frame_size x_72354 | Ertl_frame_size x_8197 -> h_ertl_frame_size x_8197 355 355 356 356 (** val ertl_seq_rect_Type5 : … … 359 359 | Ertl_new_frame -> h_ertl_new_frame 360 360 | Ertl_del_frame -> h_ertl_del_frame 361 | Ertl_frame_size x_ 77 -> h_ertl_frame_size x_77361 | Ertl_frame_size x_8202 -> h_ertl_frame_size x_8202 362 362 363 363 (** val ertl_seq_rect_Type3 : … … 366 366 | Ertl_new_frame -> h_ertl_new_frame 367 367 | Ertl_del_frame -> h_ertl_del_frame 368 | Ertl_frame_size x_82 -> h_ertl_frame_size x_82368 | Ertl_frame_size x_8207 -> h_ertl_frame_size x_8207 369 369 370 370 (** val ertl_seq_rect_Type2 : … … 373 373 | Ertl_new_frame -> h_ertl_new_frame 374 374 | Ertl_del_frame -> h_ertl_del_frame 375 | Ertl_frame_size x_8 7 -> h_ertl_frame_size x_87375 | Ertl_frame_size x_8212 -> h_ertl_frame_size x_8212 376 376 377 377 (** val ertl_seq_rect_Type1 : … … 380 380 | Ertl_new_frame -> h_ertl_new_frame 381 381 | Ertl_del_frame -> h_ertl_del_frame 382 | Ertl_frame_size x_ 92 -> h_ertl_frame_size x_92382 | Ertl_frame_size x_8217 -> h_ertl_frame_size x_8217 383 383 384 384 (** val ertl_seq_rect_Type0 : … … 387 387 | Ertl_new_frame -> h_ertl_new_frame 388 388 | Ertl_del_frame -> h_ertl_del_frame 389 | Ertl_frame_size x_ 97 -> h_ertl_frame_size x_97389 | Ertl_frame_size x_8222 -> h_ertl_frame_size x_8222 390 390 391 391 (** val ertl_seq_inv_rect_Type4 : -
extracted/eRTLptr.ml
r2960 r2997 130 130 (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **) 131 131 let rec ertlptr_seq_rect_Type4 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function 132 | Ertlptr_ertl x_ 141 -> h_ertlptr_ertl x_141133 | LOW_ADDRESS (x_ 143, x_142) -> h_LOW_ADDRESS x_143 x_142134 | HIGH_ADDRESS (x_ 145, x_144) -> h_HIGH_ADDRESS x_145 x_144132 | Ertlptr_ertl x_8266 -> h_ertlptr_ertl x_8266 133 | LOW_ADDRESS (x_8268, x_8267) -> h_LOW_ADDRESS x_8268 x_8267 134 | HIGH_ADDRESS (x_8270, x_8269) -> h_HIGH_ADDRESS x_8270 x_8269 135 135 136 136 (** val ertlptr_seq_rect_Type5 : … … 138 138 (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **) 139 139 let rec ertlptr_seq_rect_Type5 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function 140 | Ertlptr_ertl x_ 150 -> h_ertlptr_ertl x_150141 | LOW_ADDRESS (x_ 152, x_151) -> h_LOW_ADDRESS x_152 x_151142 | HIGH_ADDRESS (x_ 154, x_153) -> h_HIGH_ADDRESS x_154 x_153140 | Ertlptr_ertl x_8275 -> h_ertlptr_ertl x_8275 141 | LOW_ADDRESS (x_8277, x_8276) -> h_LOW_ADDRESS x_8277 x_8276 142 | HIGH_ADDRESS (x_8279, x_8278) -> h_HIGH_ADDRESS x_8279 x_8278 143 143 144 144 (** val ertlptr_seq_rect_Type3 : … … 146 146 (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **) 147 147 let rec ertlptr_seq_rect_Type3 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function 148 | Ertlptr_ertl x_ 159 -> h_ertlptr_ertl x_159149 | LOW_ADDRESS (x_ 161, x_160) -> h_LOW_ADDRESS x_161 x_160150 | HIGH_ADDRESS (x_ 163, x_162) -> h_HIGH_ADDRESS x_163 x_162148 | Ertlptr_ertl x_8284 -> h_ertlptr_ertl x_8284 149 | LOW_ADDRESS (x_8286, x_8285) -> h_LOW_ADDRESS x_8286 x_8285 150 | HIGH_ADDRESS (x_8288, x_8287) -> h_HIGH_ADDRESS x_8288 x_8287 151 151 152 152 (** val ertlptr_seq_rect_Type2 : … … 154 154 (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **) 155 155 let rec ertlptr_seq_rect_Type2 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function 156 | Ertlptr_ertl x_ 168 -> h_ertlptr_ertl x_168157 | LOW_ADDRESS (x_ 170, x_169) -> h_LOW_ADDRESS x_170 x_169158 | HIGH_ADDRESS (x_ 172, x_171) -> h_HIGH_ADDRESS x_172 x_171156 | Ertlptr_ertl x_8293 -> h_ertlptr_ertl x_8293 157 | LOW_ADDRESS (x_8295, x_8294) -> h_LOW_ADDRESS x_8295 x_8294 158 | HIGH_ADDRESS (x_8297, x_8296) -> h_HIGH_ADDRESS x_8297 x_8296 159 159 160 160 (** val ertlptr_seq_rect_Type1 : … … 162 162 (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **) 163 163 let rec ertlptr_seq_rect_Type1 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function 164 | Ertlptr_ertl x_ 177 -> h_ertlptr_ertl x_177165 | LOW_ADDRESS (x_ 179, x_178) -> h_LOW_ADDRESS x_179 x_178166 | HIGH_ADDRESS (x_ 181, x_180) -> h_HIGH_ADDRESS x_181 x_180164 | Ertlptr_ertl x_8302 -> h_ertlptr_ertl x_8302 165 | LOW_ADDRESS (x_8304, x_8303) -> h_LOW_ADDRESS x_8304 x_8303 166 | HIGH_ADDRESS (x_8306, x_8305) -> h_HIGH_ADDRESS x_8306 x_8305 167 167 168 168 (** val ertlptr_seq_rect_Type0 : … … 170 170 (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **) 171 171 let rec ertlptr_seq_rect_Type0 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function 172 | Ertlptr_ertl x_ 186 -> h_ertlptr_ertl x_186173 | LOW_ADDRESS (x_ 188, x_187) -> h_LOW_ADDRESS x_188 x_187174 | HIGH_ADDRESS (x_ 190, x_189) -> h_HIGH_ADDRESS x_190 x_189172 | Ertlptr_ertl x_8311 -> h_ertlptr_ertl x_8311 173 | LOW_ADDRESS (x_8313, x_8312) -> h_LOW_ADDRESS x_8313 x_8312 174 | HIGH_ADDRESS (x_8315, x_8314) -> h_HIGH_ADDRESS x_8315 x_8314 175 175 176 176 (** val ertlptr_seq_inv_rect_Type4 : -
extracted/eRTLptrToLTL.ml
r2960 r2997 181 181 arg_decision -> 'a1 **) 182 182 let rec arg_decision_rect_Type4 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function 183 | Arg_decision_colour x_ 380 -> h_arg_decision_colour x_380184 | Arg_decision_spill x_ 381 -> h_arg_decision_spill x_381185 | Arg_decision_imm x_ 382 -> h_arg_decision_imm x_382183 | Arg_decision_colour x_106 -> h_arg_decision_colour x_106 184 | Arg_decision_spill x_107 -> h_arg_decision_spill x_107 185 | Arg_decision_imm x_108 -> h_arg_decision_imm x_108 186 186 187 187 (** val arg_decision_rect_Type5 : … … 189 189 arg_decision -> 'a1 **) 190 190 let rec arg_decision_rect_Type5 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function 191 | Arg_decision_colour x_ 387 -> h_arg_decision_colour x_387192 | Arg_decision_spill x_ 388 -> h_arg_decision_spill x_388193 | Arg_decision_imm x_ 389 -> h_arg_decision_imm x_389191 | Arg_decision_colour x_113 -> h_arg_decision_colour x_113 192 | Arg_decision_spill x_114 -> h_arg_decision_spill x_114 193 | Arg_decision_imm x_115 -> h_arg_decision_imm x_115 194 194 195 195 (** val arg_decision_rect_Type3 : … … 197 197 arg_decision -> 'a1 **) 198 198 let rec arg_decision_rect_Type3 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function 199 | Arg_decision_colour x_ 394 -> h_arg_decision_colour x_394200 | Arg_decision_spill x_ 395 -> h_arg_decision_spill x_395201 | Arg_decision_imm x_ 396 -> h_arg_decision_imm x_396199 | Arg_decision_colour x_120 -> h_arg_decision_colour x_120 200 | Arg_decision_spill x_121 -> h_arg_decision_spill x_121 201 | Arg_decision_imm x_122 -> h_arg_decision_imm x_122 202 202 203 203 (** val arg_decision_rect_Type2 : … … 205 205 arg_decision -> 'a1 **) 206 206 let rec arg_decision_rect_Type2 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function 207 | Arg_decision_colour x_ 401 -> h_arg_decision_colour x_401208 | Arg_decision_spill x_ 402 -> h_arg_decision_spill x_402209 | Arg_decision_imm x_ 403 -> h_arg_decision_imm x_403207 | Arg_decision_colour x_127 -> h_arg_decision_colour x_127 208 | Arg_decision_spill x_128 -> h_arg_decision_spill x_128 209 | Arg_decision_imm x_129 -> h_arg_decision_imm x_129 210 210 211 211 (** val arg_decision_rect_Type1 : … … 213 213 arg_decision -> 'a1 **) 214 214 let rec arg_decision_rect_Type1 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function 215 | Arg_decision_colour x_ 408 -> h_arg_decision_colour x_408216 | Arg_decision_spill x_ 409 -> h_arg_decision_spill x_409217 | Arg_decision_imm x_ 410 -> h_arg_decision_imm x_410215 | Arg_decision_colour x_134 -> h_arg_decision_colour x_134 216 | Arg_decision_spill x_135 -> h_arg_decision_spill x_135 217 | Arg_decision_imm x_136 -> h_arg_decision_imm x_136 218 218 219 219 (** val arg_decision_rect_Type0 : … … 221 221 arg_decision -> 'a1 **) 222 222 let rec arg_decision_rect_Type0 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function 223 | Arg_decision_colour x_ 415 -> h_arg_decision_colour x_415224 | Arg_decision_spill x_ 416 -> h_arg_decision_spill x_416225 | Arg_decision_imm x_ 417 -> h_arg_decision_imm x_417223 | Arg_decision_colour x_141 -> h_arg_decision_colour x_141 224 | Arg_decision_spill x_142 -> h_arg_decision_spill x_142 225 | Arg_decision_imm x_143 -> h_arg_decision_imm x_143 226 226 227 227 (** val arg_decision_inv_rect_Type4 : -
extracted/errorMessages.ml
r2960 r2997 82 82 | FunctionNotFound 83 83 | StackOverflow 84 -
extracted/errors.ml
r2827 r2997 43 43 PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **) 44 44 let rec errcode_rect_Type4 h_MSG h_CTX = function 45 | MSG x_ 3100 -> h_MSG x_310046 | CTX (tag, x_ 3101) -> h_CTX tag x_310145 | MSG x_7 -> h_MSG x_7 46 | CTX (tag, x_8) -> h_CTX tag x_8 47 47 48 48 (** val errcode_rect_Type5 : … … 50 50 PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **) 51 51 let rec errcode_rect_Type5 h_MSG h_CTX = function 52 | MSG x_ 3105 -> h_MSG x_310553 | CTX (tag, x_ 3106) -> h_CTX tag x_310652 | MSG x_12 -> h_MSG x_12 53 | CTX (tag, x_13) -> h_CTX tag x_13 54 54 55 55 (** val errcode_rect_Type3 : … … 57 57 PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **) 58 58 let rec errcode_rect_Type3 h_MSG h_CTX = function 59 | MSG x_ 3110 -> h_MSG x_311060 | CTX (tag, x_ 3111) -> h_CTX tag x_311159 | MSG x_17 -> h_MSG x_17 60 | CTX (tag, x_18) -> h_CTX tag x_18 61 61 62 62 (** val errcode_rect_Type2 : … … 64 64 PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **) 65 65 let rec errcode_rect_Type2 h_MSG h_CTX = function 66 | MSG x_ 3115 -> h_MSG x_311567 | CTX (tag, x_ 3116) -> h_CTX tag x_311666 | MSG x_22 -> h_MSG x_22 67 | CTX (tag, x_23) -> h_CTX tag x_23 68 68 69 69 (** val errcode_rect_Type1 : … … 71 71 PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **) 72 72 let rec errcode_rect_Type1 h_MSG h_CTX = function 73 | MSG x_ 3120 -> h_MSG x_312074 | CTX (tag, x_ 3121) -> h_CTX tag x_312173 | MSG x_27 -> h_MSG x_27 74 | CTX (tag, x_28) -> h_CTX tag x_28 75 75 76 76 (** val errcode_rect_Type0 : … … 78 78 PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **) 79 79 let rec errcode_rect_Type0 h_MSG h_CTX = function 80 | MSG x_3 125 -> h_MSG x_312581 | CTX (tag, x_3 126) -> h_CTX tag x_312680 | MSG x_32 -> h_MSG x_32 81 | CTX (tag, x_33) -> h_CTX tag x_33 82 82 83 83 (** val errcode_inv_rect_Type4 : … … 143 143 ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **) 144 144 let rec res_rect_Type4 h_OK h_Error = function 145 | OK x_ 3165 -> h_OK x_3165146 | Error x_ 3166 -> h_Error x_3166145 | OK x_72 -> h_OK x_72 146 | Error x_73 -> h_Error x_73 147 147 148 148 (** val res_rect_Type5 : 149 149 ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **) 150 150 let rec res_rect_Type5 h_OK h_Error = function 151 | OK x_ 3170 -> h_OK x_3170152 | Error x_ 3171 -> h_Error x_3171151 | OK x_77 -> h_OK x_77 152 | Error x_78 -> h_Error x_78 153 153 154 154 (** val res_rect_Type3 : 155 155 ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **) 156 156 let rec res_rect_Type3 h_OK h_Error = function 157 | OK x_ 3175 -> h_OK x_3175158 | Error x_ 3176 -> h_Error x_3176157 | OK x_82 -> h_OK x_82 158 | Error x_83 -> h_Error x_83 159 159 160 160 (** val res_rect_Type2 : 161 161 ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **) 162 162 let rec res_rect_Type2 h_OK h_Error = function 163 | OK x_ 3180 -> h_OK x_3180164 | Error x_ 3181 -> h_Error x_3181163 | OK x_87 -> h_OK x_87 164 | Error x_88 -> h_Error x_88 165 165 166 166 (** val res_rect_Type1 : 167 167 ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **) 168 168 let rec res_rect_Type1 h_OK h_Error = function 169 | OK x_ 3185 -> h_OK x_3185170 | Error x_ 3186 -> h_Error x_3186169 | OK x_92 -> h_OK x_92 170 | Error x_93 -> h_Error x_93 171 171 172 172 (** val res_rect_Type0 : 173 173 ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **) 174 174 let rec res_rect_Type0 h_OK h_Error = function 175 | OK x_ 3190 -> h_OK x_3190176 | Error x_ 3191 -> h_Error x_3191175 | OK x_97 -> h_OK x_97 176 | Error x_98 -> h_Error x_98 177 177 178 178 (** val res_inv_rect_Type4 : -
extracted/events.ml
r2827 r2997 89 89 (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **) 90 90 let rec eventval_rect_Type4 h_EVint = function 91 | EVint (sz, x_ 5524) -> h_EVint sz x_552491 | EVint (sz, x_4405) -> h_EVint sz x_4405 92 92 93 93 (** val eventval_rect_Type5 : 94 94 (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **) 95 95 let rec eventval_rect_Type5 h_EVint = function 96 | EVint (sz, x_ 5527) -> h_EVint sz x_552796 | EVint (sz, x_4408) -> h_EVint sz x_4408 97 97 98 98 (** val eventval_rect_Type3 : 99 99 (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **) 100 100 let rec eventval_rect_Type3 h_EVint = function 101 | EVint (sz, x_ 5530) -> h_EVint sz x_5530101 | EVint (sz, x_4411) -> h_EVint sz x_4411 102 102 103 103 (** val eventval_rect_Type2 : 104 104 (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **) 105 105 let rec eventval_rect_Type2 h_EVint = function 106 | EVint (sz, x_ 5533) -> h_EVint sz x_5533106 | EVint (sz, x_4414) -> h_EVint sz x_4414 107 107 108 108 (** val eventval_rect_Type1 : 109 109 (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **) 110 110 let rec eventval_rect_Type1 h_EVint = function 111 | EVint (sz, x_ 5536) -> h_EVint sz x_5536111 | EVint (sz, x_4417) -> h_EVint sz x_4417 112 112 113 113 (** val eventval_rect_Type0 : 114 114 (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **) 115 115 let rec eventval_rect_Type0 h_EVint = function 116 | EVint (sz, x_ 5539) -> h_EVint sz x_5539116 | EVint (sz, x_4420) -> h_EVint sz x_4420 117 117 118 118 (** val eventval_inv_rect_Type4 : … … 159 159 eventval -> 'a1) -> event -> 'a1 **) 160 160 let rec event_rect_Type4 h_EVcost h_EVextcall = function 161 | EVcost x_ 5564 -> h_EVcost x_5564161 | EVcost x_4445 -> h_EVcost x_4445 162 162 | EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res 163 163 … … 166 166 eventval -> 'a1) -> event -> 'a1 **) 167 167 let rec event_rect_Type5 h_EVcost h_EVextcall = function 168 | EVcost x_ 5568 -> h_EVcost x_5568168 | EVcost x_4449 -> h_EVcost x_4449 169 169 | EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res 170 170 … … 173 173 eventval -> 'a1) -> event -> 'a1 **) 174 174 let rec event_rect_Type3 h_EVcost h_EVextcall = function 175 | EVcost x_ 5572 -> h_EVcost x_5572175 | EVcost x_4453 -> h_EVcost x_4453 176 176 | EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res 177 177 … … 180 180 eventval -> 'a1) -> event -> 'a1 **) 181 181 let rec event_rect_Type2 h_EVcost h_EVextcall = function 182 | EVcost x_ 5576 -> h_EVcost x_5576182 | EVcost x_4457 -> h_EVcost x_4457 183 183 | EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res 184 184 … … 187 187 eventval -> 'a1) -> event -> 'a1 **) 188 188 let rec event_rect_Type1 h_EVcost h_EVextcall = function 189 | EVcost x_ 5580 -> h_EVcost x_5580189 | EVcost x_4461 -> h_EVcost x_4461 190 190 | EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res 191 191 … … 194 194 eventval -> 'a1) -> event -> 'a1 **) 195 195 let rec event_rect_Type0 h_EVcost h_EVextcall = function 196 | EVcost x_ 5584 -> h_EVcost x_5584196 | EVcost x_4465 -> h_EVcost x_4465 197 197 | EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res 198 198 -
extracted/fetch.ml
r2951 r2997 98 98 (Types.pi1 99 99 (FoldStuff.foldl_strong program (fun prefix x tl _ labels_costs_ppc -> 100 (let { Types.fst = eta24 730; Types.snd = ppc } =100 (let { Types.fst = eta24856; Types.snd = ppc } = 101 101 Types.pi1 labels_costs_ppc 102 102 in 103 103 (fun _ -> 104 (let { Types.fst = labels; Types.snd = costs } = eta24 730in104 (let { Types.fst = labels; Types.snd = costs } = eta24856 in 105 105 (fun _ -> 106 106 (let { Types.fst = label; Types.snd = instr } = x in -
extracted/fixpoints.ml
r2951 r2997 80 80 (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ -> 81 81 Bool.bool) -> 'a1) -> property_lattice -> 'a1 **) 82 let rec property_lattice_rect_Type4 h_mk_property_lattice x_ 19049 =83 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 84 l_is_maximal = l_is_maximal0 } = x_ 1904982 let rec property_lattice_rect_Type4 h_mk_property_lattice x_8779 = 83 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 84 l_is_maximal = l_is_maximal0 } = x_8779 85 85 in 86 86 h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0 … … 89 89 (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ -> 90 90 Bool.bool) -> 'a1) -> property_lattice -> 'a1 **) 91 let rec property_lattice_rect_Type5 h_mk_property_lattice x_ 19051 =92 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 93 l_is_maximal = l_is_maximal0 } = x_ 1905191 let rec property_lattice_rect_Type5 h_mk_property_lattice x_8781 = 92 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 93 l_is_maximal = l_is_maximal0 } = x_8781 94 94 in 95 95 h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0 … … 98 98 (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ -> 99 99 Bool.bool) -> 'a1) -> property_lattice -> 'a1 **) 100 let rec property_lattice_rect_Type3 h_mk_property_lattice x_ 19053 =101 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 102 l_is_maximal = l_is_maximal0 } = x_ 19053100 let rec property_lattice_rect_Type3 h_mk_property_lattice x_8783 = 101 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 102 l_is_maximal = l_is_maximal0 } = x_8783 103 103 in 104 104 h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0 … … 107 107 (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ -> 108 108 Bool.bool) -> 'a1) -> property_lattice -> 'a1 **) 109 let rec property_lattice_rect_Type2 h_mk_property_lattice x_ 19055 =110 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 111 l_is_maximal = l_is_maximal0 } = x_ 19055109 let rec property_lattice_rect_Type2 h_mk_property_lattice x_8785 = 110 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 111 l_is_maximal = l_is_maximal0 } = x_8785 112 112 in 113 113 h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0 … … 116 116 (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ -> 117 117 Bool.bool) -> 'a1) -> property_lattice -> 'a1 **) 118 let rec property_lattice_rect_Type1 h_mk_property_lattice x_ 19057 =119 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 120 l_is_maximal = l_is_maximal0 } = x_ 19057118 let rec property_lattice_rect_Type1 h_mk_property_lattice x_8787 = 119 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 120 l_is_maximal = l_is_maximal0 } = x_8787 121 121 in 122 122 h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0 … … 125 125 (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ -> 126 126 Bool.bool) -> 'a1) -> property_lattice -> 'a1 **) 127 let rec property_lattice_rect_Type0 h_mk_property_lattice x_ 19059 =128 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 129 l_is_maximal = l_is_maximal0 } = x_ 19059127 let rec property_lattice_rect_Type0 h_mk_property_lattice x_8789 = 128 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 129 l_is_maximal = l_is_maximal0 } = x_8789 130 130 in 131 131 h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0 … … 201 201 property_lattice -> equations -> (valuation -> __ -> 'a1) -> fixpoint -> 202 202 'a1 **) 203 let rec fixpoint_rect_Type4 latt eqs h_mk_fixpoint x_ 19080 =204 let fix_lfp = x_ 19080 in h_mk_fixpoint fix_lfp __203 let rec fixpoint_rect_Type4 latt eqs h_mk_fixpoint x_8810 = 204 let fix_lfp = x_8810 in h_mk_fixpoint fix_lfp __ 205 205 206 206 (** val fixpoint_rect_Type5 : 207 207 property_lattice -> equations -> (valuation -> __ -> 'a1) -> fixpoint -> 208 208 'a1 **) 209 let rec fixpoint_rect_Type5 latt eqs h_mk_fixpoint x_ 19082 =210 let fix_lfp = x_ 19082 in h_mk_fixpoint fix_lfp __209 let rec fixpoint_rect_Type5 latt eqs h_mk_fixpoint x_8812 = 210 let fix_lfp = x_8812 in h_mk_fixpoint fix_lfp __ 211 211 212 212 (** val fixpoint_rect_Type3 : 213 213 property_lattice -> equations -> (valuation -> __ -> 'a1) -> fixpoint -> 214 214 'a1 **) 215 let rec fixpoint_rect_Type3 latt eqs h_mk_fixpoint x_ 19084 =216 let fix_lfp = x_ 19084 in h_mk_fixpoint fix_lfp __215 let rec fixpoint_rect_Type3 latt eqs h_mk_fixpoint x_8814 = 216 let fix_lfp = x_8814 in h_mk_fixpoint fix_lfp __ 217 217 218 218 (** val fixpoint_rect_Type2 : 219 219 property_lattice -> equations -> (valuation -> __ -> 'a1) -> fixpoint -> 220 220 'a1 **) 221 let rec fixpoint_rect_Type2 latt eqs h_mk_fixpoint x_ 19086 =222 let fix_lfp = x_ 19086 in h_mk_fixpoint fix_lfp __221 let rec fixpoint_rect_Type2 latt eqs h_mk_fixpoint x_8816 = 222 let fix_lfp = x_8816 in h_mk_fixpoint fix_lfp __ 223 223 224 224 (** val fixpoint_rect_Type1 : 225 225 property_lattice -> equations -> (valuation -> __ -> 'a1) -> fixpoint -> 226 226 'a1 **) 227 let rec fixpoint_rect_Type1 latt eqs h_mk_fixpoint x_ 19088 =228 let fix_lfp = x_ 19088 in h_mk_fixpoint fix_lfp __227 let rec fixpoint_rect_Type1 latt eqs h_mk_fixpoint x_8818 = 228 let fix_lfp = x_8818 in h_mk_fixpoint fix_lfp __ 229 229 230 230 (** val fixpoint_rect_Type0 : 231 231 property_lattice -> equations -> (valuation -> __ -> 'a1) -> fixpoint -> 232 232 'a1 **) 233 let rec fixpoint_rect_Type0 latt eqs h_mk_fixpoint x_ 19090 =234 let fix_lfp = x_ 19090 in h_mk_fixpoint fix_lfp __233 let rec fixpoint_rect_Type0 latt eqs h_mk_fixpoint x_8820 = 234 let fix_lfp = x_8820 in h_mk_fixpoint fix_lfp __ 235 235 236 236 (** val fix_lfp : property_lattice -> equations -> fixpoint -> valuation **) -
extracted/frontEndOps.ml
r2951 r2997 99 99 (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident -> 100 100 Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **) 101 let rec constant_rect_Type4 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_ 13161= function102 | Ointconst (sz, sg, x_ 13163) -> h_Ointconst sz sg x_13163103 | Oaddrsymbol (x_ 13165, x_13164) -> h_Oaddrsymbol x_13165 x_13164104 | Oaddrstack x_ 13166 -> h_Oaddrstack x_13166101 let rec constant_rect_Type4 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_9125 = function 102 | Ointconst (sz, sg, x_9127) -> h_Ointconst sz sg x_9127 103 | Oaddrsymbol (x_9129, x_9128) -> h_Oaddrsymbol x_9129 x_9128 104 | Oaddrstack x_9130 -> h_Oaddrstack x_9130 105 105 106 106 (** val constant_rect_Type5 : 107 107 (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident -> 108 108 Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **) 109 let rec constant_rect_Type5 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_ 13170= function110 | Ointconst (sz, sg, x_ 13172) -> h_Ointconst sz sg x_13172111 | Oaddrsymbol (x_ 13174, x_13173) -> h_Oaddrsymbol x_13174 x_13173112 | Oaddrstack x_ 13175 -> h_Oaddrstack x_13175109 let rec constant_rect_Type5 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_9134 = function 110 | Ointconst (sz, sg, x_9136) -> h_Ointconst sz sg x_9136 111 | Oaddrsymbol (x_9138, x_9137) -> h_Oaddrsymbol x_9138 x_9137 112 | Oaddrstack x_9139 -> h_Oaddrstack x_9139 113 113 114 114 (** val constant_rect_Type3 : 115 115 (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident -> 116 116 Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **) 117 let rec constant_rect_Type3 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_ 13179= function118 | Ointconst (sz, sg, x_ 13181) -> h_Ointconst sz sg x_13181119 | Oaddrsymbol (x_ 13183, x_13182) -> h_Oaddrsymbol x_13183 x_13182120 | Oaddrstack x_ 13184 -> h_Oaddrstack x_13184117 let rec constant_rect_Type3 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_9143 = function 118 | Ointconst (sz, sg, x_9145) -> h_Ointconst sz sg x_9145 119 | Oaddrsymbol (x_9147, x_9146) -> h_Oaddrsymbol x_9147 x_9146 120 | Oaddrstack x_9148 -> h_Oaddrstack x_9148 121 121 122 122 (** val constant_rect_Type2 : 123 123 (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident -> 124 124 Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **) 125 let rec constant_rect_Type2 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_ 13188= function126 | Ointconst (sz, sg, x_ 13190) -> h_Ointconst sz sg x_13190127 | Oaddrsymbol (x_ 13192, x_13191) -> h_Oaddrsymbol x_13192 x_13191128 | Oaddrstack x_ 13193 -> h_Oaddrstack x_13193125 let rec constant_rect_Type2 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_9152 = function 126 | Ointconst (sz, sg, x_9154) -> h_Ointconst sz sg x_9154 127 | Oaddrsymbol (x_9156, x_9155) -> h_Oaddrsymbol x_9156 x_9155 128 | Oaddrstack x_9157 -> h_Oaddrstack x_9157 129 129 130 130 (** val constant_rect_Type1 : 131 131 (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident -> 132 132 Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **) 133 let rec constant_rect_Type1 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_ 13197= function134 | Ointconst (sz, sg, x_ 13199) -> h_Ointconst sz sg x_13199135 | Oaddrsymbol (x_ 13201, x_13200) -> h_Oaddrsymbol x_13201 x_13200136 | Oaddrstack x_ 13202 -> h_Oaddrstack x_13202133 let rec constant_rect_Type1 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_9161 = function 134 | Ointconst (sz, sg, x_9163) -> h_Ointconst sz sg x_9163 135 | Oaddrsymbol (x_9165, x_9164) -> h_Oaddrsymbol x_9165 x_9164 136 | Oaddrstack x_9166 -> h_Oaddrstack x_9166 137 137 138 138 (** val constant_rect_Type0 : 139 139 (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident -> 140 140 Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **) 141 let rec constant_rect_Type0 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_ 13206= function142 | Ointconst (sz, sg, x_ 13208) -> h_Ointconst sz sg x_13208143 | Oaddrsymbol (x_ 13210, x_13209) -> h_Oaddrsymbol x_13210 x_13209144 | Oaddrstack x_ 13211 -> h_Oaddrstack x_13211141 let rec constant_rect_Type0 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_9170 = function 142 | Ointconst (sz, sg, x_9172) -> h_Ointconst sz sg x_9172 143 | Oaddrsymbol (x_9174, x_9173) -> h_Oaddrsymbol x_9174 x_9173 144 | Oaddrstack x_9175 -> h_Oaddrstack x_9175 145 145 146 146 (** val constant_inv_rect_Type4 : … … 211 211 (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ -> 212 212 unary_operation -> 'a1 **) 213 let rec unary_operation_rect_Type4 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_ 13281 x_13280= function213 let rec unary_operation_rect_Type4 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_9245 x_9244 = function 214 214 | Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg' 215 215 | Onegint (sz, sg) -> h_Onegint sz sg … … 227 227 (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ -> 228 228 unary_operation -> 'a1 **) 229 let rec unary_operation_rect_Type5 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_ 13292 x_13291= function229 let rec unary_operation_rect_Type5 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_9256 x_9255 = function 230 230 | Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg' 231 231 | Onegint (sz, sg) -> h_Onegint sz sg … … 243 243 (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ -> 244 244 unary_operation -> 'a1 **) 245 let rec unary_operation_rect_Type3 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_ 13303 x_13302= function245 let rec unary_operation_rect_Type3 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_9267 x_9266 = function 246 246 | Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg' 247 247 | Onegint (sz, sg) -> h_Onegint sz sg … … 259 259 (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ -> 260 260 unary_operation -> 'a1 **) 261 let rec unary_operation_rect_Type2 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_ 13314 x_13313= function261 let rec unary_operation_rect_Type2 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_9278 x_9277 = function 262 262 | Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg' 263 263 | Onegint (sz, sg) -> h_Onegint sz sg … … 275 275 (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ -> 276 276 unary_operation -> 'a1 **) 277 let rec unary_operation_rect_Type1 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_ 13325 x_13324= function277 let rec unary_operation_rect_Type1 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_9289 x_9288 = function 278 278 | Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg' 279 279 | Onegint (sz, sg) -> h_Onegint sz sg … … 291 291 (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ -> 292 292 unary_operation -> 'a1 **) 293 let rec unary_operation_rect_Type0 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_ 13336 x_13335= function293 let rec unary_operation_rect_Type0 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_9300 x_9299 = function 294 294 | Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg' 295 295 | Onegint (sz, sg) -> h_Onegint sz sg … … 426 426 (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) -> 427 427 AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **) 428 let rec binary_operation_rect_Type4 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_ 13441 x_13440 x_13439= function428 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_9405 x_9404 x_9403 = function 429 429 | Oadd (sz, sg) -> h_Oadd sz sg 430 430 | Osub (sz, sg) -> h_Osub sz sg … … 440 440 | Oshr (sz, sg) -> h_Oshr sz sg 441 441 | Oshru (sz, sg) -> h_Oshru sz sg 442 | Ocmp (sz, sg, sg', x_ 13443) -> h_Ocmp sz sg sg' x_13443443 | Ocmpu (sz, sg', x_ 13444) -> h_Ocmpu sz sg' x_13444442 | Ocmp (sz, sg, sg', x_9407) -> h_Ocmp sz sg sg' x_9407 443 | Ocmpu (sz, sg', x_9408) -> h_Ocmpu sz sg' x_9408 444 444 | Oaddpi sz -> h_Oaddpi sz 445 445 | Oaddip sz -> h_Oaddip sz 446 446 | Osubpi sz -> h_Osubpi sz 447 447 | Osubpp sz -> h_Osubpp sz 448 | Ocmpp (sg', x_ 13445) -> h_Ocmpp sg' x_13445448 | Ocmpp (sg', x_9409) -> h_Ocmpp sg' x_9409 449 449 450 450 (** val binary_operation_rect_Type5 : … … 461 461 (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) -> 462 462 AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **) 463 let rec binary_operation_rect_Type5 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_ 13468 x_13467 x_13466= function463 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_9432 x_9431 x_9430 = function 464 464 | Oadd (sz, sg) -> h_Oadd sz sg 465 465 | Osub (sz, sg) -> h_Osub sz sg … … 475 475 | Oshr (sz, sg) -> h_Oshr sz sg 476 476 | Oshru (sz, sg) -> h_Oshru sz sg 477 | Ocmp (sz, sg, sg', x_ 13470) -> h_Ocmp sz sg sg' x_13470478 | Ocmpu (sz, sg', x_ 13471) -> h_Ocmpu sz sg' x_13471477 | Ocmp (sz, sg, sg', x_9434) -> h_Ocmp sz sg sg' x_9434 478 | Ocmpu (sz, sg', x_9435) -> h_Ocmpu sz sg' x_9435 479 479 | Oaddpi sz -> h_Oaddpi sz 480 480 | Oaddip sz -> h_Oaddip sz 481 481 | Osubpi sz -> h_Osubpi sz 482 482 | Osubpp sz -> h_Osubpp sz 483 | Ocmpp (sg', x_ 13472) -> h_Ocmpp sg' x_13472483 | Ocmpp (sg', x_9436) -> h_Ocmpp sg' x_9436 484 484 485 485 (** val binary_operation_rect_Type3 : … … 496 496 (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) -> 497 497 AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **) 498 let rec binary_operation_rect_Type3 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_ 13495 x_13494 x_13493= function498 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_9459 x_9458 x_9457 = function 499 499 | Oadd (sz, sg) -> h_Oadd sz sg 500 500 | Osub (sz, sg) -> h_Osub sz sg … … 510 510 | Oshr (sz, sg) -> h_Oshr sz sg 511 511 | Oshru (sz, sg) -> h_Oshru sz sg 512 | Ocmp (sz, sg, sg', x_ 13497) -> h_Ocmp sz sg sg' x_13497513 | Ocmpu (sz, sg', x_ 13498) -> h_Ocmpu sz sg' x_13498512 | Ocmp (sz, sg, sg', x_9461) -> h_Ocmp sz sg sg' x_9461 513 | Ocmpu (sz, sg', x_9462) -> h_Ocmpu sz sg' x_9462 514 514 | Oaddpi sz -> h_Oaddpi sz 515 515 | Oaddip sz -> h_Oaddip sz 516 516 | Osubpi sz -> h_Osubpi sz 517 517 | Osubpp sz -> h_Osubpp sz 518 | Ocmpp (sg', x_ 13499) -> h_Ocmpp sg' x_13499518 | Ocmpp (sg', x_9463) -> h_Ocmpp sg' x_9463 519 519 520 520 (** val binary_operation_rect_Type2 : … … 531 531 (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) -> 532 532 AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **) 533 let rec binary_operation_rect_Type2 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_ 13522 x_13521 x_13520= function533 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_9486 x_9485 x_9484 = function 534 534 | Oadd (sz, sg) -> h_Oadd sz sg 535 535 | Osub (sz, sg) -> h_Osub sz sg … … 545 545 | Oshr (sz, sg) -> h_Oshr sz sg 546 546 | Oshru (sz, sg) -> h_Oshru sz sg 547 | Ocmp (sz, sg, sg', x_ 13524) -> h_Ocmp sz sg sg' x_13524548 | Ocmpu (sz, sg', x_ 13525) -> h_Ocmpu sz sg' x_13525547 | Ocmp (sz, sg, sg', x_9488) -> h_Ocmp sz sg sg' x_9488 548 | Ocmpu (sz, sg', x_9489) -> h_Ocmpu sz sg' x_9489 549 549 | Oaddpi sz -> h_Oaddpi sz 550 550 | Oaddip sz -> h_Oaddip sz 551 551 | Osubpi sz -> h_Osubpi sz 552 552 | Osubpp sz -> h_Osubpp sz 553 | Ocmpp (sg', x_ 13526) -> h_Ocmpp sg' x_13526553 | Ocmpp (sg', x_9490) -> h_Ocmpp sg' x_9490 554 554 555 555 (** val binary_operation_rect_Type1 : … … 566 566 (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) -> 567 567 AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **) 568 let rec binary_operation_rect_Type1 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_ 13549 x_13548 x_13547= function568 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_9513 x_9512 x_9511 = function 569 569 | Oadd (sz, sg) -> h_Oadd sz sg 570 570 | Osub (sz, sg) -> h_Osub sz sg … … 580 580 | Oshr (sz, sg) -> h_Oshr sz sg 581 581 | Oshru (sz, sg) -> h_Oshru sz sg 582 | Ocmp (sz, sg, sg', x_ 13551) -> h_Ocmp sz sg sg' x_13551583 | Ocmpu (sz, sg', x_ 13552) -> h_Ocmpu sz sg' x_13552582 | Ocmp (sz, sg, sg', x_9515) -> h_Ocmp sz sg sg' x_9515 583 | Ocmpu (sz, sg', x_9516) -> h_Ocmpu sz sg' x_9516 584 584 | Oaddpi sz -> h_Oaddpi sz 585 585 | Oaddip sz -> h_Oaddip sz 586 586 | Osubpi sz -> h_Osubpi sz 587 587 | Osubpp sz -> h_Osubpp sz 588 | Ocmpp (sg', x_ 13553) -> h_Ocmpp sg' x_13553588 | Ocmpp (sg', x_9517) -> h_Ocmpp sg' x_9517 589 589 590 590 (** val binary_operation_rect_Type0 : … … 601 601 (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) -> 602 602 AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **) 603 let rec binary_operation_rect_Type0 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_ 13576 x_13575 x_13574= function603 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_9540 x_9539 x_9538 = function 604 604 | Oadd (sz, sg) -> h_Oadd sz sg 605 605 | Osub (sz, sg) -> h_Osub sz sg … … 615 615 | Oshr (sz, sg) -> h_Oshr sz sg 616 616 | Oshru (sz, sg) -> h_Oshru sz sg 617 | Ocmp (sz, sg, sg', x_ 13578) -> h_Ocmp sz sg sg' x_13578618 | Ocmpu (sz, sg', x_ 13579) -> h_Ocmpu sz sg' x_13579617 | Ocmp (sz, sg, sg', x_9542) -> h_Ocmp sz sg sg' x_9542 618 | Ocmpu (sz, sg', x_9543) -> h_Ocmpu sz sg' x_9543 619 619 | Oaddpi sz -> h_Oaddpi sz 620 620 | Oaddip sz -> h_Oaddip sz 621 621 | Osubpi sz -> h_Osubpi sz 622 622 | Osubpp sz -> h_Osubpp sz 623 | Ocmpp (sg', x_ 13580) -> h_Ocmpp sg' x_13580623 | Ocmpp (sg', x_9544) -> h_Ocmpp sg' x_9544 624 624 625 625 (** val binary_operation_inv_rect_Type4 : -
extracted/genMem.ml
r2951 r2997 100 100 (** val block_contents_rect_Type4 : 101 101 (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **) 102 let rec block_contents_rect_Type4 h_mk_block_contents x_65 55=103 let { low = low0; high = high0; contents = contents0 } = x_65 55in102 let rec block_contents_rect_Type4 h_mk_block_contents x_6504 = 103 let { low = low0; high = high0; contents = contents0 } = x_6504 in 104 104 h_mk_block_contents low0 high0 contents0 105 105 106 106 (** val block_contents_rect_Type5 : 107 107 (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **) 108 let rec block_contents_rect_Type5 h_mk_block_contents x_65 57=109 let { low = low0; high = high0; contents = contents0 } = x_65 57in108 let rec block_contents_rect_Type5 h_mk_block_contents x_6506 = 109 let { low = low0; high = high0; contents = contents0 } = x_6506 in 110 110 h_mk_block_contents low0 high0 contents0 111 111 112 112 (** val block_contents_rect_Type3 : 113 113 (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **) 114 let rec block_contents_rect_Type3 h_mk_block_contents x_65 59=115 let { low = low0; high = high0; contents = contents0 } = x_65 59in114 let rec block_contents_rect_Type3 h_mk_block_contents x_6508 = 115 let { low = low0; high = high0; contents = contents0 } = x_6508 in 116 116 h_mk_block_contents low0 high0 contents0 117 117 118 118 (** val block_contents_rect_Type2 : 119 119 (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **) 120 let rec block_contents_rect_Type2 h_mk_block_contents x_65 61=121 let { low = low0; high = high0; contents = contents0 } = x_65 61in120 let rec block_contents_rect_Type2 h_mk_block_contents x_6510 = 121 let { low = low0; high = high0; contents = contents0 } = x_6510 in 122 122 h_mk_block_contents low0 high0 contents0 123 123 124 124 (** val block_contents_rect_Type1 : 125 125 (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **) 126 let rec block_contents_rect_Type1 h_mk_block_contents x_65 63=127 let { low = low0; high = high0; contents = contents0 } = x_65 63in126 let rec block_contents_rect_Type1 h_mk_block_contents x_6512 = 127 let { low = low0; high = high0; contents = contents0 } = x_6512 in 128 128 h_mk_block_contents low0 high0 contents0 129 129 130 130 (** val block_contents_rect_Type0 : 131 131 (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **) 132 let rec block_contents_rect_Type0 h_mk_block_contents x_65 65=133 let { low = low0; high = high0; contents = contents0 } = x_65 65in132 let rec block_contents_rect_Type0 h_mk_block_contents x_6514 = 133 let { low = low0; high = high0; contents = contents0 } = x_6514 in 134 134 h_mk_block_contents low0 high0 contents0 135 135 … … 187 187 (** val mem_rect_Type4 : 188 188 ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **) 189 let rec mem_rect_Type4 h_mk_mem x_65 81=190 let { blocks = blocks0; nextblock = nextblock0 } = x_65 81in189 let rec mem_rect_Type4 h_mk_mem x_6530 = 190 let { blocks = blocks0; nextblock = nextblock0 } = x_6530 in 191 191 h_mk_mem blocks0 nextblock0 __ 192 192 193 193 (** val mem_rect_Type5 : 194 194 ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **) 195 let rec mem_rect_Type5 h_mk_mem x_65 83=196 let { blocks = blocks0; nextblock = nextblock0 } = x_65 83in195 let rec mem_rect_Type5 h_mk_mem x_6532 = 196 let { blocks = blocks0; nextblock = nextblock0 } = x_6532 in 197 197 h_mk_mem blocks0 nextblock0 __ 198 198 199 199 (** val mem_rect_Type3 : 200 200 ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **) 201 let rec mem_rect_Type3 h_mk_mem x_65 85=202 let { blocks = blocks0; nextblock = nextblock0 } = x_65 85in201 let rec mem_rect_Type3 h_mk_mem x_6534 = 202 let { blocks = blocks0; nextblock = nextblock0 } = x_6534 in 203 203 h_mk_mem blocks0 nextblock0 __ 204 204 205 205 (** val mem_rect_Type2 : 206 206 ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **) 207 let rec mem_rect_Type2 h_mk_mem x_65 87=208 let { blocks = blocks0; nextblock = nextblock0 } = x_65 87in207 let rec mem_rect_Type2 h_mk_mem x_6536 = 208 let { blocks = blocks0; nextblock = nextblock0 } = x_6536 in 209 209 h_mk_mem blocks0 nextblock0 __ 210 210 211 211 (** val mem_rect_Type1 : 212 212 ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **) 213 let rec mem_rect_Type1 h_mk_mem x_65 89=214 let { blocks = blocks0; nextblock = nextblock0 } = x_65 89in213 let rec mem_rect_Type1 h_mk_mem x_6538 = 214 let { blocks = blocks0; nextblock = nextblock0 } = x_6538 in 215 215 h_mk_mem blocks0 nextblock0 __ 216 216 217 217 (** val mem_rect_Type0 : 218 218 ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **) 219 let rec mem_rect_Type0 h_mk_mem x_65 91=220 let { blocks = blocks0; nextblock = nextblock0 } = x_65 91in219 let rec mem_rect_Type0 h_mk_mem x_6540 = 220 let { blocks = blocks0; nextblock = nextblock0 } = x_6540 in 221 221 h_mk_mem blocks0 nextblock0 __ 222 222 -
extracted/globalenvs.ml
r2951 r2997 98 98 ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block 99 99 Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **) 100 let rec genv_t_rect_Type4 h_mk_genv_t x_6 608=100 let rec genv_t_rect_Type4 h_mk_genv_t x_6557 = 101 101 let { functions = functions0; nextfunction = nextfunction0; symbols = 102 symbols0 } = x_6 608102 symbols0 } = x_6557 103 103 in 104 104 h_mk_genv_t functions0 nextfunction0 symbols0 __ … … 107 107 ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block 108 108 Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **) 109 let rec genv_t_rect_Type5 h_mk_genv_t x_6 610=109 let rec genv_t_rect_Type5 h_mk_genv_t x_6559 = 110 110 let { functions = functions0; nextfunction = nextfunction0; symbols = 111 symbols0 } = x_6 610111 symbols0 } = x_6559 112 112 in 113 113 h_mk_genv_t functions0 nextfunction0 symbols0 __ … … 116 116 ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block 117 117 Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **) 118 let rec genv_t_rect_Type3 h_mk_genv_t x_6 612=118 let rec genv_t_rect_Type3 h_mk_genv_t x_6561 = 119 119 let { functions = functions0; nextfunction = nextfunction0; symbols = 120 symbols0 } = x_6 612120 symbols0 } = x_6561 121 121 in 122 122 h_mk_genv_t functions0 nextfunction0 symbols0 __ … … 125 125 ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block 126 126 Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **) 127 let rec genv_t_rect_Type2 h_mk_genv_t x_6 614=127 let rec genv_t_rect_Type2 h_mk_genv_t x_6563 = 128 128 let { functions = functions0; nextfunction = nextfunction0; symbols = 129 symbols0 } = x_6 614129 symbols0 } = x_6563 130 130 in 131 131 h_mk_genv_t functions0 nextfunction0 symbols0 __ … … 134 134 ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block 135 135 Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **) 136 let rec genv_t_rect_Type1 h_mk_genv_t x_6 616=136 let rec genv_t_rect_Type1 h_mk_genv_t x_6565 = 137 137 let { functions = functions0; nextfunction = nextfunction0; symbols = 138 symbols0 } = x_6 616138 symbols0 } = x_6565 139 139 in 140 140 h_mk_genv_t functions0 nextfunction0 symbols0 __ … … 143 143 ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block 144 144 Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **) 145 let rec genv_t_rect_Type0 h_mk_genv_t x_6 618=145 let rec genv_t_rect_Type0 h_mk_genv_t x_6567 = 146 146 let { functions = functions0; nextfunction = nextfunction0; symbols = 147 symbols0 } = x_6 618147 symbols0 } = x_6567 148 148 in 149 149 h_mk_genv_t functions0 nextfunction0 symbols0 __ … … 314 314 let add_globals extract_init init_env vars = 315 315 Util.foldl (fun g_st id_init -> 316 let { Types.fst = eta 1341; Types.snd = init_info } = id_init in317 let { Types.fst = id; Types.snd = r } = eta 1341in316 let { Types.fst = eta27696; Types.snd = init_info } = id_init in 317 let { Types.fst = id; Types.snd = r } = eta27696 in 318 318 let init = extract_init init_info in 319 319 let { Types.fst = g; Types.snd = st } = g_st in … … 330 330 let init_globals extract_init g m vars = 331 331 Util.foldl (fun st id_init -> 332 let { Types.fst = eta 1342; Types.snd = init_info } = id_init in333 let { Types.fst = id; Types.snd = r } = eta 1342in332 let { Types.fst = eta27697; Types.snd = init_info } = id_init in 333 let { Types.fst = id; Types.snd = r } = eta27697 in 334 334 let init = extract_init init_info in 335 335 Obj.magic -
extracted/iO.ml
r2827 r2997 150 150 (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out -> 151 151 'a1 **) 152 let rec io_out_rect_Type4 h_mk_io_out x_ 5886=153 let { io_function = io_function0; io_args = io_args0; io_in_typ = 154 io_in_typ0 } = x_ 5886152 let rec io_out_rect_Type4 h_mk_io_out x_4871 = 153 let { io_function = io_function0; io_args = io_args0; io_in_typ = 154 io_in_typ0 } = x_4871 155 155 in 156 156 h_mk_io_out io_function0 io_args0 io_in_typ0 … … 159 159 (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out -> 160 160 'a1 **) 161 let rec io_out_rect_Type5 h_mk_io_out x_ 5888=162 let { io_function = io_function0; io_args = io_args0; io_in_typ = 163 io_in_typ0 } = x_ 5888161 let rec io_out_rect_Type5 h_mk_io_out x_4873 = 162 let { io_function = io_function0; io_args = io_args0; io_in_typ = 163 io_in_typ0 } = x_4873 164 164 in 165 165 h_mk_io_out io_function0 io_args0 io_in_typ0 … … 168 168 (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out -> 169 169 'a1 **) 170 let rec io_out_rect_Type3 h_mk_io_out x_ 5890=171 let { io_function = io_function0; io_args = io_args0; io_in_typ = 172 io_in_typ0 } = x_ 5890170 let rec io_out_rect_Type3 h_mk_io_out x_4875 = 171 let { io_function = io_function0; io_args = io_args0; io_in_typ = 172 io_in_typ0 } = x_4875 173 173 in 174 174 h_mk_io_out io_function0 io_args0 io_in_typ0 … … 177 177 (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out -> 178 178 'a1 **) 179 let rec io_out_rect_Type2 h_mk_io_out x_ 5892=180 let { io_function = io_function0; io_args = io_args0; io_in_typ = 181 io_in_typ0 } = x_ 5892179 let rec io_out_rect_Type2 h_mk_io_out x_4877 = 180 let { io_function = io_function0; io_args = io_args0; io_in_typ = 181 io_in_typ0 } = x_4877 182 182 in 183 183 h_mk_io_out io_function0 io_args0 io_in_typ0 … … 186 186 (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out -> 187 187 'a1 **) 188 let rec io_out_rect_Type1 h_mk_io_out x_ 5894=189 let { io_function = io_function0; io_args = io_args0; io_in_typ = 190 io_in_typ0 } = x_ 5894188 let rec io_out_rect_Type1 h_mk_io_out x_4879 = 189 let { io_function = io_function0; io_args = io_args0; io_in_typ = 190 io_in_typ0 } = x_4879 191 191 in 192 192 h_mk_io_out io_function0 io_args0 io_in_typ0 … … 195 195 (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out -> 196 196 'a1 **) 197 let rec io_out_rect_Type0 h_mk_io_out x_ 5896=198 let { io_function = io_function0; io_args = io_args0; io_in_typ = 199 io_in_typ0 } = x_ 5896197 let rec io_out_rect_Type0 h_mk_io_out x_4881 = 198 let { io_function = io_function0; io_args = io_args0; io_in_typ = 199 io_in_typ0 } = x_4881 200 200 in 201 201 h_mk_io_out io_function0 io_args0 io_in_typ0 -
extracted/iOMonad.ml
r2827 r2997 52 52 'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **) 53 53 let rec iO_rect_Type4 h_Interact h_Value h_Wrong = function 54 | Interact (o, x_4 672) ->55 h_Interact o x_4 672 (fun x_4671->56 iO_rect_Type4 h_Interact h_Value h_Wrong (x_4 672 x_4671))57 | Value x_4 673 -> h_Value x_467358 | Wrong x_4 674 -> h_Wrong x_467454 | Interact (o, x_4775) -> 55 h_Interact o x_4775 (fun x_4774 -> 56 iO_rect_Type4 h_Interact h_Value h_Wrong (x_4775 x_4774)) 57 | Value x_4776 -> h_Value x_4776 58 | Wrong x_4777 -> h_Wrong x_4777 59 59 60 60 (** val iO_rect_Type3 : … … 62 62 'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **) 63 63 let rec iO_rect_Type3 h_Interact h_Value h_Wrong = function 64 | Interact (o, x_4 688) ->65 h_Interact o x_4 688 (fun x_4687->66 iO_rect_Type3 h_Interact h_Value h_Wrong (x_4 688 x_4687))67 | Value x_4 689 -> h_Value x_468968 | Wrong x_4 690 -> h_Wrong x_469064 | Interact (o, x_4791) -> 65 h_Interact o x_4791 (fun x_4790 -> 66 iO_rect_Type3 h_Interact h_Value h_Wrong (x_4791 x_4790)) 67 | Value x_4792 -> h_Value x_4792 68 | Wrong x_4793 -> h_Wrong x_4793 69 69 70 70 (** val iO_rect_Type2 : … … 72 72 'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **) 73 73 let rec iO_rect_Type2 h_Interact h_Value h_Wrong = function 74 | Interact (o, x_4 696) ->75 h_Interact o x_4 696 (fun x_4695->76 iO_rect_Type2 h_Interact h_Value h_Wrong (x_4 696 x_4695))77 | Value x_4 697 -> h_Value x_469778 | Wrong x_4 698 -> h_Wrong x_469874 | Interact (o, x_4799) -> 75 h_Interact o x_4799 (fun x_4798 -> 76 iO_rect_Type2 h_Interact h_Value h_Wrong (x_4799 x_4798)) 77 | Value x_4800 -> h_Value x_4800 78 | Wrong x_4801 -> h_Wrong x_4801 79 79 80 80 (** val iO_rect_Type1 : … … 82 82 'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **) 83 83 let rec iO_rect_Type1 h_Interact h_Value h_Wrong = function 84 | Interact (o, x_4 704) ->85 h_Interact o x_4 704 (fun x_4703->86 iO_rect_Type1 h_Interact h_Value h_Wrong (x_4 704 x_4703))87 | Value x_4 705 -> h_Value x_470588 | Wrong x_4 706 -> h_Wrong x_470684 | Interact (o, x_4807) -> 85 h_Interact o x_4807 (fun x_4806 -> 86 iO_rect_Type1 h_Interact h_Value h_Wrong (x_4807 x_4806)) 87 | Value x_4808 -> h_Value x_4808 88 | Wrong x_4809 -> h_Wrong x_4809 89 89 90 90 (** val iO_rect_Type0 : … … 92 92 'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **) 93 93 let rec iO_rect_Type0 h_Interact h_Value h_Wrong = function 94 | Interact (o, x_4 712) ->95 h_Interact o x_4 712 (fun x_4711->96 iO_rect_Type0 h_Interact h_Value h_Wrong (x_4 712 x_4711))97 | Value x_4 713 -> h_Value x_471398 | Wrong x_4 714 -> h_Wrong x_471494 | Interact (o, x_4815) -> 95 h_Interact o x_4815 (fun x_4814 -> 96 iO_rect_Type0 h_Interact h_Value h_Wrong (x_4815 x_4814)) 97 | Value x_4816 -> h_Value x_4816 98 | Wrong x_4817 -> h_Wrong x_4817 99 99 100 100 (** val iO_inv_rect_Type4 : -
extracted/identifiers.ml
r2827 r2997 51 51 (** val universe_rect_Type4 : 52 52 PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **) 53 let rec universe_rect_Type4 tag h_mk_universe x_ 3226=54 let next_identifier = x_ 3226in h_mk_universe next_identifier53 let rec universe_rect_Type4 tag h_mk_universe x_133 = 54 let next_identifier = x_133 in h_mk_universe next_identifier 55 55 56 56 (** val universe_rect_Type5 : 57 57 PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **) 58 let rec universe_rect_Type5 tag h_mk_universe x_ 3228=59 let next_identifier = x_ 3228in h_mk_universe next_identifier58 let rec universe_rect_Type5 tag h_mk_universe x_135 = 59 let next_identifier = x_135 in h_mk_universe next_identifier 60 60 61 61 (** val universe_rect_Type3 : 62 62 PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **) 63 let rec universe_rect_Type3 tag h_mk_universe x_ 3230=64 let next_identifier = x_ 3230in h_mk_universe next_identifier63 let rec universe_rect_Type3 tag h_mk_universe x_137 = 64 let next_identifier = x_137 in h_mk_universe next_identifier 65 65 66 66 (** val universe_rect_Type2 : 67 67 PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **) 68 let rec universe_rect_Type2 tag h_mk_universe x_ 3232=69 let next_identifier = x_ 3232in h_mk_universe next_identifier68 let rec universe_rect_Type2 tag h_mk_universe x_139 = 69 let next_identifier = x_139 in h_mk_universe next_identifier 70 70 71 71 (** val universe_rect_Type1 : 72 72 PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **) 73 let rec universe_rect_Type1 tag h_mk_universe x_ 3234=74 let next_identifier = x_ 3234in h_mk_universe next_identifier73 let rec universe_rect_Type1 tag h_mk_universe x_141 = 74 let next_identifier = x_141 in h_mk_universe next_identifier 75 75 76 76 (** val universe_rect_Type0 : 77 77 PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **) 78 let rec universe_rect_Type0 tag h_mk_universe x_ 3236=79 let next_identifier = x_ 3236in h_mk_universe next_identifier78 let rec universe_rect_Type0 tag h_mk_universe x_143 = 79 let next_identifier = x_143 in h_mk_universe next_identifier 80 80 81 81 (** val next_identifier : … … 215 215 PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) -> 216 216 'a1 identifier_map -> 'a2 **) 217 let rec identifier_map_rect_Type4 tag h_an_id_map x_ 3398=218 let x_ 3399 = x_3398 in h_an_id_map x_3399217 let rec identifier_map_rect_Type4 tag h_an_id_map x_160 = 218 let x_161 = x_160 in h_an_id_map x_161 219 219 220 220 (** val identifier_map_rect_Type5 : 221 221 PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) -> 222 222 'a1 identifier_map -> 'a2 **) 223 let rec identifier_map_rect_Type5 tag h_an_id_map x_ 3401=224 let x_ 3402 = x_3401 in h_an_id_map x_3402223 let rec identifier_map_rect_Type5 tag h_an_id_map x_163 = 224 let x_164 = x_163 in h_an_id_map x_164 225 225 226 226 (** val identifier_map_rect_Type3 : 227 227 PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) -> 228 228 'a1 identifier_map -> 'a2 **) 229 let rec identifier_map_rect_Type3 tag h_an_id_map x_ 3404=230 let x_ 3405 = x_3404 in h_an_id_map x_3405229 let rec identifier_map_rect_Type3 tag h_an_id_map x_166 = 230 let x_167 = x_166 in h_an_id_map x_167 231 231 232 232 (** val identifier_map_rect_Type2 : 233 233 PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) -> 234 234 'a1 identifier_map -> 'a2 **) 235 let rec identifier_map_rect_Type2 tag h_an_id_map x_ 3407=236 let x_ 3408 = x_3407 in h_an_id_map x_3408235 let rec identifier_map_rect_Type2 tag h_an_id_map x_169 = 236 let x_170 = x_169 in h_an_id_map x_170 237 237 238 238 (** val identifier_map_rect_Type1 : 239 239 PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) -> 240 240 'a1 identifier_map -> 'a2 **) 241 let rec identifier_map_rect_Type1 tag h_an_id_map x_ 3410=242 let x_ 3411 = x_3410 in h_an_id_map x_3411241 let rec identifier_map_rect_Type1 tag h_an_id_map x_172 = 242 let x_173 = x_172 in h_an_id_map x_173 243 243 244 244 (** val identifier_map_rect_Type0 : 245 245 PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) -> 246 246 'a1 identifier_map -> 'a2 **) 247 let rec identifier_map_rect_Type0 tag h_an_id_map x_ 3413=248 let x_ 3414 = x_3413 in h_an_id_map x_3414247 let rec identifier_map_rect_Type0 tag h_an_id_map x_175 = 248 let x_176 = x_175 in h_an_id_map x_176 249 249 250 250 (** val identifier_map_inv_rect_Type4 : -
extracted/interference.ml
r2960 r2997 136 136 (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **) 137 137 let rec decision_rect_Type4 h_decision_spill h_decision_colour = function 138 | Decision_spill x_ 281 -> h_decision_spill x_281139 | Decision_colour x_ 282 -> h_decision_colour x_282138 | Decision_spill x_7 -> h_decision_spill x_7 139 | Decision_colour x_8 -> h_decision_colour x_8 140 140 141 141 (** val decision_rect_Type5 : 142 142 (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **) 143 143 let rec decision_rect_Type5 h_decision_spill h_decision_colour = function 144 | Decision_spill x_ 286 -> h_decision_spill x_286145 | Decision_colour x_ 287 -> h_decision_colour x_287144 | Decision_spill x_12 -> h_decision_spill x_12 145 | Decision_colour x_13 -> h_decision_colour x_13 146 146 147 147 (** val decision_rect_Type3 : 148 148 (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **) 149 149 let rec decision_rect_Type3 h_decision_spill h_decision_colour = function 150 | Decision_spill x_ 291 -> h_decision_spill x_291151 | Decision_colour x_ 292 -> h_decision_colour x_292150 | Decision_spill x_17 -> h_decision_spill x_17 151 | Decision_colour x_18 -> h_decision_colour x_18 152 152 153 153 (** val decision_rect_Type2 : 154 154 (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **) 155 155 let rec decision_rect_Type2 h_decision_spill h_decision_colour = function 156 | Decision_spill x_2 96 -> h_decision_spill x_296157 | Decision_colour x_2 97 -> h_decision_colour x_297156 | Decision_spill x_22 -> h_decision_spill x_22 157 | Decision_colour x_23 -> h_decision_colour x_23 158 158 159 159 (** val decision_rect_Type1 : 160 160 (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **) 161 161 let rec decision_rect_Type1 h_decision_spill h_decision_colour = function 162 | Decision_spill x_ 301 -> h_decision_spill x_301163 | Decision_colour x_ 302 -> h_decision_colour x_302162 | Decision_spill x_27 -> h_decision_spill x_27 163 | Decision_colour x_28 -> h_decision_colour x_28 164 164 165 165 (** val decision_rect_Type0 : 166 166 (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **) 167 167 let rec decision_rect_Type0 h_decision_spill h_decision_colour = function 168 | Decision_spill x_3 06 -> h_decision_spill x_306169 | Decision_colour x_3 07 -> h_decision_colour x_307168 | Decision_spill x_32 -> h_decision_spill x_32 169 | Decision_colour x_33 -> h_decision_colour x_33 170 170 171 171 (** val decision_inv_rect_Type4 : … … 219 219 Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ -> 220 220 __ -> 'a1) -> coloured_graph -> 'a1 **) 221 let rec coloured_graph_rect_Type4 before h_mk_coloured_graph x_ 342=222 let { colouring = colouring0; spilled_no = spilled_no0 } = x_ 342in221 let rec coloured_graph_rect_Type4 before h_mk_coloured_graph x_68 = 222 let { colouring = colouring0; spilled_no = spilled_no0 } = x_68 in 223 223 h_mk_coloured_graph colouring0 spilled_no0 __ __ 224 224 … … 226 226 Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ -> 227 227 __ -> 'a1) -> coloured_graph -> 'a1 **) 228 let rec coloured_graph_rect_Type5 before h_mk_coloured_graph x_ 344=229 let { colouring = colouring0; spilled_no = spilled_no0 } = x_ 344in228 let rec coloured_graph_rect_Type5 before h_mk_coloured_graph x_70 = 229 let { colouring = colouring0; spilled_no = spilled_no0 } = x_70 in 230 230 h_mk_coloured_graph colouring0 spilled_no0 __ __ 231 231 … … 233 233 Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ -> 234 234 __ -> 'a1) -> coloured_graph -> 'a1 **) 235 let rec coloured_graph_rect_Type3 before h_mk_coloured_graph x_ 346=236 let { colouring = colouring0; spilled_no = spilled_no0 } = x_ 346in235 let rec coloured_graph_rect_Type3 before h_mk_coloured_graph x_72 = 236 let { colouring = colouring0; spilled_no = spilled_no0 } = x_72 in 237 237 h_mk_coloured_graph colouring0 spilled_no0 __ __ 238 238 … … 240 240 Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ -> 241 241 __ -> 'a1) -> coloured_graph -> 'a1 **) 242 let rec coloured_graph_rect_Type2 before h_mk_coloured_graph x_ 348=243 let { colouring = colouring0; spilled_no = spilled_no0 } = x_ 348in242 let rec coloured_graph_rect_Type2 before h_mk_coloured_graph x_74 = 243 let { colouring = colouring0; spilled_no = spilled_no0 } = x_74 in 244 244 h_mk_coloured_graph colouring0 spilled_no0 __ __ 245 245 … … 247 247 Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ -> 248 248 __ -> 'a1) -> coloured_graph -> 'a1 **) 249 let rec coloured_graph_rect_Type1 before h_mk_coloured_graph x_ 350=250 let { colouring = colouring0; spilled_no = spilled_no0 } = x_ 350in249 let rec coloured_graph_rect_Type1 before h_mk_coloured_graph x_76 = 250 let { colouring = colouring0; spilled_no = spilled_no0 } = x_76 in 251 251 h_mk_coloured_graph colouring0 spilled_no0 __ __ 252 252 … … 254 254 Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ -> 255 255 __ -> 'a1) -> coloured_graph -> 'a1 **) 256 let rec coloured_graph_rect_Type0 before h_mk_coloured_graph x_ 352=257 let { colouring = colouring0; spilled_no = spilled_no0 } = x_ 352in256 let rec coloured_graph_rect_Type0 before h_mk_coloured_graph x_78 = 257 let { colouring = colouring0; spilled_no = spilled_no0 } = x_78 in 258 258 h_mk_coloured_graph colouring0 spilled_no0 __ __ 259 259 -
extracted/interpret2.ml
r2993 r2997 165 165 ASM.labelled_object_code -> Measurable.preclassified_system **) 166 166 let oC_preclassified_system c = 167 let lcm = (Fetch.load_code_memory c.ASM.oc)in167 let lcm = Fetch.load_code_memory c.ASM.oc in 168 168 mk_preclassified_system_of_abstract_status (ASMCosts.oC_abstract_status c) 169 169 (fun st -> 170 170 Monad.m_return0 (Monad.max_def IOMonad.iOMonad) 171 (Interpret.execute_1 lcm (Obj.magic st)) 172 ) 171 (Interpret.execute_1 lcm (Obj.magic st))) 173 172 (Obj.magic (Status.initialise_status (Fetch.load_code_memory c.ASM.oc))) 174 173 -
extracted/joint.ml
r2951 r2997 110 110 ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **) 111 111 let rec argument_rect_Type4 h_Reg h_Imm = function 112 | Reg x_ 16908 -> h_Reg x_16908113 | Imm x_ 16909 -> h_Imm x_16909112 | Reg x_224 -> h_Reg x_224 113 | Imm x_225 -> h_Imm x_225 114 114 115 115 (** val argument_rect_Type5 : 116 116 ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **) 117 117 let rec argument_rect_Type5 h_Reg h_Imm = function 118 | Reg x_ 16913 -> h_Reg x_16913119 | Imm x_ 16914 -> h_Imm x_16914118 | Reg x_229 -> h_Reg x_229 119 | Imm x_230 -> h_Imm x_230 120 120 121 121 (** val argument_rect_Type3 : 122 122 ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **) 123 123 let rec argument_rect_Type3 h_Reg h_Imm = function 124 | Reg x_ 16918 -> h_Reg x_16918125 | Imm x_ 16919 -> h_Imm x_16919124 | Reg x_234 -> h_Reg x_234 125 | Imm x_235 -> h_Imm x_235 126 126 127 127 (** val argument_rect_Type2 : 128 128 ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **) 129 129 let rec argument_rect_Type2 h_Reg h_Imm = function 130 | Reg x_ 16923 -> h_Reg x_16923131 | Imm x_ 16924 -> h_Imm x_16924130 | Reg x_239 -> h_Reg x_239 131 | Imm x_240 -> h_Imm x_240 132 132 133 133 (** val argument_rect_Type1 : 134 134 ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **) 135 135 let rec argument_rect_Type1 h_Reg h_Imm = function 136 | Reg x_ 16928 -> h_Reg x_16928137 | Imm x_ 16929 -> h_Imm x_16929136 | Reg x_244 -> h_Reg x_244 137 | Imm x_245 -> h_Imm x_245 138 138 139 139 (** val argument_rect_Type0 : 140 140 ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **) 141 141 let rec argument_rect_Type0 h_Reg h_Imm = function 142 | Reg x_ 16933 -> h_Reg x_16933143 | Imm x_ 16934 -> h_Imm x_16934142 | Reg x_249 -> h_Reg x_249 143 | Imm x_250 -> h_Imm x_250 144 144 145 145 (** val argument_inv_rect_Type4 : … … 324 324 __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) -> 325 325 unserialized_params -> 'a1 **) 326 let rec unserialized_params_rect_Type4 h_mk_unserialized_params x_ 16969=326 let rec unserialized_params_rect_Type4 h_mk_unserialized_params x_285 = 327 327 let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } = 328 x_ 16969328 x_285 329 329 in 330 330 h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __ … … 335 335 __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) -> 336 336 unserialized_params -> 'a1 **) 337 let rec unserialized_params_rect_Type5 h_mk_unserialized_params x_ 16971=337 let rec unserialized_params_rect_Type5 h_mk_unserialized_params x_287 = 338 338 let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } = 339 x_ 16971339 x_287 340 340 in 341 341 h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __ … … 346 346 __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) -> 347 347 unserialized_params -> 'a1 **) 348 let rec unserialized_params_rect_Type3 h_mk_unserialized_params x_ 16973=348 let rec unserialized_params_rect_Type3 h_mk_unserialized_params x_289 = 349 349 let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } = 350 x_ 16973350 x_289 351 351 in 352 352 h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __ … … 357 357 __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) -> 358 358 unserialized_params -> 'a1 **) 359 let rec unserialized_params_rect_Type2 h_mk_unserialized_params x_ 16975=359 let rec unserialized_params_rect_Type2 h_mk_unserialized_params x_291 = 360 360 let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } = 361 x_ 16975361 x_291 362 362 in 363 363 h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __ … … 368 368 __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) -> 369 369 unserialized_params -> 'a1 **) 370 let rec unserialized_params_rect_Type1 h_mk_unserialized_params x_ 16977=370 let rec unserialized_params_rect_Type1 h_mk_unserialized_params x_293 = 371 371 let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } = 372 x_ 16977372 x_293 373 373 in 374 374 h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __ … … 379 379 __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) -> 380 380 unserialized_params -> 'a1 **) 381 let rec unserialized_params_rect_Type0 h_mk_unserialized_params x_ 16979=381 let rec unserialized_params_rect_Type0 h_mk_unserialized_params x_295 = 382 382 let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } = 383 x_ 16979383 x_295 384 384 in 385 385 h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __ … … 506 506 (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs -> 507 507 'a1 **) 508 let rec get_pseudo_reg_functs_rect_Type4 p h_mk_get_pseudo_reg_functs x_ 16996=508 let rec get_pseudo_reg_functs_rect_Type4 p h_mk_get_pseudo_reg_functs x_312 = 509 509 let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args = 510 510 acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs = … … 512 512 snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0; 513 513 f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs = 514 params_regs0 } = x_ 16996514 params_regs0 } = x_312 515 515 in 516 516 h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0 … … 529 529 (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs -> 530 530 'a1 **) 531 let rec get_pseudo_reg_functs_rect_Type5 p h_mk_get_pseudo_reg_functs x_ 16998=531 let rec get_pseudo_reg_functs_rect_Type5 p h_mk_get_pseudo_reg_functs x_314 = 532 532 let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args = 533 533 acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs = … … 535 535 snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0; 536 536 f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs = 537 params_regs0 } = x_ 16998537 params_regs0 } = x_314 538 538 in 539 539 h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0 … … 552 552 (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs -> 553 553 'a1 **) 554 let rec get_pseudo_reg_functs_rect_Type3 p h_mk_get_pseudo_reg_functs x_ 17000=554 let rec get_pseudo_reg_functs_rect_Type3 p h_mk_get_pseudo_reg_functs x_316 = 555 555 let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args = 556 556 acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs = … … 558 558 snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0; 559 559 f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs = 560 params_regs0 } = x_ 17000560 params_regs0 } = x_316 561 561 in 562 562 h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0 … … 575 575 (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs -> 576 576 'a1 **) 577 let rec get_pseudo_reg_functs_rect_Type2 p h_mk_get_pseudo_reg_functs x_ 17002=577 let rec get_pseudo_reg_functs_rect_Type2 p h_mk_get_pseudo_reg_functs x_318 = 578 578 let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args = 579 579 acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs = … … 581 581 snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0; 582 582 f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs = 583 params_regs0 } = x_ 17002583 params_regs0 } = x_318 584 584 in 585 585 h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0 … … 598 598 (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs -> 599 599 'a1 **) 600 let rec get_pseudo_reg_functs_rect_Type1 p h_mk_get_pseudo_reg_functs x_ 17004=600 let rec get_pseudo_reg_functs_rect_Type1 p h_mk_get_pseudo_reg_functs x_320 = 601 601 let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args = 602 602 acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs = … … 604 604 snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0; 605 605 f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs = 606 params_regs0 } = x_ 17004606 params_regs0 } = x_320 607 607 in 608 608 h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0 … … 621 621 (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs -> 622 622 'a1 **) 623 let rec get_pseudo_reg_functs_rect_Type0 p h_mk_get_pseudo_reg_functs x_ 17006=623 let rec get_pseudo_reg_functs_rect_Type0 p h_mk_get_pseudo_reg_functs x_322 = 624 624 let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args = 625 625 acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs = … … 627 627 snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0; 628 628 f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs = 629 params_regs0 } = x_ 17006629 params_regs0 } = x_322 630 630 in 631 631 h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0 … … 805 805 (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params -> 806 806 'a1 **) 807 let rec uns_params_rect_Type4 h_mk_uns_params x_ 17036=808 let { u_pars = u_pars0; functs = functs0 } = x_ 17036in807 let rec uns_params_rect_Type4 h_mk_uns_params x_352 = 808 let { u_pars = u_pars0; functs = functs0 } = x_352 in 809 809 h_mk_uns_params u_pars0 functs0 810 810 … … 812 812 (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params -> 813 813 'a1 **) 814 let rec uns_params_rect_Type5 h_mk_uns_params x_ 17038=815 let { u_pars = u_pars0; functs = functs0 } = x_ 17038in814 let rec uns_params_rect_Type5 h_mk_uns_params x_354 = 815 let { u_pars = u_pars0; functs = functs0 } = x_354 in 816 816 h_mk_uns_params u_pars0 functs0 817 817 … … 819 819 (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params -> 820 820 'a1 **) 821 let rec uns_params_rect_Type3 h_mk_uns_params x_ 17040=822 let { u_pars = u_pars0; functs = functs0 } = x_ 17040in821 let rec uns_params_rect_Type3 h_mk_uns_params x_356 = 822 let { u_pars = u_pars0; functs = functs0 } = x_356 in 823 823 h_mk_uns_params u_pars0 functs0 824 824 … … 826 826 (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params -> 827 827 'a1 **) 828 let rec uns_params_rect_Type2 h_mk_uns_params x_ 17042=829 let { u_pars = u_pars0; functs = functs0 } = x_ 17042in828 let rec uns_params_rect_Type2 h_mk_uns_params x_358 = 829 let { u_pars = u_pars0; functs = functs0 } = x_358 in 830 830 h_mk_uns_params u_pars0 functs0 831 831 … … 833 833 (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params -> 834 834 'a1 **) 835 let rec uns_params_rect_Type1 h_mk_uns_params x_ 17044=836 let { u_pars = u_pars0; functs = functs0 } = x_ 17044in835 let rec uns_params_rect_Type1 h_mk_uns_params x_360 = 836 let { u_pars = u_pars0; functs = functs0 } = x_360 in 837 837 h_mk_uns_params u_pars0 functs0 838 838 … … 840 840 (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params -> 841 841 'a1 **) 842 let rec uns_params_rect_Type0 h_mk_uns_params x_ 17046=843 let { u_pars = u_pars0; functs = functs0 } = x_ 17046in842 let rec uns_params_rect_Type0 h_mk_uns_params x_362 = 843 let { u_pars = u_pars0; functs = functs0 } = x_362 in 844 844 h_mk_uns_params u_pars0 functs0 845 845 … … 911 911 'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **) 912 912 let rec joint_seq_rect_Type4 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function 913 | COMMENT x_17101 -> h_COMMENT x_17101 914 | MOVE x_17102 -> h_MOVE x_17102 915 | POP x_17103 -> h_POP x_17103 916 | PUSH x_17104 -> h_PUSH x_17104 917 | ADDRESS (i, x_17106, x_17105) -> h_ADDRESS i __ x_17106 x_17105 918 | OPACCS (x_17112, x_17111, x_17110, x_17109, x_17108) -> 919 h_OPACCS x_17112 x_17111 x_17110 x_17109 x_17108 920 | OP1 (x_17115, x_17114, x_17113) -> h_OP1 x_17115 x_17114 x_17113 921 | OP2 (x_17119, x_17118, x_17117, x_17116) -> 922 h_OP2 x_17119 x_17118 x_17117 x_17116 913 | COMMENT x_417 -> h_COMMENT x_417 914 | MOVE x_418 -> h_MOVE x_418 915 | POP x_419 -> h_POP x_419 916 | PUSH x_420 -> h_PUSH x_420 917 | ADDRESS (i, x_422, x_421) -> h_ADDRESS i __ x_422 x_421 918 | OPACCS (x_428, x_427, x_426, x_425, x_424) -> 919 h_OPACCS x_428 x_427 x_426 x_425 x_424 920 | OP1 (x_431, x_430, x_429) -> h_OP1 x_431 x_430 x_429 921 | OP2 (x_435, x_434, x_433, x_432) -> h_OP2 x_435 x_434 x_433 x_432 923 922 | CLEAR_CARRY -> h_CLEAR_CARRY 924 923 | SET_CARRY -> h_SET_CARRY 925 | LOAD (x_ 17122, x_17121, x_17120) -> h_LOAD x_17122 x_17121 x_17120926 | STORE (x_ 17125, x_17124, x_17123) -> h_STORE x_17125 x_17124 x_17123927 | Extension_seq x_ 17126 -> h_extension_seq x_17126924 | LOAD (x_438, x_437, x_436) -> h_LOAD x_438 x_437 x_436 925 | STORE (x_441, x_440, x_439) -> h_STORE x_441 x_440 x_439 926 | Extension_seq x_442 -> h_extension_seq x_442 928 927 929 928 (** val joint_seq_rect_Type5 : … … 935 934 'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **) 936 935 let rec joint_seq_rect_Type5 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function 937 | COMMENT x_17141 -> h_COMMENT x_17141 938 | MOVE x_17142 -> h_MOVE x_17142 939 | POP x_17143 -> h_POP x_17143 940 | PUSH x_17144 -> h_PUSH x_17144 941 | ADDRESS (i, x_17146, x_17145) -> h_ADDRESS i __ x_17146 x_17145 942 | OPACCS (x_17152, x_17151, x_17150, x_17149, x_17148) -> 943 h_OPACCS x_17152 x_17151 x_17150 x_17149 x_17148 944 | OP1 (x_17155, x_17154, x_17153) -> h_OP1 x_17155 x_17154 x_17153 945 | OP2 (x_17159, x_17158, x_17157, x_17156) -> 946 h_OP2 x_17159 x_17158 x_17157 x_17156 936 | COMMENT x_457 -> h_COMMENT x_457 937 | MOVE x_458 -> h_MOVE x_458 938 | POP x_459 -> h_POP x_459 939 | PUSH x_460 -> h_PUSH x_460 940 | ADDRESS (i, x_462, x_461) -> h_ADDRESS i __ x_462 x_461 941 | OPACCS (x_468, x_467, x_466, x_465, x_464) -> 942 h_OPACCS x_468 x_467 x_466 x_465 x_464 943 | OP1 (x_471, x_470, x_469) -> h_OP1 x_471 x_470 x_469 944 | OP2 (x_475, x_474, x_473, x_472) -> h_OP2 x_475 x_474 x_473 x_472 947 945 | CLEAR_CARRY -> h_CLEAR_CARRY 948 946 | SET_CARRY -> h_SET_CARRY 949 | LOAD (x_ 17162, x_17161, x_17160) -> h_LOAD x_17162 x_17161 x_17160950 | STORE (x_ 17165, x_17164, x_17163) -> h_STORE x_17165 x_17164 x_17163951 | Extension_seq x_ 17166 -> h_extension_seq x_17166947 | LOAD (x_478, x_477, x_476) -> h_LOAD x_478 x_477 x_476 948 | STORE (x_481, x_480, x_479) -> h_STORE x_481 x_480 x_479 949 | Extension_seq x_482 -> h_extension_seq x_482 952 950 953 951 (** val joint_seq_rect_Type3 : … … 959 957 'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **) 960 958 let rec joint_seq_rect_Type3 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function 961 | COMMENT x_17181 -> h_COMMENT x_17181 962 | MOVE x_17182 -> h_MOVE x_17182 963 | POP x_17183 -> h_POP x_17183 964 | PUSH x_17184 -> h_PUSH x_17184 965 | ADDRESS (i, x_17186, x_17185) -> h_ADDRESS i __ x_17186 x_17185 966 | OPACCS (x_17192, x_17191, x_17190, x_17189, x_17188) -> 967 h_OPACCS x_17192 x_17191 x_17190 x_17189 x_17188 968 | OP1 (x_17195, x_17194, x_17193) -> h_OP1 x_17195 x_17194 x_17193 969 | OP2 (x_17199, x_17198, x_17197, x_17196) -> 970 h_OP2 x_17199 x_17198 x_17197 x_17196 959 | COMMENT x_497 -> h_COMMENT x_497 960 | MOVE x_498 -> h_MOVE x_498 961 | POP x_499 -> h_POP x_499 962 | PUSH x_500 -> h_PUSH x_500 963 | ADDRESS (i, x_502, x_501) -> h_ADDRESS i __ x_502 x_501 964 | OPACCS (x_508, x_507, x_506, x_505, x_504) -> 965 h_OPACCS x_508 x_507 x_506 x_505 x_504 966 | OP1 (x_511, x_510, x_509) -> h_OP1 x_511 x_510 x_509 967 | OP2 (x_515, x_514, x_513, x_512) -> h_OP2 x_515 x_514 x_513 x_512 971 968 | CLEAR_CARRY -> h_CLEAR_CARRY 972 969 | SET_CARRY -> h_SET_CARRY 973 | LOAD (x_ 17202, x_17201, x_17200) -> h_LOAD x_17202 x_17201 x_17200974 | STORE (x_ 17205, x_17204, x_17203) -> h_STORE x_17205 x_17204 x_17203975 | Extension_seq x_ 17206 -> h_extension_seq x_17206970 | LOAD (x_518, x_517, x_516) -> h_LOAD x_518 x_517 x_516 971 | STORE (x_521, x_520, x_519) -> h_STORE x_521 x_520 x_519 972 | Extension_seq x_522 -> h_extension_seq x_522 976 973 977 974 (** val joint_seq_rect_Type2 : … … 983 980 'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **) 984 981 let rec joint_seq_rect_Type2 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function 985 | COMMENT x_17221 -> h_COMMENT x_17221 986 | MOVE x_17222 -> h_MOVE x_17222 987 | POP x_17223 -> h_POP x_17223 988 | PUSH x_17224 -> h_PUSH x_17224 989 | ADDRESS (i, x_17226, x_17225) -> h_ADDRESS i __ x_17226 x_17225 990 | OPACCS (x_17232, x_17231, x_17230, x_17229, x_17228) -> 991 h_OPACCS x_17232 x_17231 x_17230 x_17229 x_17228 992 | OP1 (x_17235, x_17234, x_17233) -> h_OP1 x_17235 x_17234 x_17233 993 | OP2 (x_17239, x_17238, x_17237, x_17236) -> 994 h_OP2 x_17239 x_17238 x_17237 x_17236 982 | COMMENT x_537 -> h_COMMENT x_537 983 | MOVE x_538 -> h_MOVE x_538 984 | POP x_539 -> h_POP x_539 985 | PUSH x_540 -> h_PUSH x_540 986 | ADDRESS (i, x_542, x_541) -> h_ADDRESS i __ x_542 x_541 987 | OPACCS (x_548, x_547, x_546, x_545, x_544) -> 988 h_OPACCS x_548 x_547 x_546 x_545 x_544 989 | OP1 (x_551, x_550, x_549) -> h_OP1 x_551 x_550 x_549 990 | OP2 (x_555, x_554, x_553, x_552) -> h_OP2 x_555 x_554 x_553 x_552 995 991 | CLEAR_CARRY -> h_CLEAR_CARRY 996 992 | SET_CARRY -> h_SET_CARRY 997 | LOAD (x_ 17242, x_17241, x_17240) -> h_LOAD x_17242 x_17241 x_17240998 | STORE (x_ 17245, x_17244, x_17243) -> h_STORE x_17245 x_17244 x_17243999 | Extension_seq x_ 17246 -> h_extension_seq x_17246993 | LOAD (x_558, x_557, x_556) -> h_LOAD x_558 x_557 x_556 994 | STORE (x_561, x_560, x_559) -> h_STORE x_561 x_560 x_559 995 | Extension_seq x_562 -> h_extension_seq x_562 1000 996 1001 997 (** val joint_seq_rect_Type1 : … … 1007 1003 'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **) 1008 1004 let rec joint_seq_rect_Type1 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function 1009 | COMMENT x_17261 -> h_COMMENT x_17261 1010 | MOVE x_17262 -> h_MOVE x_17262 1011 | POP x_17263 -> h_POP x_17263 1012 | PUSH x_17264 -> h_PUSH x_17264 1013 | ADDRESS (i, x_17266, x_17265) -> h_ADDRESS i __ x_17266 x_17265 1014 | OPACCS (x_17272, x_17271, x_17270, x_17269, x_17268) -> 1015 h_OPACCS x_17272 x_17271 x_17270 x_17269 x_17268 1016 | OP1 (x_17275, x_17274, x_17273) -> h_OP1 x_17275 x_17274 x_17273 1017 | OP2 (x_17279, x_17278, x_17277, x_17276) -> 1018 h_OP2 x_17279 x_17278 x_17277 x_17276 1005 | COMMENT x_577 -> h_COMMENT x_577 1006 | MOVE x_578 -> h_MOVE x_578 1007 | POP x_579 -> h_POP x_579 1008 | PUSH x_580 -> h_PUSH x_580 1009 | ADDRESS (i, x_582, x_581) -> h_ADDRESS i __ x_582 x_581 1010 | OPACCS (x_588, x_587, x_586, x_585, x_584) -> 1011 h_OPACCS x_588 x_587 x_586 x_585 x_584 1012 | OP1 (x_591, x_590, x_589) -> h_OP1 x_591 x_590 x_589 1013 | OP2 (x_595, x_594, x_593, x_592) -> h_OP2 x_595 x_594 x_593 x_592 1019 1014 | CLEAR_CARRY -> h_CLEAR_CARRY 1020 1015 | SET_CARRY -> h_SET_CARRY 1021 | LOAD (x_ 17282, x_17281, x_17280) -> h_LOAD x_17282 x_17281 x_172801022 | STORE (x_ 17285, x_17284, x_17283) -> h_STORE x_17285 x_17284 x_172831023 | Extension_seq x_ 17286 -> h_extension_seq x_172861016 | LOAD (x_598, x_597, x_596) -> h_LOAD x_598 x_597 x_596 1017 | STORE (x_601, x_600, x_599) -> h_STORE x_601 x_600 x_599 1018 | Extension_seq x_602 -> h_extension_seq x_602 1024 1019 1025 1020 (** val joint_seq_rect_Type0 : … … 1031 1026 'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **) 1032 1027 let rec joint_seq_rect_Type0 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function 1033 | COMMENT x_17301 -> h_COMMENT x_17301 1034 | MOVE x_17302 -> h_MOVE x_17302 1035 | POP x_17303 -> h_POP x_17303 1036 | PUSH x_17304 -> h_PUSH x_17304 1037 | ADDRESS (i, x_17306, x_17305) -> h_ADDRESS i __ x_17306 x_17305 1038 | OPACCS (x_17312, x_17311, x_17310, x_17309, x_17308) -> 1039 h_OPACCS x_17312 x_17311 x_17310 x_17309 x_17308 1040 | OP1 (x_17315, x_17314, x_17313) -> h_OP1 x_17315 x_17314 x_17313 1041 | OP2 (x_17319, x_17318, x_17317, x_17316) -> 1042 h_OP2 x_17319 x_17318 x_17317 x_17316 1028 | COMMENT x_617 -> h_COMMENT x_617 1029 | MOVE x_618 -> h_MOVE x_618 1030 | POP x_619 -> h_POP x_619 1031 | PUSH x_620 -> h_PUSH x_620 1032 | ADDRESS (i, x_622, x_621) -> h_ADDRESS i __ x_622 x_621 1033 | OPACCS (x_628, x_627, x_626, x_625, x_624) -> 1034 h_OPACCS x_628 x_627 x_626 x_625 x_624 1035 | OP1 (x_631, x_630, x_629) -> h_OP1 x_631 x_630 x_629 1036 | OP2 (x_635, x_634, x_633, x_632) -> h_OP2 x_635 x_634 x_633 x_632 1043 1037 | CLEAR_CARRY -> h_CLEAR_CARRY 1044 1038 | SET_CARRY -> h_SET_CARRY 1045 | LOAD (x_ 17322, x_17321, x_17320) -> h_LOAD x_17322 x_17321 x_173201046 | STORE (x_ 17325, x_17324, x_17323) -> h_STORE x_17325 x_17324 x_173231047 | Extension_seq x_ 17326 -> h_extension_seq x_173261039 | LOAD (x_638, x_637, x_636) -> h_LOAD x_638 x_637 x_636 1040 | STORE (x_641, x_640, x_639) -> h_STORE x_641 x_640 x_639 1041 | Extension_seq x_642 -> h_extension_seq x_642 1048 1042 1049 1043 (** val joint_seq_inv_rect_Type4 : … … 1236 1230 -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **) 1237 1231 let rec joint_step_rect_Type4 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function 1238 | COST_LABEL x_ 17593 -> h_COST_LABEL x_175931239 | CALL (x_ 17596, x_17595, x_17594) -> h_CALL x_17596 x_17595 x_175941240 | COND (x_ 17598, x_17597) -> h_COND x_17598 x_175971241 | Step_seq x_ 17599 -> h_step_seq x_175991232 | COST_LABEL x_909 -> h_COST_LABEL x_909 1233 | CALL (x_912, x_911, x_910) -> h_CALL x_912 x_911 x_910 1234 | COND (x_914, x_913) -> h_COND x_914 x_913 1235 | Step_seq x_915 -> h_step_seq x_915 1242 1236 1243 1237 (** val joint_step_rect_Type5 : … … 1246 1240 -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **) 1247 1241 let rec joint_step_rect_Type5 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function 1248 | COST_LABEL x_ 17605 -> h_COST_LABEL x_176051249 | CALL (x_ 17608, x_17607, x_17606) -> h_CALL x_17608 x_17607 x_176061250 | COND (x_ 17610, x_17609) -> h_COND x_17610 x_176091251 | Step_seq x_ 17611 -> h_step_seq x_176111242 | COST_LABEL x_921 -> h_COST_LABEL x_921 1243 | CALL (x_924, x_923, x_922) -> h_CALL x_924 x_923 x_922 1244 | COND (x_926, x_925) -> h_COND x_926 x_925 1245 | Step_seq x_927 -> h_step_seq x_927 1252 1246 1253 1247 (** val joint_step_rect_Type3 : … … 1256 1250 -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **) 1257 1251 let rec joint_step_rect_Type3 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function 1258 | COST_LABEL x_ 17617 -> h_COST_LABEL x_176171259 | CALL (x_ 17620, x_17619, x_17618) -> h_CALL x_17620 x_17619 x_176181260 | COND (x_ 17622, x_17621) -> h_COND x_17622 x_176211261 | Step_seq x_ 17623 -> h_step_seq x_176231252 | COST_LABEL x_933 -> h_COST_LABEL x_933 1253 | CALL (x_936, x_935, x_934) -> h_CALL x_936 x_935 x_934 1254 | COND (x_938, x_937) -> h_COND x_938 x_937 1255 | Step_seq x_939 -> h_step_seq x_939 1262 1256 1263 1257 (** val joint_step_rect_Type2 : … … 1266 1260 -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **) 1267 1261 let rec joint_step_rect_Type2 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function 1268 | COST_LABEL x_ 17629 -> h_COST_LABEL x_176291269 | CALL (x_ 17632, x_17631, x_17630) -> h_CALL x_17632 x_17631 x_176301270 | COND (x_ 17634, x_17633) -> h_COND x_17634 x_176331271 | Step_seq x_ 17635 -> h_step_seq x_176351262 | COST_LABEL x_945 -> h_COST_LABEL x_945 1263 | CALL (x_948, x_947, x_946) -> h_CALL x_948 x_947 x_946 1264 | COND (x_950, x_949) -> h_COND x_950 x_949 1265 | Step_seq x_951 -> h_step_seq x_951 1272 1266 1273 1267 (** val joint_step_rect_Type1 : … … 1276 1270 -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **) 1277 1271 let rec joint_step_rect_Type1 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function 1278 | COST_LABEL x_ 17641 -> h_COST_LABEL x_176411279 | CALL (x_ 17644, x_17643, x_17642) -> h_CALL x_17644 x_17643 x_176421280 | COND (x_ 17646, x_17645) -> h_COND x_17646 x_176451281 | Step_seq x_ 17647 -> h_step_seq x_176471272 | COST_LABEL x_957 -> h_COST_LABEL x_957 1273 | CALL (x_960, x_959, x_958) -> h_CALL x_960 x_959 x_958 1274 | COND (x_962, x_961) -> h_COND x_962 x_961 1275 | Step_seq x_963 -> h_step_seq x_963 1282 1276 1283 1277 (** val joint_step_rect_Type0 : … … 1286 1280 -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **) 1287 1281 let rec joint_step_rect_Type0 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function 1288 | COST_LABEL x_ 17653 -> h_COST_LABEL x_176531289 | CALL (x_ 17656, x_17655, x_17654) -> h_CALL x_17656 x_17655 x_176541290 | COND (x_ 17658, x_17657) -> h_COND x_17658 x_176571291 | Step_seq x_ 17659 -> h_step_seq x_176591282 | COST_LABEL x_969 -> h_COST_LABEL x_969 1283 | CALL (x_972, x_971, x_970) -> h_CALL x_972 x_971 x_970 1284 | COND (x_974, x_973) -> h_COND x_974 x_973 1285 | Step_seq x_975 -> h_step_seq x_975 1292 1286 1293 1287 (** val joint_step_inv_rect_Type4 : … … 1464 1458 (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool -> 1465 1459 'a1) -> stmt_params -> 'a1 **) 1466 let rec stmt_params_rect_Type4 h_mk_stmt_params x_1 7738=1460 let rec stmt_params_rect_Type4 h_mk_stmt_params x_1054 = 1467 1461 let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond = 1468 has_fcond0 } = x_1 77381462 has_fcond0 } = x_1054 1469 1463 in 1470 1464 h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0 … … 1473 1467 (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool -> 1474 1468 'a1) -> stmt_params -> 'a1 **) 1475 let rec stmt_params_rect_Type5 h_mk_stmt_params x_1 7740=1469 let rec stmt_params_rect_Type5 h_mk_stmt_params x_1056 = 1476 1470 let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond = 1477 has_fcond0 } = x_1 77401471 has_fcond0 } = x_1056 1478 1472 in 1479 1473 h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0 … … 1482 1476 (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool -> 1483 1477 'a1) -> stmt_params -> 'a1 **) 1484 let rec stmt_params_rect_Type3 h_mk_stmt_params x_1 7742=1478 let rec stmt_params_rect_Type3 h_mk_stmt_params x_1058 = 1485 1479 let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond = 1486 has_fcond0 } = x_1 77421480 has_fcond0 } = x_1058 1487 1481 in 1488 1482 h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0 … … 1491 1485 (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool -> 1492 1486 'a1) -> stmt_params -> 'a1 **) 1493 let rec stmt_params_rect_Type2 h_mk_stmt_params x_1 7744=1487 let rec stmt_params_rect_Type2 h_mk_stmt_params x_1060 = 1494 1488 let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond = 1495 has_fcond0 } = x_1 77441489 has_fcond0 } = x_1060 1496 1490 in 1497 1491 h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0 … … 1500 1494 (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool -> 1501 1495 'a1) -> stmt_params -> 'a1 **) 1502 let rec stmt_params_rect_Type1 h_mk_stmt_params x_1 7746=1496 let rec stmt_params_rect_Type1 h_mk_stmt_params x_1062 = 1503 1497 let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond = 1504 has_fcond0 } = x_1 77461498 has_fcond0 } = x_1062 1505 1499 in 1506 1500 h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0 … … 1509 1503 (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool -> 1510 1504 'a1) -> stmt_params -> 'a1 **) 1511 let rec stmt_params_rect_Type0 h_mk_stmt_params x_1 7748=1505 let rec stmt_params_rect_Type0 h_mk_stmt_params x_1064 = 1512 1506 let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond = 1513 has_fcond0 } = x_1 77481507 has_fcond0 } = x_1064 1514 1508 in 1515 1509 h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0 … … 1578 1572 (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **) 1579 1573 let rec joint_fin_step_rect_Type4 p h_GOTO h_RETURN h_TAILCALL = function 1580 | GOTO x_1 7772 -> h_GOTO x_177721574 | GOTO x_1088 -> h_GOTO x_1088 1581 1575 | RETURN -> h_RETURN 1582 | TAILCALL (x_1 7774, x_17773) -> h_TAILCALL __ x_17774 x_177731576 | TAILCALL (x_1090, x_1089) -> h_TAILCALL __ x_1090 x_1089 1583 1577 1584 1578 (** val joint_fin_step_rect_Type5 : … … 1586 1580 (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **) 1587 1581 let rec joint_fin_step_rect_Type5 p h_GOTO h_RETURN h_TAILCALL = function 1588 | GOTO x_1 7780 -> h_GOTO x_177801582 | GOTO x_1096 -> h_GOTO x_1096 1589 1583 | RETURN -> h_RETURN 1590 | TAILCALL (x_1 7782, x_17781) -> h_TAILCALL __ x_17782 x_177811584 | TAILCALL (x_1098, x_1097) -> h_TAILCALL __ x_1098 x_1097 1591 1585 1592 1586 (** val joint_fin_step_rect_Type3 : … … 1594 1588 (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **) 1595 1589 let rec joint_fin_step_rect_Type3 p h_GOTO h_RETURN h_TAILCALL = function 1596 | GOTO x_1 7788 -> h_GOTO x_177881590 | GOTO x_1104 -> h_GOTO x_1104 1597 1591 | RETURN -> h_RETURN 1598 | TAILCALL (x_1 7790, x_17789) -> h_TAILCALL __ x_17790 x_177891592 | TAILCALL (x_1106, x_1105) -> h_TAILCALL __ x_1106 x_1105 1599 1593 1600 1594 (** val joint_fin_step_rect_Type2 : … … 1602 1596 (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **) 1603 1597 let rec joint_fin_step_rect_Type2 p h_GOTO h_RETURN h_TAILCALL = function 1604 | GOTO x_1 7796 -> h_GOTO x_177961598 | GOTO x_1112 -> h_GOTO x_1112 1605 1599 | RETURN -> h_RETURN 1606 | TAILCALL (x_1 7798, x_17797) -> h_TAILCALL __ x_17798 x_177971600 | TAILCALL (x_1114, x_1113) -> h_TAILCALL __ x_1114 x_1113 1607 1601 1608 1602 (** val joint_fin_step_rect_Type1 : … … 1610 1604 (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **) 1611 1605 let rec joint_fin_step_rect_Type1 p h_GOTO h_RETURN h_TAILCALL = function 1612 | GOTO x_1 7804 -> h_GOTO x_178041606 | GOTO x_1120 -> h_GOTO x_1120 1613 1607 | RETURN -> h_RETURN 1614 | TAILCALL (x_1 7806, x_17805) -> h_TAILCALL __ x_17806 x_178051608 | TAILCALL (x_1122, x_1121) -> h_TAILCALL __ x_1122 x_1121 1615 1609 1616 1610 (** val joint_fin_step_rect_Type0 : … … 1618 1612 (__, __) T