#include "psprecomp/runtime.hpp" #include "generated_units.hpp" #include #include #include #include namespace psprecomp { static const std::uint16_t kEntryIds_recomp_unit_0007[4095] = { 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 16, 0, 0, 17, 0, 18, 0, 19, 0, 20, 0, 0, 0, 21, 0, 22, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 24, 0, 25, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 28, 0, 0, 29, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 32, 0, 33, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 50, 0, 0, 0, 51, 0, 52, 0, 53, 0, 54, 0, 0, 0, 55, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 59, 0, 0, 60, 0, 0, 0, 0, 0, 0, 61, 0, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 64, 0, 0, 0, 65, 0, 0, 0, 0, 0, 66, 0, 0, 67, 0, 0, 0, 0, 0, 0, 68, 0, 69, 0, 0, 0, 0, 0, 70, 71, 0, 0, 0, 0, 0, 72, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 77, 0, 0, 78, 0, 0, 0, 0, 0, 0, 79, 0, 80, 0, 0, 0, 0, 0, 81, 0, 82, 0, 0, 83, 0, 0, 0, 0, 0, 0, 84, 0, 85, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 87, 88, 0, 0, 0, 0, 0, 89, 0, 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 93, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 101, 0, 0, 0, 0, 102, 0, 0, 103, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 105, 0, 106, 0, 107, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 115, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 122, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 144, 0, 145, 146, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 148, 0, 0, 0, 0, 149, 0, 150, 0, 0, 0, 151, 0, 0, 152, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 0, 0, 0, 156, 0, 0, 0, 0, 157, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 160, 0, 0, 0, 0, 161, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, 0, 0, 0, 164, 0, 165, 0, 166, 0, 167, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, 0, 0, 172, 0, 0, 0, 173, 0, 0, 0, 174, 0, 175, 0, 0, 0, 0, 0, 176, 0, 0, 177, 0, 0, 0, 0, 0, 0, 178, 0, 0, 179, 0, 180, 0, 181, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 0, 0, 183, 0, 0, 0, 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, 185, 0, 0, 0, 0, 0, 0, 186, 0, 187, 0, 188, 0, 0, 0, 189, 0, 0, 0, 190, 0, 0, 0, 0, 191, 0, 192, 0, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 195, 0, 0, 0, 196, 0, 0, 0, 197, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 0, 0, 0, 201, 0, 0, 0, 202, 0, 203, 0, 204, 0, 205, 0, 206, 0, 0, 0, 0, 207, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 0, 212, 0, 0, 213, 0, 0, 0, 214, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 218, 0, 0, 0, 219, 0, 0, 0, 0, 220, 0, 221, 0, 222, 0, 223, 0, 224, 0, 0, 225, 0, 226, 0, 227, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 229, 0, 0, 0, 0, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 0, 0, 0, 0, 0, 0, 233, 0, 234, 0, 235, 0, 236, 0, 0, 0, 237, 0, 0, 0, 0, 238, 0, 0, 239, 0, 240, 0, 241, 0, 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 0, 244, 0, 0, 0, 245, 0, 0, 246, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 250, 0, 0, 251, 0, 252, 0, 0, 0, 253, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 256, 0, 0, 0, 257, 0, 0, 0, 0, 258, 0, 259, 0, 0, 0, 0, 260, 0, 0, 261, 0, 262, 0, 0, 263, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 0, 266, 0, 0, 0, 267, 0, 0, 0, 268, 0, 0, 0, 0, 269, 0, 270, 0, 0, 0, 0, 271, 0, 272, 0, 0, 0, 0, 0, 0, 0, 0, 273, 0, 0, 0, 274, 0, 0, 0, 275, 0, 0, 0, 0, 276, 0, 277, 0, 0, 0, 0, 278, 0, 0, 279, 0, 280, 0, 0, 281, 0, 282, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0, 284, 0, 0, 0, 285, 0, 0, 0, 0, 286, 0, 287, 0, 0, 0, 0, 288, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 290, 0, 0, 0, 291, 0, 0, 0, 292, 0, 0, 0, 0, 293, 0, 294, 0, 0, 0, 0, 295, 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 298, 0, 0, 0, 299, 0, 0, 0, 0, 300, 0, 301, 0, 0, 0, 0, 302, 0, 303, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, 305, 0, 0, 0, 306, 0, 0, 0, 0, 307, 0, 308, 0, 0, 0, 0, 309, 0, 310, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 312, 0, 0, 0, 313, 0, 0, 0, 0, 314, 0, 315, 0, 0, 0, 0, 316, 0, 317, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0, 319, 0, 0, 0, 320, 0, 0, 0, 0, 321, 0, 322, 0, 0, 0, 0, 323, 0, 324, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0, 326, 0, 0, 0, 327, 0, 0, 0, 0, 328, 0, 329, 0, 0, 0, 0, 330, 0, 331, 0, 0, 0, 0, 0, 0, 0, 0, 332, 0, 0, 0, 333, 0, 0, 0, 334, 0, 0, 0, 0, 335, 0, 336, 0, 0, 0, 0, 337, 0, 338, 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, 340, 0, 0, 0, 341, 0, 0, 0, 0, 342, 0, 343, 0, 0, 0, 0, 344, 0, 345, 0, 0, 0, 346, 0, 0, 0, 0, 347, 0, 348, 0, 0, 0, 349, 0, 0, 0, 0, 0, 350, 0, 0, 351, 0, 352, 0, 0, 353, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 355, 0, 0, 0, 0, 0, 356, 0, 0, 357, 0, 0, 0, 358, 0, 0, 0, 359, 0, 0, 360, 0, 0, 0, 0, 361, 0, 0, 0, 0, 0, 362, 0, 0, 363, 0, 0, 364, 0, 0, 0, 0, 0, 0, 365, 0, 366, 0, 367, 0, 0, 0, 368, 0, 0, 369, 0, 370, 0, 0, 371, 0, 0, 372, 0, 373, 0, 0, 374, 375, 0, 0, 0, 0, 376, 0, 377, 0, 0, 0, 378, 0, 0, 0, 0, 0, 0, 379, 0, 0, 0, 0, 0, 380, 0, 0, 0, 381, 0, 0, 382, 0, 383, 0, 384, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, 386, 0, 0, 0, 0, 387, 0, 0, 0, 0, 0, 388, 0, 389, 0, 0, 390, 0, 0, 0, 391, 0, 0, 0, 0, 0, 392, 0, 393, 0, 0, 394, 0, 0, 0, 0, 0, 0, 395, 0, 396, 0, 0, 0, 397, 0, 0, 0, 0, 0, 0, 398, 0, 399, 0, 0, 400, 0, 0, 401, 0, 0, 0, 0, 402, 0, 0, 403, 0, 404, 0, 0, 0, 405, 0, 0, 0, 0, 0, 0, 406, 0, 0, 407, 0, 408, 0, 0, 0, 0, 0, 0, 409, 0, 0, 410, 0, 0, 411, 0, 412, 0, 413, 0, 0, 0, 0, 0, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 418, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 0, 0, 0, 421, 0, 0, 422, 0, 423, 0, 0, 0, 0, 0, 424, 0, 0, 0, 0, 0, 0, 0, 0, 425, 0, 426, 0, 0, 0, 427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, 0, 0, 430, 0, 0, 431, 0, 0, 432, 0, 0, 433, 434, 0, 435, 0, 0, 0, 0, 0, 0, 0, 0, 436, 0, 0, 437, 0, 0, 438, 0, 0, 0, 0, 0, 0, 439, 0, 0, 0, 0, 0, 0, 440, 0, 0, 0, 0, 441, 0, 442, 443, 0, 0, 444, 445, 0, 0, 0, 0, 446, 0, 0, 447, 0, 448, 0, 0, 0, 0, 0, 0, 449, 0, 0, 0, 0, 450, 0, 451, 452, 0, 0, 453, 454, 0, 455, 0, 0, 456, 0, 0, 0, 0, 0, 457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 458, 0, 459, 0, 0, 0, 0, 0, 460, 0, 461, 0, 0, 0, 0, 462, 0, 0, 0, 0, 0, 0, 0, 0, 463, 464, 0, 0, 0, 0, 0, 0, 0, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 468, 0, 469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 470, 471, 472, 0, 0, 0, 473, 0, 474, 0, 0, 0, 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 476, 0, 0, 0, 0, 477, 0, 0, 0, 0, 0, 0, 478, 0, 0, 0, 0, 0, 0, 479, 0, 0, 480, 0, 0, 0, 481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 0, 484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 485, 0, 0, 486, 0, 0, 0, 0, 487, 0, 0, 0, 0, 488, 0, 0, 0, 0, 0, 0, 0, 489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 490, 0, 0, 0, 491, 0, 0, 0, 0, 492, 0, 0, 0, 0, 493, 494, 0, 0, 495, 0, 496, 0, 497, 0, 0, 498, 0, 499, 0, 0, 500, 0, 0, 501, 0, 502, 0, 503, 0, 504, 0, 0, 0, 505, 0, 506, 0, 0, 507, 0, 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 0, 511, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 0, 0, 0, 516, 0, 0, 0, 0, 517, 0, 518, 519, 0, 520, 0, 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 523, 0, 0, 0, 0, 0, 0, 524, 0, 0, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, 0, 0, 529, 0, 0, 0, 0, 530, 0, 0, 0, 531, 0, 532, 0, 533, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 0, 536, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 0, 0, 0, 541, 0, 0, 0, 0, 542, 0, 543, 544, 0, 545, 0, 546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 547, 548, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 551, 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 553, 0, 0, 554, 0, 0, 0, 0, 555, 0, 0, 0, 556, 0, 557, 0, 558, 0, 0, 559, 0, 0, 560, 0, 561, 0, 0, 0, 562, 0, 0, 563, 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 565, 0, 566, 0, 0, 0, 0, 0, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 568, 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 570, 0, 571, 0, 0, 0, 572, 0, 0, 0, 573, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, 0, 576, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 578, 579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 580, 0, 0, 0, 0, 581, 0, 582, 0, 0, 0, 583, 0, 0, 0, 584, 0, 0, 0, 0, 0, 0, 585, 0, 0, 0, 0, 0, 586, 0, 0, 0, 0, 0, 0, 587, 0, 0, 0, 0, 588, 0, 0, 0, 0, 0, 0, 589, 590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 594, 0, 0, 0, 595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, 0, 0, 0, 0, 0, 0, 597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 598, 0, 0, 0, 599, 0, 0, 0, 0, 0, 0, 600, 0, 0, 0, 601, 0, 0, 0, 0, 0, 0, 602, 0, 603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 605, 0, 0, 606, 0, 0, 0, 607, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0, 0, 0, 0, 0, 609, 0, 0, 0, 0, 0, 0, 610, 0, 0, 0, 0, 0, 0, 611, 0, 0, 0, 0, 0, 612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 614, 615, 0, 0, 0, 616, 0, 617, 0, 618, 0, 0, 619, 0, 0, 0, 0, 0, 0, 620, 0, 0, 621, 0, 622, 0, 0, 0, 0, 0, 0, 623, 0, 0, 0, 0, 0, 0, 624, 0, 0, 0, 625, 0, 0, 0, 0, 0, 0, 0, 626, 0, 627, 0, 0, 0, 0, 0, 0, 0, 628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 629, 0, 0, 0, 0, 0, 630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 631, 0, 0, 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, 0, 0, 633, 0, 0, 0, 0, 0, 634, 0, 0, 0, 635, 0, 0, 636, 0, 0, 0, 637, 0, 638, 639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, 0, 641, 0, 0, 0, 642, 0, 0, 0, 643, 0, 0, 0, 0, 0, 0, 0, 0, 644, 0, 0, 0, 645, 0, 646, 0, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 648, 0, 649, 0, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 652, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 653, 0, 0, 0, 0, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, 0, 0, 0, 0, 0, 656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 657, 0, 0, 0, 658, 0, 0, 0, 0, 0, 0, 0, 0, 659, }; void recomp_unit_0007_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 - 0x08820000u; entry_id = (entry_delta < 16380u && (entry_delta & 3u) == 0u) ? kEntryIds_recomp_unit_0007[entry_delta >> 2u] : 0u; } switch (entry_id) { case 1u: goto L_08820000; case 2u: goto L_08820014; case 3u: goto L_08820034; case 4u: goto L_08820044; case 5u: goto L_08820064; case 6u: goto L_08820070; case 7u: goto L_08820098; case 8u: goto L_088200A0; case 9u: goto L_088200AC; case 10u: goto L_088200D0; case 11u: goto L_088200D8; case 12u: goto L_088200FC; case 13u: goto L_08820118; case 14u: goto L_088201A0; case 15u: goto L_088201B4; case 16u: goto L_088201D0; case 17u: goto L_088201DC; case 18u: goto L_088201E4; case 19u: goto L_088201EC; case 20u: goto L_088201F4; case 21u: goto L_08820204; case 22u: goto L_0882020C; case 23u: goto L_08820228; case 24u: goto L_08820238; case 25u: goto L_08820240; case 26u: goto L_08820250; case 27u: goto L_08820270; case 28u: goto L_0882027C; case 29u: goto L_08820288; case 30u: goto L_088202A4; case 31u: goto L_088202B4; case 32u: goto L_088202CC; case 33u: goto L_088202D4; case 34u: goto L_088202E0; case 35u: goto L_08820310; case 36u: goto L_08820324; case 37u: goto L_0882033C; case 38u: goto L_088203D8; case 39u: goto L_088203E0; case 40u: goto L_08820418; case 41u: goto L_08820420; case 42u: goto L_08820460; case 43u: goto L_08820468; case 44u: goto L_08820470; case 45u: goto L_08820478; case 46u: goto L_08820480; case 47u: goto L_08820494; case 48u: goto L_088204AC; case 49u: goto L_088204E4; case 50u: goto L_088204EC; case 51u: goto L_088204FC; case 52u: goto L_08820504; case 53u: goto L_0882050C; case 54u: goto L_08820514; case 55u: goto L_08820524; case 56u: goto L_08820528; case 57u: goto L_08820560; case 58u: goto L_0882058C; case 59u: goto L_08820594; case 60u: goto L_088205A0; case 61u: goto L_088205BC; case 62u: goto L_088205C4; case 63u: goto L_088205D4; case 64u: goto L_088205EC; case 65u: goto L_088205FC; case 66u: goto L_08820614; case 67u: goto L_08820620; case 68u: goto L_0882063C; case 69u: goto L_08820644; case 70u: goto L_0882065C; case 71u: goto L_08820660; case 72u: goto L_08820678; case 73u: goto L_08820680; case 74u: goto L_08820690; case 75u: goto L_088206AC; case 76u: goto L_088206BC; case 77u: goto L_088206D4; case 78u: goto L_088206E0; case 79u: goto L_088206FC; case 80u: goto L_08820704; case 81u: goto L_0882071C; case 82u: goto L_08820724; case 83u: goto L_08820730; case 84u: goto L_0882074C; case 85u: goto L_08820754; case 86u: goto L_08820764; case 87u: goto L_08820784; case 88u: goto L_08820788; case 89u: goto L_088207A0; case 90u: goto L_088207A8; case 91u: goto L_088207B8; case 92u: goto L_088207DC; case 93u: goto L_088207E4; case 94u: goto L_088207F8; case 95u: goto L_088208B0; case 96u: goto L_088208B8; case 97u: goto L_088208E8; case 98u: goto L_0882090C; case 99u: goto L_08820918; case 100u: goto L_08820944; case 101u: goto L_08820950; case 102u: goto L_08820964; case 103u: goto L_08820970; case 104u: goto L_08820984; case 105u: goto L_088209A4; case 106u: goto L_088209AC; case 107u: goto L_088209B4; case 108u: goto L_088209BC; case 109u: goto L_088209F4; case 110u: goto L_08820A24; case 111u: goto L_08820A34; case 112u: goto L_08820AF0; case 113u: goto L_08820B44; case 114u: goto L_08820B94; case 115u: goto L_08820B9C; case 116u: goto L_08820BB0; case 117u: goto L_08820BF0; case 118u: goto L_08820C08; case 119u: goto L_08820C6C; case 120u: goto L_08820C74; case 121u: goto L_08820C98; case 122u: goto L_08820CA0; case 123u: goto L_08820CA8; case 124u: goto L_08820CCC; case 125u: goto L_08820CD0; case 126u: goto L_08820D2C; case 127u: goto L_08820D44; case 128u: goto L_08820DBC; case 129u: goto L_08820DCC; case 130u: goto L_08820E2C; case 131u: goto L_08820E4C; case 132u: goto L_08820E88; case 133u: goto L_08820EC0; case 134u: goto L_08820ED0; case 135u: goto L_08820F20; case 136u: goto L_08820F58; case 137u: goto L_08820F94; case 138u: goto L_08820FC8; case 139u: goto L_08820FFC; case 140u: goto L_0882101C; case 141u: goto L_08821050; case 142u: goto L_0882105C; case 143u: goto L_0882107C; case 144u: goto L_0882108C; case 145u: goto L_08821094; case 146u: goto L_08821098; case 147u: goto L_088210B0; case 148u: goto L_088210CC; case 149u: goto L_088210E0; case 150u: goto L_088210E8; case 151u: goto L_088210F8; case 152u: goto L_08821104; case 153u: goto L_0882110C; case 154u: goto L_08821154; case 155u: goto L_08821294; case 156u: goto L_088212A4; case 157u: goto L_088212B8; case 158u: goto L_088212C0; case 159u: goto L_08821314; case 160u: goto L_0882131C; case 161u: goto L_08821330; case 162u: goto L_08821338; case 163u: goto L_0882135C; case 164u: goto L_08821378; case 165u: goto L_08821380; case 166u: goto L_08821388; case 167u: goto L_08821390; case 168u: goto L_08821394; case 169u: goto L_0882149C; case 170u: goto L_088214F4; case 171u: goto L_08821544; case 172u: goto L_08821554; case 173u: goto L_08821564; case 174u: goto L_08821574; case 175u: goto L_0882157C; case 176u: goto L_08821594; case 177u: goto L_088215A0; case 178u: goto L_088215BC; case 179u: goto L_088215C8; case 180u: goto L_088215D0; case 181u: goto L_088215D8; case 182u: goto L_088215F4; case 183u: goto L_0882160C; case 184u: goto L_0882165C; case 185u: goto L_08821680; case 186u: goto L_0882169C; case 187u: goto L_088216A4; case 188u: goto L_088216AC; case 189u: goto L_088216BC; case 190u: goto L_088216CC; case 191u: goto L_088216E0; case 192u: goto L_088216E8; case 193u: goto L_088216F0; case 194u: goto L_0882171C; case 195u: goto L_08821720; case 196u: goto L_08821730; case 197u: goto L_08821740; case 198u: goto L_0882174C; case 199u: goto L_08821754; case 200u: goto L_08821764; case 201u: goto L_08821778; case 202u: goto L_08821788; case 203u: goto L_08821790; case 204u: goto L_08821798; case 205u: goto L_088217A0; case 206u: goto L_088217A8; case 207u: goto L_088217BC; case 208u: goto L_088217DC; case 209u: goto L_08821804; case 210u: goto L_0882180C; case 211u: goto L_08821840; case 212u: goto L_08821848; case 213u: goto L_08821854; case 214u: goto L_08821864; case 215u: goto L_08821878; case 216u: goto L_088218BC; case 217u: goto L_088218E0; case 218u: goto L_088218F4; case 219u: goto L_08821904; case 220u: goto L_08821918; case 221u: goto L_08821920; case 222u: goto L_08821928; case 223u: goto L_08821930; case 224u: goto L_08821938; case 225u: goto L_08821944; case 226u: goto L_0882194C; case 227u: goto L_08821954; case 228u: goto L_08821970; case 229u: goto L_08821984; case 230u: goto L_088219A0; case 231u: goto L_088219B0; case 232u: goto L_088219B8; case 233u: goto L_088219D8; case 234u: goto L_088219E0; case 235u: goto L_088219E8; case 236u: goto L_088219F0; case 237u: goto L_08821A00; case 238u: goto L_08821A14; case 239u: goto L_08821A20; case 240u: goto L_08821A28; case 241u: goto L_08821A30; case 242u: goto L_08821A4C; case 243u: goto L_08821A84; case 244u: goto L_08821A8C; case 245u: goto L_08821A9C; case 246u: goto L_08821AA8; case 247u: goto L_08821AC4; case 248u: goto L_08821AE0; case 249u: goto L_08821B10; case 250u: goto L_08821B20; case 251u: goto L_08821B2C; case 252u: goto L_08821B34; case 253u: goto L_08821B44; case 254u: goto L_08821B5C; case 255u: goto L_08821B80; case 256u: goto L_08821B90; case 257u: goto L_08821BA0; case 258u: goto L_08821BB4; case 259u: goto L_08821BBC; case 260u: goto L_08821BD0; case 261u: goto L_08821BDC; case 262u: goto L_08821BE4; case 263u: goto L_08821BF0; case 264u: goto L_08821BF8; case 265u: goto L_08821C1C; case 266u: goto L_08821C2C; case 267u: goto L_08821C3C; case 268u: goto L_08821C4C; case 269u: goto L_08821C60; case 270u: goto L_08821C68; case 271u: goto L_08821C7C; case 272u: goto L_08821C84; case 273u: goto L_08821CA8; case 274u: goto L_08821CB8; case 275u: goto L_08821CC8; case 276u: goto L_08821CDC; case 277u: goto L_08821CE4; case 278u: goto L_08821CF8; case 279u: goto L_08821D04; case 280u: goto L_08821D0C; case 281u: goto L_08821D18; case 282u: goto L_08821D20; case 283u: goto L_08821D44; case 284u: goto L_08821D54; case 285u: goto L_08821D64; case 286u: goto L_08821D78; case 287u: goto L_08821D80; case 288u: goto L_08821D94; case 289u: goto L_08821D9C; case 290u: goto L_08821DC0; case 291u: goto L_08821DD0; case 292u: goto L_08821DE0; case 293u: goto L_08821DF4; case 294u: goto L_08821DFC; case 295u: goto L_08821E10; case 296u: goto L_08821E18; case 297u: goto L_08821E3C; case 298u: goto L_08821E4C; case 299u: goto L_08821E5C; case 300u: goto L_08821E70; case 301u: goto L_08821E78; case 302u: goto L_08821E8C; case 303u: goto L_08821E94; case 304u: goto L_08821EB8; case 305u: goto L_08821EC8; case 306u: goto L_08821ED8; case 307u: goto L_08821EEC; case 308u: goto L_08821EF4; case 309u: goto L_08821F08; case 310u: goto L_08821F10; case 311u: goto L_08821F34; case 312u: goto L_08821F44; case 313u: goto L_08821F54; case 314u: goto L_08821F68; case 315u: goto L_08821F70; case 316u: goto L_08821F84; case 317u: goto L_08821F8C; case 318u: goto L_08821FB0; case 319u: goto L_08821FC0; case 320u: goto L_08821FD0; case 321u: goto L_08821FE4; case 322u: goto L_08821FEC; case 323u: goto L_08822000; case 324u: goto L_08822008; case 325u: goto L_0882202C; case 326u: goto L_0882203C; case 327u: goto L_0882204C; case 328u: goto L_08822060; case 329u: goto L_08822068; case 330u: goto L_0882207C; case 331u: goto L_08822084; case 332u: goto L_088220A8; case 333u: goto L_088220B8; case 334u: goto L_088220C8; case 335u: goto L_088220DC; case 336u: goto L_088220E4; case 337u: goto L_088220F8; case 338u: goto L_08822100; case 339u: goto L_08822124; case 340u: goto L_08822134; case 341u: goto L_08822144; case 342u: goto L_08822158; case 343u: goto L_08822160; case 344u: goto L_08822174; case 345u: goto L_0882217C; case 346u: goto L_0882218C; case 347u: goto L_088221A0; case 348u: goto L_088221A8; case 349u: goto L_088221B8; case 350u: goto L_088221D0; case 351u: goto L_088221DC; case 352u: goto L_088221E4; case 353u: goto L_088221F0; case 354u: goto L_08822214; case 355u: goto L_08822220; case 356u: goto L_08822238; case 357u: goto L_08822244; case 358u: goto L_08822254; case 359u: goto L_08822264; case 360u: goto L_08822270; case 361u: goto L_08822284; case 362u: goto L_0882229C; case 363u: goto L_088222A8; case 364u: goto L_088222B4; case 365u: goto L_088222D0; case 366u: goto L_088222D8; case 367u: goto L_088222E0; case 368u: goto L_088222F0; case 369u: goto L_088222FC; case 370u: goto L_08822304; case 371u: goto L_08822310; case 372u: goto L_0882231C; case 373u: goto L_08822324; case 374u: goto L_08822330; case 375u: goto L_08822334; case 376u: goto L_08822348; case 377u: goto L_08822350; case 378u: goto L_08822360; case 379u: goto L_0882237C; case 380u: goto L_08822394; case 381u: goto L_088223A4; case 382u: goto L_088223B0; case 383u: goto L_088223B8; case 384u: goto L_088223C0; case 385u: goto L_088223DC; case 386u: goto L_088223F4; case 387u: goto L_08822408; case 388u: goto L_08822420; case 389u: goto L_08822428; case 390u: goto L_08822434; case 391u: goto L_08822444; case 392u: goto L_0882245C; case 393u: goto L_08822464; case 394u: goto L_08822470; case 395u: goto L_0882248C; case 396u: goto L_08822494; case 397u: goto L_088224A4; case 398u: goto L_088224C0; case 399u: goto L_088224C8; case 400u: goto L_088224D4; case 401u: goto L_088224E0; case 402u: goto L_088224F4; case 403u: goto L_08822500; case 404u: goto L_08822508; case 405u: goto L_08822518; case 406u: goto L_08822534; case 407u: goto L_08822540; case 408u: goto L_08822548; case 409u: goto L_08822564; case 410u: goto L_08822570; case 411u: goto L_0882257C; case 412u: goto L_08822584; case 413u: goto L_0882258C; case 414u: goto L_088225AC; case 415u: goto L_088225BC; case 416u: goto L_088225D0; case 417u: goto L_088225F4; case 418u: goto L_08822610; case 419u: goto L_08822624; case 420u: goto L_0882264C; case 421u: goto L_08822660; case 422u: goto L_0882266C; case 423u: goto L_08822674; case 424u: goto L_0882268C; case 425u: goto L_088226B0; case 426u: goto L_088226B8; case 427u: goto L_088226C8; case 428u: goto L_088226F8; case 429u: goto L_08822728; case 430u: goto L_0882273C; case 431u: goto L_08822748; case 432u: goto L_08822754; case 433u: goto L_08822760; case 434u: goto L_08822764; case 435u: goto L_0882276C; case 436u: goto L_08822790; case 437u: goto L_0882279C; case 438u: goto L_088227A8; case 439u: goto L_088227C4; case 440u: goto L_088227E0; case 441u: goto L_088227F4; case 442u: goto L_088227FC; case 443u: goto L_08822800; case 444u: goto L_0882280C; case 445u: goto L_08822810; case 446u: goto L_08822824; case 447u: goto L_08822830; case 448u: goto L_08822838; case 449u: goto L_08822854; case 450u: goto L_08822868; case 451u: goto L_08822870; case 452u: goto L_08822874; case 453u: goto L_08822880; case 454u: goto L_08822884; case 455u: goto L_0882288C; case 456u: goto L_08822898; case 457u: goto L_088228B0; case 458u: goto L_08822930; case 459u: goto L_08822938; case 460u: goto L_08822950; case 461u: goto L_08822958; case 462u: goto L_0882296C; case 463u: goto L_08822990; case 464u: goto L_08822994; case 465u: goto L_088229B4; case 466u: goto L_08822A44; case 467u: goto L_08822A84; case 468u: goto L_08822A8C; case 469u: goto L_08822A94; case 470u: goto L_08822AD4; case 471u: goto L_08822AD8; case 472u: goto L_08822ADC; case 473u: goto L_08822AEC; case 474u: goto L_08822AF4; case 475u: goto L_08822B04; case 476u: goto L_08822B38; case 477u: goto L_08822B4C; case 478u: goto L_08822B68; case 479u: goto L_08822B84; case 480u: goto L_08822B90; case 481u: goto L_08822BA0; case 482u: goto L_08822BE4; case 483u: goto L_08822C40; case 484u: goto L_08822C48; case 485u: goto L_08822C8C; case 486u: goto L_08822C98; case 487u: goto L_08822CAC; case 488u: goto L_08822CC0; case 489u: goto L_08822CE0; case 490u: goto L_08822D2C; case 491u: goto L_08822D3C; case 492u: goto L_08822D50; case 493u: goto L_08822D64; case 494u: goto L_08822D68; case 495u: goto L_08822D74; case 496u: goto L_08822D7C; case 497u: goto L_08822D84; case 498u: goto L_08822D90; case 499u: goto L_08822D98; case 500u: goto L_08822DA4; case 501u: goto L_08822DB0; case 502u: goto L_08822DB8; case 503u: goto L_08822DC0; case 504u: goto L_08822DC8; case 505u: goto L_08822DD8; case 506u: goto L_08822DE0; case 507u: goto L_08822DEC; case 508u: goto L_08822DFC; case 509u: goto L_08822E1C; case 510u: goto L_08822E7C; case 511u: goto L_08822E84; case 512u: goto L_08822E88; case 513u: goto L_08822F04; case 514u: goto L_08822F84; case 515u: goto L_08823024; case 516u: goto L_08823034; case 517u: goto L_08823048; case 518u: goto L_08823050; case 519u: goto L_08823054; case 520u: goto L_0882305C; case 521u: goto L_08823064; case 522u: goto L_088230AC; case 523u: goto L_088230B0; case 524u: goto L_088230CC; case 525u: goto L_088230D8; case 526u: goto L_0882311C; case 527u: goto L_08823124; case 528u: goto L_0882315C; case 529u: goto L_08823168; case 530u: goto L_0882317C; case 531u: goto L_0882318C; case 532u: goto L_08823194; case 533u: goto L_0882319C; case 534u: goto L_088231B8; case 535u: goto L_08823218; case 536u: goto L_08823220; case 537u: goto L_08823224; case 538u: goto L_088232A0; case 539u: goto L_08823320; case 540u: goto L_088233C0; case 541u: goto L_088233D0; case 542u: goto L_088233E4; case 543u: goto L_088233EC; case 544u: goto L_088233F0; case 545u: goto L_088233F8; case 546u: goto L_08823400; case 547u: goto L_08823448; case 548u: goto L_0882344C; case 549u: goto L_0882346C; case 550u: goto L_08823478; case 551u: goto L_088234BC; case 552u: goto L_088234C4; case 553u: goto L_088234FC; case 554u: goto L_08823508; case 555u: goto L_0882351C; case 556u: goto L_0882352C; case 557u: goto L_08823534; case 558u: goto L_0882353C; case 559u: goto L_08823548; case 560u: goto L_08823554; case 561u: goto L_0882355C; case 562u: goto L_0882356C; case 563u: goto L_08823578; case 564u: goto L_0882357C; case 565u: goto L_088235B0; case 566u: goto L_088235B8; case 567u: goto L_088235D4; case 568u: goto L_08823620; case 569u: goto L_08823638; case 570u: goto L_0882364C; case 571u: goto L_08823654; case 572u: goto L_08823664; case 573u: goto L_08823674; case 574u: goto L_08823690; case 575u: goto L_088236A8; case 576u: goto L_088236C4; case 577u: goto L_088236D8; case 578u: goto L_088236F4; case 579u: goto L_088236F8; case 580u: goto L_08823720; case 581u: goto L_08823734; case 582u: goto L_0882373C; case 583u: goto L_0882374C; case 584u: goto L_0882375C; case 585u: goto L_08823778; case 586u: goto L_08823790; case 587u: goto L_088237AC; case 588u: goto L_088237C0; case 589u: goto L_088237DC; case 590u: goto L_088237E0; case 591u: goto L_08823808; case 592u: goto L_08823850; case 593u: goto L_08823888; case 594u: goto L_08823894; case 595u: goto L_088238A4; case 596u: goto L_088238D0; case 597u: goto L_088238EC; case 598u: goto L_0882391C; case 599u: goto L_0882392C; case 600u: goto L_08823948; case 601u: goto L_08823958; case 602u: goto L_08823974; case 603u: goto L_0882397C; case 604u: goto L_088239B0; case 605u: goto L_088239BC; case 606u: goto L_088239C8; case 607u: goto L_088239D8; case 608u: goto L_088239FC; case 609u: goto L_08823A1C; case 610u: goto L_08823A38; case 611u: goto L_08823A54; case 612u: goto L_08823A6C; case 613u: goto L_08823AC4; case 614u: goto L_08823AF0; case 615u: goto L_08823AF4; case 616u: goto L_08823B04; case 617u: goto L_08823B0C; case 618u: goto L_08823B14; case 619u: goto L_08823B20; case 620u: goto L_08823B3C; case 621u: goto L_08823B48; case 622u: goto L_08823B50; case 623u: goto L_08823B6C; case 624u: goto L_08823B88; case 625u: goto L_08823B98; case 626u: goto L_08823BB8; case 627u: goto L_08823BC0; case 628u: goto L_08823BE0; case 629u: goto L_08823C1C; case 630u: goto L_08823C34; case 631u: goto L_08823C68; case 632u: goto L_08823C80; case 633u: goto L_08823CA4; case 634u: goto L_08823CBC; case 635u: goto L_08823CCC; case 636u: goto L_08823CD8; case 637u: goto L_08823CE8; case 638u: goto L_08823CF0; case 639u: goto L_08823CF4; case 640u: goto L_08823D20; case 641u: goto L_08823D28; case 642u: goto L_08823D38; case 643u: goto L_08823D48; case 644u: goto L_08823D6C; case 645u: goto L_08823D7C; case 646u: goto L_08823D84; case 647u: goto L_08823D8C; case 648u: goto L_08823DF4; case 649u: goto L_08823DFC; case 650u: goto L_08823E04; case 651u: goto L_08823E68; case 652u: goto L_08823ED0; case 653u: goto L_08823F2C; case 654u: goto L_08823F40; case 655u: goto L_08823F70; case 656u: goto L_08823F88; case 657u: goto L_08823FC4; case 658u: goto L_08823FD4; case 659u: goto L_08823FF8; default: if (local_transfers == 0u) rt.unsupported(ctx.pc, 0u, "invalid internal function entry"); else ctx.pc = local_pc; return; } } L_08820000: aot_mem.aot_store8(ctx.gpr[17] + static_cast(1509), static_cast(ctx.gpr[4])); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(597)))))); ctx.gpr[4] = (ctx.gpr[4] & 2u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08820034; } goto L_08820014; } L_08820014: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(597)))))); ctx.gpr[5] = (0u + static_cast(-3)); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); aot_mem.aot_store8(ctx.gpr[17] + static_cast(597), static_cast(ctx.gpr[4])); ctx.gpr[4] = (2229u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-17436))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-1)); aot_mem.aot_store32(ctx.gpr[4] + static_cast(-17436), ctx.gpr[5]); goto L_08820034; L_08820034: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(597)))))); ctx.gpr[4] = (ctx.gpr[4] & 4u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08820064; } goto L_08820044; } L_08820044: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(597)))))); ctx.gpr[5] = (0u + static_cast(-5)); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); aot_mem.aot_store8(ctx.gpr[17] + static_cast(597), static_cast(ctx.gpr[4])); ctx.gpr[4] = (2229u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-17432))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-1)); aot_mem.aot_store32(ctx.gpr[4] + static_cast(-17432), ctx.gpr[5]); goto L_08820064; L_08820064: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08820070u); ctx.gpr[5] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0039_entry, 39u, 95u, 0x088A0754u>(ctx, &aot_mem) && ctx.pc == 0x08820070u) goto L_08820070; return; L_08820070: ctx.gpr[4] = (16204u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[4] = (2233u << 16u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 1u); ctx.gpr[31] = (0x08820098u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-25056)); if (rt.invoke_chained_direct<&recomp_unit_0018_entry, 18u, 771u, 0x0884F708u>(ctx, &aot_mem) && ctx.pc == 0x08820098u) goto L_08820098; return; L_08820098: ctx.gpr[31] = (0x088200A0u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0069_entry, 69u, 65u, 0x08918454u>(ctx, &aot_mem) && ctx.pc == 0x088200A0u) goto L_088200A0; return; L_088200A0: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[17] + static_cast(88)))))); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[19]; // nop if (branch_taken) { goto L_088200D8; } goto L_088200AC; } L_088200AC: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.gpr[6] = (0u | 4u); ctx.gpr[7] = (ctx.gpr[18] | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 1u); ctx.gpr[31] = (0x088200D0u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0144_entry, 144u, 413u, 0x08A46B40u>(ctx, &aot_mem) && ctx.pc == 0x088200D0u) goto L_088200D0; return; L_088200D0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088200FC; } goto L_088200D8; } L_088200D8: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.gpr[6] = (0u | 3u); ctx.gpr[7] = (ctx.gpr[18] | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 1u); ctx.gpr[31] = (0x088200FCu); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0144_entry, 144u, 413u, 0x08A46B40u>(ctx, &aot_mem) && ctx.pc == 0x088200FCu) goto L_088200FC; return; L_088200FC: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(52))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(56))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(60))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(80)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_08820118: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-368)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(332), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(336), ctx.gpr[17]); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[17] = (ctx.gpr[5] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(340), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[6] | 0u); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[16] + static_cast(88)))))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[8] = (16153u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8152))); ctx.gpr[8] = (ctx.gpr[8] | 39322u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(328), std::bit_cast(ctx.fpr[24])); ctx.fpr[24] = std::bit_cast(ctx.gpr[8]); ctx.gpr[7] = (static_cast(ctx.gpr[4]) < static_cast(ctx.gpr[6]) ? 1u : 0u); ctx.gpr[8] = (16128u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(320), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(324), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(344), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(348), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(352), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(356), ctx.gpr[22]); ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[5] = (0u | 0u); ctx.fpr[22] = std::bit_cast(ctx.gpr[8]); ctx.gpr[6] = (ctx.gpr[29] + static_cast(80)); ctx.gpr[19] = (ctx.gpr[29] + static_cast(48)); ctx.gpr[20] = (ctx.gpr[29] + static_cast(96)); ctx.gpr[21] = (ctx.gpr[29] + static_cast(112)); ctx.gpr[22] = (ctx.gpr[29] + static_cast(64)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(360), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(364), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[23] = (0u | 1u); if (branch_taken) { goto L_088201B4; } goto L_088201A0; } L_088201A0: 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_088201B4; L_088201B4: aot_mem.aot_store32(ctx.gpr[29] + static_cast(224), 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(192), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(196), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 16u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[7]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(200), std::bit_cast(ctx.fpr[20])); if (branch_taken) { goto L_08820250; } goto L_088201D0; } L_088201D0: ctx.gpr[7] = (0u | 15u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[7]; ctx.gpr[7] = (0u | 12u); if (branch_taken) { goto L_088201F4; } goto L_088201DC; } L_088201DC: { const bool branch_taken = ctx.gpr[4] == ctx.gpr[7]; ctx.gpr[7] = (0u | 11u); if (branch_taken) { goto L_08820270; } goto L_088201E4; } L_088201E4: { const bool branch_taken = ctx.gpr[4] == ctx.gpr[7]; // nop if (branch_taken) { goto L_08820228; } goto L_088201EC; } L_088201EC: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_0882027C; } goto L_088201F4; } L_088201F4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(56))); ctx.gpr[7] = (0u | 1u); if (ctx.gpr[4] != ctx.gpr[7]) { ctx.gpr[5] = (ctx.gpr[5] + static_cast(112)); goto L_0882020C; } goto L_08820204; L_08820204: { const bool branch_taken = 0u == 0u; ctx.gpr[5] = (ctx.gpr[5] + static_cast(80)); if (branch_taken) { goto L_0882020C; } goto L_0882020C; } L_0882020C: { 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); } { 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.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), std::bit_cast(ctx.fpr[12])); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_0882027C; } goto L_08820228; } L_08820228: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(56))); ctx.gpr[7] = (0u | 1u); if (ctx.gpr[4] != ctx.gpr[7]) { ctx.gpr[5] = (ctx.gpr[5] + static_cast(112)); goto L_08820240; } goto L_08820238; L_08820238: { const bool branch_taken = 0u == 0u; ctx.gpr[5] = (ctx.gpr[5] + static_cast(80)); if (branch_taken) { goto L_08820240; } goto L_08820240; } L_08820240: { 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); } { 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 bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_0882027C; } goto L_08820250; } L_08820250: ctx.gpr[4] = (ctx.gpr[5] + 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); } { 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.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), std::bit_cast(ctx.fpr[12])); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_0882027C; } goto L_08820270; } L_08820270: ctx.gpr[4] = (ctx.gpr[5] + 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); } { 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])); } goto L_0882027C; L_0882027C: ctx.gpr[4] = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08820288u); ctx.gpr[5] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 261u, 0x0880A85Cu>(ctx, &aot_mem) && ctx.pc == 0x08820288u) goto L_08820288; return; L_08820288: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (ctx.gpr[19] | 0u); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088202A4u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0034_entry, 34u, 472u, 0x0888E3F0u>(ctx, &aot_mem) && ctx.pc == 0x088202A4u) goto L_088202A4; return; L_088202A4: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { goto L_08820310; } goto L_088202B4; } L_088202B4: { 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[18] = (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[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])); } ctx.gpr[4] = (0u | 11u); { const bool branch_taken = ctx.gpr[17] == ctx.gpr[4]; ctx.gpr[4] = (0u | 12u); if (branch_taken) { goto L_088202D4; } goto L_088202CC; } L_088202CC: { const bool branch_taken = ctx.gpr[17] != ctx.gpr[4]; // nop if (branch_taken) { goto L_088202E0; } goto L_088202D4; } L_088202D4: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(176))); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(176), std::bit_cast(ctx.fpr[12])); goto L_088202E0; L_088202E0: { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(16); 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<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(32); 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<6u, 4u>(vfpu_value); } { 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<7u, 4u>(vfpu_value); } { float vfpu_matrix[16]{}, vfpu_target_raw[4]{}, vfpu_target[4]{}, vfpu_result[4]{}; ctx.read_vfpu_matrix(vfpu_matrix, 36u, 3u); ctx.read_vfpu_vector_ct<7u, 3u>(vfpu_target_raw); constexpr std::uint32_t vfpu_side = 3u; constexpr std::uint32_t vfpu_input_length = 3u; for (std::uint32_t i = 0; i < 4u; ++i) vfpu_target[i] = i < vfpu_input_length ? vfpu_target_raw[i] : 0.0f; if (vfpu_side - 1u >= vfpu_input_length) vfpu_target[vfpu_side - 1u] = 1.0f; for (std::uint32_t row = 0; row + 1u < vfpu_side; ++row) { float sum = 0.0f; for (std::uint32_t column = 0; column < vfpu_side; ++column) sum += vfpu_matrix[row * 4u + column] * vfpu_target[column]; vfpu_result[row] = sum; } float vfpu_final_row[4]{vfpu_matrix[(vfpu_side - 1u) * 4u + 0u], vfpu_matrix[(vfpu_side - 1u) * 4u + 1u], vfpu_matrix[(vfpu_side - 1u) * 4u + 2u], vfpu_matrix[(vfpu_side - 1u) * 4u + 3u]}; ctx.apply_vfpu_source_prefix_ct<4u, 0u>(vfpu_final_row); ctx.apply_vfpu_source_prefix_ct<4u, 1u>(vfpu_target); for (std::uint32_t column = 0; column < 4u; ++column) vfpu_result[vfpu_side - 1u] += vfpu_final_row[column] * vfpu_target[column]; const std::uint32_t vfpu_destination_prefix = ctx.vfpu_ctrl[2]; const std::uint32_t vfpu_last_lane = vfpu_side - 1u; ctx.vfpu_ctrl[2] = ((vfpu_destination_prefix & (1u << 8u)) << vfpu_last_lane) | ((vfpu_destination_prefix & 3u) << (vfpu_last_lane * 2u)); ctx.write_vfpu_vector_with_destination_prefix(vfpu_result, 0u, vfpu_side); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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[5] = (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[5] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[31] = (0x08820310u); ctx.gpr[4] = (ctx.gpr[21] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 565u, 0x0892753Cu>(ctx, &aot_mem) && ctx.pc == 0x08820310u) goto L_08820310; return; L_08820310: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(40))); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_0882033C; } goto L_08820324; } L_08820324: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(104))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(120))); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[22]; ctx.fpr[13] = ctx.fpr[13] + ctx.fpr[22]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(104), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(120), std::bit_cast(ctx.fpr[13])); goto L_0882033C; L_0882033C: { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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])); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(160)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(120))); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[22]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(120), std::bit_cast(ctx.fpr[12])); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::fabs(std::sqrt(vfpu_s[i])); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.fpr[13] = ctx.fpr[12] + ctx.fpr[24]; ctx.fpr[12] = ctx.fpr[13] / ctx.fpr[12]; ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { 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])); } { 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<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); } { 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[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])); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[5] = (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[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[4] = (ctx.gpr[20] | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); ctx.gpr[31] = (0x088203D8u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[23]); if (rt.invoke_chained_direct<&recomp_unit_0048_entry, 48u, 339u, 0x088C5B2Cu>(ctx, &aot_mem) && ctx.pc == 0x088203D8u) goto L_088203D8; return; L_088203D8: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08820478; } goto L_088203E0; } L_088203E0: { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (ctx.gpr[22] | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); ctx.gpr[31] = (0x08820418u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[23]); if (rt.invoke_chained_direct<&recomp_unit_0049_entry, 49u, 72u, 0x088C8430u>(ctx, &aot_mem) && ctx.pc == 0x08820418u) goto L_08820418; return; L_08820418: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08820470; } goto L_08820420; } L_08820420: aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); ctx.gpr[16] = (ctx.gpr[29] + static_cast(192)); ctx.gpr[17] = (ctx.gpr[29] + static_cast(224)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); ctx.gpr[2] = (17530u << 16u); ctx.gpr[4] = (ctx.gpr[21] | 0u); ctx.fpr[12] = std::bit_cast(ctx.gpr[2]); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 0u); ctx.gpr[31] = (0x08820460u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[23]); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 95u, 0x088C075Cu>(ctx, &aot_mem) && ctx.pc == 0x08820460u) goto L_08820460; return; L_08820460: { const bool branch_taken = ctx.gpr[2] != 0u; ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(200))); if (branch_taken) { goto L_08820480; } goto L_08820468; } L_08820468: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088204AC; } goto L_08820470; } L_08820470: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08820528; } goto L_08820478; } L_08820478: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08820528; } goto L_08820480; } L_08820480: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(120))); ctx.set_fpu_condition((ctx.fpr[22] <= ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088204AC; } goto L_08820494; } L_08820494: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(120))); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[24]; ctx.set_fpu_condition((ctx.fpr[22] < ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_0882050C; } goto L_088204AC; } L_088204AC: 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[21] | 0u); ctx.fpr[12] = std::bit_cast(ctx.gpr[2]); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 0u); ctx.gpr[31] = (0x088204E4u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[23]); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 95u, 0x088C075Cu>(ctx, &aot_mem) && ctx.pc == 0x088204E4u) goto L_088204E4; return; L_088204E4: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08820504; } goto L_088204EC; } L_088204EC: ctx.set_fpu_condition((!(std::isnan(ctx.fpr[22]) || std::isnan(ctx.fpr[20])) && ctx.fpr[22] == ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(200))); if (branch_taken) { goto L_08820514; } goto L_088204FC; } L_088204FC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[23] | 0u); if (branch_taken) { goto L_08820528; } goto L_08820504; } L_08820504: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08820528; } goto L_0882050C; } L_0882050C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08820528; } goto L_08820514; } L_08820514: ctx.set_fpu_condition((ctx.fpr[22] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088204FC; } goto L_08820524; } L_08820524: ctx.gpr[2] = (0u | 0u); goto L_08820528; L_08820528: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(320))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(324))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(328))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(332))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(336))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(340))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(344))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(348))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(352))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(356))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(360))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(364))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(368)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_08820560: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[16]); ctx.gpr[16] = (ctx.gpr[4] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[17]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(1520))); ctx.gpr[17] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-8148))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[31]); ctx.gpr[6] = (ctx.gpr[4] < ctx.gpr[5] ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_08820724; } goto L_0882058C; } L_0882058C: { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[5] = (ctx.gpr[5] + static_cast(-500)); if (branch_taken) { goto L_0882071C; } goto L_08820594; } L_08820594: 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_0882071C; } goto L_088205A0; } L_088205A0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[5] = (0u | 2u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(256)); 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] = (0x088205BCu); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x088205BCu) goto L_088205BC; return; L_088205BC: { const bool branch_taken = ctx.gpr[2] != 0u; ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); if (branch_taken) { goto L_08820660; } goto L_088205C4; } L_088205C4: ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(542))); ctx.gpr[5] = (ctx.gpr[5] & 1u); { const bool branch_taken = ctx.gpr[5] != 0u; // nop if (branch_taken) { goto L_08820660; } goto L_088205D4; } L_088205D4: ctx.gpr[4] = (ctx.gpr[4] + static_cast(248)); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); jump_target = ctx.gpr[6]; ctx.gpr[31] = (0x088205ECu); ctx.gpr[5] = (0u | 2u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x088205ECu) goto L_088205EC; return; L_088205EC: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-8148))); { const bool branch_taken = ctx.gpr[2] != 0u; ctx.gpr[5] = (ctx.gpr[5] + static_cast(216)); if (branch_taken) { goto L_0882063C; } goto L_088205FC; } L_088205FC: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(1520))); ctx.gpr[4] = (ctx.gpr[4] - ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[4] + static_cast(500)); 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_08820620; } goto L_08820614; } L_08820614: 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_08820620; L_08820620: ctx.gpr[4] = (17402u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[13]; ctx.gpr[4] = (16256u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); { const bool branch_taken = 0u == 0u; ctx.fpr[12] = ctx.fpr[14] - ctx.fpr[12]; if (branch_taken) { goto L_08820644; } goto L_0882063C; } L_0882063C: aot_mem.aot_store32(ctx.gpr[16] + static_cast(1520), ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(0u); goto L_08820644; L_08820644: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]); ctx.gpr[5] = (0u | 15u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x0882065Cu); ctx.gpr[6] = (0u | 2u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x0882065Cu) goto L_0882065C; return; L_0882065C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); goto L_08820660; L_08820660: ctx.gpr[4] = (ctx.gpr[4] + static_cast(256)); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); jump_target = ctx.gpr[6]; ctx.gpr[31] = (0x08820678u); ctx.gpr[5] = (0u | 3u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08820678u) goto L_08820678; return; L_08820678: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_0882071C; } goto L_08820680; } L_08820680: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(542))); ctx.gpr[4] = (ctx.gpr[4] & 4u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_0882071C; } goto L_08820690; } L_08820690: 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(248)); 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] = (0x088206ACu); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x088206ACu) goto L_088206AC; return; L_088206AC: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-8148))); { const bool branch_taken = ctx.gpr[2] != 0u; ctx.gpr[5] = (ctx.gpr[5] + static_cast(216)); if (branch_taken) { goto L_088206FC; } goto L_088206BC; } L_088206BC: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(1520))); ctx.gpr[4] = (ctx.gpr[4] - ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[4] + static_cast(500)); 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_088206E0; } goto L_088206D4; } L_088206D4: 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_088206E0; L_088206E0: ctx.gpr[4] = (17402u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[13]; ctx.gpr[4] = (16256u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); { const bool branch_taken = 0u == 0u; ctx.fpr[12] = ctx.fpr[14] - ctx.fpr[12]; if (branch_taken) { goto L_08820704; } goto L_088206FC; } L_088206FC: aot_mem.aot_store32(ctx.gpr[16] + static_cast(1520), ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(0u); goto L_08820704; L_08820704: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[5] + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]); ctx.gpr[5] = (0u | 11u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x0882071Cu); ctx.gpr[6] = (0u | 3u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x0882071Cu) goto L_0882071C; return; L_0882071C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088207E4; } goto L_08820724; } L_08820724: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(1524))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088207E4; } goto L_08820730; } L_08820730: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[5] = (0u | 2u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(256)); 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] = (0x0882074Cu); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[6]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x0882074Cu) goto L_0882074C; return; L_0882074C: { const bool branch_taken = ctx.gpr[2] != 0u; ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); if (branch_taken) { goto L_08820788; } goto L_08820754; } L_08820754: ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(542))); ctx.gpr[5] = (ctx.gpr[5] & 1u); { const bool branch_taken = ctx.gpr[5] != 0u; // nop if (branch_taken) { goto L_08820788; } goto L_08820764; } L_08820764: ctx.gpr[4] = (ctx.gpr[4] + static_cast(216)); ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[5] = (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))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (0u | 15u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x08820784u); ctx.gpr[6] = (0u | 2u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08820784u) goto L_08820784; return; L_08820784: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); goto L_08820788; L_08820788: ctx.gpr[4] = (ctx.gpr[4] + static_cast(256)); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); jump_target = ctx.gpr[6]; ctx.gpr[31] = (0x088207A0u); ctx.gpr[5] = (0u | 3u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x088207A0u) goto L_088207A0; return; L_088207A0: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_088207DC; } goto L_088207A8; } L_088207A8: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(542))); ctx.gpr[4] = (ctx.gpr[4] & 4u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088207DC; } goto L_088207B8; } L_088207B8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[6] = (0u | 3u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(216)); ctx.gpr[5] = (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))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x088207DCu); ctx.gpr[5] = (0u | 11u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x088207DCu) goto L_088207DC; return; L_088207DC: aot_mem.aot_store32(ctx.gpr[16] + static_cast(1524), 0u); aot_mem.aot_store32(ctx.gpr[16] + static_cast(1520), 0u); goto L_088207E4; L_088207E4: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(24))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088207F8: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-896)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(828), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(832), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(836), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(840), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(844), std::bit_cast(ctx.fpr[28])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(848), std::bit_cast(ctx.fpr[30])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(852), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(856), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(860), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(864), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(868), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(872), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(876), ctx.gpr[22]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(880), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(884), ctx.gpr[30]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(888), ctx.gpr[31]); ctx.gpr[20] = (ctx.gpr[4] | 0u); ctx.fpr[20] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (49074u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 28312u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (16402u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 61866u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(72), std::bit_cast(ctx.fpr[12])); ctx.gpr[17] = (ctx.gpr[29] + static_cast(64)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (16444u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(84), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (16446u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 5243u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); 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); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[31] = (0x088208B0u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x088208B0u) goto L_088208B0; return; L_088208B0: { const bool branch_taken = ctx.gpr[20] != ctx.gpr[2]; ctx.gpr[16] = (2230u << 16u); if (branch_taken) { goto L_0882110C; } goto L_088208B8; } L_088208B8: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(-8108))); ctx.gpr[22] = (2233u << 16u); ctx.gpr[5] = (ctx.gpr[4] << 7u); ctx.gpr[6] = (ctx.gpr[5] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[22] = (ctx.gpr[22] + static_cast(-26096)); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[22]); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(232))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_0882110C; } goto L_088208E8; } L_088208E8: ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(1708))); ctx.gpr[4] = (2230u << 16u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8144))); ctx.gpr[4] = (14621u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 18770u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (0u | 0u); ctx.gpr[31] = (0x0882090Cu); { 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[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x0882090Cu) goto L_0882090C; return; L_0882090C: ctx.gpr[4] = (ctx.gpr[2] | 0u); ctx.gpr[31] = (0x08820918u); ctx.gpr[5] = (0u | 1u); if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 835u, 0x08A97404u>(ctx, &aot_mem) && ctx.pc == 0x08820918u) goto L_08820918; return; L_08820918: ctx.fpr[14] = std::bit_cast(ctx.gpr[2]); ctx.fpr[14] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); ctx.gpr[4] = (16585u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[24]; 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[13] = ctx.fpr[22] - ctx.fpr[13]; ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); aot_mem.aot_store32(ctx.gpr[20] + static_cast(1708), std::bit_cast(ctx.fpr[13])); if (branch_taken) { goto L_08820950; } goto L_08820944; } L_08820944: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(1708))); ctx.fpr[13] = ctx.fpr[13] + ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[20] + static_cast(1708), std::bit_cast(ctx.fpr[13])); goto L_08820950; L_08820950: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(1708))); ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_08820970; } goto L_08820964; } L_08820964: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(1708))); ctx.fpr[12] = ctx.fpr[13] - ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[20] + static_cast(1708), std::bit_cast(ctx.fpr[12])); goto L_08820970; L_08820970: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(1708))); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[22]) || std::isnan(ctx.fpr[12])) && ctx.fpr[22] == ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088209A4; } goto L_08820984; } L_08820984: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(1708))); ctx.gpr[4] = (2230u << 16u); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[22]; ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast(96))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-8107)); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) & 0x7FFFFFFFu); ctx.gpr[31] = (0x088209A4u); ctx.gpr[6] = (0u | 28u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 102u, 0x0886477Cu>(ctx, &aot_mem) && ctx.pc == 0x088209A4u) goto L_088209A4; return; L_088209A4: ctx.gpr[31] = (0x088209ACu); ctx.gpr[4] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x088209ACu) goto L_088209AC; return; L_088209AC: ctx.gpr[31] = (0x088209B4u); ctx.gpr[4] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 1067u, 0x08A97EA8u>(ctx, &aot_mem) && ctx.pc == 0x088209B4u) goto L_088209B4; return; L_088209B4: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08821050; } goto L_088209BC; } L_088209BC: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(-8108))); ctx.gpr[5] = (ctx.gpr[4] << 7u); ctx.gpr[6] = (ctx.gpr[5] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[22]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(256))); ctx.gpr[4] = (2230u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8148))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(800)); ctx.gpr[5] = (ctx.gpr[5] < ctx.gpr[6] ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] == 0u; // nop if (branch_taken) { goto L_08821050; } goto L_088209F4; } L_088209F4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8148))); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(-8108))); ctx.gpr[6] = (ctx.gpr[5] << 7u); ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); ctx.gpr[5] = (ctx.gpr[5] << 4u); ctx.gpr[5] = (ctx.gpr[6] - ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[22]); aot_mem.aot_store32(ctx.gpr[5] + static_cast(256), ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(1708))); ctx.gpr[31] = (0x08820A24u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 383u, 0x08AF9AC4u>(ctx, &aot_mem) && ctx.pc == 0x08820A24u) goto L_08820A24; return; L_08820A24: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(1708))); ctx.gpr[31] = (0x08820A34u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 384u, 0x08AF9AE8u>(ctx, &aot_mem) && ctx.pc == 0x08820A34u) goto L_08820A34; return; L_08820A34: aot_mem.aot_store32(ctx.gpr[29] + static_cast(128), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(132), std::bit_cast(ctx.fpr[0])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), std::bit_cast(ctx.fpr[20])); ctx.gpr[16] = (ctx.gpr[29] + static_cast(128)); { 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<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(16); 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<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(32); 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<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } { float vfpu_matrix[16]{}, vfpu_target_raw[4]{}, vfpu_target[4]{}, vfpu_result[4]{}; ctx.read_vfpu_matrix(vfpu_matrix, 36u, 3u); ctx.read_vfpu_vector_ct<7u, 3u>(vfpu_target_raw); constexpr std::uint32_t vfpu_side = 3u; constexpr std::uint32_t vfpu_input_length = 3u; for (std::uint32_t i = 0; i < 4u; ++i) vfpu_target[i] = i < vfpu_input_length ? vfpu_target_raw[i] : 0.0f; if (vfpu_side - 1u >= vfpu_input_length) vfpu_target[vfpu_side - 1u] = 1.0f; for (std::uint32_t row = 0; row + 1u < vfpu_side; ++row) { float sum = 0.0f; for (std::uint32_t column = 0; column < vfpu_side; ++column) sum += vfpu_matrix[row * 4u + column] * vfpu_target[column]; vfpu_result[row] = sum; } float vfpu_final_row[4]{vfpu_matrix[(vfpu_side - 1u) * 4u + 0u], vfpu_matrix[(vfpu_side - 1u) * 4u + 1u], vfpu_matrix[(vfpu_side - 1u) * 4u + 2u], vfpu_matrix[(vfpu_side - 1u) * 4u + 3u]}; ctx.apply_vfpu_source_prefix_ct<4u, 0u>(vfpu_final_row); ctx.apply_vfpu_source_prefix_ct<4u, 1u>(vfpu_target); for (std::uint32_t column = 0; column < 4u; ++column) vfpu_result[vfpu_side - 1u] += vfpu_final_row[column] * vfpu_target[column]; const std::uint32_t vfpu_destination_prefix = ctx.vfpu_ctrl[2]; const std::uint32_t vfpu_last_lane = vfpu_side - 1u; ctx.vfpu_ctrl[2] = ((vfpu_destination_prefix & (1u << 8u)) << vfpu_last_lane) | ((vfpu_destination_prefix & 3u) << (vfpu_last_lane * 2u)); ctx.write_vfpu_vector_with_destination_prefix(vfpu_result, 0u, vfpu_side); } ctx.gpr[18] = (ctx.gpr[29] + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(1708))); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[4]); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); } { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f); ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[4]); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); } { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f); ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(96))); { 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[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(100))); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[13]; 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[15] = ctx.fpr[15] - ctx.fpr[17]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(144), std::bit_cast(ctx.fpr[15])); { 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[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[12] = ctx.fpr[12] + ctx.fpr[14]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(148), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(104))); ctx.gpr[4] = (16256u << 16u); ctx.fpr[22] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[22]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(152), std::bit_cast(ctx.fpr[12])); ctx.gpr[19] = (ctx.gpr[29] + static_cast(144)); ctx.gpr[4] = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08820AF0u); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 565u, 0x0892753Cu>(ctx, &aot_mem) && ctx.pc == 0x08820AF0u) goto L_08820AF0; return; L_08820AF0: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 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<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(16); 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<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(32); 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<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(48); 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<7u, 4u>(vfpu_value); } { float vfpu_matrix[16]{}, vfpu_target_raw[4]{}, vfpu_target[4]{}, vfpu_result[4]{}; ctx.read_vfpu_matrix(vfpu_matrix, 36u, 3u); ctx.read_vfpu_vector_ct<1u, 3u>(vfpu_target_raw); constexpr std::uint32_t vfpu_side = 3u; constexpr std::uint32_t vfpu_input_length = 3u; for (std::uint32_t i = 0; i < 4u; ++i) vfpu_target[i] = i < vfpu_input_length ? vfpu_target_raw[i] : 0.0f; if (vfpu_side - 1u >= vfpu_input_length) vfpu_target[vfpu_side - 1u] = 1.0f; for (std::uint32_t row = 0; row + 1u < vfpu_side; ++row) { float sum = 0.0f; for (std::uint32_t column = 0; column < vfpu_side; ++column) sum += vfpu_matrix[row * 4u + column] * vfpu_target[column]; vfpu_result[row] = sum; } float vfpu_final_row[4]{vfpu_matrix[(vfpu_side - 1u) * 4u + 0u], vfpu_matrix[(vfpu_side - 1u) * 4u + 1u], vfpu_matrix[(vfpu_side - 1u) * 4u + 2u], vfpu_matrix[(vfpu_side - 1u) * 4u + 3u]}; ctx.apply_vfpu_source_prefix_ct<4u, 0u>(vfpu_final_row); ctx.apply_vfpu_source_prefix_ct<4u, 1u>(vfpu_target); for (std::uint32_t column = 0; column < 4u; ++column) vfpu_result[vfpu_side - 1u] += vfpu_final_row[column] * vfpu_target[column]; const std::uint32_t vfpu_destination_prefix = ctx.vfpu_ctrl[2]; const std::uint32_t vfpu_last_lane = vfpu_side - 1u; ctx.vfpu_ctrl[2] = ((vfpu_destination_prefix & (1u << 8u)) << vfpu_last_lane) | ((vfpu_destination_prefix & 3u) << (vfpu_last_lane * 2u)); ctx.write_vfpu_vector_with_destination_prefix(vfpu_result, 0u, vfpu_side); } { 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<7u, 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[22] = (ctx.gpr[29] + static_cast(160)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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] = (ctx.gpr[20] + static_cast(112)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(820), ctx.gpr[4]); ctx.gpr[5] = (15733u << 16u); ctx.gpr[5] = (ctx.gpr[5] | 49807u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { 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])); } ctx.gpr[31] = (0x08820B44u); ctx.gpr[5] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 566u, 0x08927554u>(ctx, &aot_mem) && ctx.pc == 0x08820B44u) goto L_08820B44; return; L_08820B44: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(120))); ctx.gpr[4] = (15692u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[13] + ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[20] + static_cast(120), std::bit_cast(ctx.fpr[12])); 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]); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { 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[22] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[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<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[23] = (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[23] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[31] = (0x08820B94u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x08820B94u) goto L_08820B94; return; L_08820B94: ctx.gpr[31] = (0x08820B9Cu); ctx.gpr[16] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08820B9Cu) goto L_08820B9C; return; L_08820B9C: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (ctx.gpr[22] | 0u); ctx.gpr[31] = (0x08820BB0u); ctx.gpr[7] = (ctx.gpr[23] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0022_entry, 22u, 537u, 0x0885FA68u>(ctx, &aot_mem) && ctx.pc == 0x08820BB0u) goto L_08820BB0; return; L_08820BB0: aot_mem.aot_store32(ctx.gpr[29] + static_cast(224), 0u); ctx.gpr[6] = (ctx.gpr[29] + static_cast(192)); ctx.gpr[7] = (ctx.gpr[29] + static_cast(224)); ctx.gpr[2] = (0u | 1u); ctx.gpr[4] = (ctx.gpr[22] | 0u); ctx.gpr[5] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[2]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[2]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(8), 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(12), 0u); ctx.gpr[31] = (0x08820BF0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), 0u); if (rt.invoke_chained_direct<&recomp_unit_0048_entry, 48u, 489u, 0x088C697Cu>(ctx, &aot_mem) && ctx.pc == 0x08820BF0u) goto L_08820BF0; return; L_08820BF0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(224))); ctx.gpr[5] = (15820u << 16u); ctx.gpr[5] = (ctx.gpr[5] | 52429u); ctx.fpr[24] = std::bit_cast(ctx.gpr[5]); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[30] = (ctx.gpr[29] + static_cast(228)); if (branch_taken) { goto L_08820CA0; } goto L_08820C08; } L_08820C08: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(192))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(256), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(196))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(260), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(200))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(264), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (ctx.gpr[29] + static_cast(256)); { 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[23] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[23] + 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); } { 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(288)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[5] = (15651u << 16u); ctx.gpr[5] = (ctx.gpr[5] | 55050u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[5] = (ctx.gpr[29] + static_cast(272)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[31] = (0x08820C6Cu); ctx.gpr[4] = (ctx.gpr[23] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 566u, 0x08927554u>(ctx, &aot_mem) && ctx.pc == 0x08820C6Cu) goto L_08820C6C; return; L_08820C6C: ctx.gpr[31] = (0x08820C74u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08820C74u) goto L_08820C74; return; L_08820C74: ctx.gpr[4] = (0u | 0u); ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (0u | 10u); ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 1u); ctx.gpr[31] = (0x08820C98u); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0144_entry, 144u, 413u, 0x08A46B40u>(ctx, &aot_mem) && ctx.pc == 0x08820C98u) goto L_08820C98; return; L_08820C98: { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(816), ctx.gpr[20]); if (branch_taken) { goto L_08820CD0; } goto L_08820CA0; } L_08820CA0: ctx.gpr[31] = (0x08820CA8u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08820CA8u) goto L_08820CA8; return; L_08820CA8: ctx.gpr[4] = (0u | 0u); ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (0u | 10u); ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 1u); ctx.gpr[31] = (0x08820CCCu); ctx.gpr[11] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0144_entry, 144u, 413u, 0x08A46B40u>(ctx, &aot_mem) && ctx.pc == 0x08820CCCu) goto L_08820CCC; return; L_08820CCC: aot_mem.aot_store32(ctx.gpr[29] + static_cast(816), ctx.gpr[20]); goto L_08820CD0; L_08820CD0: aot_mem.aot_store8(ctx.gpr[29] + static_cast(228), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[29] + static_cast(229), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[29] + static_cast(230), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[29] + static_cast(231), static_cast(0u)); { const std::uint32_t vfpu_address = ctx.gpr[23] + 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); } { 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(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::fabs(std::sqrt(vfpu_s[i])); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (16000u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[12])); ctx.gpr[21] = (std::bit_cast(ctx.fpr[12])); ctx.gpr[16] = (0u | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[16]) < static_cast(ctx.gpr[21]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08820DCC; } goto L_08820D2C; } L_08820D2C: ctx.fpr[26] = std::bit_cast(ctx.gpr[21]); ctx.gpr[19] = (ctx.gpr[29] + static_cast(336)); ctx.fpr[26] = static_cast(static_cast(std::bit_cast(ctx.fpr[26]))); ctx.gpr[18] = (ctx.gpr[29] + static_cast(320)); ctx.gpr[17] = (ctx.gpr[29] + static_cast(368)); ctx.gpr[20] = (ctx.gpr[29] + static_cast(352)); goto L_08820D44; L_08820D44: { const std::uint32_t vfpu_address = ctx.gpr[23] + 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); } { 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[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[12] = std::bit_cast(ctx.gpr[16]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[26]; ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { 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[22] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[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<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } aot_mem.aot_store32(ctx.gpr[29] + static_cast(352), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(356), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(360), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (0u | 53u); ctx.gpr[5] = (ctx.gpr[17] | 0u); ctx.gpr[6] = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); ctx.gpr[31] = (0x08820DBCu); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 276u, 0x089999ACu>(ctx, &aot_mem) && ctx.pc == 0x08820DBCu) goto L_08820DBC; return; L_08820DBC: ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[16]) < static_cast(ctx.gpr[21]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08820D44; } goto L_08820DCC; } L_08820DCC: { const std::uint32_t vfpu_address = ctx.gpr[23] + 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); } { 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[19] = (ctx.gpr[29] + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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])); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<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[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.gpr[17] = (0u | 0u); ctx.gpr[4] = (16752u << 16u); ctx.fpr[26] = std::bit_cast(ctx.gpr[4]); ctx.gpr[18] = (ctx.gpr[29] + static_cast(384)); ctx.gpr[4] = (16179u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 13107u); ctx.fpr[28] = std::bit_cast(ctx.gpr[4]); ctx.gpr[16] = (ctx.gpr[29] + static_cast(400)); ctx.gpr[4] = (16320u << 16u); ctx.fpr[30] = std::bit_cast(ctx.gpr[4]); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(816))); goto L_08820E2C; L_08820E2C: aot_mem.aot_store32(ctx.gpr[29] + static_cast(824), std::bit_cast(ctx.fpr[26])); ctx.fpr[12] = std::bit_cast(ctx.gpr[17]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.fpr[26] = ctx.fpr[12] / ctx.fpr[26]; { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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])); } ctx.gpr[31] = (0x08820E4Cu); // nop if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 305u, 0x0894DB70u>(ctx, &aot_mem) && ctx.pc == 0x08820E4Cu) goto L_08820E4C; return; L_08820E4C: ctx.fpr[13] = ctx.fpr[22] - ctx.fpr[28]; { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[0]; 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[13] = ctx.fpr[28] + ctx.fpr[13]; ctx.gpr[4] = (std::bit_cast(ctx.fpr[13])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (std::bit_cast(ctx.fpr[26])); ctx.set_vfpu_scalar_bits_ct<1u>(ctx.gpr[4]); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[31] = (0x08820E88u); // nop if (rt.invoke_chained_direct<&recomp_unit_0082_entry, 82u, 305u, 0x0894DB70u>(ctx, &aot_mem) && ctx.pc == 0x08820E88u) goto L_08820E88; return; L_08820E88: ctx.fpr[12] = ctx.fpr[30] - ctx.fpr[22]; { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = ctx.fpr[22] + ctx.fpr[12]; { 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.gpr[4] = (0u | 18u); ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 3u); ctx.gpr[31] = (0x08820EC0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 276u, 0x089999ACu>(ctx, &aot_mem) && ctx.pc == 0x08820EC0u) goto L_08820EC0; return; L_08820EC0: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[17]) < 15 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(824))); if (branch_taken) { goto L_08820E2C; } goto L_08820ED0; } L_08820ED0: aot_mem.aot_store32(ctx.gpr[29] + static_cast(432), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(436), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(440), std::bit_cast(ctx.fpr[20])); ctx.gpr[16] = (0u | 250u); { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(448)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(820))); { 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, 3u>(); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::fabs(std::sqrt(vfpu_s[i])); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.gpr[5] = (15779u << 16u); ctx.gpr[5] = (ctx.gpr[5] | 55050u); 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(); ctx.gpr[17] = (ctx.gpr[29] + static_cast(432)); if (branch_taken) { goto L_08820F58; } goto L_08820F20; } L_08820F20: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(112))); ctx.gpr[5] = (16544u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(448))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(116))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(452))); ctx.gpr[16] = (0u | 125u); { 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; } ctx.fpr[12] = ctx.fpr[14] + ctx.fpr[12]; ctx.fpr[13] = ctx.fpr[16] + ctx.fpr[13]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(448), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(452), std::bit_cast(ctx.fpr[13])); ctx.gpr[17] = (ctx.gpr[29] + static_cast(432)); goto L_08820F58; L_08820F58: ctx.gpr[18] = (ctx.gpr[4] | 0u); ctx.gpr[4] = (16076u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[19] = (0u | 15u); ctx.gpr[4] = (ctx.gpr[19] | 0u); ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); ctx.gpr[31] = (0x08820F94u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 276u, 0x089999ACu>(ctx, &aot_mem) && ctx.pc == 0x08820F94u) goto L_08820F94; return; L_08820F94: ctx.gpr[4] = (16025u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 39322u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); ctx.gpr[21] = (ctx.gpr[29] + static_cast(240)); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[22] = (ctx.gpr[29] + static_cast(416)); { 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] = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x08820FC8u); ctx.gpr[5] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 565u, 0x0892753Cu>(ctx, &aot_mem) && ctx.pc == 0x08820FC8u) goto L_08820FC8; return; L_08820FC8: ctx.gpr[4] = (15948u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[19] | 0u); ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); ctx.gpr[31] = (0x08820FFCu); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 276u, 0x089999ACu>(ctx, &aot_mem) && ctx.pc == 0x08820FFCu) goto L_08820FFC; return; L_08820FFC: ctx.gpr[4] = (std::bit_cast(ctx.fpr[24])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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] = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x0882101Cu); ctx.gpr[5] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 565u, 0x0892753Cu>(ctx, &aot_mem) && ctx.pc == 0x0882101Cu) goto L_0882101C; return; L_0882101C: ctx.gpr[4] = (15897u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 39322u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[19] | 0u); ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); ctx.gpr[31] = (0x08821050u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); if (rt.invoke_chained_direct<&recomp_unit_0101_entry, 101u, 276u, 0x089999ACu>(ctx, &aot_mem) && ctx.pc == 0x08821050u) goto L_08821050; return; L_08821050: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast(1244))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_0882110C; } goto L_0882105C; } L_0882105C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(532))); ctx.gpr[16] = (0u + static_cast(-2)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(528), 0u); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(532), ctx.gpr[4]); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast(1244))); { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (ctx.gpr[29] + static_cast(464)); if (branch_taken) { goto L_08821094; } goto L_0882107C; } L_0882107C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(532))); ctx.gpr[4] = (ctx.gpr[4] & 1u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (ctx.gpr[18] + static_cast(16)); if (branch_taken) { goto L_08821098; } goto L_0882108C; } L_0882108C: ctx.gpr[31] = (0x08821094u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(528))); if (rt.invoke_chained_direct<&recomp_unit_0134_entry, 134u, 263u, 0x08A1D574u>(ctx, &aot_mem) && ctx.pc == 0x08821094u) goto L_08821094; return; L_08821094: ctx.gpr[4] = (ctx.gpr[18] + static_cast(16)); goto L_08821098; L_08821098: aot_mem.aot_store32(ctx.gpr[29] + static_cast(528), ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(532))); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(532), ctx.gpr[4]); ctx.gpr[31] = (0x088210B0u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0128_entry, 128u, 516u, 0x08A06604u>(ctx, &aot_mem) && ctx.pc == 0x088210B0u) goto L_088210B0; return; L_088210B0: ctx.gpr[4] = (ctx.gpr[29] + static_cast(512)); { 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(544)); { 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[20] + static_cast(1708))); ctx.gpr[31] = (0x088210CCu); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0128_entry, 128u, 498u, 0x08A060BCu>(ctx, &aot_mem) && ctx.pc == 0x088210CCu) goto L_088210CC; return; L_088210CC: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(544))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(548))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(552))); ctx.gpr[31] = (0x088210E0u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0128_entry, 128u, 523u, 0x08A06750u>(ctx, &aot_mem) && ctx.pc == 0x088210E0u) goto L_088210E0; return; L_088210E0: ctx.gpr[31] = (0x088210E8u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0128_entry, 128u, 513u, 0x08A065D0u>(ctx, &aot_mem) && ctx.pc == 0x088210E8u) goto L_088210E8; return; L_088210E8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(532))); ctx.gpr[4] = (ctx.gpr[4] & 1u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_0882110C; } goto L_088210F8; } L_088210F8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(528))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_0882110C; } goto L_08821104; } L_08821104: ctx.gpr[31] = (0x0882110Cu); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(528))); if (rt.invoke_chained_direct<&recomp_unit_0134_entry, 134u, 263u, 0x08A1D574u>(ctx, &aot_mem) && ctx.pc == 0x0882110Cu) goto L_0882110C; return; L_0882110C: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(828))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(832))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(836))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(840))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(844))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(848))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(852))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(856))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(860))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(864))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(868))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(872))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(876))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(880))); ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(884))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(888))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(896)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_08821154: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-320)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(272), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(276), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(280), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(284), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(288), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(292), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(296), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(300), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(304), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(308), ctx.gpr[22]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(312), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(316), ctx.gpr[31]); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[16] + static_cast(88)))))); ctx.gpr[5] = (ctx.gpr[4] << 2u); ctx.gpr[6] = (2229u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(-11604))); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(20))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(32)); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[6] + 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[4] = (ctx.gpr[4] + static_cast(16)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); ctx.gpr[23] = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = ctx.gpr[23] + 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(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[22] = (ctx.gpr[16] + static_cast(48)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[22] + static_cast(0))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(112))); { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = ctx.fpr[13] - ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(96), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[22] + static_cast(4))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(116))); { const float fs = ctx.fpr[15]; 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[12] = ctx.fpr[12] - ctx.fpr[16]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(100), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[22] + static_cast(0))); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[14]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[22] + static_cast(4))); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[22]; 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(84), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[22] + static_cast(8))); ctx.gpr[4] = (16544u << 16u); ctx.fpr[24] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[24]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(88), std::bit_cast(ctx.fpr[12])); ctx.gpr[21] = (ctx.gpr[29] + static_cast(80)); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[20] = (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[20] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[22] + static_cast(8))); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[24]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(200), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(88))); ctx.gpr[19] = (ctx.gpr[29] + static_cast(144)); ctx.gpr[18] = (ctx.gpr[29] + static_cast(176)); ctx.gpr[4] = (ctx.gpr[20] | 0u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); ctx.gpr[31] = (0x08821294u); 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 == 0x08821294u) goto L_08821294; return; L_08821294: ctx.gpr[17] = (ctx.gpr[29] + static_cast(96)); ctx.fpr[22] = ctx.fpr[22] + ctx.fpr[20]; { const bool branch_taken = ctx.gpr[2] == 0u; ctx.fpr[20] = std::bit_cast(0u); if (branch_taken) { goto L_088212B8; } goto L_088212A4; } L_088212A4: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(152))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(176))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(88), std::bit_cast(ctx.fpr[12])); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(576), ctx.gpr[4]); if (branch_taken) { goto L_088212C0; } goto L_088212B8; } L_088212B8: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(652))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(88), std::bit_cast(ctx.fpr[12])); goto L_088212C0; L_088212C0: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[22] + static_cast(8))); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[24]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(104), std::bit_cast(ctx.fpr[12])); { 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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[22] + static_cast(8))); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[24]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(200), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(104))); ctx.gpr[4] = (ctx.gpr[20] | 0u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); ctx.gpr[31] = (0x08821314u); 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 == 0x08821314u) goto L_08821314; return; L_08821314: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08821330; } goto L_0882131C; } L_0882131C: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(152))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(176))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(104), std::bit_cast(ctx.fpr[12])); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(576), ctx.gpr[4]); if (branch_taken) { goto L_08821338; } goto L_08821330; } L_08821330: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(656))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(104), std::bit_cast(ctx.fpr[12])); goto L_08821338; L_08821338: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(88))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(104))); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13]; ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[22]; ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12])); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[20])); // nop if (ctx.fpu_condition()) { ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); goto L_0882135C; } goto L_0882135C; L_0882135C: ctx.gpr[4] = (15897u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 39322u); 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_08821388; } goto L_08821378; } L_08821378: ctx.gpr[31] = (0x08821380u); // nop if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 229u, 0x08AF51C0u>(ctx, &aot_mem) && ctx.pc == 0x08821380u) goto L_08821380; return; L_08821380: { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (branch_taken) { goto L_08821394; } goto L_08821388; } L_08821388: ctx.gpr[31] = (0x08821390u); // nop if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 286u, 0x089D96A0u>(ctx, &aot_mem) && ctx.pc == 0x08821390u) goto L_08821390; return; L_08821390: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08821394; L_08821394: ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[4]); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); } { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f); ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[4]); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); } { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f); ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(100))); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[15]; ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[22]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(ctx.fpr[12])); ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(96))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); ctx.fpr[16] = ctx.fpr[16] - ctx.fpr[17]; ctx.fpr[16] = ctx.fpr[16] / ctx.fpr[22]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(ctx.fpr[16])); aot_mem.aot_store32(ctx.gpr[16] + static_cast(8), std::bit_cast(ctx.fpr[20])); { const float fs = ctx.fpr[13]; 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] = std::bit_cast(std::bit_cast(ctx.fpr[16]) ^ 0x80000000u); aot_mem.aot_store32(ctx.gpr[16] + static_cast(16), std::bit_cast(ctx.fpr[15])); { 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; } aot_mem.aot_store32(ctx.gpr[16] + static_cast(20), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[16] + static_cast(24), std::bit_cast(ctx.fpr[14])); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[23] + 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<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat(0u, 1u, 2u, 3u); ctx.gpr[4] = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[5] = (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[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[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(208))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(32), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(212))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(36), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(216))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(40), std::bit_cast(ctx.fpr[12])); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[5] = (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[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] = (16128u << 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[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { 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(128)); { 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[16] + static_cast(92))); ctx.gpr[5] = (ctx.gpr[4] + static_cast(320)); ctx.gpr[4] = (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] = (0x0882149Cu); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x0882149Cu) goto L_0882149C; return; L_0882149C: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(136))); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[0]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), std::bit_cast(ctx.fpr[12])); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(128))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(132))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(48), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[16] + static_cast(52), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[16] + static_cast(56), std::bit_cast(ctx.fpr[12])); ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(272))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(276))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(280))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(284))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(288))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(292))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(296))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(300))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(304))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(308))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(312))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(316))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(320)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088214F4: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-208)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(176), ctx.gpr[16]); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.fpr[13] = std::bit_cast(0u); ctx.gpr[4] = (16042u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(156), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(180), ctx.gpr[17]); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (ctx.gpr[4] | 32506u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[13])) && ctx.fpr[12] == ctx.fpr[13])); ctx.gpr[17] = (ctx.gpr[5] & 65535u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(160), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(164), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(168), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(172), std::bit_cast(ctx.fpr[28])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(184), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(188), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(192), ctx.gpr[31]); { const bool branch_taken = !ctx.fpu_condition(); ctx.fpr[22] = std::bit_cast(ctx.gpr[4]); if (branch_taken) { goto L_08821554; } goto L_08821544; } L_08821544: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(296))); ctx.gpr[4] = (16256u << 16u); ctx.gpr[17] = (aot_mem.aot_load16(ctx.gpr[16] + static_cast(320))); ctx.fpr[22] = std::bit_cast(ctx.gpr[4]); goto L_08821554; L_08821554: 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_088215A0; } goto L_08821564; } L_08821564: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 496u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088215A0; } goto L_08821574; } L_08821574: ctx.gpr[31] = (0x0882157Cu); // nop if (rt.invoke_chained_direct<&recomp_unit_0016_entry, 16u, 177u, 0x08844EE8u>(ctx, &aot_mem) && ctx.pc == 0x0882157Cu) goto L_0882157C; return; L_0882157C: ctx.gpr[4] = (17096u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[0] < ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088215A0; } goto L_08821594; } L_08821594: ctx.gpr[4] = (16128u << 16u); 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[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } goto L_088215A0; L_088215A0: ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(599)))))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(32), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(36), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (ctx.gpr[4] & 64u); { const bool branch_taken = ctx.gpr[4] == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(40), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088215D0; } goto L_088215BC; } L_088215BC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); if (ctx.gpr[4] != 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); goto L_088215D8; } goto L_088215C8; L_088215C8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08821680; } goto L_088215D0; } L_088215D0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088226C8; } goto L_088215D8; } L_088215D8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 14u); ctx.gpr[4] = (ctx.gpr[4] ^ 6u); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08821680; } goto L_088215F4; } L_088215F4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(404))); ctx.gpr[4] = (ctx.gpr[4] & 1u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08821680; } goto L_0882160C; } L_0882160C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(756))); ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[4] + static_cast(16)); { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[5] = (ctx.gpr[29] + static_cast(64)); { 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[5] = (ctx.gpr[16] + static_cast(304)); { 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); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.fpr[13] = std::bit_cast(0u); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08821680; } goto L_0882165C; } L_0882165C: ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(208))); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12])); { 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] = std::bit_cast(0u); ctx.fpr[20] = ctx.fpr[20] + ctx.fpr[13]; ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[20])); // nop if (!ctx.fpu_condition()) { ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[12])); goto L_08821680; } goto L_08821680; L_08821680: ctx.gpr[4] = (ctx.gpr[16] + static_cast(32)); ctx.fpr[12] = std::bit_cast(0u); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(8))); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08821720; } goto L_0882169C; } L_0882169C: ctx.gpr[31] = (0x088216A4u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x088216A4u) goto L_088216A4; return; L_088216A4: { const bool branch_taken = ctx.gpr[16] == ctx.gpr[2]; // nop if (branch_taken) { goto L_08821720; } goto L_088216AC; } L_088216AC: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(1510)))))); ctx.gpr[4] = (ctx.gpr[4] & 1u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088216E8; } goto L_088216BC; } L_088216BC: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(322)))))); ctx.gpr[4] = (ctx.gpr[4] & 16u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088216E8; } goto L_088216CC; } L_088216CC: 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]; ctx.gpr[4] = (2230u << 16u); if (branch_taken) { goto L_088216F0; } goto L_088216E0; } L_088216E0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08821720; } goto L_088216E8; } L_088216E8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088226C8; } goto L_088216F0; } L_088216F0: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8144))); ctx.gpr[4] = (16512u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); { 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] = std::bit_cast(0u); ctx.fpr[13] = ctx.fpr[15] - ctx.fpr[13]; ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop if (!ctx.fpu_condition()) { ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12])); goto L_0882171C; } goto L_0882171C; L_0882171C: aot_mem.aot_store32(ctx.gpr[16] + static_cast(616), std::bit_cast(ctx.fpr[13])); goto L_08821720; L_08821720: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[16] + static_cast(88)))))); ctx.gpr[5] = (0u | 212u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08821740; } goto L_08821730; } L_08821730: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[16] + static_cast(88)))))); ctx.gpr[5] = (0u | 211u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_0882174C; } goto L_08821740; } L_08821740: ctx.gpr[4] = (16256u << 16u); { const bool branch_taken = 0u == 0u; ctx.fpr[24] = std::bit_cast(ctx.gpr[4]); if (branch_taken) { goto L_08821754; } goto L_0882174C; } L_0882174C: ctx.gpr[4] = (16840u << 16u); ctx.fpr[24] = std::bit_cast(ctx.gpr[4]); goto L_08821754; L_08821754: ctx.set_fpu_condition((ctx.fpr[24] < ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088224A4; } goto L_08821764; } L_08821764: 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_088224A4; } goto L_08821778; } L_08821778: 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_08821854; } goto L_08821788; } L_08821788: ctx.gpr[31] = (0x08821790u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x08821790u) goto L_08821790; return; L_08821790: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08821854; } goto L_08821798; } L_08821798: ctx.gpr[31] = (0x088217A0u); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x088217A0u) goto L_088217A0; return; L_088217A0: { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; // nop if (branch_taken) { goto L_08821854; } goto L_088217A8; } L_088217A8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(68))); ctx.gpr[5] = (0u | 64u); ctx.gpr[4] = (ctx.gpr[4] & 496u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08821854; } goto L_088217BC; } L_088217BC: 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>(); { 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[26] = std::bit_cast(ctx.gpr[4]); ctx.gpr[31] = (0x088217DCu); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x088217DCu) goto L_088217DC; return; L_088217DC: ctx.gpr[4] = (ctx.gpr[2] + 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>(); { 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.set_fpu_condition((ctx.fpr[26] <= ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08821854; } goto L_08821804; } L_08821804: ctx.gpr[31] = (0x0882180Cu); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x0882180Cu) goto L_0882180C; return; L_0882180C: ctx.gpr[4] = (ctx.gpr[2] + 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>(); { 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] = (15820u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_08821854; } goto L_08821840; } L_08821840: ctx.gpr[31] = (0x08821848u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08821848u) goto L_08821848; return; L_08821848: ctx.gpr[4] = (ctx.gpr[2] | 0u); ctx.gpr[31] = (0x08821854u); ctx.gpr[5] = (0u | 1u); if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 215u, 0x08944EA0u>(ctx, &aot_mem) && ctx.pc == 0x08821854u) goto L_08821854; return; L_08821854: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 496u); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[4] = (16968u << 16u); if (branch_taken) { goto L_088218F4; } goto L_08821864; } L_08821864: 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(); ctx.gpr[4] = (16076u << 16u); if (branch_taken) { goto L_088218F4; } goto L_08821878; } L_08821878: 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[16] + static_cast(208))); { 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; } ctx.gpr[4] = (17658u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[13] = ctx.fpr[12] / ctx.fpr[13]; ctx.gpr[4] = (17096u << 16u); ctx.gpr[5] = (17274u << 16u); ctx.fpr[15] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = ctx.fpr[13] + ctx.fpr[15]; ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop if (ctx.fpu_condition()) { ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12])); goto L_088218BC; } goto L_088218BC; L_088218BC: ctx.fpr[12] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[13])); ctx.gpr[4] = (0u | 40000u); ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.gpr[18] = (ctx.gpr[5] & 255u); { const std::int32_t dividend = static_cast(ctx.gpr[4]); const std::int32_t divisor = static_cast(ctx.gpr[18]); 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] = (0u | 0u); ctx.gpr[5] = (ctx.lo); ctx.gpr[31] = (0x088218E0u); ctx.gpr[19] = (ctx.gpr[5] & 65535u); if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x088218E0u) goto L_088218E0; return; L_088218E0: ctx.gpr[5] = (ctx.gpr[19] << 16u); ctx.gpr[5] = (static_cast(static_cast(ctx.gpr[5]) >> 16u)); ctx.gpr[4] = (ctx.gpr[2] | 0u); ctx.gpr[31] = (0x088218F4u); ctx.gpr[6] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 656u, 0x08A96CF8u>(ctx, &aot_mem) && ctx.pc == 0x088218F4u) goto L_088218F4; return; L_088218F4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 496u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08821938; } goto L_08821904; } L_08821904: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(68))); ctx.gpr[5] = (16384u << 16u); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08821938; } goto L_08821918; } L_08821918: ctx.gpr[31] = (0x08821920u); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08821920u) goto L_08821920; return; L_08821920: { const bool branch_taken = ctx.gpr[18] == ctx.gpr[2]; // nop if (branch_taken) { goto L_08821938; } goto L_08821928; } L_08821928: ctx.gpr[31] = (0x08821930u); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x08821930u) goto L_08821930; return; L_08821930: { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; // nop if (branch_taken) { goto L_0882194C; } goto L_08821938; } L_08821938: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); if (ctx.gpr[4] != 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); goto L_08821954; } goto L_08821944; L_08821944: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08821A00; } goto L_0882194C; } L_0882194C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088226C8; } goto L_08821954; } L_08821954: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 14u); ctx.gpr[4] = (ctx.gpr[4] ^ 4u); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); if (ctx.gpr[4] == 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); goto L_08821984; } goto L_08821970; L_08821970: ctx.gpr[4] = (0u | 39u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); aot_mem.aot_store8(ctx.gpr[16] + static_cast(671), static_cast(ctx.gpr[4])); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(664), ctx.gpr[5]); if (branch_taken) { goto L_08821A00; } goto L_08821984; } L_08821984: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 14u); ctx.gpr[4] = (ctx.gpr[4] ^ 12u); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08821A00; } goto L_088219A0; } L_088219A0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(336))); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { goto L_08821A00; } goto L_088219B0; } L_088219B0: { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { goto L_088219E0; } goto L_088219B8; } L_088219B8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(108))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(16)); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(0)))))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[5]); ctx.gpr[5] = (2224u << 16u); jump_target = ctx.gpr[6]; ctx.gpr[31] = (0x088219D8u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-23884)); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x088219D8u) goto L_088219D8; return; L_088219D8: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_088219E8; } goto L_088219E0; } L_088219E0: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (0u | 0u); if (branch_taken) { goto L_088219E8; } goto L_088219E8; } L_088219E8: { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { goto L_08821A00; } goto L_088219F0; } L_088219F0: ctx.gpr[4] = (0u | 39u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); aot_mem.aot_store8(ctx.gpr[16] + static_cast(671), static_cast(ctx.gpr[4])); aot_mem.aot_store32(ctx.gpr[16] + static_cast(664), ctx.gpr[5]); goto L_08821A00; L_08821A00: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(68))); ctx.gpr[5] = (4096u << 16u); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08821A28; } goto L_08821A14; } L_08821A14: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); if (ctx.gpr[4] != 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); goto L_08821A30; } goto L_08821A20; L_08821A20: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08821A8C; } goto L_08821A28; } L_08821A28: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088226C8; } goto L_08821A30; } L_08821A30: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 14u); ctx.gpr[4] = (ctx.gpr[4] ^ 2u); 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_08821A8C; } goto L_08821A4C; } L_08821A4C: ctx.gpr[4] = (ctx.gpr[16] + static_cast(304)); { 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(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<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (16153u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 39322u); 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_08821A8C; } goto L_08821A84; } L_08821A84: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088226C8; } goto L_08821A8C; } L_08821A8C: ctx.gpr[18] = (0u | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[18]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08821AC4; } goto L_08821A9C; } L_08821A9C: ctx.gpr[4] = (ctx.gpr[16] + static_cast(848)); ctx.gpr[31] = (0x08821AA8u); ctx.gpr[5] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 205u, 0x08A29310u>(ctx, &aot_mem) && ctx.pc == 0x08821AA8u) goto L_08821AA8; return; L_08821AA8: ctx.gpr[4] = (ctx.gpr[18] << 2u); ctx.gpr[4] = (ctx.gpr[29] + ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[4] + static_cast(48), ctx.gpr[2]); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[18]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08821A9C; } goto L_08821AC4; } L_08821AC4: ctx.gpr[4] = (ctx.gpr[16] + static_cast(32)); ctx.fpr[12] = std::bit_cast(0u); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(8))); ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08821B10; } goto L_08821AE0; } L_08821AE0: 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] = (15820u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088221E4; } goto L_08821B10; } L_08821B10: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(1510)))))); ctx.gpr[4] = (ctx.gpr[4] & 2u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08821B2C; } goto L_08821B20; } L_08821B20: ctx.gpr[4] = (16128u << 16u); { const bool branch_taken = 0u == 0u; ctx.fpr[26] = std::bit_cast(ctx.gpr[4]); if (branch_taken) { goto L_08821B34; } goto L_08821B2C; } L_08821B2C: ctx.gpr[4] = (16512u << 16u); ctx.fpr[26] = std::bit_cast(ctx.gpr[4]); goto L_08821B34; L_08821B34: ctx.gpr[4] = (ctx.gpr[17] + static_cast(-1)); ctx.gpr[4] = (ctx.gpr[4] < static_cast(17) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (ctx.gpr[17] + static_cast(-1)); if (branch_taken) { goto L_088221E4; } goto L_08821B44; } L_08821B44: ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[1] = (2225u << 16u); ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[4]); ctx.gpr[1] = (aot_mem.aot_load32(ctx.gpr[1] + static_cast(-12744))); jump_target = ctx.gpr[1]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_08821B5C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(192)); ctx.gpr[5] = (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))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (0u | 7u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x08821B80u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08821B80u) goto L_08821B80; return; L_08821B80: { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08821B90u); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 262u, 0x0880D52Cu>(ctx, &aot_mem) && ctx.pc == 0x08821B90u) goto L_08821B90; return; L_08821B90: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[20]; 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[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); ctx.gpr[31] = (0x08821BA0u); ctx.gpr[17] = (ctx.gpr[16] + static_cast(848)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 299u, 0x08A89F5Cu>(ctx, &aot_mem) && ctx.pc == 0x08821BA0u) goto L_08821BA0; return; L_08821BA0: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[31] = (0x08821BB4u); ctx.gpr[5] = (0u | 16u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 221u, 0x08A293FCu>(ctx, &aot_mem) && ctx.pc == 0x08821BB4u) goto L_08821BB4; return; L_08821BB4: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08821BD0; } goto L_08821BBC; } L_08821BBC: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 7u); ctx.gpr[6] = (0u | 5u); ctx.gpr[31] = (0x08821BD0u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 412u, 0x0880B468u>(ctx, &aot_mem) && ctx.pc == 0x08821BD0u) goto L_08821BD0; return; L_08821BD0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(1236))); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (ctx.gpr[16] + static_cast(848)); if (branch_taken) { goto L_08821BF0; } goto L_08821BDC; } L_08821BDC: ctx.gpr[31] = (0x08821BE4u); ctx.gpr[5] = (0u | 5u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 207u, 0x08A29358u>(ctx, &aot_mem) && ctx.pc == 0x08821BE4u) goto L_08821BE4; return; L_08821BE4: ctx.gpr[4] = (0u | 3u); { const bool branch_taken = ctx.gpr[2] == ctx.gpr[4]; // nop if (branch_taken) { goto L_08821BF8; } goto L_08821BF0; } L_08821BF0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088221E4; } goto L_08821BF8; } L_08821BF8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(192)); ctx.gpr[5] = (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))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (0u | 17u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x08821C1Cu); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08821C1Cu) goto L_08821C1C; return; L_08821C1C: { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08821C2Cu); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 262u, 0x0880D52Cu>(ctx, &aot_mem) && ctx.pc == 0x08821C2Cu) goto L_08821C2C; return; L_08821C2C: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[16] + static_cast(88)))))); ctx.gpr[5] = (0u | 164u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08821C7C; } goto L_08821C3C; } L_08821C3C: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[20]; 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[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); ctx.gpr[31] = (0x08821C4Cu); ctx.gpr[17] = (ctx.gpr[16] + static_cast(848)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 299u, 0x08A89F5Cu>(ctx, &aot_mem) && ctx.pc == 0x08821C4Cu) goto L_08821C4C; return; L_08821C4C: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[31] = (0x08821C60u); ctx.gpr[5] = (0u | 5u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 221u, 0x08A293FCu>(ctx, &aot_mem) && ctx.pc == 0x08821C60u) goto L_08821C60; return; L_08821C60: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08821C7C; } goto L_08821C68; } L_08821C68: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 17u); ctx.gpr[6] = (0u | 0u); ctx.gpr[31] = (0x08821C7Cu); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 443u, 0x0880B64Cu>(ctx, &aot_mem) && ctx.pc == 0x08821C7Cu) goto L_08821C7C; return; L_08821C7C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088221E4; } goto L_08821C84; } L_08821C84: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(192)); ctx.gpr[5] = (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))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (0u | 8u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x08821CA8u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08821CA8u) goto L_08821CA8; return; L_08821CA8: { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08821CB8u); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 262u, 0x0880D52Cu>(ctx, &aot_mem) && ctx.pc == 0x08821CB8u) goto L_08821CB8; return; L_08821CB8: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[20]; 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[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); ctx.gpr[31] = (0x08821CC8u); ctx.gpr[17] = (ctx.gpr[16] + static_cast(848)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 299u, 0x08A89F5Cu>(ctx, &aot_mem) && ctx.pc == 0x08821CC8u) goto L_08821CC8; return; L_08821CC8: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[31] = (0x08821CDCu); ctx.gpr[5] = (0u | 17u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 221u, 0x08A293FCu>(ctx, &aot_mem) && ctx.pc == 0x08821CDCu) goto L_08821CDC; return; L_08821CDC: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08821CF8; } goto L_08821CE4; } L_08821CE4: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 8u); ctx.gpr[6] = (0u | 6u); ctx.gpr[31] = (0x08821CF8u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 412u, 0x0880B468u>(ctx, &aot_mem) && ctx.pc == 0x08821CF8u) goto L_08821CF8; return; L_08821CF8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(1240))); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (ctx.gpr[16] + static_cast(848)); if (branch_taken) { goto L_08821D18; } goto L_08821D04; } L_08821D04: ctx.gpr[31] = (0x08821D0Cu); ctx.gpr[5] = (0u | 6u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 207u, 0x08A29358u>(ctx, &aot_mem) && ctx.pc == 0x08821D0Cu) goto L_08821D0C; return; L_08821D0C: ctx.gpr[4] = (0u | 3u); { const bool branch_taken = ctx.gpr[2] == ctx.gpr[4]; // nop if (branch_taken) { goto L_08821D20; } goto L_08821D18; } L_08821D18: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088221E4; } goto L_08821D20; } L_08821D20: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(192)); ctx.gpr[5] = (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))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (0u | 18u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x08821D44u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08821D44u) goto L_08821D44; return; L_08821D44: { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08821D54u); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 262u, 0x0880D52Cu>(ctx, &aot_mem) && ctx.pc == 0x08821D54u) goto L_08821D54; return; L_08821D54: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[20]; 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[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); ctx.gpr[31] = (0x08821D64u); ctx.gpr[17] = (ctx.gpr[16] + static_cast(848)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 299u, 0x08A89F5Cu>(ctx, &aot_mem) && ctx.pc == 0x08821D64u) goto L_08821D64; return; L_08821D64: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[31] = (0x08821D78u); ctx.gpr[5] = (0u | 6u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 221u, 0x08A293FCu>(ctx, &aot_mem) && ctx.pc == 0x08821D78u) goto L_08821D78; return; L_08821D78: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08821D94; } goto L_08821D80; } L_08821D80: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 18u); ctx.gpr[6] = (0u | 1u); ctx.gpr[31] = (0x08821D94u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 443u, 0x0880B64Cu>(ctx, &aot_mem) && ctx.pc == 0x08821D94u) goto L_08821D94; return; L_08821D94: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088221E4; } goto L_08821D9C; } L_08821D9C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(192)); ctx.gpr[5] = (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))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (0u | 15u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x08821DC0u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08821DC0u) goto L_08821DC0; return; L_08821DC0: { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08821DD0u); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 262u, 0x0880D52Cu>(ctx, &aot_mem) && ctx.pc == 0x08821DD0u) goto L_08821DD0; return; L_08821DD0: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[20]; 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[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); ctx.gpr[31] = (0x08821DE0u); ctx.gpr[17] = (ctx.gpr[16] + static_cast(848)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 299u, 0x08A89F5Cu>(ctx, &aot_mem) && ctx.pc == 0x08821DE0u) goto L_08821DE0; return; L_08821DE0: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[31] = (0x08821DF4u); ctx.gpr[5] = (0u | 7u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 221u, 0x08A293FCu>(ctx, &aot_mem) && ctx.pc == 0x08821DF4u) goto L_08821DF4; return; L_08821DF4: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08821E10; } goto L_08821DFC; } L_08821DFC: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 15u); ctx.gpr[6] = (0u | 2u); ctx.gpr[31] = (0x08821E10u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 443u, 0x0880B64Cu>(ctx, &aot_mem) && ctx.pc == 0x08821E10u) goto L_08821E10; return; L_08821E10: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088221E4; } goto L_08821E18; } L_08821E18: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(192)); ctx.gpr[5] = (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))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (0u | 11u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x08821E3Cu); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08821E3Cu) goto L_08821E3C; return; L_08821E3C: { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08821E4Cu); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 262u, 0x0880D52Cu>(ctx, &aot_mem) && ctx.pc == 0x08821E4Cu) goto L_08821E4C; return; L_08821E4C: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[20]; 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[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); ctx.gpr[31] = (0x08821E5Cu); ctx.gpr[17] = (ctx.gpr[16] + static_cast(848)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 299u, 0x08A89F5Cu>(ctx, &aot_mem) && ctx.pc == 0x08821E5Cu) goto L_08821E5C; return; L_08821E5C: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[31] = (0x08821E70u); ctx.gpr[5] = (0u | 8u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 221u, 0x08A293FCu>(ctx, &aot_mem) && ctx.pc == 0x08821E70u) goto L_08821E70; return; L_08821E70: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08821E8C; } goto L_08821E78; } L_08821E78: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 11u); ctx.gpr[6] = (0u | 3u); ctx.gpr[31] = (0x08821E8Cu); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 443u, 0x0880B64Cu>(ctx, &aot_mem) && ctx.pc == 0x08821E8Cu) goto L_08821E8C; return; L_08821E8C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088221E4; } goto L_08821E94; } L_08821E94: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(192)); ctx.gpr[5] = (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))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (0u | 16u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x08821EB8u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08821EB8u) goto L_08821EB8; return; L_08821EB8: { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08821EC8u); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 262u, 0x0880D52Cu>(ctx, &aot_mem) && ctx.pc == 0x08821EC8u) goto L_08821EC8; return; L_08821EC8: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[20]; 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[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); ctx.gpr[31] = (0x08821ED8u); ctx.gpr[17] = (ctx.gpr[16] + static_cast(848)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 299u, 0x08A89F5Cu>(ctx, &aot_mem) && ctx.pc == 0x08821ED8u) goto L_08821ED8; return; L_08821ED8: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[31] = (0x08821EECu); ctx.gpr[5] = (0u | 9u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 221u, 0x08A293FCu>(ctx, &aot_mem) && ctx.pc == 0x08821EECu) goto L_08821EEC; return; L_08821EEC: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08821F08; } goto L_08821EF4; } L_08821EF4: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 16u); ctx.gpr[6] = (0u | 4u); ctx.gpr[31] = (0x08821F08u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 443u, 0x0880B64Cu>(ctx, &aot_mem) && ctx.pc == 0x08821F08u) goto L_08821F08; return; L_08821F08: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088221E4; } goto L_08821F10; } L_08821F10: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(192)); ctx.gpr[5] = (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))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (0u | 12u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x08821F34u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08821F34u) goto L_08821F34; return; L_08821F34: { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08821F44u); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 262u, 0x0880D52Cu>(ctx, &aot_mem) && ctx.pc == 0x08821F44u) goto L_08821F44; return; L_08821F44: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[20]; 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[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); ctx.gpr[31] = (0x08821F54u); ctx.gpr[17] = (ctx.gpr[16] + static_cast(848)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 299u, 0x08A89F5Cu>(ctx, &aot_mem) && ctx.pc == 0x08821F54u) goto L_08821F54; return; L_08821F54: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[31] = (0x08821F68u); ctx.gpr[5] = (0u | 10u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 221u, 0x08A293FCu>(ctx, &aot_mem) && ctx.pc == 0x08821F68u) goto L_08821F68; return; L_08821F68: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08821F84; } goto L_08821F70; } L_08821F70: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 12u); ctx.gpr[6] = (0u | 5u); ctx.gpr[31] = (0x08821F84u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 443u, 0x0880B64Cu>(ctx, &aot_mem) && ctx.pc == 0x08821F84u) goto L_08821F84; return; L_08821F84: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088221E4; } goto L_08821F8C; } L_08821F8C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(192)); ctx.gpr[5] = (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))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (0u | 13u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x08821FB0u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08821FB0u) goto L_08821FB0; return; L_08821FB0: { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08821FC0u); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 262u, 0x0880D52Cu>(ctx, &aot_mem) && ctx.pc == 0x08821FC0u) goto L_08821FC0; return; L_08821FC0: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[20]; 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[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); ctx.gpr[31] = (0x08821FD0u); ctx.gpr[17] = (ctx.gpr[16] + static_cast(848)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 299u, 0x08A89F5Cu>(ctx, &aot_mem) && ctx.pc == 0x08821FD0u) goto L_08821FD0; return; L_08821FD0: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[31] = (0x08821FE4u); ctx.gpr[5] = (0u | 11u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 221u, 0x08A293FCu>(ctx, &aot_mem) && ctx.pc == 0x08821FE4u) goto L_08821FE4; return; L_08821FE4: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08822000; } goto L_08821FEC; } L_08821FEC: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 13u); ctx.gpr[6] = (0u | 0u); ctx.gpr[31] = (0x08822000u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 424u, 0x0880B52Cu>(ctx, &aot_mem) && ctx.pc == 0x08822000u) goto L_08822000; return; L_08822000: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088221E4; } goto L_08822008; } L_08822008: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(192)); ctx.gpr[5] = (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))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (0u | 9u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x0882202Cu); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x0882202Cu) goto L_0882202C; return; L_0882202C: { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x0882203Cu); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 262u, 0x0880D52Cu>(ctx, &aot_mem) && ctx.pc == 0x0882203Cu) goto L_0882203C; return; L_0882203C: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[20]; 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[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); ctx.gpr[31] = (0x0882204Cu); ctx.gpr[17] = (ctx.gpr[16] + static_cast(848)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 299u, 0x08A89F5Cu>(ctx, &aot_mem) && ctx.pc == 0x0882204Cu) goto L_0882204C; return; L_0882204C: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[31] = (0x08822060u); ctx.gpr[5] = (0u | 12u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 221u, 0x08A293FCu>(ctx, &aot_mem) && ctx.pc == 0x08822060u) goto L_08822060; return; L_08822060: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_0882207C; } goto L_08822068; } L_08822068: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 9u); ctx.gpr[6] = (0u | 1u); ctx.gpr[31] = (0x0882207Cu); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 424u, 0x0880B52Cu>(ctx, &aot_mem) && ctx.pc == 0x0882207Cu) goto L_0882207C; return; L_0882207C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088221E4; } goto L_08822084; } L_08822084: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(192)); ctx.gpr[5] = (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))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (0u | 14u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x088220A8u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x088220A8u) goto L_088220A8; return; L_088220A8: { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x088220B8u); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 262u, 0x0880D52Cu>(ctx, &aot_mem) && ctx.pc == 0x088220B8u) goto L_088220B8; return; L_088220B8: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[20]; 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[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); ctx.gpr[31] = (0x088220C8u); ctx.gpr[17] = (ctx.gpr[16] + static_cast(848)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 299u, 0x08A89F5Cu>(ctx, &aot_mem) && ctx.pc == 0x088220C8u) goto L_088220C8; return; L_088220C8: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[31] = (0x088220DCu); ctx.gpr[5] = (0u | 13u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 221u, 0x08A293FCu>(ctx, &aot_mem) && ctx.pc == 0x088220DCu) goto L_088220DC; return; L_088220DC: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088220F8; } goto L_088220E4; } L_088220E4: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 14u); ctx.gpr[6] = (0u | 2u); ctx.gpr[31] = (0x088220F8u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 424u, 0x0880B52Cu>(ctx, &aot_mem) && ctx.pc == 0x088220F8u) goto L_088220F8; return; L_088220F8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088221E4; } goto L_08822100; } L_08822100: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(192)); ctx.gpr[5] = (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))); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (0u | 10u); jump_target = ctx.gpr[7]; ctx.gpr[31] = (0x08822124u); ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08822124u) goto L_08822124; return; L_08822124: { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08822134u); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 262u, 0x0880D52Cu>(ctx, &aot_mem) && ctx.pc == 0x08822134u) goto L_08822134; return; L_08822134: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[20]; 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[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); ctx.gpr[31] = (0x08822144u); ctx.gpr[17] = (ctx.gpr[16] + static_cast(848)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 299u, 0x08A89F5Cu>(ctx, &aot_mem) && ctx.pc == 0x08822144u) goto L_08822144; return; L_08822144: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[31] = (0x08822158u); ctx.gpr[5] = (0u | 14u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 221u, 0x08A293FCu>(ctx, &aot_mem) && ctx.pc == 0x08822158u) goto L_08822158; return; L_08822158: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08822174; } goto L_08822160; } L_08822160: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 10u); ctx.gpr[6] = (0u | 3u); ctx.gpr[31] = (0x08822174u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 424u, 0x0880B52Cu>(ctx, &aot_mem) && ctx.pc == 0x08822174u) goto L_08822174; return; L_08822174: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088221E4; } goto L_0882217C; } L_0882217C: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[20]; 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[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); ctx.gpr[31] = (0x0882218Cu); ctx.gpr[17] = (ctx.gpr[16] + static_cast(848)); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 299u, 0x08A89F5Cu>(ctx, &aot_mem) && ctx.pc == 0x0882218Cu) goto L_0882218C; return; L_0882218C: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[31] = (0x088221A0u); ctx.gpr[5] = (0u | 15u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 221u, 0x08A293FCu>(ctx, &aot_mem) && ctx.pc == 0x088221A0u) goto L_088221A0; return; L_088221A0: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088221E4; } goto L_088221A8; } L_088221A8: ctx.gpr[17] = (ctx.gpr[16] + static_cast(848)); ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088221B8u); ctx.gpr[5] = (0u | 4u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 207u, 0x08A29358u>(ctx, &aot_mem) && ctx.pc == 0x088221B8u) goto L_088221B8; return; L_088221B8: ctx.gpr[18] = (ctx.gpr[2] & 255u); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 19u); ctx.gpr[6] = (0u | 4u); ctx.gpr[31] = (0x088221D0u); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 424u, 0x0880B52Cu>(ctx, &aot_mem) && ctx.pc == 0x088221D0u) goto L_088221D0; return; L_088221D0: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088221DCu); ctx.gpr[5] = (0u | 4u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 207u, 0x08A29358u>(ctx, &aot_mem) && ctx.pc == 0x088221DCu) goto L_088221DC; return; L_088221DC: { const bool branch_taken = ctx.gpr[18] == ctx.gpr[2]; // nop if (branch_taken) { goto L_088221E4; } goto L_088221E4; } L_088221E4: ctx.fpr[20] = ctx.fpr[20] - ctx.fpr[24]; ctx.gpr[31] = (0x088221F0u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(336))); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 299u, 0x08A89F5Cu>(ctx, &aot_mem) && ctx.pc == 0x088221F0u) goto L_088221F0; return; L_088221F0: ctx.gpr[4] = (16153u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 39322u); { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[5] = (0u | 159u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[16] + static_cast(88)))))); { 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[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; { 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[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } if (branch_taken) { goto L_08822244; } goto L_08822214; } L_08822214: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08822244; } goto L_08822220; } L_08822220: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 496u); ctx.gpr[4] = (ctx.gpr[4] >> 4u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08822244; } goto L_08822238; } L_08822238: ctx.gpr[4] = (16608u << 16u); 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[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } goto L_08822244; L_08822244: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[16] + static_cast(88)))))); ctx.gpr[5] = (0u | 212u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08822264; } goto L_08822254; } L_08822254: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[16] + static_cast(88)))))); ctx.gpr[5] = (0u | 211u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08822270; } goto L_08822264; } L_08822264: ctx.gpr[4] = (16880u << 16u); 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[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } goto L_08822270; L_08822270: ctx.fpr[12] = std::bit_cast(0u); ctx.set_fpu_condition((ctx.fpr[20] <= ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_08822434; } goto L_08822284; } L_08822284: ctx.gpr[4] = (16544u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[20] <= ctx.fpr[12])); // nop if (ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); goto L_08822334; } goto L_0882229C; L_0882229C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); if (ctx.gpr[4] == 0u) { ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); goto L_08822334; } goto L_088222A8; L_088222A8: ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08822330; } goto L_088222B4; } L_088222B4: 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] ^ 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_08822330; } goto L_088222D0; } L_088222D0: ctx.gpr[31] = (0x088222D8u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x088222D8u) goto L_088222D8; return; L_088222D8: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[16]; // nop if (branch_taken) { goto L_088222F0; } goto L_088222E0; } L_088222E0: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[17] + static_cast(596))); ctx.gpr[5] = (0u | 2u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_08822330; } goto L_088222F0; } L_088222F0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(504))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08822330; } goto L_088222FC; } L_088222FC: ctx.gpr[31] = (0x08822304u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0039_entry, 39u, 126u, 0x088A08E8u>(ctx, &aot_mem) && ctx.pc == 0x08822304u) goto L_08822304; return; L_08822304: ctx.gpr[4] = (0u | 1u); { const bool branch_taken = ctx.gpr[2] != ctx.gpr[4]; // nop if (branch_taken) { goto L_08822324; } goto L_08822310; } L_08822310: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); ctx.gpr[31] = (0x0882231Cu); ctx.gpr[5] = (0u | 145u); if (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 499u, 0x088B6D24u>(ctx, &aot_mem) && ctx.pc == 0x0882231Cu) goto L_0882231C; return; L_0882231C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08822330; } goto L_08822324; } L_08822324: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); ctx.gpr[31] = (0x08822330u); ctx.gpr[5] = (0u | 144u); if (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 499u, 0x088B6D24u>(ctx, &aot_mem) && ctx.pc == 0x08822330u) goto L_08822330; return; L_08822330: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); goto L_08822334; L_08822334: 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[17] = (ctx.gpr[4] << 16u); ctx.gpr[31] = (0x08822348u); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x08822348u) goto L_08822348; return; L_08822348: { const bool branch_taken = ctx.gpr[16] != ctx.gpr[2]; // nop if (branch_taken) { goto L_08822394; } goto L_08822350; } L_08822350: 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] & 1u); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[4] = (16576u << 16u); if (branch_taken) { goto L_0882237C; } goto L_08822360; } L_08822360: ctx.gpr[4] = (16128u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); { 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; } ctx.fpr[12] = ctx.fpr[13] - ctx.fpr[12]; { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(616), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_08822408; } goto L_0882237C; } L_0882237C: ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[20] / ctx.fpr[12]; ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); ctx.fpr[12] = ctx.fpr[13] - ctx.fpr[12]; { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(616), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_08822408; } goto L_08822394; } L_08822394: 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] & 1u); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[4] = (16704u << 16u); if (branch_taken) { goto L_088223F4; } goto L_088223A4; } L_088223A4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (16000u << 16u); if (branch_taken) { goto L_088223DC; } goto L_088223B0; } L_088223B0: ctx.gpr[31] = (0x088223B8u); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x088223B8u) goto L_088223B8; return; L_088223B8: { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; ctx.gpr[4] = (16000u << 16u); if (branch_taken) { goto L_088223DC; } goto L_088223C0; } L_088223C0: ctx.gpr[4] = (16320u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[20] / ctx.fpr[12]; ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); ctx.fpr[12] = ctx.fpr[13] - ctx.fpr[12]; { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(616), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_08822408; } goto L_088223DC; } L_088223DC: ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); { 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; } ctx.fpr[12] = ctx.fpr[13] - ctx.fpr[12]; { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(616), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_08822408; } goto L_088223F4; } L_088223F4: ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[20] / ctx.fpr[12]; ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); ctx.fpr[12] = ctx.fpr[13] - ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(616), std::bit_cast(ctx.fpr[12])); goto L_08822408; L_08822408: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); ctx.fpr[13] = std::bit_cast(0u); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08822434; } goto L_08822420; } L_08822420: { const bool branch_taken = static_cast(ctx.gpr[17]) <= 0; // nop if (branch_taken) { goto L_08822434; } goto L_08822428; } L_08822428: ctx.gpr[4] = (16256u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[16] + static_cast(616), std::bit_cast(ctx.fpr[12])); goto L_08822434; L_08822434: ctx.gpr[17] = (0u | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088224A4; } goto L_08822444; } L_08822444: ctx.gpr[4] = (ctx.gpr[17] << 2u); ctx.gpr[4] = (ctx.gpr[29] + ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(48))); ctx.gpr[5] = (0u | 1u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; ctx.gpr[4] = (ctx.gpr[16] + static_cast(848)); if (branch_taken) { goto L_08822494; } goto L_0882245C; } L_0882245C: ctx.gpr[31] = (0x08822464u); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 205u, 0x08A29310u>(ctx, &aot_mem) && ctx.pc == 0x08822464u) goto L_08822464; return; L_08822464: ctx.gpr[4] = (0u | 1u); { const bool branch_taken = ctx.gpr[2] != ctx.gpr[4]; // nop if (branch_taken) { goto L_08822494; } goto L_08822470; } L_08822470: ctx.fpr[12] = std::bit_cast(ctx.gpr[17]); ctx.gpr[4] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(96))); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.gpr[6] = (0u | 19u); ctx.gpr[31] = (0x0882248Cu); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-8107)); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 102u, 0x0886477Cu>(ctx, &aot_mem) && ctx.pc == 0x0882248Cu) goto L_0882248C; return; L_0882248C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088224A4; } goto L_08822494; } L_08822494: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08822444; } goto L_088224A4; } L_088224A4: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); ctx.gpr[4] = (17274u << 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_08822508; } goto L_088224C0; } L_088224C0: ctx.gpr[31] = (0x088224C8u); ctx.gpr[4] = (ctx.gpr[16] + static_cast(848)); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 220u, 0x08A293F4u>(ctx, &aot_mem) && ctx.pc == 0x088224C8u) goto L_088224C8; return; L_088224C8: ctx.gpr[4] = (ctx.gpr[2] < static_cast(225) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08822570; } goto L_088224D4; } L_088224D4: ctx.gpr[4] = (ctx.gpr[16] + static_cast(848)); ctx.gpr[31] = (0x088224E0u); ctx.gpr[5] = (0u | 225u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 216u, 0x08A293D0u>(ctx, &aot_mem) && ctx.pc == 0x088224E0u) goto L_088224E0; return; L_088224E0: ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(300))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(1608), std::bit_cast(ctx.fpr[12])); { const bool branch_taken = ctx.gpr[4] == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(1696), ctx.gpr[4]); if (branch_taken) { goto L_08822570; } goto L_088224F4; } L_088224F4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(1696))); ctx.gpr[31] = (0x08822500u); ctx.gpr[5] = (ctx.gpr[16] + static_cast(1696)); if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 689u, 0x0883B8A4u>(ctx, &aot_mem) && ctx.pc == 0x08822500u) goto L_08822500; return; L_08822500: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08822570; } goto L_08822508; } L_08822508: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[16] + static_cast(88)))))); ctx.gpr[5] = (0u | 155u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08822570; } goto L_08822518; } L_08822518: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); ctx.gpr[4] = (17352u << 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_08822548; } goto L_08822534; } L_08822534: ctx.gpr[4] = (ctx.gpr[16] + static_cast(848)); ctx.gpr[31] = (0x08822540u); ctx.gpr[5] = (0u | 200u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 216u, 0x08A293D0u>(ctx, &aot_mem) && ctx.pc == 0x08822540u) goto L_08822540; return; L_08822540: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08822570; } goto L_08822548; } L_08822548: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(616))); ctx.gpr[4] = (17430u << 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_08822570; } goto L_08822564; } L_08822564: ctx.gpr[4] = (ctx.gpr[16] + static_cast(848)); ctx.gpr[31] = (0x08822570u); ctx.gpr[5] = (0u | 100u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 216u, 0x08A293D0u>(ctx, &aot_mem) && ctx.pc == 0x08822570u) goto L_08822570; return; L_08822570: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088226C8; } goto L_0882257C; } L_0882257C: ctx.gpr[31] = (0x08822584u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x08822584u) goto L_08822584; return; L_08822584: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088226C8; } goto L_0882258C; } L_0882258C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(48)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(8))); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088226C8; } goto L_088225AC; } L_088225AC: ctx.gpr[17] = (0u | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[17]) < 6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088226C8; } goto L_088225BC; } L_088225BC: ctx.gpr[4] = (ctx.gpr[17] << 2u); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(268))); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (ctx.gpr[17] << 2u); if (branch_taken) { goto L_088226B8; } goto L_088225D0; } L_088225D0: ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(268))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 14u); ctx.gpr[4] = (ctx.gpr[4] ^ 4u); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088226B8; } goto L_088225F4; } L_088225F4: ctx.gpr[4] = (ctx.gpr[17] << 2u); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(268))); ctx.gpr[5] = (0u | 197u); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(88)))))); { const bool branch_taken = ctx.gpr[6] != ctx.gpr[5]; ctx.gpr[18] = (ctx.gpr[29] + static_cast(112)); if (branch_taken) { goto L_088226B8; } goto L_08822610; } L_08822610: ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[5] = (ctx.gpr[18] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12])); ctx.gpr[31] = (0x08822624u); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[12])); if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 444u, 0x08AF9FB4u>(ctx, &aot_mem) && ctx.pc == 0x08822624u) goto L_08822624; return; L_08822624: { 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_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] = (2227u << 16u); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(632))); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088226B8; } goto L_0882264C; } L_0882264C: ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(504))); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 39u); ctx.gpr[31] = (0x08822660u); ctx.gpr[6] = (0u | 15u); goto L_088226F8; L_08822660: ctx.gpr[18] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { goto L_0882268C; } goto L_0882266C; } L_0882266C: ctx.gpr[31] = (0x08822674u); ctx.gpr[4] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0104_entry, 104u, 331u, 0x089A55ACu>(ctx, &aot_mem) && ctx.pc == 0x08822674u) goto L_08822674; return; L_08822674: ctx.gpr[6] = (16512u << 16u); ctx.fpr[13] = std::bit_cast(0u); ctx.gpr[4] = (ctx.gpr[18] | 0u); ctx.fpr[12] = std::bit_cast(ctx.gpr[6]); ctx.gpr[31] = (0x0882268Cu); ctx.gpr[5] = (0u | 13u); if (rt.invoke_chained_direct<&recomp_unit_0107_entry, 107u, 156u, 0x089B0884u>(ctx, &aot_mem) && ctx.pc == 0x0882268Cu) goto L_0882268C; return; L_0882268C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[5] = (ctx.gpr[17] << 2u); ctx.gpr[6] = (ctx.gpr[4] + static_cast(280)); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[6] + static_cast(0)))))); ctx.gpr[5] = (ctx.gpr[16] + ctx.gpr[5]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(268))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(4))); jump_target = ctx.gpr[6]; ctx.gpr[31] = (0x088226B0u); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]); ctx.pc = jump_target; if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x088226B0u) goto L_088226B0; return; L_088226B0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088226C8; } goto L_088226B8; } L_088226B8: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[17]) < 6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088225BC; } goto L_088226C8; } L_088226C8: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(156))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(160))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(164))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(168))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(172))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(176))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(180))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(184))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(188))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(192))); 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_088226F8: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-144)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(120), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[4] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(116), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(124), ctx.gpr[19]); ctx.gpr[4] = (ctx.gpr[6] & 65535u); ctx.gpr[19] = (0u | 13u); ctx.gpr[17] = (ctx.gpr[5] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(112), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(128), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[16] = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_08822994; } goto L_08822728; } L_08822728: aot_mem.aot_store16(ctx.gpr[16] + static_cast(1260), static_cast(ctx.gpr[4])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(844))); ctx.gpr[5] = (0u | 11u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_0882276C; } goto L_0882273C; } L_0882273C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(912))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08822764; } goto L_08822748; } L_08822748: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(912))); if (ctx.gpr[4] == 0u) { aot_mem.aot_store32(ctx.gpr[16] + static_cast(912), 0u); goto L_08822764; } goto L_08822754; L_08822754: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(912))); ctx.gpr[31] = (0x08822760u); ctx.gpr[5] = (ctx.gpr[16] + static_cast(912)); if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 700u, 0x0883B934u>(ctx, &aot_mem) && ctx.pc == 0x08822760u) goto L_08822760; return; L_08822760: aot_mem.aot_store32(ctx.gpr[16] + static_cast(912), 0u); goto L_08822764; L_08822764: ctx.gpr[31] = (0x0882276Cu); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 412u, 0x089A1D00u>(ctx, &aot_mem) && ctx.pc == 0x0882276Cu) goto L_0882276C; return; L_0882276C: ctx.gpr[4] = (0u | 1u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(80))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(844), ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[5] | 0u); ctx.gpr[7] = (17096u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(744))); ctx.fpr[12] = std::bit_cast(ctx.gpr[7]); ctx.gpr[31] = (0x08822790u); ctx.gpr[6] = (0u | 3u); if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 506u, 0x08A8B038u>(ctx, &aot_mem) && ctx.pc == 0x08822790u) goto L_08822790; return; L_08822790: ctx.gpr[4] = (0u | 0u); ctx.gpr[31] = (0x0882279Cu); ctx.gpr[5] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0108_entry, 108u, 722u, 0x089B6DBCu>(ctx, &aot_mem) && ctx.pc == 0x0882279Cu) goto L_0882279C; return; L_0882279C: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x088227A8u); ctx.gpr[5] = (0u | 1u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 546u, 0x089A2520u>(ctx, &aot_mem) && ctx.pc == 0x088227A8u) goto L_088227A8; return; L_088227A8: ctx.gpr[4] = (ctx.gpr[18] + static_cast(32)); ctx.fpr[12] = std::bit_cast(0u); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(8))); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08822838; } goto L_088227C4; } L_088227C4: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(16))); ctx.fpr[14] = std::bit_cast(0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[13]) ^ 0x80000000u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[13]) || std::isnan(ctx.fpr[14])) && ctx.fpr[13] == ctx.fpr[14])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(20))); if (branch_taken) { goto L_088227FC; } goto L_088227E0; } L_088227E0: ctx.fpr[14] = std::bit_cast(0u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[14])) && ctx.fpr[12] == ctx.fpr[14])); // nop if (!ctx.fpu_condition()) { ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[12])); goto L_08822800; } goto L_088227F4; L_088227F4: { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(0u); if (branch_taken) { goto L_08822810; } goto L_088227FC; } L_088227FC: ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[12])); goto L_08822800; L_08822800: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[13])); ctx.gpr[31] = (0x0882280Cu); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[14])); if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 288u, 0x089D96E8u>(ctx, &aot_mem) && ctx.pc == 0x0882280Cu) goto L_0882280C; return; L_0882280C: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08822810; L_08822810: ctx.gpr[4] = (16457u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.gpr[31] = (0x08822824u); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; if (rt.invoke_chained_direct<&recomp_unit_0134_entry, 134u, 260u, 0x08A1D4E8u>(ctx, &aot_mem) && ctx.pc == 0x08822824u) goto L_08822824; return; L_08822824: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08822830u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 43u, 0x08A288A8u>(ctx, &aot_mem) && ctx.pc == 0x08822830u) goto L_08822830; return; L_08822830: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_0882288C; } goto L_08822838; } L_08822838: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(16))); ctx.fpr[14] = std::bit_cast(0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[13]) ^ 0x80000000u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[13]) || std::isnan(ctx.fpr[14])) && ctx.fpr[13] == ctx.fpr[14])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(20))); if (branch_taken) { goto L_08822870; } goto L_08822854; } L_08822854: ctx.fpr[14] = std::bit_cast(0u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[14])) && ctx.fpr[12] == ctx.fpr[14])); // nop if (!ctx.fpu_condition()) { ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[12])); goto L_08822874; } goto L_08822868; L_08822868: { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(0u); if (branch_taken) { goto L_08822884; } goto L_08822870; } L_08822870: ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[12])); goto L_08822874; L_08822874: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[13])); ctx.gpr[31] = (0x08822880u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[14])); if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 288u, 0x089D96E8u>(ctx, &aot_mem) && ctx.pc == 0x08822880u) goto L_08822880; return; L_08822880: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08822884; L_08822884: ctx.gpr[31] = (0x0882288Cu); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 43u, 0x08A288A8u>(ctx, &aot_mem) && ctx.pc == 0x0882288Cu) goto L_0882288C; return; L_0882288C: ctx.gpr[4] = (ctx.gpr[17] < static_cast(46) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08822950; } goto L_08822898; } L_08822898: ctx.gpr[17] = (ctx.gpr[17] << 2u); ctx.gpr[1] = (2225u << 16u); ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[17]); ctx.gpr[1] = (aot_mem.aot_load32(ctx.gpr[1] + static_cast(-12672))); jump_target = ctx.gpr[1]; ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 2u)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088228B0: ctx.gpr[19] = (0u | 23u); ctx.gpr[4] = (ctx.gpr[18] + static_cast(112)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[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[4] = (16640u << 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]); { 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, 28u, 3u>(); 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[5] = (16512u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.gpr[5] = (std::bit_cast(ctx.fpr[13])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[18] + static_cast(32)); { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[5] = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[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.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(24))); ctx.gpr[31] = (0x08822930u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0130_entry, 130u, 278u, 0x08A0E1E4u>(ctx, &aot_mem) && ctx.pc == 0x08822930u) goto L_08822930; return; L_08822930: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08822950; } goto L_08822938; } L_08822938: ctx.gpr[19] = (0u | 169u); ctx.gpr[4] = (ctx.gpr[18] + static_cast(112)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[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])); } aot_mem.aot_store32(ctx.gpr[16] + static_cast(1412), ctx.gpr[18]); goto L_08822950; L_08822950: { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08822990; } goto L_08822958; } L_08822958: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (0u | 1000u); ctx.gpr[6] = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x0882296Cu); ctx.gpr[7] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 106u, 0x089A07E8u>(ctx, &aot_mem) && ctx.pc == 0x0882296Cu) goto L_0882296C; return; L_0882296C: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(404))); ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[4] = (0u | 0u); ctx.gpr[6] = (0u + static_cast(-2)); ctx.gpr[4] = (ctx.gpr[4] & 1u); ctx.gpr[5] = (ctx.gpr[5] & ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[5] | ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[16] + static_cast(404), ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[16] + static_cast(1256), std::bit_cast(ctx.fpr[12])); goto L_08822990; L_08822990: aot_mem.aot_store32(ctx.gpr[16] + static_cast(1332), 0u); goto L_08822994; L_08822994: ctx.gpr[2] = (ctx.gpr[16] | 0u); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(112))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(116))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(120))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(124))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(128))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(144)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088229B4: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-768)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(720), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(724), ctx.gpr[17]); ctx.gpr[17] = (ctx.gpr[5] << 2u); ctx.gpr[16] = (ctx.gpr[6] << 2u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(732), ctx.gpr[19]); ctx.gpr[17] = (ctx.gpr[4] + ctx.gpr[17]); ctx.gpr[16] = (ctx.gpr[4] + ctx.gpr[16]); ctx.gpr[19] = (ctx.gpr[4] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(668), ctx.gpr[6]); ctx.gpr[4] = (16384u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(696), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(700), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(708), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(712), std::bit_cast(ctx.fpr[28])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(728), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(736), ctx.gpr[20]); ctx.fpr[28] = std::bit_cast(0u); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(684), ctx.gpr[7]); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[13])); ctx.gpr[20] = (ctx.gpr[9] & 255u); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[15])); ctx.gpr[18] = (0u | 0u); ctx.fpr[26] = std::bit_cast(ctx.gpr[4]); ctx.gpr[10] = (ctx.gpr[5] | 0u); ctx.gpr[11] = (ctx.gpr[8] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(704), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(716), std::bit_cast(ctx.fpr[30])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(740), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(744), ctx.gpr[22]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(748), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(752), ctx.gpr[30]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(756), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[20] == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(676), std::bit_cast(ctx.fpr[14])); if (branch_taken) { goto L_08822A8C; } goto L_08822A44; } L_08822A44: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(336))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(16))); ctx.gpr[4] = (ctx.gpr[4] & 255u); ctx.gpr[4] = (ctx.gpr[4] & 255u); ctx.gpr[5] = (ctx.gpr[4] << 8u); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[5] = (2229u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(24020))); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(160)))))); ctx.gpr[4] = (ctx.gpr[4] ^ 82u); 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_08822A8C; } goto L_08822A84; } L_08822A84: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (0u | 1u); if (branch_taken) { goto L_08822AD8; } goto L_08822A8C; } L_08822A8C: if (ctx.gpr[20] != 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(336))); goto L_08822ADC; } goto L_08822A94; L_08822A94: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(336))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(16))); ctx.gpr[4] = (ctx.gpr[4] & 255u); ctx.gpr[4] = (ctx.gpr[4] & 255u); ctx.gpr[5] = (ctx.gpr[4] << 8u); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[5] = (2229u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(24020))); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(160)))))); ctx.gpr[4] = (ctx.gpr[4] ^ 70u); ctx.gpr[4] = (0u < ctx.gpr[4] ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); if (ctx.gpr[4] == 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(336))); goto L_08822ADC; } goto L_08822AD4; L_08822AD4: ctx.gpr[18] = (0u | 1u); goto L_08822AD8; L_08822AD8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(336))); goto L_08822ADC; L_08822ADC: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(200))); { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } { const bool branch_taken = ctx.gpr[20] != 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(660), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_08822AF4; } goto L_08822AEC; } L_08822AEC: ctx.fpr[12] = ctx.fpr[26] - ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(660), std::bit_cast(ctx.fpr[12])); goto L_08822AF4; L_08822AF4: aot_mem.aot_store32(ctx.gpr[29] + static_cast(680), ctx.gpr[11]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(664), std::bit_cast(ctx.fpr[16])); { const bool branch_taken = ctx.gpr[20] != 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(648), ctx.gpr[10]); if (branch_taken) { goto L_08822C98; } goto L_08822B04; } L_08822B04: ctx.gpr[4] = (ctx.gpr[19] + static_cast(112)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[19] + 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); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); 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[19] + static_cast(597)))))); ctx.gpr[4] = (ctx.gpr[4] & 32u); 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_08822B84; } goto L_08822B38; } L_08822B38: ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12])); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[28])); // nop if (ctx.fpu_condition()) { ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); goto L_08822B4C; } goto L_08822B4C; L_08822B4C: ctx.gpr[4] = (15395u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 55050u); 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_08822B84; } goto L_08822B68; } L_08822B68: aot_mem.aot_store32(ctx.gpr[29] + static_cast(680), ctx.gpr[11]); ctx.gpr[4] = (18076u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(664), std::bit_cast(ctx.fpr[16])); ctx.gpr[4] = (ctx.gpr[4] | 16384u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(648), ctx.gpr[10]); { const bool branch_taken = 0u == 0u; ctx.fpr[22] = std::bit_cast(ctx.gpr[4]); if (branch_taken) { goto L_08822C98; } goto L_08822B84; } L_08822B84: aot_mem.aot_store32(ctx.gpr[29] + static_cast(680), ctx.gpr[11]); { const bool branch_taken = ctx.gpr[18] == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(648), ctx.gpr[10]); if (branch_taken) { goto L_08822C48; } goto L_08822B90; } L_08822B90: aot_mem.aot_store32(ctx.gpr[29] + static_cast(680), ctx.gpr[11]); ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[19] + static_cast(1516))); { const bool branch_taken = ctx.gpr[4] == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(648), ctx.gpr[10]); if (branch_taken) { goto L_08822C48; } goto L_08822BA0; } L_08822BA0: ctx.gpr[4] = (17723u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 32768u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(212))); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[13] / ctx.fpr[12]; ctx.gpr[5] = (16256u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(680), ctx.gpr[11]); ctx.gpr[4] = (ctx.gpr[10] << 4u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(648), ctx.gpr[10]); ctx.gpr[4] = (ctx.gpr[11] + ctx.gpr[4]); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); 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[13])); goto L_08822BE4; } goto L_08822BE4; L_08822BE4: aot_mem.aot_store32(ctx.gpr[29] + static_cast(664), std::bit_cast(ctx.fpr[16])); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(212))); ctx.gpr[5] = (47940u << 16u); ctx.gpr[5] = (ctx.gpr[5] | 39846u); 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[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[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(584))); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[5] = (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[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[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[4] + static_cast(4))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(8))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(88))); ctx.gpr[31] = (0x08822C40u); ctx.gpr[4] = (ctx.gpr[19] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0130_entry, 130u, 288u, 0x08A0E2E0u>(ctx, &aot_mem) && ctx.pc == 0x08822C40u) goto L_08822C40; return; L_08822C40: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08822C98; } goto L_08822C48; } L_08822C48: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(336))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(16))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(664), std::bit_cast(ctx.fpr[16])); ctx.gpr[4] = (ctx.gpr[4] & 255u); ctx.gpr[4] = (ctx.gpr[4] & 255u); ctx.gpr[5] = (ctx.gpr[4] << 8u); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[5] = (2229u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(24020))); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[4] + static_cast(160)))))); ctx.gpr[4] = (ctx.gpr[4] ^ 70u); 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_08822C98; } goto L_08822C8C; } L_08822C8C: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(1568))); { const float fs = ctx.fpr[16]; 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; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(664), std::bit_cast(ctx.fpr[12])); goto L_08822C98; L_08822C98: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1408))); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[28])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08822CC0; } goto L_08822CAC; } L_08822CAC: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1408))); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[28])); // nop { const bool branch_taken = ctx.fpu_condition(); aot_mem.aot_store32(ctx.gpr[29] + static_cast(656), ctx.gpr[20]); if (branch_taken) { goto L_0882353C; } goto L_08822CC0; } L_08822CC0: ctx.gpr[5] = (49864u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(672), std::bit_cast(ctx.fpr[22])); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.gpr[4] = (0u | 0u); ctx.set_fpu_condition((ctx.fpr[20] <= ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); aot_mem.aot_store8(ctx.gpr[29] + static_cast(653), static_cast(ctx.gpr[4])); if (branch_taken) { goto L_08822D2C; } goto L_08822CE0; } L_08822CE0: aot_mem.aot_store32(ctx.gpr[29] + static_cast(672), std::bit_cast(ctx.fpr[22])); ctx.gpr[4] = (0u | 1u); aot_mem.aot_store8(ctx.gpr[29] + static_cast(653), static_cast(ctx.gpr[4])); ctx.gpr[4] = (std::bit_cast(ctx.fpr[20])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[4]); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); } { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f); ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(644), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (std::bit_cast(ctx.fpr[20])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[4]); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); } { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f); ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(640), std::bit_cast(ctx.fpr[12])); goto L_08822D2C; L_08822D2C: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(68))); ctx.gpr[5] = (ctx.gpr[5] & 496u); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[4] = (0u | 0u); if (branch_taken) { goto L_08822D68; } goto L_08822D3C; } L_08822D3C: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(68))); ctx.gpr[6] = (0u | 192u); ctx.gpr[5] = (ctx.gpr[5] & 496u); { const bool branch_taken = ctx.gpr[5] == ctx.gpr[6]; // nop if (branch_taken) { goto L_08822D68; } goto L_08822D50; } L_08822D50: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(336))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(208))); ctx.gpr[5] = (ctx.gpr[5] & 4096u); { const bool branch_taken = ctx.gpr[5] == 0u; // nop if (branch_taken) { goto L_08822D68; } goto L_08822D64; } L_08822D64: ctx.gpr[4] = (0u | 1u); goto L_08822D68; L_08822D68: aot_mem.aot_store32(ctx.gpr[29] + static_cast(656), ctx.gpr[20]); { const bool branch_taken = ctx.gpr[20] == 0u; ctx.gpr[4] = (ctx.gpr[4] & 255u); if (branch_taken) { goto L_08822DB8; } goto L_08822D74; } L_08822D74: { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[5] = (16256u << 16u); if (branch_taken) { goto L_08822D84; } goto L_08822D7C; } L_08822D7C: { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); if (branch_taken) { goto L_08822D90; } goto L_08822D84; } L_08822D84: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(336))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(160))); { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } goto L_08822D90; L_08822D90: { const bool branch_taken = ctx.gpr[4] == 0u; ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_08822DA4; } goto L_08822D98; } L_08822D98: ctx.gpr[4] = (16256u << 16u); { const bool branch_taken = 0u == 0u; ctx.fpr[30] = std::bit_cast(ctx.gpr[4]); if (branch_taken) { goto L_08822DB0; } goto L_08822DA4; } L_08822DA4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(336))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(176))); { const float fs = ctx.fpr[30]; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast(0x7FC00000u); else ctx.fpr[30] = fs * ft; } goto L_08822DB0; L_08822DB0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08822DFC; } goto L_08822DB8; } L_08822DB8: { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[5] = (16256u << 16u); if (branch_taken) { goto L_08822DC8; } goto L_08822DC0; } L_08822DC0: { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); if (branch_taken) { goto L_08822DD8; } goto L_08822DC8; } L_08822DC8: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(336))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(160))); { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = ctx.fpr[26] - ctx.fpr[12]; goto L_08822DD8; L_08822DD8: { const bool branch_taken = ctx.gpr[4] == 0u; ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_08822DEC; } goto L_08822DE0; } L_08822DE0: ctx.gpr[4] = (16256u << 16u); { const bool branch_taken = 0u == 0u; ctx.fpr[30] = std::bit_cast(ctx.gpr[4]); if (branch_taken) { goto L_08822DFC; } goto L_08822DEC; } L_08822DEC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(336))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(176))); { 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[30] = std::bit_cast(0x7FC00000u); else ctx.fpr[30] = fs * ft; } ctx.fpr[30] = ctx.fpr[26] - ctx.fpr[30]; goto L_08822DFC; L_08822DFC: aot_mem.aot_store8(ctx.gpr[29] + static_cast(652), static_cast(ctx.gpr[18])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(636), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(628), ctx.gpr[16]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1408))); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[28])); // nop { const bool branch_taken = ctx.fpu_condition(); aot_mem.aot_store32(ctx.gpr[29] + static_cast(624), ctx.gpr[17]); if (branch_taken) { goto L_0882319C; } goto L_08822E1C; } L_08822E1C: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(648))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(636), std::bit_cast(ctx.fpr[13])); ctx.gpr[6] = (ctx.gpr[5] << 5u); ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(680))); ctx.gpr[17] = (ctx.gpr[19] + ctx.gpr[6]); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(684))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(672))); ctx.gpr[7] = (ctx.gpr[19] + static_cast(848)); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(624))); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[24]; 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[23] = (ctx.gpr[5] << 4u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(632), ctx.gpr[7]); ctx.gpr[22] = (ctx.gpr[5] << 24u); ctx.gpr[30] = (ctx.gpr[30] + ctx.gpr[23]); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(652))); ctx.gpr[4] = (ctx.gpr[19] + static_cast(16)); ctx.gpr[16] = (ctx.gpr[29] + static_cast(96)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1248)); ctx.gpr[18] = (ctx.gpr[29] + static_cast(112)); ctx.gpr[23] = (ctx.gpr[6] + ctx.gpr[23]); ctx.gpr[22] = (static_cast(static_cast(ctx.gpr[22]) >> 24u)); ctx.gpr[21] = (ctx.gpr[21] + static_cast(1460)); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[20] = (ctx.gpr[29] + static_cast(144)); if (branch_taken) { goto L_08822E84; } goto L_08822E7C; } L_08822E7C: { const bool branch_taken = 0u == 0u; ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(676))); if (branch_taken) { goto L_08822E88; } goto L_08822E84; } L_08822E84: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[28])); goto L_08822E88; L_08822E88: aot_mem.aot_store32(ctx.gpr[29] + static_cast(692), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(688), ctx.gpr[20]); { 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[16] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(16))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(160), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(20))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(164), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(168), std::bit_cast(ctx.fpr[12])); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[20] = (ctx.gpr[29] + static_cast(160)); { 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); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(16))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(160), std::bit_cast(ctx.fpr[13])); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(20))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(164), std::bit_cast(ctx.fpr[13])); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(168), std::bit_cast(ctx.fpr[13])); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); { const std::uint32_t vfpu_address = ctx.gpr[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<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[21] = (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[21] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08822F04u); ctx.gpr[5] = (ctx.gpr[21] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 566u, 0x08927554u>(ctx, &aot_mem) && ctx.pc == 0x08822F04u) goto L_08822F04; return; L_08822F04: { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<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[16] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(16))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(160), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(20))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(164), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(168), std::bit_cast(ctx.fpr[12])); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 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<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat(0u, 1u, 2u, 3u); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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<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[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])); } ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(653))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(688))); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(692))); if (branch_taken) { goto L_08823024; } goto L_08822F84; } L_08822F84: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(640))); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[4] = (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[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[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(644))); ctx.gpr[5] = (std::bit_cast(ctx.fpr[13])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]); { 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, 28u, 3u>(); ctx.gpr[5] = (ctx.gpr[29] + static_cast(224)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[6] = (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[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[8] = (std::bit_cast(ctx.fpr[13])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[8]); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { 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[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[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, 28u, 3u>(); { 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[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[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); } { 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); } { 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[7] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } goto L_08823024; L_08823024: ctx.gpr[4] = (0u | 29u); aot_mem.aot_store8(ctx.gpr[17] + static_cast(28), static_cast(ctx.gpr[4])); ctx.gpr[31] = (0x08823034u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 199u, 0x089257E4u>(ctx, &aot_mem) && ctx.pc == 0x08823034u) goto L_08823034; return; L_08823034: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(664))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 496u); { const bool branch_taken = ctx.gpr[4] != 0u; { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[0]; 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_08823050; } goto L_08823048; } L_08823048: { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (0u | 1u); if (branch_taken) { goto L_08823054; } goto L_08823050; } L_08823050: ctx.gpr[4] = (0u | 0u); goto L_08823054; L_08823054: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088230B0; } goto L_0882305C; } L_0882305C: ctx.gpr[31] = (0x08823064u); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[17] + static_cast(30))); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 212u, 0x089258A4u>(ctx, &aot_mem) && ctx.pc == 0x08823064u) goto L_08823064; return; L_08823064: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(624))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(1376))); ctx.gpr[4] = (16256u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[13] - ctx.fpr[12]; ctx.gpr[4] = (16512u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(336))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(660))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(184))); { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[0]; 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; } { 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[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.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_088230AC; } goto L_088230AC; L_088230AC: { 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; } goto L_088230B0; L_088230B0: ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(624))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(632))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(1736))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(648))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(144), ctx.gpr[5]); ctx.gpr[31] = (0x088230CCu); ctx.gpr[5] = (ctx.gpr[6] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 209u, 0x08A2937Cu>(ctx, &aot_mem) && ctx.pc == 0x088230CCu) goto L_088230CC; return; L_088230CC: ctx.gpr[4] = (0u | 1u); { const bool branch_taken = ctx.gpr[2] != ctx.gpr[4]; // nop if (branch_taken) { goto L_08823124; } goto L_088230D8; } L_088230D8: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(848))); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[9] = (aot_mem.aot_load8(ctx.gpr[19] + static_cast(1728))); { 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[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.gpr[2] = (0u | 1u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[20]); ctx.gpr[4] = (ctx.gpr[19] | 0u); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[6] = (ctx.gpr[18] | 0u); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[30]; 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] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[10] = (ctx.gpr[22] | 0u); ctx.gpr[11] = (ctx.gpr[21] | 0u); ctx.gpr[31] = (0x0882311Cu); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[2]); if (rt.invoke_chained_direct<&recomp_unit_0040_entry, 40u, 258u, 0x088A5B9Cu>(ctx, &aot_mem) && ctx.pc == 0x0882311Cu) goto L_0882311C; return; L_0882311C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_0882315C; } goto L_08823124; } L_08823124: ctx.gpr[9] = (aot_mem.aot_load8(ctx.gpr[19] + static_cast(1728))); { const float fs = ctx.fpr[30]; 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; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[20]); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[4] = (ctx.gpr[19] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[10] = (ctx.gpr[22] | 0u); ctx.gpr[11] = (ctx.gpr[21] | 0u); ctx.gpr[31] = (0x0882315Cu); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); if (rt.invoke_chained_direct<&recomp_unit_0040_entry, 40u, 258u, 0x088A5B9Cu>(ctx, &aot_mem) && ctx.pc == 0x0882315Cu) goto L_0882315C; return; L_0882315C: ctx.gpr[18] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(652))); { const bool branch_taken = ctx.gpr[18] == 0u; ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(628))); if (branch_taken) { goto L_08823194; } goto L_08823168; } L_08823168: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(588))); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[28])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08823194; } goto L_0882317C; } L_0882317C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(144))); ctx.gpr[5] = (0u | 1u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08823194; } goto L_0882318C; } L_0882318C: { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[17] + static_cast(1736), 0u); if (branch_taken) { goto L_0882319C; } goto L_08823194; } L_08823194: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(144))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(1736), ctx.gpr[4]); goto L_0882319C; L_0882319C: aot_mem.aot_store8(ctx.gpr[29] + static_cast(652), static_cast(ctx.gpr[18])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(628), ctx.gpr[16]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1408))); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[28])); // nop { const bool branch_taken = ctx.fpu_condition(); aot_mem.aot_store32(ctx.gpr[29] + static_cast(624), ctx.gpr[17]); if (branch_taken) { goto L_0882353C; } goto L_088231B8; } L_088231B8: ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(636))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(672))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(668))); ctx.gpr[6] = (ctx.gpr[19] + static_cast(848)); { 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; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(632), ctx.gpr[6]); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(684))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(680))); ctx.gpr[7] = (ctx.gpr[5] << 5u); ctx.gpr[6] = (ctx.gpr[5] << 4u); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(628))); ctx.gpr[21] = (ctx.gpr[5] << 24u); ctx.gpr[17] = (ctx.gpr[19] + ctx.gpr[7]); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(652))); ctx.gpr[4] = (ctx.gpr[19] + static_cast(16)); ctx.gpr[16] = (ctx.gpr[29] + static_cast(96)); ctx.gpr[18] = (ctx.gpr[29] + static_cast(112)); ctx.gpr[30] = (ctx.gpr[29] + static_cast(144)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1248)); ctx.gpr[23] = (ctx.gpr[23] + ctx.gpr[6]); ctx.gpr[22] = (ctx.gpr[22] + ctx.gpr[6]); ctx.gpr[21] = (static_cast(static_cast(ctx.gpr[21]) >> 24u)); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[20] = (ctx.gpr[20] + static_cast(1460)); if (branch_taken) { goto L_08823220; } goto L_08823218; } L_08823218: { const bool branch_taken = 0u == 0u; ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(676))); if (branch_taken) { goto L_08823224; } goto L_08823220; } L_08823220: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[28])); goto L_08823224; L_08823224: aot_mem.aot_store32(ctx.gpr[29] + static_cast(688), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(692), ctx.gpr[20]); { 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[16] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(16))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(256), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(20))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(260), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(264), std::bit_cast(ctx.fpr[12])); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[20] = (ctx.gpr[29] + static_cast(256)); { 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); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(16))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(256), std::bit_cast(ctx.fpr[13])); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(20))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(260), std::bit_cast(ctx.fpr[13])); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(264), std::bit_cast(ctx.fpr[13])); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); { const std::uint32_t vfpu_address = ctx.gpr[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<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[21] = (ctx.gpr[29] + static_cast(272)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x088232A0u); ctx.gpr[5] = (ctx.gpr[21] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 566u, 0x08927554u>(ctx, &aot_mem) && ctx.pc == 0x088232A0u) goto L_088232A0; return; L_088232A0: { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<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[16] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(16))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(256), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(20))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(260), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(264), std::bit_cast(ctx.fpr[12])); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 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<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat(0u, 1u, 2u, 3u); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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<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[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])); } ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(653))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(692))); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(688))); if (branch_taken) { goto L_088233C0; } goto L_08823320; } L_08823320: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(640))); ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[4] = (ctx.gpr[29] + static_cast(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(644))); ctx.gpr[5] = (std::bit_cast(ctx.fpr[13])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]); { 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, 28u, 3u>(); ctx.gpr[5] = (ctx.gpr[29] + static_cast(320)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[6] = (ctx.gpr[29] + static_cast(288)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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[8] = (std::bit_cast(ctx.fpr[13])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[8]); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { 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[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[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, 28u, 3u>(); { 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[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[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); } { 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); } { 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[7] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } goto L_088233C0; L_088233C0: ctx.gpr[4] = (0u | 29u); aot_mem.aot_store8(ctx.gpr[17] + static_cast(28), static_cast(ctx.gpr[4])); ctx.gpr[31] = (0x088233D0u); ctx.gpr[4] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 199u, 0x089257E4u>(ctx, &aot_mem) && ctx.pc == 0x088233D0u) goto L_088233D0; return; L_088233D0: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(664))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 496u); { const bool branch_taken = ctx.gpr[4] != 0u; { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[0]; 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_088233EC; } goto L_088233E4; } L_088233E4: { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (0u | 1u); if (branch_taken) { goto L_088233F0; } goto L_088233EC; } L_088233EC: ctx.gpr[4] = (0u | 0u); goto L_088233F0; L_088233F0: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_0882344C; } goto L_088233F8; } L_088233F8: ctx.gpr[31] = (0x08823400u); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[17] + static_cast(30))); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 212u, 0x089258A4u>(ctx, &aot_mem) && ctx.pc == 0x08823400u) goto L_08823400; return; L_08823400: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(628))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(1376))); ctx.gpr[4] = (16256u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[13] - ctx.fpr[12]; ctx.gpr[4] = (16512u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(336))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(660))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(184))); { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[0]; 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; } { 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[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.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_08823448; } goto L_08823448; L_08823448: { 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; } goto L_0882344C; L_0882344C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(628))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(632))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(1736))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(668))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(144), ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[5] | 0u); ctx.gpr[31] = (0x0882346Cu); ctx.gpr[5] = (ctx.gpr[6] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0137_entry, 137u, 209u, 0x08A2937Cu>(ctx, &aot_mem) && ctx.pc == 0x0882346Cu) goto L_0882346C; return; L_0882346C: ctx.gpr[4] = (0u | 1u); { const bool branch_taken = ctx.gpr[2] != ctx.gpr[4]; ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(624))); if (branch_taken) { goto L_088234C4; } goto L_08823478; } L_08823478: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(848))); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[9] = (aot_mem.aot_load8(ctx.gpr[19] + static_cast(1728))); { 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[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.gpr[2] = (0u | 1u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[30]); ctx.gpr[4] = (ctx.gpr[19] | 0u); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[6] = (ctx.gpr[18] | 0u); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[30]; 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] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[10] = (ctx.gpr[21] | 0u); ctx.gpr[11] = (ctx.gpr[20] | 0u); ctx.gpr[31] = (0x088234BCu); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[2]); if (rt.invoke_chained_direct<&recomp_unit_0040_entry, 40u, 258u, 0x088A5B9Cu>(ctx, &aot_mem) && ctx.pc == 0x088234BCu) goto L_088234BC; return; L_088234BC: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088234FC; } goto L_088234C4; } L_088234C4: ctx.gpr[9] = (aot_mem.aot_load8(ctx.gpr[19] + static_cast(1728))); { const float fs = ctx.fpr[30]; 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; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[30]); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[4] = (ctx.gpr[19] | 0u); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[5] = (ctx.gpr[16] | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[10] = (ctx.gpr[21] | 0u); ctx.gpr[11] = (ctx.gpr[20] | 0u); ctx.gpr[31] = (0x088234FCu); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); if (rt.invoke_chained_direct<&recomp_unit_0040_entry, 40u, 258u, 0x088A5B9Cu>(ctx, &aot_mem) && ctx.pc == 0x088234FCu) goto L_088234FC; return; L_088234FC: ctx.gpr[18] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(652))); { const bool branch_taken = ctx.gpr[18] == 0u; ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(628))); if (branch_taken) { goto L_08823534; } goto L_08823508; } L_08823508: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(588))); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[28])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08823534; } goto L_0882351C; } L_0882351C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(144))); ctx.gpr[5] = (0u | 1u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_08823534; } goto L_0882352C; } L_0882352C: { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(1736), 0u); if (branch_taken) { goto L_0882353C; } goto L_08823534; } L_08823534: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(144))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(1736), ctx.gpr[4]); goto L_0882353C; L_0882353C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(656))); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(676))); if (branch_taken) { goto L_08823620; } goto L_08823548; } L_08823548: ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[19] + static_cast(1516))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088235B8; } goto L_08823554; } L_08823554: { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { goto L_088235B8; } goto L_0882355C; } L_0882355C: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(1740))); ctx.gpr[4] = (0u | 1u); if (ctx.gpr[5] == ctx.gpr[4]) { ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(1568))); goto L_0882357C; } goto L_0882356C; L_0882356C: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(1748))); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[4]; // nop if (branch_taken) { goto L_088235B8; } goto L_08823578; } L_08823578: ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(1568))); goto L_0882357C; L_0882357C: ctx.gpr[4] = (2230u << 16u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8144))); ctx.gpr[4] = (14979u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 4719u); ctx.fpr[15] = std::bit_cast(ctx.gpr[4]); { 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[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } ctx.gpr[4] = (16448u << 16u); ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[15]; ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[14] <= ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); aot_mem.aot_store32(ctx.gpr[19] + static_cast(1568), std::bit_cast(ctx.fpr[14])); if (branch_taken) { goto L_08823620; } goto L_088235B0; } L_088235B0: { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[19] + static_cast(1568), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_08823620; } goto L_088235B8; } L_088235B8: ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(1568))); ctx.gpr[4] = (16256u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[14] <= ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_08823620; } goto L_088235D4; } L_088235D4: ctx.gpr[4] = (2230u << 16u); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8144))); ctx.gpr[4] = (16254u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 47186u); ctx.fpr[15] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (std::bit_cast(ctx.fpr[15])); ctx.gpr[5] = (std::bit_cast(ctx.fpr[14])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[4]); ctx.set_vfpu_scalar_bits_ct<32u>(ctx.gpr[5]); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::log2(vfpu_s[i]); ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 1u>(vfpu_d); } { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::exp2(vfpu_s[i]); ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<32u>()); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[19] + static_cast(1568))); ctx.fpr[15] = ctx.fpr[15] - ctx.fpr[12]; { 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[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.fpr[12] = ctx.fpr[14] + ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[19] + static_cast(1568), std::bit_cast(ctx.fpr[12])); goto L_08823620; L_08823620: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(336))); ctx.gpr[5] = (2u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(208))); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08823808; } goto L_08823638; } L_08823638: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1408))); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[28])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08823720; } goto L_0882364C; } L_0882364C: { const bool branch_taken = ctx.gpr[18] == 0u; ctx.gpr[4] = (2230u << 16u); if (branch_taken) { goto L_088236F4; } goto L_08823654; } L_08823654: ctx.set_fpu_condition((!(std::isnan(ctx.fpr[13]) || std::isnan(ctx.fpr[28])) && ctx.fpr[13] == ctx.fpr[28])); // nop { const bool branch_taken = ctx.fpu_condition(); ctx.gpr[5] = (16243u << 16u); if (branch_taken) { goto L_088236F8; } goto L_08823664; } L_08823664: ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[28])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088236A8; } goto L_08823674; } L_08823674: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1492))); ctx.gpr[5] = (16256u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[14])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[5] = (15820u << 16u); if (branch_taken) { goto L_088236D8; } goto L_08823690; } L_08823690: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1492))); ctx.gpr[5] = (ctx.gpr[5] | 52429u); ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[14]; { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[17] + static_cast(1492), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088236D8; } goto L_088236A8; } L_088236A8: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1492))); ctx.gpr[5] = (49024u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[14])); // nop { const bool branch_taken = ctx.fpu_condition(); ctx.gpr[5] = (15692u << 16u); if (branch_taken) { goto L_088236D8; } goto L_088236C4; } L_088236C4: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1492))); ctx.gpr[5] = (ctx.gpr[5] | 52429u); ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[14]; aot_mem.aot_store32(ctx.gpr[17] + static_cast(1492), std::bit_cast(ctx.fpr[12])); goto L_088236D8; L_088236D8: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1492))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8144))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1460))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = ctx.fpr[15] + ctx.fpr[12]; { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[17] + static_cast(1460), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_08823720; } goto L_088236F4; } L_088236F4: ctx.gpr[5] = (16243u << 16u); goto L_088236F8; L_088236F8: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1492))); ctx.gpr[5] = (ctx.gpr[5] | 13107u); ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1460))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } aot_mem.aot_store32(ctx.gpr[17] + static_cast(1492), std::bit_cast(ctx.fpr[12])); ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8144))); { 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; } ctx.fpr[12] = ctx.fpr[15] + ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[17] + static_cast(1460), std::bit_cast(ctx.fpr[12])); goto L_08823720; L_08823720: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1408))); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[28])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08823808; } goto L_08823734; } L_08823734: { const bool branch_taken = ctx.gpr[18] == 0u; ctx.gpr[4] = (2230u << 16u); if (branch_taken) { goto L_088237DC; } goto L_0882373C; } L_0882373C: ctx.set_fpu_condition((!(std::isnan(ctx.fpr[13]) || std::isnan(ctx.fpr[28])) && ctx.fpr[13] == ctx.fpr[28])); // nop { const bool branch_taken = ctx.fpu_condition(); ctx.gpr[5] = (16243u << 16u); if (branch_taken) { goto L_088237E0; } goto L_0882374C; } L_0882374C: ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[28])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_08823790; } goto L_0882375C; } L_0882375C: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1492))); ctx.gpr[5] = (16256u << 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(); ctx.gpr[5] = (15820u << 16u); if (branch_taken) { goto L_088237C0; } goto L_08823778; } L_08823778: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1492))); ctx.gpr[5] = (ctx.gpr[5] | 52429u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13]; { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(1492), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088237C0; } goto L_08823790; } L_08823790: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1492))); ctx.gpr[5] = (49024u << 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(); ctx.gpr[5] = (15692u << 16u); if (branch_taken) { goto L_088237C0; } goto L_088237AC; } L_088237AC: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1492))); ctx.gpr[5] = (ctx.gpr[5] | 52429u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(1492), std::bit_cast(ctx.fpr[12])); goto L_088237C0; L_088237C0: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1492))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8144))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1460))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = ctx.fpr[14] + ctx.fpr[12]; { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(1460), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_08823808; } goto L_088237DC; } L_088237DC: ctx.gpr[5] = (16243u << 16u); goto L_088237E0; L_088237E0: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1492))); ctx.gpr[5] = (ctx.gpr[5] | 13107u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(1460))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } aot_mem.aot_store32(ctx.gpr[16] + static_cast(1492), std::bit_cast(ctx.fpr[12])); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8144))); { 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.fpr[12] = ctx.fpr[14] + ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(1460), std::bit_cast(ctx.fpr[12])); goto L_08823808; L_08823808: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(696))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(700))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(704))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(708))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(712))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(716))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(720))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(724))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(728))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(732))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(736))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(740))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(744))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(748))); ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(752))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(756))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(768)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_08823850: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-128)); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(68))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(96), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(100), ctx.gpr[17]); ctx.gpr[8] = (0u | 32u); ctx.gpr[7] = (ctx.gpr[7] & 496u); ctx.gpr[17] = (ctx.gpr[4] | 0u); ctx.gpr[16] = (ctx.gpr[5] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(104), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(108), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(112), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(116), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[7] == ctx.gpr[8]; ctx.gpr[19] = (ctx.gpr[6] | 0u); if (branch_taken) { goto L_08823894; } goto L_08823888; } L_08823888: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(602)))))); ctx.gpr[4] = (ctx.gpr[4] | 4u); aot_mem.aot_store8(ctx.gpr[17] + static_cast(602), static_cast(ctx.gpr[4])); goto L_08823894; L_08823894: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(599)))))); ctx.gpr[4] = (ctx.gpr[4] & 128u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (2230u << 16u); if (branch_taken) { goto L_088238D0; } goto L_088238A4; } L_088238A4: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(-8108))); ctx.gpr[5] = (2233u << 16u); ctx.gpr[6] = (ctx.gpr[4] << 7u); ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[20] = (ctx.gpr[6] - ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[5] + static_cast(-26096)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(16)); { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (ctx.gpr[20] + ctx.gpr[4]); if (branch_taken) { goto L_088238EC; } goto L_088238D0; } L_088238D0: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[17] + 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[20] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); goto L_088238EC; L_088238EC: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1376))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1380))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(32), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1384))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(36), std::bit_cast(ctx.fpr[13])); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(1388))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(40), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(323)))))); ctx.gpr[18] = (0u | 0u); ctx.gpr[4] = (ctx.gpr[4] & 4u); { const bool branch_taken = ctx.gpr[4] != 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(44), std::bit_cast(ctx.fpr[13])); if (branch_taken) { goto L_08823974; } goto L_0882391C; } L_0882391C: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[17] + static_cast(322)))))); ctx.gpr[4] = (ctx.gpr[4] & 128u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_08823974; } goto L_0882392C; } L_0882392C: 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] ^ 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_08823974; } goto L_08823948; } L_08823948: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[17] + static_cast(88)))))); ctx.gpr[5] = (0u | 164u); if (ctx.gpr[4] != ctx.gpr[5]) { ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[16] + static_cast(88)))))); goto L_0882397C; } goto L_08823958; L_08823958: 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); if (ctx.gpr[4] == 0u) { ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[16] + static_cast(88)))))); goto L_0882397C; } goto L_08823974; L_08823974: aot_mem.aot_store8(ctx.gpr[20] + static_cast(54), static_cast(0u)); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[16] + static_cast(88)))))); goto L_0882397C; L_0882397C: 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[9] = (ctx.gpr[17] + static_cast(1248)); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); ctx.gpr[10] = (ctx.gpr[17] + static_cast(1376)); ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[5] = (ctx.gpr[20] | 0u); ctx.gpr[6] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x088239B0u); ctx.gpr[8] = (ctx.gpr[19] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0050_entry, 50u, 331u, 0x088CE988u>(ctx, &aot_mem) && ctx.pc == 0x088239B0u) goto L_088239B0; return; L_088239B0: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[20] + static_cast(54)))))); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[19] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_088239C8; } goto L_088239BC; } L_088239BC: ctx.gpr[4] = (0u | 4u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store8(ctx.gpr[20] + static_cast(54), static_cast(ctx.gpr[4])); if (branch_taken) { goto L_08823B04; } goto L_088239C8; } L_088239C8: ctx.gpr[20] = (0u | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[20]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08823B04; } goto L_088239D8; } L_088239D8: ctx.gpr[4] = (ctx.gpr[20] << 2u); ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(1376))); ctx.gpr[4] = (2227u << 16u); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(400))); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[4] = (ctx.gpr[20] << 2u); if (branch_taken) { goto L_08823AF4; } goto L_088239FC; } L_088239FC: ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[29] + ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(1376))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(32))); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_08823AF4; } goto L_08823A1C; } L_08823A1C: 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; ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); if (branch_taken) { goto L_08823A54; } goto L_08823A38; } L_08823A38: 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] ^ 8u); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (ctx.gpr[20] << 5u); if (branch_taken) { goto L_08823AC4; } goto L_08823A54; } L_08823A54: ctx.gpr[4] = (ctx.gpr[20] << 2u); ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[5] + static_cast(1612), ctx.gpr[16]); ctx.gpr[5] = (ctx.gpr[5] + static_cast(1612)); ctx.gpr[31] = (0x08823A6Cu); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 689u, 0x0883B8A4u>(ctx, &aot_mem) && ctx.pc == 0x08823A6Cu) goto L_08823A6C; return; L_08823A6C: ctx.gpr[4] = (ctx.gpr[20] << 4u); ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1632)); ctx.gpr[5] = (ctx.gpr[20] << 5u); ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] + static_cast(1248)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(8))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(72), std::bit_cast(ctx.fpr[12])); ctx.gpr[5] = (ctx.gpr[29] + static_cast(64)); { 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[16] + 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(48)); { 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); } { 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[20] << 5u); goto L_08823AC4; L_08823AC4: ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1248)); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(30))); aot_mem.aot_store8(ctx.gpr[17] + static_cast(325), static_cast(ctx.gpr[4])); 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] ^ 2u); 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_08823AF4; } goto L_08823AF0; } L_08823AF0: aot_mem.aot_store32(ctx.gpr[17] + static_cast(576), ctx.gpr[16]); goto L_08823AF4; L_08823AF4: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[20]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088239D8; } goto L_08823B04; } L_08823B04: { const bool branch_taken = static_cast(ctx.gpr[19]) > 0; // nop if (branch_taken) { goto L_08823B14; } goto L_08823B0C; } L_08823B0C: { const bool branch_taken = static_cast(ctx.gpr[18]) <= 0; // nop if (branch_taken) { goto L_08823BB8; } goto L_08823B14; } L_08823B14: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08823B20u); ctx.gpr[5] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0130_entry, 130u, 252u, 0x08A0E044u>(ctx, &aot_mem) && ctx.pc == 0x08823B20u) goto L_08823B20; return; L_08823B20: 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] ^ 2u); 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_08823B48; } goto L_08823B3C; } L_08823B3C: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08823B48u); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0130_entry, 130u, 252u, 0x08A0E044u>(ctx, &aot_mem) && ctx.pc == 0x08823B48u) goto L_08823B48; return; L_08823B48: { const bool branch_taken = static_cast(ctx.gpr[19]) <= 0; // nop if (branch_taken) { goto L_08823BB8; } goto L_08823B50; } L_08823B50: 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] ^ 2u); 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_08823B98; } goto L_08823B6C; } L_08823B6C: 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] ^ 8u); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08823BB8; } goto L_08823B88; } L_08823B88: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[16] + static_cast(322)))))); ctx.gpr[4] = (ctx.gpr[4] & 4u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08823BB8; } goto L_08823B98; } L_08823B98: ctx.gpr[4] = (0u | 1u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(72))); ctx.gpr[4] = (ctx.gpr[4] & 1u); ctx.gpr[6] = (0u + static_cast(-3)); ctx.gpr[5] = (ctx.gpr[5] & ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[4] << 1u); ctx.gpr[4] = (ctx.gpr[5] | ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[17] + static_cast(72), ctx.gpr[4]); goto L_08823BB8; L_08823BB8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_08823BC0; } goto L_08823BC0; } L_08823BC0: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(96))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(100))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(104))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(108))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(112))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(116))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(128)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_08823BE0: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-240)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(212), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(204), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(208), ctx.gpr[18]); ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(192), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(196), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(200), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(216), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(220), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(224), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[19] == 0u; ctx.gpr[16] = (ctx.gpr[4] | 0u); if (branch_taken) { (void)rt.invoke_chained_direct<&recomp_unit_0008_entry, 8u, 36u, 0x088243A8u>(ctx, &aot_mem); return; } goto L_08823C1C; } L_08823C1C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(0))); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast(84))); ctx.gpr[6] = (2227u << 16u); ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast(20720))); { const bool branch_taken = ctx.gpr[5] == ctx.gpr[6]; ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(8))); if (branch_taken) { (void)rt.invoke_chained_direct<&recomp_unit_0008_entry, 8u, 35u, 0x088243A0u>(ctx, &aot_mem); return; } goto L_08823C34; } L_08823C34: ctx.gpr[5] = (2227u << 16u); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast(20720))); ctx.gpr[6] = (ctx.gpr[16] + static_cast(48)); aot_mem.aot_store16(ctx.gpr[4] + static_cast(84), static_cast(ctx.gpr[5])); ctx.fpr[13] = std::bit_cast(0u); ctx.gpr[5] = (ctx.gpr[4] + static_cast(48)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); 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_08823C68; } goto L_08823C68; L_08823C68: ctx.gpr[5] = (16672u << 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(); ctx.gpr[5] = (ctx.gpr[16] + static_cast(48)); if (branch_taken) { (void)rt.invoke_chained_direct<&recomp_unit_0008_entry, 8u, 35u, 0x088243A0u>(ctx, &aot_mem); return; } goto L_08823C80; } L_08823C80: ctx.fpr[13] = std::bit_cast(0u); ctx.gpr[6] = (ctx.gpr[4] + static_cast(48)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(4))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[6] + static_cast(4))); 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_08823CA4; } goto L_08823CA4; L_08823CA4: ctx.gpr[5] = (16672u << 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) { (void)rt.invoke_chained_direct<&recomp_unit_0008_entry, 8u, 35u, 0x088243A0u>(ctx, &aot_mem); return; } goto L_08823CBC; } L_08823CBC: ctx.gpr[5] = (ctx.gpr[4] | 0u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(836))); { const bool branch_taken = ctx.gpr[6] != 0u; // nop if (branch_taken) { goto L_08823CD8; } goto L_08823CCC; } L_08823CCC: ctx.gpr[18] = (ctx.gpr[4] | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08823CF0; } goto L_08823CD8; } L_08823CD8: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(836))); ctx.gpr[7] = (0u | 5u); if (ctx.gpr[6] != ctx.gpr[7]) { ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(112))); goto L_08823CF4; } goto L_08823CE8; L_08823CE8: ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (ctx.gpr[4] | 0u); goto L_08823CF0; L_08823CF0: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(112))); goto L_08823CF4; L_08823CF4: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(116))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (15692u << 16u); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[14])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { (void)rt.invoke_chained_direct<&recomp_unit_0008_entry, 8u, 35u, 0x088243A0u>(ctx, &aot_mem); return; } goto L_08823D20; } L_08823D20: { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { (void)rt.invoke_chained_direct<&recomp_unit_0008_entry, 8u, 12u, 0x0882410Cu>(ctx, &aot_mem); return; } goto L_08823D28; } L_08823D28: ctx.gpr[20] = (0u | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[20]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { (void)rt.invoke_chained_direct<&recomp_unit_0008_entry, 8u, 35u, 0x088243A0u>(ctx, &aot_mem); return; } goto L_08823D38; } L_08823D38: ctx.gpr[4] = (ctx.gpr[20] + ctx.gpr[18]); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(1452))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { (void)rt.invoke_chained_direct<&recomp_unit_0008_entry, 8u, 10u, 0x088240F4u>(ctx, &aot_mem); return; } goto L_08823D48; } L_08823D48: ctx.gpr[4] = (ctx.gpr[20] << 2u); ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(1376))); 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) { (void)rt.invoke_chained_direct<&recomp_unit_0008_entry, 8u, 10u, 0x088240F4u>(ctx, &aot_mem); return; } goto L_08823D6C; } L_08823D6C: ctx.gpr[4] = (ctx.gpr[20] | 0u); 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_08823DF4; } goto L_08823D7C; } L_08823D7C: { const bool branch_taken = static_cast(ctx.gpr[4]) < 0; // nop if (branch_taken) { goto L_08823F2C; } goto L_08823D84; } L_08823D84: { const bool branch_taken = static_cast(ctx.gpr[4]) > 0; // nop if (branch_taken) { goto L_08823E68; } goto L_08823D8C; } L_08823D8C: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[18] + static_cast(88)))))); ctx.gpr[5] = (ctx.gpr[4] << 2u); ctx.gpr[6] = (2229u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(-11604))); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(20))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(32)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[6] + 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[4] = (ctx.gpr[4] + static_cast(32)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(112), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(116), std::bit_cast(ctx.fpr[13])); ctx.fpr[12] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(120), std::bit_cast(ctx.fpr[12])); 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<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])); } { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08823F2C; } goto L_08823DF4; } L_08823DF4: { const bool branch_taken = ctx.gpr[5] != 0u; ctx.gpr[4] = (static_cast(ctx.gpr[4]) < 4 ? 1u : 0u); if (branch_taken) { goto L_08823ED0; } goto L_08823DFC; } L_08823DFC: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08823F2C; } goto L_08823E04; } L_08823E04: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[18] + static_cast(88)))))); ctx.gpr[5] = (ctx.gpr[4] << 2u); ctx.gpr[6] = (2229u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(-11604))); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(20))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(32)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[6] + 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[4] = (ctx.gpr[4] + static_cast(16)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(112), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(116), std::bit_cast(ctx.fpr[13])); ctx.fpr[12] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(120), std::bit_cast(ctx.fpr[12])); 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<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])); } { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08823F2C; } goto L_08823E68; } L_08823E68: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[18] + static_cast(88)))))); ctx.gpr[5] = (ctx.gpr[4] << 2u); ctx.gpr[6] = (2229u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(-11604))); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(20))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(32)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[6] + 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[4] = (ctx.gpr[4] + static_cast(16)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(112), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(116), std::bit_cast(ctx.fpr[13])); ctx.fpr[12] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(120), std::bit_cast(ctx.fpr[12])); 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<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])); } { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_08823F2C; } goto L_08823ED0; } L_08823ED0: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[18] + static_cast(88)))))); ctx.gpr[5] = (ctx.gpr[4] << 2u); ctx.gpr[6] = (2229u << 16u); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(-11604))); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(20))); ctx.gpr[5] = (ctx.gpr[5] + static_cast(32)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[6] + 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[4] = (ctx.gpr[4] + static_cast(32)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(112), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(116), std::bit_cast(ctx.fpr[13])); ctx.fpr[12] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(120), std::bit_cast(ctx.fpr[12])); 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<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])); } goto L_08823F2C; L_08823F2C: ctx.gpr[21] = (ctx.gpr[29] + static_cast(80)); ctx.gpr[6] = (ctx.gpr[29] + static_cast(32)); ctx.gpr[4] = (ctx.gpr[21] | 0u); ctx.gpr[31] = (0x08823F40u); ctx.gpr[5] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0001_entry, 1u, 261u, 0x0880A85Cu>(ctx, &aot_mem) && ctx.pc == 0x08823F40u) goto L_08823F40; return; L_08823F40: { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[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(56))); ctx.gpr[4] = (ctx.gpr[16] + static_cast(48)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(8))); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13]; ctx.fpr[14] = std::bit_cast(0u); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[14])); // nop if (ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) ^ 0x80000000u); goto L_08823F70; } goto L_08823F70; L_08823F70: ctx.gpr[4] = (16384u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[4] = (ctx.gpr[16] + static_cast(48)); if (branch_taken) { (void)rt.invoke_chained_direct<&recomp_unit_0008_entry, 8u, 10u, 0x088240F4u>(ctx, &aot_mem); return; } goto L_08823F88; } L_08823F88: 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[4] + static_cast(0))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(52))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13]; ctx.fpr[14] = ctx.fpr[14] - ctx.fpr[15]; ctx.gpr[4] = (16256u << 16u); { 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[16] = std::bit_cast(ctx.gpr[4]); 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) { (void)rt.invoke_chained_direct<&recomp_unit_0008_entry, 8u, 10u, 0x088240F4u>(ctx, &aot_mem); return; } goto L_08823FC4; } L_08823FC4: ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(-29516))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_08823FF8; } goto L_08823FD4; } L_08823FD4: ctx.gpr[4] = (0u | 1u); ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[5] = (ctx.gpr[20] + ctx.gpr[18]); aot_mem.aot_store8(ctx.gpr[5] + static_cast(1452), static_cast(ctx.gpr[4])); ctx.gpr[4] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(96))); ctx.gpr[6] = (0u | 165u); ctx.gpr[31] = (0x08823FF8u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-8107)); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 102u, 0x0886477Cu>(ctx, &aot_mem) && ctx.pc == 0x08823FF8u) goto L_08823FF8; return; L_08823FF8: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(208))); ctx.gpr[4] = (17402u << 16u); ctx.pc = 0x08824000u; return; } void recomp_unit_0007(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0007_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_7(Runtime &runtime) { runtime.register_generated_unit(7u, 0x08820000u, 16384u, &recomp_unit_0007, &recomp_unit_0007_entry); runtime.register_function(0x08820000u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820014u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820034u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820044u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820064u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820070u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820098u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088200A0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088200ACu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088200D0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088200D8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088200FCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820118u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088201A0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088201B4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088201D0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088201DCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088201E4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088201ECu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088201F4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820204u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882020Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820228u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820238u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820240u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820250u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820270u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882027Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820288u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088202A4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088202B4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088202CCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088202D4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088202E0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820310u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820324u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882033Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088203D8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088203E0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820418u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820420u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820460u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820468u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820470u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820478u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820480u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820494u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088204ACu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088204E4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088204ECu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088204FCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820504u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882050Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820514u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820524u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820528u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820560u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882058Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820594u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088205A0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088205BCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088205C4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088205D4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088205ECu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088205FCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820614u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820620u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882063Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820644u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882065Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820660u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820678u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820680u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820690u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088206ACu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088206BCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088206D4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088206E0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088206FCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820704u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882071Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820724u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820730u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882074Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820754u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820764u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820784u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820788u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088207A0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088207A8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088207B8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088207DCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088207E4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088207F8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088208B0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088208B8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088208E8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882090Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820918u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820944u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820950u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820964u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820970u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820984u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088209A4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088209ACu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088209B4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088209BCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088209F4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820A24u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820A34u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820AF0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820B44u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820B94u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820B9Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820BB0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820BF0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820C08u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820C6Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820C74u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820C98u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820CA0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820CA8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820CCCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820CD0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820D2Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820D44u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820DBCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820DCCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820E2Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820E4Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820E88u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820EC0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820ED0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820F20u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820F58u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820F94u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820FC8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08820FFCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882101Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821050u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882105Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882107Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882108Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821094u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821098u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088210B0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088210CCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088210E0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088210E8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088210F8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821104u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882110Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821154u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821294u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088212A4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088212B8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088212C0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821314u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882131Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821330u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821338u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882135Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821378u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821380u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821388u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821390u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821394u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882149Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088214F4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821544u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821554u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821564u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821574u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882157Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821594u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088215A0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088215BCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088215C8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088215D0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088215D8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088215F4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882160Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882165Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821680u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882169Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088216A4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088216ACu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088216BCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088216CCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088216E0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088216E8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088216F0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882171Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821720u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821730u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821740u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882174Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821754u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821764u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821778u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821788u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821790u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821798u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088217A0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088217A8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088217BCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088217DCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821804u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882180Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821840u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821848u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821854u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821864u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821878u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088218BCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088218E0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088218F4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821904u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821918u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821920u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821928u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821930u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821938u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821944u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882194Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821954u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821970u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821984u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088219A0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088219B0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088219B8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088219D8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088219E0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088219E8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088219F0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821A00u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821A14u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821A20u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821A28u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821A30u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821A4Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821A84u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821A8Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821A9Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821AA8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821AC4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821AE0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821B10u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821B20u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821B2Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821B34u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821B44u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821B5Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821B80u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821B90u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821BA0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821BB4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821BBCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821BD0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821BDCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821BE4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821BF0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821BF8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821C1Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821C2Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821C3Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821C4Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821C60u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821C68u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821C7Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821C84u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821CA8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821CB8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821CC8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821CDCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821CE4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821CF8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821D04u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821D0Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821D18u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821D20u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821D44u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821D54u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821D64u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821D78u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821D80u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821D94u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821D9Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821DC0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821DD0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821DE0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821DF4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821DFCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821E10u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821E18u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821E3Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821E4Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821E5Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821E70u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821E78u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821E8Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821E94u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821EB8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821EC8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821ED8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821EECu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821EF4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821F08u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821F10u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821F34u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821F44u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821F54u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821F68u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821F70u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821F84u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821F8Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821FB0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821FC0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821FD0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821FE4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08821FECu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822000u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822008u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882202Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882203Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882204Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822060u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822068u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882207Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822084u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088220A8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088220B8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088220C8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088220DCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088220E4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088220F8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822100u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822124u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822134u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822144u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822158u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822160u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822174u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882217Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882218Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088221A0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088221A8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088221B8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088221D0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088221DCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088221E4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088221F0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822214u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822220u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822238u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822244u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822254u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822264u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822270u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822284u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882229Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088222A8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088222B4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088222D0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088222D8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088222E0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088222F0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088222FCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822304u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822310u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882231Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822324u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822330u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822334u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822348u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822350u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822360u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882237Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822394u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088223A4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088223B0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088223B8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088223C0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088223DCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088223F4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822408u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822420u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822428u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822434u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822444u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882245Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822464u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822470u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882248Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822494u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088224A4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088224C0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088224C8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088224D4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088224E0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088224F4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822500u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822508u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822518u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822534u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822540u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822548u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822564u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822570u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882257Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822584u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882258Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088225ACu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088225BCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088225D0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088225F4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822610u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822624u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882264Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822660u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882266Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822674u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882268Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088226B0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088226B8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088226C8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088226F8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822728u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882273Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822748u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822754u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822760u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822764u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882276Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822790u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882279Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088227A8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088227C4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088227E0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088227F4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088227FCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822800u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882280Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822810u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822824u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822830u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822838u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822854u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822868u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822870u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822874u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822880u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822884u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882288Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822898u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088228B0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822930u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822938u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822950u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822958u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882296Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822990u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822994u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088229B4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822A44u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822A84u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822A8Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822A94u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822AD4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822AD8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822ADCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822AECu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822AF4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822B04u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822B38u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822B4Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822B68u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822B84u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822B90u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822BA0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822BE4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822C40u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822C48u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822C8Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822C98u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822CACu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822CC0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822CE0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822D2Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822D3Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822D50u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822D64u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822D68u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822D74u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822D7Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822D84u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822D90u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822D98u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822DA4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822DB0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822DB8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822DC0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822DC8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822DD8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822DE0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822DECu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822DFCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822E1Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822E7Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822E84u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822E88u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822F04u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08822F84u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823024u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823034u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823048u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823050u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823054u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882305Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823064u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088230ACu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088230B0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088230CCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088230D8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882311Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823124u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882315Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823168u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882317Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882318Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823194u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882319Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088231B8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823218u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823220u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823224u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088232A0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823320u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088233C0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088233D0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088233E4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088233ECu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088233F0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088233F8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823400u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823448u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882344Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882346Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823478u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088234BCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088234C4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088234FCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823508u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882351Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882352Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823534u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882353Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823548u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823554u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882355Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882356Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823578u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882357Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088235B0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088235B8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088235D4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823620u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823638u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882364Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823654u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823664u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823674u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823690u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088236A8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088236C4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088236D8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088236F4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088236F8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823720u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823734u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882373Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882374Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882375Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823778u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823790u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088237ACu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088237C0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088237DCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088237E0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823808u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823850u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823888u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823894u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088238A4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088238D0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088238ECu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882391Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882392Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823948u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823958u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823974u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x0882397Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088239B0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088239BCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088239C8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088239D8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x088239FCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823A1Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823A38u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823A54u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823A6Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823AC4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823AF0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823AF4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823B04u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823B0Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823B14u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823B20u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823B3Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823B48u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823B50u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823B6Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823B88u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823B98u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823BB8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823BC0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823BE0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823C1Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823C34u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823C68u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823C80u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823CA4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823CBCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823CCCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823CD8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823CE8u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823CF0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823CF4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823D20u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823D28u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823D38u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823D48u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823D6Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823D7Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823D84u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823D8Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823DF4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823DFCu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823E04u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823E68u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823ED0u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823F2Cu, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823F40u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823F70u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823F88u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823FC4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823FD4u, &recomp_unit_0007, "recomp_unit_0007"); runtime.register_function(0x08823FF8u, &recomp_unit_0007, "recomp_unit_0007"); } } // namespace psprecomp