#include "psprecomp/runtime.hpp" #include "generated_units.hpp" #include #include #include #include namespace psprecomp { static const std::uint16_t kEntryIds_recomp_unit_0020[4084] = { 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 5, 0, 0, 6, 0, 7, 0, 0, 8, 0, 9, 0, 0, 10, 0, 11, 0, 0, 12, 0, 13, 14, 0, 15, 0, 0, 0, 0, 0, 16, 0, 17, 0, 0, 0, 18, 0, 19, 0, 0, 0, 0, 20, 0, 0, 0, 0, 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 24, 0, 25, 0, 26, 0, 0, 0, 27, 0, 28, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 32, 0, 0, 0, 0, 0, 33, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 39, 0, 0, 0, 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 51, 0, 0, 0, 52, 0, 53, 0, 54, 0, 0, 0, 0, 0, 0, 55, 0, 56, 0, 0, 57, 0, 58, 0, 59, 0, 0, 0, 0, 0, 0, 60, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 63, 0, 64, 0, 0, 0, 65, 0, 0, 66, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0, 69, 0, 0, 70, 0, 0, 0, 71, 72, 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 74, 0, 75, 0, 0, 76, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 79, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 84, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 88, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 91, 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 93, 0, 94, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, 109, 0, 0, 0, 110, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, 113, 0, 114, 0, 115, 0, 0, 116, 0, 117, 118, 0, 0, 0, 0, 0, 0, 0, 119, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 126, 0, 127, 0, 128, 0, 0, 0, 0, 0, 0, 129, 0, 130, 0, 0, 0, 0, 0, 0, 131, 0, 132, 0, 0, 133, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 144, 0, 0, 145, 0, 146, 0, 0, 147, 0, 148, 0, 149, 0, 150, 0, 151, 0, 0, 152, 0, 0, 0, 0, 0, 153, 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, 156, 157, 0, 0, 158, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 161, 0, 0, 162, 0, 0, 0, 0, 163, 0, 0, 0, 0, 164, 0, 0, 0, 165, 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, 168, 0, 0, 169, 0, 0, 0, 170, 0, 0, 0, 0, 0, 171, 0, 172, 0, 0, 0, 173, 0, 0, 0, 0, 174, 0, 0, 175, 0, 0, 0, 176, 0, 0, 0, 0, 177, 0, 178, 0, 0, 179, 0, 0, 180, 0, 0, 0, 0, 0, 181, 0, 0, 182, 0, 183, 0, 0, 184, 0, 0, 0, 185, 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, 189, 0, 0, 190, 0, 0, 191, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 193, 0, 194, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 0, 0, 198, 0, 0, 0, 199, 0, 200, 0, 0, 201, 0, 202, 0, 203, 0, 0, 204, 0, 0, 205, 0, 0, 0, 206, 0, 207, 0, 208, 0, 209, 0, 0, 0, 0, 210, 0, 0, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 0, 214, 0, 215, 0, 0, 216, 0, 217, 0, 0, 0, 218, 219, 0, 220, 0, 0, 0, 0, 0, 221, 0, 0, 0, 222, 0, 223, 0, 224, 0, 0, 225, 0, 0, 226, 0, 0, 0, 227, 0, 228, 0, 229, 0, 0, 0, 0, 230, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 233, 0, 234, 0, 0, 0, 0, 235, 0, 236, 237, 0, 238, 0, 0, 0, 0, 239, 240, 0, 241, 0, 242, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 249, 0, 0, 0, 250, 251, 0, 0, 0, 252, 0, 253, 0, 0, 0, 0, 0, 0, 254, 255, 0, 0, 0, 256, 0, 0, 0, 0, 257, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 259, 0, 260, 0, 0, 0, 261, 0, 262, 0, 263, 0, 0, 0, 264, 0, 0, 265, 0, 266, 0, 0, 267, 0, 268, 0, 0, 0, 0, 0, 0, 269, 0, 0, 0, 270, 0, 0, 0, 0, 0, 271, 0, 272, 273, 0, 0, 0, 0, 0, 274, 0, 275, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 278, 0, 0, 0, 0, 279, 0, 0, 0, 0, 0, 280, 0, 281, 0, 282, 0, 0, 0, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 286, 0, 0, 287, 0, 0, 288, 0, 0, 0, 289, 0, 290, 0, 0, 0, 291, 0, 292, 0, 293, 0, 0, 0, 0, 0, 294, 0, 0, 0, 295, 0, 0, 296, 0, 0, 297, 0, 0, 0, 298, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 300, 0, 0, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 303, 0, 0, 304, 0, 305, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 307, 0, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 310, 0, 0, 0, 0, 0, 0, 0, 311, 0, 312, 0, 313, 0, 314, 0, 0, 0, 0, 315, 0, 316, 0, 317, 0, 0, 0, 318, 0, 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 322, 0, 0, 0, 323, 0, 0, 324, 0, 0, 0, 325, 0, 326, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0, 330, 0, 331, 0, 332, 0, 333, 0, 0, 334, 0, 335, 0, 336, 0, 0, 0, 0, 337, 0, 0, 338, 0, 339, 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 342, 0, 0, 0, 0, 0, 0, 343, 0, 344, 0, 0, 345, 0, 0, 346, 0, 0, 347, 0, 0, 0, 0, 348, 0, 349, 350, 0, 351, 0, 352, 0, 0, 0, 353, 0, 354, 0, 0, 0, 0, 0, 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 356, 0, 357, 0, 358, 0, 0, 0, 0, 0, 0, 0, 359, 0, 360, 0, 0, 361, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 363, 364, 0, 365, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 367, 0, 0, 0, 0, 0, 0, 0, 368, 0, 0, 0, 0, 0, 369, 0, 0, 370, 0, 0, 0, 371, 0, 0, 0, 372, 0, 0, 0, 373, 0, 0, 374, 0, 0, 0, 0, 0, 375, 0, 0, 0, 0, 0, 0, 0, 376, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0, 0, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 380, 0, 381, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, 0, 386, 0, 387, 388, 0, 389, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 0, 0, 0, 0, 0, 393, 0, 394, 0, 0, 0, 0, 0, 0, 395, 0, 0, 0, 0, 0, 0, 0, 396, 0, 397, 0, 398, 0, 399, 0, 400, 0, 401, 0, 0, 0, 402, 0, 0, 0, 403, 0, 0, 0, 404, 0, 0, 0, 405, 0, 0, 0, 406, 0, 0, 0, 407, 0, 0, 0, 408, 0, 0, 0, 409, 0, 0, 0, 0, 410, 0, 0, 0, 411, 0, 412, 0, 413, 0, 0, 0, 0, 0, 414, 0, 0, 0, 415, 0, 416, 0, 417, 0, 418, 0, 419, 0, 420, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, 0, 0, 0, 0, 423, 0, 0, 0, 0, 0, 424, 0, 425, 0, 426, 0, 427, 0, 0, 0, 428, 0, 0, 0, 429, 430, 0, 431, 0, 0, 432, 0, 0, 433, 434, 0, 435, 0, 436, 0, 0, 0, 437, 0, 438, 0, 439, 0, 440, 0, 441, 0, 442, 0, 443, 0, 444, 0, 445, 0, 446, 0, 447, 0, 0, 0, 448, 0, 0, 0, 449, 450, 0, 0, 451, 0, 0, 452, 0, 0, 0, 453, 0, 0, 0, 0, 0, 0, 454, 0, 455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 0, 457, 0, 458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459, 0, 0, 0, 0, 0, 460, 0, 0, 461, 0, 462, 0, 0, 0, 0, 463, 0, 464, 0, 0, 0, 465, 0, 0, 0, 466, 0, 0, 0, 0, 0, 467, 0, 0, 0, 0, 468, 0, 469, 0, 0, 470, 0, 0, 471, 0, 472, 0, 473, 0, 0, 0, 0, 474, 0, 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 0, 479, 0, 0, 0, 0, 0, 480, 0, 481, 0, 482, 0, 483, 0, 484, 0, 0, 0, 485, 486, 0, 487, 0, 488, 0, 489, 0, 490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 492, 0, 493, 0, 0, 494, 0, 0, 0, 495, 0, 0, 0, 496, 0, 0, 497, 498, 0, 0, 0, 0, 499, 0, 0, 0, 500, 0, 0, 0, 501, 0, 0, 0, 502, 0, 0, 0, 503, 0, 0, 0, 504, 0, 0, 0, 505, 0, 506, 507, 0, 0, 0, 0, 0, 508, 509, 0, 0, 0, 510, 0, 0, 511, 0, 0, 512, 0, 0, 0, 0, 513, 0, 0, 0, 0, 0, 0, 514, 0, 0, 515, 0, 0, 516, 0, 517, 0, 0, 518, 0, 0, 519, 0, 520, 0, 521, 0, 0, 0, 522, 0, 0, 0, 523, 0, 0, 524, 0, 525, 0, 0, 0, 526, 0, 0, 0, 527, 0, 0, 0, 528, 0, 0, 0, 529, 530, 0, 0, 0, 0, 0, 0, 531, 0, 0, 532, 0, 0, 533, 0, 534, 0, 535, 0, 536, 0, 0, 537, 0, 538, 0, 539, 0, 540, 0, 0, 541, 0, 0, 0, 542, 0, 543, 0, 0, 0, 0, 0, 0, 544, 0, 0, 0, 0, 0, 545, 0, 546, 0, 547, 0, 548, 0, 549, 0, 550, 0, 0, 0, 551, 0, 552, 0, 0, 0, 553, 0, 554, 0, 0, 0, 0, 0, 0, 555, 0, 0, 0, 0, 0, 556, 0, 557, 0, 558, 0, 559, 0, 0, 0, 560, 0, 561, 0, 0, 0, 562, 0, 563, 0, 0, 0, 0, 0, 564, 0, 565, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 567, 0, 568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, 0, 572, 0, 0, 0, 0, 0, 0, 0, 573, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 579, 0, 0, 0, 580, 0, 0, 581, 0, 0, 0, 0, 0, 582, 583, 0, 584, 0, 0, 0, 0, 585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 586, 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 592, 0, 0, 593, 0, 0, 0, 0, 0, 0, 594, 0, 595, 0, 0, 0, 0, 0, 596, 0, 0, 0, 0, 0, 0, 597, 0, 0, 598, 0, 0, 0, 599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 603, 604, 0, 605, 0, 0, 606, 0, 607, 0, 608, 0, 0, 0, 0, 0, 609, 0, 0, 0, 0, 0, 0, 610, 0, 0, 0, 0, 611, 0, 612, 0, 613, 0, 614, 0, 0, 0, 615, 616, 0, 0, 0, 0, 0, 0, 0, 0, 617, 0, 0, 618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 621, 0, 622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 623, 0, 624, 0, 625, 0, 626, 0, 0, 0, 0, 0, 627, 0, 628, 0, 0, 0, 0, 0, 629, 0, 0, 0, 630, 0, 631, 0, 0, 0, 632, 0, 0, 633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 634, 0, 0, 635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 638, 0, 639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, 0, 0, 641, 0, 0, 0, 642, 0, 0, 0, 643, 0, 0, 0, 644, 0, 0, 0, 645, 0, 0, 0, 646, 0, 0, 0, 0, 0, 647, 0, 648, 0, 0, 0, 0, 0, 649, 0, 650, 0, 0, 0, 651, 0, 0, 0, 0, 0, 652, 0, 653, 0, 0, 0, 0, 0, 654, 0, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, 657, 0, 0, 0, 0, 658, 0, 0, 0, 659, 660, 0, 661, 0, 0, 0, 0, 662, 0, 0, 0, 0, 0, 663, 664, 0, 0, 665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 666, 0, 667, 668, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 671, 0, 0, 672, 0, 0, 0, 0, 0, 0, 673, 0, 0, 674, 0, 0, 0, 0, 0, 0, 0, 675, 0, 676, 0, 677, 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0, 0, 0, 0, 680, 681, 0, 0, 0, 0, 682, 0, 0, 0, 683, 684, 0, 685, 0, 0, 0, 0, 686, 0, 0, 0, 0, 0, 687, 688, 0, 0, 689, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 690, 0, 691, 692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 693, 0, 694, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 697, 0, 0, 698, 0, 0, 699, 0, 0, 700, 0, 701, 0, 702, 0, 703, 0, 0, 0, 0, 0, 0, 704, 0, 705, 0, 706, 0, 0, 707, 0, 0, 0, 0, 0, 708, 0, 0, 0, 709, 0, 0, 0, 710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 712, 0, 0, 0, 0, 0, 713, 0, 0, 0, 0, 0, 0, 714, 0, 715, 0, 0, 0, 0, 0, 0, 716, 0, 717, 0, 0, 0, 0, 718, 0, 719, 0, 0, 0, 0, 0, 720, 0, 721, 0, 722, 0, 0, 0, 0, 0, 0, 723, 0, 724, 0, 0, 0, 0, 0, 725, 0, 0, 0, 0, 0, 726, 0, 0, 0, 0, 727, 0, 0, 0, 728, 0, 0, 0, 0, 0, 729, 730, 0, 731, 0, 0, 0, 0, 0, 0, 0, 732, 0, 0, 0, 733, 0, 0, 0, 734, 0, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, 0, 737, 0, 0, 738, 0, 0, 0, 0, 739, 0, 0, 0, 0, 740, 0, 0, 0, 0, 741, 0, 0, 0, 742, 0, 0, 0, 0, 0, 0, 0, 0, 743, 0, 0, 744, 0, 0, 745, 0, 0, 0, 746, 0, 0, 0, 0, 0, 747, 0, 748, 0, 0, 0, 749, 0, 0, 0, 0, 0, 750, 0, 0, 751, 0, 0, 0, 0, 752, 0, 0, 0, 0, 753, 0, 0, 0, 0, 754, 0, 0, 0, 755, 0, 0, 0, 0, 0, 756, 0, 0, 757, 0, 758, 0, 0, 759, 0, 0, 0, 0, 760, 0, 0, 0, 0, 761, 0, 0, 0, 762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 763, 0, 0, 764, 0, 0, 0, 765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 767, 0, 0, 0, 0, 0, 768, 0, 0, 769, 0, 0, 0, 0, 0, 0, 0, 770, 771, 0, 0, 0, 0, 0, 0, 772, 0, 0, 0, 773, 0, 0, 0, 0, 774, 0, 775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 778, 0, 0, 0, 0, 779, 0, 780, 0, 781, 782, }; void recomp_unit_0020_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; std::uint32_t local_pc = ctx.pc; std::uint32_t entry_id = direct_entry_id; LOCAL_DISPATCH: { if (entry_id == 0u) { const std::uint32_t entry_delta = local_pc - 0x08854000u; entry_id = (entry_delta < 16336u && (entry_delta & 3u) == 0u) ? kEntryIds_recomp_unit_0020[entry_delta >> 2u] : 0u; } switch (entry_id) { case 1u: goto L_08854000; case 2u: goto L_08854010; case 3u: goto L_08854038; case 4u: goto L_08854044; case 5u: goto L_0885404C; case 6u: goto L_08854058; case 7u: goto L_08854060; case 8u: goto L_0885406C; case 9u: goto L_08854074; case 10u: goto L_08854080; case 11u: goto L_08854088; case 12u: goto L_08854094; case 13u: goto L_0885409C; case 14u: goto L_088540A0; case 15u: goto L_088540A8; case 16u: goto L_088540C0; case 17u: goto L_088540C8; case 18u: goto L_088540D8; case 19u: goto L_088540E0; case 20u: goto L_088540F4; case 21u: goto L_08854108; case 22u: goto L_08854118; case 23u: goto L_08854128; case 24u: goto L_08854134; case 25u: goto L_0885413C; case 26u: goto L_08854144; case 27u: goto L_08854154; case 28u: goto L_0885415C; case 29u: goto L_08854170; case 30u: goto L_08854188; case 31u: goto L_088541B4; case 32u: goto L_088541C0; case 33u: goto L_088541D8; case 34u: goto L_088541E8; case 35u: goto L_088541F8; case 36u: goto L_08854208; case 37u: goto L_0885420C; case 38u: goto L_0885424C; case 39u: goto L_08854254; case 40u: goto L_08854264; case 41u: goto L_08854268; case 42u: goto L_08854290; case 43u: goto L_088542A4; case 44u: goto L_088542B4; case 45u: goto L_088542F0; case 46u: goto L_08854360; case 47u: goto L_088543B0; case 48u: goto L_088543E8; case 49u: goto L_08854440; case 50u: goto L_08854464; case 51u: goto L_08854470; case 52u: goto L_08854480; case 53u: goto L_08854488; case 54u: goto L_08854490; case 55u: goto L_088544AC; case 56u: goto L_088544B4; case 57u: goto L_088544C0; case 58u: goto L_088544C8; case 59u: goto L_088544D0; case 60u: goto L_088544EC; case 61u: goto L_088544F8; case 62u: goto L_088545B0; case 63u: goto L_088545B8; case 64u: goto L_088545C0; case 65u: goto L_088545D0; case 66u: goto L_088545DC; case 67u: goto L_088545E8; case 68u: goto L_088545F8; case 69u: goto L_08854608; case 70u: goto L_08854614; case 71u: goto L_08854624; case 72u: goto L_08854628; case 73u: goto L_08854644; case 74u: goto L_0885465C; case 75u: goto L_08854664; case 76u: goto L_08854670; case 77u: goto L_08854680; case 78u: goto L_088546A8; case 79u: goto L_088546B0; case 80u: goto L_088546B8; case 81u: goto L_08854720; case 82u: goto L_08854748; case 83u: goto L_08854770; case 84u: goto L_0885477C; case 85u: goto L_08854798; case 86u: goto L_088547B4; case 87u: goto L_088547F4; case 88u: goto L_088547FC; case 89u: goto L_08854818; case 90u: goto L_08854858; case 91u: goto L_08854860; case 92u: goto L_08854874; case 93u: goto L_0885488C; case 94u: goto L_08854894; case 95u: goto L_088548A8; case 96u: goto L_088548DC; case 97u: goto L_08854904; case 98u: goto L_08854928; case 99u: goto L_0885496C; case 100u: goto L_088549BC; case 101u: goto L_088549FC; case 102u: goto L_08854A10; case 103u: goto L_08854A80; case 104u: goto L_08854AA8; case 105u: goto L_08854AD0; case 106u: goto L_08854AF8; case 107u: goto L_08854AFC; case 108u: goto L_08854B3C; case 109u: goto L_08854B48; case 110u: goto L_08854B58; case 111u: goto L_08854B70; case 112u: goto L_08854B8C; case 113u: goto L_08854B9C; case 114u: goto L_08854BA4; case 115u: goto L_08854BAC; case 116u: goto L_08854BB8; case 117u: goto L_08854BC0; case 118u: goto L_08854BC4; case 119u: goto L_08854BE4; case 120u: goto L_08854BEC; case 121u: goto L_08854C20; case 122u: goto L_08854C34; case 123u: goto L_08854C68; case 124u: goto L_08854C70; case 125u: goto L_08854CA4; case 126u: goto L_08854CB0; case 127u: goto L_08854CB8; case 128u: goto L_08854CC0; case 129u: goto L_08854CDC; case 130u: goto L_08854CE4; case 131u: goto L_08854D00; case 132u: goto L_08854D08; case 133u: goto L_08854D14; case 134u: goto L_08854D20; case 135u: goto L_08854D48; case 136u: goto L_08854D50; case 137u: goto L_08854D84; case 138u: goto L_08854D98; case 139u: goto L_08854DC0; case 140u: goto L_08854DC8; case 141u: goto L_08854DFC; case 142u: goto L_08854E00; case 143u: goto L_08854E1C; case 144u: goto L_08854E38; case 145u: goto L_08854E44; case 146u: goto L_08854E4C; case 147u: goto L_08854E58; case 148u: goto L_08854E60; case 149u: goto L_08854E68; case 150u: goto L_08854E70; case 151u: goto L_08854E78; case 152u: goto L_08854E84; case 153u: goto L_08854E9C; case 154u: goto L_08854EA4; case 155u: goto L_08854ED0; case 156u: goto L_08854EE4; case 157u: goto L_08854EE8; case 158u: goto L_08854EF4; case 159u: goto L_08854F00; case 160u: goto L_08854F24; case 161u: goto L_08854F34; case 162u: goto L_08854F40; case 163u: goto L_08854F54; case 164u: goto L_08854F68; case 165u: goto L_08854F78; case 166u: goto L_08854F84; case 167u: goto L_08854FA8; case 168u: goto L_08854FB0; case 169u: goto L_08854FBC; case 170u: goto L_08854FCC; case 171u: goto L_08854FE4; case 172u: goto L_08854FEC; case 173u: goto L_08854FFC; case 174u: goto L_08855010; case 175u: goto L_0885501C; case 176u: goto L_0885502C; case 177u: goto L_08855040; case 178u: goto L_08855048; case 179u: goto L_08855054; case 180u: goto L_08855060; case 181u: goto L_08855078; case 182u: goto L_08855084; case 183u: goto L_0885508C; case 184u: goto L_08855098; case 185u: goto L_088550A8; case 186u: goto L_088550BC; case 187u: goto L_08855100; case 188u: goto L_08855158; case 189u: goto L_0885516C; case 190u: goto L_08855178; case 191u: goto L_08855184; case 192u: goto L_088551A4; case 193u: goto L_088551B4; case 194u: goto L_088551BC; case 195u: goto L_088551C4; case 196u: goto L_088551C8; case 197u: goto L_08855258; case 198u: goto L_08855264; case 199u: goto L_08855274; case 200u: goto L_0885527C; case 201u: goto L_08855288; case 202u: goto L_08855290; case 203u: goto L_08855298; case 204u: goto L_088552A4; case 205u: goto L_088552B0; case 206u: goto L_088552C0; case 207u: goto L_088552C8; case 208u: goto L_088552D0; case 209u: goto L_088552D8; case 210u: goto L_088552EC; case 211u: goto L_08855304; case 212u: goto L_08855314; case 213u: goto L_08855320; case 214u: goto L_08855328; case 215u: goto L_08855330; case 216u: goto L_0885533C; case 217u: goto L_08855344; case 218u: goto L_08855354; case 219u: goto L_08855358; case 220u: goto L_08855360; case 221u: goto L_08855378; case 222u: goto L_08855388; case 223u: goto L_08855390; case 224u: goto L_08855398; case 225u: goto L_088553A4; case 226u: goto L_088553B0; case 227u: goto L_088553C0; case 228u: goto L_088553C8; case 229u: goto L_088553D0; case 230u: goto L_088553E4; case 231u: goto L_088553F0; case 232u: goto L_08855448; case 233u: goto L_08855450; case 234u: goto L_08855458; case 235u: goto L_0885546C; case 236u: goto L_08855474; case 237u: goto L_08855478; case 238u: goto L_08855480; case 239u: goto L_08855494; case 240u: goto L_08855498; case 241u: goto L_088554A0; case 242u: goto L_088554A8; case 243u: goto L_088554B0; case 244u: goto L_088554D4; case 245u: goto L_088554DC; case 246u: goto L_088554F0; case 247u: goto L_088554FC; case 248u: goto L_08855578; case 249u: goto L_0885557C; case 250u: goto L_0885558C; case 251u: goto L_08855590; case 252u: goto L_088555A0; case 253u: goto L_088555A8; case 254u: goto L_088555C4; case 255u: goto L_088555C8; case 256u: goto L_088555D8; case 257u: goto L_088555EC; case 258u: goto L_088555F8; case 259u: goto L_08855618; case 260u: goto L_08855620; case 261u: goto L_08855630; case 262u: goto L_08855638; case 263u: goto L_08855640; case 264u: goto L_08855650; case 265u: goto L_0885565C; case 266u: goto L_08855664; case 267u: goto L_08855670; case 268u: goto L_08855678; case 269u: goto L_08855694; case 270u: goto L_088556A4; case 271u: goto L_088556BC; case 272u: goto L_088556C4; case 273u: goto L_088556C8; case 274u: goto L_088556E0; case 275u: goto L_088556E8; case 276u: goto L_088556F4; case 277u: goto L_08855714; case 278u: goto L_08855720; case 279u: goto L_08855734; case 280u: goto L_0885574C; case 281u: goto L_08855754; case 282u: goto L_0885575C; case 283u: goto L_0885576C; case 284u: goto L_08855774; case 285u: goto L_08855788; case 286u: goto L_08855794; case 287u: goto L_088557A0; case 288u: goto L_088557AC; case 289u: goto L_088557BC; case 290u: goto L_088557C4; case 291u: goto L_088557D4; case 292u: goto L_088557DC; case 293u: goto L_088557E4; case 294u: goto L_088557FC; case 295u: goto L_0885580C; case 296u: goto L_08855818; case 297u: goto L_08855824; case 298u: goto L_08855834; case 299u: goto L_0885584C; case 300u: goto L_08855860; case 301u: goto L_0885586C; case 302u: goto L_088558A4; case 303u: goto L_088558AC; case 304u: goto L_088558B8; case 305u: goto L_088558C0; case 306u: goto L_088558D8; case 307u: goto L_088558F0; case 308u: goto L_088558F8; case 309u: goto L_08855928; case 310u: goto L_08855930; case 311u: goto L_08855950; case 312u: goto L_08855958; case 313u: goto L_08855960; case 314u: goto L_08855968; case 315u: goto L_0885597C; case 316u: goto L_08855984; case 317u: goto L_0885598C; case 318u: goto L_0885599C; case 319u: goto L_088559A4; case 320u: goto L_088559D8; case 321u: goto L_088559E8; case 322u: goto L_08855A0C; case 323u: goto L_08855A1C; case 324u: goto L_08855A28; case 325u: goto L_08855A38; case 326u: goto L_08855A40; case 327u: goto L_08855A44; case 328u: goto L_08855A6C; case 329u: goto L_08855AA0; case 330u: goto L_08855AB0; case 331u: goto L_08855AB8; case 332u: goto L_08855AC0; case 333u: goto L_08855AC8; case 334u: goto L_08855AD4; case 335u: goto L_08855ADC; case 336u: goto L_08855AE4; case 337u: goto L_08855AF8; case 338u: goto L_08855B04; case 339u: goto L_08855B0C; case 340u: goto L_08855B14; case 341u: goto L_08855B40; case 342u: goto L_08855B48; case 343u: goto L_08855B64; case 344u: goto L_08855B6C; case 345u: goto L_08855B78; case 346u: goto L_08855B84; case 347u: goto L_08855B90; case 348u: goto L_08855BA4; case 349u: goto L_08855BAC; case 350u: goto L_08855BB0; case 351u: goto L_08855BB8; case 352u: goto L_08855BC0; case 353u: goto L_08855BD0; case 354u: goto L_08855BD8; case 355u: goto L_08855BF0; case 356u: goto L_08855C20; case 357u: goto L_08855C28; case 358u: goto L_08855C30; case 359u: goto L_08855C50; case 360u: goto L_08855C58; case 361u: goto L_08855C64; case 362u: goto L_08855C84; case 363u: goto L_08855C90; case 364u: goto L_08855C94; case 365u: goto L_08855C9C; case 366u: goto L_08855CAC; case 367u: goto L_08855CC8; case 368u: goto L_08855CE8; case 369u: goto L_08855D00; case 370u: goto L_08855D0C; case 371u: goto L_08855D1C; case 372u: goto L_08855D2C; case 373u: goto L_08855D3C; case 374u: goto L_08855D48; case 375u: goto L_08855D60; case 376u: goto L_08855D80; case 377u: goto L_08855DA0; case 378u: goto L_08855DB4; case 379u: goto L_08855DE0; case 380u: goto L_08855DE4; case 381u: goto L_08855DEC; case 382u: goto L_08855DF0; case 383u: goto L_08855E20; case 384u: goto L_08855E30; case 385u: goto L_08855E4C; case 386u: goto L_08855E60; case 387u: goto L_08855E68; case 388u: goto L_08855E6C; case 389u: goto L_08855E74; case 390u: goto L_08855E98; case 391u: goto L_08855EE8; case 392u: goto L_08855F18; case 393u: goto L_08855F30; case 394u: goto L_08855F38; case 395u: goto L_08855F54; case 396u: goto L_08855F74; case 397u: goto L_08855F7C; case 398u: goto L_08855F84; case 399u: goto L_08855F8C; case 400u: goto L_08855F94; case 401u: goto L_08855F9C; case 402u: goto L_08855FAC; case 403u: goto L_08855FBC; case 404u: goto L_08855FCC; case 405u: goto L_08855FDC; case 406u: goto L_08855FEC; case 407u: goto L_08855FFC; case 408u: goto L_0885600C; case 409u: goto L_0885601C; case 410u: goto L_08856030; case 411u: goto L_08856040; case 412u: goto L_08856048; case 413u: goto L_08856050; case 414u: goto L_08856068; case 415u: goto L_08856078; case 416u: goto L_08856080; case 417u: goto L_08856088; case 418u: goto L_08856090; case 419u: goto L_08856098; case 420u: goto L_088560A0; case 421u: goto L_088560C0; case 422u: goto L_088560E0; case 423u: goto L_088560F4; case 424u: goto L_0885610C; case 425u: goto L_08856114; case 426u: goto L_0885611C; case 427u: goto L_08856124; case 428u: goto L_08856134; case 429u: goto L_08856144; case 430u: goto L_08856148; case 431u: goto L_08856150; case 432u: goto L_0885615C; case 433u: goto L_08856168; case 434u: goto L_0885616C; case 435u: goto L_08856174; case 436u: goto L_0885617C; case 437u: goto L_0885618C; case 438u: goto L_08856194; case 439u: goto L_0885619C; case 440u: goto L_088561A4; case 441u: goto L_088561AC; case 442u: goto L_088561B4; case 443u: goto L_088561BC; case 444u: goto L_088561C4; case 445u: goto L_088561CC; case 446u: goto L_088561D4; case 447u: goto L_088561DC; case 448u: goto L_088561EC; case 449u: goto L_088561FC; case 450u: goto L_08856200; case 451u: goto L_0885620C; case 452u: goto L_08856218; case 453u: goto L_08856228; case 454u: goto L_08856244; case 455u: goto L_0885624C; case 456u: goto L_08856284; case 457u: goto L_08856290; case 458u: goto L_08856298; case 459u: goto L_088562D8; case 460u: goto L_088562F0; case 461u: goto L_088562FC; case 462u: goto L_08856304; case 463u: goto L_08856318; case 464u: goto L_08856320; case 465u: goto L_08856330; case 466u: goto L_08856340; case 467u: goto L_08856358; case 468u: goto L_0885636C; case 469u: goto L_08856374; case 470u: goto L_08856380; case 471u: goto L_0885638C; case 472u: goto L_08856394; case 473u: goto L_0885639C; case 474u: goto L_088563B0; case 475u: goto L_088563B8; case 476u: goto L_08856408; case 477u: goto L_0885646C; case 478u: goto L_088564AC; case 479u: goto L_088564B4; case 480u: goto L_088564CC; case 481u: goto L_088564D4; case 482u: goto L_088564DC; case 483u: goto L_088564E4; case 484u: goto L_088564EC; case 485u: goto L_088564FC; case 486u: goto L_08856500; case 487u: goto L_08856508; case 488u: goto L_08856510; case 489u: goto L_08856518; case 490u: goto L_08856520; case 491u: goto L_08856590; case 492u: goto L_08856598; case 493u: goto L_088565A0; case 494u: goto L_088565AC; case 495u: goto L_088565BC; case 496u: goto L_088565CC; case 497u: goto L_088565D8; case 498u: goto L_088565DC; case 499u: goto L_088565F0; case 500u: goto L_08856600; case 501u: goto L_08856610; case 502u: goto L_08856620; case 503u: goto L_08856630; case 504u: goto L_08856640; case 505u: goto L_08856650; case 506u: goto L_08856658; case 507u: goto L_0885665C; case 508u: goto L_08856674; case 509u: goto L_08856678; case 510u: goto L_08856688; case 511u: goto L_08856694; case 512u: goto L_088566A0; case 513u: goto L_088566B4; case 514u: goto L_088566D0; case 515u: goto L_088566DC; case 516u: goto L_088566E8; case 517u: goto L_088566F0; case 518u: goto L_088566FC; case 519u: goto L_08856708; case 520u: goto L_08856710; case 521u: goto L_08856718; case 522u: goto L_08856728; case 523u: goto L_08856738; case 524u: goto L_08856744; case 525u: goto L_0885674C; case 526u: goto L_0885675C; case 527u: goto L_0885676C; case 528u: goto L_0885677C; case 529u: goto L_0885678C; case 530u: goto L_08856790; case 531u: goto L_088567AC; case 532u: goto L_088567B8; case 533u: goto L_088567C4; case 534u: goto L_088567CC; case 535u: goto L_088567D4; case 536u: goto L_088567DC; case 537u: goto L_088567E8; case 538u: goto L_088567F0; case 539u: goto L_088567F8; case 540u: goto L_08856800; case 541u: goto L_0885680C; case 542u: goto L_0885681C; case 543u: goto L_08856824; case 544u: goto L_08856840; case 545u: goto L_08856858; case 546u: goto L_08856860; case 547u: goto L_08856868; case 548u: goto L_08856870; case 549u: goto L_08856878; case 550u: goto L_08856880; case 551u: goto L_08856890; case 552u: goto L_08856898; case 553u: goto L_088568A8; case 554u: goto L_088568B0; case 555u: goto L_088568CC; case 556u: goto L_088568E4; case 557u: goto L_088568EC; case 558u: goto L_088568F4; case 559u: goto L_088568FC; case 560u: goto L_0885690C; case 561u: goto L_08856914; case 562u: goto L_08856924; case 563u: goto L_0885692C; case 564u: goto L_08856944; case 565u: goto L_0885694C; case 566u: goto L_08856970; case 567u: goto L_08856978; case 568u: goto L_08856980; case 569u: goto L_088569F4; case 570u: goto L_08856A1C; case 571u: goto L_08856A44; case 572u: goto L_08856A4C; case 573u: goto L_08856A6C; case 574u: goto L_08856A88; case 575u: goto L_08856AD4; case 576u: goto L_08856ADC; case 577u: goto L_08856AF8; case 578u: goto L_08856B38; case 579u: goto L_08856B3C; case 580u: goto L_08856B4C; case 581u: goto L_08856B58; case 582u: goto L_08856B70; case 583u: goto L_08856B74; case 584u: goto L_08856B7C; case 585u: goto L_08856B90; case 586u: goto L_08856BD0; case 587u: goto L_08856BD4; case 588u: goto L_08856C40; case 589u: goto L_08856C84; case 590u: goto L_08856CD4; case 591u: goto L_08856D14; case 592u: goto L_08856D3C; case 593u: goto L_08856D48; case 594u: goto L_08856D64; case 595u: goto L_08856D6C; case 596u: goto L_08856D84; case 597u: goto L_08856DA0; case 598u: goto L_08856DAC; case 599u: goto L_08856DBC; case 600u: goto L_08856E2C; case 601u: goto L_08856E5C; case 602u: goto L_08856E84; case 603u: goto L_08856EAC; case 604u: goto L_08856EB0; case 605u: goto L_08856EB8; case 606u: goto L_08856EC4; case 607u: goto L_08856ECC; case 608u: goto L_08856ED4; case 609u: goto L_08856EEC; case 610u: goto L_08856F08; case 611u: goto L_08856F1C; case 612u: goto L_08856F24; case 613u: goto L_08856F2C; case 614u: goto L_08856F34; case 615u: goto L_08856F44; case 616u: goto L_08856F48; case 617u: goto L_08856F6C; case 618u: goto L_08856F78; case 619u: goto L_08856FB4; case 620u: goto L_08856FE0; case 621u: goto L_08857014; case 622u: goto L_0885701C; case 623u: goto L_0885704C; case 624u: goto L_08857054; case 625u: goto L_0885705C; case 626u: goto L_08857064; case 627u: goto L_0885707C; case 628u: goto L_08857084; case 629u: goto L_0885709C; case 630u: goto L_088570AC; case 631u: goto L_088570B4; case 632u: goto L_088570C4; case 633u: goto L_088570D0; case 634u: goto L_088570F8; case 635u: goto L_08857104; case 636u: goto L_08857140; case 637u: goto L_0885716C; case 638u: goto L_08857198; case 639u: goto L_088571A0; case 640u: goto L_088571D0; case 641u: goto L_088571DC; case 642u: goto L_088571EC; case 643u: goto L_088571FC; case 644u: goto L_0885720C; case 645u: goto L_0885721C; case 646u: goto L_0885722C; case 647u: goto L_08857244; case 648u: goto L_0885724C; case 649u: goto L_08857264; case 650u: goto L_0885726C; case 651u: goto L_0885727C; case 652u: goto L_08857294; case 653u: goto L_0885729C; case 654u: goto L_088572B4; case 655u: goto L_088572BC; case 656u: goto L_0885736C; case 657u: goto L_08857370; case 658u: goto L_08857384; case 659u: goto L_08857394; case 660u: goto L_08857398; case 661u: goto L_088573A0; case 662u: goto L_088573B4; case 663u: goto L_088573CC; case 664u: goto L_088573D0; case 665u: goto L_088573DC; case 666u: goto L_08857418; case 667u: goto L_08857420; case 668u: goto L_08857424; case 669u: goto L_088574A8; case 670u: goto L_088574D0; case 671u: goto L_08857510; case 672u: goto L_0885751C; case 673u: goto L_08857538; case 674u: goto L_08857544; case 675u: goto L_08857564; case 676u: goto L_0885756C; case 677u: goto L_08857574; case 678u: goto L_0885757C; case 679u: goto L_0885763C; case 680u: goto L_08857658; case 681u: goto L_0885765C; case 682u: goto L_08857670; case 683u: goto L_08857680; case 684u: goto L_08857684; case 685u: goto L_0885768C; case 686u: goto L_088576A0; case 687u: goto L_088576B8; case 688u: goto L_088576BC; case 689u: goto L_088576C8; case 690u: goto L_08857704; case 691u: goto L_0885770C; case 692u: goto L_08857710; case 693u: goto L_0885773C; case 694u: goto L_08857744; case 695u: goto L_0885775C; case 696u: goto L_088577B4; case 697u: goto L_088577EC; case 698u: goto L_088577F8; case 699u: goto L_08857804; case 700u: goto L_08857810; case 701u: goto L_08857818; case 702u: goto L_08857820; case 703u: goto L_08857828; case 704u: goto L_08857844; case 705u: goto L_0885784C; case 706u: goto L_08857854; case 707u: goto L_08857860; case 708u: goto L_08857878; case 709u: goto L_08857888; case 710u: goto L_08857898; case 711u: goto L_08857908; case 712u: goto L_08857984; case 713u: goto L_0885799C; case 714u: goto L_088579B8; case 715u: goto L_088579C0; case 716u: goto L_088579DC; case 717u: goto L_088579E4; case 718u: goto L_088579F8; case 719u: goto L_08857A00; case 720u: goto L_08857A18; case 721u: goto L_08857A20; case 722u: goto L_08857A28; case 723u: goto L_08857A44; case 724u: goto L_08857A4C; case 725u: goto L_08857A64; case 726u: goto L_08857A7C; case 727u: goto L_08857A90; case 728u: goto L_08857AA0; case 729u: goto L_08857AB8; case 730u: goto L_08857ABC; case 731u: goto L_08857AC4; case 732u: goto L_08857AE4; case 733u: goto L_08857AF4; case 734u: goto L_08857B04; case 735u: goto L_08857B10; case 736u: goto L_08857B34; case 737u: goto L_08857B44; case 738u: goto L_08857B50; case 739u: goto L_08857B64; case 740u: goto L_08857B78; case 741u: goto L_08857B8C; case 742u: goto L_08857B9C; case 743u: goto L_08857BC0; case 744u: goto L_08857BCC; case 745u: goto L_08857BD8; case 746u: goto L_08857BE8; case 747u: goto L_08857C00; case 748u: goto L_08857C08; case 749u: goto L_08857C18; case 750u: goto L_08857C30; case 751u: goto L_08857C3C; case 752u: goto L_08857C50; case 753u: goto L_08857C64; case 754u: goto L_08857C78; case 755u: goto L_08857C88; case 756u: goto L_08857CA0; case 757u: goto L_08857CAC; case 758u: goto L_08857CB4; case 759u: goto L_08857CC0; case 760u: goto L_08857CD4; case 761u: goto L_08857CE8; case 762u: goto L_08857CF8; case 763u: goto L_08857D30; case 764u: goto L_08857D3C; case 765u: goto L_08857D4C; case 766u: goto L_08857DB8; case 767u: goto L_08857E34; case 768u: goto L_08857E4C; case 769u: goto L_08857E58; case 770u: goto L_08857E78; case 771u: goto L_08857E7C; case 772u: goto L_08857E98; case 773u: goto L_08857EA8; case 774u: goto L_08857EBC; case 775u: goto L_08857EC4; case 776u: goto L_08857F08; case 777u: goto L_08857F60; case 778u: goto L_08857FA4; case 779u: goto L_08857FB8; case 780u: goto L_08857FC0; case 781u: goto L_08857FC8; case 782u: goto L_08857FCC; default: if (local_transfers == 0u) rt.unsupported(ctx.pc, 0u, "invalid internal function entry"); else ctx.pc = local_pc; return; } } L_08854000: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[5] = (0u | 13u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08854038; } goto L_08854010; } L_08854010: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(1720)))))); ctx.gpr[5] = (ctx.gpr[4] << 5u); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1428)); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[5] = (0u | 15u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_088540A0; } goto L_08854038; } L_08854038: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[31] = (0x08854044u); ctx.gpr[5] = (0u | 201u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 332u, 0x08865820u>(ctx, &aot_mem) && ctx.pc == 0x08854044u) goto L_08854044; return; L_08854044: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_0885409C; } goto L_0885404C; } L_0885404C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[31] = (0x08854058u); ctx.gpr[5] = (0u | 202u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 332u, 0x08865820u>(ctx, &aot_mem) && ctx.pc == 0x08854058u) goto L_08854058; return; L_08854058: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_0885409C; } goto L_08854060; } L_08854060: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[31] = (0x0885406Cu); ctx.gpr[5] = (0u | 205u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 332u, 0x08865820u>(ctx, &aot_mem) && ctx.pc == 0x0885406Cu) goto L_0885406C; return; L_0885406C: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_0885409C; } goto L_08854074; } L_08854074: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[31] = (0x08854080u); ctx.gpr[5] = (0u | 203u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 332u, 0x08865820u>(ctx, &aot_mem) && ctx.pc == 0x08854080u) goto L_08854080; return; L_08854080: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_0885409C; } goto L_08854088; } L_08854088: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[31] = (0x08854094u); ctx.gpr[5] = (0u | 204u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 332u, 0x08865820u>(ctx, &aot_mem) && ctx.pc == 0x08854094u) goto L_08854094; return; L_08854094: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088540A0; } goto L_0885409C; } L_0885409C: ctx.gpr[20] = (0u | 1u); goto L_088540A0; L_088540A0: { const bool branch_taken = ctx.gpr[20] != 0u; // nop if (branch_taken) { goto L_08854134; } goto L_088540A8; } L_088540A8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(2956))); ctx.gpr[20] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[4] < ctx.gpr[5] ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08854134; } goto L_088540C0; } L_088540C0: ctx.gpr[31] = (0x088540C8u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0052_entry, 52u, 132u, 0x088D4A84u>(ctx, &aot_mem) && ctx.pc == 0x088540C8u) goto L_088540C8; return; L_088540C8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(11))); ctx.gpr[31] = (0x088540D8u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(29)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 459u, 0x08A8AC6Cu>(ctx, &aot_mem) && ctx.pc == 0x088540D8u) goto L_088540D8; return; L_088540D8: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08854108; } goto L_088540E0; } L_088540E0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[6] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(11))); ctx.gpr[5] = (0u | 0u); ctx.gpr[31] = (0x088540F4u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(29)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 491u, 0x08A8AF2Cu>(ctx, &aot_mem) && ctx.pc == 0x088540F4u) goto L_088540F4; return; L_088540F4: ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[4] = (16640u << 16u); aot_mem.aot_store32(ctx.gpr[2] + static_cast(16), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(ctx.fpr[12])); goto L_08854108; L_08854108: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(10))); ctx.gpr[5] = (0u | 26u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08854128; } goto L_08854118; } L_08854118: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(2500)); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[17] + static_cast(2956), ctx.gpr[4]); if (branch_taken) { goto L_08854134; } goto L_08854128; } L_08854128: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1000)); aot_mem.aot_store32(ctx.gpr[17] + static_cast(2956), ctx.gpr[4]); goto L_08854134; L_08854134: { const bool branch_taken = 0u == 0u; ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(112))); if (branch_taken) { goto L_08854188; } goto L_0885413C; } L_0885413C: ctx.gpr[31] = (0x08854144u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0052_entry, 52u, 132u, 0x088D4A84u>(ctx, &aot_mem) && ctx.pc == 0x08854144u) goto L_08854144; return; L_08854144: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(11))); ctx.gpr[31] = (0x08854154u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(29)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 459u, 0x08A8AC6Cu>(ctx, &aot_mem) && ctx.pc == 0x08854154u) goto L_08854154; return; L_08854154: if (ctx.gpr[2] != 0u) { ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(112))); goto L_08854188; } goto L_0885415C; L_0885415C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[6] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(11))); ctx.gpr[5] = (0u | 0u); ctx.gpr[31] = (0x08854170u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(29)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 491u, 0x08A8AF2Cu>(ctx, &aot_mem) && ctx.pc == 0x08854170u) goto L_08854170; return; L_08854170: ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[4] = (16640u << 16u); aot_mem.aot_store32(ctx.gpr[2] + static_cast(16), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(ctx.fpr[12])); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(112))); goto L_08854188; L_08854188: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(9))); ctx.gpr[6] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(10))); ctx.gpr[7] = (rt.memory().aot_load_word_right(ctx.gpr[16] + static_cast(7), ctx.gpr[7])); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[7] = (rt.memory().aot_load_word_left(ctx.gpr[16] + static_cast(10), ctx.gpr[7])); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[8] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(11))); ctx.gpr[7] = (ctx.gpr[7] << 16u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); ctx.gpr[31] = (0x088541B4u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0054_entry, 54u, 580u, 0x088DEE94u>(ctx, &aot_mem) && ctx.pc == 0x088541B4u) goto L_088541B4; return; L_088541B4: ctx.gpr[4] = (ctx.gpr[16] + static_cast(20)); ctx.gpr[31] = (0x088541C0u); ctx.gpr[5] = (ctx.gpr[21] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 540u, 0x08AFA5FCu>(ctx, &aot_mem) && ctx.pc == 0x088541C0u) goto L_088541C0; return; L_088541C0: { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[18] = (0u | 8u); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(10))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[19]; // nop if (branch_taken) { goto L_08854208; } goto L_088541D8; } L_088541D8: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(10))); ctx.gpr[5] = (0u | 20u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08854208; } goto L_088541E8; } L_088541E8: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(10))); ctx.gpr[5] = (0u | 19u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08854208; } goto L_088541F8; } L_088541F8: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(10))); ctx.gpr[5] = (0u | 35u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_0885420C; } goto L_08854208; } L_08854208: ctx.gpr[18] = (0u | 32u); goto L_0885420C; L_0885420C: { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (15395u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 55050u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } aot_mem.aot_store32(ctx.gpr[29] + static_cast(120), std::bit_cast(ctx.fpr[12])); ctx.gpr[31] = (0x0885424Cu); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0138_entry, 138u, 745u, 0x08A2F7ACu>(ctx, &aot_mem) && ctx.pc == 0x0885424Cu) goto L_0885424C; return; L_0885424C: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088542A4; } goto L_08854254; } L_08854254: ctx.gpr[17] = (0u | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[18]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088542A4; } goto L_08854264; } L_08854264: ctx.fpr[20] = std::bit_cast(0u); goto L_08854268; L_08854268: ctx.gpr[4] = (0u | 7u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[5] = (ctx.gpr[22] | 0u); ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08854290u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08854290u) goto L_08854290; return; L_08854290: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[17] = (ctx.gpr[17] & 255u); ctx.gpr[4] = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[18]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08854268; } goto L_088542A4; } L_088542A4: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(10))); ctx.gpr[5] = (0u | 33u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_088543B0; } goto L_088542B4; } L_088542B4: ctx.fpr[20] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(128), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(132), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), std::bit_cast(ctx.fpr[20])); ctx.gpr[16] = (ctx.gpr[29] + static_cast(128)); ctx.gpr[4] = (0u | 74u); ctx.gpr[5] = (ctx.gpr[22] | 0u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x088542F0u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x088542F0u) goto L_088542F0; return; L_088542F0: ctx.gpr[4] = (15948u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[22] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(144), std::bit_cast(ctx.fpr[22])); ctx.gpr[4] = (48716u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[24] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(148), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(152), std::bit_cast(ctx.fpr[20])); { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[17] = (ctx.gpr[29] + static_cast(144)); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } aot_mem.aot_store32(ctx.gpr[29] + static_cast(160), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(164), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(168), std::bit_cast(ctx.fpr[20])); ctx.gpr[18] = (ctx.gpr[29] + static_cast(160)); ctx.gpr[4] = (0u | 74u); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08854360u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08854360u) goto L_08854360; return; L_08854360: aot_mem.aot_store32(ctx.gpr[29] + static_cast(144), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(148), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(152), std::bit_cast(ctx.fpr[20])); { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } aot_mem.aot_store32(ctx.gpr[29] + static_cast(128), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(132), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (0u | 74u); ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x088543B0u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x088543B0u) goto L_088543B0; return; L_088543B0: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(260))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(264))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(268))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(272))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(276))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(280))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(284))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(288))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(292))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(296))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(300))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(304))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(320)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088543E8: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-480)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(448), ctx.gpr[20]); ctx.gpr[20] = (ctx.gpr[4] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(432), ctx.gpr[16]); ctx.gpr[4] = (2225u << 16u); ctx.gpr[16] = (ctx.gpr[5] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(480), ctx.gpr[6]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(412), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(416), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(420), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(424), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(428), std::bit_cast(ctx.fpr[28])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(436), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(440), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(444), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(452), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(456), ctx.gpr[22]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(460), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(464), ctx.gpr[30]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(468), ctx.gpr[31]); ctx.gpr[31] = (0x08854440u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-5016)); if (rt.invoke_chained_direct<&recomp_unit_0018_entry, 18u, 877u, 0x0884FE58u>(ctx, &aot_mem) && ctx.pc == 0x08854440u) goto L_08854440; return; L_08854440: ctx.gpr[4] = (2232u << 16u); ctx.gpr[17] = (ctx.gpr[4] + static_cast(5736)); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(100))); ctx.gpr[6] = (rt.memory().aot_load_word_right(ctx.gpr[20] + static_cast(32), ctx.gpr[6])); ctx.gpr[6] = (rt.memory().aot_load_word_left(ctx.gpr[20] + static_cast(35), ctx.gpr[6])); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast(52))); ctx.gpr[6] = (ctx.gpr[6] & 65535u); ctx.gpr[31] = (0x08854464u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 141u, 0x088A87FCu>(ctx, &aot_mem) && ctx.pc == 0x08854464u) goto L_08854464; return; L_08854464: ctx.gpr[4] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[7] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08854488; } goto L_08854470; } L_08854470: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(104))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(400), ctx.gpr[7]); { const bool branch_taken = ctx.gpr[5] != 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(408), ctx.gpr[5]); if (branch_taken) { goto L_08854490; } goto L_08854480; } L_08854480: { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(408))); if (branch_taken) { goto L_08854E00; } goto L_08854488; } L_08854488: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088550BC; } goto L_08854490; } L_08854490: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(68))); ctx.gpr[5] = (ctx.gpr[5] & 14u); ctx.gpr[5] = (ctx.gpr[5] ^ 6u); ctx.gpr[5] = (ctx.gpr[5] < static_cast(1) ? 1u : 0u); ctx.gpr[5] = (ctx.gpr[5] & 255u); { const bool branch_taken = ctx.gpr[5] == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(400), ctx.gpr[7]); if (branch_taken) { goto L_08854DFC; } goto L_088544AC; } L_088544AC: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088544C8; } goto L_088544B4; } L_088544B4: ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(104))); { const bool branch_taken = ctx.gpr[18] != 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(400), ctx.gpr[7]); if (branch_taken) { goto L_088544D0; } goto L_088544C0; } L_088544C0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08854DFC; } goto L_088544C8; } L_088544C8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088550BC; } goto L_088544D0; } L_088544D0: aot_mem.aot_store32(ctx.gpr[29] + static_cast(400), ctx.gpr[7]); ctx.gpr[6] = (rt.memory().aot_load_word_right(ctx.gpr[20] + static_cast(34), ctx.gpr[6])); ctx.gpr[6] = (rt.memory().aot_load_word_left(ctx.gpr[20] + static_cast(37), ctx.gpr[6])); ctx.gpr[4] = (ctx.gpr[7] | 0u); ctx.gpr[6] = (ctx.gpr[6] & 65535u); ctx.gpr[31] = (0x088544ECu); ctx.gpr[5] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 141u, 0x088A87FCu>(ctx, &aot_mem) && ctx.pc == 0x088544ECu) goto L_088544EC; return; L_088544EC: ctx.gpr[21] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[21] == 0u; // nop if (branch_taken) { goto L_088545B8; } goto L_088544F8; } L_088544F8: ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(844))); ctx.gpr[23] = (aot_mem.aot_load8(ctx.gpr[20] + static_cast(31))); ctx.gpr[4] = (ctx.gpr[20] + static_cast(3)); ctx.gpr[5] = (rt.memory().aot_load_word_left(ctx.gpr[4] + static_cast(3), ctx.gpr[5])); ctx.gpr[5] = (rt.memory().aot_load_word_right(ctx.gpr[4] + static_cast(0), ctx.gpr[5])); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[20] + static_cast(7)); ctx.gpr[5] = (rt.memory().aot_load_word_left(ctx.gpr[4] + static_cast(3), ctx.gpr[5])); ctx.gpr[5] = (rt.memory().aot_load_word_right(ctx.gpr[4] + static_cast(0), ctx.gpr[5])); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[20] + static_cast(11)); ctx.gpr[5] = (rt.memory().aot_load_word_left(ctx.gpr[4] + static_cast(3), ctx.gpr[5])); ctx.gpr[5] = (rt.memory().aot_load_word_right(ctx.gpr[4] + static_cast(0), ctx.gpr[5])); ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(48), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(52), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(56), std::bit_cast(ctx.fpr[14])); ctx.gpr[19] = (ctx.gpr[29] + static_cast(48)); ctx.gpr[4] = (ctx.gpr[20] + static_cast(15)); ctx.gpr[5] = (rt.memory().aot_load_word_left(ctx.gpr[4] + static_cast(3), ctx.gpr[5])); ctx.gpr[5] = (rt.memory().aot_load_word_right(ctx.gpr[4] + static_cast(0), ctx.gpr[5])); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[20] + static_cast(19)); ctx.gpr[5] = (rt.memory().aot_load_word_left(ctx.gpr[4] + static_cast(3), ctx.gpr[5])); ctx.gpr[5] = (rt.memory().aot_load_word_right(ctx.gpr[4] + static_cast(0), ctx.gpr[5])); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[20] + static_cast(23)); ctx.gpr[5] = (rt.memory().aot_load_word_left(ctx.gpr[4] + static_cast(3), ctx.gpr[5])); ctx.gpr[5] = (rt.memory().aot_load_word_right(ctx.gpr[4] + static_cast(0), ctx.gpr[5])); ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(72), std::bit_cast(ctx.fpr[14])); ctx.gpr[16] = (ctx.gpr[29] + static_cast(64)); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[20] + static_cast(27)))))); ctx.gpr[17] = (ctx.gpr[4] & 16u); ctx.gpr[17] = (0u < ctx.gpr[17] ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 32u); ctx.gpr[4] = (0u < ctx.gpr[4] ? 1u : 0u); ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(1208))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(404), ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(844))); ctx.gpr[22] = (0u | 54u); ctx.gpr[5] = (16256u << 16u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[22]; ctx.fpr[22] = std::bit_cast(ctx.gpr[5]); if (branch_taken) { goto L_088545C0; } goto L_088545B0; } L_088545B0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088545DC; } goto L_088545B8; } L_088545B8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088550BC; } goto L_088545C0; } L_088545C0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(844))); ctx.gpr[5] = (0u | 55u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088545DC; } goto L_088545D0; } L_088545D0: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast(112))); ctx.gpr[31] = (0x088545DCu); ctx.gpr[4] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0037_entry, 37u, 322u, 0x08899450u>(ctx, &aot_mem) && ctx.pc == 0x088545DCu) goto L_088545DC; return; L_088545DC: aot_mem.aot_store32(ctx.gpr[29] + static_cast(396), ctx.gpr[17]); { const bool branch_taken = ctx.gpr[17] == 0u; ctx.gpr[4] = (0u | 4u); if (branch_taken) { goto L_08854628; } goto L_088545E8; } L_088545E8: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(864))); ctx.gpr[6] = (0u | 28u); { const bool branch_taken = ctx.gpr[5] == ctx.gpr[6]; // nop if (branch_taken) { goto L_08854624; } goto L_088545F8; } L_088545F8: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(844))); ctx.gpr[6] = (0u | 42u); { const bool branch_taken = ctx.gpr[5] == ctx.gpr[6]; // nop if (branch_taken) { goto L_08854624; } goto L_08854608; } L_08854608: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(844))); { const bool branch_taken = ctx.gpr[5] == ctx.gpr[22]; // nop if (branch_taken) { goto L_08854624; } goto L_08854614; } L_08854614: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(844))); ctx.gpr[6] = (0u | 55u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; // nop if (branch_taken) { goto L_08854628; } goto L_08854624; } L_08854624: ctx.gpr[4] = (0u | 1u); goto L_08854628; L_08854628: ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[20] + static_cast(27)))))); ctx.gpr[7] = (ctx.gpr[4] | 0u); ctx.gpr[4] = (ctx.gpr[18] | 0u); ctx.gpr[6] = (ctx.gpr[6] & 15u); ctx.gpr[5] = (0u | 0u); ctx.gpr[31] = (0x08854644u); ctx.gpr[8] = (0u | 10u); if (rt.invoke_chained_direct<&recomp_unit_0053_entry, 53u, 678u, 0x088DAFC4u>(ctx, &aot_mem) && ctx.pc == 0x08854644u) goto L_08854644; return; L_08854644: ctx.gpr[4] = (2230u << 16u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(96))); ctx.gpr[6] = (0u | 50u); ctx.gpr[31] = (0x0885465Cu); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-8107)); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 102u, 0x0886477Cu>(ctx, &aot_mem) && ctx.pc == 0x0885465Cu) goto L_0885465C; return; L_0885465C: ctx.gpr[31] = (0x08854664u); ctx.gpr[4] = (ctx.gpr[23] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 294u, 0x0894DA0Cu>(ctx, &aot_mem) && ctx.pc == 0x08854664u) goto L_08854664; return; L_08854664: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(844))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[22]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(392), ctx.gpr[2]); if (branch_taken) { goto L_088546A8; } goto L_08854670; } L_08854670: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(844))); ctx.gpr[5] = (0u | 55u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088546A8; } goto L_08854680; } L_08854680: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[20] + static_cast(28))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast(112))); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[20] + static_cast(27)))))); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[4] = (ctx.gpr[18] | 0u); ctx.gpr[8] = (ctx.gpr[8] & 15u); ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[31] = (0x088546A8u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0054_entry, 54u, 580u, 0x088DEE94u>(ctx, &aot_mem) && ctx.pc == 0x088546A8u) goto L_088546A8; return; L_088546A8: ctx.gpr[31] = (0x088546B0u); ctx.gpr[4] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0138_entry, 138u, 745u, 0x08A2F7ACu>(ctx, &aot_mem) && ctx.pc == 0x088546B0u) goto L_088546B0; return; L_088546B0: if (ctx.gpr[2] == 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast(112))); goto L_08854AFC; } goto L_088546B8; L_088546B8: { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::fabs(std::sqrt(vfpu_s[i])); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (16672u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / vfpu_s[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[16] = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[26] = std::bit_cast(0u); ctx.gpr[4] = (0u | 6u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08854720u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08854720u) goto L_08854720; return; L_08854720: ctx.gpr[4] = (0u | 6u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08854748u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08854748u) goto L_08854748; return; L_08854748: ctx.gpr[4] = (0u | 6u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08854770u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08854770u) goto L_08854770; return; L_08854770: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(396))); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[17] = (0u | 11u); if (branch_taken) { goto L_08854858; } goto L_0885477C; } L_0885477C: ctx.gpr[4] = (48460u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[24] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (15692u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.gpr[31] = (0x08854798u); ctx.fpr[28] = std::bit_cast(ctx.gpr[4]); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 305u, 0x0894DB70u>(ctx, &aot_mem) && ctx.pc == 0x08854798u) goto L_08854798; return; L_08854798: ctx.fpr[12] = ctx.fpr[28] - ctx.fpr[24]; ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(96))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = ctx.fpr[24] + ctx.fpr[12]; ctx.fpr[12] = ctx.fpr[13] + ctx.fpr[12]; ctx.gpr[31] = (0x088547B4u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(96), std::bit_cast(ctx.fpr[12])); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 305u, 0x0894DB70u>(ctx, &aot_mem) && ctx.pc == 0x088547B4u) goto L_088547B4; return; L_088547B4: ctx.fpr[12] = ctx.fpr[28] - ctx.fpr[24]; ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(100))); ctx.gpr[4] = (0u | 6u); ctx.gpr[5] = (ctx.gpr[19] | 0u); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.fpr[13] = ctx.fpr[24] + ctx.fpr[15]; ctx.gpr[9] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); ctx.fpr[13] = ctx.fpr[14] + ctx.fpr[13]; ctx.gpr[31] = (0x088547F4u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(100), std::bit_cast(ctx.fpr[13])); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x088547F4u) goto L_088547F4; return; L_088547F4: ctx.gpr[31] = (0x088547FCu); // nop if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 305u, 0x0894DB70u>(ctx, &aot_mem) && ctx.pc == 0x088547FCu) goto L_088547FC; return; L_088547FC: ctx.fpr[12] = ctx.fpr[28] - ctx.fpr[24]; ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(96))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = ctx.fpr[24] + ctx.fpr[12]; ctx.fpr[12] = ctx.fpr[13] + ctx.fpr[12]; ctx.gpr[31] = (0x08854818u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(96), std::bit_cast(ctx.fpr[12])); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 305u, 0x0894DB70u>(ctx, &aot_mem) && ctx.pc == 0x08854818u) goto L_08854818; return; L_08854818: ctx.fpr[14] = ctx.fpr[28] - ctx.fpr[24]; ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(100))); ctx.gpr[4] = (0u | 6u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[5] = (ctx.gpr[19] | 0u); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.fpr[13] = ctx.fpr[24] + ctx.fpr[14]; ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); ctx.fpr[13] = ctx.fpr[15] + ctx.fpr[13]; ctx.gpr[31] = (0x08854858u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(100), std::bit_cast(ctx.fpr[13])); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08854858u) goto L_08854858; return; L_08854858: { const bool branch_taken = ctx.gpr[23] != ctx.gpr[17]; // nop if (branch_taken) { goto L_088549FC; } goto L_08854860; } L_08854860: ctx.gpr[5] = (15948u << 16u); ctx.gpr[5] = (ctx.gpr[5] | 52429u); ctx.gpr[4] = (0u | 55u); { const bool branch_taken = ctx.gpr[30] == ctx.gpr[4]; ctx.fpr[24] = std::bit_cast(ctx.gpr[5]); if (branch_taken) { goto L_0885488C; } goto L_08854874; } L_08854874: ctx.gpr[5] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8100))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(17)); ctx.gpr[5] = (ctx.gpr[5] & 1u); { const bool branch_taken = ctx.gpr[5] == 0u; // nop if (branch_taken) { goto L_088548A8; } goto L_0885488C; } L_0885488C: { const bool branch_taken = ctx.gpr[30] != ctx.gpr[4]; ctx.gpr[4] = (2230u << 16u); if (branch_taken) { goto L_088548DC; } goto L_08854894; } L_08854894: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8100))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(17)); ctx.gpr[4] = (ctx.gpr[4] & 3u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088548DC; } goto L_088548A8; } L_088548A8: aot_mem.aot_store32(ctx.gpr[29] + static_cast(144), std::bit_cast(ctx.fpr[26])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(148), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(152), std::bit_cast(ctx.fpr[26])); ctx.gpr[6] = (ctx.gpr[29] + static_cast(144)); ctx.gpr[4] = (0u | 74u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x088548DCu); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x088548DCu) goto L_088548DC; return; L_088548DC: aot_mem.aot_store32(ctx.gpr[29] + static_cast(128), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(132), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), std::bit_cast(ctx.fpr[24])); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[17] = (ctx.gpr[29] + static_cast(128)); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[30] = (ctx.gpr[29] + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (0u | 7u); goto L_08854904; L_08854904: ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[30] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08854928u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08854928u) goto L_08854928; return; L_08854928: aot_mem.aot_store32(ctx.gpr[29] + static_cast(112), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(116), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(120), std::bit_cast(ctx.fpr[24])); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (0u | 6u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x0885496Cu); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x0885496Cu) goto L_0885496C; return; L_0885496C: aot_mem.aot_store32(ctx.gpr[29] + static_cast(112), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(116), std::bit_cast(ctx.fpr[26])); ctx.gpr[4] = (15820u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(120), std::bit_cast(ctx.fpr[12])); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (0u | 6u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x088549BCu); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x088549BCu) goto L_088549BC; return; L_088549BC: aot_mem.aot_store32(ctx.gpr[29] + static_cast(128), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(132), std::bit_cast(ctx.fpr[26])); ctx.gpr[4] = (15395u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 55050u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (0u | 10u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x088549FCu); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x088549FCu) goto L_088549FC; return; L_088549FC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(392))); ctx.gpr[5] = (0u | 9u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(64))); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08854AF8; } goto L_08854A10; } L_08854A10: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast(112))); ctx.gpr[5] = (15692u << 16u); ctx.gpr[5] = (ctx.gpr[5] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[4] = (ctx.gpr[29] + static_cast(176)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast(112))); ctx.gpr[6] = (15820u << 16u); ctx.gpr[6] = (ctx.gpr[6] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[6]); ctx.gpr[6] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); ctx.gpr[5] = (ctx.gpr[5] + static_cast(32)); { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[5] = (ctx.gpr[29] + static_cast(192)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[5] = (ctx.gpr[29] + static_cast(160)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[31] = (0x08854A80u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 565u, 0x0892753Cu>(ctx, &aot_mem) && ctx.pc == 0x08854A80u) goto L_08854A80; return; L_08854A80: ctx.gpr[4] = (0u | 8u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08854AA8u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08854AA8u) goto L_08854AA8; return; L_08854AA8: ctx.gpr[4] = (0u | 8u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08854AD0u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08854AD0u) goto L_08854AD0; return; L_08854AD0: ctx.gpr[4] = (0u | 8u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08854AF8u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08854AF8u) goto L_08854AF8; return; L_08854AF8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast(112))); goto L_08854AFC; L_08854AFC: ctx.gpr[5] = (ctx.gpr[18] + static_cast(48)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(48)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13]; ctx.gpr[4] = (0u | 42u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), std::bit_cast(ctx.fpr[12])); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast(112))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.gpr[5] = (ctx.gpr[6] + static_cast(48)); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.fpr[12] = ctx.fpr[14] - ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(84), std::bit_cast(ctx.fpr[12])); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(844))); { const bool branch_taken = ctx.gpr[5] == ctx.gpr[4]; // nop if (branch_taken) { goto L_08854D08; } goto L_08854B3C; } L_08854B3C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(844))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[22]; // nop if (branch_taken) { goto L_08854D08; } goto L_08854B48; } L_08854B48: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(844))); ctx.gpr[5] = (0u | 55u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08854D08; } goto L_08854B58; } L_08854B58: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(1208))); ctx.fpr[24] = std::bit_cast(0u); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[24])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_08854DFC; } goto L_08854B70; } L_08854B70: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(1208))); ctx.gpr[4] = (16880u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08854B9C; } goto L_08854B8C; } L_08854B8C: ctx.set_fpu_condition((ctx.fpr[20] <= ctx.fpr[12])); // nop if (!ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); goto L_08854BC4; } goto L_08854B9C; L_08854B9C: ctx.gpr[31] = (0x08854BA4u); ctx.gpr[4] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x08854BA4u) goto L_08854BA4; return; L_08854BA4: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08854DFC; } goto L_08854BAC; } L_08854BAC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(396))); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[4] = (0u | 1u); if (branch_taken) { goto L_08854BC0; } goto L_08854BB8; } L_08854BB8: { const bool branch_taken = ctx.gpr[23] != ctx.gpr[4]; // nop if (branch_taken) { goto L_08854DFC; } goto L_08854BC0; } L_08854BC0: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); goto L_08854BC4; L_08854BC4: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[24])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[4] = (0u | 11u); if (branch_taken) { goto L_08854BEC; } goto L_08854BE4; } L_08854BE4: { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), std::bit_cast(ctx.fpr[22])); if (branch_taken) { goto L_08854C20; } goto L_08854BEC; } L_08854BEC: ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / std::sqrt(vfpu_s[i]); ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 1u>(vfpu_d); } ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<0u>()); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(84), std::bit_cast(ctx.fpr[12])); goto L_08854C20; L_08854C20: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(404))); ctx.gpr[6] = (0u + static_cast(-2)); ctx.gpr[5] = (ctx.gpr[5] & ctx.gpr[6]); { const bool branch_taken = ctx.gpr[23] != ctx.gpr[4]; aot_mem.aot_store32(ctx.gpr[18] + static_cast(404), ctx.gpr[5]); if (branch_taken) { goto L_08854C70; } goto L_08854C34; } L_08854C34: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); ctx.gpr[4] = (49152u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[5] = (16384u << 16u); ctx.gpr[4] = (ctx.gpr[18] | 0u); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(216), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(208), std::bit_cast(ctx.fpr[12])); ctx.gpr[31] = (0x08854C68u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(212), std::bit_cast(ctx.fpr[13])); if (rt.invoke_chained_direct<&recomp_unit_0130_entry, 130u, 278u, 0x08A0E1E4u>(ctx, &aot_mem) && ctx.pc == 0x08854C68u) goto L_08854C68; return; L_08854C68: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08854CA4; } goto L_08854C70; } L_08854C70: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); ctx.gpr[4] = (49312u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[5] = (16448u << 16u); ctx.gpr[4] = (ctx.gpr[18] | 0u); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(232), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(224), std::bit_cast(ctx.fpr[12])); ctx.gpr[31] = (0x08854CA4u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(228), std::bit_cast(ctx.fpr[13])); if (rt.invoke_chained_direct<&recomp_unit_0130_entry, 130u, 278u, 0x08A0E1E4u>(ctx, &aot_mem) && ctx.pc == 0x08854CA4u) goto L_08854CA4; return; L_08854CA4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(396))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08854CE4; } goto L_08854CB0; } L_08854CB0: ctx.gpr[31] = (0x08854CB8u); ctx.gpr[4] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x08854CB8u) goto L_08854CB8; return; L_08854CB8: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08854CE4; } goto L_08854CC0; } L_08854CC0: ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[20] + static_cast(27)))))); ctx.gpr[4] = (ctx.gpr[18] | 0u); ctx.gpr[6] = (ctx.gpr[5] & 15u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(25)); ctx.gpr[5] = (0u | 3000u); ctx.gpr[31] = (0x08854CDCu); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 106u, 0x089A07E8u>(ctx, &aot_mem) && ctx.pc == 0x08854CDCu) goto L_08854CDC; return; L_08854CDC: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08854DFC; } goto L_08854CE4; } L_08854CE4: ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[20] + static_cast(27)))))); ctx.gpr[4] = (ctx.gpr[18] | 0u); ctx.gpr[6] = (ctx.gpr[5] & 15u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(25)); ctx.gpr[5] = (0u | 1500u); ctx.gpr[31] = (0x08854D00u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 106u, 0x089A07E8u>(ctx, &aot_mem) && ctx.pc == 0x08854D00u) goto L_08854D00; return; L_08854D00: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08854DFC; } goto L_08854D08; } L_08854D08: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(844))); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[22]; // nop if (branch_taken) { goto L_08854DFC; } goto L_08854D14; } L_08854D14: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(404))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08854DFC; } goto L_08854D20; } L_08854D20: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[14] = std::bit_cast(0u); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[14])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[4] = (0u | 11u); if (branch_taken) { goto L_08854D50; } goto L_08854D48; } L_08854D48: { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), std::bit_cast(ctx.fpr[22])); if (branch_taken) { goto L_08854D84; } goto L_08854D50; } L_08854D50: ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / std::sqrt(vfpu_s[i]); ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 1u>(vfpu_d); } ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<0u>()); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(84), std::bit_cast(ctx.fpr[12])); goto L_08854D84; L_08854D84: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(404))); ctx.gpr[6] = (0u + static_cast(-2)); ctx.gpr[5] = (ctx.gpr[5] & ctx.gpr[6]); { const bool branch_taken = ctx.gpr[23] != ctx.gpr[4]; aot_mem.aot_store32(ctx.gpr[18] + static_cast(404), ctx.gpr[5]); if (branch_taken) { goto L_08854DC8; } goto L_08854D98; } L_08854D98: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(248), std::bit_cast(ctx.fpr[22])); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[13]) ^ 0x80000000u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(240), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(244), std::bit_cast(ctx.fpr[13])); ctx.gpr[31] = (0x08854DC0u); ctx.gpr[4] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0130_entry, 130u, 278u, 0x08A0E1E4u>(ctx, &aot_mem) && ctx.pc == 0x08854DC0u) goto L_08854DC0; return; L_08854DC0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08854DFC; } goto L_08854DC8; } L_08854DC8: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); ctx.gpr[4] = (49312u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[5] = (16448u << 16u); ctx.gpr[4] = (ctx.gpr[18] | 0u); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(264), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(256), std::bit_cast(ctx.fpr[12])); ctx.gpr[31] = (0x08854DFCu); aot_mem.aot_store32(ctx.gpr[29] + static_cast(260), std::bit_cast(ctx.fpr[13])); if (rt.invoke_chained_direct<&recomp_unit_0130_entry, 130u, 278u, 0x08A0E1E4u>(ctx, &aot_mem) && ctx.pc == 0x08854DFCu) goto L_08854DFC; return; L_08854DFC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(408))); goto L_08854E00; L_08854E00: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 14u); ctx.gpr[4] = (ctx.gpr[4] ^ 4u); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088550BC; } goto L_08854E1C; } L_08854E1C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(400))); ctx.gpr[6] = (rt.memory().aot_load_word_right(ctx.gpr[20] + static_cast(32), ctx.gpr[6])); ctx.gpr[6] = (rt.memory().aot_load_word_left(ctx.gpr[20] + static_cast(35), ctx.gpr[6])); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(100))); ctx.gpr[6] = (ctx.gpr[6] & 65535u); ctx.gpr[31] = (0x08854E38u); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast(52))); if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 141u, 0x088A87FCu>(ctx, &aot_mem) && ctx.pc == 0x08854E38u) goto L_08854E38; return; L_08854E38: ctx.gpr[4] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08854E68; } goto L_08854E44; } L_08854E44: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08854E60; } goto L_08854E4C; } L_08854E4C: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(104))); { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_08854E70; } goto L_08854E58; } L_08854E58: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088550BC; } goto L_08854E60; } L_08854E60: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088550BC; } goto L_08854E68; } L_08854E68: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088550BC; } goto L_08854E70; } L_08854E70: { const bool branch_taken = ctx.gpr[16] == 0u; ctx.gpr[17] = (aot_mem.aot_load8(ctx.gpr[20] + static_cast(31))); if (branch_taken) { goto L_088550BC; } goto L_08854E78; } L_08854E78: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(836))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088550BC; } goto L_08854E84; } L_08854E84: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); ctx.gpr[18] = (rt.memory().aot_load_word_right(ctx.gpr[20] + static_cast(36), ctx.gpr[18])); ctx.gpr[18] = (rt.memory().aot_load_word_left(ctx.gpr[20] + static_cast(39), ctx.gpr[18])); ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08854E9Cu); ctx.gpr[18] = (ctx.gpr[18] & 65535u); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 294u, 0x0894DA0Cu>(ctx, &aot_mem) && ctx.pc == 0x08854E9Cu) goto L_08854E9C; return; L_08854E9C: ctx.gpr[31] = (0x08854EA4u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 296u, 0x08A89F44u>(ctx, &aot_mem) && ctx.pc == 0x08854EA4u) goto L_08854EA4; return; L_08854EA4: ctx.gpr[4] = (15395u << 16u); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[20] + static_cast(28))); ctx.gpr[4] = (ctx.gpr[4] | 55050u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[16] | 0u); { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); ctx.gpr[31] = (0x08854ED0u); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } if (rt.invoke_chained_direct<&recomp_unit_0007_entry, 7u, 170u, 0x088214F4u>(ctx, &aot_mem) && ctx.pc == 0x08854ED0u) goto L_08854ED0; return; L_08854ED0: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[20] = (0u | 3u); if (branch_taken) { goto L_08854EE8; } goto L_08854EE4; } L_08854EE4: aot_mem.aot_store8(ctx.gpr[16] + static_cast(671), static_cast(ctx.gpr[17])); goto L_08854EE8; L_08854EE8: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(397)))))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[20]; ctx.gpr[4] = (16256u << 16u); if (branch_taken) { goto L_08854F34; } goto L_08854EF4; } L_08854EF4: ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[31] = (0x08854F00u); ctx.fpr[22] = std::bit_cast(ctx.gpr[4]); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 305u, 0x0894DB70u>(ctx, &aot_mem) && ctx.pc == 0x08854F00u) goto L_08854F00; return; L_08854F00: ctx.fpr[12] = ctx.fpr[22] - ctx.fpr[20]; ctx.gpr[4] = (16128u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = ctx.fpr[20] + ctx.fpr[12]; ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_08854FB0; } goto L_08854F24; } L_08854F24: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(398)))))); ctx.gpr[5] = (0u | 1u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08854FB0; } goto L_08854F34; } L_08854F34: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088550BC; } goto L_08854F40; } L_08854F40: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); ctx.gpr[5] = (0u | 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(592))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088550BC; } goto L_08854F54; } L_08854F54: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); ctx.gpr[5] = (0u | 8u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(592))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088550BC; } goto L_08854F68; } L_08854F68: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(592))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[20]; // nop if (branch_taken) { goto L_088550BC; } goto L_08854F78; } L_08854F78: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(397)))))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[20]; // nop if (branch_taken) { goto L_08854FA8; } goto L_08854F84; } L_08854F84: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(408)))))); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[4] = (16320u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[12])); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); aot_mem.aot_store8(ctx.gpr[16] + static_cast(408), static_cast(ctx.gpr[4])); goto L_08854FA8; L_08854FA8: { const bool branch_taken = 0u == 0u; aot_mem.aot_store8(ctx.gpr[16] + static_cast(397), static_cast(ctx.gpr[20])); if (branch_taken) { goto L_088550BC; } goto L_08854FB0; } L_08854FB0: ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); { const bool branch_taken = ctx.gpr[18] == 0u; ctx.gpr[17] = (0u | 200u); if (branch_taken) { goto L_0885502C; } goto L_08854FBC; } L_08854FBC: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[18] + static_cast(428))); ctx.gpr[5] = (0u | 2u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_0885502C; } goto L_08854FCC; } L_08854FCC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(1380))); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(36)))))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(37)))))); ctx.gpr[4] = (static_cast(ctx.gpr[5]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[17] = (2230u << 16u); if (branch_taken) { goto L_08855010; } goto L_08854FE4; } L_08854FE4: ctx.gpr[31] = (0x08854FECu); ctx.gpr[19] = (0u | 8u); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08854FECu) goto L_08854FEC; return; L_08854FEC: ctx.gpr[4] = (ctx.gpr[18] | 0u); ctx.gpr[5] = (0u | 8u); ctx.gpr[31] = (0x08854FFCu); ctx.gpr[6] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 927u, 0x08893114u>(ctx, &aot_mem) && ctx.pc == 0x08854FFCu) goto L_08854FFC; return; L_08854FFC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-8148))); aot_mem.aot_store32(ctx.gpr[18] + static_cast(596), ctx.gpr[19]); ctx.gpr[4] = (ctx.gpr[4] + static_cast(10000)); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[18] + static_cast(1800), ctx.gpr[4]); if (branch_taken) { goto L_0885501C; } goto L_08855010; } L_08855010: ctx.gpr[4] = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x0885501Cu); ctx.gpr[5] = (0u | 3u); if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 884u, 0x08892F04u>(ctx, &aot_mem) && ctx.pc == 0x0885501Cu) goto L_0885501C; return; L_0885501C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-8148))); ctx.gpr[17] = (0u | 400u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(200)); aot_mem.aot_store32(ctx.gpr[18] + static_cast(1772), ctx.gpr[4]); goto L_0885502C; L_0885502C: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(540))); ctx.gpr[20] = (0u | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[18] = (0u | 2u); if (branch_taken) { goto L_088550BC; } goto L_08855040; } L_08855040: ctx.gpr[21] = (ctx.gpr[16] | 0u); ctx.gpr[19] = (2230u << 16u); goto L_08855048; L_08855048: ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast(508))); { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_088550A8; } goto L_08855054; } L_08855054: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[22] + static_cast(428))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[18]; // nop if (branch_taken) { goto L_088550A8; } goto L_08855060; } L_08855060: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(1380))); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(36)))))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(37)))))); ctx.gpr[4] = (static_cast(ctx.gpr[5]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_0885508C; } goto L_08855078; } L_08855078: ctx.gpr[4] = (ctx.gpr[22] | 0u); ctx.gpr[31] = (0x08855084u); ctx.gpr[5] = (0u | 3u); if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 884u, 0x08892F04u>(ctx, &aot_mem) && ctx.pc == 0x08855084u) goto L_08855084; return; L_08855084: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08855098; } goto L_0885508C; } L_0885508C: ctx.gpr[4] = (ctx.gpr[22] | 0u); ctx.gpr[31] = (0x08855098u); ctx.gpr[5] = (0u | 3u); if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 884u, 0x08892F04u>(ctx, &aot_mem) && ctx.pc == 0x08855098u) goto L_08855098; return; L_08855098: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[22] + static_cast(1772), ctx.gpr[4]); ctx.gpr[17] = (ctx.gpr[17] + static_cast(200)); goto L_088550A8; L_088550A8: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(540))); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[21] = (ctx.gpr[21] + static_cast(4)); if (branch_taken) { goto L_08855048; } goto L_088550BC; } L_088550BC: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(412))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(416))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(420))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(424))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(428))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(432))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(436))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(440))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(444))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(448))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(452))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(456))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(460))); ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(464))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(468))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(480)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_08855100: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-192)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(152), std::bit_cast(ctx.fpr[20])); ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[7] = (16153u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (ctx.gpr[7] | 39322u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[20])); ctx.fpr[12] = std::bit_cast(ctx.gpr[7]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(160), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(164), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(172), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(176), ctx.gpr[20]); ctx.gpr[19] = (0u | 1u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), std::bit_cast(ctx.fpr[12])); ctx.gpr[20] = (ctx.gpr[29] + static_cast(16)); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[17] = (ctx.gpr[5] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(156), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(168), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(180), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[6] != 0u; ctx.gpr[18] = (ctx.gpr[6] | 0u); if (branch_taken) { goto L_08855178; } goto L_08855158; } L_08855158: ctx.gpr[18] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[4] = (ctx.gpr[18] | 0u); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x0885516Cu); ctx.gpr[6] = (ctx.gpr[20] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0018_entry, 18u, 878u, 0x0884FE84u>(ctx, &aot_mem) && ctx.pc == 0x0885516Cu) goto L_0885516C; return; L_0885516C: { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[18] = (ctx.gpr[20] | 0u); goto L_08855178; L_08855178: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(20))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855258; } goto L_08855184; } L_08855184: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(16))); ctx.gpr[4] = (17204u << 16u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(20))); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[20])) && ctx.fpr[12] == ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.fpr[22] = std::bit_cast(ctx.gpr[4]); if (branch_taken) { goto L_088551BC; } goto L_088551A4; } L_088551A4: ctx.set_fpu_condition((!(std::isnan(ctx.fpr[13]) || std::isnan(ctx.fpr[20])) && ctx.fpr[13] == ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088551BC; } goto L_088551B4; } L_088551B4: { const bool branch_taken = 0u == 0u; { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } if (branch_taken) { goto L_088551C8; } goto L_088551BC; } L_088551BC: ctx.gpr[31] = (0x088551C4u); // nop if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 288u, 0x089D96E8u>(ctx, &aot_mem) && ctx.pc == 0x088551C4u) goto L_088551C4; return; L_088551C4: { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } goto L_088551C8; L_088551C8: ctx.gpr[4] = (16457u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[22] / ctx.fpr[12]; ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[4] = (15502u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 64012u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[4]); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); } { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f); ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (48665u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 39322u); ctx.fpr[15] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.fpr[13] = ctx.fpr[13] + ctx.fpr[14]; aot_mem.aot_store32(ctx.gpr[18] + static_cast(0), std::bit_cast(ctx.fpr[13])); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(4))); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[4]); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); } { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f); ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (15897u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 39322u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = ctx.fpr[13] + ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[18] + static_cast(4), std::bit_cast(ctx.fpr[12])); goto L_08855258; L_08855258: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855274; } goto L_08855264; } L_08855264: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[5] = (0u | 1u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08855290; } goto L_08855274; } L_08855274: ctx.gpr[31] = (0x0885527Cu); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 294u, 0x0894DA0Cu>(ctx, &aot_mem) && ctx.pc == 0x0885527Cu) goto L_0885527C; return; L_0885527C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[2] + static_cast(0))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08855298; } goto L_08855288; } L_08855288: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_0885598C; } goto L_08855290; } L_08855290: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08855A44; } goto L_08855298; } L_08855298: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(8))); { const bool branch_taken = static_cast(ctx.gpr[4]) > 0; // nop if (branch_taken) { goto L_088552D8; } goto L_088552A4; } L_088552A4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = static_cast(ctx.gpr[4]) <= 0; // nop if (branch_taken) { goto L_088552D0; } goto L_088552B0; } L_088552B0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[5] = (0u | 2u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088552D0; } goto L_088552C0; } L_088552C0: ctx.gpr[31] = (0x088552C8u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0019_entry, 19u, 191u, 0x0885104Cu>(ctx, &aot_mem) && ctx.pc == 0x088552C8u) goto L_088552C8; return; L_088552C8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088552D8; } goto L_088552D0; } L_088552D0: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08855A44; } goto L_088552D8; } L_088552D8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-12)); ctx.gpr[5] = (ctx.gpr[4] < static_cast(25) ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] == 0u; // nop if (branch_taken) { goto L_08855664; } goto L_088552EC; } L_088552EC: ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[1] = (2225u << 16u); ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[4]); ctx.gpr[1] = (aot_mem.aot_load32(ctx.gpr[1] + static_cast(-4832))); jump_target = ctx.gpr[1]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_08855304: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08855314u); ctx.gpr[6] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0022_entry, 22u, 126u, 0x0885CC68u>(ctx, &aot_mem) && ctx.pc == 0x08855314u) goto L_08855314; return; L_08855314: ctx.gpr[18] = (ctx.gpr[2] | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 1u); if (branch_taken) { goto L_08855670; } goto L_08855320; } L_08855320: ctx.gpr[31] = (0x08855328u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08855328u) goto L_08855328; return; L_08855328: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; // nop if (branch_taken) { goto L_08855344; } goto L_08855330; } L_08855330: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x0885533Cu); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0022_entry, 22u, 174u, 0x0885D3B0u>(ctx, &aot_mem) && ctx.pc == 0x0885533Cu) goto L_0885533C; return; L_0885533C: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08855358; } goto L_08855344; } L_08855344: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08855354u); ctx.gpr[6] = (ctx.gpr[18] | 0u); goto L_08857F08; L_08855354: ctx.gpr[18] = (ctx.gpr[2] | 0u); goto L_08855358; L_08855358: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08855670; } goto L_08855360; } L_08855360: ctx.gpr[4] = (2232u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(12960)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(2388)))))); ctx.gpr[5] = (0u | 34u); { const bool branch_taken = ctx.gpr[6] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08855388; } goto L_08855378; } L_08855378: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(2388)))))); ctx.gpr[5] = (0u | 45u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_088553B0; } goto L_08855388; } L_08855388: ctx.gpr[31] = (0x08855390u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08855390u) goto L_08855390; return; L_08855390: { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; // nop if (branch_taken) { goto L_088553B0; } goto L_08855398; } L_08855398: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x088553A4u); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0022_entry, 22u, 219u, 0x0885D938u>(ctx, &aot_mem) && ctx.pc == 0x088553A4u) goto L_088553A4; return; L_088553A4: ctx.gpr[18] = (ctx.gpr[2] | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 1u); if (branch_taken) { goto L_088553C8; } goto L_088553B0; } L_088553B0: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088553C0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); goto L_08857F08; L_088553C0: ctx.gpr[18] = (ctx.gpr[2] | 0u); ctx.gpr[19] = (0u | 0u); goto L_088553C8; L_088553C8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08855670; } goto L_088553D0; } L_088553D0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(68))); ctx.gpr[5] = (0u | 6u); ctx.gpr[4] = (ctx.gpr[4] & 14u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08855480; } goto L_088553E4; } L_088553E4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(1328))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855480; } goto L_088553F0; } L_088553F0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(1328))); ctx.gpr[5] = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[4] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::fabs(std::sqrt(vfpu_s[i])); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (16640u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08855458; } goto L_08855448; } L_08855448: ctx.gpr[31] = (0x08855450u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x08855450u) goto L_08855450; return; L_08855450: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08855474; } goto L_08855458; } L_08855458: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x0885546Cu); ctx.gpr[6] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0021_entry, 21u, 484u, 0x0885ACB8u>(ctx, &aot_mem) && ctx.pc == 0x0885546Cu) goto L_0885546C; return; L_0885546C: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08855478; } goto L_08855474; } L_08855474: ctx.gpr[18] = (0u | 0u); goto L_08855478; L_08855478: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08855498; } goto L_08855480; } L_08855480: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08855494u); ctx.gpr[6] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0021_entry, 21u, 484u, 0x0885ACB8u>(ctx, &aot_mem) && ctx.pc == 0x08855494u) goto L_08855494; return; L_08855494: ctx.gpr[18] = (ctx.gpr[2] | 0u); goto L_08855498; L_08855498: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08855670; } goto L_088554A0; } L_088554A0: ctx.gpr[31] = (0x088554A8u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x088554A8u) goto L_088554A8; return; L_088554A8: { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; // nop if (branch_taken) { goto L_088554DC; } goto L_088554B0; } L_088554B0: ctx.gpr[4] = (16853u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 21845u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(2960))); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[13]; ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088554D4u); ctx.gpr[6] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0021_entry, 21u, 484u, 0x0885ACB8u>(ctx, &aot_mem) && ctx.pc == 0x088554D4u) goto L_088554D4; return; L_088554D4: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_088555C8; } goto L_088554DC; } L_088554DC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(68))); ctx.gpr[5] = (0u | 6u); ctx.gpr[4] = (ctx.gpr[4] & 14u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_088555A8; } goto L_088554F0; } L_088554F0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(1328))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088555A8; } goto L_088554FC; } L_088554FC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(1328))); ctx.gpr[5] = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[4] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::fabs(std::sqrt(vfpu_s[i])); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (16672u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13]; ctx.gpr[4] = (15523u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 55050u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (15948u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (16256u << 16u); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); if (branch_taken) { goto L_0885557C; } goto L_08855578; } L_08855578: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[13])); goto L_0885557C; L_0885557C: ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[14])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_08855590; } goto L_0885558C; } L_0885558C: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[14])); goto L_08855590; L_08855590: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088555A0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0021_entry, 21u, 484u, 0x0885ACB8u>(ctx, &aot_mem) && ctx.pc == 0x088555A0u) goto L_088555A0; return; L_088555A0: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_088555C8; } goto L_088555A8; } L_088555A8: ctx.gpr[5] = (16025u << 16u); ctx.gpr[5] = (ctx.gpr[5] | 39322u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088555C4u); ctx.gpr[6] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0021_entry, 21u, 484u, 0x0885ACB8u>(ctx, &aot_mem) && ctx.pc == 0x088555C4u) goto L_088555C4; return; L_088555C4: ctx.gpr[18] = (ctx.gpr[2] | 0u); goto L_088555C8; L_088555C8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[5] = (0u | 13u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08855618; } goto L_088555D8; } L_088555D8: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[5] = (0u | 34u); ctx.gpr[6] = (0u | 1u); ctx.gpr[31] = (0x088555ECu); ctx.gpr[7] = (0u | 1u); if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 612u, 0x0899F3A8u>(ctx, &aot_mem) && ctx.pc == 0x088555ECu) goto L_088555EC; return; L_088555EC: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088555F8u); ctx.gpr[5] = (0u | 34u); if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 663u, 0x0899F6FCu>(ctx, &aot_mem) && ctx.pc == 0x088555F8u) goto L_088555F8; return; L_088555F8: ctx.gpr[4] = (ctx.gpr[2] << 5u); ctx.gpr[5] = (ctx.gpr[2] << 2u); ctx.gpr[4] = (ctx.gpr[4] - ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[4] + static_cast(1432), 0u); ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08855618u); ctx.gpr[5] = (0u | 34u); if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 609u, 0x0899F378u>(ctx, &aot_mem) && ctx.pc == 0x08855618u) goto L_08855618; return; L_08855618: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08855670; } goto L_08855620; } L_08855620: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08855630u); ctx.gpr[6] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0019_entry, 19u, 219u, 0x088512F4u>(ctx, &aot_mem) && ctx.pc == 0x08855630u) goto L_08855630; return; L_08855630: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08855670; } goto L_08855638; } L_08855638: ctx.gpr[31] = (0x08855640u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 636u, 0x088C3F84u>(ctx, &aot_mem) && ctx.pc == 0x08855640u) goto L_08855640; return; L_08855640: ctx.gpr[18] = (0u | 1u); aot_mem.aot_store32(ctx.gpr[16] + static_cast(12), ctx.gpr[18]); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(8), ctx.gpr[18]); if (branch_taken) { goto L_08855670; } goto L_08855650; } L_08855650: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x0885565Cu); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0019_entry, 19u, 254u, 0x08851708u>(ctx, &aot_mem) && ctx.pc == 0x0885565Cu) goto L_0885565C; return; L_0885565C: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08855670; } goto L_08855664; } L_08855664: ctx.gpr[4] = (2225u << 16u); ctx.gpr[31] = (0x08855670u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-4996)); if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 382u, 0x08AF9A9Cu>(ctx, &aot_mem) && ctx.pc == 0x08855670u) goto L_08855670; return; L_08855670: { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { goto L_08855A1C; } goto L_08855678; } L_08855678: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 14u); ctx.gpr[4] = (ctx.gpr[4] ^ 6u); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[20] = (0u | 0u); if (branch_taken) { goto L_08855720; } goto L_08855694; } L_08855694: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[5] = (0u | 36u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088556C8; } goto L_088556A4; } L_088556A4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(404))); ctx.gpr[5] = (64u << 16u); ctx.gpr[4] = (ctx.gpr[4] | ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[17] + static_cast(404), ctx.gpr[4]); ctx.gpr[31] = (0x088556BCu); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x088556BCu) goto L_088556BC; return; L_088556BC: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088556C8; } goto L_088556C4; } L_088556C4: ctx.gpr[20] = (0u | 1u); goto L_088556C8; L_088556C8: ctx.gpr[4] = (2230u << 16u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(96))); ctx.gpr[6] = (0u | 55u); ctx.gpr[31] = (0x088556E0u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-8107)); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 102u, 0x0886477Cu>(ctx, &aot_mem) && ctx.pc == 0x088556E0u) goto L_088556E0; return; L_088556E0: { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { goto L_08855720; } goto L_088556E8; } L_088556E8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(1328))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855720; } goto L_088556F4; } L_088556F4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(1328))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 14u); ctx.gpr[4] = (ctx.gpr[4] ^ 6u); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855720; } goto L_08855714; } L_08855714: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08855720u); ctx.gpr[5] = (0u | 116u); if (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 499u, 0x088B6D24u>(ctx, &aot_mem) && ctx.pc == 0x08855720u) goto L_08855720; return; L_08855720: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-12)); ctx.gpr[5] = (ctx.gpr[4] < static_cast(24) ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] == 0u; // nop if (branch_taken) { goto L_08855788; } goto L_08855734; } L_08855734: ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[1] = (2225u << 16u); ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[4]); ctx.gpr[1] = (aot_mem.aot_load32(ctx.gpr[1] + static_cast(-4728))); jump_target = ctx.gpr[1]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_0885574C: ctx.gpr[31] = (0x08855754u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08855754u) goto L_08855754; return; L_08855754: { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; // nop if (branch_taken) { goto L_0885576C; } goto L_0885575C; } L_0885575C: ctx.gpr[4] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-7856))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(1)); aot_mem.aot_store32(ctx.gpr[4] + static_cast(-7856), ctx.gpr[5]); goto L_0885576C; L_0885576C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08855788; } goto L_08855774; } L_08855774: ctx.gpr[4] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-7840))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(1)); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[4] + static_cast(-7840), ctx.gpr[5]); if (branch_taken) { goto L_08855788; } goto L_08855788; } L_08855788: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(8))); { const bool branch_taken = static_cast(ctx.gpr[4]) <= 0; // nop if (branch_taken) { goto L_088557A0; } goto L_08855794; } L_08855794: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(8))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-1)); aot_mem.aot_store32(ctx.gpr[16] + static_cast(8), ctx.gpr[4]); goto L_088557A0; L_088557A0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = static_cast(ctx.gpr[4]) <= 0; // nop if (branch_taken) { goto L_08855818; } goto L_088557AC; } L_088557AC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(12))); ctx.gpr[4] = (static_cast(ctx.gpr[4]) < 25000 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088557C4; } goto L_088557BC; } L_088557BC: { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { goto L_08855818; } goto L_088557C4; } L_088557C4: ctx.gpr[4] = (2229u << 16u); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(27452))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_0885580C; } goto L_088557D4; } L_088557D4: { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { goto L_0885580C; } goto L_088557DC; } L_088557DC: ctx.gpr[31] = (0x088557E4u); // nop if (rt.invoke_chained_direct<&recomp_unit_0016_entry, 16u, 177u, 0x08844EE8u>(ctx, &aot_mem) && ctx.pc == 0x088557E4u) goto L_088557E4; return; L_088557E4: ctx.gpr[4] = (17096u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[0] < ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_0885580C; } goto L_088557FC; } L_088557FC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[5] = (0u | 34u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08855818; } goto L_0885580C; } L_0885580C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(12))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-1)); aot_mem.aot_store32(ctx.gpr[16] + static_cast(12), ctx.gpr[4]); goto L_08855818; L_08855818: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_0885584C; } goto L_08855824; } L_08855824: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[5] = (0u | 31u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_0885584C; } goto L_08855834; } L_08855834: ctx.gpr[4] = (2230u << 16u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(96))); ctx.gpr[6] = (0u | 58u); ctx.gpr[31] = (0x0885584Cu); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-8107)); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 102u, 0x0886477Cu>(ctx, &aot_mem) && ctx.pc == 0x0885584Cu) goto L_0885584C; return; L_0885584C: ctx.gpr[4] = (0u | 1u); aot_mem.aot_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(8))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08855958; } goto L_08855860; } L_08855860: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[18] = (0u | 1u); if (branch_taken) { goto L_088558C0; } goto L_0885586C; } L_0885586C: ctx.gpr[4] = (2232u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(12960)); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(127))); ctx.gpr[5] = (ctx.gpr[5] << 4u); ctx.gpr[6] = (0u + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 3u); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(428)))))); ctx.gpr[5] = (0u | 46u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_088558B8; } goto L_088558A4; } L_088558A4: ctx.gpr[31] = (0x088558ACu); ctx.gpr[4] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x088558ACu) goto L_088558AC; return; L_088558AC: ctx.gpr[4] = (ctx.gpr[2] | 0u); ctx.gpr[31] = (0x088558B8u); ctx.gpr[5] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 643u, 0x08A96BF4u>(ctx, &aot_mem) && ctx.pc == 0x088558B8u) goto L_088558B8; return; L_088558B8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08855A44; } goto L_088558C0; } L_088558C0: ctx.gpr[4] = (0u | 2u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[4]); ctx.gpr[19] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088558D8u); ctx.gpr[4] = (ctx.gpr[5] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 294u, 0x0894DA0Cu>(ctx, &aot_mem) && ctx.pc == 0x088558D8u) goto L_088558D8; return; L_088558D8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[2] + static_cast(12))); ctx.gpr[17] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[31] = (0x088558F0u); aot_mem.aot_store32(ctx.gpr[16] + static_cast(16), ctx.gpr[4]); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x088558F0u) goto L_088558F0; return; L_088558F0: { const bool branch_taken = ctx.gpr[19] != ctx.gpr[2]; ctx.gpr[4] = (2230u << 16u); if (branch_taken) { goto L_08855950; } goto L_088558F8; } L_088558F8: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(-8108))); ctx.gpr[5] = (ctx.gpr[4] << 7u); ctx.gpr[6] = (ctx.gpr[5] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[5] = (2233u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-26096)); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(357))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855950; } goto L_08855928; } L_08855928: ctx.gpr[31] = (0x08855930u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 294u, 0x0894DA0Cu>(ctx, &aot_mem) && ctx.pc == 0x08855930u) goto L_08855930; return; L_08855930: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[2] + static_cast(12))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-8148))); ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[4]) >> 2u)); ctx.gpr[6] = (ctx.gpr[6] >> 30u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[6]); ctx.gpr[4] = (static_cast(static_cast(ctx.gpr[4]) >> 2u)); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[16] + static_cast(16), ctx.gpr[4]); goto L_08855950; L_08855950: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08855A44; } goto L_08855958; } L_08855958: { const bool branch_taken = ctx.gpr[19] == 0u; ctx.gpr[17] = (2230u << 16u); if (branch_taken) { goto L_0885597C; } goto L_08855960; } L_08855960: ctx.gpr[31] = (0x08855968u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 294u, 0x0894DA0Cu>(ctx, &aot_mem) && ctx.pc == 0x08855968u) goto L_08855968; return; L_08855968: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[2] + static_cast(8))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(16), ctx.gpr[4]); if (branch_taken) { goto L_08855984; } goto L_0885597C; } L_0885597C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-8148))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(16), ctx.gpr[4]); goto L_08855984; L_08855984: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08855A1C; } goto L_0885598C; } L_0885598C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[19] = (0u | 1u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[19]; // nop if (branch_taken) { goto L_08855A0C; } goto L_0885599C; } L_0885599C: ctx.gpr[31] = (0x088559A4u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 294u, 0x0894DA0Cu>(ctx, &aot_mem) && ctx.pc == 0x088559A4u) goto L_088559A4; return; L_088559A4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[2] + static_cast(12))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8148))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[19]); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[16] + static_cast(16), ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 14u); ctx.gpr[4] = (ctx.gpr[4] ^ 6u); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855A0C; } goto L_088559D8; } L_088559D8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[5] = (0u | 11u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08855A0C; } goto L_088559E8; } L_088559E8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(96))); ctx.gpr[4] = (ctx.gpr[4] << 8u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[6] = (0u | 188u); ctx.gpr[4] = (2230u << 16u); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[31] = (0x08855A0Cu); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-8107)); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 102u, 0x0886477Cu>(ctx, &aot_mem) && ctx.pc == 0x08855A0Cu) goto L_08855A0C; return; L_08855A0C: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08855A1Cu); ctx.gpr[6] = (ctx.gpr[18] | 0u); goto L_08855E98; L_08855A1C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855A38; } goto L_08855A28; } L_08855A28: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[5] = (0u | 6u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08855A40; } goto L_08855A38; } L_08855A38: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08855A44; } goto L_08855A40; } L_08855A40: ctx.gpr[2] = (ctx.gpr[18] | 0u); goto L_08855A44; L_08855A44: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(152))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(156))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(160))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(164))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(168))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(172))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(176))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(180))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(192)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_08855A6C: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[18]); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[18] = (ctx.gpr[6] | 0u); ctx.gpr[17] = (ctx.gpr[5] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(28), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(32), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(40), ctx.gpr[31]); ctx.gpr[31] = (0x08855AA0u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 294u, 0x0894DA0Cu>(ctx, &aot_mem) && ctx.pc == 0x08855AA0u) goto L_08855AA0; return; L_08855AA0: ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[4] = (static_cast(ctx.gpr[20]) < 3 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[19] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08855AC8; } goto L_08855AB0; } L_08855AB0: { const bool branch_taken = static_cast(ctx.gpr[20]) <= 0; ctx.gpr[4] = (static_cast(ctx.gpr[20]) < 2 ? 1u : 0u); if (branch_taken) { goto L_08855E74; } goto L_08855AB8; } L_08855AB8: { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[20] = (2230u << 16u); if (branch_taken) { goto L_08855AE4; } goto L_08855AC0; } L_08855AC0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08855BB8; } goto L_08855AC8; } L_08855AC8: ctx.gpr[4] = (static_cast(ctx.gpr[20]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[4] = (static_cast(ctx.gpr[20]) < 5 ? 1u : 0u); if (branch_taken) { goto L_08855E74; } goto L_08855AD4; } L_08855AD4: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855E74; } goto L_08855ADC; } L_08855ADC: { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(4), 0u); if (branch_taken) { goto L_08855E74; } goto L_08855AE4; } L_08855AE4: ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(16))); ctx.gpr[6] = (0u | 21u); { const bool branch_taken = ctx.gpr[7] == ctx.gpr[6]; ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast(-8148))); if (branch_taken) { goto L_08855B0C; } goto L_08855AF8; } L_08855AF8: ctx.gpr[6] = (0u | 20u); { const bool branch_taken = ctx.gpr[7] == ctx.gpr[6]; ctx.gpr[6] = (0u | 19u); if (branch_taken) { goto L_08855B0C; } goto L_08855B04; } L_08855B04: { const bool branch_taken = ctx.gpr[7] != ctx.gpr[6]; // nop if (branch_taken) { goto L_08855B6C; } goto L_08855B0C; } L_08855B0C: { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; // nop if (branch_taken) { goto L_08855B6C; } goto L_08855B14; } L_08855B14: ctx.gpr[8] = (2228u << 16u); ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[7]); ctx.gpr[8] = (ctx.gpr[8] + static_cast(-29892)); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[8]); ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast(0))); ctx.gpr[8] = (2230u << 16u); ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[8] + static_cast(-8132))); ctx.gpr[6] = (ctx.gpr[4] - ctx.gpr[6]); ctx.gpr[8] = (ctx.gpr[8] < ctx.gpr[6] ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] == 0u; ctx.gpr[6] = (ctx.gpr[5] < ctx.gpr[6] ? 1u : 0u); if (branch_taken) { goto L_08855B6C; } goto L_08855B40; } L_08855B40: { const bool branch_taken = ctx.gpr[6] != 0u; // nop if (branch_taken) { goto L_08855B6C; } goto L_08855B48; } L_08855B48: ctx.fpr[12] = std::bit_cast(ctx.gpr[7]); ctx.gpr[4] = (2230u << 16u); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[6] = (0u | 56u); ctx.gpr[31] = (0x08855B64u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-8107)); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 102u, 0x0886477Cu>(ctx, &aot_mem) && ctx.pc == 0x08855B64u) goto L_08855B64; return; L_08855B64: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(16))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast(-8148))); goto L_08855B6C; L_08855B6C: ctx.gpr[4] = (ctx.gpr[4] < ctx.gpr[5] ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855BB0; } goto L_08855B78; } L_08855B78: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(0))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855BAC; } goto L_08855B84; } L_08855B84: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08855BAC; } goto L_08855B90; } L_08855B90: ctx.gpr[4] = (0u | 3u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[4]); ctx.gpr[31] = (0x08855BA4u); ctx.gpr[4] = (ctx.gpr[5] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0159_entry, 159u, 232u, 0x08A82430u>(ctx, &aot_mem) && ctx.pc == 0x08855BA4u) goto L_08855BA4; return; L_08855BA4: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08855BB0; } goto L_08855BAC; } L_08855BAC: aot_mem.aot_store32(ctx.gpr[16] + static_cast(4), 0u); goto L_08855BB0; L_08855BB0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08855E74; } goto L_08855BB8; } L_08855BB8: { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; // nop if (branch_taken) { goto L_08855E4C; } goto L_08855BC0; } L_08855BC0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[4] = (static_cast(ctx.gpr[4]) < 37 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855E4C; } goto L_08855BD0; } L_08855BD0: { const bool branch_taken = ctx.gpr[18] == 0u; ctx.gpr[21] = (0u | 0u); if (branch_taken) { goto L_08855C94; } goto L_08855BD8; } L_08855BD8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(108))); ctx.gpr[4] = (ctx.gpr[4] & 32768u); ctx.gpr[4] = (0u < ctx.gpr[4] ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (2230u << 16u); if (branch_taken) { goto L_08855C94; } goto L_08855BF0; } L_08855BF0: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(-8108))); ctx.gpr[5] = (ctx.gpr[4] << 7u); ctx.gpr[6] = (ctx.gpr[5] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[5] = (2233u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-26096)); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(357))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855C30; } goto L_08855C20; } L_08855C20: ctx.gpr[31] = (0x08855C28u); ctx.gpr[4] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x08855C28u) goto L_08855C28; return; L_08855C28: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08855C94; } goto L_08855C30; } L_08855C30: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(108))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(80))); ctx.gpr[5] = (ctx.gpr[5] & 32768u); ctx.gpr[5] = (0u < ctx.gpr[5] ? 1u : 0u); ctx.gpr[21] = (0u | 0u); ctx.gpr[5] = (ctx.gpr[5] & 255u); if (ctx.gpr[5] != 0u) { ctx.gpr[21] = (0u | 203u); goto L_08855C50; } goto L_08855C50; L_08855C50: ctx.gpr[31] = (0x08855C58u); ctx.gpr[5] = (ctx.gpr[21] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 332u, 0x08865820u>(ctx, &aot_mem) && ctx.pc == 0x08855C58u) goto L_08855C58; return; L_08855C58: ctx.gpr[21] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[21] != 0u; // nop if (branch_taken) { goto L_08855C94; } goto L_08855C64; } L_08855C64: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(108))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(80))); ctx.gpr[5] = (ctx.gpr[4] & 32768u); ctx.gpr[5] = (0u < ctx.gpr[5] ? 1u : 0u); ctx.gpr[4] = (0u | 0u); ctx.gpr[5] = (ctx.gpr[5] & 255u); if (ctx.gpr[5] != 0u) { ctx.gpr[4] = (0u | 204u); goto L_08855C84; } goto L_08855C84; L_08855C84: ctx.gpr[5] = (ctx.gpr[4] | 0u); ctx.gpr[31] = (0x08855C90u); ctx.gpr[4] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 332u, 0x08865820u>(ctx, &aot_mem) && ctx.pc == 0x08855C90u) goto L_08855C90; return; L_08855C90: ctx.gpr[21] = (ctx.gpr[2] | 0u); goto L_08855C94; L_08855C94: if (ctx.gpr[21] == 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); goto L_08855DF0; } goto L_08855C9C; L_08855C9C: ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[21] + static_cast(8))); ctx.gpr[4] = (ctx.gpr[4] & 1u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (15948u << 16u); if (branch_taken) { goto L_08855DEC; } goto L_08855CAC; } L_08855CAC: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[21] + static_cast(16))); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop if (ctx.fpu_condition()) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); goto L_08855DF0; } goto L_08855CC8; L_08855CC8: ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(64))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast(32))); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-13)); ctx.gpr[6] = (16192u << 16u); ctx.gpr[5] = (ctx.gpr[19] < static_cast(8) ? 1u : 0u); ctx.fpr[12] = std::bit_cast(ctx.gpr[6]); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[21] + static_cast(40))); if (branch_taken) { goto L_08855D48; } goto L_08855CE8; } L_08855CE8: ctx.gpr[19] = (ctx.gpr[19] << 2u); ctx.gpr[1] = (2225u << 16u); ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[19]); ctx.gpr[1] = (aot_mem.aot_load32(ctx.gpr[1] + static_cast(-4632))); jump_target = ctx.gpr[1]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_08855D00: ctx.gpr[5] = (2227u << 16u); { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(5020))); if (branch_taken) { goto L_08855D48; } goto L_08855D0C; } L_08855D0C: ctx.gpr[5] = (2227u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(5020)); { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); if (branch_taken) { goto L_08855D48; } goto L_08855D1C; } L_08855D1C: ctx.gpr[5] = (2227u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(5020)); { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(8))); if (branch_taken) { goto L_08855D48; } goto L_08855D2C; } L_08855D2C: ctx.gpr[5] = (2227u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(5020)); { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(12))); if (branch_taken) { goto L_08855D48; } goto L_08855D3C; } L_08855D3C: ctx.gpr[5] = (2227u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(5020)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(16))); goto L_08855D48; L_08855D48: ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(32))); ctx.fpr[14] = ctx.fpr[13] / ctx.fpr[14]; ctx.set_fpu_condition((ctx.fpr[14] < ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_08855DA0; } goto L_08855D60; } L_08855D60: ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[21] + static_cast(12))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(32))); ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[14]; ctx.fpr[13] = ctx.fpr[13] / ctx.fpr[15]; ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08855DA0; } goto L_08855D80; } L_08855D80: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[6] = (0u | 56u); ctx.gpr[4] = (2230u << 16u); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[31] = (0x08855DA0u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-8107)); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 102u, 0x0886477Cu>(ctx, &aot_mem) && ctx.pc == 0x08855DA0u) goto L_08855DA0; return; L_08855DA0: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(16))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast(-8148))); ctx.gpr[5] = (ctx.gpr[5] < ctx.gpr[4] ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] == 0u; // nop if (branch_taken) { goto L_08855DE4; } goto L_08855DB4; } L_08855DB4: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast(32))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[21] + static_cast(40))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(32))); ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[13]; ctx.gpr[5] = (16230u << 16u); ctx.gpr[5] = (ctx.gpr[5] | 26214u); ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[14])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08855DE4; } goto L_08855DE0; } L_08855DE0: aot_mem.aot_store32(ctx.gpr[16] + static_cast(16), ctx.gpr[4]); goto L_08855DE4; L_08855DE4: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08855E4C; } goto L_08855DEC; } L_08855DEC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); goto L_08855DF0; L_08855DF0: ctx.gpr[7] = (2228u << 16u); ctx.gpr[6] = (ctx.gpr[4] + ctx.gpr[4]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-29892)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(16))); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast(0))); ctx.gpr[7] = (2230u << 16u); ctx.gpr[5] = (ctx.gpr[5] - ctx.gpr[6]); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[7] + static_cast(-8132))); ctx.gpr[6] = (ctx.gpr[6] < ctx.gpr[5] ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_08855E4C; } goto L_08855E20; } L_08855E20: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast(-8148))); ctx.gpr[5] = (ctx.gpr[6] < ctx.gpr[5] ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] != 0u; // nop if (branch_taken) { goto L_08855E4C; } goto L_08855E30; } L_08855E30: ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[4] = (2230u << 16u); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-8107)); ctx.gpr[31] = (0x08855E4Cu); ctx.gpr[6] = (0u | 56u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 102u, 0x0886477Cu>(ctx, &aot_mem) && ctx.pc == 0x08855E4Cu) goto L_08855E4C; return; L_08855E4C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(16))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[4] < ctx.gpr[5] ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855E6C; } goto L_08855E60; } L_08855E60: ctx.gpr[31] = (0x08855E68u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0019_entry, 19u, 191u, 0x0885104Cu>(ctx, &aot_mem) && ctx.pc == 0x08855E68u) goto L_08855E68; return; L_08855E68: aot_mem.aot_store32(ctx.gpr[16] + static_cast(4), 0u); goto L_08855E6C; L_08855E6C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08855E74; } goto L_08855E74; } L_08855E74: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(24))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(28))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(32))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(36))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(40))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_08855E98: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-1088)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1044), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1048), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1068), ctx.gpr[30]); ctx.gpr[18] = (ctx.gpr[4] | 0u); ctx.gpr[19] = (ctx.gpr[5] | 0u); ctx.gpr[30] = (ctx.gpr[6] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1020), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1024), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1028), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1032), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1036), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1040), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1052), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1056), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1060), ctx.gpr[22]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1064), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1072), ctx.gpr[31]); ctx.gpr[31] = (0x08855EE8u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 294u, 0x0894DA0Cu>(ctx, &aot_mem) && ctx.pc == 0x08855EE8u) goto L_08855EE8; return; L_08855EE8: ctx.gpr[23] = (ctx.gpr[2] | 0u); ctx.gpr[4] = (0u | 0u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(108))); ctx.gpr[5] = (0u | 0u); aot_mem.aot_store16(ctx.gpr[29] + static_cast(1002), static_cast(ctx.gpr[4])); aot_mem.aot_store8(ctx.gpr[29] + static_cast(1000), static_cast(ctx.gpr[5])); ctx.gpr[5] = (ctx.gpr[6] & 8192u); ctx.gpr[5] = (0u < ctx.gpr[5] ? 1u : 0u); ctx.gpr[4] = (0u | 1u); ctx.gpr[5] = (ctx.gpr[5] & 255u); { const bool branch_taken = ctx.gpr[5] != 0u; ctx.gpr[16] = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_08855F30; } goto L_08855F18; } L_08855F18: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(108))); ctx.gpr[5] = (8u << 16u); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); ctx.gpr[4] = (0u < ctx.gpr[4] ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); ctx.gpr[4] = (0u < ctx.gpr[4] ? 1u : 0u); goto L_08855F30; L_08855F30: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08855F8C; } goto L_08855F38; } L_08855F38: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(108))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(80))); ctx.gpr[6] = (ctx.gpr[5] & 8192u); ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); ctx.gpr[6] = (ctx.gpr[6] & 255u); { const bool branch_taken = ctx.gpr[6] != 0u; ctx.gpr[5] = (0u | 202u); if (branch_taken) { goto L_08855F74; } goto L_08855F54; } L_08855F54: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(108))); ctx.gpr[7] = (8u << 16u); ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); ctx.gpr[5] = (0u | 0u); ctx.gpr[6] = (ctx.gpr[6] & 255u); if (ctx.gpr[6] != 0u) { ctx.gpr[5] = (0u | 205u); goto L_08855F74; } goto L_08855F74; L_08855F74: ctx.gpr[31] = (0x08855F7Cu); // nop if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 332u, 0x08865820u>(ctx, &aot_mem) && ctx.pc == 0x08855F7Cu) goto L_08855F7C; return; L_08855F7C: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08855F8C; } goto L_08855F84; } L_08855F84: ctx.gpr[4] = (0u | 1u); aot_mem.aot_store8(ctx.gpr[29] + static_cast(1000), static_cast(ctx.gpr[4])); goto L_08855F8C; L_08855F8C: ctx.gpr[31] = (0x08855F94u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08855F94u) goto L_08855F94; return; L_08855F94: { const bool branch_taken = ctx.gpr[16] != ctx.gpr[2]; // nop if (branch_taken) { goto L_08856068; } goto L_08855F9C; } L_08855F9C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 3u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_0885601C; } goto L_08855FAC; } L_08855FAC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 4u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_0885601C; } goto L_08855FBC; } L_08855FBC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 6u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_0885601C; } goto L_08855FCC; } L_08855FCC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 7u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_0885601C; } goto L_08855FDC; } L_08855FDC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 8u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_0885601C; } goto L_08855FEC; } L_08855FEC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 9u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_0885601C; } goto L_08855FFC; } L_08855FFC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 10u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_0885601C; } goto L_0885600C; } L_0885600C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 11u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08856068; } goto L_0885601C; } L_0885601C: { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[31] = (0x08856030u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[23] + static_cast(28))); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 189u, 0x08809F14u>(ctx, &aot_mem) && ctx.pc == 0x08856030u) goto L_08856030; return; L_08856030: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 11u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08856068; } goto L_08856040; } L_08856040: ctx.gpr[31] = (0x08856048u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08856048u) goto L_08856048; return; L_08856048: ctx.gpr[31] = (0x08856050u); ctx.gpr[17] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08856050u) goto L_08856050; return; L_08856050: ctx.gpr[4] = (0u | 4u); ctx.gpr[5] = (0u | 1u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.gpr[7] = (ctx.gpr[2] | 0u); ctx.gpr[31] = (0x08856068u); ctx.gpr[8] = (0u | 1000u); if (rt.invoke_chained_direct<&recomp_unit_0163_entry, 163u, 556u, 0x08A927F0u>(ctx, &aot_mem) && ctx.pc == 0x08856068u) goto L_08856068; return; L_08856068: aot_mem.aot_store32(ctx.gpr[29] + static_cast(996), ctx.gpr[16]); ctx.gpr[4] = (0u | 0u); ctx.gpr[31] = (0x08856078u); aot_mem.aot_store8(ctx.gpr[29] + static_cast(992), static_cast(ctx.gpr[4])); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08856078u) goto L_08856078; return; L_08856078: { const bool branch_taken = ctx.gpr[16] != ctx.gpr[2]; // nop if (branch_taken) { goto L_088560A0; } goto L_08856080; } L_08856080: ctx.gpr[31] = (0x08856088u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08856088u) goto L_08856088; return; L_08856088: ctx.gpr[31] = (0x08856090u); ctx.gpr[4] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 331u, 0x08945604u>(ctx, &aot_mem) && ctx.pc == 0x08856090u) goto L_08856090; return; L_08856090: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088560A0; } goto L_08856098; } L_08856098: ctx.gpr[4] = (0u | 1u); aot_mem.aot_store8(ctx.gpr[29] + static_cast(992), static_cast(ctx.gpr[4])); goto L_088560A0; L_088560A0: ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[19] + static_cast(1868))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(988), ctx.gpr[30]); ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[19] + static_cast(1912))); ctx.gpr[5] = (0u | 0u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[6]); ctx.gpr[4] = (static_cast(ctx.gpr[5]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; aot_mem.aot_store16(ctx.gpr[29] + static_cast(986), static_cast(ctx.gpr[5])); if (branch_taken) { goto L_088574D0; } goto L_088560C0; } L_088560C0: ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[29] + static_cast(986))); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[19] + static_cast(1868))); ctx.gpr[21] = (0u | 0u); ctx.gpr[16] = (0u | 0u); ctx.gpr[17] = (0u | 0u); ctx.gpr[5] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[5]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(988))); if (branch_taken) { goto L_088560F4; } goto L_088560E0; } L_088560E0: ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[19] + ctx.gpr[4]); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(1828))); { const bool branch_taken = 0u == 0u; ctx.gpr[22] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_0885610C; } goto L_088560F4; } L_088560F4: ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[19] + static_cast(1868))); ctx.gpr[4] = (ctx.gpr[4] - ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[19] + ctx.gpr[4]); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(1872))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(112))); goto L_0885610C; L_0885610C: if (ctx.gpr[16] == 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(96))); goto L_0885611C; } goto L_08856114; L_08856114: { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(1376))); if (branch_taken) { goto L_08856148; } goto L_0885611C; } L_0885611C: if (ctx.gpr[4] != 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(96))); goto L_08856144; } goto L_08856124; L_08856124: ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[17] + static_cast(10)))))); ctx.gpr[6] = (ctx.gpr[29] + static_cast(624)); ctx.gpr[31] = (0x08856134u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0176_entry, 176u, 222u, 0x08AC5938u>(ctx, &aot_mem) && ctx.pc == 0x08856134u) goto L_08856134; return; L_08856134: aot_mem.aot_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(624))); aot_mem.aot_store8(ctx.gpr[17] + static_cast(4), static_cast(ctx.gpr[4])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(96))); goto L_08856144; L_08856144: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(182))); goto L_08856148; L_08856148: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08856194; } goto L_08856150; } L_08856150: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(1376))); if (ctx.gpr[4] != ctx.gpr[5]) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(628))); goto L_0885616C; } goto L_0885615C; L_0885615C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(1328))); { const bool branch_taken = ctx.gpr[16] != ctx.gpr[4]; // nop if (branch_taken) { goto L_08856174; } goto L_08856168; } L_08856168: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(628))); goto L_0885616C; L_0885616C: { const bool branch_taken = ctx.gpr[16] != ctx.gpr[4]; // nop if (branch_taken) { goto L_08856194; } goto L_08856174; } L_08856174: ctx.gpr[31] = (0x0885617Cu); // nop if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 302u, 0x0894DB08u>(ctx, &aot_mem) && ctx.pc == 0x0885617Cu) goto L_0885617C; return; L_0885617C: ctx.gpr[4] = (ctx.gpr[2] & 65535u); ctx.gpr[4] = (ctx.gpr[4] & 31u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08856194; } goto L_0885618C; } L_0885618C: { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(988), ctx.gpr[30]); if (branch_taken) { goto L_088574A8; } goto L_08856194; } L_08856194: ctx.gpr[31] = (0x0885619Cu); ctx.gpr[4] = (ctx.gpr[19] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 845u, 0x089A38C0u>(ctx, &aot_mem) && ctx.pc == 0x0885619Cu) goto L_0885619C; return; L_0885619C: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088561C4; } goto L_088561A4; } L_088561A4: { const bool branch_taken = ctx.gpr[16] == 0u; ctx.gpr[4] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_088561C4; } goto L_088561AC; } L_088561AC: ctx.gpr[31] = (0x088561B4u); ctx.gpr[5] = (ctx.gpr[19] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0033_entry, 33u, 56u, 0x08888678u>(ctx, &aot_mem) && ctx.pc == 0x088561B4u) goto L_088561B4; return; L_088561B4: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_088561C4; } goto L_088561BC; } L_088561BC: { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(988), ctx.gpr[30]); if (branch_taken) { goto L_088574A8; } goto L_088561C4; } L_088561C4: if (ctx.gpr[16] == 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(96))); goto L_088561D4; } goto L_088561CC; L_088561CC: { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(844))); if (branch_taken) { goto L_08856200; } goto L_088561D4; } L_088561D4: if (ctx.gpr[4] != 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(96))); goto L_088561FC; } goto L_088561DC; L_088561DC: ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[17] + static_cast(10)))))); ctx.gpr[6] = (ctx.gpr[29] + static_cast(625)); ctx.gpr[31] = (0x088561ECu); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0176_entry, 176u, 222u, 0x08AC5938u>(ctx, &aot_mem) && ctx.pc == 0x088561ECu) goto L_088561EC; return; L_088561EC: aot_mem.aot_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(625))); aot_mem.aot_store8(ctx.gpr[17] + static_cast(4), static_cast(ctx.gpr[4])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(96))); goto L_088561FC; L_088561FC: ctx.gpr[20] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(180))); goto L_08856200; L_08856200: ctx.gpr[4] = (0u | 50u); if (ctx.gpr[20] != ctx.gpr[4]) { ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); goto L_0885624C; } goto L_0885620C; L_0885620C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08856244; } goto L_08856218; } L_08856218: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 1u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08856244; } goto L_08856228; } L_08856228: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(108))); ctx.gpr[5] = (1u << 16u); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); ctx.gpr[4] = (0u < ctx.gpr[4] ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); if (ctx.gpr[4] == 0u) { ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); goto L_0885624C; } goto L_08856244; L_08856244: { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(988), ctx.gpr[30]); if (branch_taken) { goto L_088574A8; } goto L_0885624C; } L_0885624C: ctx.gpr[5] = (2229u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-11604))); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[23] + static_cast(28))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(68))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(12))); ctx.gpr[4] = (ctx.gpr[5] & 512u); ctx.gpr[4] = (0u < ctx.gpr[4] ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; if (branch_taken) { goto L_08856298; } goto L_08856284; } L_08856284: ctx.gpr[4] = (0u | 55u); { const bool branch_taken = ctx.gpr[20] == ctx.gpr[4]; ctx.gpr[4] = (0u | 50u); if (branch_taken) { goto L_08856298; } goto L_08856290; } L_08856290: { const bool branch_taken = ctx.gpr[20] != ctx.gpr[4]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(988), ctx.gpr[30]); if (branch_taken) { goto L_088574A8; } goto L_08856298; } L_08856298: aot_mem.aot_store32(ctx.gpr[29] + static_cast(988), ctx.gpr[30]); ctx.gpr[4] = (ctx.gpr[22] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088574A8; } goto L_088562D8; } L_088562D8: ctx.gpr[5] = (2227u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(20948))); ctx.gpr[4] = (0u | 0u); ctx.gpr[6] = (0u | 42u); { const bool branch_taken = ctx.gpr[20] == ctx.gpr[6]; ctx.gpr[5] = (ctx.gpr[5] + static_cast(96)); if (branch_taken) { goto L_08856340; } goto L_088562F0; } L_088562F0: ctx.gpr[6] = (0u | 54u); { const bool branch_taken = ctx.gpr[20] != ctx.gpr[6]; // nop if (branch_taken) { goto L_08856318; } goto L_088562FC; } L_088562FC: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08856340; } goto L_08856304; } L_08856304: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(404))); ctx.gpr[7] = (4096u << 16u); ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); { const bool branch_taken = ctx.gpr[6] != 0u; // nop if (branch_taken) { goto L_08856340; } goto L_08856318; } L_08856318: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08856380; } goto L_08856320; } L_08856320: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(864))); ctx.gpr[7] = (0u | 28u); { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; // nop if (branch_taken) { goto L_08856340; } goto L_08856330; } L_08856330: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(864))); ctx.gpr[7] = (0u | 24u); { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; // nop if (branch_taken) { goto L_08856380; } goto L_08856340; } L_08856340: ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); ctx.gpr[4] = (2230u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8152))); ctx.gpr[6] = (static_cast(ctx.gpr[5]) < static_cast(ctx.gpr[6]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; ctx.gpr[4] = (0u | 0u); if (branch_taken) { goto L_0885636C; } goto L_08856358; } L_08856358: ctx.gpr[4] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (2229u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-11604))); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); goto L_0885636C; L_0885636C: ctx.gpr[31] = (0x08856374u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(80))); if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 95u, 0x0899CC34u>(ctx, &aot_mem) && ctx.pc == 0x08856374u) goto L_08856374; return; L_08856374: ctx.gpr[5] = (ctx.gpr[2] | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (0u | 1u); if (branch_taken) { goto L_0885639C; } goto L_08856380; } L_08856380: ctx.gpr[6] = (0u | 54u); { const bool branch_taken = ctx.gpr[20] == ctx.gpr[6]; ctx.gpr[6] = (0u | 55u); if (branch_taken) { goto L_08856394; } goto L_0885638C; } L_0885638C: { const bool branch_taken = ctx.gpr[20] != ctx.gpr[6]; // nop if (branch_taken) { goto L_0885639C; } goto L_08856394; } L_08856394: ctx.gpr[5] = (2269u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-4624)); goto L_0885639C; L_0885639C: ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(48)))))); ctx.gpr[6] = (0u | 0u); ctx.gpr[7] = (static_cast(ctx.gpr[6]) < static_cast(ctx.gpr[7]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { goto L_088564CC; } goto L_088563B0; } L_088563B0: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08856408; } goto L_088563B8; } L_088563B8: ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(60))); ctx.gpr[8] = (ctx.gpr[6] << 5u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[7] + static_cast(0))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(128), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[7] + static_cast(4))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(132), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[7] + static_cast(8))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), std::bit_cast(ctx.fpr[12])); ctx.gpr[7] = (ctx.gpr[29] + static_cast(128)); { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[7] = (ctx.gpr[29] + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[7] = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_0885646C; } goto L_08856408; } L_08856408: ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(60))); ctx.gpr[8] = (ctx.gpr[6] << 5u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[7] + static_cast(0))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(160), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[7] + static_cast(4))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(164), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[7] + static_cast(8))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(168), std::bit_cast(ctx.fpr[12])); ctx.gpr[7] = (ctx.gpr[22] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[7] = (ctx.gpr[29] + static_cast(160)); { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[7] = (ctx.gpr[29] + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[8] = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } goto L_0885646C; L_0885646C: ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(60))); ctx.gpr[8] = (ctx.gpr[6] << 5u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[7] + static_cast(12))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[23] + static_cast(28))); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; ctx.gpr[7] = (ctx.gpr[29] + static_cast(64)); { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.gpr[7] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[14] = std::bit_cast(ctx.gpr[7]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.set_fpu_condition((ctx.fpr[14] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088564B4; } goto L_088564AC; } L_088564AC: { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (0u | 1u); if (branch_taken) { goto L_088564CC; } goto L_088564B4; } L_088564B4: ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(48)))))); ctx.gpr[6] = (ctx.gpr[6] & 65535u); ctx.gpr[7] = (static_cast(ctx.gpr[6]) < static_cast(ctx.gpr[7]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; // nop if (branch_taken) { goto L_088563B0; } goto L_088564CC; } L_088564CC: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088564E4; } goto L_088564D4; } L_088564D4: ctx.gpr[31] = (0x088564DCu); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x088564DCu) goto L_088564DC; return; L_088564DC: { const bool branch_taken = ctx.gpr[2] != 0u; ctx.gpr[4] = (0u | 43u); if (branch_taken) { goto L_08856500; } goto L_088564E4; } L_088564E4: { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08856508; } goto L_088564EC; } L_088564EC: ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[17] + static_cast(8))); ctx.gpr[4] = (static_cast(ctx.gpr[4]) < 2 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08856508; } goto L_088564FC; } L_088564FC: ctx.gpr[4] = (0u | 43u); goto L_08856500; L_08856500: { const bool branch_taken = ctx.gpr[20] == ctx.gpr[4]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(988), ctx.gpr[30]); if (branch_taken) { goto L_088574A8; } goto L_08856508; } L_08856508: { const bool branch_taken = ctx.gpr[21] == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(988), ctx.gpr[30]); if (branch_taken) { goto L_088574A8; } goto L_08856510; } L_08856510: if (ctx.gpr[16] == 0u) { ctx.fpr[20] = std::bit_cast(0u); goto L_08856520; } goto L_08856518; L_08856518: { const bool branch_taken = 0u == 0u; ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1208))); if (branch_taken) { goto L_08856520; } goto L_08856520; } L_08856520: aot_mem.aot_store32(ctx.gpr[29] + static_cast(988), ctx.gpr[30]); ctx.gpr[4] = (16179u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 13107u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[29] + static_cast(64)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[4] = (ctx.gpr[29] + static_cast(176)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(192)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (ctx.gpr[19] + static_cast(48)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[22] + static_cast(48)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(208), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[14]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(212), std::bit_cast(ctx.fpr[12])); { const bool branch_taken = ctx.gpr[16] == 0u; ctx.gpr[5] = (ctx.gpr[29] + static_cast(208)); if (branch_taken) { goto L_088565A0; } goto L_08856590; } L_08856590: ctx.gpr[31] = (0x08856598u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 349u, 0x0899E234u>(ctx, &aot_mem) && ctx.pc == 0x08856598u) goto L_08856598; return; L_08856598: { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_088565DC; } goto L_088565A0; } L_088565A0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(96))); if (ctx.gpr[4] != 0u) { ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(96))); goto L_088565CC; } goto L_088565AC; L_088565AC: ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[17] + static_cast(10)))))); ctx.gpr[6] = (ctx.gpr[29] + static_cast(736)); ctx.gpr[31] = (0x088565BCu); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0176_entry, 176u, 222u, 0x08AC5938u>(ctx, &aot_mem) && ctx.pc == 0x088565BCu) goto L_088565BC; return; L_088565BC: aot_mem.aot_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(736))); aot_mem.aot_store8(ctx.gpr[17] + static_cast(4), static_cast(ctx.gpr[4])); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(96))); goto L_088565CC; L_088565CC: ctx.gpr[4] = (ctx.gpr[29] + static_cast(208)); ctx.gpr[31] = (0x088565D8u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(184))); if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 337u, 0x0899E154u>(ctx, &aot_mem) && ctx.pc == 0x088565D8u) goto L_088565D8; return; L_088565D8: ctx.gpr[4] = (ctx.gpr[2] | 0u); goto L_088565DC; L_088565DC: ctx.gpr[21] = (ctx.gpr[4] & 65535u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 6u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08856650; } goto L_088565F0; } L_088565F0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 4u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08856650; } goto L_08856600; } L_08856600: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 3u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08856650; } goto L_08856610; } L_08856610: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 10u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08856650; } goto L_08856620; } L_08856620: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 5u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08856650; } goto L_08856630; } L_08856630: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 8u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08856650; } goto L_08856640; } L_08856640: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 9u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08856658; } goto L_08856650; } L_08856650: { const bool branch_taken = 0u == 0u; ctx.gpr[30] = (0u | 1u); if (branch_taken) { goto L_0885665C; } goto L_08856658; } L_08856658: ctx.gpr[30] = (0u | 0u); goto L_0885665C; L_0885665C: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(296))); ctx.fpr[13] = std::bit_cast(0u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[13])) && ctx.fpr[12] == ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08856678; } goto L_08856674; } L_08856674: aot_mem.aot_store32(ctx.gpr[19] + static_cast(300), ctx.gpr[16]); goto L_08856678; L_08856678: aot_mem.aot_store16(ctx.gpr[29] + static_cast(984), static_cast(ctx.gpr[21])); ctx.gpr[4] = (0u | 3u); { const bool branch_taken = ctx.gpr[16] == 0u; aot_mem.aot_store16(ctx.gpr[29] + static_cast(1002), static_cast(ctx.gpr[4])); if (branch_taken) { goto L_088567AC; } goto L_08856688; } L_08856688: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(1336))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08856710; } goto L_08856694; } L_08856694: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(1332))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08856710; } goto L_088566A0; } L_088566A0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(1332))); ctx.gpr[5] = (0u | 5u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(836))); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08856710; } goto L_088566B4; } L_088566B4: ctx.gpr[7] = (ctx.gpr[16] | 0u); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[7] + static_cast(1332))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[6] = (ctx.gpr[21] & 255u); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x088566D0u); ctx.gpr[8] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0143_entry, 143u, 95u, 0x08A408F0u>(ctx, &aot_mem) && ctx.pc == 0x088566D0u) goto L_088566D0; return; L_088566D0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088566F0; } goto L_088566DC; } L_088566DC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); ctx.gpr[31] = (0x088566E8u); ctx.gpr[5] = (ctx.gpr[19] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0037_entry, 37u, 322u, 0x08899450u>(ctx, &aot_mem) && ctx.pc == 0x088566E8u) goto L_088566E8; return; L_088566E8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08856708; } goto L_088566F0; } L_088566F0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(508))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08856708; } goto L_088566FC; } L_088566FC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(508))); ctx.gpr[31] = (0x08856708u); ctx.gpr[5] = (ctx.gpr[19] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0037_entry, 37u, 322u, 0x08899450u>(ctx, &aot_mem) && ctx.pc == 0x08856708u) goto L_08856708; return; L_08856708: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088574A8; } goto L_08856710; } L_08856710: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08856744; } goto L_08856718; } L_08856718: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(844))); ctx.gpr[5] = (0u | 54u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08856744; } goto L_08856728; } L_08856728: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(844))); ctx.gpr[5] = (0u | 55u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08856744; } goto L_08856738; } L_08856738: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08856744u); ctx.gpr[5] = (ctx.gpr[19] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0037_entry, 37u, 322u, 0x08899450u>(ctx, &aot_mem) && ctx.pc == 0x08856744u) goto L_08856744; return; L_08856744: { const bool branch_taken = ctx.gpr[30] == 0u; ctx.gpr[4] = (0u | 4u); if (branch_taken) { goto L_08856790; } goto L_0885674C; } L_0885674C: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(864))); ctx.gpr[6] = (0u | 28u); { const bool branch_taken = ctx.gpr[5] == ctx.gpr[6]; // nop if (branch_taken) { goto L_0885678C; } goto L_0885675C; } L_0885675C: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(844))); ctx.gpr[6] = (0u | 42u); { const bool branch_taken = ctx.gpr[5] == ctx.gpr[6]; // nop if (branch_taken) { goto L_0885678C; } goto L_0885676C; } L_0885676C: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(844))); ctx.gpr[6] = (0u | 54u); { const bool branch_taken = ctx.gpr[5] == ctx.gpr[6]; // nop if (branch_taken) { goto L_0885678C; } goto L_0885677C; } L_0885677C: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(844))); ctx.gpr[6] = (0u | 55u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; // nop if (branch_taken) { goto L_08856790; } goto L_0885678C; } L_0885678C: ctx.gpr[4] = (0u | 1u); goto L_08856790; L_08856790: ctx.gpr[7] = (ctx.gpr[4] | 0u); aot_mem.aot_store16(ctx.gpr[29] + static_cast(984), static_cast(ctx.gpr[21])); ctx.gpr[6] = (ctx.gpr[21] & 255u); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x088567ACu); ctx.gpr[8] = (0u | 10u); if (rt.invoke_chained_direct<&recomp_unit_0053_entry, 53u, 678u, 0x088DAFC4u>(ctx, &aot_mem) && ctx.pc == 0x088567ACu) goto L_088567AC; return; L_088567AC: ctx.gpr[4] = (0u | 54u); { const bool branch_taken = ctx.gpr[20] == ctx.gpr[4]; ctx.gpr[21] = (0u | 0u); if (branch_taken) { goto L_08856970; } goto L_088567B8; } L_088567B8: ctx.gpr[4] = (0u | 55u); { const bool branch_taken = ctx.gpr[20] == ctx.gpr[4]; // nop if (branch_taken) { goto L_08856970; } goto L_088567C4; } L_088567C4: ctx.gpr[31] = (0x088567CCu); ctx.gpr[4] = (ctx.gpr[19] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x088567CCu) goto L_088567CC; return; L_088567CC: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088567F0; } goto L_088567D4; } L_088567D4: { const bool branch_taken = ctx.gpr[30] == 0u; // nop if (branch_taken) { goto L_088567F0; } goto L_088567DC; } L_088567DC: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(1000))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088567F0; } goto L_088567E8; } L_088567E8: { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (0u | 100u); if (branch_taken) { goto L_08856944; } goto L_088567F0; } L_088567F0: ctx.gpr[31] = (0x088567F8u); ctx.gpr[4] = (ctx.gpr[19] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x088567F8u) goto L_088567F8; return; L_088567F8: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08856860; } goto L_08856800; } L_08856800: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[19] + static_cast(2995))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08856860; } goto L_0885680C; } L_0885680C: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(992))); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08856840; } goto L_0885681C; } L_0885681C: ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(20))); ctx.fpr[12] = std::bit_cast(ctx.gpr[21]); goto L_08856824; L_08856824: ctx.gpr[4] = (16480u << 16u); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[12])); { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_08856944; } goto L_08856840; } L_08856840: ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(20))); ctx.gpr[4] = (0u | 255u); ctx.gpr[21] = (ctx.gpr[21] << 2u); ctx.gpr[5] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[21]) ? 1u : 0u); if (ctx.gpr[5] != 0u) { ctx.gpr[21] = (ctx.gpr[4] | 0u); goto L_08856858; } goto L_08856858; L_08856858: { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(ctx.gpr[21]); if (branch_taken) { goto L_08856824; } goto L_08856860; } L_08856860: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08856878; } goto L_08856868; } L_08856868: ctx.gpr[31] = (0x08856870u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x08856870u) goto L_08856870; return; L_08856870: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08856890; } goto L_08856878; } L_08856878: { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_088568EC; } goto L_08856880; } L_08856880: ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[17] + static_cast(8))); ctx.gpr[4] = (static_cast(ctx.gpr[4]) < 2 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088568EC; } goto L_08856890; } L_08856890: { const bool branch_taken = ctx.gpr[30] == 0u; // nop if (branch_taken) { goto L_088568EC; } goto L_08856898; } L_08856898: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(992))); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088568CC; } goto L_088568A8; } L_088568A8: ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(20))); ctx.fpr[12] = std::bit_cast(ctx.gpr[21]); goto L_088568B0; L_088568B0: ctx.gpr[4] = (16384u << 16u); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[12])); { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_08856944; } goto L_088568CC; } L_088568CC: ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(20))); ctx.gpr[4] = (0u | 255u); ctx.gpr[21] = (ctx.gpr[21] << 2u); ctx.gpr[5] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[21]) ? 1u : 0u); if (ctx.gpr[5] != 0u) { ctx.gpr[21] = (ctx.gpr[4] | 0u); goto L_088568E4; } goto L_088568E4; L_088568E4: { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(ctx.gpr[21]); if (branch_taken) { goto L_088568B0; } goto L_088568EC; } L_088568EC: ctx.gpr[31] = (0x088568F4u); ctx.gpr[4] = (ctx.gpr[19] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x088568F4u) goto L_088568F4; return; L_088568F4: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08856914; } goto L_088568FC; } L_088568FC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 10u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08856914; } goto L_0885690C; } L_0885690C: { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (0u | 100u); if (branch_taken) { goto L_08856944; } goto L_08856914; } L_08856914: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(992))); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_0885692C; } goto L_08856924; } L_08856924: { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(20))); if (branch_taken) { goto L_08856944; } goto L_0885692C; } L_0885692C: ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(20))); ctx.gpr[4] = (0u | 255u); ctx.gpr[21] = (ctx.gpr[21] << 2u); ctx.gpr[5] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[21]) ? 1u : 0u); if (ctx.gpr[5] != 0u) { ctx.gpr[21] = (ctx.gpr[4] | 0u); goto L_08856944; } goto L_08856944; L_08856944: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08856970; } goto L_0885694C; } L_0885694C: ctx.gpr[8] = (aot_mem.aot_load16(ctx.gpr[29] + static_cast(984))); ctx.fpr[12] = std::bit_cast(ctx.gpr[21]); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(996))); ctx.gpr[8] = (ctx.gpr[8] & 255u); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08856970u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0054_entry, 54u, 580u, 0x088DEE94u>(ctx, &aot_mem) && ctx.pc == 0x08856970u) goto L_08856970; return; L_08856970: ctx.gpr[31] = (0x08856978u); ctx.gpr[4] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0138_entry, 138u, 745u, 0x08A2F7ACu>(ctx, &aot_mem) && ctx.pc == 0x08856978u) goto L_08856978; return; L_08856978: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08856EB0; } goto L_08856980; } L_08856980: aot_mem.aot_store32(ctx.gpr[29] + static_cast(1004), ctx.gpr[21]); ctx.gpr[4] = (ctx.gpr[29] + static_cast(64)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::fabs(std::sqrt(vfpu_s[i])); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.gpr[5] = (16672u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / vfpu_s[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[22] = (ctx.gpr[29] + static_cast(224)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[22] = std::bit_cast(0u); ctx.gpr[4] = (0u | 6u); ctx.gpr[21] = (ctx.gpr[29] + static_cast(192)); ctx.gpr[5] = (ctx.gpr[21] | 0u); ctx.gpr[6] = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x088569F4u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x088569F4u) goto L_088569F4; return; L_088569F4: ctx.gpr[4] = (0u | 6u); ctx.gpr[5] = (ctx.gpr[21] | 0u); ctx.gpr[6] = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08856A1Cu); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08856A1Cu) goto L_08856A1C; return; L_08856A1C: ctx.gpr[4] = (0u | 6u); ctx.gpr[5] = (ctx.gpr[21] | 0u); ctx.gpr[6] = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08856A44u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08856A44u) goto L_08856A44; return; L_08856A44: { const bool branch_taken = ctx.gpr[30] == 0u; ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1004))); if (branch_taken) { goto L_08856B3C; } goto L_08856A4C; } L_08856A4C: ctx.gpr[4] = (48460u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[22] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1004), ctx.gpr[21]); ctx.gpr[4] = (15692u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.gpr[31] = (0x08856A6Cu); ctx.fpr[24] = std::bit_cast(ctx.gpr[4]); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 305u, 0x0894DB70u>(ctx, &aot_mem) && ctx.pc == 0x08856A6Cu) goto L_08856A6C; return; L_08856A6C: ctx.fpr[12] = ctx.fpr[24] - ctx.fpr[22]; ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(224))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = ctx.fpr[22] + ctx.fpr[12]; ctx.fpr[12] = ctx.fpr[13] + ctx.fpr[12]; ctx.gpr[31] = (0x08856A88u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(224), std::bit_cast(ctx.fpr[12])); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 305u, 0x0894DB70u>(ctx, &aot_mem) && ctx.pc == 0x08856A88u) goto L_08856A88; return; L_08856A88: ctx.fpr[12] = ctx.fpr[24] - ctx.fpr[22]; ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(228))); ctx.gpr[22] = (ctx.gpr[29] + static_cast(192)); ctx.fpr[26] = std::bit_cast(0u); ctx.gpr[21] = (ctx.gpr[29] + static_cast(224)); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (0u | 6u); ctx.gpr[5] = (ctx.gpr[22] | 0u); ctx.gpr[6] = (ctx.gpr[21] | 0u); ctx.fpr[13] = ctx.fpr[22] + ctx.fpr[12]; ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.fpr[13] = ctx.fpr[14] + ctx.fpr[13]; ctx.gpr[11] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[31] = (0x08856AD4u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(228), std::bit_cast(ctx.fpr[13])); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08856AD4u) goto L_08856AD4; return; L_08856AD4: ctx.gpr[31] = (0x08856ADCu); // nop if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 305u, 0x0894DB70u>(ctx, &aot_mem) && ctx.pc == 0x08856ADCu) goto L_08856ADC; return; L_08856ADC: ctx.fpr[12] = ctx.fpr[24] - ctx.fpr[22]; ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(224))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = ctx.fpr[22] + ctx.fpr[12]; ctx.fpr[12] = ctx.fpr[13] + ctx.fpr[12]; ctx.gpr[31] = (0x08856AF8u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(224), std::bit_cast(ctx.fpr[12])); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 305u, 0x0894DB70u>(ctx, &aot_mem) && ctx.pc == 0x08856AF8u) goto L_08856AF8; return; L_08856AF8: ctx.fpr[14] = ctx.fpr[24] - ctx.fpr[22]; ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(228))); ctx.gpr[4] = (0u | 6u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[5] = (ctx.gpr[22] | 0u); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.gpr[6] = (ctx.gpr[21] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.fpr[13] = ctx.fpr[22] + ctx.fpr[14]; ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); ctx.fpr[13] = ctx.fpr[15] + ctx.fpr[13]; ctx.gpr[31] = (0x08856B38u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(228), std::bit_cast(ctx.fpr[13])); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08856B38u) goto L_08856B38; return; L_08856B38: ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1004))); goto L_08856B3C; L_08856B3C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 11u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08856DAC; } goto L_08856B4C; } L_08856B4C: ctx.gpr[4] = (0u | 55u); { const bool branch_taken = ctx.gpr[20] == ctx.gpr[4]; ctx.gpr[4] = (0u | 55u); if (branch_taken) { goto L_08856B74; } goto L_08856B58; } L_08856B58: ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8100))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(17)); ctx.gpr[4] = (ctx.gpr[4] & 1u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08856B90; } goto L_08856B70; } L_08856B70: ctx.gpr[4] = (0u | 55u); goto L_08856B74; L_08856B74: { const bool branch_taken = ctx.gpr[20] != ctx.gpr[4]; ctx.gpr[4] = (2230u << 16u); if (branch_taken) { goto L_08856BD0; } goto L_08856B7C; } L_08856B7C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8100))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(17)); ctx.gpr[4] = (ctx.gpr[4] & 3u); if (ctx.gpr[4] != 0u) { aot_mem.aot_store32(ctx.gpr[29] + static_cast(1012), ctx.gpr[20]); goto L_08856BD4; } goto L_08856B90; L_08856B90: ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[2] = (15948u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(272), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(276), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(280), std::bit_cast(ctx.fpr[12])); ctx.gpr[2] = (ctx.gpr[2] | 52429u); ctx.gpr[5] = (ctx.gpr[29] + static_cast(192)); ctx.fpr[12] = std::bit_cast(ctx.gpr[2]); ctx.gpr[6] = (ctx.gpr[29] + static_cast(272)); ctx.gpr[4] = (0u | 74u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08856BD0u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08856BD0u) goto L_08856BD0; return; L_08856BD0: aot_mem.aot_store32(ctx.gpr[29] + static_cast(1012), ctx.gpr[20]); goto L_08856BD4; L_08856BD4: aot_mem.aot_store8(ctx.gpr[29] + static_cast(1008), static_cast(ctx.gpr[30])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1004), ctx.gpr[21]); ctx.gpr[22] = (ctx.gpr[29] + static_cast(192)); ctx.fpr[22] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(256), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(260), std::bit_cast(ctx.fpr[22])); ctx.gpr[4] = (15948u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[24] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(264), std::bit_cast(ctx.fpr[24])); ctx.gpr[21] = (ctx.gpr[29] + static_cast(224)); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[30] = (ctx.gpr[29] + static_cast(256)); { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[20] = (ctx.gpr[29] + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (0u | 7u); ctx.gpr[5] = (ctx.gpr[22] | 0u); ctx.gpr[6] = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08856C40u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08856C40u) goto L_08856C40; return; L_08856C40: aot_mem.aot_store32(ctx.gpr[29] + static_cast(240), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(244), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(248), std::bit_cast(ctx.fpr[24])); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (0u | 6u); ctx.gpr[5] = (ctx.gpr[22] | 0u); ctx.gpr[6] = (ctx.gpr[30] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08856C84u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08856C84u) goto L_08856C84; return; L_08856C84: aot_mem.aot_store32(ctx.gpr[29] + static_cast(240), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(244), std::bit_cast(ctx.fpr[22])); ctx.gpr[4] = (15820u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(248), std::bit_cast(ctx.fpr[12])); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (0u | 6u); ctx.gpr[5] = (ctx.gpr[22] | 0u); ctx.gpr[6] = (ctx.gpr[30] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08856CD4u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08856CD4u) goto L_08856CD4; return; L_08856CD4: aot_mem.aot_store32(ctx.gpr[29] + static_cast(256), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(260), std::bit_cast(ctx.fpr[22])); ctx.gpr[4] = (15395u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 55050u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(264), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (0u | 10u); ctx.gpr[5] = (ctx.gpr[22] | 0u); ctx.gpr[6] = (ctx.gpr[30] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08856D14u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08856D14u) goto L_08856D14; return; L_08856D14: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(996))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(68))); ctx.gpr[5] = (ctx.gpr[5] & 14u); ctx.gpr[5] = (ctx.gpr[5] ^ 6u); ctx.gpr[5] = (ctx.gpr[5] < static_cast(1) ? 1u : 0u); ctx.gpr[5] = (ctx.gpr[5] & 255u); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1004))); ctx.gpr[30] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(1008))); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1012))); if (branch_taken) { goto L_08856DA0; } goto L_08856D3C; } L_08856D3C: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(24))); { const bool branch_taken = static_cast(ctx.gpr[5]) >= 0; // nop if (branch_taken) { goto L_08856DA0; } goto L_08856D48; } L_08856D48: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(96))); ctx.gpr[4] = (2230u << 16u); ctx.gpr[7] = (16256u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-8107)); ctx.fpr[12] = std::bit_cast(ctx.gpr[7]); ctx.gpr[31] = (0x08856D64u); ctx.gpr[6] = (0u | 204u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 102u, 0x0886477Cu>(ctx, &aot_mem) && ctx.pc == 0x08856D64u) goto L_08856D64; return; L_08856D64: ctx.gpr[31] = (0x08856D6Cu); // nop if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 302u, 0x0894DB08u>(ctx, &aot_mem) && ctx.pc == 0x08856D6Cu) goto L_08856D6C; return; L_08856D6C: ctx.gpr[4] = (2227u << 16u); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(5076))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(5072))); ctx.gpr[4] = (ctx.gpr[2] | 0u); ctx.gpr[31] = (0x08856D84u); ctx.gpr[5] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 370u, 0x08AF5CE0u>(ctx, &aot_mem) && ctx.pc == 0x08856D84u) goto L_08856D84; return; L_08856D84: ctx.gpr[1] = (ctx.gpr[3] << 1u); ctx.gpr[4] = (ctx.gpr[2] >> 31u); ctx.gpr[5] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); ctx.gpr[4] = (ctx.gpr[1] | ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] | 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[18] + static_cast(24), ctx.gpr[4]); if (branch_taken) { goto L_08856DAC; } goto L_08856DA0; } L_08856DA0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(24))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-1)); aot_mem.aot_store32(ctx.gpr[18] + static_cast(24), ctx.gpr[4]); goto L_08856DAC; L_08856DAC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(64))); ctx.gpr[5] = (0u | 9u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08856EB0; } goto L_08856DBC; } L_08856DBC: aot_mem.aot_store32(ctx.gpr[29] + static_cast(1004), ctx.gpr[21]); ctx.gpr[22] = (ctx.gpr[29] + static_cast(224)); ctx.gpr[4] = (15692u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[4] = (ctx.gpr[29] + static_cast(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[5] = (15820u << 16u); ctx.gpr[5] = (ctx.gpr[5] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[19] + static_cast(32)); { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[5] = (ctx.gpr[29] + static_cast(320)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[5] = (ctx.gpr[29] + static_cast(288)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[31] = (0x08856E2Cu); ctx.gpr[4] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 565u, 0x0892753Cu>(ctx, &aot_mem) && ctx.pc == 0x08856E2Cu) goto L_08856E2C; return; L_08856E2C: ctx.fpr[22] = std::bit_cast(0u); ctx.gpr[4] = (0u | 8u); ctx.gpr[21] = (ctx.gpr[29] + static_cast(192)); ctx.gpr[5] = (ctx.gpr[21] | 0u); ctx.gpr[6] = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08856E5Cu); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08856E5Cu) goto L_08856E5C; return; L_08856E5C: ctx.gpr[4] = (0u | 8u); ctx.gpr[5] = (ctx.gpr[21] | 0u); ctx.gpr[6] = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08856E84u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08856E84u) goto L_08856E84; return; L_08856E84: ctx.gpr[4] = (0u | 8u); ctx.gpr[5] = (ctx.gpr[21] | 0u); ctx.gpr[6] = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08856EACu); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08856EACu) goto L_08856EAC; return; L_08856EAC: ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1004))); goto L_08856EB0; L_08856EB0: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088571D0; } goto L_08856EB8; } L_08856EB8: ctx.gpr[4] = (0u | 42u); { const bool branch_taken = ctx.gpr[20] == ctx.gpr[4]; ctx.gpr[4] = (0u | 54u); if (branch_taken) { goto L_088570B4; } goto L_08856EC4; } L_08856EC4: { const bool branch_taken = ctx.gpr[20] == ctx.gpr[4]; ctx.gpr[4] = (0u | 55u); if (branch_taken) { goto L_088570B4; } goto L_08856ECC; } L_08856ECC: { const bool branch_taken = ctx.gpr[20] == ctx.gpr[4]; // nop if (branch_taken) { goto L_088570B4; } goto L_08856ED4; } L_08856ED4: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1208))); ctx.fpr[13] = std::bit_cast(0u); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088571D0; } goto L_08856EEC; } L_08856EEC: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1208))); ctx.gpr[4] = (16880u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[4] = (16880u << 16u); if (branch_taken) { goto L_08856F1C; } goto L_08856F08; } L_08856F08: ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[20] <= ctx.fpr[12])); // nop if (!ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(208))); goto L_08856F48; } goto L_08856F1C; L_08856F1C: ctx.gpr[31] = (0x08856F24u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x08856F24u) goto L_08856F24; return; L_08856F24: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_088571D0; } goto L_08856F2C; } L_08856F2C: if (ctx.gpr[30] != 0u) { ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(208))); goto L_08856F48; } goto L_08856F34; L_08856F34: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 1u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_088571D0; } goto L_08856F44; } L_08856F44: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(208))); goto L_08856F48; L_08856F48: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(212))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[14] = std::bit_cast(0u); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[14])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[4] = (16256u << 16u); if (branch_taken) { goto L_08856F78; } goto L_08856F6C; } L_08856F6C: ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(208), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_08856FB4; } goto L_08856F78; } L_08856F78: ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[4]); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / std::sqrt(vfpu_s[i]); ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<0u>()); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (16256u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(208))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(208), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(212))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(212), std::bit_cast(ctx.fpr[12])); goto L_08856FB4; L_08856FB4: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(404))); ctx.gpr[4] = (0u | 0u); ctx.gpr[6] = (0u + static_cast(-2)); ctx.gpr[4] = (ctx.gpr[4] & 1u); ctx.gpr[5] = (ctx.gpr[5] & ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[5] | ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[16] + static_cast(404), ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 11u); if (ctx.gpr[4] != ctx.gpr[5]) { ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(208))); goto L_0885701C; } goto L_08856FE0; L_08856FE0: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(208))); ctx.gpr[4] = (49152u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(212))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[5] = (16384u << 16u); ctx.gpr[4] = (ctx.gpr[16] | 0u); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(344), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(336), std::bit_cast(ctx.fpr[12])); ctx.gpr[31] = (0x08857014u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(340), std::bit_cast(ctx.fpr[13])); if (rt.invoke_chained_direct<&recomp_unit_0130_entry, 130u, 278u, 0x08A0E1E4u>(ctx, &aot_mem) && ctx.pc == 0x08857014u) goto L_08857014; return; L_08857014: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_0885704C; } goto L_0885701C; } L_0885701C: ctx.gpr[4] = (49312u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(212))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[5] = (16448u << 16u); ctx.gpr[4] = (ctx.gpr[16] | 0u); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(360), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(352), std::bit_cast(ctx.fpr[12])); ctx.gpr[31] = (0x0885704Cu); aot_mem.aot_store32(ctx.gpr[29] + static_cast(356), std::bit_cast(ctx.fpr[13])); if (rt.invoke_chained_direct<&recomp_unit_0130_entry, 130u, 278u, 0x08A0E1E4u>(ctx, &aot_mem) && ctx.pc == 0x0885704Cu) goto L_0885704C; return; L_0885704C: { const bool branch_taken = ctx.gpr[30] == 0u; // nop if (branch_taken) { goto L_08857084; } goto L_08857054; } L_08857054: ctx.gpr[31] = (0x0885705Cu); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x0885705Cu) goto L_0885705C; return; L_0885705C: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08857084; } goto L_08857064; } L_08857064: ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[29] + static_cast(984))); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(25)); ctx.gpr[5] = (0u | 3000u); ctx.gpr[31] = (0x0885707Cu); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 106u, 0x089A07E8u>(ctx, &aot_mem) && ctx.pc == 0x0885707Cu) goto L_0885707C; return; L_0885707C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_0885709C; } goto L_08857084; } L_08857084: ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[29] + static_cast(984))); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(25)); ctx.gpr[5] = (0u | 1500u); ctx.gpr[31] = (0x0885709Cu); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 106u, 0x089A07E8u>(ctx, &aot_mem) && ctx.pc == 0x0885709Cu) goto L_0885709C; return; L_0885709C: aot_mem.aot_store32(ctx.gpr[19] + static_cast(1328), ctx.gpr[16]); ctx.gpr[5] = (ctx.gpr[19] + static_cast(1328)); ctx.gpr[31] = (0x088570ACu); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 689u, 0x0883B8A4u>(ctx, &aot_mem) && ctx.pc == 0x088570ACu) goto L_088570AC; return; L_088570AC: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088571D0; } goto L_088570B4; } L_088570B4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(844))); ctx.gpr[5] = (0u | 54u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_088571D0; } goto L_088570C4; } L_088570C4: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(1000))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088571D0; } goto L_088570D0; } L_088570D0: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(208))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(212))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[14] = std::bit_cast(0u); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[14])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[4] = (16256u << 16u); if (branch_taken) { goto L_08857104; } goto L_088570F8; } L_088570F8: ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(208), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_08857140; } goto L_08857104; } L_08857104: ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[4]); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / std::sqrt(vfpu_s[i]); ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<0u>()); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (16256u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(208))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(208), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(212))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(212), std::bit_cast(ctx.fpr[12])); goto L_08857140; L_08857140: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(404))); ctx.gpr[4] = (0u | 0u); ctx.gpr[6] = (0u + static_cast(-2)); ctx.gpr[4] = (ctx.gpr[4] & 1u); ctx.gpr[5] = (ctx.gpr[5] & ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[5] | ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[16] + static_cast(404), ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 11u); if (ctx.gpr[4] != ctx.gpr[5]) { ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(208))); goto L_088571A0; } goto L_0885716C; L_0885716C: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(208))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(212))); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); ctx.gpr[4] = (16256u << 16u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[13]) ^ 0x80000000u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(368), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(372), std::bit_cast(ctx.fpr[13])); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(376), std::bit_cast(ctx.fpr[14])); ctx.gpr[31] = (0x08857198u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0130_entry, 130u, 278u, 0x08A0E1E4u>(ctx, &aot_mem) && ctx.pc == 0x08857198u) goto L_08857198; return; L_08857198: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088571D0; } goto L_088571A0; } L_088571A0: ctx.gpr[4] = (49312u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(212))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[5] = (16448u << 16u); ctx.gpr[4] = (ctx.gpr[16] | 0u); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(392), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(384), std::bit_cast(ctx.fpr[12])); ctx.gpr[31] = (0x088571D0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(388), std::bit_cast(ctx.fpr[13])); if (rt.invoke_chained_direct<&recomp_unit_0130_entry, 130u, 278u, 0x08A0E1E4u>(ctx, &aot_mem) && ctx.pc == 0x088571D0u) goto L_088571D0; return; L_088571D0: ctx.gpr[4] = (0u | 4u); { const bool branch_taken = ctx.gpr[16] == 0u; aot_mem.aot_store32(ctx.gpr[18] + static_cast(4), ctx.gpr[4]); if (branch_taken) { goto L_088572BC; } goto L_088571DC; } L_088571DC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 5u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_0885721C; } goto L_088571EC; } L_088571EC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 10u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_0885721C; } goto L_088571FC; } L_088571FC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 9u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_0885721C; } goto L_0885720C; } L_0885720C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 11u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_0885726C; } goto L_0885721C; } L_0885721C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(1376))); ctx.gpr[5] = (0u | 6u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_0885724C; } goto L_0885722C; } L_0885722C: ctx.gpr[4] = (0u | 18u); ctx.gpr[5] = (0u | 1u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08857244u); ctx.gpr[8] = (0u | 2000u); if (rt.invoke_chained_direct<&recomp_unit_0163_entry, 163u, 556u, 0x08A927F0u>(ctx, &aot_mem) && ctx.pc == 0x08857244u) goto L_08857244; return; L_08857244: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088574A8; } goto L_0885724C; } L_0885724C: ctx.gpr[4] = (0u | 17u); ctx.gpr[5] = (0u | 1u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08857264u); ctx.gpr[8] = (0u | 2000u); if (rt.invoke_chained_direct<&recomp_unit_0163_entry, 163u, 556u, 0x08A927F0u>(ctx, &aot_mem) && ctx.pc == 0x08857264u) goto L_08857264; return; L_08857264: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088574A8; } goto L_0885726C; } L_0885726C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(1376))); ctx.gpr[5] = (0u | 6u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_0885729C; } goto L_0885727C; } L_0885727C: ctx.gpr[4] = (0u | 3u); ctx.gpr[5] = (0u | 1u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08857294u); ctx.gpr[8] = (0u | 2000u); if (rt.invoke_chained_direct<&recomp_unit_0163_entry, 163u, 556u, 0x08A927F0u>(ctx, &aot_mem) && ctx.pc == 0x08857294u) goto L_08857294; return; L_08857294: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088574A8; } goto L_0885729C; } L_0885729C: ctx.gpr[4] = (0u | 1u); ctx.gpr[5] = (0u | 1u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x088572B4u); ctx.gpr[8] = (0u | 2000u); if (rt.invoke_chained_direct<&recomp_unit_0163_entry, 163u, 556u, 0x08A927F0u>(ctx, &aot_mem) && ctx.pc == 0x088572B4u) goto L_088572B4; return; L_088572B4: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088574A8; } goto L_088572BC; } L_088572BC: ctx.gpr[4] = (0u | 38u); aot_mem.aot_store16(ctx.gpr[29] + static_cast(400), static_cast(ctx.gpr[4])); ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(-7400))); aot_mem.aot_store8(ctx.gpr[29] + static_cast(402), static_cast(ctx.gpr[4])); ctx.gpr[4] = (ctx.gpr[29] + static_cast(403)); ctx.gpr[5] = (ctx.gpr[4] + static_cast(4)); ctx.gpr[6] = (ctx.gpr[4] + static_cast(8)); ctx.gpr[7] = (ctx.gpr[29] + static_cast(415)); ctx.gpr[8] = (ctx.gpr[7] + static_cast(4)); ctx.gpr[9] = (ctx.gpr[7] + static_cast(8)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(192))); ctx.gpr[10] = (std::bit_cast(ctx.fpr[12])); rt.memory().aot_store_word_left(ctx.gpr[4] + static_cast(3), ctx.gpr[10]); rt.memory().aot_store_word_right(ctx.gpr[4] + static_cast(0), ctx.gpr[10]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(196))); ctx.gpr[4] = (std::bit_cast(ctx.fpr[13])); rt.memory().aot_store_word_left(ctx.gpr[5] + static_cast(3), ctx.gpr[4]); rt.memory().aot_store_word_right(ctx.gpr[5] + static_cast(0), ctx.gpr[4]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(200))); ctx.gpr[4] = (std::bit_cast(ctx.fpr[14])); rt.memory().aot_store_word_left(ctx.gpr[6] + static_cast(3), ctx.gpr[4]); rt.memory().aot_store_word_right(ctx.gpr[6] + static_cast(0), ctx.gpr[4]); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.gpr[4] = (std::bit_cast(ctx.fpr[15])); rt.memory().aot_store_word_left(ctx.gpr[7] + static_cast(3), ctx.gpr[4]); rt.memory().aot_store_word_right(ctx.gpr[7] + static_cast(0), ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); rt.memory().aot_store_word_left(ctx.gpr[8] + static_cast(3), ctx.gpr[4]); rt.memory().aot_store_word_right(ctx.gpr[8] + static_cast(0), ctx.gpr[4]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(72))); ctx.gpr[4] = (std::bit_cast(ctx.fpr[13])); rt.memory().aot_store_word_left(ctx.gpr[9] + static_cast(3), ctx.gpr[4]); rt.memory().aot_store_word_right(ctx.gpr[9] + static_cast(0), ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[17] + static_cast(8))); aot_mem.aot_store16(ctx.gpr[29] + static_cast(432), static_cast(ctx.gpr[4])); ctx.gpr[5] = (2232u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(5736)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(104))); ctx.gpr[6] = (ctx.gpr[5] + static_cast(4)); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); { const bool branch_taken = ctx.gpr[6] == 0u; ctx.gpr[4] = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_088573A0; } goto L_0885736C; } L_0885736C: aot_mem.aot_store8(ctx.gpr[29] + static_cast(876), static_cast(0u)); goto L_08857370; L_08857370: ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(16))); ctx.gpr[7] = (ctx.gpr[7] < ctx.gpr[4] ? 1u : 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); if (ctx.gpr[7] != 0u) { ctx.gpr[6] = (ctx.gpr[6] + static_cast(12)); goto L_08857394; } goto L_08857384; L_08857384: ctx.gpr[5] = (ctx.gpr[6] | 0u); ctx.gpr[6] = (ctx.gpr[5] + static_cast(8)); { const bool branch_taken = 0u == 0u; ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); if (branch_taken) { goto L_08857398; } goto L_08857394; } L_08857394: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); goto L_08857398; L_08857398: if (ctx.gpr[6] != 0u) { aot_mem.aot_store8(ctx.gpr[29] + static_cast(876), static_cast(0u)); goto L_08857370; } goto L_088573A0; L_088573A0: ctx.gpr[6] = (2232u << 16u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(5736)); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(104))); if (ctx.gpr[5] == ctx.gpr[6]) { ctx.gpr[4] = (2232u << 16u); goto L_088573D0; } goto L_088573B4; L_088573B4: aot_mem.aot_store8(ctx.gpr[29] + static_cast(877), static_cast(0u)); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(16))); ctx.gpr[4] = (ctx.gpr[4] < ctx.gpr[6] ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (2232u << 16u); if (branch_taken) { goto L_088573DC; } goto L_088573CC; } L_088573CC: ctx.gpr[4] = (2232u << 16u); goto L_088573D0; L_088573D0: ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(104))); ctx.gpr[4] = (2232u << 16u); goto L_088573DC; L_088573DC: aot_mem.aot_store32(ctx.gpr[29] + static_cast(872), ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(104))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(872))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(888), ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(868), ctx.gpr[5]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(888))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(868))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(864), ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(864))); ctx.gpr[4] = (ctx.gpr[5] ^ ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); if (ctx.gpr[4] == 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(868))); goto L_08857420; } goto L_08857418; L_08857418: { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (0u | 0u); if (branch_taken) { goto L_08857424; } goto L_08857420; } L_08857420: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); goto L_08857424; L_08857424: ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[29] + static_cast(984))); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(427)))))); ctx.gpr[7] = (0u + static_cast(-16)); ctx.gpr[5] = (ctx.gpr[5] & 255u); ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); ctx.gpr[5] = (ctx.gpr[5] & 15u); ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast(8))); ctx.gpr[5] = (ctx.gpr[6] | ctx.gpr[5]); aot_mem.aot_store8(ctx.gpr[29] + static_cast(427), static_cast(ctx.gpr[5])); aot_mem.aot_store16(ctx.gpr[29] + static_cast(434), static_cast(ctx.gpr[4])); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(427)))))); ctx.gpr[5] = (0u + static_cast(-17)); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[6] = (ctx.gpr[30] & 1u); ctx.gpr[6] = (ctx.gpr[6] << 4u); aot_mem.aot_store8(ctx.gpr[29] + static_cast(431), static_cast(ctx.gpr[5])); ctx.gpr[4] = (ctx.gpr[4] | ctx.gpr[6]); aot_mem.aot_store8(ctx.gpr[29] + static_cast(428), static_cast(ctx.gpr[21])); aot_mem.aot_store8(ctx.gpr[29] + static_cast(427), static_cast(ctx.gpr[4])); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(1000))); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(427)))))); ctx.gpr[6] = (0u + static_cast(-33)); ctx.gpr[4] = (ctx.gpr[4] & 1u); ctx.gpr[5] = (ctx.gpr[5] & ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[4] << 5u); ctx.gpr[4] = (ctx.gpr[5] | ctx.gpr[4]); aot_mem.aot_store8(ctx.gpr[29] + static_cast(427), static_cast(ctx.gpr[4])); ctx.gpr[4] = (2232u << 16u); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(3)))))); ctx.gpr[5] = (ctx.gpr[29] + static_cast(400)); ctx.gpr[31] = (0x088574A8u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 138u, 0x088A87C4u>(ctx, &aot_mem) && ctx.pc == 0x088574A8u) goto L_088574A8; return; L_088574A8: ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[29] + static_cast(986))); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[19] + static_cast(1868))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1)); ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[19] + static_cast(1912))); ctx.gpr[4] = (ctx.gpr[4] & 65535u); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); aot_mem.aot_store16(ctx.gpr[29] + static_cast(986), static_cast(ctx.gpr[4])); ctx.gpr[4] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[5]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088560C0; } goto L_088574D0; } L_088574D0: ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(988))); { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[23] + static_cast(28))); ctx.gpr[2] = (0u | 1u); ctx.gpr[5] = (0u | 0u); ctx.gpr[6] = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[2]); ctx.gpr[31] = (0x08857510u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); if (rt.invoke_chained_direct<&recomp_unit_0049_entry, 49u, 72u, 0x088C8430u>(ctx, &aot_mem) && ctx.pc == 0x08857510u) goto L_08857510; return; L_08857510: ctx.gpr[16] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088577B4; } goto L_0885751C; } L_0885751C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 14u); ctx.gpr[4] = (ctx.gpr[4] ^ 12u); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088577B4; } goto L_08857538; } L_08857538: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0885756C; } goto L_08857544; } L_08857544: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(108))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(16)); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (2224u << 16u); jump_target = ctx.gpr[6]; ctx.gpr[31] = (0x08857564u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-23884)); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08857564u) goto L_08857564; return; L_08857564: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08857574; } goto L_0885756C; } L_0885756C: { const bool branch_taken = 0u == 0u; ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_08857574; } goto L_08857574; } L_08857574: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088577B4; } goto L_0885757C; } L_0885757C: ctx.gpr[4] = (0u | 38u); aot_mem.aot_store16(ctx.gpr[29] + static_cast(450), static_cast(ctx.gpr[4])); ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(-7400))); aot_mem.aot_store8(ctx.gpr[29] + static_cast(452), static_cast(ctx.gpr[4])); ctx.gpr[4] = (ctx.gpr[29] + static_cast(453)); ctx.gpr[5] = (ctx.gpr[4] + static_cast(4)); ctx.gpr[6] = (ctx.gpr[4] + static_cast(8)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[22] + static_cast(0))); ctx.gpr[7] = (std::bit_cast(ctx.fpr[12])); rt.memory().aot_store_word_left(ctx.gpr[4] + static_cast(3), ctx.gpr[7]); rt.memory().aot_store_word_right(ctx.gpr[4] + static_cast(0), ctx.gpr[7]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[22] + static_cast(4))); ctx.gpr[4] = (std::bit_cast(ctx.fpr[13])); rt.memory().aot_store_word_left(ctx.gpr[5] + static_cast(3), ctx.gpr[4]); rt.memory().aot_store_word_right(ctx.gpr[5] + static_cast(0), ctx.gpr[4]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[22] + static_cast(8))); ctx.gpr[4] = (std::bit_cast(ctx.fpr[14])); rt.memory().aot_store_word_left(ctx.gpr[6] + static_cast(3), ctx.gpr[4]); rt.memory().aot_store_word_right(ctx.gpr[6] + static_cast(0), ctx.gpr[4]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(438)))))); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(439)))))); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(440)))))); aot_mem.aot_store8(ctx.gpr[29] + static_cast(465), static_cast(ctx.gpr[4])); aot_mem.aot_store8(ctx.gpr[29] + static_cast(466), static_cast(ctx.gpr[5])); aot_mem.aot_store8(ctx.gpr[29] + static_cast(467), static_cast(ctx.gpr[6])); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(441)))))); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(442)))))); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(443)))))); aot_mem.aot_store8(ctx.gpr[29] + static_cast(468), static_cast(ctx.gpr[4])); aot_mem.aot_store8(ctx.gpr[29] + static_cast(469), static_cast(ctx.gpr[5])); aot_mem.aot_store8(ctx.gpr[29] + static_cast(470), static_cast(ctx.gpr[6])); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(444)))))); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(445)))))); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(446)))))); aot_mem.aot_store8(ctx.gpr[29] + static_cast(471), static_cast(ctx.gpr[4])); aot_mem.aot_store8(ctx.gpr[29] + static_cast(472), static_cast(ctx.gpr[5])); aot_mem.aot_store8(ctx.gpr[29] + static_cast(473), static_cast(ctx.gpr[6])); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(447)))))); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(448)))))); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(449)))))); aot_mem.aot_store8(ctx.gpr[29] + static_cast(474), static_cast(ctx.gpr[4])); aot_mem.aot_store8(ctx.gpr[29] + static_cast(475), static_cast(ctx.gpr[5])); aot_mem.aot_store8(ctx.gpr[29] + static_cast(476), static_cast(ctx.gpr[6])); ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[16] + static_cast(8))); aot_mem.aot_store16(ctx.gpr[29] + static_cast(482), static_cast(ctx.gpr[4])); ctx.gpr[31] = (0x0885763Cu); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x0885763Cu) goto L_0885763C; return; L_0885763C: ctx.gpr[5] = (2232u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(5736)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(104))); ctx.gpr[6] = (ctx.gpr[5] + static_cast(4)); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); { const bool branch_taken = ctx.gpr[6] == 0u; ctx.gpr[4] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_0885768C; } goto L_08857658; } L_08857658: aot_mem.aot_store8(ctx.gpr[29] + static_cast(912), static_cast(0u)); goto L_0885765C; L_0885765C: ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(16))); ctx.gpr[7] = (ctx.gpr[7] < ctx.gpr[4] ? 1u : 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); if (ctx.gpr[7] != 0u) { ctx.gpr[6] = (ctx.gpr[6] + static_cast(12)); goto L_08857680; } goto L_08857670; L_08857670: ctx.gpr[5] = (ctx.gpr[6] | 0u); ctx.gpr[6] = (ctx.gpr[5] + static_cast(8)); { const bool branch_taken = 0u == 0u; ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); if (branch_taken) { goto L_08857684; } goto L_08857680; } L_08857680: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); goto L_08857684; L_08857684: if (ctx.gpr[6] != 0u) { aot_mem.aot_store8(ctx.gpr[29] + static_cast(912), static_cast(0u)); goto L_0885765C; } goto L_0885768C; L_0885768C: ctx.gpr[6] = (2232u << 16u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(5736)); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(104))); if (ctx.gpr[5] == ctx.gpr[6]) { ctx.gpr[4] = (2232u << 16u); goto L_088576BC; } goto L_088576A0; L_088576A0: aot_mem.aot_store8(ctx.gpr[29] + static_cast(913), static_cast(0u)); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(16))); ctx.gpr[4] = (ctx.gpr[4] < ctx.gpr[6] ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (2232u << 16u); if (branch_taken) { goto L_088576C8; } goto L_088576B8; } L_088576B8: ctx.gpr[4] = (2232u << 16u); goto L_088576BC; L_088576BC: ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(104))); ctx.gpr[4] = (2232u << 16u); goto L_088576C8; L_088576C8: aot_mem.aot_store32(ctx.gpr[29] + static_cast(908), ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(104))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(908))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(924), ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(904), ctx.gpr[5]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(924))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(904))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(900), ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(900))); ctx.gpr[4] = (ctx.gpr[5] ^ ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); if (ctx.gpr[4] == 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(904))); goto L_0885770C; } goto L_08857704; L_08857704: { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (0u | 0u); if (branch_taken) { goto L_08857710; } goto L_0885770C; } L_0885770C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); goto L_08857710; L_08857710: ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast(8))); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(477)))))); aot_mem.aot_store16(ctx.gpr[29] + static_cast(484), static_cast(ctx.gpr[4])); ctx.gpr[4] = (0u + static_cast(-16)); ctx.gpr[4] = (ctx.gpr[5] & ctx.gpr[4]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_store8(ctx.gpr[29] + static_cast(477), static_cast(ctx.gpr[4])); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(992))); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] != 0u; aot_mem.aot_store8(ctx.gpr[29] + static_cast(481), static_cast(ctx.gpr[5])); if (branch_taken) { goto L_08857744; } goto L_0885773C; } L_0885773C: { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(20))); if (branch_taken) { goto L_0885775C; } goto L_08857744; } L_08857744: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(20))); ctx.gpr[5] = (0u | 255u); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[6] = (static_cast(ctx.gpr[5]) < static_cast(ctx.gpr[4]) ? 1u : 0u); if (ctx.gpr[6] != 0u) { ctx.gpr[4] = (ctx.gpr[5] | 0u); goto L_0885775C; } goto L_0885775C; L_0885775C: ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(477)))))); ctx.gpr[6] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(1000))); ctx.gpr[5] = (ctx.gpr[5] | 16u); aot_mem.aot_store8(ctx.gpr[29] + static_cast(477), static_cast(ctx.gpr[5])); aot_mem.aot_store8(ctx.gpr[29] + static_cast(478), static_cast(ctx.gpr[4])); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(477)))))); ctx.gpr[5] = (0u + static_cast(-33)); ctx.gpr[6] = (ctx.gpr[6] & 1u); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[6] << 5u); ctx.gpr[4] = (ctx.gpr[4] | ctx.gpr[5]); ctx.gpr[5] = (2269u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-4528)); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[5] + static_cast(31))); aot_mem.aot_store8(ctx.gpr[29] + static_cast(477), static_cast(ctx.gpr[4])); ctx.gpr[4] = (ctx.gpr[5] & 255u); aot_mem.aot_store16(ctx.gpr[29] + static_cast(486), static_cast(ctx.gpr[4])); ctx.gpr[4] = (2232u << 16u); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(3)))))); ctx.gpr[5] = (ctx.gpr[29] + static_cast(450)); ctx.gpr[31] = (0x088577B4u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 138u, 0x088A87C4u>(ctx, &aot_mem) && ctx.pc == 0x088577B4u) goto L_088577B4; return; L_088577B4: { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[23] + static_cast(28))); ctx.gpr[5] = (0u | 0u); ctx.gpr[6] = (0u | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); ctx.gpr[31] = (0x088577ECu); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); if (rt.invoke_chained_direct<&recomp_unit_0049_entry, 49u, 72u, 0x088C8430u>(ctx, &aot_mem) && ctx.pc == 0x088577ECu) goto L_088577EC; return; L_088577EC: ctx.gpr[16] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08857CE8; } goto L_088577F8; } L_088577F8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(836))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08857CE8; } goto L_08857804; } L_08857804: ctx.gpr[4] = (0u | 4u); ctx.gpr[31] = (0x08857810u); aot_mem.aot_store32(ctx.gpr[18] + static_cast(4), ctx.gpr[4]); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08857810u) goto L_08857810; return; L_08857810: { const bool branch_taken = ctx.gpr[19] != ctx.gpr[2]; // nop if (branch_taken) { goto L_08857878; } goto L_08857818; } L_08857818: ctx.gpr[31] = (0x08857820u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0039_entry, 39u, 101u, 0x088A07B0u>(ctx, &aot_mem) && ctx.pc == 0x08857820u) goto L_08857820; return; L_08857820: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08857860; } goto L_08857828; } L_08857828: ctx.gpr[4] = (ctx.gpr[19] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(496)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[5] = (16928u << 16u); ctx.gpr[31] = (0x08857844u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); if (rt.invoke_chained_direct<&recomp_unit_0178_entry, 178u, 442u, 0x08ACDBC0u>(ctx, &aot_mem) && ctx.pc == 0x08857844u) goto L_08857844; return; L_08857844: { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; // nop if (branch_taken) { goto L_08857860; } goto L_0885784C; } L_0885784C: ctx.gpr[31] = (0x08857854u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08857854u) goto L_08857854; return; L_08857854: ctx.gpr[4] = (ctx.gpr[2] | 0u); ctx.gpr[31] = (0x08857860u); ctx.gpr[5] = (0u | 1u); if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 215u, 0x08944EA0u>(ctx, &aot_mem) && ctx.pc == 0x08857860u) goto L_08857860; return; L_08857860: ctx.gpr[4] = (0u | 1u); ctx.gpr[5] = (0u | 2u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08857878u); ctx.gpr[8] = (0u | 2000u); if (rt.invoke_chained_direct<&recomp_unit_0163_entry, 163u, 556u, 0x08A927F0u>(ctx, &aot_mem) && ctx.pc == 0x08857878u) goto L_08857878; return; L_08857878: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 11u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); if (branch_taken) { goto L_0885799C; } goto L_08857888; } L_08857888: ctx.gpr[17] = (0u | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_0885799C; } goto L_08857898; } L_08857898: aot_mem.aot_store32(ctx.gpr[29] + static_cast(1016), ctx.gpr[22]); ctx.gpr[20] = (2269u << 16u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(-4528))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(512), std::bit_cast(ctx.fpr[12])); ctx.gpr[21] = (ctx.gpr[20] + static_cast(-4528)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[21] + static_cast(4))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(516), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[21] + static_cast(8))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(520), std::bit_cast(ctx.fpr[12])); ctx.gpr[30] = (ctx.gpr[29] + static_cast(512)); ctx.fpr[22] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(528), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(532), std::bit_cast(ctx.fpr[22])); ctx.gpr[4] = (16025u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 39322u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(536), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (0u | 1u); ctx.gpr[5] = (ctx.gpr[30] | 0u); ctx.gpr[22] = (ctx.gpr[29] + static_cast(528)); ctx.gpr[6] = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08857908u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08857908u) goto L_08857908; return; L_08857908: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(-4528))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(512), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[21] + static_cast(4))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(516), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[21] + static_cast(8))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(520), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[21] + static_cast(16))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(544), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[21] + static_cast(20))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(548), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[21] + static_cast(24))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(552), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (15820u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[29] + static_cast(544)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (0u | 0u); ctx.gpr[5] = (ctx.gpr[30] | 0u); ctx.gpr[6] = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08857984u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08857984u) goto L_08857984; return; L_08857984: ctx.gpr[4] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[17] = (ctx.gpr[4] << 16u); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); ctx.gpr[4] = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1016))); if (branch_taken) { goto L_08857898; } goto L_0885799C; } L_0885799C: ctx.gpr[5] = (2269u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-4528)); ctx.gpr[17] = (aot_mem.aot_load8(ctx.gpr[5] + static_cast(31))); ctx.gpr[5] = (0u | 11u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; ctx.gpr[17] = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08857A20; } goto L_088579B8; } L_088579B8: ctx.gpr[31] = (0x088579C0u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 296u, 0x08A89F44u>(ctx, &aot_mem) && ctx.pc == 0x088579C0u) goto L_088579C0; return; L_088579C0: ctx.gpr[5] = (14916u << 16u); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(992))); ctx.gpr[5] = (ctx.gpr[5] | 39846u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] != 0u; { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } if (branch_taken) { goto L_08857A00; } goto L_088579DC; } L_088579DC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(20))); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); goto L_088579E4; L_088579E4: ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x088579F8u); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } if (rt.invoke_chained_direct<&recomp_unit_0007_entry, 7u, 170u, 0x088214F4u>(ctx, &aot_mem) && ctx.pc == 0x088579F8u) goto L_088579F8; return; L_088579F8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08857A7C; } goto L_08857A00; } L_08857A00: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(20))); ctx.gpr[5] = (0u | 255u); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[6] = (static_cast(ctx.gpr[5]) < static_cast(ctx.gpr[4]) ? 1u : 0u); if (ctx.gpr[6] != 0u) { ctx.gpr[4] = (ctx.gpr[5] | 0u); goto L_08857A18; } goto L_08857A18; L_08857A18: { const bool branch_taken = 0u == 0u; ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); if (branch_taken) { goto L_088579E4; } goto L_08857A20; } L_08857A20: ctx.gpr[31] = (0x08857A28u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 296u, 0x08A89F44u>(ctx, &aot_mem) && ctx.pc == 0x08857A28u) goto L_08857A28; return; L_08857A28: ctx.gpr[5] = (15395u << 16u); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(992))); ctx.gpr[5] = (ctx.gpr[5] | 55050u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] != 0u; { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } if (branch_taken) { goto L_08857A4C; } goto L_08857A44; } L_08857A44: { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(20))); if (branch_taken) { goto L_08857A64; } goto L_08857A4C; } L_08857A4C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(20))); ctx.gpr[5] = (0u | 255u); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[6] = (static_cast(ctx.gpr[5]) < static_cast(ctx.gpr[4]) ? 1u : 0u); if (ctx.gpr[6] != 0u) { ctx.gpr[4] = (ctx.gpr[5] | 0u); goto L_08857A64; } goto L_08857A64; L_08857A64: ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08857A7Cu); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } if (rt.invoke_chained_direct<&recomp_unit_0007_entry, 7u, 170u, 0x088214F4u>(ctx, &aot_mem) && ctx.pc == 0x08857A7Cu) goto L_08857A7C; return; L_08857A7C: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08857AA0; } goto L_08857A90; } L_08857A90: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(996))); aot_mem.aot_store8(ctx.gpr[16] + static_cast(671), static_cast(ctx.gpr[4])); aot_mem.aot_store32(ctx.gpr[16] + static_cast(664), ctx.gpr[5]); goto L_08857AA0; L_08857AA0: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(296))); ctx.fpr[13] = std::bit_cast(0u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[13])) && ctx.fpr[12] == ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08857ABC; } goto L_08857AB8; } L_08857AB8: aot_mem.aot_store32(ctx.gpr[19] + static_cast(300), ctx.gpr[16]); goto L_08857ABC; L_08857ABC: ctx.gpr[31] = (0x08857AC4u); ctx.gpr[17] = (0u | 2u); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08857AC4u) goto L_08857AC4; return; L_08857AC4: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[2] + static_cast(1720)))))); ctx.gpr[5] = (ctx.gpr[4] << 5u); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[2] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1428)); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[18]; aot_mem.aot_store16(ctx.gpr[29] + static_cast(1002), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_08857CE8; } goto L_08857AE4; } L_08857AE4: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(596))); ctx.gpr[5] = (0u | 2u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08857CE8; } goto L_08857AF4; } L_08857AF4: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(397)))))); ctx.gpr[5] = (0u | 3u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; ctx.gpr[4] = (16256u << 16u); if (branch_taken) { goto L_08857B44; } goto L_08857B04; } L_08857B04: ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[31] = (0x08857B10u); ctx.fpr[22] = std::bit_cast(ctx.gpr[4]); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 305u, 0x0894DB70u>(ctx, &aot_mem) && ctx.pc == 0x08857B10u) goto L_08857B10; return; L_08857B10: ctx.fpr[12] = ctx.fpr[22] - ctx.fpr[20]; ctx.gpr[4] = (16128u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = ctx.fpr[20] + ctx.fpr[12]; ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_08857BCC; } goto L_08857B34; } L_08857B34: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(398)))))); ctx.gpr[5] = (0u | 1u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08857BCC; } goto L_08857B44; } L_08857B44: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08857CE8; } goto L_08857B50; } L_08857B50: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); ctx.gpr[5] = (0u | 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(592))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08857CE8; } goto L_08857B64; } L_08857B64: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); ctx.gpr[5] = (0u | 8u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(592))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08857CE8; } goto L_08857B78; } L_08857B78: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); ctx.gpr[5] = (0u | 3u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(592))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08857CE8; } goto L_08857B8C; } L_08857B8C: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(397)))))); ctx.gpr[5] = (0u | 3u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08857BC0; } goto L_08857B9C; } L_08857B9C: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(408)))))); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[4] = (16320u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[12])); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); aot_mem.aot_store8(ctx.gpr[16] + static_cast(408), static_cast(ctx.gpr[4])); goto L_08857BC0; L_08857BC0: ctx.gpr[4] = (0u | 3u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store8(ctx.gpr[16] + static_cast(397), static_cast(ctx.gpr[4])); if (branch_taken) { goto L_08857CE8; } goto L_08857BCC; } L_08857BCC: ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); { const bool branch_taken = ctx.gpr[20] == 0u; ctx.gpr[17] = (0u | 200u); if (branch_taken) { goto L_08857C50; } goto L_08857BD8; } L_08857BD8: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[20] + static_cast(428))); ctx.gpr[5] = (0u | 2u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08857C50; } goto L_08857BE8; } L_08857BE8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast(1380))); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(36)))))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(37)))))); ctx.gpr[4] = (static_cast(ctx.gpr[5]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08857C30; } goto L_08857C00; } L_08857C00: ctx.gpr[31] = (0x08857C08u); ctx.gpr[21] = (0u | 8u); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08857C08u) goto L_08857C08; return; L_08857C08: ctx.gpr[4] = (ctx.gpr[20] | 0u); ctx.gpr[5] = (0u | 8u); ctx.gpr[31] = (0x08857C18u); ctx.gpr[6] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 927u, 0x08893114u>(ctx, &aot_mem) && ctx.pc == 0x08857C18u) goto L_08857C18; return; L_08857C18: ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8148))); aot_mem.aot_store32(ctx.gpr[20] + static_cast(596), ctx.gpr[21]); ctx.gpr[4] = (ctx.gpr[4] + static_cast(10000)); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[20] + static_cast(1800), ctx.gpr[4]); if (branch_taken) { goto L_08857C3C; } goto L_08857C30; } L_08857C30: ctx.gpr[4] = (ctx.gpr[20] | 0u); ctx.gpr[31] = (0x08857C3Cu); ctx.gpr[5] = (0u | 3u); if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 884u, 0x08892F04u>(ctx, &aot_mem) && ctx.pc == 0x08857C3Cu) goto L_08857C3C; return; L_08857C3C: ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[20] + static_cast(1772), ctx.gpr[4]); ctx.gpr[17] = (ctx.gpr[17] + static_cast(200)); goto L_08857C50; L_08857C50: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(540))); ctx.gpr[20] = (0u | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08857CE8; } goto L_08857C64; } L_08857C64: ctx.gpr[4] = (ctx.gpr[20] << 2u); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(508))); { const bool branch_taken = ctx.gpr[21] == 0u; // nop if (branch_taken) { goto L_08857CD4; } goto L_08857C78; } L_08857C78: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[21] + static_cast(428))); ctx.gpr[5] = (0u | 2u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08857CD4; } goto L_08857C88; } L_08857C88: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast(1380))); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(36)))))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(37)))))); ctx.gpr[4] = (static_cast(ctx.gpr[5]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08857CB4; } goto L_08857CA0; } L_08857CA0: ctx.gpr[4] = (ctx.gpr[21] | 0u); ctx.gpr[31] = (0x08857CACu); ctx.gpr[5] = (0u | 3u); if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 884u, 0x08892F04u>(ctx, &aot_mem) && ctx.pc == 0x08857CACu) goto L_08857CAC; return; L_08857CAC: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08857CC0; } goto L_08857CB4; } L_08857CB4: ctx.gpr[4] = (ctx.gpr[21] | 0u); ctx.gpr[31] = (0x08857CC0u); ctx.gpr[5] = (0u | 3u); if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 884u, 0x08892F04u>(ctx, &aot_mem) && ctx.pc == 0x08857CC0u) goto L_08857CC0; return; L_08857CC0: ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[21] + static_cast(1772), ctx.gpr[4]); ctx.gpr[17] = (ctx.gpr[17] + static_cast(200)); goto L_08857CD4; L_08857CD4: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(540))); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08857C64; } goto L_08857CE8; } L_08857CE8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[5] = (0u | 11u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08857EC4; } goto L_08857CF8; } L_08857CF8: { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(560)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[23] + static_cast(28))); ctx.gpr[5] = (0u | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); ctx.gpr[31] = (0x08857D30u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); if (rt.invoke_chained_direct<&recomp_unit_0049_entry, 49u, 72u, 0x088C8430u>(ctx, &aot_mem) && ctx.pc == 0x08857D30u) goto L_08857D30; return; L_08857D30: ctx.gpr[23] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[23] == 0u; // nop if (branch_taken) { goto L_08857EC4; } goto L_08857D3C; } L_08857D3C: ctx.gpr[16] = (0u | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[16]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08857E4C; } goto L_08857D4C; } L_08857D4C: ctx.gpr[17] = (2269u << 16u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(-4528))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(576), std::bit_cast(ctx.fpr[12])); ctx.gpr[20] = (ctx.gpr[17] + static_cast(-4528)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(4))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(580), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(8))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(584), std::bit_cast(ctx.fpr[12])); ctx.gpr[21] = (ctx.gpr[29] + static_cast(576)); ctx.fpr[20] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(592), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(596), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (16025u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 39322u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(600), std::bit_cast(ctx.fpr[12])); ctx.gpr[22] = (ctx.gpr[29] + static_cast(592)); ctx.gpr[4] = (0u | 1u); ctx.gpr[5] = (ctx.gpr[21] | 0u); ctx.gpr[6] = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08857DB8u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08857DB8u) goto L_08857DB8; return; L_08857DB8: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(-4528))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(576), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(4))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(580), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(8))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(584), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(16))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(608), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(20))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(612), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(24))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(616), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (15820u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[29] + static_cast(608)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (0u | 0u); ctx.gpr[5] = (ctx.gpr[21] | 0u); ctx.gpr[6] = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[31] = (0x08857E34u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 85u, 0x089986E8u>(ctx, &aot_mem) && ctx.pc == 0x08857E34u) goto L_08857E34; return; L_08857E34: ctx.gpr[4] = (ctx.gpr[16] + static_cast(1)); ctx.gpr[16] = (ctx.gpr[4] << 16u); ctx.gpr[16] = (static_cast(static_cast(ctx.gpr[16]) >> 16u)); ctx.gpr[4] = (static_cast(ctx.gpr[16]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08857D4C; } goto L_08857E4C; } L_08857E4C: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[29] + static_cast(1002)))))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08857E7C; } goto L_08857E58; } L_08857E58: ctx.gpr[4] = (0u | 4u); ctx.fpr[12] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[18] + static_cast(4), ctx.gpr[4]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(296))); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[13]) || std::isnan(ctx.fpr[12])) && ctx.fpr[13] == ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08857E7C; } goto L_08857E78; } L_08857E78: aot_mem.aot_store32(ctx.gpr[19] + static_cast(300), ctx.gpr[23]); goto L_08857E7C; L_08857E7C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[23] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 14u); ctx.gpr[4] = (ctx.gpr[4] ^ 8u); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08857EC4; } goto L_08857E98; } L_08857E98: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[23] + static_cast(432))); ctx.gpr[4] = (static_cast(ctx.gpr[4]) < 20 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08857EC4; } goto L_08857EA8; } L_08857EA8: ctx.gpr[6] = (17224u << 16u); ctx.gpr[4] = (ctx.gpr[23] | 0u); ctx.fpr[12] = std::bit_cast(ctx.gpr[6]); ctx.gpr[31] = (0x08857EBCu); ctx.gpr[5] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0014_entry, 14u, 484u, 0x0883F1F4u>(ctx, &aot_mem) && ctx.pc == 0x08857EBCu) goto L_08857EBC; return; L_08857EBC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_store8(ctx.gpr[23] + static_cast(424), static_cast(ctx.gpr[4])); goto L_08857EC4; L_08857EC4: ctx.gpr[2] = (0u | 1u); ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(1020))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(1024))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(1028))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(1032))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1036))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1040))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1044))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1048))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1052))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1056))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1060))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1064))); ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1068))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1072))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(1088)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_08857F08: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-672)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(612), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(616), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(620), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(624), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(628), std::bit_cast(ctx.fpr[28])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(632), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(636), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(640), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(644), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(648), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(652), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(656), ctx.gpr[22]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(660), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(664), ctx.gpr[30]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(668), ctx.gpr[31]); ctx.gpr[19] = (ctx.gpr[6] | 0u); ctx.gpr[17] = (ctx.gpr[5] | 0u); ctx.gpr[16] = (ctx.gpr[4] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(144), 0u); ctx.gpr[31] = (0x08857F60u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 294u, 0x0894DA0Cu>(ctx, &aot_mem) && ctx.pc == 0x08857F60u) goto L_08857F60; return; L_08857F60: ctx.gpr[18] = (ctx.gpr[2] | 0u); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[19] = (0u | 0u); ctx.gpr[20] = (0u | 0u); ctx.gpr[4] = (ctx.gpr[17] + static_cast(112)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(160)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(16))); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); ctx.fpr[14] = std::bit_cast(0u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[14])) && ctx.fpr[12] == ctx.fpr[14])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(20))); if (branch_taken) { goto L_08857FC0; } goto L_08857FA4; } L_08857FA4: ctx.fpr[14] = std::bit_cast(0u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[13]) || std::isnan(ctx.fpr[14])) && ctx.fpr[13] == ctx.fpr[14])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08857FC0; } goto L_08857FB8; } L_08857FB8: { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(0u); if (branch_taken) { goto L_08857FCC; } goto L_08857FC0; } L_08857FC0: ctx.gpr[31] = (0x08857FC8u); // nop if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 288u, 0x089D96E8u>(ctx, &aot_mem) && ctx.pc == 0x08857FC8u) goto L_08857FC8; return; L_08857FC8: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08857FCC; L_08857FCC: ctx.gpr[4] = (17204u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (16457u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[14]; ctx.gpr[4] = (15502u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 64012u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[4]); ctx.pc = 0x08858000u; return; } void recomp_unit_0020(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0020_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_20(Runtime &runtime) { runtime.register_generated_unit(20u, 0x08854000u, 16384u, &recomp_unit_0020, &recomp_unit_0020_entry); runtime.register_function(0x08854000u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854010u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854038u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854044u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885404Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854058u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854060u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885406Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854074u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854080u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854088u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854094u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885409Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088540A0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088540A8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088540C0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088540C8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088540D8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088540E0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088540F4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854108u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854118u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854128u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854134u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885413Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854144u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854154u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885415Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854170u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854188u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088541B4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088541C0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088541D8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088541E8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088541F8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854208u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885420Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885424Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854254u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854264u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854268u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854290u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088542A4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088542B4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088542F0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854360u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088543B0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088543E8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854440u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854464u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854470u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854480u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854488u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854490u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088544ACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088544B4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088544C0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088544C8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088544D0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088544ECu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088544F8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088545B0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088545B8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088545C0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088545D0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088545DCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088545E8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088545F8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854608u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854614u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854624u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854628u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854644u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885465Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854664u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854670u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854680u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088546A8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088546B0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088546B8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854720u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854748u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854770u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885477Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854798u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088547B4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088547F4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088547FCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854818u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854858u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854860u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854874u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885488Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854894u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088548A8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088548DCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854904u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854928u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885496Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088549BCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088549FCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854A10u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854A80u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854AA8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854AD0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854AF8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854AFCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854B3Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854B48u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854B58u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854B70u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854B8Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854B9Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854BA4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854BACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854BB8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854BC0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854BC4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854BE4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854BECu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854C20u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854C34u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854C68u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854C70u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854CA4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854CB0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854CB8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854CC0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854CDCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854CE4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854D00u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854D08u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854D14u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854D20u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854D48u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854D50u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854D84u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854D98u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854DC0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854DC8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854DFCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854E00u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854E1Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854E38u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854E44u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854E4Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854E58u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854E60u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854E68u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854E70u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854E78u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854E84u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854E9Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854EA4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854ED0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854EE4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854EE8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854EF4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854F00u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854F24u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854F34u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854F40u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854F54u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854F68u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854F78u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854F84u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854FA8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854FB0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854FBCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854FCCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854FE4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854FECu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08854FFCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855010u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885501Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885502Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855040u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855048u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855054u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855060u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855078u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855084u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885508Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855098u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088550A8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088550BCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855100u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855158u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885516Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855178u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855184u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088551A4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088551B4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088551BCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088551C4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088551C8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855258u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855264u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855274u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885527Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855288u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855290u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855298u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088552A4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088552B0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088552C0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088552C8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088552D0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088552D8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088552ECu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855304u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855314u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855320u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855328u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855330u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885533Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855344u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855354u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855358u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855360u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855378u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855388u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855390u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855398u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088553A4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088553B0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088553C0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088553C8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088553D0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088553E4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088553F0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855448u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855450u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855458u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885546Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855474u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855478u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855480u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855494u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855498u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088554A0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088554A8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088554B0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088554D4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088554DCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088554F0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088554FCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855578u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885557Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885558Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855590u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088555A0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088555A8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088555C4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088555C8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088555D8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088555ECu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088555F8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855618u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855620u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855630u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855638u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855640u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855650u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885565Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855664u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855670u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855678u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855694u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088556A4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088556BCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088556C4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088556C8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088556E0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088556E8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088556F4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855714u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855720u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855734u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885574Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855754u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885575Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885576Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855774u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855788u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855794u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088557A0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088557ACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088557BCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088557C4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088557D4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088557DCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088557E4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088557FCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885580Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855818u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855824u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855834u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885584Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855860u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885586Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088558A4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088558ACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088558B8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088558C0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088558D8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088558F0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088558F8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855928u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855930u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855950u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855958u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855960u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855968u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885597Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855984u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885598Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885599Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088559A4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088559D8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088559E8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855A0Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855A1Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855A28u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855A38u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855A40u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855A44u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855A6Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855AA0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855AB0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855AB8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855AC0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855AC8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855AD4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855ADCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855AE4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855AF8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855B04u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855B0Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855B14u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855B40u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855B48u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855B64u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855B6Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855B78u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855B84u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855B90u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855BA4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855BACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855BB0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855BB8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855BC0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855BD0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855BD8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855BF0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855C20u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855C28u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855C30u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855C50u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855C58u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855C64u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855C84u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855C90u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855C94u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855C9Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855CACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855CC8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855CE8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855D00u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855D0Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855D1Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855D2Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855D3Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855D48u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855D60u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855D80u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855DA0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855DB4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855DE0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855DE4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855DECu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855DF0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855E20u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855E30u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855E4Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855E60u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855E68u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855E6Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855E74u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855E98u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855EE8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855F18u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855F30u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855F38u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855F54u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855F74u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855F7Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855F84u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855F8Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855F94u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855F9Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855FACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855FBCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855FCCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855FDCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855FECu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08855FFCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885600Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885601Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856030u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856040u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856048u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856050u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856068u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856078u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856080u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856088u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856090u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856098u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088560A0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088560C0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088560E0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088560F4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885610Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856114u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885611Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856124u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856134u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856144u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856148u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856150u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885615Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856168u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885616Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856174u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885617Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885618Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856194u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885619Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088561A4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088561ACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088561B4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088561BCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088561C4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088561CCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088561D4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088561DCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088561ECu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088561FCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856200u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885620Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856218u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856228u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856244u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885624Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856284u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856290u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856298u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088562D8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088562F0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088562FCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856304u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856318u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856320u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856330u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856340u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856358u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885636Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856374u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856380u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885638Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856394u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885639Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088563B0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088563B8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856408u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885646Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088564ACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088564B4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088564CCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088564D4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088564DCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088564E4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088564ECu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088564FCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856500u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856508u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856510u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856518u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856520u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856590u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856598u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088565A0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088565ACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088565BCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088565CCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088565D8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088565DCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088565F0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856600u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856610u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856620u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856630u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856640u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856650u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856658u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885665Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856674u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856678u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856688u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856694u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088566A0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088566B4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088566D0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088566DCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088566E8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088566F0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088566FCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856708u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856710u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856718u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856728u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856738u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856744u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885674Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885675Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885676Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885677Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885678Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856790u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088567ACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088567B8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088567C4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088567CCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088567D4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088567DCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088567E8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088567F0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088567F8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856800u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885680Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885681Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856824u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856840u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856858u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856860u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856868u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856870u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856878u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856880u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856890u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856898u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088568A8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088568B0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088568CCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088568E4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088568ECu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088568F4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088568FCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885690Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856914u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856924u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885692Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856944u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885694Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856970u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856978u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856980u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088569F4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856A1Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856A44u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856A4Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856A6Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856A88u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856AD4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856ADCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856AF8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856B38u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856B3Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856B4Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856B58u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856B70u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856B74u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856B7Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856B90u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856BD0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856BD4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856C40u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856C84u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856CD4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856D14u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856D3Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856D48u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856D64u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856D6Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856D84u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856DA0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856DACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856DBCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856E2Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856E5Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856E84u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856EACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856EB0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856EB8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856EC4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856ECCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856ED4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856EECu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856F08u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856F1Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856F24u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856F2Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856F34u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856F44u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856F48u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856F6Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856F78u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856FB4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08856FE0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857014u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885701Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885704Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857054u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885705Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857064u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885707Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857084u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885709Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088570ACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088570B4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088570C4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088570D0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088570F8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857104u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857140u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885716Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857198u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088571A0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088571D0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088571DCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088571ECu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088571FCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885720Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885721Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885722Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857244u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885724Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857264u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885726Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885727Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857294u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885729Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088572B4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088572BCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885736Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857370u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857384u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857394u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857398u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088573A0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088573B4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088573CCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088573D0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088573DCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857418u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857420u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857424u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088574A8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088574D0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857510u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885751Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857538u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857544u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857564u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885756Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857574u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885757Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885763Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857658u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885765Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857670u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857680u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857684u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885768Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088576A0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088576B8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088576BCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088576C8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857704u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885770Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857710u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885773Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857744u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885775Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088577B4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088577ECu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088577F8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857804u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857810u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857818u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857820u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857828u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857844u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885784Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857854u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857860u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857878u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857888u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857898u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857908u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857984u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x0885799Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088579B8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088579C0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088579DCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088579E4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x088579F8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857A00u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857A18u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857A20u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857A28u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857A44u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857A4Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857A64u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857A7Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857A90u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857AA0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857AB8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857ABCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857AC4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857AE4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857AF4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857B04u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857B10u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857B34u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857B44u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857B50u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857B64u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857B78u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857B8Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857B9Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857BC0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857BCCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857BD8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857BE8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857C00u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857C08u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857C18u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857C30u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857C3Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857C50u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857C64u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857C78u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857C88u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857CA0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857CACu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857CB4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857CC0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857CD4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857CE8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857CF8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857D30u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857D3Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857D4Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857DB8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857E34u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857E4Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857E58u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857E78u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857E7Cu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857E98u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857EA8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857EBCu, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857EC4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857F08u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857F60u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857FA4u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857FB8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857FC0u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857FC8u, &recomp_unit_0020, "recomp_unit_0020"); runtime.register_function(0x08857FCCu, &recomp_unit_0020, "recomp_unit_0020"); } } // namespace psprecomp