#include "psprecomp/runtime.hpp" #include "generated_units.hpp" #include #include #include #include namespace psprecomp { static const std::uint16_t kEntryIds_recomp_unit_0123[4095] = { 1, 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, 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, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 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, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 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, 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, 10, 0, 0, 0, 0, 0, 11, 0, 12, 0, 13, 0, 0, 0, 0, 0, 0, 14, 0, 15, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 18, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 24, 25, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 0, 30, 0, 31, 0, 32, 0, 33, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 35, 0, 36, 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, 0, 0, 37, 0, 0, 38, 0, 39, 0, 40, 0, 0, 41, 0, 0, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 45, 0, 0, 46, 0, 47, 0, 48, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 50, 0, 0, 51, 0, 52, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 55, 0, 56, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 59, 0, 0, 0, 0, 0, 0, 60, 0, 61, 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, 0, 0, 0, 65, 0, 66, 0, 0, 0, 67, 0, 68, 0, 0, 0, 0, 0, 0, 69, 0, 70, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 73, 74, 0, 0, 0, 75, 0, 76, 0, 77, 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, 81, 0, 0, 82, 0, 83, 0, 0, 0, 0, 0, 0, 84, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 92, 0, 0, 0, 93, 0, 0, 0, 94, 0, 95, 0, 96, 0, 97, 0, 0, 0, 98, 0, 0, 0, 0, 99, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 102, 0, 0, 103, 0, 104, 0, 0, 105, 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 108, 0, 109, 0, 0, 0, 110, 111, 0, 0, 0, 112, 0, 0, 113, 0, 0, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 116, 0, 117, 0, 0, 0, 118, 0, 0, 119, 0, 120, 0, 121, 0, 122, 123, 0, 124, 0, 0, 0, 0, 125, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 0, 0, 0, 128, 0, 0, 0, 129, 0, 0, 0, 130, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 132, 0, 0, 0, 133, 0, 0, 0, 0, 134, 0, 135, 0, 136, 0, 137, 0, 138, 0, 139, 0, 140, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 142, 0, 0, 0, 143, 0, 144, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 146, 0, 0, 0, 147, 0, 148, 0, 0, 0, 0, 0, 149, 0, 0, 0, 0, 150, 0, 0, 0, 151, 0, 152, 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, 154, 0, 0, 0, 155, 0, 156, 0, 157, 0, 0, 0, 0, 0, 0, 158, 0, 159, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 0, 162, 0, 163, 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 168, 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, 0, 0, 171, 0, 0, 172, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, 175, 0, 0, 176, 0, 177, 0, 0, 178, 0, 179, 0, 180, 0, 181, 0, 0, 182, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 0, 186, 0, 0, 0, 187, 0, 188, 0, 189, 0, 190, 0, 191, 0, 0, 0, 192, 0, 193, 0, 194, 0, 195, 0, 196, 0, 0, 0, 0, 0, 0, 197, 0, 198, 0, 0, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 205, 0, 206, 0, 0, 0, 207, 0, 0, 0, 208, 0, 0, 0, 209, 0, 0, 0, 210, 0, 0, 0, 211, 0, 0, 0, 0, 0, 212, 0, 0, 0, 0, 0, 0, 213, 0, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, 216, 0, 0, 0, 217, 0, 0, 218, 0, 0, 0, 219, 0, 0, 0, 0, 0, 220, 0, 221, 0, 222, 0, 223, 0, 0, 0, 224, 0, 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 0, 0, 0, 227, 0, 0, 0, 228, 0, 229, 0, 230, 0, 231, 0, 0, 0, 0, 0, 0, 232, 233, 0, 0, 0, 0, 234, 0, 0, 0, 235, 236, 0, 237, 0, 0, 0, 0, 238, 0, 0, 0, 0, 0, 239, 240, 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, 243, 244, 0, 0, 0, 0, 0, 245, 0, 246, 0, 0, 0, 247, 0, 248, 0, 0, 0, 0, 0, 0, 249, 250, 0, 0, 0, 0, 251, 0, 0, 0, 252, 253, 0, 254, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 256, 257, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 260, 261, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, 266, 0, 267, 0, 268, 0, 269, 0, 270, 0, 0, 0, 0, 0, 0, 271, 0, 272, 0, 0, 0, 0, 273, 0, 0, 0, 0, 274, 0, 0, 275, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 278, 0, 279, 0, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 282, 0, 283, 0, 0, 0, 284, 0, 285, 0, 286, 0, 0, 287, 0, 288, 0, 289, 0, 290, 0, 0, 0, 0, 0, 291, 0, 292, 0, 0, 0, 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 0, 295, 0, 0, 0, 0, 0, 296, 0, 0, 0, 297, 0, 0, 298, 0, 0, 299, 0, 300, 301, 302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 0, 304, 0, 305, 0, 306, 0, 307, 0, 308, 0, 309, 0, 0, 0, 0, 0, 0, 310, 0, 311, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0, 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 0, 0, 317, 0, 318, 0, 319, 0, 0, 0, 0, 0, 0, 320, 0, 321, 0, 0, 0, 0, 322, 0, 0, 323, 0, 0, 0, 0, 0, 0, 0, 324, 0, 0, 0, 0, 0, 325, 0, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 329, 0, 330, 0, 331, 0, 332, 0, 0, 0, 0, 0, 0, 333, 0, 334, 0, 0, 0, 0, 0, 0, 0, 0, 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, 338, 0, 0, 0, 0, 339, 0, 340, 0, 341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, 343, 0, 0, 0, 0, 344, 0, 0, 0, 0, 0, 0, 345, 0, 0, 346, 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, 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 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, 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, 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, 349, 0, 0, 0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 0, 354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 0, 356, 0, 0, 0, 0, 0, 357, 358, 0, 0, 0, 0, 0, 0, 0, 0, 359, 0, 0, 0, 0, 0, 0, 0, 360, 0, 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 363, 0, 364, 0, 0, 0, 0, 0, 0, 365, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 367, 0, 0, 0, 368, 0, 0, 0, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, 0, 0, 375, 0, 0, 0, 0, 376, 0, 0, 0, 0, 0, 377, 0, 0, 378, 0, 379, 0, 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 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, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 0, 0, 0, 0, 0, 388, 0, 0, 0, 0, 0, 389, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 0, 0, 0, 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, 0, 0, 394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 395, 0, 0, 0, 396, 0, 0, 0, 0, 0, 0, 397, 0, 0, 0, 0, 0, 0, 398, 0, 0, 0, 0, 399, 0, 0, 0, 400, 0, 0, 0, 401, 0, 0, 0, 402, 0, 0, 403, 0, 0, 0, 404, 0, 0, 0, 0, 0, 405, 0, 0, 0, 0, 0, 406, 0, 0, 0, 0, 407, 0, 408, 0, 0, 0, 409, 0, 410, 0, 0, 0, 0, 0, 0, 411, 0, 0, 0, 0, 412, 0, 0, 0, 413, 0, 414, 0, 0, 0, 415, 0, 416, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 418, 0, 0, 0, 419, 0, 420, 0, 0, 0, 421, 0, 422, 0, 0, 0, 423, 0, 0, 0, 424, 0, 0, 425, 0, 0, 0, 0, 0, 0, 0, 426, 0, 427, 0, 0, 428, 0, 0, 0, 0, 0, 429, 0, 0, 0, 0, 0, 0, 0, 430, 0, 0, 0, 431, 0, 0, 0, 0, 0, 0, 432, 0, 0, 433, 0, 0, 0, 434, 0, 0, 0, 0, 0, 0, 0, 435, 0, 436, 0, 437, 0, 438, 0, 0, 0, 0, 439, 0, 440, 0, 441, 0, 0, 0, 0, 0, 0, 442, 0, 0, 0, 443, 0, 0, 0, 0, 444, 0, 0, 445, 0, 0, 0, 0, 446, 0, 0, 447, 0, 0, 0, 0, 0, 0, 0, 0, 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 0, 0, 455, 0, 0, 0, 456, 0, 0, 457, 0, 0, 0, 0, 0, 0, 458, 0, 0, 0, 0, 0, 0, 0, 459, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0, 461, 0, 462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 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, 464, 0, 0, 0, 0, 0, 0, 465, 0, 0, 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 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, 468, 0, 0, 0, 0, 0, 0, 469, 0, 470, 0, 0, 471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 472, 0, 0, 0, 0, 0, 0, 0, 0, 473, 0, 0, 0, 0, 474, 0, 0, 0, 0, 475, 0, 0, 0, 0, 476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 477, 0, 0, 0, 0, 0, 0, 0, 0, 478, 479, 0, 0, 0, 480, 0, 0, 0, 481, 0, 482, 0, 483, 0, 0, 0, 0, 484, 0, 0, 0, 0, 0, 0, 485, 0, 0, 0, 0, 0, 0, 486, 0, 0, 0, 0, 0, 487, 0, 0, 0, 0, 0, 0, 0, 0, 488, 0, 489, 0, 0, 0, 0, 0, 490, 0, 0, 491, 0, 0, 0, 0, 0, 0, 0, 492, 0, 0, 0, 0, 0, 493, 0, 0, 0, 0, 0, 0, 494, 0, 0, 0, 0, 495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 496, 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, 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, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 0, 0, 501, 0, 502, 0, 503, 0, 504, 0, 0, 505, 0, 0, 506, 0, 507, 508, 0, 0, 0, 0, 0, 0, 509, 0, 0, 0, 510, 0, 0, 0, 0, 0, 511, 0, 0, 0, 0, 0, 512, 0, 513, 0, 514, 0, 515, 0, 0, 0, 516, 0, 0, 0, 517, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0, 0, 0, 519, 0, 520, 0, 521, 0, 522, 0, 0, 0, 523, 0, 0, 0, 524, 0, 0, 0, 525, 0, 0, 526, 527, 0, 0, 0, 0, 0, 0, 528, 0, 0, 0, 529, 0, 0, 0, 0, 0, 530, 0, 0, 0, 0, 0, 531, 0, 532, 0, 533, 0, 534, 0, 0, 0, 535, 0, 0, 0, 536, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0, 0, 0, 538, 0, 539, 0, 540, 0, 541, 0, 0, 0, 542, 0, 0, 0, 543, 0, 0, 0, 544, 0, 0, 545, 0, 0, 0, 546, 0, 0, 0, 547, 0, 0, 0, 548, 0, 0, 0, 0, 549, 550, 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, 0, 0, 552, 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, 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 558, 559, 0, 0, 0, 0, 0, 0, 0, 560, 0, 0, 0, 561, 0, 562, 0, 0, 563, 0, 0, 0, 0, 564, 0, 0, 0, 565, 0, 0, 0, 0, 566, 0, 0, 0, 0, 567, 0, 0, 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, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0, 0, 575, 0, 0, 0, 576, 0, 0, 0, 0, 577, 578, 0, 0, 0, 0, 579, 580, 0, 581, 0, 0, 582, 0, 0, 0, 0, 583, 0, 0, 0, 0, 0, 584, 0, 0, 0, 0, 0, 585, 0, 586, 0, 0, 0, 0, 0, 0, 587, 0, 0, 0, 0, 0, 0, 588, 0, 0, 0, 0, 0, 589, 0, 590, 0, 0, 0, 0, 0, 591, 0, 0, 0, 0, 0, 0, 592, 0, 0, 0, 593, 0, 594, 0, 595, 0, 596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 598, 0, 599, 0, 0, 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 602, 0, 603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 605, 0, 0, 606, 607, 0, 0, 608, 0, 609, 0, 610, 0, 611, 0, 0, 612, 0, 0, 0, 0, 0, 613, 0, 614, 0, 615, 0, 0, 616, 0, 617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 618, 0, 0, 0, 0, 0, 0, 619, 620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 621, 0, 0, 0, 0, 0, 0, 622, 623, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 625, 0, 0, 0, 0, 0, 0, 626, 0, 627, 0, 0, 628, 0, 629, 0, 630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, 633, 0, 634, 0, 0, 0, 0, 0, 635, 0, 636, 0, 0, 0, 0, 0, 0, 637, 0, 638, 0, 0, 0, 0, 0, 639, 640, 0, 0, 0, 641, 0, 642, 0, 643, 0, 644, 0, 645, 0, 0, 646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, 648, 649, 0, 0, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 651, 0, 0, 0, 0, 0, 0, 652, 0, 653, 0, 654, 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, 655, 0, 0, 0, 0, 0, 0, 656, 0, 657, 0, 0, 0, 0, 0, 0, 658, 659, 0, 0, 0, 660, 0, 661, 0, 0, 0, 662, 663, }; void recomp_unit_0123_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 - 0x089F0000u; entry_id = (entry_delta < 16380u && (entry_delta & 3u) == 0u) ? kEntryIds_recomp_unit_0123[entry_delta >> 2u] : 0u; } switch (entry_id) { case 1u: goto L_089F0000; case 2u: goto L_089F0124; case 3u: goto L_089F0160; case 4u: goto L_089F02D0; case 5u: goto L_089F0304; case 6u: goto L_089F0310; case 7u: goto L_089F0358; case 8u: goto L_089F0364; case 9u: goto L_089F03B4; case 10u: goto L_089F0530; case 11u: goto L_089F0548; case 12u: goto L_089F0550; case 13u: goto L_089F0558; case 14u: goto L_089F0574; case 15u: goto L_089F057C; case 16u: goto L_089F0584; case 17u: goto L_089F05BC; case 18u: goto L_089F05C4; case 19u: goto L_089F05C8; case 20u: goto L_089F0600; case 21u: goto L_089F0608; case 22u: goto L_089F0628; case 23u: goto L_089F0644; case 24u: goto L_089F0654; case 25u: goto L_089F0658; case 26u: goto L_089F0674; case 27u: goto L_089F0690; case 28u: goto L_089F06A8; case 29u: goto L_089F06B0; case 30u: goto L_089F06CC; case 31u: goto L_089F06D4; case 32u: goto L_089F06DC; case 33u: goto L_089F06E4; case 34u: goto L_089F06F8; case 35u: goto L_089F0710; case 36u: goto L_089F0718; case 37u: goto L_089F07E0; case 38u: goto L_089F07EC; case 39u: goto L_089F07F4; case 40u: goto L_089F07FC; case 41u: goto L_089F0808; case 42u: goto L_089F0820; case 43u: goto L_089F0830; case 44u: goto L_089F0848; case 45u: goto L_089F085C; case 46u: goto L_089F0868; case 47u: goto L_089F0870; case 48u: goto L_089F0878; case 49u: goto L_089F0890; case 50u: goto L_089F08A4; case 51u: goto L_089F08B0; case 52u: goto L_089F08B8; case 53u: goto L_089F08C0; case 54u: goto L_089F0914; case 55u: goto L_089F0920; case 56u: goto L_089F0928; case 57u: goto L_089F093C; case 58u: goto L_089F0960; case 59u: goto L_089F0968; case 60u: goto L_089F0984; case 61u: goto L_089F098C; case 62u: goto L_089F09E4; case 63u: goto L_089F09EC; case 64u: goto L_089F09F4; case 65u: goto L_089F0A10; case 66u: goto L_089F0A18; case 67u: goto L_089F0A28; case 68u: goto L_089F0A30; case 69u: goto L_089F0A4C; case 70u: goto L_089F0A54; case 71u: goto L_089F0A5C; case 72u: goto L_089F0A9C; case 73u: goto L_089F0AA8; case 74u: goto L_089F0AAC; case 75u: goto L_089F0ABC; case 76u: goto L_089F0AC4; case 77u: goto L_089F0ACC; case 78u: goto L_089F0AE8; case 79u: goto L_089F0AF0; case 80u: goto L_089F0AF8; case 81u: goto L_089F0B50; case 82u: goto L_089F0B5C; case 83u: goto L_089F0B64; case 84u: goto L_089F0B80; case 85u: goto L_089F0B88; case 86u: goto L_089F0BD0; case 87u: goto L_089F0BDC; case 88u: goto L_089F0C0C; case 89u: goto L_089F0C24; case 90u: goto L_089F0C38; case 91u: goto L_089F0C48; case 92u: goto L_089F0C50; case 93u: goto L_089F0C60; case 94u: goto L_089F0C70; case 95u: goto L_089F0C78; case 96u: goto L_089F0C80; case 97u: goto L_089F0C88; case 98u: goto L_089F0C98; case 99u: goto L_089F0CAC; case 100u: goto L_089F0CBC; case 101u: goto L_089F0CE4; case 102u: goto L_089F0CF8; case 103u: goto L_089F0D04; case 104u: goto L_089F0D0C; case 105u: goto L_089F0D18; case 106u: goto L_089F0D30; case 107u: goto L_089F0D44; case 108u: goto L_089F0D5C; case 109u: goto L_089F0D64; case 110u: goto L_089F0D74; case 111u: goto L_089F0D78; case 112u: goto L_089F0D88; case 113u: goto L_089F0D94; case 114u: goto L_089F0DA8; case 115u: goto L_089F0DCC; case 116u: goto L_089F0DDC; case 117u: goto L_089F0DE4; case 118u: goto L_089F0DF4; case 119u: goto L_089F0E00; case 120u: goto L_089F0E08; case 121u: goto L_089F0E10; case 122u: goto L_089F0E18; case 123u: goto L_089F0E1C; case 124u: goto L_089F0E24; case 125u: goto L_089F0E38; case 126u: goto L_089F0E44; case 127u: goto L_089F0E6C; case 128u: goto L_089F0E7C; case 129u: goto L_089F0E8C; case 130u: goto L_089F0E9C; case 131u: goto L_089F0EB8; case 132u: goto L_089F0EC8; case 133u: goto L_089F0ED8; case 134u: goto L_089F0EEC; case 135u: goto L_089F0EF4; case 136u: goto L_089F0EFC; case 137u: goto L_089F0F04; case 138u: goto L_089F0F0C; case 139u: goto L_089F0F14; case 140u: goto L_089F0F1C; case 141u: goto L_089F0F34; case 142u: goto L_089F0F48; case 143u: goto L_089F0F58; case 144u: goto L_089F0F60; case 145u: goto L_089F0F78; case 146u: goto L_089F0F8C; case 147u: goto L_089F0F9C; case 148u: goto L_089F0FA4; case 149u: goto L_089F0FBC; case 150u: goto L_089F0FD0; case 151u: goto L_089F0FE0; case 152u: goto L_089F0FE8; case 153u: goto L_089F1000; case 154u: goto L_089F1014; case 155u: goto L_089F1024; case 156u: goto L_089F102C; case 157u: goto L_089F1034; case 158u: goto L_089F1050; case 159u: goto L_089F1058; case 160u: goto L_089F1068; case 161u: goto L_089F1090; case 162u: goto L_089F1098; case 163u: goto L_089F10A0; case 164u: goto L_089F10B0; case 165u: goto L_089F10F4; case 166u: goto L_089F10FC; case 167u: goto L_089F1134; case 168u: goto L_089F1148; case 169u: goto L_089F1158; case 170u: goto L_089F1184; case 171u: goto L_089F1198; case 172u: goto L_089F11A4; case 173u: goto L_089F11B4; case 174u: goto L_089F11EC; case 175u: goto L_089F11FC; case 176u: goto L_089F1208; case 177u: goto L_089F1210; case 178u: goto L_089F121C; case 179u: goto L_089F1224; case 180u: goto L_089F122C; case 181u: goto L_089F1234; case 182u: goto L_089F1240; case 183u: goto L_089F1248; case 184u: goto L_089F128C; case 185u: goto L_089F12B4; case 186u: goto L_089F12BC; case 187u: goto L_089F12CC; case 188u: goto L_089F12D4; case 189u: goto L_089F12DC; case 190u: goto L_089F12E4; case 191u: goto L_089F12EC; case 192u: goto L_089F12FC; case 193u: goto L_089F1304; case 194u: goto L_089F130C; case 195u: goto L_089F1314; case 196u: goto L_089F131C; case 197u: goto L_089F1338; case 198u: goto L_089F1340; case 199u: goto L_089F134C; case 200u: goto L_089F138C; case 201u: goto L_089F1394; case 202u: goto L_089F13C4; case 203u: goto L_089F13F4; case 204u: goto L_089F1424; case 205u: goto L_089F142C; case 206u: goto L_089F1434; case 207u: goto L_089F1444; case 208u: goto L_089F1454; case 209u: goto L_089F1464; case 210u: goto L_089F1474; case 211u: goto L_089F1484; case 212u: goto L_089F149C; case 213u: goto L_089F14B8; case 214u: goto L_089F14C0; case 215u: goto L_089F14EC; case 216u: goto L_089F14F4; case 217u: goto L_089F1504; case 218u: goto L_089F1510; case 219u: goto L_089F1520; case 220u: goto L_089F1538; case 221u: goto L_089F1540; case 222u: goto L_089F1548; case 223u: goto L_089F1550; case 224u: goto L_089F1560; case 225u: goto L_089F1570; case 226u: goto L_089F15A4; case 227u: goto L_089F15B8; case 228u: goto L_089F15C8; case 229u: goto L_089F15D0; case 230u: goto L_089F15D8; case 231u: goto L_089F15E0; case 232u: goto L_089F15FC; case 233u: goto L_089F1600; case 234u: goto L_089F1614; case 235u: goto L_089F1624; case 236u: goto L_089F1628; case 237u: goto L_089F1630; case 238u: goto L_089F1644; case 239u: goto L_089F165C; case 240u: goto L_089F1660; case 241u: goto L_089F166C; case 242u: goto L_089F16A8; case 243u: goto L_089F16B0; case 244u: goto L_089F16B4; case 245u: goto L_089F16CC; case 246u: goto L_089F16D4; case 247u: goto L_089F16E4; case 248u: goto L_089F16EC; case 249u: goto L_089F1708; case 250u: goto L_089F170C; case 251u: goto L_089F1720; case 252u: goto L_089F1730; case 253u: goto L_089F1734; case 254u: goto L_089F173C; case 255u: goto L_089F1750; case 256u: goto L_089F1768; case 257u: goto L_089F176C; case 258u: goto L_089F1778; case 259u: goto L_089F17B4; case 260u: goto L_089F17BC; case 261u: goto L_089F17C0; case 262u: goto L_089F17D0; case 263u: goto L_089F17D4; case 264u: goto L_089F17D8; case 265u: goto L_089F1808; case 266u: goto L_089F1810; case 267u: goto L_089F1818; case 268u: goto L_089F1820; case 269u: goto L_089F1828; case 270u: goto L_089F1830; case 271u: goto L_089F184C; case 272u: goto L_089F1854; case 273u: goto L_089F1868; case 274u: goto L_089F187C; case 275u: goto L_089F1888; case 276u: goto L_089F1898; case 277u: goto L_089F18B4; case 278u: goto L_089F18CC; case 279u: goto L_089F18D4; case 280u: goto L_089F18DC; case 281u: goto L_089F1924; case 282u: goto L_089F192C; case 283u: goto L_089F1934; case 284u: goto L_089F1944; case 285u: goto L_089F194C; case 286u: goto L_089F1954; case 287u: goto L_089F1960; case 288u: goto L_089F1968; case 289u: goto L_089F1970; case 290u: goto L_089F1978; case 291u: goto L_089F1990; case 292u: goto L_089F1998; case 293u: goto L_089F19A8; case 294u: goto L_089F19D8; case 295u: goto L_089F19E0; case 296u: goto L_089F19F8; case 297u: goto L_089F1A08; case 298u: goto L_089F1A14; case 299u: goto L_089F1A20; case 300u: goto L_089F1A28; case 301u: goto L_089F1A2C; case 302u: goto L_089F1A30; case 303u: goto L_089F1A60; case 304u: goto L_089F1A68; case 305u: goto L_089F1A70; case 306u: goto L_089F1A78; case 307u: goto L_089F1A80; case 308u: goto L_089F1A88; case 309u: goto L_089F1A90; case 310u: goto L_089F1AAC; case 311u: goto L_089F1AB4; case 312u: goto L_089F1AC4; case 313u: goto L_089F1AE0; case 314u: goto L_089F1AF4; case 315u: goto L_089F1B38; case 316u: goto L_089F1B68; case 317u: goto L_089F1B74; case 318u: goto L_089F1B7C; case 319u: goto L_089F1B84; case 320u: goto L_089F1BA0; case 321u: goto L_089F1BA8; case 322u: goto L_089F1BBC; case 323u: goto L_089F1BC8; case 324u: goto L_089F1BE8; case 325u: goto L_089F1C00; case 326u: goto L_089F1C08; case 327u: goto L_089F1C10; case 328u: goto L_089F1C54; case 329u: goto L_089F1C6C; case 330u: goto L_089F1C74; case 331u: goto L_089F1C7C; case 332u: goto L_089F1C84; case 333u: goto L_089F1CA0; case 334u: goto L_089F1CA8; case 335u: goto L_089F1CCC; case 336u: goto L_089F1D08; case 337u: goto L_089F1D30; case 338u: goto L_089F1D48; case 339u: goto L_089F1D5C; case 340u: goto L_089F1D64; case 341u: goto L_089F1D6C; case 342u: goto L_089F1DA8; case 343u: goto L_089F1DB0; case 344u: goto L_089F1DC4; case 345u: goto L_089F1DE0; case 346u: goto L_089F1DEC; case 347u: goto L_089F1EB0; case 348u: goto L_089F1EEC; case 349u: goto L_089F20D4; case 350u: goto L_089F20EC; case 351u: goto L_089F2118; case 352u: goto L_089F2148; case 353u: goto L_089F2198; case 354u: goto L_089F21A0; case 355u: goto L_089F21F8; case 356u: goto L_089F2200; case 357u: goto L_089F2218; case 358u: goto L_089F221C; case 359u: goto L_089F2240; case 360u: goto L_089F2260; case 361u: goto L_089F2284; case 362u: goto L_089F2294; case 363u: goto L_089F22B0; case 364u: goto L_089F22B8; case 365u: goto L_089F22D4; case 366u: goto L_089F22E8; case 367u: goto L_089F2300; case 368u: goto L_089F2310; case 369u: goto L_089F2320; case 370u: goto L_089F2360; case 371u: goto L_089F2394; case 372u: goto L_089F23C0; case 373u: goto L_089F23F4; case 374u: goto L_089F2428; case 375u: goto L_089F243C; case 376u: goto L_089F2450; case 377u: goto L_089F2468; case 378u: goto L_089F2474; case 379u: goto L_089F247C; case 380u: goto L_089F249C; case 381u: goto L_089F24DC; case 382u: goto L_089F2568; case 383u: goto L_089F25B0; case 384u: goto L_089F25C8; case 385u: goto L_089F25E0; case 386u: goto L_089F2610; case 387u: goto L_089F2628; case 388u: goto L_089F2640; case 389u: goto L_089F2658; case 390u: goto L_089F2674; case 391u: goto L_089F268C; case 392u: goto L_089F26E8; case 393u: goto L_089F2708; case 394u: goto L_089F272C; case 395u: goto L_089F2760; case 396u: goto L_089F2770; case 397u: goto L_089F278C; case 398u: goto L_089F27A8; case 399u: goto L_089F27BC; case 400u: goto L_089F27CC; case 401u: goto L_089F27DC; case 402u: goto L_089F27EC; case 403u: goto L_089F27F8; case 404u: goto L_089F2808; case 405u: goto L_089F2820; case 406u: goto L_089F2838; case 407u: goto L_089F284C; case 408u: goto L_089F2854; case 409u: goto L_089F2864; case 410u: goto L_089F286C; case 411u: goto L_089F2888; case 412u: goto L_089F289C; case 413u: goto L_089F28AC; case 414u: goto L_089F28B4; case 415u: goto L_089F28C4; case 416u: goto L_089F28CC; case 417u: goto L_089F28DC; case 418u: goto L_089F28F8; case 419u: goto L_089F2908; case 420u: goto L_089F2910; case 421u: goto L_089F2920; case 422u: goto L_089F2928; case 423u: goto L_089F2938; case 424u: goto L_089F2948; case 425u: goto L_089F2954; case 426u: goto L_089F2974; case 427u: goto L_089F297C; case 428u: goto L_089F2988; case 429u: goto L_089F29A0; case 430u: goto L_089F29C0; case 431u: goto L_089F29D0; case 432u: goto L_089F29EC; case 433u: goto L_089F29F8; case 434u: goto L_089F2A08; case 435u: goto L_089F2A28; case 436u: goto L_089F2A30; case 437u: goto L_089F2A38; case 438u: goto L_089F2A40; case 439u: goto L_089F2A54; case 440u: goto L_089F2A5C; case 441u: goto L_089F2A64; case 442u: goto L_089F2A80; case 443u: goto L_089F2A90; case 444u: goto L_089F2AA4; case 445u: goto L_089F2AB0; case 446u: goto L_089F2AC4; case 447u: goto L_089F2AD0; case 448u: goto L_089F2AF4; case 449u: goto L_089F2B1C; case 450u: goto L_089F2B44; case 451u: goto L_089F2B6C; case 452u: goto L_089F2B78; case 453u: goto L_089F2B84; case 454u: goto L_089F2B94; case 455u: goto L_089F2BA0; case 456u: goto L_089F2BB0; case 457u: goto L_089F2BBC; case 458u: goto L_089F2BD8; case 459u: goto L_089F2BF8; case 460u: goto L_089F2C1C; case 461u: goto L_089F2C2C; case 462u: goto L_089F2C34; case 463u: goto L_089F2C7C; case 464u: goto L_089F2CEC; case 465u: goto L_089F2D08; case 466u: goto L_089F2D14; case 467u: goto L_089F2D58; case 468u: goto L_089F2DD0; case 469u: goto L_089F2DEC; case 470u: goto L_089F2DF4; case 471u: goto L_089F2E00; case 472u: goto L_089F2E2C; case 473u: goto L_089F2E50; case 474u: goto L_089F2E64; case 475u: goto L_089F2E78; case 476u: goto L_089F2E8C; case 477u: goto L_089F2EB8; case 478u: goto L_089F2EDC; case 479u: goto L_089F2EE0; case 480u: goto L_089F2EF0; case 481u: goto L_089F2F00; case 482u: goto L_089F2F08; case 483u: goto L_089F2F10; case 484u: goto L_089F2F24; case 485u: goto L_089F2F40; case 486u: goto L_089F2F5C; case 487u: goto L_089F2F74; case 488u: goto L_089F2F98; case 489u: goto L_089F2FA0; case 490u: goto L_089F2FB8; case 491u: goto L_089F2FC4; case 492u: goto L_089F2FE4; case 493u: goto L_089F2FFC; case 494u: goto L_089F3018; case 495u: goto L_089F302C; case 496u: goto L_089F3060; case 497u: goto L_089F31E4; case 498u: goto L_089F31F0; case 499u: goto L_089F31F8; case 500u: goto L_089F3200; case 501u: goto L_089F320C; case 502u: goto L_089F3214; case 503u: goto L_089F321C; case 504u: goto L_089F3224; case 505u: goto L_089F3230; case 506u: goto L_089F323C; case 507u: goto L_089F3244; case 508u: goto L_089F3248; case 509u: goto L_089F3264; case 510u: goto L_089F3274; case 511u: goto L_089F328C; case 512u: goto L_089F32A4; case 513u: goto L_089F32AC; case 514u: goto L_089F32B4; case 515u: goto L_089F32BC; case 516u: goto L_089F32CC; case 517u: goto L_089F32DC; case 518u: goto L_089F32F8; case 519u: goto L_089F3310; case 520u: goto L_089F3318; case 521u: goto L_089F3320; case 522u: goto L_089F3328; case 523u: goto L_089F3338; case 524u: goto L_089F3348; case 525u: goto L_089F3358; case 526u: goto L_089F3364; case 527u: goto L_089F3368; case 528u: goto L_089F3384; case 529u: goto L_089F3394; case 530u: goto L_089F33AC; case 531u: goto L_089F33C4; case 532u: goto L_089F33CC; case 533u: goto L_089F33D4; case 534u: goto L_089F33DC; case 535u: goto L_089F33EC; case 536u: goto L_089F33FC; case 537u: goto L_089F3418; case 538u: goto L_089F3430; case 539u: goto L_089F3438; case 540u: goto L_089F3440; case 541u: goto L_089F3448; case 542u: goto L_089F3458; case 543u: goto L_089F3468; case 544u: goto L_089F3478; case 545u: goto L_089F3484; case 546u: goto L_089F3494; case 547u: goto L_089F34A4; case 548u: goto L_089F34B4; case 549u: goto L_089F34C8; case 550u: goto L_089F34CC; case 551u: goto L_089F34E4; case 552u: goto L_089F3500; case 553u: goto L_089F35A0; case 554u: goto L_089F35F8; case 555u: goto L_089F3628; case 556u: goto L_089F3658; case 557u: goto L_089F3688; case 558u: goto L_089F3698; case 559u: goto L_089F369C; case 560u: goto L_089F36BC; case 561u: goto L_089F36CC; case 562u: goto L_089F36D4; case 563u: goto L_089F36E0; case 564u: goto L_089F36F4; case 565u: goto L_089F3704; case 566u: goto L_089F3718; case 567u: goto L_089F372C; case 568u: goto L_089F373C; case 569u: goto L_089F37A4; case 570u: goto L_089F37CC; case 571u: goto L_089F37F4; case 572u: goto L_089F381C; case 573u: goto L_089F3840; case 574u: goto L_089F3864; case 575u: goto L_089F3878; case 576u: goto L_089F3888; case 577u: goto L_089F389C; case 578u: goto L_089F38A0; case 579u: goto L_089F38B4; case 580u: goto L_089F38B8; case 581u: goto L_089F38C0; case 582u: goto L_089F38CC; case 583u: goto L_089F38E0; case 584u: goto L_089F38F8; case 585u: goto L_089F3910; case 586u: goto L_089F3918; case 587u: goto L_089F3934; case 588u: goto L_089F3950; case 589u: goto L_089F3968; case 590u: goto L_089F3970; case 591u: goto L_089F3988; case 592u: goto L_089F39A4; case 593u: goto L_089F39B4; case 594u: goto L_089F39BC; case 595u: goto L_089F39C4; case 596u: goto L_089F39CC; case 597u: goto L_089F3A14; case 598u: goto L_089F3A74; case 599u: goto L_089F3A7C; case 600u: goto L_089F3A88; case 601u: goto L_089F3AE0; case 602u: goto L_089F3B14; case 603u: goto L_089F3B1C; case 604u: goto L_089F3B5C; case 605u: goto L_089F3B60; case 606u: goto L_089F3B6C; case 607u: goto L_089F3B70; case 608u: goto L_089F3B7C; case 609u: goto L_089F3B84; case 610u: goto L_089F3B8C; case 611u: goto L_089F3B94; case 612u: goto L_089F3BA0; case 613u: goto L_089F3BB8; case 614u: goto L_089F3BC0; case 615u: goto L_089F3BC8; case 616u: goto L_089F3BD4; case 617u: goto L_089F3BDC; case 618u: goto L_089F3C08; case 619u: goto L_089F3C24; case 620u: goto L_089F3C28; case 621u: goto L_089F3C50; case 622u: goto L_089F3C6C; case 623u: goto L_089F3C70; case 624u: goto L_089F3C7C; case 625u: goto L_089F3CA8; case 626u: goto L_089F3CC4; case 627u: goto L_089F3CCC; case 628u: goto L_089F3CD8; case 629u: goto L_089F3CE0; case 630u: goto L_089F3CE8; case 631u: goto L_089F3D3C; case 632u: goto L_089F3D8C; case 633u: goto L_089F3DA8; case 634u: goto L_089F3DB0; case 635u: goto L_089F3DC8; case 636u: goto L_089F3DD0; case 637u: goto L_089F3DEC; case 638u: goto L_089F3DF4; case 639u: goto L_089F3E0C; case 640u: goto L_089F3E10; case 641u: goto L_089F3E20; case 642u: goto L_089F3E28; case 643u: goto L_089F3E30; case 644u: goto L_089F3E38; case 645u: goto L_089F3E40; case 646u: goto L_089F3E4C; case 647u: goto L_089F3E78; case 648u: goto L_089F3E94; case 649u: goto L_089F3E98; case 650u: goto L_089F3EA4; case 651u: goto L_089F3ED0; case 652u: goto L_089F3EEC; case 653u: goto L_089F3EF4; case 654u: goto L_089F3EFC; case 655u: goto L_089F3F88; case 656u: goto L_089F3FA4; case 657u: goto L_089F3FAC; case 658u: goto L_089F3FC8; case 659u: goto L_089F3FCC; case 660u: goto L_089F3FDC; case 661u: goto L_089F3FE4; case 662u: goto L_089F3FF4; case 663u: goto L_089F3FF8; default: if (local_transfers == 0u) rt.unsupported(ctx.pc, 0u, "invalid internal function entry"); else ctx.pc = local_pc; return; } } L_089F0000: ctx.gpr[4] = (ctx.gpr[29] + 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<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 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] = 1.0f / std::sqrt(vfpu_s[i]); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 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[29] + static_cast(112))); aot_mem.aot_store32(ctx.gpr[22] + static_cast(16), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(116))); aot_mem.aot_store32(ctx.gpr[22] + static_cast(20), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(120))); aot_mem.aot_store32(ctx.gpr[22] + static_cast(24), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(100))); aot_mem.aot_store32(ctx.gpr[22] + static_cast(0), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(96))); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); aot_mem.aot_store32(ctx.gpr[22] + static_cast(4), std::bit_cast(ctx.fpr[12])); ctx.fpr[28] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[22] + static_cast(8), std::bit_cast(ctx.fpr[28])); aot_mem.aot_store32(ctx.gpr[22] + static_cast(32), std::bit_cast(ctx.fpr[28])); aot_mem.aot_store32(ctx.gpr[22] + static_cast(36), std::bit_cast(ctx.fpr[28])); ctx.gpr[4] = (16256u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[22] + static_cast(40), std::bit_cast(ctx.fpr[12])); ctx.gpr[17] = (2228u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-26868))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(372))); ctx.gpr[6] = (ctx.gpr[5] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[6] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(6)))))); ctx.fpr[12] = std::bit_cast(ctx.gpr[7]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[7] = (15395u << 16u); ctx.gpr[7] = (ctx.gpr[7] | 55050u); ctx.fpr[30] = std::bit_cast(ctx.gpr[7]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[22] + static_cast(393)))))); ctx.fpr[13] = std::bit_cast(ctx.gpr[7]); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); { 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[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(7)))))); ctx.fpr[14] = std::bit_cast(ctx.gpr[6]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[30]; 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[12]; 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; } ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(376))); ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[6] = (ctx.gpr[4] + ctx.gpr[6]); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(6)))))); ctx.fpr[12] = std::bit_cast(ctx.gpr[7]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[22] + static_cast(394)))))); ctx.fpr[13] = std::bit_cast(ctx.gpr[7]); ctx.fpr[26] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); { const float fs = ctx.fpr[24]; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(7)))))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(1092), std::bit_cast(ctx.fpr[24])); ctx.fpr[14] = std::bit_cast(ctx.gpr[6]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[30]; 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(1088), std::bit_cast(ctx.fpr[30])); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } ctx.gpr[31] = (0x089F0124u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); if (rt.invoke_chained_direct<&recomp_unit_0092_entry, 92u, 353u, 0x08975558u>(ctx, &aot_mem) && ctx.pc == 0x089F0124u) goto L_089F0124; return; L_089F0124: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[22] + static_cast(395)))))); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); ctx.fpr[13] = ctx.fpr[13] + ctx.fpr[0]; ctx.gpr[4] = (16544u << 16u); ctx.fpr[30] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-26868))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(376))); ctx.gpr[6] = (ctx.gpr[5] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[31] = (0x089F0160u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); if (rt.invoke_chained_direct<&recomp_unit_0092_entry, 92u, 353u, 0x08975558u>(ctx, &aot_mem) && ctx.pc == 0x089F0160u) goto L_089F0160; return; L_089F0160: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[22] + static_cast(396)))))); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[0]; { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[30]; 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[6] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-26868))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(4))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(372))); ctx.gpr[7] = (ctx.gpr[5] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[7]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); ctx.gpr[5] = (15872u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[14]; 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; } { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[24]; 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.fpr[13] = ctx.fpr[13] + ctx.fpr[15]; ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(2)))))); ctx.fpr[16] = std::bit_cast(ctx.gpr[4]); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } ctx.fpr[16] = ctx.fpr[16] - ctx.fpr[17]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(544), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(548), std::bit_cast(ctx.fpr[16])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(552), std::bit_cast(ctx.fpr[28])); ctx.gpr[4] = (ctx.gpr[29] + static_cast(544)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(376))); ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); ctx.gpr[7] = (ctx.gpr[7] << 2u); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[7]); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(0)))))); ctx.fpr[13] = std::bit_cast(ctx.gpr[7]); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[14]; 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; } { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[12]; 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.fpr[13] = ctx.fpr[13] + ctx.fpr[15]; ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(2)))))); ctx.fpr[16] = std::bit_cast(ctx.gpr[5]); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[14]; 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[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(1092))); { const float fs = ctx.fpr[24]; 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[14] - ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(560), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(564), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(568), std::bit_cast(ctx.fpr[28])); ctx.gpr[5] = (ctx.gpr[29] + static_cast(560)); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(372))); ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); ctx.gpr[7] = (ctx.gpr[7] << 2u); ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[7]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[7] + static_cast(6)))))); ctx.fpr[12] = std::bit_cast(ctx.gpr[8]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(1088))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[15]; 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[8] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[22] + static_cast(393)))))); ctx.fpr[13] = std::bit_cast(ctx.gpr[8]); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); { 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[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[7] + static_cast(7)))))); ctx.fpr[14] = std::bit_cast(ctx.gpr[7]); ctx.fpr[14] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); { 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; } { 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.gpr[7] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(376))); ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); ctx.gpr[7] = (ctx.gpr[7] << 2u); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(6)))))); ctx.fpr[14] = std::bit_cast(ctx.gpr[7]); ctx.fpr[14] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); { 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.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[22] + static_cast(394)))))); ctx.fpr[16] = std::bit_cast(ctx.gpr[7]); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[16]; 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] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(7)))))); ctx.fpr[17] = std::bit_cast(ctx.gpr[6]); ctx.fpr[17] = static_cast(static_cast(std::bit_cast(ctx.fpr[17]))); { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[15]; 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[31] = (0x089F02D0u); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[16]; 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; } if (rt.invoke_chained_direct<&recomp_unit_0070_entry, 70u, 154u, 0x0891CB50u>(ctx, &aot_mem) && ctx.pc == 0x089F02D0u) goto L_089F02D0; return; L_089F02D0: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[22] + static_cast(404))); ctx.gpr[4] = (17530u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[13] / ctx.fpr[12]; { 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] = 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_store32(ctx.gpr[22] + static_cast(368), ctx.gpr[4]); ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8148))); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { const bool branch_taken = static_cast(ctx.gpr[4]) >= 0; ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); if (branch_taken) { goto L_089F0310; } goto L_089F0304; } L_089F0304: ctx.gpr[4] = (20352u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; goto L_089F0310; L_089F0310: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(368))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (16128u << 16u); ctx.fpr[14] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); ctx.fpr[15] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = ctx.fpr[13] + ctx.fpr[15]; ctx.gpr[4] = (2230u << 16u); { 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[12] = ctx.fpr[12] - ctx.fpr[13]; ctx.fpr[12] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[12])); ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[22] + static_cast(364), ctx.gpr[5]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[4] - ctx.gpr[5]); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { const bool branch_taken = static_cast(ctx.gpr[4]) >= 0; ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); if (branch_taken) { goto L_089F0364; } goto L_089F0358; } L_089F0358: ctx.gpr[4] = (20352u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; goto L_089F0364; L_089F0364: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(368))); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[13]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(576), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(580), std::bit_cast(ctx.fpr[22])); ctx.fpr[14] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(584), std::bit_cast(ctx.fpr[14])); ctx.gpr[6] = (ctx.gpr[29] + static_cast(576)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(592), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(596), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(600), std::bit_cast(ctx.fpr[14])); ctx.gpr[7] = (ctx.gpr[29] + static_cast(592)); ctx.gpr[4] = (ctx.gpr[29] + static_cast(544)); ctx.gpr[5] = (ctx.gpr[29] + static_cast(560)); ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(368))); ctx.gpr[17] = (ctx.gpr[29] + static_cast(80)); ctx.gpr[10] = (ctx.gpr[29] + static_cast(160)); ctx.gpr[31] = (0x089F03B4u); ctx.gpr[9] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0070_entry, 70u, 159u, 0x0891CC18u>(ctx, &aot_mem) && ctx.pc == 0x089F03B4u) goto L_089F03B4; return; L_089F03B4: ctx.gpr[4] = (16384u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (2228u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-26868))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); ctx.gpr[7] = (ctx.gpr[6] << 4u); ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); ctx.set_vfpu_scalar_bits_ct<0u>(aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.set_vfpu_scalar_bits_ct<32u>(aot_mem.aot_load32(ctx.gpr[5] + static_cast(8))); ctx.execute_vfpu_vx2i(1u, 0u, 2u, 3u); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_ct<1u, 3u>(vfpu_s); ctx.apply_vfpu_source_prefix_ct<3u, 0u>(vfpu_s); const float vfpu_scale = std::ldexp(1.0f, -static_cast(19u)); for (std::uint32_t vfpu_i = 0; vfpu_i < 3u; ++vfpu_i) { const auto vfpu_integer = static_cast(std::bit_cast(vfpu_s[vfpu_i])); vfpu_d[vfpu_i] = static_cast(vfpu_integer) * vfpu_scale; } ctx.write_vfpu_vector_with_destination_prefix_ct<2u, 3u>(vfpu_d); } ctx.gpr[5] = (ctx.gpr[29] + static_cast(480)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 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[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-26868))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(72))); ctx.gpr[8] = (ctx.gpr[7] << 4u); ctx.gpr[7] = (ctx.gpr[7] << 2u); ctx.gpr[7] = (ctx.gpr[8] + ctx.gpr[7]); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); ctx.set_vfpu_scalar_bits_ct<0u>(aot_mem.aot_load32(ctx.gpr[6] + static_cast(4))); ctx.set_vfpu_scalar_bits_ct<32u>(aot_mem.aot_load32(ctx.gpr[6] + static_cast(8))); ctx.execute_vfpu_vx2i(1u, 0u, 2u, 3u); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_ct<1u, 3u>(vfpu_s); ctx.apply_vfpu_source_prefix_ct<3u, 0u>(vfpu_s); const float vfpu_scale = std::ldexp(1.0f, -static_cast(19u)); for (std::uint32_t vfpu_i = 0; vfpu_i < 3u; ++vfpu_i) { const auto vfpu_integer = static_cast(std::bit_cast(vfpu_s[vfpu_i])); vfpu_d[vfpu_i] = static_cast(vfpu_integer) * vfpu_scale; } ctx.write_vfpu_vector_with_destination_prefix_ct<2u, 3u>(vfpu_d); } ctx.gpr[6] = (ctx.gpr[29] + static_cast(464)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[6] + 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[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); } { const std::uint32_t vfpu_address = ctx.gpr[6] + 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[6] = (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[6] + 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[6] + 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(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.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[8] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[13] = std::bit_cast(ctx.gpr[8]); ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[13]; ctx.gpr[8] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[8]); { 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_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[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[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<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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[6] + 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[6] + 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(128)); { 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])); } ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-26868))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[7] + static_cast(0))); ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); ctx.gpr[9] = (ctx.gpr[8] << 4u); ctx.gpr[8] = (ctx.gpr[8] << 2u); ctx.gpr[8] = (ctx.gpr[9] + ctx.gpr[8]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); ctx.set_vfpu_scalar_bits_ct<0u>(aot_mem.aot_load32(ctx.gpr[7] + static_cast(4))); ctx.set_vfpu_scalar_bits_ct<32u>(aot_mem.aot_load32(ctx.gpr[7] + static_cast(8))); ctx.execute_vfpu_vx2i(1u, 0u, 2u, 3u); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_ct<1u, 3u>(vfpu_s); ctx.apply_vfpu_source_prefix_ct<3u, 0u>(vfpu_s); const float vfpu_scale = std::ldexp(1.0f, -static_cast(19u)); for (std::uint32_t vfpu_i = 0; vfpu_i < 3u; ++vfpu_i) { const auto vfpu_integer = static_cast(std::bit_cast(vfpu_s[vfpu_i])); vfpu_d[vfpu_i] = static_cast(vfpu_integer) * vfpu_scale; } ctx.write_vfpu_vector_with_destination_prefix_ct<2u, 3u>(vfpu_d); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[6] + 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[29] + static_cast(504))); ctx.gpr[6] = (16256u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[6]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[14]; { 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] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-26868))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(72))); ctx.gpr[7] = (ctx.gpr[6] << 4u); ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[6]); ctx.set_vfpu_scalar_bits_ct<0u>(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.set_vfpu_scalar_bits_ct<32u>(aot_mem.aot_load32(ctx.gpr[4] + static_cast(8))); ctx.execute_vfpu_vx2i(1u, 0u, 2u, 3u); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_ct<1u, 3u>(vfpu_s); ctx.apply_vfpu_source_prefix_ct<3u, 0u>(vfpu_s); const float vfpu_scale = std::ldexp(1.0f, -static_cast(19u)); for (std::uint32_t vfpu_i = 0; vfpu_i < 3u; ++vfpu_i) { const auto vfpu_integer = static_cast(std::bit_cast(vfpu_s[vfpu_i])); vfpu_d[vfpu_i] = static_cast(vfpu_integer) * vfpu_scale; } ctx.write_vfpu_vector_with_destination_prefix_ct<2u, 3u>(vfpu_d); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 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.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(488))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[14]; 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]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (20078u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 27432u); ctx.fpr[20] = std::bit_cast(ctx.gpr[4]); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { goto L_089F0584; } goto L_089F0530; } L_089F0530: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(128))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(132))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(136))); ctx.gpr[4] = (ctx.gpr[29] + static_cast(620)); ctx.gpr[31] = (0x089F0548u); ctx.gpr[5] = (0u | 1u); if (rt.invoke_chained_direct<&recomp_unit_0066_entry, 66u, 292u, 0x0890DE48u>(ctx, &aot_mem) && ctx.pc == 0x089F0548u) goto L_089F0548; return; L_089F0548: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_089F057C; } goto L_089F0550; } L_089F0550: { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_089F0574; } goto L_089F0558; } L_089F0558: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(92))); ctx.gpr[5] = (0u | 3u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(24)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x089F0574u); ctx.gpr[4] = (ctx.gpr[22] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F0574u) goto L_089F0574; return; L_089F0574: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1248; } goto L_089F057C; } L_089F057C: { const bool branch_taken = 0u == 0u; ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(620))); if (branch_taken) { goto L_089F0658; } goto L_089F0584; } L_089F0584: aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); ctx.gpr[2] = (17530u << 16u); ctx.gpr[4] = (ctx.gpr[29] + static_cast(128)); ctx.fpr[12] = std::bit_cast(ctx.gpr[2]); ctx.gpr[5] = (ctx.gpr[29] + static_cast(224)); ctx.gpr[6] = (ctx.gpr[29] + static_cast(256)); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); ctx.gpr[31] = (0x089F05BCu); aot_mem.aot_store32(ctx.gpr[29] + static_cast(8), 0u); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 95u, 0x088C075Cu>(ctx, &aot_mem) && ctx.pc == 0x089F05BCu) goto L_089F05BC; return; L_089F05BC: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F05C8; } goto L_089F05C4; } L_089F05C4: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(232))); goto L_089F05C8; L_089F05C8: aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); ctx.gpr[2] = (50298u << 16u); ctx.gpr[4] = (ctx.gpr[29] + static_cast(128)); ctx.fpr[12] = std::bit_cast(ctx.gpr[2]); ctx.gpr[5] = (ctx.gpr[29] + static_cast(224)); ctx.gpr[6] = (ctx.gpr[29] + static_cast(256)); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); ctx.gpr[31] = (0x089F0600u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(8), 0u); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 95u, 0x088C075Cu>(ctx, &aot_mem) && ctx.pc == 0x089F0600u) goto L_089F0600; return; L_089F0600: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F0658; } goto L_089F0608; } L_089F0608: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(232))); ctx.fpr[13] = std::bit_cast(0u); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(136))); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[14]; ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop if (ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); goto L_089F0628; } goto L_089F0628; L_089F0628: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(136))); ctx.fpr[14] = std::bit_cast(0u); ctx.fpr[13] = ctx.fpr[20] - ctx.fpr[13]; ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[14])); // nop if (ctx.fpu_condition()) { ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[13]) ^ 0x80000000u); goto L_089F0644; } goto L_089F0644; L_089F0644: ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F0658; } goto L_089F0654; } L_089F0654: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(232))); goto L_089F0658; L_089F0658: ctx.gpr[4] = (20078u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 27432u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[20]) || std::isnan(ctx.fpr[12])) && ctx.fpr[20] == ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F06A8; } goto L_089F0674; } L_089F0674: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(136))); ctx.fpr[13] = std::bit_cast(0u); ctx.fpr[12] = ctx.fpr[20] - ctx.fpr[12]; ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop if (ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); goto L_089F0690; } goto L_089F0690; L_089F0690: ctx.gpr[4] = (16608u << 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_089F06D4; } goto L_089F06A8; } L_089F06A8: { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_089F06CC; } goto L_089F06B0; } L_089F06B0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(92))); ctx.gpr[5] = (0u | 3u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(24)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x089F06CCu); ctx.gpr[4] = (ctx.gpr[22] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F06CCu) goto L_089F06CC; return; L_089F06CC: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1248; } goto L_089F06D4; } L_089F06D4: ctx.gpr[31] = (0x089F06DCu); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 112u, 0x08A28DACu>(ctx, &aot_mem) && ctx.pc == 0x089F06DCu) goto L_089F06DC; return; L_089F06DC: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F06F8; } goto L_089F06E4; } L_089F06E4: aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[22] + static_cast(598)))))); ctx.gpr[4] = (ctx.gpr[4] | 128u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store8(ctx.gpr[22] + static_cast(598), static_cast(ctx.gpr[4])); if (branch_taken) { goto L_089F0718; } goto L_089F06F8; } L_089F06F8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(92))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(320)); 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))); jump_target = ctx.gpr[6]; ctx.gpr[31] = (0x089F0710u); ctx.gpr[4] = (ctx.gpr[22] + ctx.gpr[5]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F0710u) goto L_089F0710; return; L_089F0710: ctx.fpr[12] = ctx.fpr[20] + ctx.fpr[0]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), std::bit_cast(ctx.fpr[12])); goto L_089F0718; L_089F0718: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(128))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(132))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(136))); aot_mem.aot_store32(ctx.gpr[22] + static_cast(48), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[22] + static_cast(52), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[22] + static_cast(56), std::bit_cast(ctx.fpr[14])); ctx.gpr[4] = (17008u << 16u); 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]); { 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); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(160)); { 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[5] = (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[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[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[6] = (ctx.gpr[29] + static_cast(208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[6] + 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[6] + 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[6] = (ctx.gpr[22] + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[6] + 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[6] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); { 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[4] = (ctx.gpr[29] + static_cast(480)); { 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(352)); { 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[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[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[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[4] = (ctx.gpr[29] + static_cast(80)); { 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(336)); { 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[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[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[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] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(76))); ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 12 ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[5] = (0u | 21u); if (branch_taken) { goto L_089F07F4; } goto L_089F07E0; } L_089F07E0: ctx.gpr[4] = (static_cast(ctx.gpr[4]) < 11 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F0870; } goto L_089F07EC; } L_089F07EC: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F0820; } goto L_089F07F4; } L_089F07F4: { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F0870; } goto L_089F07FC; } L_089F07FC: ctx.gpr[4] = (ctx.gpr[22] | 0u); ctx.gpr[31] = (0x089F0808u); ctx.gpr[5] = (0u | 1u); if (rt.invoke_chained_direct<&recomp_unit_0039_entry, 39u, 95u, 0x088A0754u>(ctx, &aot_mem) && ctx.pc == 0x089F0808u) goto L_089F0808; return; L_089F0808: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(68))); ctx.gpr[5] = (0u + static_cast(-497)); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] | 48u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[22] + static_cast(68), ctx.gpr[4]); if (branch_taken) { goto L_089F08A4; } goto L_089F0820; } L_089F0820: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[22] + static_cast(398)))))); ctx.gpr[5] = (0u | 1u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F0848; } goto L_089F0830; } L_089F0830: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(68))); ctx.gpr[5] = (0u + static_cast(-497)); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] | 32u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[22] + static_cast(68), ctx.gpr[4]); if (branch_taken) { goto L_089F085C; } goto L_089F0848; } L_089F0848: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(68))); ctx.gpr[5] = (0u + static_cast(-497)); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] | 48u); aot_mem.aot_store32(ctx.gpr[22] + static_cast(68), ctx.gpr[4]); goto L_089F085C; L_089F085C: ctx.gpr[4] = (ctx.gpr[22] | 0u); ctx.gpr[31] = (0x089F0868u); ctx.gpr[5] = (0u | 1u); if (rt.invoke_chained_direct<&recomp_unit_0039_entry, 39u, 95u, 0x088A0754u>(ctx, &aot_mem) && ctx.pc == 0x089F0868u) goto L_089F0868; return; L_089F0868: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F08A4; } goto L_089F0870; } L_089F0870: { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { goto L_089F0890; } goto L_089F0878; } L_089F0878: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(68))); ctx.gpr[5] = (0u + static_cast(-497)); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] | 48u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[22] + static_cast(68), ctx.gpr[4]); if (branch_taken) { goto L_089F08A4; } goto L_089F0890; } L_089F0890: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(68))); ctx.gpr[5] = (0u + static_cast(-497)); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] | 32u); aot_mem.aot_store32(ctx.gpr[22] + static_cast(68), ctx.gpr[4]); goto L_089F08A4; L_089F08A4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(80))); ctx.gpr[31] = (0x089F08B0u); ctx.gpr[5] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 313u, 0x08925FB4u>(ctx, &aot_mem) && ctx.pc == 0x089F08B0u) goto L_089F08B0; return; L_089F08B0: ctx.gpr[31] = (0x089F08B8u); ctx.gpr[4] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0138_entry, 138u, 745u, 0x08A2F7ACu>(ctx, &aot_mem) && ctx.pc == 0x089F08B8u) goto L_089F08B8; return; L_089F08B8: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F0A5C; } goto L_089F08C0; } L_089F08C0: ctx.gpr[4] = (ctx.gpr[29] + static_cast(336)); { 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[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<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(640)); { 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, 2u>(); { 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] = (2232u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(12960)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(228))); ctx.gpr[4] = (17184u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[22] + static_cast(598)))))); ctx.gpr[4] = (ctx.gpr[4] & 128u); { const bool branch_taken = ctx.gpr[4] == 0u; { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[14]; 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; } if (branch_taken) { goto L_089F0920; } goto L_089F0914; } L_089F0914: ctx.gpr[4] = (16320u << 16u); { const bool branch_taken = 0u == 0u; ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); if (branch_taken) { goto L_089F0928; } goto L_089F0920; } L_089F0920: ctx.gpr[4] = (16256u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); goto L_089F0928; L_089F0928: { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[14]; 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.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[4] = (2232u << 16u); if (branch_taken) { goto L_089F0960; } goto L_089F093C; } L_089F093C: ctx.gpr[4] = (ctx.gpr[4] + static_cast(12960)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(228))); ctx.gpr[4] = (17096u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[14]; 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.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F098C; } goto L_089F0960; } L_089F0960: { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_089F0984; } goto L_089F0968; } L_089F0968: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(92))); ctx.gpr[5] = (0u | 3u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(24)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x089F0984u); ctx.gpr[4] = (ctx.gpr[22] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F0984u) goto L_089F0984; return; L_089F0984: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1248; } goto L_089F098C; } L_089F098C: ctx.gpr[4] = (2232u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(12960)); ctx.gpr[5] = (ctx.gpr[4] + 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[5] = (ctx.gpr[22] + 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<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(640)); { 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[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_vdot_ct<28u, 0u, 0u, 2u>(); { 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.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(228))); ctx.gpr[4] = (17061u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[14]; 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.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F09EC; } goto L_089F09E4; } L_089F09E4: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089F0A18; } goto L_089F09EC; } L_089F09EC: { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_089F0A10; } goto L_089F09F4; } L_089F09F4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(92))); ctx.gpr[5] = (0u | 3u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(24)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x089F0A10u); ctx.gpr[4] = (ctx.gpr[22] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F0A10u) goto L_089F0A10; return; L_089F0A10: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1248; } goto L_089F0A18; } L_089F0A18: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); ctx.gpr[5] = (0u + static_cast(-990)); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F0A54; } goto L_089F0A28; } L_089F0A28: { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_089F0A4C; } goto L_089F0A30; } L_089F0A30: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(92))); ctx.gpr[5] = (0u | 3u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(24)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x089F0A4Cu); ctx.gpr[4] = (ctx.gpr[22] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F0A4Cu) goto L_089F0A4C; return; L_089F0A4C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1248; } goto L_089F0A54; } L_089F0A54: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F0AF0; } goto L_089F0A5C; } L_089F0A5C: ctx.gpr[4] = (ctx.gpr[29] + static_cast(336)); { 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[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<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(656)); { 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, 2u>(); { 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] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[22] + static_cast(598)))))); ctx.gpr[4] = (ctx.gpr[4] & 128u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (17008u << 16u); if (branch_taken) { goto L_089F0AA8; } goto L_089F0A9C; } L_089F0A9C: ctx.gpr[4] = (17076u << 16u); { const bool branch_taken = 0u == 0u; ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); if (branch_taken) { goto L_089F0AAC; } goto L_089F0AA8; } L_089F0AA8: ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); goto L_089F0AAC; L_089F0AAC: ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F0AF0; } goto L_089F0ABC; } L_089F0ABC: { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_089F0AF0; } goto L_089F0AC4; } L_089F0AC4: { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_089F0AE8; } goto L_089F0ACC; } L_089F0ACC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(92))); ctx.gpr[5] = (0u | 3u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(24)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x089F0AE8u); ctx.gpr[4] = (ctx.gpr[22] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F0AE8u) goto L_089F0AE8; return; L_089F0AE8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1248; } goto L_089F0AF0; } L_089F0AF0: if (ctx.gpr[18] == 0u) { ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); goto L_089F0B88; } goto L_089F0AF8; L_089F0AF8: ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); ctx.gpr[6] = (2229u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(-11604))); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[4] = (ctx.gpr[22] + static_cast(48)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(20))); ctx.gpr[6] = (ctx.gpr[29] + static_cast(402)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(12))); ctx.gpr[5] = (16800u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); ctx.gpr[5] = (0u | 1u); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; ctx.gpr[7] = (0u | 2u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 0u); ctx.gpr[31] = (0x089F0B50u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 270u, 0x088C1B24u>(ctx, &aot_mem) && ctx.pc == 0x089F0B50u) goto L_089F0B50; return; L_089F0B50: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[29] + static_cast(402)))))); if (ctx.gpr[4] == 0u) { ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); goto L_089F0B88; } goto L_089F0B5C; L_089F0B5C: { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_089F0B80; } goto L_089F0B64; } L_089F0B64: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(92))); ctx.gpr[5] = (0u | 3u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(24)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x089F0B80u); ctx.gpr[4] = (ctx.gpr[22] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F0B80u) goto L_089F0B80; return; L_089F0B80: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1248; } goto L_089F0B88; } L_089F0B88: ctx.gpr[6] = (2229u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(-11604))); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[4] = (ctx.gpr[22] + static_cast(48)); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(20))); ctx.gpr[6] = (ctx.gpr[29] + static_cast(402)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[7] + static_cast(12))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); ctx.gpr[5] = (0u | 1u); ctx.gpr[7] = (0u | 2u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); ctx.gpr[31] = (0x089F0BD0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 270u, 0x088C1B24u>(ctx, &aot_mem) && ctx.pc == 0x089F0BD0u) goto L_089F0BD0; return; L_089F0BD0: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[29] + static_cast(402)))))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F102C; } goto L_089F0BDC; } L_089F0BDC: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(176))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(192))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(180))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(196))); { 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; } { 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[16] = std::bit_cast(0u); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[14]; ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[16])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F102C; } goto L_089F0C0C; } L_089F0C0C: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8152))); ctx.gpr[6] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[6]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; ctx.gpr[5] = (0u | 0u); if (branch_taken) { goto L_089F0C38; } goto L_089F0C24; } L_089F0C24: 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[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); goto L_089F0C38; L_089F0C38: ctx.gpr[4] = (ctx.gpr[5] | 0u); ctx.gpr[5] = (ctx.gpr[22] + static_cast(496)); ctx.gpr[31] = (0x089F0C48u); ctx.gpr[6] = (ctx.gpr[22] + static_cast(497)); if (rt.invoke_chained_direct<&recomp_unit_0028_entry, 28u, 292u, 0x088769C8u>(ctx, &aot_mem) && ctx.pc == 0x089F0C48u) goto L_089F0C48; return; L_089F0C48: ctx.gpr[31] = (0x089F0C50u); ctx.gpr[4] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 47u, 0x088C045Cu>(ctx, &aot_mem) && ctx.pc == 0x089F0C50u) goto L_089F0C50; return; L_089F0C50: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(76))); ctx.gpr[5] = (0u | 11u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_089F0C70; } goto L_089F0C60; } L_089F0C60: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(76))); ctx.gpr[5] = (0u | 21u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F0C80; } goto L_089F0C70; } L_089F0C70: ctx.gpr[31] = (0x089F0C78u); ctx.gpr[4] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0070_entry, 70u, 222u, 0x0891D400u>(ctx, &aot_mem) && ctx.pc == 0x089F0C78u) goto L_089F0C78; return; L_089F0C78: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F0DDC; } goto L_089F0C80; } L_089F0C80: ctx.gpr[31] = (0x089F0C88u); ctx.gpr[4] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0038_entry, 38u, 756u, 0x0889F9C8u>(ctx, &aot_mem) && ctx.pc == 0x089F0C88u) goto L_089F0C88; return; L_089F0C88: 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_089F0DDC; } goto L_089F0C98; } L_089F0C98: ctx.gpr[16] = (aot_mem.aot_load8(ctx.gpr[22] + static_cast(544))); ctx.gpr[18] = (0u | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_089F0CF8; } goto L_089F0CAC; } L_089F0CAC: ctx.gpr[4] = (16256u << 16u); ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[31] = (0x089F0CBCu); 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 == 0x089F0CBCu) goto L_089F0CBC; return; L_089F0CBC: ctx.fpr[12] = ctx.fpr[22] - ctx.fpr[20]; ctx.gpr[5] = (15872u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.gpr[4] = (0u | 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[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 if (ctx.fpu_condition()) { ctx.gpr[4] = (0u | 1u); goto L_089F0CE4; } goto L_089F0CE4; L_089F0CE4: ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[4]); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F0CAC; } goto L_089F0CF8; } L_089F0CF8: ctx.gpr[16] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); ctx.gpr[31] = (0x089F0D04u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 124u, 0x08A28E40u>(ctx, &aot_mem) && ctx.pc == 0x089F0D04u) goto L_089F0D04; return; L_089F0D04: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F0D78; } goto L_089F0D0C; } L_089F0D0C: ctx.gpr[4] = (2226u << 16u); ctx.gpr[31] = (0x089F0D18u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-3920)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 542u, 0x08A8B30Cu>(ctx, &aot_mem) && ctx.pc == 0x089F0D18u) goto L_089F0D18; return; L_089F0D18: ctx.gpr[4] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8152))); ctx.gpr[18] = (ctx.gpr[2] | 0u); ctx.gpr[5] = (static_cast(ctx.gpr[16]) < static_cast(ctx.gpr[5]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[4] = (0u | 0u); if (branch_taken) { goto L_089F0D44; } goto L_089F0D30; } L_089F0D30: ctx.gpr[5] = (2229u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-11604))); ctx.gpr[4] = (ctx.gpr[16] << 2u); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); goto L_089F0D44; L_089F0D44: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(32))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(72)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(0)))))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); jump_target = ctx.gpr[5]; ctx.gpr[31] = (0x089F0D5Cu); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F0D5Cu) goto L_089F0D5C; return; L_089F0D5C: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; // nop if (branch_taken) { goto L_089F0D78; } goto L_089F0D64; } L_089F0D64: ctx.gpr[4] = (0u | 1u); ctx.gpr[5] = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[4]) ? 1u : 0u); if (ctx.gpr[5] != 0u) { ctx.gpr[4] = (ctx.gpr[17] | 0u); goto L_089F0D74; } goto L_089F0D74; L_089F0D74: ctx.gpr[17] = (ctx.gpr[4] | 0u); goto L_089F0D78; L_089F0D78: ctx.gpr[16] = (0u | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[16]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F0DDC; } goto L_089F0D88; } L_089F0D88: ctx.gpr[4] = (ctx.gpr[22] | 0u); ctx.gpr[31] = (0x089F0D94u); ctx.gpr[5] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0039_entry, 39u, 231u, 0x088A1620u>(ctx, &aot_mem) && ctx.pc == 0x089F0D94u) goto L_089F0D94; return; L_089F0D94: ctx.gpr[4] = (ctx.gpr[16] << 2u); ctx.gpr[4] = (ctx.gpr[22] + ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(508))); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (ctx.gpr[16] << 2u); if (branch_taken) { goto L_089F0DCC; } goto L_089F0DA8; } L_089F0DA8: ctx.gpr[4] = (ctx.gpr[22] + ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(508))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(412))); ctx.gpr[6] = (ctx.gpr[6] | 1024u); aot_mem.aot_store32(ctx.gpr[4] + static_cast(412), ctx.gpr[6]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-6296))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1)); aot_mem.aot_store32(ctx.gpr[5] + static_cast(-6296), ctx.gpr[4]); goto L_089F0DCC; L_089F0DCC: ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[16]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F0D88; } goto L_089F0DDC; } L_089F0DDC: ctx.gpr[31] = (0x089F0DE4u); ctx.gpr[4] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0039_entry, 39u, 126u, 0x088A08E8u>(ctx, &aot_mem) && ctx.pc == 0x089F0DE4u) goto L_089F0DE4; return; L_089F0DE4: ctx.gpr[4] = (ctx.gpr[2] | 0u); ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 3 ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[5] = (0u | 4u); if (branch_taken) { goto L_089F0E08; } goto L_089F0DF4; } L_089F0DF4: 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_089F0E18; } goto L_089F0E00; } L_089F0E00: { const bool branch_taken = 0u == 0u; ctx.gpr[16] = (0u | 20u); if (branch_taken) { goto L_089F0E1C; } goto L_089F0E08; } L_089F0E08: { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F0E18; } goto L_089F0E10; } L_089F0E10: { const bool branch_taken = 0u == 0u; ctx.gpr[16] = (0u | 40u); if (branch_taken) { goto L_089F0E1C; } goto L_089F0E18; } L_089F0E18: ctx.gpr[16] = (0u | 3u); goto L_089F0E1C; L_089F0E1C: ctx.gpr[31] = (0x089F0E24u); // nop if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 302u, 0x0894DB08u>(ctx, &aot_mem) && ctx.pc == 0x089F0E24u) goto L_089F0E24; return; L_089F0E24: ctx.gpr[4] = (ctx.gpr[2] & 65535u); ctx.gpr[4] = (ctx.gpr[4] & 127u); ctx.gpr[4] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[4] = (2229u << 16u); if (branch_taken) { goto L_089F0E44; } goto L_089F0E38; } L_089F0E38: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(-17392))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F0E6C; } goto L_089F0E44; } L_089F0E44: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(68))); ctx.gpr[5] = (0u + static_cast(-497)); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] | 48u); aot_mem.aot_store32(ctx.gpr[22] + static_cast(68), ctx.gpr[4]); ctx.gpr[4] = (0u | 2u); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[22] + static_cast(408)))))); aot_mem.aot_store8(ctx.gpr[22] + static_cast(397), static_cast(ctx.gpr[4])); ctx.gpr[4] = (ctx.gpr[5] + static_cast(10)); aot_mem.aot_store8(ctx.gpr[22] + static_cast(408), static_cast(ctx.gpr[4])); goto L_089F0E6C; L_089F0E6C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(76))); ctx.gpr[5] = (0u | 11u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F0E8C; } goto L_089F0E7C; } L_089F0E7C: ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8148))); ctx.gpr[5] = (2229u << 16u); aot_mem.aot_store32(ctx.gpr[5] + static_cast(-17420), ctx.gpr[4]); goto L_089F0E8C; L_089F0E8C: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); ctx.gpr[5] = (0u + static_cast(-999)); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F0EB8; } goto L_089F0E9C; } L_089F0E9C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(68))); ctx.gpr[5] = (0u + static_cast(-497)); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] | 48u); aot_mem.aot_store32(ctx.gpr[22] + static_cast(68), ctx.gpr[4]); ctx.gpr[4] = (0u | 2u); aot_mem.aot_store8(ctx.gpr[22] + static_cast(397), static_cast(ctx.gpr[4])); goto L_089F0EB8; L_089F0EB8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(76))); ctx.gpr[5] = (0u | 11u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F1058; } goto L_089F0EC8; } L_089F0EC8: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); ctx.gpr[5] = (0u + static_cast(-954)); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F1058; } goto L_089F0ED8; } L_089F0ED8: ctx.gpr[4] = (2229u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-17400))); ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 2 ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 3 ? 1u : 0u); if (branch_taken) { goto L_089F0F04; } goto L_089F0EEC; } L_089F0EEC: { const bool branch_taken = static_cast(ctx.gpr[4]) < 0; // nop if (branch_taken) { goto L_089F0F14; } goto L_089F0EF4; } L_089F0EF4: { const bool branch_taken = static_cast(ctx.gpr[4]) <= 0; // nop if (branch_taken) { goto L_089F0F1C; } goto L_089F0EFC; } L_089F0EFC: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F0F60; } goto L_089F0F04; } L_089F0F04: { const bool branch_taken = ctx.gpr[5] != 0u; ctx.gpr[4] = (static_cast(ctx.gpr[4]) < 4 ? 1u : 0u); if (branch_taken) { goto L_089F0FA4; } goto L_089F0F0C; } L_089F0F0C: { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F0FE8; } goto L_089F0F14; } L_089F0F14: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1058; } goto L_089F0F1C; } L_089F0F1C: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8152))); ctx.gpr[6] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[6]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; ctx.gpr[5] = (0u | 0u); if (branch_taken) { goto L_089F0F48; } goto L_089F0F34; } L_089F0F34: 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[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); goto L_089F0F48; L_089F0F48: ctx.gpr[4] = (ctx.gpr[5] | 0u); ctx.gpr[5] = (0u | 53u); ctx.gpr[31] = (0x089F0F58u); ctx.gpr[6] = (0u | 77u); if (rt.invoke_chained_direct<&recomp_unit_0028_entry, 28u, 265u, 0x08876770u>(ctx, &aot_mem) && ctx.pc == 0x089F0F58u) goto L_089F0F58; return; L_089F0F58: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1058; } goto L_089F0F60; } L_089F0F60: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8152))); ctx.gpr[6] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[6]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; ctx.gpr[5] = (0u | 0u); if (branch_taken) { goto L_089F0F8C; } goto L_089F0F78; } L_089F0F78: 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[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); goto L_089F0F8C; L_089F0F8C: ctx.gpr[4] = (ctx.gpr[5] | 0u); ctx.gpr[5] = (0u | 15u); ctx.gpr[31] = (0x089F0F9Cu); ctx.gpr[6] = (0u | 77u); if (rt.invoke_chained_direct<&recomp_unit_0028_entry, 28u, 265u, 0x08876770u>(ctx, &aot_mem) && ctx.pc == 0x089F0F9Cu) goto L_089F0F9C; return; L_089F0F9C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1058; } goto L_089F0FA4; } L_089F0FA4: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8152))); ctx.gpr[6] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[6]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; ctx.gpr[5] = (0u | 0u); if (branch_taken) { goto L_089F0FD0; } goto L_089F0FBC; } L_089F0FBC: 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[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); goto L_089F0FD0; L_089F0FD0: ctx.gpr[4] = (ctx.gpr[5] | 0u); ctx.gpr[5] = (0u | 41u); ctx.gpr[31] = (0x089F0FE0u); ctx.gpr[6] = (0u | 77u); if (rt.invoke_chained_direct<&recomp_unit_0028_entry, 28u, 265u, 0x08876770u>(ctx, &aot_mem) && ctx.pc == 0x089F0FE0u) goto L_089F0FE0; return; L_089F0FE0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1058; } goto L_089F0FE8; } L_089F0FE8: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8152))); ctx.gpr[6] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[6]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; ctx.gpr[5] = (0u | 0u); if (branch_taken) { goto L_089F1014; } goto L_089F1000; } L_089F1000: 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[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); goto L_089F1014; L_089F1014: ctx.gpr[4] = (ctx.gpr[5] | 0u); ctx.gpr[5] = (0u | 61u); ctx.gpr[31] = (0x089F1024u); ctx.gpr[6] = (0u | 77u); if (rt.invoke_chained_direct<&recomp_unit_0028_entry, 28u, 265u, 0x08876770u>(ctx, &aot_mem) && ctx.pc == 0x089F1024u) goto L_089F1024; return; L_089F1024: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1058; } goto L_089F102C; } L_089F102C: { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_089F1050; } goto L_089F1034; } L_089F1034: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(92))); ctx.gpr[5] = (0u | 3u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(24)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x089F1050u); ctx.gpr[4] = (ctx.gpr[22] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F1050u) goto L_089F1050; return; L_089F1050: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1248; } goto L_089F1058; } L_089F1058: ctx.gpr[4] = (16256u << 16u); ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[31] = (0x089F1068u); 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 == 0x089F1068u) goto L_089F1068; return; L_089F1068: ctx.fpr[12] = ctx.fpr[22] - ctx.fpr[20]; ctx.gpr[4] = (16254u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 47186u); 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_089F11EC; } goto L_089F1090; } L_089F1090: ctx.gpr[31] = (0x089F1098u); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[22] + static_cast(88)))))); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 124u, 0x08A28E40u>(ctx, &aot_mem) && ctx.pc == 0x089F1098u) goto L_089F1098; return; L_089F1098: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F11EC; } goto L_089F10A0; } L_089F10A0: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[22] + static_cast(597)))))); ctx.gpr[4] = (ctx.gpr[4] & 1u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F11EC; } goto L_089F10B0; } L_089F10B0: ctx.gpr[4] = (ctx.gpr[22] + static_cast(16)); ctx.gpr[5] = (ctx.gpr[22] + static_cast(48)); ctx.gpr[6] = (16576u << 16u); 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]); { 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(688)); { 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[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); } { 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(704)); { 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] = (0x089F10F4u); ctx.gpr[5] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0166_entry, 166u, 249u, 0x08A9D434u>(ctx, &aot_mem) && ctx.pc == 0x089F10F4u) goto L_089F10F4; return; L_089F10F4: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F11EC; } goto L_089F10FC; } L_089F10FC: aot_mem.aot_store8(ctx.gpr[22] + static_cast(408), static_cast(0u)); ctx.fpr[12] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(720), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(724), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(728), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (ctx.gpr[29] + static_cast(720)); { 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[22] + static_cast(112)); { 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[16] = (0u | 0u); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[22] + static_cast(540))); ctx.gpr[4] = (static_cast(ctx.gpr[16]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F1198; } goto L_089F1134; } L_089F1134: ctx.gpr[4] = (ctx.gpr[16] << 2u); ctx.gpr[4] = (ctx.gpr[22] + ctx.gpr[4]); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(508))); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089F1184; } goto L_089F1148; } L_089F1148: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[5] = (0u | 16u); ctx.gpr[31] = (0x089F1158u); ctx.gpr[6] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 927u, 0x08893114u>(ctx, &aot_mem) && ctx.pc == 0x089F1158u) goto L_089F1158; return; L_089F1158: aot_mem.aot_store32(ctx.gpr[17] + static_cast(1348), ctx.gpr[22]); ctx.gpr[4] = (0u | 5u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(412))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(848), ctx.gpr[4]); ctx.gpr[4] = (128u << 16u); ctx.gpr[4] = (ctx.gpr[5] | ctx.gpr[4]); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(1348))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(412), ctx.gpr[4]); ctx.gpr[5] = (ctx.gpr[17] + static_cast(1348)); ctx.gpr[31] = (0x089F1184u); ctx.gpr[4] = (ctx.gpr[6] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 689u, 0x0883B8A4u>(ctx, &aot_mem) && ctx.pc == 0x089F1184u) goto L_089F1184; return; L_089F1184: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[22] + static_cast(540))); ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[16]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F1134; } goto L_089F1198; } L_089F1198: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(504))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F11EC; } goto L_089F11A4; } L_089F11A4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(504))); ctx.gpr[5] = (0u | 16u); ctx.gpr[31] = (0x089F11B4u); ctx.gpr[6] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 927u, 0x08893114u>(ctx, &aot_mem) && ctx.pc == 0x089F11B4u) goto L_089F11B4; return; L_089F11B4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(504))); ctx.gpr[5] = (0u | 5u); aot_mem.aot_store32(ctx.gpr[4] + static_cast(848), ctx.gpr[5]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(504))); ctx.gpr[5] = (128u << 16u); aot_mem.aot_store32(ctx.gpr[4] + static_cast(1348), ctx.gpr[22]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(504))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(412))); ctx.gpr[5] = (ctx.gpr[6] | ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[4] + static_cast(412), ctx.gpr[5]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(504))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(1348))); ctx.gpr[31] = (0x089F11ECu); ctx.gpr[5] = (ctx.gpr[5] + static_cast(1348)); if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 689u, 0x0883B8A4u>(ctx, &aot_mem) && ctx.pc == 0x089F11ECu) goto L_089F11EC; return; L_089F11EC: 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_089F1248; } goto L_089F11FC; } L_089F11FC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(836))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F122C; } goto L_089F1208; } L_089F1208: ctx.gpr[31] = (0x089F1210u); ctx.gpr[4] = (0u | 364u); if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 663u, 0x08AA3190u>(ctx, &aot_mem) && ctx.pc == 0x089F1210u) goto L_089F1210; return; L_089F1210: ctx.gpr[4] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F1248; } goto L_089F121C; } L_089F121C: ctx.gpr[31] = (0x089F1224u); ctx.gpr[5] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0174_entry, 174u, 260u, 0x08ABD8B8u>(ctx, &aot_mem) && ctx.pc == 0x089F1224u) goto L_089F1224; return; L_089F1224: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1248; } goto L_089F122C; } L_089F122C: ctx.gpr[31] = (0x089F1234u); ctx.gpr[4] = (0u | 240u); if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 663u, 0x08AA3190u>(ctx, &aot_mem) && ctx.pc == 0x089F1234u) goto L_089F1234; return; L_089F1234: ctx.gpr[4] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F1248; } goto L_089F1240; } L_089F1240: ctx.gpr[31] = (0x089F1248u); ctx.gpr[5] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 396u, 0x089DA078u>(ctx, &aot_mem) && ctx.pc == 0x089F1248u) goto L_089F1248; return; L_089F1248: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(1096))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(1100))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(1104))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(1108))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(1112))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(1116))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1120))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1124))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1128))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1132))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1136))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1140))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1144))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1148))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(1152))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(1168)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_089F128C: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-256)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(216), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(220), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(224), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(228), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(232), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(236), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(240), ctx.gpr[31]); ctx.gpr[31] = (0x089F12B4u); ctx.gpr[16] = (ctx.gpr[4] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0122_entry, 122u, 204u, 0x089ED4E4u>(ctx, &aot_mem) && ctx.pc == 0x089F12B4u) goto L_089F12B4; return; L_089F12B4: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_089F1854; } goto L_089F12BC; } L_089F12BC: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(597)))))); ctx.gpr[4] = (ctx.gpr[4] & 8u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F1854; } goto L_089F12CC; } L_089F12CC: ctx.gpr[31] = (0x089F12D4u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0038_entry, 38u, 541u, 0x0889EB14u>(ctx, &aot_mem) && ctx.pc == 0x089F12D4u) goto L_089F12D4; return; L_089F12D4: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F1854; } goto L_089F12DC; } L_089F12DC: ctx.gpr[31] = (0x089F12E4u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0093_entry, 93u, 494u, 0x0897B104u>(ctx, &aot_mem) && ctx.pc == 0x089F12E4u) goto L_089F12E4; return; L_089F12E4: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_089F1854; } goto L_089F12EC; } L_089F12EC: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(599)))))); ctx.gpr[4] = (ctx.gpr[4] & 8u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F1340; } goto L_089F12FC; } L_089F12FC: ctx.gpr[31] = (0x089F1304u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(80))); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 314u, 0x08925FC8u>(ctx, &aot_mem) && ctx.pc == 0x089F1304u) goto L_089F1304; return; L_089F1304: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_089F1340; } goto L_089F130C; } L_089F130C: ctx.gpr[31] = (0x089F1314u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 67u, 0x088C05B0u>(ctx, &aot_mem) && ctx.pc == 0x089F1314u) goto L_089F1314; return; L_089F1314: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089F1338; } goto L_089F131C; } L_089F131C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[5] = (0u | 3u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(24)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x089F1338u); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F1338u) goto L_089F1338; return; L_089F1338: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1CA8; } goto L_089F1340; } L_089F1340: ctx.gpr[4] = (2230u << 16u); ctx.gpr[31] = (0x089F134Cu); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(-8108))); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 199u, 0x089D599Cu>(ctx, &aot_mem) && ctx.pc == 0x089F134Cu) goto L_089F134C; return; L_089F134C: { const std::uint32_t vfpu_address = ctx.gpr[2] + 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(16)); { 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[16] + 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[29] + static_cast(16))); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13]; ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); ctx.fpr[14] = ctx.fpr[14] - ctx.fpr[15]; { 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[14]; const float ft = ctx.fpr[14]; 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[20] = ctx.fpr[12] + ctx.fpr[14]; ctx.fpr[20] = std::sqrt(ctx.fpr[20]); ctx.gpr[31] = (0x089F138Cu); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0138_entry, 138u, 745u, 0x08A2F7ACu>(ctx, &aot_mem) && ctx.pc == 0x089F138Cu) goto L_089F138C; return; L_089F138C: { const bool branch_taken = ctx.gpr[2] != 0u; ctx.gpr[4] = (2232u << 16u); if (branch_taken) { goto L_089F149C; } goto L_089F1394; } L_089F1394: 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] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(424))); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[4] = (2232u << 16u); if (branch_taken) { goto L_089F149C; } goto L_089F13C4; } L_089F13C4: 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] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(425))); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[4] = (2232u << 16u); if (branch_taken) { goto L_089F149C; } goto L_089F13F4; } L_089F13F4: 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] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(423))); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[4] = (2232u << 16u); if (branch_taken) { goto L_089F149C; } goto L_089F1424; } L_089F1424: ctx.gpr[31] = (0x089F142Cu); ctx.gpr[4] = (ctx.gpr[4] + static_cast(12960)); if (rt.invoke_chained_direct<&recomp_unit_0058_entry, 58u, 143u, 0x088ED1B0u>(ctx, &aot_mem) && ctx.pc == 0x089F142Cu) goto L_089F142C; return; L_089F142C: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F149C; } goto L_089F1434; } L_089F1434: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(596))); ctx.gpr[5] = (0u | 3u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_089F149C; } goto L_089F1444; } L_089F1444: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[16] + static_cast(88)))))); ctx.gpr[5] = (0u | 147u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_089F149C; } goto L_089F1454; } L_089F1454: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[16] + static_cast(88)))))); ctx.gpr[5] = (0u | 138u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_089F149C; } goto L_089F1464; } L_089F1464: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(597)))))); ctx.gpr[4] = (ctx.gpr[4] & 1u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F149C; } goto L_089F1474; } L_089F1474: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(602)))))); ctx.gpr[4] = (ctx.gpr[4] & 8u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F149C; } goto L_089F1484; } L_089F1484: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(632))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[5] < ctx.gpr[4] ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F14B8; } goto L_089F149C; } L_089F149C: ctx.gpr[4] = (2232u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(12960)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(228))); ctx.gpr[4] = (17184u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); { const bool branch_taken = 0u == 0u; { 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 (branch_taken) { goto L_089F14C0; } goto L_089F14B8; } L_089F14B8: ctx.gpr[4] = (17008u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); goto L_089F14C0; L_089F14C0: ctx.gpr[4] = (2232u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(12960)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(16)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(8))); ctx.gpr[4] = (48998u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 26214u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[14])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F14F4; } goto L_089F14EC; } L_089F14EC: ctx.gpr[4] = (17036u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); goto L_089F14F4; L_089F14F4: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(598)))))); ctx.gpr[4] = (ctx.gpr[4] & 128u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F1510; } goto L_089F1504; } L_089F1504: 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; } goto L_089F1510; L_089F1510: ctx.set_fpu_condition((ctx.fpr[20] <= ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F1854; } goto L_089F1520; } L_089F1520: ctx.gpr[4] = (ctx.gpr[16] + 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(32)); { 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] = (0x089F1538u); // nop if (rt.invoke_chained_direct<&recomp_unit_0078_entry, 78u, 96u, 0x0893C734u>(ctx, &aot_mem) && ctx.pc == 0x089F1538u) goto L_089F1538; return; L_089F1538: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_089F1854; } goto L_089F1540; } L_089F1540: ctx.gpr[31] = (0x089F1548u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0138_entry, 138u, 745u, 0x08A2F7ACu>(ctx, &aot_mem) && ctx.pc == 0x089F1548u) goto L_089F1548; return; L_089F1548: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F1560; } goto L_089F1550; } L_089F1550: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(599)))))); ctx.gpr[4] = (ctx.gpr[4] | 8u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store8(ctx.gpr[16] + static_cast(599), static_cast(ctx.gpr[4])); if (branch_taken) { goto L_089F184C; } goto L_089F1560; } L_089F1560: 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; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_089F1820; } goto L_089F1570; } L_089F1570: ctx.gpr[4] = (2232u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(148))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(144))); ctx.gpr[18] = (0u | 0u); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[5] = (static_cast(static_cast(ctx.gpr[4]) >> 2u)); ctx.gpr[5] = (ctx.gpr[5] >> 30u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[4] = (static_cast(static_cast(ctx.gpr[4]) >> 2u)); ctx.gpr[4] = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F1808; } goto L_089F15A4; } L_089F15A4: ctx.gpr[4] = (2232u << 16u); ctx.gpr[20] = (ctx.gpr[4] + static_cast(5736)); ctx.gpr[4] = (ctx.gpr[20] | 0u); ctx.gpr[31] = (0x089F15B8u); ctx.gpr[5] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0040_entry, 40u, 648u, 0x088A7DE0u>(ctx, &aot_mem) && ctx.pc == 0x089F15B8u) goto L_089F15B8; return; L_089F15B8: ctx.gpr[19] = (ctx.gpr[2] | 0u); ctx.gpr[4] = (ctx.gpr[20] | 0u); ctx.gpr[31] = (0x089F15C8u); ctx.gpr[5] = (0u + static_cast(-1)); if (rt.invoke_chained_direct<&recomp_unit_0040_entry, 40u, 648u, 0x088A7DE0u>(ctx, &aot_mem) && ctx.pc == 0x089F15C8u) goto L_089F15C8; return; L_089F15C8: { const bool branch_taken = ctx.gpr[19] == ctx.gpr[2]; // nop if (branch_taken) { goto L_089F15D8; } goto L_089F15D0; } L_089F15D0: { const bool branch_taken = ctx.gpr[19] != 0u; // nop if (branch_taken) { goto L_089F15E0; } goto L_089F15D8; } L_089F15D8: { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (2232u << 16u); if (branch_taken) { goto L_089F17D8; } goto L_089F15E0; } L_089F15E0: ctx.gpr[4] = (2232u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + 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[16] | 0u); if (branch_taken) { goto L_089F1630; } goto L_089F15FC; } L_089F15FC: aot_mem.aot_store8(ctx.gpr[29] + static_cast(156), static_cast(0u)); goto L_089F1600; L_089F1600: 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_089F1624; } goto L_089F1614; L_089F1614: 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_089F1628; } goto L_089F1624; } L_089F1624: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); goto L_089F1628; L_089F1628: if (ctx.gpr[6] != 0u) { aot_mem.aot_store8(ctx.gpr[29] + static_cast(156), static_cast(0u)); goto L_089F1600; } goto L_089F1630; L_089F1630: 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_089F1660; } goto L_089F1644; L_089F1644: aot_mem.aot_store8(ctx.gpr[29] + static_cast(157), 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_089F166C; } goto L_089F165C; } L_089F165C: ctx.gpr[4] = (2232u << 16u); goto L_089F1660; L_089F1660: 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_089F166C; L_089F166C: aot_mem.aot_store32(ctx.gpr[29] + static_cast(152), 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(152))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(168), ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(148), ctx.gpr[5]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(168))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(148))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(144), ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(144))); 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(148))); goto L_089F16B0; } goto L_089F16A8; L_089F16A8: { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (0u | 0u); if (branch_taken) { goto L_089F16B4; } goto L_089F16B0; } L_089F16B0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); goto L_089F16B4; L_089F16B4: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(108))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(136)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(0)))))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); jump_target = ctx.gpr[5]; ctx.gpr[31] = (0x089F16CCu); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F16CCu) goto L_089F16CC; return; L_089F16CC: { const bool branch_taken = ctx.gpr[2] == 0u; ctx.gpr[6] = (17096u << 16u); if (branch_taken) { goto L_089F17D4; } goto L_089F16D4; } L_089F16D4: ctx.gpr[4] = (ctx.gpr[19] | 0u); ctx.fpr[12] = std::bit_cast(ctx.gpr[6]); ctx.gpr[31] = (0x089F16E4u); ctx.gpr[5] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0140_entry, 140u, 163u, 0x08A34F70u>(ctx, &aot_mem) && ctx.pc == 0x089F16E4u) goto L_089F16E4; return; L_089F16E4: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F17D4; } goto L_089F16EC; } L_089F16EC: ctx.gpr[4] = (2232u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(104))); ctx.gpr[5] = (ctx.gpr[17] + static_cast(4)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[4] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_089F173C; } goto L_089F1708; } L_089F1708: aot_mem.aot_store8(ctx.gpr[29] + static_cast(192), static_cast(0u)); goto L_089F170C; L_089F170C: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(16))); ctx.gpr[6] = (ctx.gpr[6] < ctx.gpr[4] ? 1u : 0u); ctx.gpr[6] = (ctx.gpr[6] & 255u); if (ctx.gpr[6] != 0u) { ctx.gpr[5] = (ctx.gpr[5] + static_cast(12)); goto L_089F1730; } goto L_089F1720; L_089F1720: ctx.gpr[17] = (ctx.gpr[5] | 0u); ctx.gpr[5] = (ctx.gpr[17] + static_cast(8)); { const bool branch_taken = 0u == 0u; ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); if (branch_taken) { goto L_089F1734; } goto L_089F1730; } L_089F1730: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); goto L_089F1734; L_089F1734: if (ctx.gpr[5] != 0u) { aot_mem.aot_store8(ctx.gpr[29] + static_cast(192), static_cast(0u)); goto L_089F170C; } goto L_089F173C; L_089F173C: 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))); if (ctx.gpr[17] == ctx.gpr[5]) { ctx.gpr[4] = (2232u << 16u); goto L_089F176C; } goto L_089F1750; L_089F1750: aot_mem.aot_store8(ctx.gpr[29] + static_cast(193), static_cast(0u)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(16))); ctx.gpr[4] = (ctx.gpr[4] < ctx.gpr[5] ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); if (ctx.gpr[4] == 0u) { aot_mem.aot_store32(ctx.gpr[29] + static_cast(188), ctx.gpr[17]); goto L_089F1778; } goto L_089F1768; L_089F1768: ctx.gpr[4] = (2232u << 16u); goto L_089F176C; L_089F176C: ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(104))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(188), ctx.gpr[17]); goto L_089F1778; L_089F1778: ctx.gpr[17] = (2232u << 16u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(5736)); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(104))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(188))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(204), ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(184), ctx.gpr[5]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(204))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(184))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(180), ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(180))); 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(184))); goto L_089F17BC; } goto L_089F17B4; L_089F17B4: { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (0u | 0u); if (branch_taken) { goto L_089F17C0; } goto L_089F17BC; } L_089F17BC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); goto L_089F17C0; L_089F17C0: ctx.gpr[5] = (ctx.gpr[4] | 0u); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[19] + static_cast(3)))))); ctx.gpr[31] = (0x089F17D0u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 217u, 0x088A8E58u>(ctx, &aot_mem) && ctx.pc == 0x089F17D0u) goto L_089F17D0; return; L_089F17D0: ctx.gpr[17] = (0u | 1u); goto L_089F17D4; L_089F17D4: ctx.gpr[4] = (2232u << 16u); goto L_089F17D8; L_089F17D8: ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(148))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(144))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[5] = (static_cast(static_cast(ctx.gpr[4]) >> 2u)); ctx.gpr[5] = (ctx.gpr[5] >> 30u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[4] = (static_cast(static_cast(ctx.gpr[4]) >> 2u)); ctx.gpr[4] = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F15A4; } goto L_089F1808; } L_089F1808: { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_089F184C; } goto L_089F1810; } L_089F1810: ctx.gpr[31] = (0x089F1818u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0122_entry, 122u, 470u, 0x089EE880u>(ctx, &aot_mem) && ctx.pc == 0x089F1818u) goto L_089F1818; return; L_089F1818: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F184C; } goto L_089F1820; } L_089F1820: ctx.gpr[31] = (0x089F1828u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 67u, 0x088C05B0u>(ctx, &aot_mem) && ctx.pc == 0x089F1828u) goto L_089F1828; return; L_089F1828: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089F184C; } goto L_089F1830; } L_089F1830: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[5] = (0u | 3u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(24)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x089F184Cu); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F184Cu) goto L_089F184C; return; L_089F184C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1CA8; } goto L_089F1854; } L_089F1854: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(68))); ctx.gpr[5] = (0u | 32u); ctx.gpr[4] = (ctx.gpr[4] & 496u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_089F1898; } goto L_089F1868; } L_089F1868: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(68))); ctx.gpr[5] = (0u | 48u); ctx.gpr[4] = (ctx.gpr[4] & 496u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F1AB4; } goto L_089F187C; } L_089F187C: 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] == 0u; // nop if (branch_taken) { goto L_089F1898; } goto L_089F1888; } L_089F1888: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(397)))))); ctx.gpr[5] = (0u | 4u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F1AB4; } goto L_089F1898; } L_089F1898: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(388))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] < static_cast(5001) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F1AB4; } goto L_089F18B4; } L_089F18B4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(632))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + 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_089F1AB4; } goto L_089F18CC; } L_089F18CC: ctx.gpr[31] = (0x089F18D4u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0138_entry, 138u, 745u, 0x08A2F7ACu>(ctx, &aot_mem) && ctx.pc == 0x089F18D4u) goto L_089F18D4; return; L_089F18D4: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_089F1AB4; } goto L_089F18DC; } L_089F18DC: ctx.gpr[4] = (ctx.gpr[16] + 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(16)); { 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.execute_vfpu_vdot_ct<28u, 0u, 0u, 2u>(); { 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] = (16816u << 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_089F1AB4; } goto L_089F1924; } L_089F1924: ctx.gpr[31] = (0x089F192Cu); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0122_entry, 122u, 204u, 0x089ED4E4u>(ctx, &aot_mem) && ctx.pc == 0x089F192Cu) goto L_089F192C; return; L_089F192C: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_089F1AB4; } goto L_089F1934; } L_089F1934: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(597)))))); ctx.gpr[4] = (ctx.gpr[4] & 8u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F1AB4; } goto L_089F1944; } L_089F1944: ctx.gpr[31] = (0x089F194Cu); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0038_entry, 38u, 541u, 0x0889EB14u>(ctx, &aot_mem) && ctx.pc == 0x089F194Cu) goto L_089F194C; return; L_089F194C: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F1AB4; } goto L_089F1954; } L_089F1954: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x089F1960u); ctx.gpr[5] = (0u | 1u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 410u, 0x08865CA0u>(ctx, &aot_mem) && ctx.pc == 0x089F1960u) goto L_089F1960; return; L_089F1960: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_089F1AB4; } goto L_089F1968; } L_089F1968: ctx.gpr[31] = (0x089F1970u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 394u, 0x08865B74u>(ctx, &aot_mem) && ctx.pc == 0x089F1970u) goto L_089F1970; return; L_089F1970: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_089F1AB4; } goto L_089F1978; } L_089F1978: ctx.gpr[4] = (ctx.gpr[16] + 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(32)); { 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] = (0x089F1990u); // nop if (rt.invoke_chained_direct<&recomp_unit_0078_entry, 78u, 96u, 0x0893C734u>(ctx, &aot_mem) && ctx.pc == 0x089F1990u) goto L_089F1990; return; L_089F1990: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_089F1AB4; } goto L_089F1998; } L_089F1998: 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; ctx.gpr[4] = (2232u << 16u); if (branch_taken) { goto L_089F1A80; } goto L_089F19A8; } L_089F19A8: ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(148))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(144))); ctx.gpr[18] = (0u | 0u); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[5] = (static_cast(static_cast(ctx.gpr[4]) >> 2u)); ctx.gpr[5] = (ctx.gpr[5] >> 30u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[4] = (static_cast(static_cast(ctx.gpr[4]) >> 2u)); ctx.gpr[4] = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_089F1A60; } goto L_089F19D8; } L_089F19D8: { const bool branch_taken = ctx.gpr[17] != 0u; ctx.gpr[4] = (2232u << 16u); if (branch_taken) { goto L_089F1A30; } goto L_089F19E0; } L_089F19E0: ctx.gpr[4] = (2232u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(100))); ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast(52))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[18]; ctx.gpr[4] = (2232u << 16u); if (branch_taken) { goto L_089F1A30; } goto L_089F19F8; } L_089F19F8: ctx.gpr[4] = (2232u << 16u); ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x089F1A08u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); if (rt.invoke_chained_direct<&recomp_unit_0040_entry, 40u, 648u, 0x088A7DE0u>(ctx, &aot_mem) && ctx.pc == 0x089F1A08u) goto L_089F1A08; return; L_089F1A08: ctx.gpr[4] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F1A2C; } goto L_089F1A14; } L_089F1A14: ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[31] = (0x089F1A20u); ctx.gpr[5] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0140_entry, 140u, 163u, 0x08A34F70u>(ctx, &aot_mem) && ctx.pc == 0x089F1A20u) goto L_089F1A20; return; L_089F1A20: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F1A2C; } goto L_089F1A28; } L_089F1A28: ctx.gpr[17] = (0u | 1u); goto L_089F1A2C; L_089F1A2C: ctx.gpr[4] = (2232u << 16u); goto L_089F1A30; L_089F1A30: ctx.gpr[4] = (ctx.gpr[4] + static_cast(5736)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(148))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(144))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[5] = (static_cast(static_cast(ctx.gpr[4]) >> 2u)); ctx.gpr[5] = (ctx.gpr[5] >> 30u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[4] = (static_cast(static_cast(ctx.gpr[4]) >> 2u)); ctx.gpr[4] = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F19D8; } goto L_089F1A60; } L_089F1A60: { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_089F1A78; } goto L_089F1A68; } L_089F1A68: ctx.gpr[31] = (0x089F1A70u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0122_entry, 122u, 470u, 0x089EE880u>(ctx, &aot_mem) && ctx.pc == 0x089F1A70u) goto L_089F1A70; return; L_089F1A70: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1CA8; } goto L_089F1A78; } L_089F1A78: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1AB4; } goto L_089F1A80; } L_089F1A80: ctx.gpr[31] = (0x089F1A88u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 67u, 0x088C05B0u>(ctx, &aot_mem) && ctx.pc == 0x089F1A88u) goto L_089F1A88; return; L_089F1A88: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089F1AAC; } goto L_089F1A90; } L_089F1A90: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[5] = (0u | 3u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(24)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x089F1AACu); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F1AACu) goto L_089F1AAC; return; L_089F1AAC: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1CA8; } goto L_089F1AB4; } L_089F1AB4: 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_089F1BA8; } goto L_089F1AC4; } L_089F1AC4: ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[16] + static_cast(86))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8100))); ctx.gpr[4] = (ctx.gpr[4] & 255u); ctx.gpr[5] = (ctx.gpr[5] & 255u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[4]; // nop if (branch_taken) { goto L_089F1CA8; } goto L_089F1AE0; } L_089F1AE0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(68))); ctx.gpr[5] = (0u | 80u); ctx.gpr[4] = (ctx.gpr[4] & 496u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F1CA8; } goto L_089F1AF4; } L_089F1AF4: ctx.gpr[4] = (ctx.gpr[16] + 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(16)); { 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(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>(); ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (16937u << 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_089F1BA0; } goto L_089F1B38; } L_089F1B38: ctx.gpr[4] = (ctx.gpr[16] + 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.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (14545u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 46871u); 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_089F1BA0; } goto L_089F1B68; } L_089F1B68: ctx.gpr[4] = (2226u << 16u); ctx.gpr[31] = (0x089F1B74u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-3916)); if (rt.invoke_chained_direct<&recomp_unit_0121_entry, 121u, 308u, 0x089EA194u>(ctx, &aot_mem) && ctx.pc == 0x089F1B74u) goto L_089F1B74; return; L_089F1B74: ctx.gpr[31] = (0x089F1B7Cu); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 67u, 0x088C05B0u>(ctx, &aot_mem) && ctx.pc == 0x089F1B7Cu) goto L_089F1B7C; return; L_089F1B7C: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089F1BA0; } goto L_089F1B84; } L_089F1B84: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[5] = (0u | 3u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(24)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x089F1BA0u); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F1BA0u) goto L_089F1BA0; return; L_089F1BA0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1CA8; } goto L_089F1BA8; } L_089F1BA8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(68))); ctx.gpr[5] = (0u | 80u); ctx.gpr[4] = (ctx.gpr[4] & 496u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F1CA8; } goto L_089F1BBC; } L_089F1BBC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(640))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F1CA8; } goto L_089F1BC8; } L_089F1BC8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(640))); ctx.gpr[5] = (0u | 60000u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[5] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + 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_089F1CA8; } goto L_089F1BE8; } L_089F1BE8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(632))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + 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_089F1CA8; } goto L_089F1C00; } L_089F1C00: ctx.gpr[31] = (0x089F1C08u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0138_entry, 138u, 745u, 0x08A2F7ACu>(ctx, &aot_mem) && ctx.pc == 0x089F1C08u) goto L_089F1C08; return; L_089F1C08: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_089F1CA8; } goto L_089F1C10; } L_089F1C10: ctx.gpr[4] = (ctx.gpr[16] + 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(16)); { 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.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (16937u << 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_089F1CA8; } goto L_089F1C54; } L_089F1C54: ctx.gpr[4] = (ctx.gpr[16] + 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(32)); { 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] = (0x089F1C6Cu); // nop if (rt.invoke_chained_direct<&recomp_unit_0078_entry, 78u, 96u, 0x0893C734u>(ctx, &aot_mem) && ctx.pc == 0x089F1C6Cu) goto L_089F1C6C; return; L_089F1C6C: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_089F1CA8; } goto L_089F1C74; } L_089F1C74: ctx.gpr[31] = (0x089F1C7Cu); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 67u, 0x088C05B0u>(ctx, &aot_mem) && ctx.pc == 0x089F1C7Cu) goto L_089F1C7C; return; L_089F1C7C: { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089F1CA0; } goto L_089F1C84; } L_089F1C84: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[5] = (0u | 3u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(24)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x089F1CA0u); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x089F1CA0u) goto L_089F1CA0; return; L_089F1CA0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F1CA8; } goto L_089F1CA8; } L_089F1CA8: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(216))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(220))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(224))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(228))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(232))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(236))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(240))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(256)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_089F1CCC: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-208)); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(399)))))); ctx.gpr[6] = (0u | 1u); 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[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(172), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(176), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(180), std::bit_cast(ctx.fpr[28])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(184), std::bit_cast(ctx.fpr[30])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(188), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(192), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(196), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(200), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; ctx.gpr[16] = (ctx.gpr[4] | 0u); if (branch_taken) { goto L_089F1D64; } goto L_089F1D08; } L_089F1D08: ctx.fpr[12] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(84), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(88), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (ctx.gpr[29] + static_cast(80)); { 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[16] + static_cast(112)); { 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] = (0x089F1D30u); ctx.gpr[4] = (ctx.gpr[16] + static_cast(352)); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 191u, 0x089254B4u>(ctx, &aot_mem) && ctx.pc == 0x089F1D30u) goto L_089F1D30; return; L_089F1D30: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(400))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + 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_089F1D5C; } goto L_089F1D48; } L_089F1D48: aot_mem.aot_store8(ctx.gpr[16] + static_cast(399), static_cast(0u)); ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8148))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(384), ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[16] + static_cast(388), ctx.gpr[4]); goto L_089F1D5C; L_089F1D5C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F2118; } goto L_089F1D64; } L_089F1D64: ctx.gpr[31] = (0x089F1D6Cu); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0121_entry, 121u, 433u, 0x089EABF8u>(ctx, &aot_mem) && ctx.pc == 0x089F1D6Cu) goto L_089F1D6C; return; L_089F1D6C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(364))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8148))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(368))); ctx.gpr[9] = (0u | 0u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[6]); ctx.gpr[5] = (static_cast(static_cast(ctx.gpr[4]) >> 31u)); ctx.gpr[6] = (ctx.gpr[9] ^ ctx.gpr[5]); ctx.gpr[6] = (ctx.gpr[6] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[8] < ctx.gpr[4] ? 1u : 0u); ctx.gpr[7] = (static_cast(ctx.gpr[9]) < static_cast(ctx.gpr[5]) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[6] & ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] | ctx.gpr[7]); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F1DB0; } goto L_089F1DA8; } L_089F1DA8: ctx.gpr[31] = (0x089F1DB0u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0121_entry, 121u, 609u, 0x089EBF6Cu>(ctx, &aot_mem) && ctx.pc == 0x089F1DB0u) goto L_089F1DB0; return; L_089F1DB0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(68))); ctx.gpr[5] = (0u | 48u); ctx.gpr[4] = (ctx.gpr[4] & 496u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_089F2118; } goto L_089F1DC4; } L_089F1DC4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(364))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { const bool branch_taken = static_cast(ctx.gpr[4]) >= 0; ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); if (branch_taken) { goto L_089F1DEC; } goto L_089F1DE0; } L_089F1DE0: ctx.gpr[4] = (20352u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; goto L_089F1DEC; L_089F1DEC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(368))); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); ctx.fpr[20] = ctx.fpr[12] / ctx.fpr[13]; ctx.gpr[17] = (2228u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(160), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-26868))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(372))); ctx.gpr[6] = (ctx.gpr[5] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[6] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(6)))))); ctx.fpr[12] = std::bit_cast(ctx.gpr[7]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[7] = (15395u << 16u); ctx.gpr[7] = (ctx.gpr[7] | 55050u); ctx.fpr[13] = std::bit_cast(ctx.gpr[7]); { 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[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(393)))))); ctx.fpr[14] = std::bit_cast(ctx.gpr[7]); ctx.fpr[14] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); { 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[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(7)))))); ctx.fpr[15] = std::bit_cast(ctx.gpr[6]); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[13]; 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; } { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(376))); ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[6] = (ctx.gpr[4] + ctx.gpr[6]); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(6)))))); ctx.fpr[12] = std::bit_cast(ctx.gpr[7]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); { 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[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(394)))))); ctx.fpr[14] = std::bit_cast(ctx.gpr[7]); ctx.fpr[14] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); { 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[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(7)))))); ctx.fpr[15] = std::bit_cast(ctx.gpr[6]); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); { const float fs = ctx.fpr[15]; 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; } { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } ctx.gpr[31] = (0x089F1EB0u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); if (rt.invoke_chained_direct<&recomp_unit_0092_entry, 92u, 353u, 0x08975558u>(ctx, &aot_mem) && ctx.pc == 0x089F1EB0u) goto L_089F1EB0; return; L_089F1EB0: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(395)))))); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[0]; ctx.gpr[4] = (16544u << 16u); ctx.fpr[30] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-26868))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(376))); ctx.gpr[6] = (ctx.gpr[5] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[31] = (0x089F1EECu); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); if (rt.invoke_chained_direct<&recomp_unit_0092_entry, 92u, 353u, 0x08975558u>(ctx, &aot_mem) && ctx.pc == 0x089F1EECu) goto L_089F1EEC; return; L_089F1EEC: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(396)))))); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[0]; { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[30]; 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] = (aot_mem.aot_load16(ctx.gpr[16] + static_cast(86))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(372))); ctx.gpr[5] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[6] = (ctx.gpr[5] & 7u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(-3)); ctx.fpr[13] = std::bit_cast(ctx.gpr[6]); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); ctx.gpr[6] = (15379u << 16u); ctx.gpr[6] = (ctx.gpr[6] | 29884u); ctx.fpr[14] = std::bit_cast(ctx.gpr[6]); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[14]; 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; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(96), std::bit_cast(ctx.fpr[13])); ctx.gpr[5] = (static_cast(static_cast(ctx.gpr[5]) >> 3u)); ctx.gpr[5] = (ctx.gpr[5] & 7u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-3)); ctx.fpr[15] = std::bit_cast(ctx.gpr[5]); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[14]; 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; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(100), std::bit_cast(ctx.fpr[15])); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(376))); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[4] & 7u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-3)); ctx.fpr[16] = std::bit_cast(ctx.gpr[5]); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(112), std::bit_cast(ctx.fpr[16])); ctx.gpr[4] = (static_cast(static_cast(ctx.gpr[4]) >> 3u)); ctx.gpr[4] = (ctx.gpr[4] & 7u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-3)); ctx.fpr[17] = std::bit_cast(ctx.gpr[4]); ctx.fpr[17] = static_cast(static_cast(std::bit_cast(ctx.fpr[17]))); { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[14]; 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; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(116), std::bit_cast(ctx.fpr[14])); ctx.fpr[13] = ctx.fpr[13] + ctx.fpr[22]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(96), std::bit_cast(ctx.fpr[13])); ctx.fpr[13] = ctx.fpr[15] + ctx.fpr[24]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(100), std::bit_cast(ctx.fpr[13])); ctx.fpr[13] = ctx.fpr[16] + ctx.fpr[26]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(112), std::bit_cast(ctx.fpr[13])); ctx.fpr[13] = ctx.fpr[14] + ctx.fpr[28]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(116), std::bit_cast(ctx.fpr[13])); ctx.fpr[13] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(120), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(104), std::bit_cast(ctx.fpr[13])); ctx.gpr[6] = (ctx.gpr[29] + static_cast(96)); { const std::uint32_t vfpu_address = ctx.gpr[6] + 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_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 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] = 1.0f / std::sqrt(vfpu_s[i]); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[6] + 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[7] = (ctx.gpr[29] + static_cast(112)); { 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_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 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] = 1.0f / std::sqrt(vfpu_s[i]); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 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])); } ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-26868))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(372))); ctx.gpr[9] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); ctx.gpr[8] = (ctx.gpr[8] << 2u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[8]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.fpr[14] = std::bit_cast(ctx.gpr[8]); ctx.fpr[14] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); ctx.gpr[8] = (15872u << 16u); ctx.fpr[15] = std::bit_cast(ctx.gpr[8]); { 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; } { const float fs = ctx.fpr[24]; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[16]; ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(2)))))); ctx.fpr[17] = std::bit_cast(ctx.gpr[4]); ctx.fpr[17] = static_cast(static_cast(std::bit_cast(ctx.fpr[17]))); { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } ctx.fpr[16] = ctx.fpr[17] - ctx.fpr[18]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(128), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(132), std::bit_cast(ctx.fpr[16])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), std::bit_cast(ctx.fpr[13])); ctx.gpr[4] = (ctx.gpr[29] + static_cast(128)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(376))); ctx.gpr[9] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); ctx.gpr[8] = (ctx.gpr[8] << 2u); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[8]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(0)))))); ctx.fpr[14] = std::bit_cast(ctx.gpr[8]); ctx.fpr[14] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); { 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; } { const float fs = ctx.fpr[28]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[16]; ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(2)))))); ctx.fpr[17] = std::bit_cast(ctx.gpr[5]); ctx.fpr[17] = static_cast(static_cast(std::bit_cast(ctx.fpr[17]))); { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[15]; 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; } { const float fs = ctx.fpr[26]; 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[15] - ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(144), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(148), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(152), std::bit_cast(ctx.fpr[13])); ctx.gpr[5] = (ctx.gpr[29] + static_cast(144)); ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(368))); ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[18] = (ctx.gpr[29] + static_cast(48)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(160))); ctx.gpr[9] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x089F20D4u); ctx.gpr[10] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0070_entry, 70u, 159u, 0x0891CC18u>(ctx, &aot_mem) && ctx.pc == 0x089F20D4u) goto L_089F20D4; return; L_089F20D4: ctx.gpr[4] = (16752u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(40), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x089F20ECu); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0124_entry, 124u, 148u, 0x089F57BCu>(ctx, &aot_mem) && ctx.pc == 0x089F20ECu) goto L_089F20EC; return; L_089F20EC: ctx.gpr[4] = (17008u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<1u>(ctx.gpr[4]); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<1u, 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<1u, 1u>(vfpu_d); } { 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); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { 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])); } { 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); } ctx.gpr[4] = (ctx.gpr[16] + static_cast(112)); { 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])); } goto L_089F2118; L_089F2118: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(164))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(168))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(172))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(176))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(180))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(184))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(188))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(192))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(196))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(200))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(208)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_089F2148: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-112)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(84), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[4] | 0u); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[19] + static_cast(397)))))); ctx.gpr[5] = (0u | 2u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(56), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(60), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(72), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(76), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(88), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(92), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(96), ctx.gpr[22]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(100), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(104), ctx.gpr[30]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(108), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; ctx.gpr[5] = (0u | 3u); if (branch_taken) { goto L_089F2200; } goto L_089F2198; } L_089F2198: { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; ctx.gpr[4] = (ctx.gpr[19] + static_cast(48)); if (branch_taken) { goto L_089F2200; } goto L_089F21A0; } L_089F21A0: ctx.gpr[5] = (16736u << 16u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.fpr[26] = std::bit_cast(ctx.gpr[5]); ctx.gpr[5] = (16928u << 16u); ctx.fpr[20] = ctx.fpr[22] - ctx.fpr[26]; ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.fpr[14] = ctx.fpr[20] / ctx.fpr[12]; ctx.gpr[6] = (16968u << 16u); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.gpr[7] = (0u | 0u); ctx.gpr[16] = (2227u << 16u); ctx.gpr[30] = (0u | 0u); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[16] + static_cast(20720))); ctx.fpr[13] = std::bit_cast(ctx.gpr[6]); ctx.fpr[22] = ctx.fpr[22] + ctx.fpr[26]; ctx.fpr[24] = ctx.fpr[15] - ctx.fpr[26]; ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[13]; ctx.fpr[14] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[14])); ctx.gpr[4] = (std::bit_cast(ctx.fpr[14])); ctx.gpr[6] = (static_cast(ctx.gpr[7]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] != 0u; ctx.fpr[26] = ctx.fpr[15] + ctx.fpr[26]; if (branch_taken) { goto L_089F2218; } goto L_089F21F8; } L_089F21F8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F221C; } goto L_089F2200; } L_089F2200: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[19] + static_cast(408)))))); ctx.fpr[0] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(412))); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); { const bool branch_taken = 0u == 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[0] = std::bit_cast(0x7FC00000u); else ctx.fpr[0] = fs * ft; } if (branch_taken) { goto L_089F249C; } goto L_089F2218; } L_089F2218: ctx.gpr[30] = (ctx.gpr[4] | 0u); goto L_089F221C; L_089F221C: ctx.fpr[14] = ctx.fpr[24] / ctx.fpr[12]; ctx.gpr[6] = (0u | 0u); ctx.gpr[22] = (0u | 0u); ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[13]; ctx.fpr[14] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[14])); ctx.gpr[4] = (std::bit_cast(ctx.fpr[14])); ctx.gpr[6] = (static_cast(ctx.gpr[6]) < static_cast(ctx.gpr[4]) ? 1u : 0u); if (ctx.gpr[6] != 0u) { ctx.gpr[22] = (ctx.gpr[4] | 0u); goto L_089F2240; } goto L_089F2240; L_089F2240: ctx.fpr[14] = ctx.fpr[22] / ctx.fpr[12]; ctx.gpr[21] = (0u | 99u); ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[13]; ctx.fpr[14] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[14])); ctx.gpr[4] = (std::bit_cast(ctx.fpr[14])); ctx.gpr[6] = (static_cast(ctx.gpr[4]) < 99 ? 1u : 0u); if (ctx.gpr[6] != 0u) { ctx.gpr[21] = (ctx.gpr[4] | 0u); goto L_089F2260; } goto L_089F2260; L_089F2260: ctx.fpr[12] = ctx.fpr[26] / ctx.fpr[12]; ctx.gpr[4] = (0u | 99u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(48), ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; 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])); ctx.gpr[6] = (static_cast(ctx.gpr[4]) < 99 ? 1u : 0u); if (ctx.gpr[6] != 0u) { aot_mem.aot_store32(ctx.gpr[29] + static_cast(48), ctx.gpr[4]); goto L_089F2284; } goto L_089F2284; L_089F2284: ctx.gpr[4] = (0u | 65535u); 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[4] = (ctx.gpr[5] + static_cast(1)); if (branch_taken) { goto L_089F22B0; } goto L_089F2294; } L_089F2294: aot_mem.aot_store16(ctx.gpr[16] + static_cast(20720), static_cast(ctx.gpr[4])); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[19] + static_cast(408)))))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(412))); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); { const bool branch_taken = 0u == 0u; { const float fs = ctx.fpr[13]; 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_089F22D4; } goto L_089F22B0; } L_089F22B0: ctx.gpr[31] = (0x089F22B8u); // nop if (rt.invoke_chained_direct<&recomp_unit_0048_entry, 48u, 166u, 0x088C4CA0u>(ctx, &aot_mem) && ctx.pc == 0x089F22B8u) goto L_089F22B8; return; L_089F22B8: ctx.gpr[4] = (0u | 1u); aot_mem.aot_store16(ctx.gpr[16] + static_cast(20720), static_cast(ctx.gpr[4])); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[19] + static_cast(408)))))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(412))); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); { const float fs = ctx.fpr[13]; 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; } goto L_089F22D4; L_089F22D4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(48))); ctx.gpr[23] = (ctx.gpr[22] | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[23]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(44), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_089F2450; } goto L_089F22E8; } L_089F22E8: ctx.gpr[4] = (ctx.gpr[22] << 5u); ctx.gpr[5] = (ctx.gpr[22] + ctx.gpr[4]); ctx.gpr[22] = (ctx.gpr[5] << 2u); ctx.gpr[18] = (ctx.gpr[29] + static_cast(44)); ctx.gpr[22] = (ctx.gpr[22] - ctx.gpr[4]); ctx.gpr[20] = (2227u << 16u); goto L_089F2300; L_089F2300: ctx.gpr[17] = (ctx.gpr[30] | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[21]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[4] = (ctx.gpr[30] + ctx.gpr[22]); if (branch_taken) { goto L_089F243C; } goto L_089F2310; } L_089F2310: ctx.gpr[16] = (ctx.gpr[4] << 4u); ctx.gpr[4] = (ctx.gpr[16] - ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[16] = (ctx.gpr[4] - ctx.gpr[16]); goto L_089F2320; L_089F2320: aot_mem.aot_store32(ctx.gpr[29] + static_cast(52), ctx.gpr[22]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[19] + static_cast(408)))))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast(20716))); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(412))); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[22] = (ctx.gpr[5] + ctx.gpr[16]); ctx.gpr[4] = (ctx.gpr[22] + static_cast(20)); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[31] = (0x089F2360u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (rt.invoke_chained_direct<&recomp_unit_0121_entry, 121u, 454u, 0x089EAD48u>(ctx, &aot_mem) && ctx.pc == 0x089F2360u) goto L_089F2360; return; L_089F2360: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[19] + static_cast(408)))))); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(412))); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[14] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[4] = (ctx.gpr[22] + static_cast(24)); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); { 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[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[31] = (0x089F2394u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (rt.invoke_chained_direct<&recomp_unit_0121_entry, 121u, 454u, 0x089EAD48u>(ctx, &aot_mem) && ctx.pc == 0x089F2394u) goto L_089F2394; return; L_089F2394: ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[19] + static_cast(408)))))); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (ctx.gpr[22] + static_cast(8)); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.gpr[6] = (ctx.gpr[18] | 0u); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[31] = (0x089F23C0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (rt.invoke_chained_direct<&recomp_unit_0121_entry, 121u, 454u, 0x089EAD48u>(ctx, &aot_mem) && ctx.pc == 0x089F23C0u) goto L_089F23C0; return; L_089F23C0: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[19] + static_cast(408)))))); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(412))); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[4] = (ctx.gpr[22] + static_cast(28)); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[31] = (0x089F23F4u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[26])); goto L_089F24DC; L_089F23F4: ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[19] + static_cast(408)))))); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(412))); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[22] + static_cast(32)); ctx.fpr[17] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[31] = (0x089F2428u); { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } goto L_089F24DC; L_089F2428: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[16] = (ctx.gpr[16] + static_cast(44)); ctx.gpr[4] = (static_cast(ctx.gpr[21]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(52))); if (branch_taken) { goto L_089F2320; } goto L_089F243C; } L_089F243C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(48))); ctx.gpr[23] = (ctx.gpr[23] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[23]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[22] = (ctx.gpr[22] + static_cast(100)); if (branch_taken) { goto L_089F2300; } goto L_089F2450; } L_089F2450: ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[19] + static_cast(598)))))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[19] + static_cast(397)))))); ctx.gpr[5] = (ctx.gpr[5] | 32u); aot_mem.aot_store8(ctx.gpr[19] + static_cast(598), static_cast(ctx.gpr[5])); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.fpr[0] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(44))); if (branch_taken) { goto L_089F2474; } goto L_089F2468; } L_089F2468: ctx.gpr[5] = (0u | 4u); if (ctx.gpr[4] != ctx.gpr[5]) { ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[19] + static_cast(408)))))); goto L_089F247C; } goto L_089F2474; L_089F2474: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F249C; } goto L_089F247C; } L_089F247C: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(412))); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); ctx.gpr[4] = (16128u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[13]; 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[0] = ctx.fpr[0] + ctx.fpr[12]; { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[0] = std::bit_cast(0x7FC00000u); else ctx.fpr[0] = fs * ft; } goto L_089F249C; L_089F249C: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(56))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(60))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(72))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(76))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(88))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(92))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(96))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(100))); ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(104))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(108))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(112)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_089F24DC: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-240)); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(88)))))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(200), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[4] = (ctx.gpr[7] << 2u); ctx.gpr[7] = (2229u << 16u); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[7] + static_cast(-11604))); ctx.gpr[4] = (ctx.gpr[7] + ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(180), std::bit_cast(ctx.fpr[28])); ctx.gpr[4] = (ctx.gpr[4] + static_cast(32)); ctx.fpr[28] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(152), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(148), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(144), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(196), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(216), ctx.gpr[23]); ctx.gpr[18] = (ctx.gpr[5] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), std::bit_cast(ctx.fpr[16])); ctx.gpr[23] = (ctx.gpr[6] | 0u); 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[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(172), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(176), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(184), std::bit_cast(ctx.fpr[30])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(188), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(192), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(204), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(208), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(212), ctx.gpr[22]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(220), ctx.gpr[30]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(224), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[19] == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(140), std::bit_cast(ctx.fpr[15])); if (branch_taken) { goto L_089F2C34; } goto L_089F2568; } L_089F2568: ctx.gpr[4] = (ctx.gpr[18] + static_cast(16)); ctx.fpr[26] = std::bit_cast(0u); ctx.gpr[6] = (16448u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[6]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(128), ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[28] + ctx.fpr[12]; ctx.gpr[4] = (15820u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.gpr[5] = (ctx.gpr[18] + static_cast(112)); ctx.fpr[15] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(132), ctx.gpr[5]); ctx.gpr[4] = (16672u << 16u); ctx.gpr[20] = (ctx.gpr[18] + static_cast(48)); ctx.fpr[30] = std::bit_cast(ctx.gpr[4]); ctx.gpr[22] = (ctx.gpr[29] + static_cast(16)); ctx.gpr[21] = (0u | 1u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(156), std::bit_cast(ctx.fpr[12])); ctx.gpr[30] = (2230u << 16u); goto L_089F25B0; L_089F25B0: ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(0))); ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[17] + static_cast(84))); ctx.gpr[5] = (2227u << 16u); ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast(20720))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[6]; ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(8))); if (branch_taken) { goto L_089F2C2C; } goto L_089F25C8; } L_089F25C8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 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; // nop if (branch_taken) { goto L_089F2C2C; } goto L_089F25E0; } L_089F25E0: ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast(20720))); aot_mem.aot_store16(ctx.gpr[17] + static_cast(84), static_cast(ctx.gpr[4])); 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<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[29] + static_cast(48))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(152))); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F2C2C; } goto L_089F2610; } L_089F2610: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(48))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(144))); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F2C2C; } goto L_089F2628; } L_089F2628: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(52))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(148))); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F2C2C; } goto L_089F2640; } L_089F2640: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(52))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(140))); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F2C2C; } goto L_089F2658; } L_089F2658: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(56))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(8))); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13]; ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[26])); // nop if (ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); goto L_089F2674; } goto L_089F2674; L_089F2674: ctx.gpr[5] = (16512u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F2C2C; } goto L_089F268C; } L_089F268C: { 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[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); } 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); } { 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] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(128))); { 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[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<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[22] = std::bit_cast(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.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(132))); { 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); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[20] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[28] < ctx.fpr[22])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[4] = (16968u << 16u); if (branch_taken) { goto L_089F2C2C; } goto L_089F26E8; } L_089F26E8: ctx.fpr[24] = ctx.fpr[22] - ctx.fpr[28]; ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[20]; 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[12]; 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.set_fpu_condition((ctx.fpr[24] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F2C2C; } goto L_089F2708; } L_089F2708: { 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); } { 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<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[26])); // nop if (ctx.fpu_condition()) { ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[13]) ^ 0x80000000u); goto L_089F272C; } goto L_089F272C; L_089F272C: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[18] + static_cast(88)))))); 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.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(836))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(32)); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[4] = (0u | 5u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[4]; // nop if (branch_taken) { goto L_089F2770; } goto L_089F2760; } L_089F2760: ctx.gpr[4] = (16332u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[16] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[16]; 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; } goto L_089F2770; L_089F2770: ctx.gpr[4] = (16128u << 16u); ctx.fpr[16] = std::bit_cast(ctx.gpr[4]); ctx.fpr[16] = ctx.fpr[14] + ctx.fpr[16]; ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[16])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F2C2C; } goto L_089F278C; } L_089F278C: 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_089F2B84; } goto L_089F27A8; } L_089F27A8: ctx.gpr[16] = (ctx.gpr[17] | 0u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(844))); ctx.gpr[5] = (0u | 31u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_089F2B78; } goto L_089F27BC; } L_089F27BC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(844))); ctx.gpr[5] = (0u | 45u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_089F2B78; } goto L_089F27CC; } L_089F27CC: ctx.set_fpu_condition((ctx.fpr[24] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F2928; } goto L_089F27DC; } L_089F27DC: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[18] + static_cast(88)))))); ctx.gpr[5] = (0u | 169u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F286C; } goto L_089F27EC; } L_089F27EC: aot_mem.aot_store32(ctx.gpr[29] + static_cast(160), ctx.gpr[16]); ctx.gpr[31] = (0x089F27F8u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x089F27F8u) goto L_089F27F8; return; L_089F27F8: ctx.gpr[17] = (ctx.gpr[3] | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[31] = (0x089F2808u); ctx.gpr[16] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x089F2808u) goto L_089F2808; return; L_089F2808: ctx.gpr[4] = (2229u << 16u); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-17340))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-17344))); ctx.gpr[5] = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x089F2820u); ctx.gpr[4] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 446u, 0x08AF62D8u>(ctx, &aot_mem) && ctx.pc == 0x089F2820u) goto L_089F2820; return; L_089F2820: ctx.gpr[4] = (2229u << 16u); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-17332))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-17336))); ctx.gpr[5] = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x089F2838u); ctx.gpr[4] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 446u, 0x08AF62D8u>(ctx, &aot_mem) && ctx.pc == 0x089F2838u) goto L_089F2838; return; L_089F2838: ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x089F284Cu); ctx.gpr[6] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 524u, 0x08AF6874u>(ctx, &aot_mem) && ctx.pc == 0x089F284Cu) goto L_089F284C; return; L_089F284C: { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(160))); if (branch_taken) { goto L_089F2B78; } goto L_089F2854; } L_089F2854: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x089F2864u); ctx.gpr[6] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0106_entry, 106u, 717u, 0x089AFFC0u>(ctx, &aot_mem) && ctx.pc == 0x089F2864u) goto L_089F2864; return; L_089F2864: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F2B78; } goto L_089F286C; } L_089F286C: ctx.gpr[4] = (16025u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 39322u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[20] <= ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F28CC; } goto L_089F2888; } L_089F2888: ctx.fpr[12] = ctx.fpr[14] + 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_089F28B4; } goto L_089F289C; } L_089F289C: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x089F28ACu); ctx.gpr[6] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0107_entry, 107u, 72u, 0x089B0398u>(ctx, &aot_mem) && ctx.pc == 0x089F28ACu) goto L_089F28AC; return; L_089F28AC: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F2B78; } goto L_089F28B4; } L_089F28B4: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x089F28C4u); ctx.gpr[6] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0106_entry, 106u, 717u, 0x089AFFC0u>(ctx, &aot_mem) && ctx.pc == 0x089F28C4u) goto L_089F28C4; return; L_089F28C4: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F2B78; } goto L_089F28CC; } L_089F28CC: ctx.set_fpu_condition((ctx.fpr[20] <= ctx.fpr[15])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F2B78; } goto L_089F28DC; } L_089F28DC: ctx.gpr[4] = (48896u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[14] + ctx.fpr[12]; ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F2910; } goto L_089F28F8; } L_089F28F8: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x089F2908u); ctx.gpr[6] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0107_entry, 107u, 72u, 0x089B0398u>(ctx, &aot_mem) && ctx.pc == 0x089F2908u) goto L_089F2908; return; L_089F2908: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F2B78; } goto L_089F2910; } L_089F2910: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x089F2920u); ctx.gpr[6] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0106_entry, 106u, 717u, 0x089AFFC0u>(ctx, &aot_mem) && ctx.pc == 0x089F2920u) goto L_089F2920; return; L_089F2920: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F2B78; } goto L_089F2928; } L_089F2928: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 496u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F2A30; } goto L_089F2938; } L_089F2938: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(844))); ctx.gpr[5] = (0u | 9u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_089F2A30; } goto L_089F2948; } L_089F2948: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(428))); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[21]; // nop if (branch_taken) { goto L_089F2A30; } goto L_089F2954; } L_089F2954: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(0))); ctx.gpr[4] = (ctx.gpr[16] + static_cast(48)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(4))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.fpr[12] = ctx.fpr[14] - ctx.fpr[12]; ctx.gpr[31] = (0x089F2974u); ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[15]; if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 288u, 0x089D96E8u>(ctx, &aot_mem) && ctx.pc == 0x089F2974u) goto L_089F2974; return; L_089F2974: ctx.gpr[31] = (0x089F297Cu); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (rt.invoke_chained_direct<&recomp_unit_0134_entry, 134u, 260u, 0x08A1D4E8u>(ctx, &aot_mem) && ctx.pc == 0x089F297Cu) goto L_089F297C; return; L_089F297C: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1248))); ctx.gpr[31] = (0x089F2988u); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (rt.invoke_chained_direct<&recomp_unit_0134_entry, 134u, 260u, 0x08A1D4E8u>(ctx, &aot_mem) && ctx.pc == 0x089F2988u) goto L_089F2988; return; L_089F2988: ctx.fpr[12] = ctx.fpr[20] - ctx.fpr[0]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(1248), std::bit_cast(ctx.fpr[0])); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[26])); // nop if (ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); goto L_089F29A0; } goto L_089F29A0; L_089F29A0: ctx.gpr[4] = (16457u << 16u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[14])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F29D0; } goto L_089F29C0; } L_089F29C0: ctx.gpr[4] = (16585u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[12]; goto L_089F29D0; L_089F29D0: ctx.gpr[4] = (16329u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 4059u); 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_089F29F8; } goto L_089F29EC; } L_089F29EC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(680))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F2A28; } goto L_089F29F8; } L_089F29F8: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x089F2A08u); ctx.gpr[6] = (0u | 2000u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 385u, 0x089A1B10u>(ctx, &aot_mem) && ctx.pc == 0x089F2A08u) goto L_089F2A08; return; L_089F2A08: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(404))); ctx.gpr[5] = (57344u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-1)); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[16] + static_cast(404), ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x089F2A28u); ctx.gpr[5] = (0u | 4u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 546u, 0x089A2520u>(ctx, &aot_mem) && ctx.pc == 0x089F2A28u) goto L_089F2A28; return; L_089F2A28: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F2B78; } goto L_089F2A30; } L_089F2A30: ctx.gpr[31] = (0x089F2A38u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x089F2A38u) goto L_089F2A38; return; L_089F2A38: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F2B78; } goto L_089F2A40; } L_089F2A40: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(156))); ctx.set_fpu_condition((ctx.fpr[22] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F2B78; } goto L_089F2A54; } L_089F2A54: ctx.gpr[31] = (0x089F2A5Cu); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 351u, 0x0899E254u>(ctx, &aot_mem) && ctx.pc == 0x089F2A5Cu) goto L_089F2A5C; return; L_089F2A5C: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_089F2B78; } goto L_089F2A64; } L_089F2A64: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(2932))); ctx.gpr[4] = (16256u << 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_089F2B78; } goto L_089F2A80; } L_089F2A80: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(404))); ctx.gpr[4] = (ctx.gpr[4] & 16u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F2B78; } goto L_089F2A90; } L_089F2A90: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(1780))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[30] + 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_089F2B78; } goto L_089F2AA4; } L_089F2AA4: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x089F2AB0u); ctx.gpr[5] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 273u, 0x089452C4u>(ctx, &aot_mem) && ctx.pc == 0x089F2AB0u) goto L_089F2AB0; return; L_089F2AB0: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[31] = (0x089F2AC4u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 85u, 0x089A064Cu>(ctx, &aot_mem) && ctx.pc == 0x089F2AC4u) goto L_089F2AC4; return; L_089F2AC4: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x089F2AD0u); ctx.gpr[5] = (0u | 1500u); if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 798u, 0x0899FF9Cu>(ctx, &aot_mem) && ctx.pc == 0x089F2AD0u) goto L_089F2AD0; return; L_089F2AD0: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + 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))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F2B6C; } goto L_089F2AF4; } L_089F2AF4: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + 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 | 6u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_089F2B6C; } goto L_089F2B1C; } L_089F2B1C: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + 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 | 17u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_089F2B6C; } goto L_089F2B44; } L_089F2B44: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + 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 | 23u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F2B78; } goto L_089F2B6C; } L_089F2B6C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(412))); ctx.gpr[4] = (ctx.gpr[4] | 1u); aot_mem.aot_store32(ctx.gpr[16] + static_cast(412), ctx.gpr[4]); goto L_089F2B78; L_089F2B78: ctx.gpr[4] = (15820u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[15] = std::bit_cast(ctx.gpr[4]); goto L_089F2B84; L_089F2B84: ctx.set_fpu_condition((ctx.fpr[24] < ctx.fpr[30])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F2C2C; } goto L_089F2B94; } L_089F2B94: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[18] + static_cast(397)))))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F2BBC; } goto L_089F2BA0; } L_089F2BA0: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[18] + static_cast(397)))))); ctx.gpr[5] = (0u | 4u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_089F2BBC; } goto L_089F2BB0; } L_089F2BB0: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[18] + static_cast(397)))))); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[21]; // nop if (branch_taken) { goto L_089F2C2C; } goto L_089F2BBC; } L_089F2BBC: ctx.gpr[4] = (16256u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[24] - ctx.fpr[12]; ctx.set_fpu_condition((ctx.fpr[26] <= ctx.fpr[12])); // nop if (!ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); goto L_089F2BD8; } goto L_089F2BD8; L_089F2BD8: ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[30]; ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(136))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[23] + static_cast(0))); { 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.set_fpu_condition((ctx.fpr[14] < ctx.fpr[12])); // nop if (ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[23] + static_cast(0))); goto L_089F2BF8; } goto L_089F2BF8; L_089F2BF8: aot_mem.aot_store32(ctx.gpr[23] + static_cast(0), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[18] + static_cast(416)))))); ctx.gpr[5] = (16384u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 2u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.set_fpu_condition((ctx.fpr[24] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); aot_mem.aot_store8(ctx.gpr[18] + static_cast(416), static_cast(ctx.gpr[4])); if (branch_taken) { goto L_089F2C2C; } goto L_089F2C1C; } L_089F2C1C: aot_mem.aot_store8(ctx.gpr[18] + static_cast(399), static_cast(ctx.gpr[21])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[30] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(3000)); aot_mem.aot_store32(ctx.gpr[18] + static_cast(400), ctx.gpr[4]); goto L_089F2C2C; L_089F2C2C: { const bool branch_taken = ctx.gpr[19] != 0u; // nop if (branch_taken) { goto L_089F25B0; } goto L_089F2C34; } L_089F2C34: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(164))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(168))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(172))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(176))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(180))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(184))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(188))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(192))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(196))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(200))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(204))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(208))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(212))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(216))); ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(220))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(224))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(240)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_089F2C7C: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-160)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(16))); { 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[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(20))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(ctx.fpr[13])); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[14]; 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; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(108), std::bit_cast(ctx.fpr[20])); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = ctx.fpr[15] + ctx.fpr[13]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(112), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(116), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(120), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(124), std::bit_cast(ctx.fpr[28])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(128), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(132), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(140), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(144), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(148), ctx.gpr[31]); ctx.fpr[12] = std::sqrt(ctx.fpr[12]); ctx.fpr[22] = std::bit_cast(0u); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[17] = (ctx.gpr[5] | 0u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[22])) && ctx.fpr[12] == ctx.fpr[22])); // nop { const bool branch_taken = ctx.fpu_condition(); ctx.gpr[18] = (ctx.gpr[6] | 0u); if (branch_taken) { goto L_089F2D08; } goto L_089F2CEC; } L_089F2CEC: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.fpr[13] = ctx.fpr[13] / ctx.fpr[12]; ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); ctx.fpr[12] = ctx.fpr[14] / ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(ctx.fpr[13])); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_089F2D14; } goto L_089F2D08; } L_089F2D08: ctx.gpr[4] = (16256u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(ctx.fpr[12])); goto L_089F2D14; L_089F2D14: ctx.gpr[4] = (ctx.gpr[16] + static_cast(48)); ctx.gpr[5] = (ctx.gpr[17] + 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[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13]; ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.fpr[14] = ctx.fpr[14] - ctx.fpr[15]; ctx.fpr[17] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[16]; 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[14]; const float ft = ctx.fpr[17]; 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] = ctx.fpr[12] + ctx.fpr[14]; ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[22])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F2DEC; } goto L_089F2D58; } L_089F2D58: aot_mem.aot_store32(ctx.gpr[29] + static_cast(72), std::bit_cast(ctx.fpr[22])); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(112))); ctx.gpr[4] = (17008u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[24]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(116))); { const float fs = ctx.fpr[13]; 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[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[20]; 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(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[20]; 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[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(16))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(20))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(32), std::bit_cast(ctx.fpr[15])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(36), std::bit_cast(ctx.fpr[16])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(40), std::bit_cast(ctx.fpr[22])); ctx.gpr[4] = (ctx.gpr[29] + static_cast(32)); { 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[19] = (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[19] + 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[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[15]; 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.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fpr[15] = ctx.fpr[15] + ctx.fpr[16]; ctx.fpr[15] = std::sqrt(ctx.fpr[15]); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[15]) || std::isnan(ctx.fpr[22])) && ctx.fpr[15] == ctx.fpr[22])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F2DF4; } goto L_089F2DD0; } L_089F2DD0: ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); ctx.fpr[16] = ctx.fpr[16] / ctx.fpr[15]; ctx.fpr[17] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); ctx.fpr[15] = ctx.fpr[17] / ctx.fpr[15]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), std::bit_cast(ctx.fpr[16])); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(84), std::bit_cast(ctx.fpr[15])); if (branch_taken) { goto L_089F2E00; } goto L_089F2DEC; } L_089F2DEC: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F302C; } goto L_089F2DF4; } L_089F2DF4: ctx.gpr[4] = (16256u << 16u); ctx.fpr[15] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), std::bit_cast(ctx.fpr[15])); goto L_089F2E00; L_089F2E00: ctx.fpr[26] = ctx.fpr[24] - ctx.fpr[13]; ctx.gpr[20] = (ctx.gpr[29] + static_cast(64)); ctx.fpr[28] = ctx.fpr[12] - ctx.fpr[14]; ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[6] = (ctx.gpr[20] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[31] = (0x089F2E2Cu); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[28])); goto L_089F3060; L_089F2E2C: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26]) ^ 0x80000000u); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[28]) ^ 0x80000000u); ctx.gpr[6] = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); ctx.gpr[31] = (0x089F2E50u); ctx.gpr[8] = (0u | 1u); goto L_089F3060; L_089F2E50: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.set_fpu_condition((ctx.fpr[24] < ctx.fpr[12])); // nop if (ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[24])); goto L_089F2E64; } goto L_089F2E64; L_089F2E64: ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12])); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[22])); // nop { const bool branch_taken = ctx.fpu_condition(); ctx.gpr[4] = (16320u << 16u); if (branch_taken) { goto L_089F2EE0; } goto L_089F2E78; } L_089F2E78: ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[14])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[4] = (15948u << 16u); if (branch_taken) { goto L_089F2EE0; } goto L_089F2E8C; } L_089F2E8C: ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = ctx.fpr[12] - ctx.fpr[13]; ctx.gpr[4] = (16196u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 60495u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[14]; 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.set_fpu_condition((ctx.fpr[22] <= ctx.fpr[13])); // nop if (!ctx.fpu_condition()) { ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[22])); goto L_089F2EB8; } goto L_089F2EB8; L_089F2EB8: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(416)))))); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[20]; 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] = (ctx.gpr[4] | 1u); aot_mem.aot_store8(ctx.gpr[17] + static_cast(416), static_cast(ctx.gpr[4])); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); ctx.set_fpu_condition((ctx.fpr[14] < ctx.fpr[12])); // nop if (ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); goto L_089F2EDC; } goto L_089F2EDC; L_089F2EDC: aot_mem.aot_store32(ctx.gpr[18] + static_cast(0), std::bit_cast(ctx.fpr[12])); goto L_089F2EE0; L_089F2EE0: 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_089F2F08; } goto L_089F2EF0; } L_089F2EF0: ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[22])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[4] = (16128u << 16u); if (branch_taken) { goto L_089F2F10; } goto L_089F2F00; } L_089F2F00: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F302C; } goto L_089F2F08; } L_089F2F08: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F302C; } goto L_089F2F10; } L_089F2F10: 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_089F302C; } goto L_089F2F24; } L_089F2F24: 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] ^ 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_089F302C; } goto L_089F2F40; } L_089F2F40: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(388))); ctx.gpr[19] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] < static_cast(15001) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F302C; } goto L_089F2F5C; } L_089F2F5C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(388))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] < static_cast(15001) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[4] = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_089F302C; } goto L_089F2F74; } L_089F2F74: ctx.gpr[5] = (ctx.gpr[16] + static_cast(16)); 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[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(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[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } { 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.gpr[31] = (0x089F2F98u); ctx.fpr[22] = ctx.fpr[22] + ctx.fpr[14]; if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x089F2F98u) goto L_089F2F98; return; L_089F2F98: { const bool branch_taken = ctx.gpr[16] == ctx.gpr[2]; // nop if (branch_taken) { goto L_089F302C; } goto L_089F2FA0; } L_089F2FA0: ctx.gpr[4] = (48896u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[22] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F302C; } goto L_089F2FB8; } L_089F2FB8: ctx.gpr[4] = (ctx.gpr[17] < ctx.gpr[16] ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (15948u << 16u); if (branch_taken) { goto L_089F302C; } goto L_089F2FC4; } L_089F2FC4: ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[20])); // nop if (!ctx.fpu_condition()) { ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(0))); goto L_089F2FE4; } goto L_089F2FE4; L_089F2FE4: aot_mem.aot_store32(ctx.gpr[18] + static_cast(0), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(68))); ctx.gpr[5] = (0u | 32u); ctx.gpr[4] = (ctx.gpr[4] & 496u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_089F3018; } goto L_089F2FFC; } L_089F2FFC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(68))); ctx.gpr[5] = (0u + static_cast(-497)); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] | 48u); aot_mem.aot_store32(ctx.gpr[17] + static_cast(68), ctx.gpr[4]); ctx.gpr[31] = (0x089F3018u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0122_entry, 122u, 218u, 0x089ED5ACu>(ctx, &aot_mem) && ctx.pc == 0x089F3018u) goto L_089F3018; return; L_089F3018: ctx.gpr[4] = (0u | 2u); aot_mem.aot_store8(ctx.gpr[17] + static_cast(397), static_cast(ctx.gpr[4])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(-8148))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1000)); aot_mem.aot_store32(ctx.gpr[17] + static_cast(400), ctx.gpr[4]); goto L_089F302C; L_089F302C: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(108))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(112))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(116))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(120))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(124))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(128))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(132))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(136))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(140))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(144))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(148))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(160)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_089F3060: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); ctx.gpr[8] = (2229u << 16u); ctx.gpr[9] = (ctx.gpr[4] + static_cast(48)); ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[8] + static_cast(-11604))); ctx.gpr[10] = (ctx.gpr[5] + static_cast(48)); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[9] + static_cast(0))); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[13])); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[10] + static_cast(0))); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[12])); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[9] + static_cast(4))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[10] + static_cast(4))); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(88)))))); ctx.gpr[9] = (ctx.gpr[5] << 2u); ctx.gpr[9] = (ctx.gpr[8] + ctx.gpr[9]); ctx.gpr[9] = (aot_mem.aot_load32(ctx.gpr[9] + static_cast(0))); ctx.fpr[1] = ctx.fpr[13] - ctx.fpr[12]; ctx.gpr[10] = (ctx.gpr[5] << 2u); ctx.gpr[9] = (aot_mem.aot_load32(ctx.gpr[9] + static_cast(20))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(88)))))); ctx.gpr[10] = (ctx.gpr[8] + ctx.gpr[10]); ctx.gpr[9] = (ctx.gpr[9] + static_cast(32)); ctx.gpr[10] = (aot_mem.aot_load32(ctx.gpr[10] + static_cast(0))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[9] + static_cast(4))); ctx.gpr[11] = (ctx.gpr[4] << 2u); ctx.gpr[9] = (aot_mem.aot_load32(ctx.gpr[10] + static_cast(20))); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[10] = (ctx.gpr[8] + ctx.gpr[11]); ctx.gpr[5] = (ctx.gpr[8] + ctx.gpr[5]); ctx.gpr[10] = (aot_mem.aot_load32(ctx.gpr[10] + static_cast(0))); ctx.gpr[9] = (ctx.gpr[9] + static_cast(32)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.fpr[18] = ctx.fpr[14] - ctx.fpr[15]; ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[9] + static_cast(0))); ctx.gpr[9] = (aot_mem.aot_load32(ctx.gpr[10] + static_cast(20))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(20))); ctx.gpr[9] = (ctx.gpr[9] + static_cast(32)); ctx.gpr[10] = (ctx.gpr[4] << 2u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(16)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[9] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[10] = (ctx.gpr[8] + ctx.gpr[10]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[8] + ctx.gpr[4]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[10] + static_cast(0))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(20))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(16)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(32)); ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.fpr[2] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.fpr[3] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[7] + static_cast(0))); ctx.fpr[4] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[7] + static_cast(4))); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[5] = std::bit_cast(0x7FC00000u); else ctx.fpr[5] = fs * ft; } { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[4]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[6] = std::bit_cast(0x7FC00000u); else ctx.fpr[6] = fs * ft; } { const float fs = ctx.fpr[2]; const float ft = ctx.fpr[4]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[7] = std::bit_cast(0x7FC00000u); else ctx.fpr[7] = fs * ft; } { const float fs = ctx.fpr[2]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[10] = std::bit_cast(0x7FC00000u); else ctx.fpr[10] = fs * ft; } ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[16]) ^ 0x80000000u); ctx.fpr[5] = ctx.fpr[18] + ctx.fpr[5]; { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[4]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[4] = std::bit_cast(0x7FC00000u); else ctx.fpr[4] = fs * ft; } { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[3] = std::bit_cast(0x7FC00000u); else ctx.fpr[3] = fs * ft; } ctx.fpr[2] = ctx.fpr[5] - ctx.fpr[7]; ctx.fpr[16] = ctx.fpr[5] + ctx.fpr[7]; ctx.fpr[6] = ctx.fpr[1] + ctx.fpr[6]; ctx.fpr[11] = ctx.fpr[1] - ctx.fpr[4]; ctx.fpr[5] = ctx.fpr[18] - ctx.fpr[3]; ctx.fpr[8] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[6] + static_cast(4))); ctx.fpr[1] = ctx.fpr[6] + ctx.fpr[10]; ctx.fpr[18] = ctx.fpr[6] - ctx.fpr[10]; ctx.fpr[9] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[9]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[21] = std::bit_cast(0x7FC00000u); else ctx.fpr[21] = fs * ft; } ctx.fpr[4] = ctx.fpr[11] - ctx.fpr[10]; ctx.fpr[6] = ctx.fpr[11] + ctx.fpr[10]; { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[9]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[23] = std::bit_cast(0x7FC00000u); else ctx.fpr[23] = fs * ft; } { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[8]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } ctx.fpr[3] = ctx.fpr[5] + ctx.fpr[7]; { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[8]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[10] = std::bit_cast(0x7FC00000u); else ctx.fpr[10] = fs * ft; } ctx.fpr[23] = ctx.fpr[23] + ctx.fpr[17]; ctx.gpr[5] = (16256u << 16u); ctx.fpr[5] = ctx.fpr[5] - ctx.fpr[7]; ctx.fpr[10] = ctx.fpr[10] - ctx.fpr[21]; ctx.fpr[15] = std::bit_cast(ctx.gpr[5]); ctx.gpr[5] = (16384u << 16u); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[14]) ^ 0x80000000u); ctx.fpr[17] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.fpr[11] = std::bit_cast(ctx.gpr[5]); ctx.gpr[4] = (0u | 0u); ctx.fpr[0] = std::bit_cast(std::bit_cast(ctx.fpr[15])); ctx.fpr[19] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); ctx.fpr[7] = std::bit_cast(0u); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[11]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[11] = std::bit_cast(0x7FC00000u); else ctx.fpr[11] = fs * ft; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(44), std::bit_cast(ctx.fpr[20])); ctx.fpr[25] = ctx.fpr[14] + ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(48), std::bit_cast(ctx.fpr[22])); ctx.fpr[21] = std::bit_cast(std::bit_cast(ctx.fpr[13]) ^ 0x80000000u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(52), std::bit_cast(ctx.fpr[24])); ctx.fpr[27] = std::bit_cast(std::bit_cast(ctx.fpr[14]) ^ 0x80000000u); goto L_089F31E4; L_089F31E4: ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 2 ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 3 ? 1u : 0u); if (branch_taken) { goto L_089F320C; } goto L_089F31F0; } L_089F31F0: if (static_cast(ctx.gpr[4]) < 0) { { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[8]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } goto L_089F3248; } goto L_089F31F8; L_089F31F8: { const bool branch_taken = static_cast(ctx.gpr[4]) > 0; // nop if (branch_taken) { goto L_089F3224; } goto L_089F3200; } L_089F3200: ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[16])); { const bool branch_taken = 0u == 0u; ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[18])); if (branch_taken) { goto L_089F3244; } goto L_089F320C; } L_089F320C: { const bool branch_taken = ctx.gpr[5] != 0u; ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 4 ? 1u : 0u); if (branch_taken) { goto L_089F3230; } goto L_089F3214; } L_089F3214: { const bool branch_taken = ctx.gpr[5] != 0u; // nop if (branch_taken) { goto L_089F323C; } goto L_089F321C; } L_089F321C: { const bool branch_taken = 0u == 0u; { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[8]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } if (branch_taken) { goto L_089F3248; } goto L_089F3224; } L_089F3224: ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[2])); { const bool branch_taken = 0u == 0u; ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[1])); if (branch_taken) { goto L_089F3244; } goto L_089F3230; } L_089F3230: ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[3])); { const bool branch_taken = 0u == 0u; ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[4])); if (branch_taken) { goto L_089F3244; } goto L_089F323C; } L_089F323C: ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[5])); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[6])); goto L_089F3244; L_089F3244: { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[8]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } goto L_089F3248; L_089F3248: { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[9]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[29] = std::bit_cast(0x7FC00000u); else ctx.fpr[29] = fs * ft; } ctx.fpr[31] = std::bit_cast(std::bit_cast(ctx.fpr[15])); ctx.fpr[20] = ctx.fpr[20] - ctx.fpr[29]; ctx.set_fpu_condition((ctx.fpr[20] <= ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); ctx.fpr[29] = std::bit_cast(std::bit_cast(ctx.fpr[7])); if (branch_taken) { goto L_089F32BC; } goto L_089F3264; } L_089F3264: ctx.set_fpu_condition((ctx.fpr[10] < ctx.fpr[7])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F32B4; } goto L_089F3274; } L_089F3274: ctx.fpr[29] = ctx.fpr[13] - ctx.fpr[20]; ctx.fpr[29] = ctx.fpr[29] / ctx.fpr[10]; ctx.set_fpu_condition((ctx.fpr[29] < ctx.fpr[15])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F32AC; } goto L_089F328C; } L_089F328C: ctx.fpr[20] = ctx.fpr[11] / ctx.fpr[10]; ctx.fpr[20] = ctx.fpr[29] - ctx.fpr[20]; ctx.set_fpu_condition((ctx.fpr[20] < ctx.fpr[15])); // nop if (!ctx.fpu_condition()) { { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[9]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } goto L_089F3368; } goto L_089F32A4; L_089F32A4: { const bool branch_taken = 0u == 0u; ctx.fpr[31] = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (branch_taken) { goto L_089F3364; } goto L_089F32AC; } L_089F32AC: { const bool branch_taken = 0u == 0u; ctx.fpr[29] = std::bit_cast(std::bit_cast(ctx.fpr[15])); if (branch_taken) { goto L_089F3364; } goto L_089F32B4; } L_089F32B4: { const bool branch_taken = 0u == 0u; ctx.fpr[29] = std::bit_cast(std::bit_cast(ctx.fpr[15])); if (branch_taken) { goto L_089F3364; } goto L_089F32BC; } L_089F32BC: ctx.set_fpu_condition((ctx.fpr[20] < ctx.fpr[21])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F3328; } goto L_089F32CC; } L_089F32CC: ctx.set_fpu_condition((ctx.fpr[10] <= ctx.fpr[7])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F3320; } goto L_089F32DC; } L_089F32DC: ctx.fpr[29] = ctx.fpr[20] + ctx.fpr[13]; ctx.fpr[29] = std::bit_cast(std::bit_cast(ctx.fpr[29]) ^ 0x80000000u); ctx.fpr[29] = ctx.fpr[29] / ctx.fpr[10]; ctx.set_fpu_condition((ctx.fpr[29] < ctx.fpr[15])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F3318; } goto L_089F32F8; } L_089F32F8: ctx.fpr[20] = ctx.fpr[11] / ctx.fpr[10]; ctx.fpr[20] = ctx.fpr[29] + ctx.fpr[20]; ctx.set_fpu_condition((ctx.fpr[20] < ctx.fpr[15])); // nop if (!ctx.fpu_condition()) { { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[9]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } goto L_089F3368; } goto L_089F3310; L_089F3310: { const bool branch_taken = 0u == 0u; ctx.fpr[31] = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (branch_taken) { goto L_089F3364; } goto L_089F3318; } L_089F3318: { const bool branch_taken = 0u == 0u; ctx.fpr[29] = std::bit_cast(std::bit_cast(ctx.fpr[15])); if (branch_taken) { goto L_089F3364; } goto L_089F3320; } L_089F3320: { const bool branch_taken = 0u == 0u; ctx.fpr[29] = std::bit_cast(std::bit_cast(ctx.fpr[15])); if (branch_taken) { goto L_089F3364; } goto L_089F3328; } L_089F3328: ctx.set_fpu_condition((ctx.fpr[10] <= ctx.fpr[7])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F3348; } goto L_089F3338; } L_089F3338: ctx.fpr[31] = ctx.fpr[13] - ctx.fpr[20]; ctx.fpr[31] = ctx.fpr[31] / ctx.fpr[10]; { const bool branch_taken = 0u == 0u; { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[9]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } if (branch_taken) { goto L_089F3368; } goto L_089F3348; } L_089F3348: ctx.set_fpu_condition((ctx.fpr[10] < ctx.fpr[7])); // nop if (!ctx.fpu_condition()) { { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[9]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } goto L_089F3368; } goto L_089F3358; L_089F3358: ctx.fpr[31] = ctx.fpr[20] + ctx.fpr[13]; ctx.fpr[31] = std::bit_cast(std::bit_cast(ctx.fpr[31]) ^ 0x80000000u); ctx.fpr[31] = ctx.fpr[31] / ctx.fpr[10]; goto L_089F3364; L_089F3364: { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[9]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } goto L_089F3368; L_089F3368: { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[8]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[15])); ctx.fpr[24] = ctx.fpr[24] + ctx.fpr[20]; ctx.set_fpu_condition((ctx.fpr[24] <= ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[7])); if (branch_taken) { goto L_089F33DC; } goto L_089F3384; } L_089F3384: ctx.set_fpu_condition((ctx.fpr[23] < ctx.fpr[7])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F33D4; } goto L_089F3394; } L_089F3394: ctx.fpr[20] = ctx.fpr[12] - ctx.fpr[24]; ctx.fpr[20] = ctx.fpr[20] / ctx.fpr[23]; ctx.set_fpu_condition((ctx.fpr[20] < ctx.fpr[15])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F33CC; } goto L_089F33AC; } L_089F33AC: ctx.fpr[24] = ctx.fpr[25] / ctx.fpr[23]; ctx.fpr[24] = ctx.fpr[20] - ctx.fpr[24]; ctx.set_fpu_condition((ctx.fpr[24] < ctx.fpr[15])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F3484; } goto L_089F33C4; } L_089F33C4: { const bool branch_taken = 0u == 0u; ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (branch_taken) { goto L_089F3484; } goto L_089F33CC; } L_089F33CC: { const bool branch_taken = 0u == 0u; ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[15])); if (branch_taken) { goto L_089F3484; } goto L_089F33D4; } L_089F33D4: { const bool branch_taken = 0u == 0u; ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[15])); if (branch_taken) { goto L_089F3484; } goto L_089F33DC; } L_089F33DC: ctx.set_fpu_condition((ctx.fpr[24] < ctx.fpr[27])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F3448; } goto L_089F33EC; } L_089F33EC: ctx.set_fpu_condition((ctx.fpr[23] <= ctx.fpr[7])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F3440; } goto L_089F33FC; } L_089F33FC: ctx.fpr[20] = ctx.fpr[24] + ctx.fpr[14]; ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[20]) ^ 0x80000000u); ctx.fpr[20] = ctx.fpr[20] / ctx.fpr[23]; ctx.set_fpu_condition((ctx.fpr[20] < ctx.fpr[15])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F3438; } goto L_089F3418; } L_089F3418: ctx.fpr[24] = ctx.fpr[25] / ctx.fpr[23]; ctx.fpr[24] = ctx.fpr[20] + ctx.fpr[24]; ctx.set_fpu_condition((ctx.fpr[24] < ctx.fpr[15])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F3484; } goto L_089F3430; } L_089F3430: { const bool branch_taken = 0u == 0u; ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (branch_taken) { goto L_089F3484; } goto L_089F3438; } L_089F3438: { const bool branch_taken = 0u == 0u; ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[15])); if (branch_taken) { goto L_089F3484; } goto L_089F3440; } L_089F3440: { const bool branch_taken = 0u == 0u; ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[15])); if (branch_taken) { goto L_089F3484; } goto L_089F3448; } L_089F3448: ctx.set_fpu_condition((ctx.fpr[23] <= ctx.fpr[7])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F3468; } goto L_089F3458; } L_089F3458: ctx.fpr[22] = ctx.fpr[12] - ctx.fpr[24]; ctx.fpr[22] = ctx.fpr[22] / ctx.fpr[23]; { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_089F3484; } goto L_089F3468; } L_089F3468: ctx.set_fpu_condition((ctx.fpr[23] < ctx.fpr[7])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F3484; } goto L_089F3478; } L_089F3478: ctx.fpr[22] = ctx.fpr[24] + ctx.fpr[14]; ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); ctx.fpr[22] = ctx.fpr[22] / ctx.fpr[23]; goto L_089F3484; L_089F3484: ctx.set_fpu_condition((ctx.fpr[29] <= ctx.fpr[20])); // nop if (!ctx.fpu_condition()) { ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[29])); goto L_089F3494; } goto L_089F3494; L_089F3494: ctx.set_fpu_condition((ctx.fpr[31] <= ctx.fpr[20])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F34CC; } goto L_089F34A4; } L_089F34A4: ctx.set_fpu_condition((ctx.fpr[22] <= ctx.fpr[20])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F34CC; } goto L_089F34B4; } L_089F34B4: ctx.fpr[29] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.set_fpu_condition((ctx.fpr[29] <= ctx.fpr[0])); // nop if (!ctx.fpu_condition()) { ctx.fpr[29] = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_089F34C8; } goto L_089F34C8; L_089F34C8: ctx.fpr[0] = std::bit_cast(std::bit_cast(ctx.fpr[29])); goto L_089F34CC; L_089F34CC: ctx.gpr[4] = (ctx.gpr[4] + static_cast(1)); ctx.gpr[4] = (ctx.gpr[4] << 16u); ctx.gpr[4] = (static_cast(static_cast(ctx.gpr[4]) >> 16u)); ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] != 0u; // nop if (branch_taken) { goto L_089F31E4; } goto L_089F34E4; } L_089F34E4: aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(ctx.fpr[17])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[19])); ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(44))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(48))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(52))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_089F3500: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-176)); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(112))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(116))); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[14]; 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; } { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[15]; 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.fpr[14] = ctx.fpr[14] + ctx.fpr[15]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(104), std::bit_cast(ctx.fpr[20])); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(108), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(112), std::bit_cast(ctx.fpr[24])); 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[28])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(124), std::bit_cast(ctx.fpr[30])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(128), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(132), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(140), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(144), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(148), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(152), ctx.gpr[22]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(156), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(160), ctx.gpr[30]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(164), ctx.gpr[31]); ctx.fpr[14] = std::sqrt(ctx.fpr[14]); ctx.gpr[6] = (16076u << 16u); ctx.gpr[6] = (ctx.gpr[6] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[6]); ctx.fpr[12] = ctx.fpr[14] / ctx.fpr[12]; ctx.gpr[6] = (16256u << 16u); ctx.fpr[15] = std::bit_cast(ctx.gpr[6]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[15]; ctx.gpr[6] = (16384u << 16u); ctx.fpr[30] = std::bit_cast(ctx.gpr[6]); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[17] = (ctx.gpr[5] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(92), std::bit_cast(ctx.fpr[13])); ctx.set_fpu_condition((ctx.fpr[30] <= ctx.fpr[12])); // nop if (!ctx.fpu_condition()) { ctx.fpr[30] = std::bit_cast(std::bit_cast(ctx.fpr[12])); goto L_089F35A0; } goto L_089F35A0; L_089F35A0: ctx.gpr[4] = (16704u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[5] = (ctx.gpr[16] + static_cast(48)); { const float fs = ctx.fpr[30]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } ctx.fpr[28] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[4] = (16928u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[30] = ctx.fpr[28] - ctx.fpr[24]; ctx.fpr[13] = ctx.fpr[30] / ctx.fpr[13]; ctx.gpr[4] = (16968u << 16u); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.gpr[18] = (0u | 0u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[28] = ctx.fpr[28] + ctx.fpr[24]; ctx.fpr[26] = ctx.fpr[14] - ctx.fpr[24]; ctx.fpr[12] = ctx.fpr[13] + ctx.fpr[12]; ctx.fpr[24] = ctx.fpr[14] + ctx.fpr[24]; 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])); ctx.gpr[5] = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[4]) ? 1u : 0u); if (ctx.gpr[5] != 0u) { ctx.gpr[18] = (ctx.gpr[4] | 0u); goto L_089F35F8; } goto L_089F35F8; L_089F35F8: ctx.gpr[4] = (16928u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[26] / ctx.fpr[12]; ctx.gpr[4] = (16968u << 16u); ctx.gpr[19] = (0u | 0u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; 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])); ctx.gpr[5] = (static_cast(ctx.gpr[19]) < static_cast(ctx.gpr[4]) ? 1u : 0u); if (ctx.gpr[5] != 0u) { ctx.gpr[19] = (ctx.gpr[4] | 0u); goto L_089F3628; } goto L_089F3628; L_089F3628: ctx.gpr[4] = (16928u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[28] / ctx.fpr[12]; ctx.gpr[4] = (16968u << 16u); ctx.gpr[20] = (0u | 99u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; 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])); ctx.gpr[5] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[20]) ? 1u : 0u); if (ctx.gpr[5] != 0u) { ctx.gpr[20] = (ctx.gpr[4] | 0u); goto L_089F3658; } goto L_089F3658; L_089F3658: ctx.gpr[4] = (16928u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[24] / ctx.fpr[12]; ctx.gpr[4] = (16968u << 16u); ctx.gpr[21] = (0u | 99u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; 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])); 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_089F3688; } goto L_089F3688; L_089F3688: ctx.set_fpu_condition((!(std::isnan(ctx.fpr[20]) || std::isnan(ctx.fpr[20])) && ctx.fpr[20] == ctx.fpr[20])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F369C; } goto L_089F3698; } L_089F3698: ctx.fpr[20] = std::bit_cast(0u); goto L_089F369C; L_089F369C: aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (2227u << 16u); ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast(20720))); ctx.gpr[5] = (0u | 65535u); ctx.gpr[4] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[5]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (2227u << 16u); if (branch_taken) { goto L_089F36CC; } goto L_089F36BC; } L_089F36BC: ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast(20720))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(1)); { const bool branch_taken = 0u == 0u; aot_mem.aot_store16(ctx.gpr[4] + static_cast(20720), static_cast(ctx.gpr[5])); if (branch_taken) { goto L_089F36E0; } goto L_089F36CC; } L_089F36CC: ctx.gpr[31] = (0x089F36D4u); // nop if (rt.invoke_chained_direct<&recomp_unit_0048_entry, 48u, 166u, 0x088C4CA0u>(ctx, &aot_mem) && ctx.pc == 0x089F36D4u) goto L_089F36D4; return; L_089F36D4: ctx.gpr[4] = (0u | 1u); ctx.gpr[5] = (2227u << 16u); aot_mem.aot_store16(ctx.gpr[5] + static_cast(20720), static_cast(ctx.gpr[4])); goto L_089F36E0; L_089F36E0: ctx.gpr[4] = (50716u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 16282u); ctx.fpr[22] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); goto L_089F36F4; L_089F36F4: 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_089F3718; } goto L_089F3704; } L_089F3704: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[22])) && ctx.fpr[12] == ctx.fpr[22])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F38C0; } goto L_089F3718; } L_089F3718: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.gpr[22] = (ctx.gpr[19] | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[21]) < static_cast(ctx.gpr[22]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); if (branch_taken) { goto L_089F3888; } goto L_089F372C; } L_089F372C: ctx.gpr[23] = (ctx.gpr[18] | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[23]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(88), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_089F3878; } goto L_089F373C; } L_089F373C: ctx.gpr[4] = (ctx.gpr[22] << 5u); ctx.gpr[5] = (ctx.gpr[22] + ctx.gpr[4]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[23] + ctx.gpr[4]); ctx.gpr[5] = (ctx.gpr[4] << 4u); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(100), ctx.gpr[21]); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[4] = (ctx.gpr[4] - ctx.gpr[5]); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(96), ctx.gpr[22]); ctx.gpr[5] = (2227u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(20716))); ctx.gpr[30] = (ctx.gpr[29] + static_cast(64)); ctx.gpr[22] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[21] = (ctx.gpr[29] + static_cast(68)); ctx.gpr[4] = (ctx.gpr[22] + static_cast(20)); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.gpr[7] = (ctx.gpr[30] | 0u); ctx.gpr[31] = (0x089F37A4u); ctx.gpr[8] = (ctx.gpr[21] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0121_entry, 121u, 504u, 0x089EB2D0u>(ctx, &aot_mem) && ctx.pc == 0x089F37A4u) goto L_089F37A4; return; L_089F37A4: ctx.gpr[4] = (ctx.gpr[22] + static_cast(24)); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[7] = (ctx.gpr[30] | 0u); ctx.gpr[31] = (0x089F37CCu); ctx.gpr[8] = (ctx.gpr[21] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0121_entry, 121u, 504u, 0x089EB2D0u>(ctx, &aot_mem) && ctx.pc == 0x089F37CCu) goto L_089F37CC; return; L_089F37CC: ctx.gpr[4] = (ctx.gpr[22] + static_cast(28)); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[7] = (ctx.gpr[30] | 0u); ctx.gpr[31] = (0x089F37F4u); ctx.gpr[8] = (ctx.gpr[21] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0121_entry, 121u, 521u, 0x089EB5F8u>(ctx, &aot_mem) && ctx.pc == 0x089F37F4u) goto L_089F37F4; return; L_089F37F4: ctx.gpr[4] = (ctx.gpr[22] + static_cast(32)); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[7] = (ctx.gpr[30] | 0u); ctx.gpr[31] = (0x089F381Cu); ctx.gpr[8] = (ctx.gpr[21] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0121_entry, 121u, 521u, 0x089EB5F8u>(ctx, &aot_mem) && ctx.pc == 0x089F381Cu) goto L_089F381C; return; L_089F381C: ctx.gpr[4] = (ctx.gpr[22] + static_cast(12)); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[6] = (ctx.gpr[30] | 0u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[31] = (0x089F3840u); ctx.gpr[7] = (ctx.gpr[21] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0121_entry, 121u, 595u, 0x089EBDDCu>(ctx, &aot_mem) && ctx.pc == 0x089F3840u) goto L_089F3840; return; L_089F3840: ctx.gpr[4] = (ctx.gpr[22] + static_cast(16)); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[6] = (ctx.gpr[30] | 0u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[31] = (0x089F3864u); ctx.gpr[7] = (ctx.gpr[21] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0121_entry, 121u, 595u, 0x089EBDDCu>(ctx, &aot_mem) && ctx.pc == 0x089F3864u) goto L_089F3864; return; L_089F3864: ctx.gpr[23] = (ctx.gpr[23] + static_cast(1)); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(96))); ctx.gpr[4] = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[23]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(100))); if (branch_taken) { goto L_089F373C; } goto L_089F3878; } L_089F3878: ctx.gpr[22] = (ctx.gpr[22] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[21]) < static_cast(ctx.gpr[22]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(88))); if (branch_taken) { goto L_089F372C; } goto L_089F3888; } L_089F3888: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[13]) || std::isnan(ctx.fpr[13])) && ctx.fpr[13] == ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F38A0; } goto L_089F389C; } L_089F389C: aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(ctx.fpr[20])); goto L_089F38A0; L_089F38A0: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[13]) || std::isnan(ctx.fpr[13])) && ctx.fpr[13] == ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F38B8; } goto L_089F38B4; } L_089F38B4: aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(ctx.fpr[20])); goto L_089F38B8; L_089F38B8: { const bool branch_taken = 0u == 0u; ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); if (branch_taken) { goto L_089F36F4; } goto L_089F38C0; } L_089F38C0: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(92))); ctx.gpr[31] = (0x089F38CCu); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[20]; if (rt.invoke_chained_direct<&recomp_unit_0134_entry, 134u, 260u, 0x08A1D4E8u>(ctx, &aot_mem) && ctx.pc == 0x089F38CCu) goto L_089F38CC; return; L_089F38CC: ctx.gpr[4] = (16128u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { 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[31] = (0x089F38E0u); ctx.fpr[12] = ctx.fpr[20] + ctx.fpr[12]; if (rt.invoke_chained_direct<&recomp_unit_0134_entry, 134u, 260u, 0x08A1D4E8u>(ctx, &aot_mem) && ctx.pc == 0x089F38E0u) goto L_089F38E0; return; L_089F38E0: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[20]; ctx.gpr[31] = (0x089F38F8u); ctx.fpr[22] = ctx.fpr[22] - ctx.fpr[20]; if (rt.invoke_chained_direct<&recomp_unit_0134_entry, 134u, 260u, 0x08A1D4E8u>(ctx, &aot_mem) && ctx.pc == 0x089F38F8u) goto L_089F38F8; return; L_089F38F8: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(0u); ctx.set_fpu_condition((ctx.fpr[24] < ctx.fpr[12])); // nop if (ctx.fpu_condition()) { ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[24]) ^ 0x80000000u); goto L_089F3910; } goto L_089F3910; L_089F3910: ctx.gpr[31] = (0x089F3918u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (rt.invoke_chained_direct<&recomp_unit_0134_entry, 134u, 260u, 0x08A1D4E8u>(ctx, &aot_mem) && ctx.pc == 0x089F3918u) goto L_089F3918; return; L_089F3918: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[13] = std::bit_cast(0u); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop if (ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); goto L_089F3934; } goto L_089F3934; L_089F3934: ctx.gpr[4] = (16329u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[24] <= ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); ctx.gpr[4] = (16329u << 16u); if (branch_taken) { goto L_089F3970; } goto L_089F3950; } L_089F3950: ctx.gpr[4] = (ctx.gpr[4] | 4059u); 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_089F3970; } goto L_089F3968; } L_089F3968: { const bool branch_taken = 0u == 0u; ctx.fpr[0] = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (branch_taken) { goto L_089F39CC; } goto L_089F3970; } L_089F3970: ctx.fpr[13] = ctx.fpr[24] - ctx.fpr[12]; ctx.fpr[14] = std::bit_cast(0u); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[14])); // nop if (ctx.fpu_condition()) { ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[13]) ^ 0x80000000u); goto L_089F3988; } goto L_089F3988; L_089F3988: ctx.gpr[4] = (15779u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 55050u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[14])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F39BC; } goto L_089F39A4; } L_089F39A4: ctx.set_fpu_condition((ctx.fpr[24] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_089F39C4; } goto L_089F39B4; } L_089F39B4: { const bool branch_taken = 0u == 0u; ctx.fpr[0] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); if (branch_taken) { goto L_089F39CC; } goto L_089F39BC; } L_089F39BC: { const bool branch_taken = 0u == 0u; ctx.fpr[0] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); if (branch_taken) { goto L_089F39CC; } goto L_089F39C4; } L_089F39C4: { const bool branch_taken = 0u == 0u; ctx.fpr[0] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); if (branch_taken) { goto L_089F39CC; } goto L_089F39CC; } L_089F39CC: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(104))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(108))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(112))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(116))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(120))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(124))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(128))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(132))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(136))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(140))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(144))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(148))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(152))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(156))); ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(160))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(164))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(176)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_089F3A14: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-208)); ctx.gpr[6] = (15395u << 16u); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast(502))); ctx.gpr[6] = (ctx.gpr[6] | 55050u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(140), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(164), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(168), ctx.gpr[18]); ctx.fpr[20] = std::bit_cast(ctx.gpr[6]); ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (ctx.gpr[4] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(144), std::bit_cast(ctx.fpr[22])); 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[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(156), std::bit_cast(ctx.fpr[28])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(160), ctx.gpr[16]); 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]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(180), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(184), ctx.gpr[22]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(188), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(192), ctx.gpr[30]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(196), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[16] = (2228u << 16u); if (branch_taken) { goto L_089F3A88; } goto L_089F3A74; } L_089F3A74: ctx.gpr[31] = (0x089F3A7Cu); ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[17] + static_cast(502))); if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 299u, 0x0894DADCu>(ctx, &aot_mem) && ctx.pc == 0x089F3A7Cu) goto L_089F3A7C; return; L_089F3A7C: ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[17] + static_cast(502))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1)); aot_mem.aot_store16(ctx.gpr[17] + static_cast(502), static_cast(ctx.gpr[4])); goto L_089F3A88; L_089F3A88: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(356))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(352))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[21] = (ctx.gpr[4] << 4u); ctx.gpr[7] = (ctx.gpr[4] << 2u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[21] = (ctx.gpr[21] + ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(376))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(132), ctx.gpr[4]); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[21]); ctx.gpr[30] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(16)))))); ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[7]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(4)))))); ctx.gpr[20] = (ctx.gpr[23] << 4u); ctx.gpr[6] = (ctx.gpr[23] << 2u); ctx.gpr[30] = (ctx.gpr[30] & 15u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[4]; ctx.gpr[20] = (ctx.gpr[20] + ctx.gpr[6]); if (branch_taken) { goto L_089F3B1C; } goto L_089F3AE0; } L_089F3AE0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(376))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.gpr[6] = (ctx.gpr[5] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(8)))))); ctx.gpr[5] = (ctx.gpr[4] & 7u); ctx.gpr[6] = (ctx.gpr[4] & 56u); ctx.gpr[4] = (ctx.gpr[5] + static_cast(-1)); { const bool branch_taken = ctx.gpr[6] != 0u; ctx.gpr[5] = (static_cast(ctx.gpr[5]) < 3 ? 1u : 0u); if (branch_taken) { goto L_089F3B60; } goto L_089F3B14; } L_089F3B14: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (0u | 1u); if (branch_taken) { goto L_089F3B60; } goto L_089F3B1C; } L_089F3B1C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(376))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.gpr[6] = (ctx.gpr[5] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(8)))))); ctx.gpr[5] = (ctx.gpr[4] & 56u); ctx.gpr[5] = (ctx.gpr[5] >> 3u); ctx.gpr[5] = (ctx.gpr[5] << 16u); ctx.gpr[5] = (static_cast(static_cast(ctx.gpr[5]) >> 16u)); ctx.gpr[6] = (ctx.gpr[4] & 7u); ctx.gpr[4] = (ctx.gpr[5] + static_cast(-1)); { const bool branch_taken = ctx.gpr[6] != 0u; ctx.gpr[5] = (static_cast(ctx.gpr[5]) < 3 ? 1u : 0u); if (branch_taken) { goto L_089F3B60; } goto L_089F3B5C; } L_089F3B5C: ctx.gpr[18] = (0u | 1u); goto L_089F3B60; L_089F3B60: ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(396)))))); { const bool branch_taken = ctx.gpr[6] != 0u; ctx.gpr[22] = (0u | 0u); if (branch_taken) { goto L_089F3B70; } goto L_089F3B6C; } L_089F3B6C: ctx.gpr[22] = (0u | 4u); goto L_089F3B70; L_089F3B70: ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(396)))))); { const bool branch_taken = ctx.gpr[6] != ctx.gpr[4]; // nop if (branch_taken) { goto L_089F3B84; } goto L_089F3B7C; } L_089F3B7C: ctx.gpr[22] = (ctx.gpr[22] | 2u); ctx.gpr[22] = (ctx.gpr[22] & 255u); goto L_089F3B84; L_089F3B84: { const bool branch_taken = ctx.gpr[5] != 0u; // nop if (branch_taken) { goto L_089F3B94; } goto L_089F3B8C; } L_089F3B8C: { const bool branch_taken = ctx.gpr[22] != 0u; aot_mem.aot_store8(ctx.gpr[29] + static_cast(136), static_cast(ctx.gpr[18])); if (branch_taken) { goto L_089F3BA0; } goto L_089F3B94; } L_089F3B94: ctx.gpr[22] = (ctx.gpr[22] | 1u); aot_mem.aot_store8(ctx.gpr[29] + static_cast(136), static_cast(ctx.gpr[18])); ctx.gpr[22] = (ctx.gpr[22] & 255u); goto L_089F3BA0; L_089F3BA0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(352))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(356))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(360), ctx.gpr[4]); ctx.gpr[6] = (0u | 0u); ctx.gpr[19] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[17] + static_cast(352), ctx.gpr[5]); goto L_089F3BB8; L_089F3BB8: { const bool branch_taken = ctx.gpr[19] == 0u; ctx.gpr[4] = (static_cast(ctx.gpr[19]) < 15 ? 1u : 0u); if (branch_taken) { goto L_089F3CE0; } goto L_089F3BC0; } L_089F3BC0: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F3E20; } goto L_089F3BC8; } L_089F3BC8: ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(356))); { const bool branch_taken = ctx.gpr[23] == ctx.gpr[8]; ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[22]); if (branch_taken) { goto L_089F3CE0; } goto L_089F3BD4; } L_089F3BD4: { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_089F3CE0; } goto L_089F3BDC; } L_089F3BDC: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(356))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.gpr[9] = (ctx.gpr[8] << 4u); ctx.gpr[8] = (ctx.gpr[8] << 2u); ctx.gpr[8] = (ctx.gpr[9] + ctx.gpr[8]); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[8]); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(16)))))); ctx.gpr[6] = (ctx.gpr[6] & 16u); if (ctx.gpr[6] == 0u) { ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); goto L_089F3C28; } goto L_089F3C08; L_089F3C08: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[20]); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(16)))))); ctx.gpr[6] = (ctx.gpr[6] & 16u); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_089F3CE0; } goto L_089F3C24; } L_089F3C24: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); goto L_089F3C28; L_089F3C28: ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(356))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.gpr[9] = (ctx.gpr[8] << 4u); ctx.gpr[8] = (ctx.gpr[8] << 2u); ctx.gpr[8] = (ctx.gpr[9] + ctx.gpr[8]); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[8]); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(16)))))); ctx.gpr[6] = (ctx.gpr[6] & 32u); if (ctx.gpr[6] == 0u) { ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(416)))))); goto L_089F3C70; } goto L_089F3C50; L_089F3C50: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[20]); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(16)))))); ctx.gpr[6] = (ctx.gpr[6] & 32u); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_089F3CE0; } goto L_089F3C6C; } L_089F3C6C: ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(416)))))); goto L_089F3C70; L_089F3C70: ctx.gpr[6] = (ctx.gpr[6] & 4u); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_089F3CC4; } goto L_089F3C7C; } L_089F3C7C: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(356))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.gpr[9] = (ctx.gpr[8] << 4u); ctx.gpr[8] = (ctx.gpr[8] << 2u); ctx.gpr[8] = (ctx.gpr[9] + ctx.gpr[8]); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[8]); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(16)))))); ctx.gpr[6] = (ctx.gpr[6] & 64u); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_089F3CC4; } goto L_089F3CA8; } L_089F3CA8: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[20]); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(16)))))); ctx.gpr[6] = (ctx.gpr[6] & 64u); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_089F3CE0; } goto L_089F3CC4; } L_089F3CC4: { const bool branch_taken = ctx.gpr[5] != 0u; // nop if (branch_taken) { goto L_089F3CE0; } goto L_089F3CCC; } L_089F3CCC: ctx.gpr[6] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(136))); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_089F3E20; } goto L_089F3CD8; } L_089F3CD8: { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { goto L_089F3E20; } goto L_089F3CE0; } L_089F3CE0: ctx.gpr[31] = (0x089F3CE8u); // nop if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 302u, 0x0894DB08u>(ctx, &aot_mem) && ctx.pc == 0x089F3CE8u) goto L_089F3CE8; return; L_089F3CE8: ctx.gpr[4] = (ctx.gpr[2] & 65535u); { const std::int32_t dividend = static_cast(ctx.gpr[4]); const std::int32_t divisor = static_cast(ctx.gpr[30]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(8))); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[21]); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(12)))))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(352))); ctx.gpr[4] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (ctx.hi); ctx.gpr[18] = (ctx.gpr[8] << 16u); ctx.gpr[18] = (static_cast(static_cast(ctx.gpr[18]) >> 16u)); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[18]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[7]); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast(0))); ctx.gpr[6] = (ctx.gpr[6] & 16383u); ctx.gpr[6] = (ctx.gpr[6] << 16u); ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 16u)); ctx.gpr[31] = (0x089F3D3Cu); aot_mem.aot_store32(ctx.gpr[17] + static_cast(356), ctx.gpr[6]); if (rt.invoke_chained_direct<&recomp_unit_0122_entry, 122u, 14u, 0x089EC0BCu>(ctx, &aot_mem) && ctx.pc == 0x089F3D3Cu) goto L_089F3D3C; return; L_089F3D3C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(16))); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[21]); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(12)))))); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[18]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[5]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[5]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[7] + static_cast(0)))))); ctx.gpr[10] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.gpr[9] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[4] = (ctx.gpr[8] + ctx.gpr[9]); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[8] = (ctx.gpr[10] + ctx.gpr[4]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[8] + static_cast(4)))))); ctx.gpr[9] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(132))); ctx.gpr[6] = (ctx.gpr[2] | 0u); ctx.gpr[5] = (0u | 0u); { const bool branch_taken = ctx.gpr[8] != ctx.gpr[9]; ctx.gpr[7] = (0u | 0u); if (branch_taken) { goto L_089F3DD0; } goto L_089F3D8C; } L_089F3D8C: ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[8] + static_cast(4))); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[4]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[8] + static_cast(8)))))); ctx.gpr[8] = (ctx.gpr[8] & 56u); if (ctx.gpr[8] != 0u) { ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); goto L_089F3DB0; } goto L_089F3DA8; L_089F3DA8: ctx.gpr[5] = (0u | 1u); ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); goto L_089F3DB0; L_089F3DB0: ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[8] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[8] + ctx.gpr[4]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(8)))))); ctx.gpr[4] = (ctx.gpr[4] & 7u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F3E10; } goto L_089F3DC8; } L_089F3DC8: { const bool branch_taken = 0u == 0u; ctx.gpr[7] = (0u | 1u); if (branch_taken) { goto L_089F3E10; } goto L_089F3DD0; } L_089F3DD0: ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[8] + static_cast(4))); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[4]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[8] + static_cast(8)))))); ctx.gpr[8] = (ctx.gpr[8] & 7u); if (ctx.gpr[8] != 0u) { ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); goto L_089F3DF4; } goto L_089F3DEC; L_089F3DEC: ctx.gpr[5] = (0u | 1u); ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); goto L_089F3DF4; L_089F3DF4: ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[8] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[8] + ctx.gpr[4]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(8)))))); ctx.gpr[4] = (ctx.gpr[4] & 56u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F3E10; } goto L_089F3E0C; } L_089F3E0C: ctx.gpr[7] = (0u | 1u); goto L_089F3E10; L_089F3E10: ctx.gpr[4] = (ctx.gpr[19] + static_cast(1)); ctx.gpr[19] = (ctx.gpr[4] << 16u); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[19]) >> 16u)); if (branch_taken) { goto L_089F3BB8; } goto L_089F3E20; } L_089F3E20: { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F3FDC; } goto L_089F3E28; } L_089F3E28: ctx.gpr[19] = (0u | 0u); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(132))); goto L_089F3E30; L_089F3E30: { const bool branch_taken = ctx.gpr[19] == 0u; ctx.gpr[4] = (static_cast(ctx.gpr[19]) < 15 ? 1u : 0u); if (branch_taken) { goto L_089F3EF4; } goto L_089F3E38; } L_089F3E38: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_089F3FDC; } goto L_089F3E40; } L_089F3E40: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(356))); { const bool branch_taken = ctx.gpr[23] == ctx.gpr[6]; // nop if (branch_taken) { goto L_089F3EF4; } goto L_089F3E4C; } L_089F3E4C: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(356))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.gpr[8] = (ctx.gpr[7] << 4u); ctx.gpr[7] = (ctx.gpr[7] << 2u); ctx.gpr[7] = (ctx.gpr[8] + ctx.gpr[7]); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(16)))))); ctx.gpr[6] = (ctx.gpr[6] & 32u); if (ctx.gpr[6] == 0u) { ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(416)))))); goto L_089F3E98; } goto L_089F3E78; L_089F3E78: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[20]); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(16)))))); ctx.gpr[6] = (ctx.gpr[6] & 32u); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_089F3EF4; } goto L_089F3E94; } L_089F3E94: ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(416)))))); goto L_089F3E98; L_089F3E98: ctx.gpr[6] = (ctx.gpr[6] & 4u); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_089F3EEC; } goto L_089F3EA4; } L_089F3EA4: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(356))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.gpr[8] = (ctx.gpr[7] << 4u); ctx.gpr[7] = (ctx.gpr[7] << 2u); ctx.gpr[7] = (ctx.gpr[8] + ctx.gpr[7]); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(16)))))); ctx.gpr[6] = (ctx.gpr[6] & 64u); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_089F3EEC; } goto L_089F3ED0; } L_089F3ED0: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[20]); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[6] + static_cast(16)))))); ctx.gpr[6] = (ctx.gpr[6] & 64u); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_089F3EF4; } goto L_089F3EEC; } L_089F3EEC: { const bool branch_taken = ctx.gpr[5] == 0u; // nop if (branch_taken) { goto L_089F3FDC; } goto L_089F3EF4; } L_089F3EF4: ctx.gpr[31] = (0x089F3EFCu); // nop if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 302u, 0x0894DB08u>(ctx, &aot_mem) && ctx.pc == 0x089F3EFCu) goto L_089F3EFC; return; L_089F3EFC: ctx.gpr[4] = (ctx.gpr[2] & 65535u); { const std::int32_t dividend = static_cast(ctx.gpr[4]); const std::int32_t divisor = static_cast(ctx.gpr[30]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(8))); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[21]); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(12)))))); ctx.gpr[7] = (ctx.hi); ctx.gpr[18] = (ctx.gpr[7] << 16u); ctx.gpr[18] = (static_cast(static_cast(ctx.gpr[18]) >> 16u)); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[18]); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[6]); ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast(0))); ctx.gpr[4] = (ctx.gpr[4] & 16383u); ctx.gpr[4] = (ctx.gpr[4] << 16u); ctx.gpr[4] = (static_cast(static_cast(ctx.gpr[4]) >> 16u)); aot_mem.aot_store32(ctx.gpr[17] + static_cast(356), ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(16))); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[21]); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[6] + static_cast(12)))))); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[18]); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[6] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[6] + ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[6] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[4]); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[6] + static_cast(4)))))); { const bool branch_taken = ctx.gpr[6] != ctx.gpr[22]; ctx.gpr[5] = (0u | 0u); if (branch_taken) { goto L_089F3FAC; } goto L_089F3F88; } L_089F3F88: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[6] + ctx.gpr[4]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(8)))))); ctx.gpr[4] = (ctx.gpr[4] & 56u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F3FCC; } goto L_089F3FA4; } L_089F3FA4: { const bool branch_taken = 0u == 0u; ctx.gpr[5] = (0u | 1u); if (branch_taken) { goto L_089F3FCC; } goto L_089F3FAC; } L_089F3FAC: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[6] + ctx.gpr[4]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(8)))))); ctx.gpr[4] = (ctx.gpr[4] & 7u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_089F3FCC; } goto L_089F3FC8; } L_089F3FC8: ctx.gpr[5] = (0u | 1u); goto L_089F3FCC; L_089F3FCC: ctx.gpr[4] = (ctx.gpr[19] + static_cast(1)); ctx.gpr[19] = (ctx.gpr[4] << 16u); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[19]) >> 16u)); if (branch_taken) { goto L_089F3E30; } goto L_089F3FDC; } L_089F3FDC: { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { (void)rt.invoke_chained_direct<&recomp_unit_0124_entry, 124u, 18u, 0x089F4198u>(ctx, &aot_mem); return; } goto L_089F3FE4; } L_089F3FE4: ctx.gpr[18] = (0u | 0u); ctx.gpr[6] = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[30]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { (void)rt.invoke_chained_direct<&recomp_unit_0124_entry, 124u, 15u, 0x089F417Cu>(ctx, &aot_mem); return; } goto L_089F3FF4; } L_089F3FF4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(-26868))); goto L_089F3FF8; L_089F3FF8: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(8))); ctx.pc = 0x089F4000u; return; } void recomp_unit_0123(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0123_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_123(Runtime &runtime) { runtime.register_generated_unit(123u, 0x089F0000u, 16384u, &recomp_unit_0123, &recomp_unit_0123_entry); runtime.register_function(0x089F0000u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0124u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0160u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F02D0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0304u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0310u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0358u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0364u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F03B4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0530u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0548u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0550u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0558u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0574u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F057Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0584u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F05BCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F05C4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F05C8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0600u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0608u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0628u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0644u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0654u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0658u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0674u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0690u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F06A8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F06B0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F06CCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F06D4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F06DCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F06E4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F06F8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0710u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0718u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F07E0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F07ECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F07F4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F07FCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0808u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0820u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0830u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0848u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F085Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0868u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0870u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0878u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0890u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F08A4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F08B0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F08B8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F08C0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0914u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0920u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0928u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F093Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0960u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0968u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0984u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F098Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F09E4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F09ECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F09F4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0A10u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0A18u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0A28u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0A30u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0A4Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0A54u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0A5Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0A9Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0AA8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0AACu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0ABCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0AC4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0ACCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0AE8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0AF0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0AF8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0B50u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0B5Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0B64u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0B80u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0B88u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0BD0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0BDCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0C0Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0C24u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0C38u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0C48u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0C50u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0C60u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0C70u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0C78u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0C80u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0C88u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0C98u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0CACu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0CBCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0CE4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0CF8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0D04u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0D0Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0D18u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0D30u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0D44u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0D5Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0D64u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0D74u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0D78u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0D88u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0D94u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0DA8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0DCCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0DDCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0DE4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0DF4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0E00u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0E08u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0E10u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0E18u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0E1Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0E24u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0E38u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0E44u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0E6Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0E7Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0E8Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0E9Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0EB8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0EC8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0ED8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0EECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0EF4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0EFCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0F04u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0F0Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0F14u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0F1Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0F34u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0F48u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0F58u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0F60u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0F78u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0F8Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0F9Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0FA4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0FBCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0FD0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0FE0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F0FE8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1000u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1014u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1024u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F102Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1034u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1050u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1058u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1068u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1090u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1098u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F10A0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F10B0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F10F4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F10FCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1134u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1148u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1158u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1184u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1198u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F11A4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F11B4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F11ECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F11FCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1208u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1210u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F121Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1224u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F122Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1234u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1240u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1248u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F128Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F12B4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F12BCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F12CCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F12D4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F12DCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F12E4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F12ECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F12FCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1304u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F130Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1314u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F131Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1338u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1340u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F134Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F138Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1394u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F13C4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F13F4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1424u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F142Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1434u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1444u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1454u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1464u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1474u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1484u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F149Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F14B8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F14C0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F14ECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F14F4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1504u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1510u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1520u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1538u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1540u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1548u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1550u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1560u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1570u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F15A4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F15B8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F15C8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F15D0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F15D8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F15E0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F15FCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1600u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1614u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1624u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1628u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1630u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1644u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F165Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1660u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F166Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F16A8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F16B0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F16B4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F16CCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F16D4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F16E4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F16ECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1708u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F170Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1720u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1730u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1734u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F173Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1750u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1768u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F176Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1778u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F17B4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F17BCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F17C0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F17D0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F17D4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F17D8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1808u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1810u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1818u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1820u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1828u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1830u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F184Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1854u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1868u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F187Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1888u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1898u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F18B4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F18CCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F18D4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F18DCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1924u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F192Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1934u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1944u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F194Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1954u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1960u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1968u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1970u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1978u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1990u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1998u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F19A8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F19D8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F19E0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F19F8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1A08u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1A14u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1A20u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1A28u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1A2Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1A30u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1A60u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1A68u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1A70u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1A78u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1A80u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1A88u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1A90u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1AACu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1AB4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1AC4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1AE0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1AF4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1B38u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1B68u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1B74u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1B7Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1B84u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1BA0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1BA8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1BBCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1BC8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1BE8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1C00u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1C08u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1C10u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1C54u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1C6Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1C74u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1C7Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1C84u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1CA0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1CA8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1CCCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1D08u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1D30u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1D48u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1D5Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1D64u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1D6Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1DA8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1DB0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1DC4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1DE0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1DECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1EB0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F1EECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F20D4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F20ECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2118u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2148u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2198u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F21A0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F21F8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2200u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2218u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F221Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2240u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2260u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2284u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2294u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F22B0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F22B8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F22D4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F22E8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2300u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2310u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2320u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2360u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2394u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F23C0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F23F4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2428u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F243Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2450u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2468u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2474u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F247Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F249Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F24DCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2568u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F25B0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F25C8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F25E0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2610u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2628u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2640u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2658u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2674u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F268Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F26E8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2708u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F272Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2760u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2770u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F278Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F27A8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F27BCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F27CCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F27DCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F27ECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F27F8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2808u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2820u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2838u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F284Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2854u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2864u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F286Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2888u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F289Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F28ACu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F28B4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F28C4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F28CCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F28DCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F28F8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2908u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2910u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2920u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2928u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2938u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2948u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2954u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2974u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F297Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2988u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F29A0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F29C0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F29D0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F29ECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F29F8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2A08u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2A28u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2A30u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2A38u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2A40u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2A54u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2A5Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2A64u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2A80u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2A90u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2AA4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2AB0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2AC4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2AD0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2AF4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2B1Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2B44u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2B6Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2B78u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2B84u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2B94u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2BA0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2BB0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2BBCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2BD8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2BF8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2C1Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2C2Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2C34u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2C7Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2CECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2D08u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2D14u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2D58u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2DD0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2DECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2DF4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2E00u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2E2Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2E50u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2E64u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2E78u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2E8Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2EB8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2EDCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2EE0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2EF0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2F00u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2F08u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2F10u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2F24u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2F40u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2F5Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2F74u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2F98u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2FA0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2FB8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2FC4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2FE4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F2FFCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3018u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F302Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3060u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F31E4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F31F0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F31F8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3200u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F320Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3214u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F321Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3224u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3230u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F323Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3244u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3248u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3264u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3274u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F328Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F32A4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F32ACu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F32B4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F32BCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F32CCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F32DCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F32F8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3310u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3318u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3320u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3328u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3338u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3348u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3358u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3364u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3368u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3384u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3394u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F33ACu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F33C4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F33CCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F33D4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F33DCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F33ECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F33FCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3418u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3430u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3438u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3440u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3448u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3458u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3468u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3478u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3484u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3494u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F34A4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F34B4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F34C8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F34CCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F34E4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3500u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F35A0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F35F8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3628u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3658u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3688u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3698u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F369Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F36BCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F36CCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F36D4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F36E0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F36F4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3704u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3718u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F372Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F373Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F37A4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F37CCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F37F4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F381Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3840u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3864u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3878u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3888u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F389Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F38A0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F38B4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F38B8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F38C0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F38CCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F38E0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F38F8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3910u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3918u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3934u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3950u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3968u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3970u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3988u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F39A4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F39B4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F39BCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F39C4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F39CCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3A14u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3A74u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3A7Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3A88u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3AE0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3B14u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3B1Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3B5Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3B60u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3B6Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3B70u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3B7Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3B84u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3B8Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3B94u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3BA0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3BB8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3BC0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3BC8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3BD4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3BDCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3C08u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3C24u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3C28u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3C50u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3C6Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3C70u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3C7Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3CA8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3CC4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3CCCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3CD8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3CE0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3CE8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3D3Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3D8Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3DA8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3DB0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3DC8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3DD0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3DECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3DF4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3E0Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3E10u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3E20u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3E28u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3E30u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3E38u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3E40u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3E4Cu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3E78u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3E94u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3E98u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3EA4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3ED0u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3EECu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3EF4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3EFCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3F88u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3FA4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3FACu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3FC8u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3FCCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3FDCu, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3FE4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3FF4u, &recomp_unit_0123, "recomp_unit_0123"); runtime.register_function(0x089F3FF8u, &recomp_unit_0123, "recomp_unit_0123"); } } // namespace psprecomp