#include "psprecomp/runtime.hpp" #include "generated_units.hpp" #include #include #include #include namespace psprecomp { static const std::uint16_t kEntryIds_recomp_unit_0058[4083] = { 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 7, 0, 8, 0, 9, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 12, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 19, 0, 0, 0, 20, 0, 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 28, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 41, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 45, 0, 46, 0, 47, 0, 0, 48, 49, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 55, 0, 56, 0, 57, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 73, 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 75, 0, 0, 76, 0, 77, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 82, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 85, 0, 86, 0, 0, 87, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 91, 0, 0, 0, 0, 0, 0, 92, 0, 93, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 101, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 108, 109, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, 113, 0, 0, 0, 0, 0, 114, 0, 115, 0, 116, 0, 117, 118, 0, 0, 0, 119, 0, 120, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 123, 0, 124, 125, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 0, 0, 0, 128, 0, 129, 130, 0, 131, 0, 0, 0, 0, 0, 132, 0, 0, 133, 0, 134, 135, 0, 0, 0, 136, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 139, 0, 140, 0, 141, 142, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 145, 0, 146, 0, 147, 0, 0, 148, 0, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 153, 0, 154, 0, 155, 0, 156, 0, 0, 157, 0, 0, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, 166, 0, 0, 0, 0, 0, 0, 0, 167, 0, 168, 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, 0, 0, 0, 0, 0, 171, 0, 172, 173, 0, 174, 0, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, 177, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 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, 0, 0, 0, 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, 0, 0, 0, 0, 194, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 199, 0, 0, 200, 0, 0, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 204, 0, 205, 0, 0, 0, 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 209, 0, 0, 0, 210, 0, 211, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0, 0, 0, 0, 213, 0, 214, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 220, 0, 221, 0, 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, 224, 0, 0, 0, 225, 0, 0, 226, 0, 227, 0, 228, 0, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 0, 235, 0, 236, 0, 237, 0, 0, 0, 238, 0, 239, 0, 0, 240, 0, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 242, 0, 243, 0, 244, 0, 0, 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, 0, 0, 0, 0, 249, 0, 250, 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 254, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 259, 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, 0, 0, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 264, 0, 0, 0, 265, 266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, 0, 270, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, 0, 272, 0, 273, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0, 0, 0, 276, 0, 0, 277, 0, 0, 0, 0, 278, 0, 0, 0, 0, 279, 0, 0, 280, 0, 0, 0, 0, 0, 0, 281, 0, 0, 0, 0, 282, 0, 0, 0, 0, 283, 0, 0, 284, 0, 285, 0, 0, 0, 0, 286, 0, 0, 287, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 289, 0, 290, 0, 0, 0, 0, 0, 0, 291, 0, 0, 292, 0, 0, 0, 0, 0, 0, 0, 293, 0, 0, 0, 294, 0, 0, 295, 0, 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, 300, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 304, 305, 0, 306, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 313, 0, 0, 0, 0, 314, 0, 0, 315, 0, 0, 0, 0, 0, 0, 316, 0, 0, 0, 0, 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, 319, 0, 0, 0, 320, 0, 321, 0, 322, 0, 323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 329, 0, 0, 330, 0, 331, 0, 0, 0, 0, 332, 0, 0, 333, 0, 334, 0, 335, 0, 336, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 338, 0, 339, 0, 0, 0, 340, 0, 341, 0, 342, 0, 343, 0, 344, 0, 345, 346, 0, 347, 0, 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 0, 0, 0, 351, 352, 0, 353, 0, 0, 0, 354, 0, 355, 0, 356, 0, 357, 0, 358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 359, 0, 360, 0, 0, 0, 0, 0, 0, 0, 361, 0, 362, 0, 0, 0, 0, 0, 0, 363, 364, 0, 0, 0, 0, 0, 0, 0, 365, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 367, 0, 0, 0, 368, 369, 0, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 0, 372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 0, 0, 0, 0, 0, 376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 378, 0, 0, 379, 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 383, 0, 0, 0, 384, 385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 0, 0, 0, 0, 0, 393, 0, 0, 394, 0, 395, 0, 396, 0, 397, 0, 398, 0, 399, 0, 0, 0, 0, 0, 400, 0, 0, 0, 0, 0, 0, 401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 403, 0, 404, 0, 0, 405, 0, 406, 0, 407, 0, 0, 0, 0, 408, 0, 0, 0, 0, 0, 409, 0, 0, 0, 410, 0, 0, 0, 0, 0, 0, 0, 411, 0, 412, 0, 413, 0, 0, 414, 0, 415, 0, 416, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 0, 421, 0, 0, 0, 422, 0, 0, 423, 0, 424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 425, 0, 0, 0, 0, 426, 0, 0, 0, 0, 427, 0, 0, 0, 0, 428, 0, 0, 0, 429, 0, 430, 431, 0, 0, 432, 433, 434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 435, 0, 0, 0, 436, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 0, 438, 0, 0, 439, 0, 0, 0, 440, 0, 0, 0, 0, 0, 441, 0, 0, 442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0, 444, 0, 0, 445, 0, 446, 0, 0, 0, 0, 0, 0, 447, 0, 0, 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 449, 0, 0, 0, 450, 0, 451, 452, 0, 0, 0, 0, 453, 454, 0, 455, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0, 0, 457, 0, 0, 0, 0, 0, 458, 0, 0, 459, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0, 461, 0, 0, 462, 0, 0, 463, 0, 0, 0, 0, 0, 464, 0, 0, 465, 0, 0, 0, 0, 0, 0, 0, 0, 466, 0, 0, 0, 467, 0, 468, 469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 470, 0, 0, 471, 0, 472, 0, 0, 0, 0, 473, 0, 0, 0, 0, 0, 0, 0, 0, 474, 0, 0, 475, 0, 0, 0, 0, 476, 0, 0, 0, 477, 0, 0, 478, 0, 0, 479, 0, 0, 0, 480, 0, 0, 481, 0, 0, 0, 482, 0, 0, 483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 484, 0, 485, 0, 0, 0, 0, 486, 0, 487, 0, 0, 0, 0, 0, 0, 0, 488, 0, 0, 489, 0, 490, 0, 0, 491, 0, 0, 0, 0, 0, 0, 0, 492, 0, 0, 493, 0, 0, 0, 0, 0, 0, 0, 494, 0, 495, 0, 0, 0, 0, 0, 496, 0, 0, 0, 0, 497, 0, 0, 498, 0, 0, 0, 0, 0, 0, 499, 0, 0, 500, 0, 0, 501, 0, 0, 0, 0, 0, 502, 0, 0, 503, 504, 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, 506, 0, 0, 507, 0, 0, 508, 0, 0, 0, 0, 0, 509, 0, 0, 510, 511, 0, 0, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 513, 0, 514, 0, 515, 0, 0, 0, 0, 0, 0, 516, 0, 517, 518, 0, 0, 0, 0, 0, 0, 0, 519, 0, 0, 520, 0, 521, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0, 526, 0, 527, 0, 0, 0, 0, 0, 0, 528, 0, 529, 530, 0, 0, 0, 0, 0, 0, 0, 531, 0, 0, 532, 0, 533, 0, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 0, 0, 0, 0, 536, 0, 0, 0, 0, 537, 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, 539, 0, 0, 0, 540, 0, 541, 0, 0, 0, 0, 0, 0, 0, 542, 0, 543, 0, 0, 0, 0, 544, 0, 545, 0, 0, 546, 0, 0, 547, 0, 548, 0, 549, 0, 0, 0, 0, 550, 0, 551, 0, 0, 0, 0, 552, 0, 0, 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, 0, 0, 555, 0, 0, 0, 0, 556, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 559, 0, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 561, 0, 0, 0, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 563, 0, 0, 564, 0, 0, 565, 0, 0, 566, 0, 0, 567, 0, 568, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 0, 0, 571, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573, 0, 0, 574, 0, 0, 0, 0, 575, 0, 0, 0, 0, 576, 0, 0, 577, 0, 0, 0, 578, 0, 0, 579, 0, 0, 0, 0, 0, 580, 0, 0, 581, 0, 582, 0, 583, 0, 584, 0, 0, 0, 0, 0, 0, 0, 585, 0, 0, 586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 587, 0, 0, 588, 0, 0, 589, 0, 590, 0, 0, 0, 0, 591, 0, 0, 0, 592, 0, 0, 0, 593, 0, 594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 595, 0, 0, 596, 0, 0, 0, 0, 597, 0, 0, 598, 0, 0, 599, 0, 0, 600, 0, 0, 601, 0, 0, 602, 0, 0, 603, 0, 0, 0, 0, 0, 604, 605, 0, 0, 0, 606, 607, 0, 0, 608, 0, 609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 610, 0, 0, 0, 0, 0, 0, 0, 0, 611, 0, 0, 0, 0, 0, 0, 0, 0, 612, 613, 0, 614, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0, 0, 617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0, 621, 0, 0, 0, 0, 0, 0, 0, 622, 0, 0, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 625, 0, 626, 0, 0, 0, 627, 0, 0, 628, 629, 0, 0, 630, 0, 0, 0, 0, 0, 0, 0, 631, 0, 632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 633, 0, 0, 0, 0, 0, 0, 634, 0, 635, 0, 0, 0, 636, 0, 0, 0, 0, 0, 637, 0, 0, 638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 639, 0, 0, 0, 0, 0, 640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 642, 0, 643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 644, 645, }; void recomp_unit_0058_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 - 0x088EC000u; entry_id = (entry_delta < 16332u && (entry_delta & 3u) == 0u) ? kEntryIds_recomp_unit_0058[entry_delta >> 2u] : 0u; } switch (entry_id) { case 1u: goto L_088EC000; case 2u: goto L_088EC01C; case 3u: goto L_088EC034; case 4u: goto L_088EC040; case 5u: goto L_088EC07C; case 6u: goto L_088EC0B4; case 7u: goto L_088EC0C4; case 8u: goto L_088EC0CC; case 9u: goto L_088EC0D4; case 10u: goto L_088EC0D8; case 11u: goto L_088EC124; case 12u: goto L_088EC13C; case 13u: goto L_088EC148; case 14u: goto L_088EC184; case 15u: goto L_088EC194; case 16u: goto L_088EC274; case 17u: goto L_088EC27C; case 18u: goto L_088EC31C; case 19u: goto L_088EC324; case 20u: goto L_088EC334; case 21u: goto L_088EC33C; case 22u: goto L_088EC340; case 23u: goto L_088EC368; case 24u: goto L_088EC39C; case 25u: goto L_088EC3A4; case 26u: goto L_088EC440; case 27u: goto L_088EC480; case 28u: goto L_088EC488; case 29u: goto L_088EC490; case 30u: goto L_088EC4C8; case 31u: goto L_088EC4E0; case 32u: goto L_088EC508; case 33u: goto L_088EC51C; case 34u: goto L_088EC540; case 35u: goto L_088EC568; case 36u: goto L_088EC5A8; case 37u: goto L_088EC5B8; case 38u: goto L_088EC5D4; case 39u: goto L_088EC5F0; case 40u: goto L_088EC618; case 41u: goto L_088EC638; case 42u: goto L_088EC640; case 43u: goto L_088EC714; case 44u: goto L_088EC73C; case 45u: goto L_088EC74C; case 46u: goto L_088EC754; case 47u: goto L_088EC75C; case 48u: goto L_088EC768; case 49u: goto L_088EC76C; case 50u: goto L_088EC780; case 51u: goto L_088EC800; case 52u: goto L_088EC820; case 53u: goto L_088EC844; case 54u: goto L_088EC860; case 55u: goto L_088EC870; case 56u: goto L_088EC878; case 57u: goto L_088EC880; case 58u: goto L_088EC898; case 59u: goto L_088EC8B0; case 60u: goto L_088EC8C8; case 61u: goto L_088EC8E0; case 62u: goto L_088EC8F8; case 63u: goto L_088EC910; case 64u: goto L_088EC928; case 65u: goto L_088EC940; case 66u: goto L_088EC958; case 67u: goto L_088EC970; case 68u: goto L_088EC988; case 69u: goto L_088EC9D0; case 70u: goto L_088ECA0C; case 71u: goto L_088ECA58; case 72u: goto L_088ECA88; case 73u: goto L_088ECA90; case 74u: goto L_088ECAB0; case 75u: goto L_088ECACC; case 76u: goto L_088ECAD8; case 77u: goto L_088ECAE0; case 78u: goto L_088ECAE4; case 79u: goto L_088ECB20; case 80u: goto L_088ECBA8; case 81u: goto L_088ECBEC; case 82u: goto L_088ECC04; case 83u: goto L_088ECC0C; case 84u: goto L_088ECC7C; case 85u: goto L_088ECC84; case 86u: goto L_088ECC8C; case 87u: goto L_088ECC98; case 88u: goto L_088ECCA0; case 89u: goto L_088ECCE4; case 90u: goto L_088ECD38; case 91u: goto L_088ECD44; case 92u: goto L_088ECD60; case 93u: goto L_088ECD68; case 94u: goto L_088ECD70; case 95u: goto L_088ECD98; case 96u: goto L_088ECDF4; case 97u: goto L_088ECE14; case 98u: goto L_088ECE38; case 99u: goto L_088ECE50; case 100u: goto L_088ECEB0; case 101u: goto L_088ECEC4; case 102u: goto L_088ECED8; case 103u: goto L_088ECF34; case 104u: goto L_088ECF50; case 105u: goto L_088ECF64; case 106u: goto L_088ECF80; case 107u: goto L_088ECF94; case 108u: goto L_088ECFB4; case 109u: goto L_088ECFB8; case 110u: goto L_088ECFC0; case 111u: goto L_088ECFE4; case 112u: goto L_088ED00C; case 113u: goto L_088ED014; case 114u: goto L_088ED02C; case 115u: goto L_088ED034; case 116u: goto L_088ED03C; case 117u: goto L_088ED044; case 118u: goto L_088ED048; case 119u: goto L_088ED058; case 120u: goto L_088ED060; case 121u: goto L_088ED068; case 122u: goto L_088ED098; case 123u: goto L_088ED0A8; case 124u: goto L_088ED0B0; case 125u: goto L_088ED0B4; case 126u: goto L_088ED0BC; case 127u: goto L_088ED0EC; case 128u: goto L_088ED0FC; case 129u: goto L_088ED104; case 130u: goto L_088ED108; case 131u: goto L_088ED110; case 132u: goto L_088ED128; case 133u: goto L_088ED134; case 134u: goto L_088ED13C; case 135u: goto L_088ED140; case 136u: goto L_088ED150; case 137u: goto L_088ED164; case 138u: goto L_088ED17C; case 139u: goto L_088ED194; case 140u: goto L_088ED19C; case 141u: goto L_088ED1A4; case 142u: goto L_088ED1A8; case 143u: goto L_088ED1B0; case 144u: goto L_088ED1E0; case 145u: goto L_088ED1EC; case 146u: goto L_088ED1F4; case 147u: goto L_088ED1FC; case 148u: goto L_088ED208; case 149u: goto L_088ED210; case 150u: goto L_088ED218; case 151u: goto L_088ED228; case 152u: goto L_088ED238; case 153u: goto L_088ED240; case 154u: goto L_088ED248; case 155u: goto L_088ED250; case 156u: goto L_088ED258; case 157u: goto L_088ED264; case 158u: goto L_088ED270; case 159u: goto L_088ED27C; case 160u: goto L_088ED288; case 161u: goto L_088ED28C; case 162u: goto L_088ED294; case 163u: goto L_088ED2C4; case 164u: goto L_088ED2D0; case 165u: goto L_088ED2F8; case 166u: goto L_088ED300; case 167u: goto L_088ED320; case 168u: goto L_088ED328; case 169u: goto L_088ED334; case 170u: goto L_088ED35C; case 171u: goto L_088ED37C; case 172u: goto L_088ED384; case 173u: goto L_088ED388; case 174u: goto L_088ED390; case 175u: goto L_088ED398; case 176u: goto L_088ED3D8; case 177u: goto L_088ED3E0; case 178u: goto L_088ED3E8; case 179u: goto L_088ED454; case 180u: goto L_088ED544; case 181u: goto L_088ED568; case 182u: goto L_088ED5AC; case 183u: goto L_088ED5CC; case 184u: goto L_088ED630; case 185u: goto L_088ED664; case 186u: goto L_088ED68C; case 187u: goto L_088ED71C; case 188u: goto L_088ED72C; case 189u: goto L_088ED758; case 190u: goto L_088ED7C4; case 191u: goto L_088ED7E4; case 192u: goto L_088ED7F4; case 193u: goto L_088ED81C; case 194u: goto L_088ED838; case 195u: goto L_088ED848; case 196u: goto L_088ED874; case 197u: goto L_088ED884; case 198u: goto L_088ED8B4; case 199u: goto L_088ED8D0; case 200u: goto L_088ED8DC; case 201u: goto L_088ED8E8; case 202u: goto L_088ED8F4; case 203u: goto L_088ED91C; case 204u: goto L_088ED93C; case 205u: goto L_088ED944; case 206u: goto L_088ED958; case 207u: goto L_088ED988; case 208u: goto L_088ED9B0; case 209u: goto L_088ED9B8; case 210u: goto L_088ED9C8; case 211u: goto L_088ED9D0; case 212u: goto L_088ED9F4; case 213u: goto L_088EDA10; case 214u: goto L_088EDA18; case 215u: goto L_088EDA20; case 216u: goto L_088EDA48; case 217u: goto L_088EDA64; case 218u: goto L_088EDA88; case 219u: goto L_088EDB08; case 220u: goto L_088EDB10; case 221u: goto L_088EDB18; case 222u: goto L_088EDB2C; case 223u: goto L_088EDB4C; case 224u: goto L_088EDB5C; case 225u: goto L_088EDB6C; case 226u: goto L_088EDB78; case 227u: goto L_088EDB80; case 228u: goto L_088EDB88; case 229u: goto L_088EDB90; case 230u: goto L_088EDB9C; case 231u: goto L_088EDBAC; case 232u: goto L_088EDBB4; case 233u: goto L_088EDBBC; case 234u: goto L_088EDBC4; case 235u: goto L_088EDBCC; case 236u: goto L_088EDBD4; case 237u: goto L_088EDBDC; case 238u: goto L_088EDBEC; case 239u: goto L_088EDBF4; case 240u: goto L_088EDC00; case 241u: goto L_088EDC18; case 242u: goto L_088EDC30; case 243u: goto L_088EDC38; case 244u: goto L_088EDC40; case 245u: goto L_088EDC4C; case 246u: goto L_088EDC6C; case 247u: goto L_088EDC70; case 248u: goto L_088EDC74; case 249u: goto L_088EDC8C; case 250u: goto L_088EDC94; case 251u: goto L_088EDC9C; case 252u: goto L_088EDCCC; case 253u: goto L_088EDCF8; case 254u: goto L_088EDD00; case 255u: goto L_088EDD04; case 256u: goto L_088EDD4C; case 257u: goto L_088EDD64; case 258u: goto L_088EDD94; case 259u: goto L_088EDD9C; case 260u: goto L_088EDDA8; case 261u: goto L_088EDDCC; case 262u: goto L_088EDDDC; case 263u: goto L_088EDE0C; case 264u: goto L_088EDE1C; case 265u: goto L_088EDE2C; case 266u: goto L_088EDE30; case 267u: goto L_088EDE5C; case 268u: goto L_088EDE6C; case 269u: goto L_088EDE94; case 270u: goto L_088EDE9C; case 271u: goto L_088EDEB8; case 272u: goto L_088EDED0; case 273u: goto L_088EDED8; case 274u: goto L_088EDEE8; case 275u: goto L_088EDF60; case 276u: goto L_088EDF78; case 277u: goto L_088EDF84; case 278u: goto L_088EDF98; case 279u: goto L_088EDFAC; case 280u: goto L_088EDFB8; case 281u: goto L_088EDFD4; case 282u: goto L_088EDFE8; case 283u: goto L_088EDFFC; case 284u: goto L_088EE008; case 285u: goto L_088EE010; case 286u: goto L_088EE024; case 287u: goto L_088EE030; case 288u: goto L_088EE048; case 289u: goto L_088EE05C; case 290u: goto L_088EE064; case 291u: goto L_088EE080; case 292u: goto L_088EE08C; case 293u: goto L_088EE0AC; case 294u: goto L_088EE0BC; case 295u: goto L_088EE0C8; case 296u: goto L_088EE0D0; case 297u: goto L_088EE0D4; case 298u: goto L_088EE0D8; case 299u: goto L_088EE0EC; case 300u: goto L_088EE0F8; case 301u: goto L_088EE10C; case 302u: goto L_088EE1AC; case 303u: goto L_088EE1B0; case 304u: goto L_088EE1C0; case 305u: goto L_088EE1C4; case 306u: goto L_088EE1CC; case 307u: goto L_088EE1E4; case 308u: goto L_088EE1FC; case 309u: goto L_088EE208; case 310u: goto L_088EE228; case 311u: goto L_088EE234; case 312u: goto L_088EE264; case 313u: goto L_088EE278; case 314u: goto L_088EE28C; case 315u: goto L_088EE298; case 316u: goto L_088EE2B4; case 317u: goto L_088EE2C8; case 318u: goto L_088EE2F4; case 319u: goto L_088EE314; case 320u: goto L_088EE324; case 321u: goto L_088EE32C; case 322u: goto L_088EE334; case 323u: goto L_088EE33C; case 324u: goto L_088EE368; case 325u: goto L_088EE370; case 326u: goto L_088EE378; case 327u: goto L_088EE380; case 328u: goto L_088EE388; case 329u: goto L_088EE398; case 330u: goto L_088EE3A4; case 331u: goto L_088EE3AC; case 332u: goto L_088EE3C0; case 333u: goto L_088EE3CC; case 334u: goto L_088EE3D4; case 335u: goto L_088EE3DC; case 336u: goto L_088EE3E4; case 337u: goto L_088EE408; case 338u: goto L_088EE410; case 339u: goto L_088EE418; case 340u: goto L_088EE428; case 341u: goto L_088EE430; case 342u: goto L_088EE438; case 343u: goto L_088EE440; case 344u: goto L_088EE448; case 345u: goto L_088EE450; case 346u: goto L_088EE454; case 347u: goto L_088EE45C; case 348u: goto L_088EE47C; case 349u: goto L_088EE490; case 350u: goto L_088EE4CC; case 351u: goto L_088EE4DC; case 352u: goto L_088EE4E0; case 353u: goto L_088EE4E8; case 354u: goto L_088EE4F8; case 355u: goto L_088EE500; case 356u: goto L_088EE508; case 357u: goto L_088EE510; case 358u: goto L_088EE518; case 359u: goto L_088EE544; case 360u: goto L_088EE54C; case 361u: goto L_088EE56C; case 362u: goto L_088EE574; case 363u: goto L_088EE590; case 364u: goto L_088EE594; case 365u: goto L_088EE5B4; case 366u: goto L_088EE5D0; case 367u: goto L_088EE5E4; case 368u: goto L_088EE5F4; case 369u: goto L_088EE5F8; case 370u: goto L_088EE600; case 371u: goto L_088EE62C; case 372u: goto L_088EE634; case 373u: goto L_088EE65C; case 374u: goto L_088EE688; case 375u: goto L_088EE6C0; case 376u: goto L_088EE6D8; case 377u: goto L_088EE708; case 378u: goto L_088EE710; case 379u: goto L_088EE71C; case 380u: goto L_088EE740; case 381u: goto L_088EE750; case 382u: goto L_088EE780; case 383u: goto L_088EE790; case 384u: goto L_088EE7A0; case 385u: goto L_088EE7A4; case 386u: goto L_088EE7D0; case 387u: goto L_088EE7E0; case 388u: goto L_088EE808; case 389u: goto L_088EE824; case 390u: goto L_088EE848; case 391u: goto L_088EE878; case 392u: goto L_088EE8A0; case 393u: goto L_088EE8B8; case 394u: goto L_088EE8C4; case 395u: goto L_088EE8CC; case 396u: goto L_088EE8D4; case 397u: goto L_088EE8DC; case 398u: goto L_088EE8E4; case 399u: goto L_088EE8EC; case 400u: goto L_088EE904; case 401u: goto L_088EE920; case 402u: goto L_088EE960; case 403u: goto L_088EE970; case 404u: goto L_088EE978; case 405u: goto L_088EE984; case 406u: goto L_088EE98C; case 407u: goto L_088EE994; case 408u: goto L_088EE9A8; case 409u: goto L_088EE9C0; case 410u: goto L_088EE9D0; case 411u: goto L_088EE9F0; case 412u: goto L_088EE9F8; case 413u: goto L_088EEA00; case 414u: goto L_088EEA0C; case 415u: goto L_088EEA14; case 416u: goto L_088EEA1C; case 417u: goto L_088EEA3C; case 418u: goto L_088EEA50; case 419u: goto L_088EEA80; case 420u: goto L_088EEAB0; case 421u: goto L_088EEABC; case 422u: goto L_088EEACC; case 423u: goto L_088EEAD8; case 424u: goto L_088EEAE0; case 425u: goto L_088EEC24; case 426u: goto L_088EEC38; case 427u: goto L_088EEC4C; case 428u: goto L_088EEC60; case 429u: goto L_088EEC70; case 430u: goto L_088EEC78; case 431u: goto L_088EEC7C; case 432u: goto L_088EEC88; case 433u: goto L_088EEC8C; case 434u: goto L_088EEC90; case 435u: goto L_088EECC8; case 436u: goto L_088EECD8; case 437u: goto L_088EECEC; case 438u: goto L_088EED08; case 439u: goto L_088EED14; case 440u: goto L_088EED24; case 441u: goto L_088EED3C; case 442u: goto L_088EED48; case 443u: goto L_088EED74; case 444u: goto L_088EED84; case 445u: goto L_088EED90; case 446u: goto L_088EED98; case 447u: goto L_088EEDB4; case 448u: goto L_088EEDC0; case 449u: goto L_088EEDE8; case 450u: goto L_088EEDF8; case 451u: goto L_088EEE00; case 452u: goto L_088EEE04; case 453u: goto L_088EEE18; case 454u: goto L_088EEE1C; case 455u: goto L_088EEE24; case 456u: goto L_088EEE40; case 457u: goto L_088EEE54; case 458u: goto L_088EEE6C; case 459u: goto L_088EEE78; case 460u: goto L_088EEE9C; case 461u: goto L_088EEEAC; case 462u: goto L_088EEEB8; case 463u: goto L_088EEEC4; case 464u: goto L_088EEEDC; case 465u: goto L_088EEEE8; case 466u: goto L_088EEF0C; case 467u: goto L_088EEF1C; case 468u: goto L_088EEF24; case 469u: goto L_088EEF28; case 470u: goto L_088EEF5C; case 471u: goto L_088EEF68; case 472u: goto L_088EEF70; case 473u: goto L_088EEF84; case 474u: goto L_088EEFA8; case 475u: goto L_088EEFB4; case 476u: goto L_088EEFC8; case 477u: goto L_088EEFD8; case 478u: goto L_088EEFE4; case 479u: goto L_088EEFF0; case 480u: goto L_088EF000; case 481u: goto L_088EF00C; case 482u: goto L_088EF01C; case 483u: goto L_088EF028; case 484u: goto L_088EF06C; case 485u: goto L_088EF074; case 486u: goto L_088EF088; case 487u: goto L_088EF090; case 488u: goto L_088EF0B0; case 489u: goto L_088EF0BC; case 490u: goto L_088EF0C4; case 491u: goto L_088EF0D0; case 492u: goto L_088EF0F0; case 493u: goto L_088EF0FC; case 494u: goto L_088EF11C; case 495u: goto L_088EF124; case 496u: goto L_088EF13C; case 497u: goto L_088EF150; case 498u: goto L_088EF15C; case 499u: goto L_088EF178; case 500u: goto L_088EF184; case 501u: goto L_088EF190; case 502u: goto L_088EF1A8; case 503u: goto L_088EF1B4; case 504u: goto L_088EF1B8; case 505u: goto L_088EF1C8; case 506u: goto L_088EF1E4; case 507u: goto L_088EF1F0; case 508u: goto L_088EF1FC; case 509u: goto L_088EF214; case 510u: goto L_088EF220; case 511u: goto L_088EF224; case 512u: goto L_088EF234; case 513u: goto L_088EF274; case 514u: goto L_088EF27C; case 515u: goto L_088EF284; case 516u: goto L_088EF2A0; case 517u: goto L_088EF2A8; case 518u: goto L_088EF2AC; case 519u: goto L_088EF2CC; case 520u: goto L_088EF2D8; case 521u: goto L_088EF2E0; case 522u: goto L_088EF304; case 523u: goto L_088EF310; case 524u: goto L_088EF33C; case 525u: goto L_088EF38C; case 526u: goto L_088EF39C; case 527u: goto L_088EF3A4; case 528u: goto L_088EF3C0; case 529u: goto L_088EF3C8; case 530u: goto L_088EF3CC; case 531u: goto L_088EF3EC; case 532u: goto L_088EF3F8; case 533u: goto L_088EF400; case 534u: goto L_088EF408; case 535u: goto L_088EF430; case 536u: goto L_088EF444; case 537u: goto L_088EF458; case 538u: goto L_088EF490; case 539u: goto L_088EF4D4; case 540u: goto L_088EF4E4; case 541u: goto L_088EF4EC; case 542u: goto L_088EF50C; case 543u: goto L_088EF514; case 544u: goto L_088EF528; case 545u: goto L_088EF530; case 546u: goto L_088EF53C; case 547u: goto L_088EF548; case 548u: goto L_088EF550; case 549u: goto L_088EF558; case 550u: goto L_088EF56C; case 551u: goto L_088EF574; case 552u: goto L_088EF588; case 553u: goto L_088EF594; case 554u: goto L_088EF5C8; case 555u: goto L_088EF5D4; case 556u: goto L_088EF5E8; case 557u: goto L_088EF5F8; case 558u: goto L_088EF628; case 559u: goto L_088EF634; case 560u: goto L_088EF63C; case 561u: goto L_088EF694; case 562u: goto L_088EF6A4; case 563u: goto L_088EF6D4; case 564u: goto L_088EF6E0; case 565u: goto L_088EF6EC; case 566u: goto L_088EF6F8; case 567u: goto L_088EF704; case 568u: goto L_088EF70C; case 569u: goto L_088EF714; case 570u: goto L_088EF7B4; case 571u: goto L_088EF7C0; case 572u: goto L_088EF7D4; case 573u: goto L_088EF804; case 574u: goto L_088EF810; case 575u: goto L_088EF824; case 576u: goto L_088EF838; case 577u: goto L_088EF844; case 578u: goto L_088EF854; case 579u: goto L_088EF860; case 580u: goto L_088EF878; case 581u: goto L_088EF884; case 582u: goto L_088EF88C; case 583u: goto L_088EF894; case 584u: goto L_088EF89C; case 585u: goto L_088EF8BC; case 586u: goto L_088EF8C8; case 587u: goto L_088EF8FC; case 588u: goto L_088EF908; case 589u: goto L_088EF914; case 590u: goto L_088EF91C; case 591u: goto L_088EF930; case 592u: goto L_088EF940; case 593u: goto L_088EF950; case 594u: goto L_088EF958; case 595u: goto L_088EF9F4; case 596u: goto L_088EFA00; case 597u: goto L_088EFA14; case 598u: goto L_088EFA20; case 599u: goto L_088EFA2C; case 600u: goto L_088EFA38; case 601u: goto L_088EFA44; case 602u: goto L_088EFA50; case 603u: goto L_088EFA5C; case 604u: goto L_088EFA74; case 605u: goto L_088EFA78; case 606u: goto L_088EFA88; case 607u: goto L_088EFA8C; case 608u: goto L_088EFA98; case 609u: goto L_088EFAA0; case 610u: goto L_088EFAE0; case 611u: goto L_088EFB04; case 612u: goto L_088EFB28; case 613u: goto L_088EFB2C; case 614u: goto L_088EFB34; case 615u: goto L_088EFC1C; case 616u: goto L_088EFC94; case 617u: goto L_088EFCA8; case 618u: goto L_088EFCE0; case 619u: goto L_088EFD10; case 620u: goto L_088EFD40; case 621u: goto L_088EFD50; case 622u: goto L_088EFD70; case 623u: goto L_088EFD7C; case 624u: goto L_088EFD8C; case 625u: goto L_088EFDA8; case 626u: goto L_088EFDB0; case 627u: goto L_088EFDC0; case 628u: goto L_088EFDCC; case 629u: goto L_088EFDD0; case 630u: goto L_088EFDDC; case 631u: goto L_088EFDFC; case 632u: goto L_088EFE04; case 633u: goto L_088EFE2C; case 634u: goto L_088EFE48; case 635u: goto L_088EFE50; case 636u: goto L_088EFE60; case 637u: goto L_088EFE78; case 638u: goto L_088EFE84; case 639u: goto L_088EFEF4; case 640u: goto L_088EFF0C; case 641u: goto L_088EFF48; case 642u: goto L_088EFF84; case 643u: goto L_088EFF8C; case 644u: goto L_088EFFC4; case 645u: goto L_088EFFC8; default: if (local_transfers == 0u) rt.unsupported(ctx.pc, 0u, "invalid internal function entry"); else ctx.pc = local_pc; return; } } L_088EC000: ctx.gpr[5] = (ctx.gpr[5] << 3u); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[16]; // nop if (branch_taken) { goto L_088EC07C; } goto L_088EC01C; } L_088EC01C: ctx.gpr[4] = (2232u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(12960)); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(127))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1)); if (static_cast(ctx.gpr[4]) >= 0) { ctx.gpr[4] = (ctx.gpr[4] & 1u); goto L_088EC040; } goto L_088EC034; L_088EC034: ctx.gpr[4] = (ctx.gpr[4] & 1u); { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (0u - ctx.gpr[4]); if (branch_taken) { goto L_088EC040; } goto L_088EC040; } L_088EC040: ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[5] = (0u + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 3u); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[5] = (2232u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(12960)); ctx.gpr[5] = (ctx.gpr[5] + static_cast(832)); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EC0B4; } goto L_088EC07C; } L_088EC07C: ctx.gpr[4] = (2232u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(12960)); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(127))); ctx.gpr[5] = (ctx.gpr[5] << 4u); ctx.gpr[6] = (0u + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 3u); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] + static_cast(832)); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); { 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(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } goto L_088EC0B4; L_088EC0B4: ctx.gpr[18] = (0u | 0u); ctx.gpr[4] = (static_cast(ctx.gpr[18]) < 2 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088EC334; } goto L_088EC0C4; } L_088EC0C4: { const bool branch_taken = ctx.gpr[18] != 0u; // nop if (branch_taken) { goto L_088EC0D4; } goto L_088EC0CC; } L_088EC0CC: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 1u); if (branch_taken) { goto L_088EC0D8; } goto L_088EC0D4; } L_088EC0D4: ctx.gpr[19] = (0u + static_cast(-1)); goto L_088EC0D8; L_088EC0D8: ctx.gpr[4] = (17008u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[16] + static_cast(196), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { 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(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<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.gpr[31] = (0x088EC124u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 288u, 0x089D96E8u>(ctx, &aot_mem) && ctx.pc == 0x088EC124u) goto L_088EC124; return; L_088EC124: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); 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(); ctx.gpr[4] = (16585u << 16u); if (branch_taken) { goto L_088EC148; } goto L_088EC13C; } L_088EC13C: ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; goto L_088EC148; L_088EC148: aot_mem.aot_store32(ctx.gpr[16] + static_cast(204), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (ctx.gpr[19] << 6u); ctx.gpr[5] = (ctx.gpr[19] << 4u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); ctx.gpr[4] = (16457u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.gpr[4] = (17204u << 16u); ctx.fpr[15] = std::bit_cast(ctx.gpr[4]); ctx.fpr[22] = ctx.fpr[13] / ctx.fpr[15]; ctx.gpr[31] = (0x088EC184u); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[22]; if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 384u, 0x08AF9AE8u>(ctx, &aot_mem) && ctx.pc == 0x088EC184u) goto L_088EC184; return; L_088EC184: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[31] = (0x088EC194u); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[22]; if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 383u, 0x08AF9AC4u>(ctx, &aot_mem) && ctx.pc == 0x088EC194u) goto L_088EC194; return; L_088EC194: aot_mem.aot_store32(ctx.gpr[29] + static_cast(128), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(132), std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(136), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (std::bit_cast(ctx.fpr[20])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[29] + static_cast(128)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); 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[5] = (ctx.gpr[29] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[16] + static_cast(432)); { 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); } { 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(144)); { 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<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / std::sqrt(vfpu_s[i]); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(48))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(144))); ctx.gpr[6] = (16076u << 16u); ctx.gpr[6] = (ctx.gpr[6] | 52429u); ctx.fpr[14] = std::bit_cast(ctx.gpr[6]); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(48), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = 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[29] + static_cast(148))); { 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[12] + ctx.fpr[14]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(52), std::bit_cast(ctx.fpr[12])); ctx.gpr[2] = (0u | 1u); 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 | 1u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[2]); ctx.gpr[31] = (0x088EC274u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); if (rt.invoke_chained_direct<&recomp_unit_0048_entry, 48u, 339u, 0x088C5B2Cu>(ctx, &aot_mem) && ctx.pc == 0x088EC274u) goto L_088EC274; return; L_088EC274: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088EC324; } goto L_088EC27C; } L_088EC27C: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(440))); ctx.gpr[4] = (16560u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(440), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(48))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(144))); ctx.gpr[4] = (16204u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[15] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[14]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(48), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(52))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(148))); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[15]; 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(52), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(56))); ctx.gpr[4] = (16396u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[14]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(56), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (ctx.gpr[29] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[5] = (ctx.gpr[16] + 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); } ctx.gpr[4] = (ctx.gpr[16] + static_cast(432)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(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])); } { 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(416)); { 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_store8(ctx.gpr[16] + static_cast(26), static_cast(0u)); ctx.gpr[31] = (0x088EC31Cu); ctx.gpr[4] = (ctx.gpr[16] | 0u); goto L_088ECE50; L_088EC31C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_088EC340; } goto L_088EC324; } L_088EC324: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[18]) < 2 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088EC0C4; } goto L_088EC334; } L_088EC334: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_088EC340; } goto L_088EC33C; } L_088EC33C: ctx.gpr[2] = (0u | 1u); goto L_088EC340; L_088EC340: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(256))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(260))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(264))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(268))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(272))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(276))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(280))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(284))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(288)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EC368: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-208)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(184), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(200), ctx.gpr[21]); ctx.gpr[21] = (ctx.gpr[6] | 0u); ctx.gpr[17] = (ctx.gpr[7] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(176), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(180), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(188), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(192), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(196), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(204), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[16] = (ctx.gpr[8] | 0u); if (branch_taken) { goto L_088EC488; } goto L_088EC39C; } L_088EC39C: { const bool branch_taken = ctx.gpr[21] == 0u; // nop if (branch_taken) { goto L_088EC488; } goto L_088EC3A4; } L_088EC3A4: ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[4] = (ctx.gpr[21] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[21] = (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[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[17] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[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<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[20] = (ctx.gpr[29] + static_cast(48)); { 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])); } aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (16256u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), std::bit_cast(ctx.fpr[12])); { 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.gpr[19] = (ctx.gpr[29] + static_cast(16)); { 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<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat(0u, 1u, 2u, 3u); ctx.gpr[4] = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / std::sqrt(vfpu_s[i]); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[5] = (2227u << 16u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(23496))); 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[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[4] = (ctx.gpr[21] | 0u); ctx.gpr[31] = (0x088EC440u); ctx.gpr[5] = (ctx.gpr[19] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 565u, 0x0892753Cu>(ctx, &aot_mem) && ctx.pc == 0x088EC440u) goto L_088EC440; return; L_088EC440: { 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_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[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[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(56))); ctx.gpr[4] = (48949u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 1153u); 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(); ctx.gpr[18] = (2227u << 16u); if (branch_taken) { goto L_088EC490; } goto L_088EC480; } L_088EC480: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EC508; } goto L_088EC488; } L_088EC488: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_088EC5F0; } goto L_088EC490; } L_088EC490: aot_mem.aot_store32(ctx.gpr[29] + static_cast(56), std::bit_cast(ctx.fpr[12])); { 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_vdot_ct<28u, 0u, 0u, 2u>(); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::fabs(std::sqrt(vfpu_s[i])); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (16181u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 1153u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[13]; ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[20])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EC4E0; } goto L_088EC4C8; } L_088EC4C8: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(48))); ctx.fpr[13] = ctx.fpr[13] / ctx.fpr[12]; ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(52))); ctx.fpr[12] = ctx.fpr[14] / ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(48), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(52), std::bit_cast(ctx.fpr[12])); goto L_088EC4E0; L_088EC4E0: { 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_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[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])); } { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EC540; } goto L_088EC508; } L_088EC508: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(56))); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[20])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EC540; } goto L_088EC51C; } L_088EC51C: aot_mem.aot_store32(ctx.gpr[29] + static_cast(56), std::bit_cast(ctx.fpr[20])); { 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_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[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])); } goto L_088EC540; L_088EC540: ctx.gpr[4] = (2227u << 16u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(23492))); 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>(); { 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.gpr[4] = (ctx.gpr[21] | 0u); ctx.gpr[31] = (0x088EC568u); ctx.gpr[5] = (ctx.gpr[19] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 566u, 0x08927554u>(ctx, &aot_mem) && ctx.pc == 0x088EC568u) goto L_088EC568; return; L_088EC568: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[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<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); } { 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])); } { 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_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.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(23504))); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EC5D4; } goto L_088EC5A8; } L_088EC5A8: ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[20])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EC5D4; } goto L_088EC5B8; } L_088EC5B8: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(23504))); ctx.fpr[12] = ctx.fpr[13] / ctx.fpr[12]; ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<1u>(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, 1u, 3u>(); { 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])); } goto L_088EC5D4; L_088EC5D4: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[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); } { 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[2] = (0u | 1u); goto L_088EC5F0; L_088EC5F0: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(176))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(180))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(184))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(188))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(192))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(196))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(200))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(204))); 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_088EC618: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-208)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(196), ctx.gpr[17]); ctx.gpr[4] = (ctx.gpr[6] | 0u); ctx.gpr[17] = (ctx.gpr[7] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(192), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(200), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[16] = (ctx.gpr[8] | 0u); if (branch_taken) { goto L_088EC754; } goto L_088EC638; } L_088EC638: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088EC754; } goto L_088EC640; } L_088EC640: ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } aot_mem.aot_store32(ctx.gpr[29] + static_cast(88), 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<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / std::sqrt(vfpu_s[i]); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[5] = (2227u << 16u); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(22536))); 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[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(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[6] = (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[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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } aot_mem.aot_store32(ctx.gpr[29] + static_cast(48), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(52), std::bit_cast(ctx.fpr[12])); ctx.gpr[7] = (16256u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[7]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(56), 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<1u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<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[6] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (2227u << 16u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(22540))); 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[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.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[31] = (0x088EC714u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 565u, 0x0892753Cu>(ctx, &aot_mem) && ctx.pc == 0x088EC714u) goto L_088EC714; return; L_088EC714: ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(8))); ctx.gpr[4] = (16544u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(8), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store8(ctx.gpr[29] + static_cast(96), static_cast(0u)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(0))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[31] = (0x088EC73Cu); ctx.gpr[4] = (ctx.gpr[29] + static_cast(96)); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 453u, 0x088C2F78u>(ctx, &aot_mem) && ctx.pc == 0x088EC73Cu) goto L_088EC73C; return; L_088EC73C: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast(96))); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[4] = (2227u << 16u); if (branch_taken) { goto L_088EC75C; } goto L_088EC74C; } L_088EC74C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EC768; } goto L_088EC754; } L_088EC754: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_088EC76C; } goto L_088EC75C; } L_088EC75C: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(22544))); ctx.fpr[12] = ctx.fpr[13] + ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(8), std::bit_cast(ctx.fpr[12])); goto L_088EC768; L_088EC768: ctx.gpr[2] = (0u | 1u); goto L_088EC76C; L_088EC76C: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(192))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(196))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(200))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(208)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EC780: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-288)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(232), ctx.gpr[8]); ctx.gpr[2] = (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(272), ctx.gpr[22]); ctx.gpr[22] = (ctx.gpr[7] | 0u); ctx.gpr[2] = (16880u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(248), ctx.gpr[16]); ctx.fpr[12] = std::bit_cast(ctx.gpr[2]); ctx.gpr[16] = (0u | 0u); ctx.gpr[6] = (ctx.gpr[29] + static_cast(112)); ctx.gpr[8] = (ctx.gpr[29] + static_cast(48)); ctx.gpr[4] = (ctx.gpr[22] | 0u); ctx.gpr[5] = (0u | 1u); ctx.gpr[7] = (0u | 15u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(236), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(240), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(244), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(252), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(256), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(260), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(264), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(268), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(276), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(280), ctx.gpr[30]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(284), ctx.gpr[31]); ctx.gpr[31] = (0x088EC800u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(8), 0u); if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 158u, 0x088C0F80u>(ctx, &aot_mem) && ctx.pc == 0x088EC800u) goto L_088EC800; return; L_088EC800: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[29] + static_cast(112)))))); ctx.gpr[5] = (17948u << 16u); ctx.gpr[21] = (0u | 0u); ctx.gpr[5] = (ctx.gpr[5] | 16384u); ctx.fpr[20] = std::bit_cast(ctx.gpr[5]); ctx.gpr[4] = (static_cast(ctx.gpr[21]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; aot_mem.aot_store32(ctx.gpr[29] + static_cast(228), ctx.gpr[16]); if (branch_taken) { goto L_088ECACC; } goto L_088EC820; } L_088EC820: ctx.gpr[4] = (16230u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 26214u); ctx.gpr[30] = (ctx.gpr[29] + static_cast(160)); ctx.fpr[22] = std::bit_cast(ctx.gpr[4]); ctx.gpr[18] = (ctx.gpr[29] + static_cast(144)); ctx.gpr[20] = (ctx.gpr[29] + static_cast(176)); ctx.gpr[19] = (ctx.gpr[29] + static_cast(128)); ctx.gpr[17] = (2228u << 16u); ctx.gpr[23] = (2227u << 16u); goto L_088EC844; L_088EC844: ctx.gpr[16] = (ctx.gpr[21] << 2u); ctx.gpr[16] = (ctx.gpr[29] + ctx.gpr[16]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(68))); ctx.gpr[6] = (ctx.gpr[6] & 2048u); { const bool branch_taken = ctx.gpr[6] != 0u; ctx.gpr[5] = (0u | 0u); if (branch_taken) { goto L_088EC870; } goto L_088EC860; } L_088EC860: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(72))); ctx.gpr[4] = (ctx.gpr[4] & 4096u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.gpr[4] = (ctx.gpr[5] & 255u); if (branch_taken) { goto L_088EC878; } goto L_088EC870; } L_088EC870: ctx.gpr[5] = (0u | 1u); ctx.gpr[4] = (ctx.gpr[5] & 255u); goto L_088EC878; L_088EC878: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088ECAB0; } goto L_088EC880; } L_088EC880: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(40))); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[22])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088ECAB0; } goto L_088EC898; } L_088EC898: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-31116))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(88)))))); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast(16))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088EC988; } goto L_088EC8B0; } L_088EC8B0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-31116))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(88)))))); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast(18))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088EC988; } goto L_088EC8C8; } L_088EC8C8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-31116))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(88)))))); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast(20))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088EC988; } goto L_088EC8E0; } L_088EC8E0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-31116))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(88)))))); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast(308))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088EC988; } goto L_088EC8F8; } L_088EC8F8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-31116))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(88)))))); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast(418))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088EC988; } goto L_088EC910; } L_088EC910: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-31116))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(88)))))); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast(24))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088EC988; } goto L_088EC928; } L_088EC928: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-31116))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(88)))))); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast(26))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088EC988; } goto L_088EC940; } L_088EC940: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-31116))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(88)))))); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast(424))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088EC988; } goto L_088EC958; } L_088EC958: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-31116))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(88)))))); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast(12))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088EC988; } goto L_088EC970; } L_088EC970: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-31116))); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(88)))))); ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast(14))); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_088ECAB0; } goto L_088EC988; } L_088EC988: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<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[30] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 2u>(); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::fabs(std::sqrt(vfpu_s[i])); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[24] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[23] + static_cast(23508))); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[24]; ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[12]) & 0x7FFFFFFFu); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088ECAB0; } goto L_088EC9D0; } L_088EC9D0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.gpr[5] = (2229u << 16u); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(88)))))); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-11604))); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(32)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); ctx.gpr[4] = (ctx.gpr[20] | 0u); ctx.gpr[31] = (0x088ECA0Cu); ctx.gpr[6] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0057_entry, 57u, 404u, 0x088EA43Cu>(ctx, &aot_mem) && ctx.pc == 0x088ECA0Cu) goto L_088ECA0C; return; L_088ECA0C: { 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); } { 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); } { 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[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])); } { 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); } { 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[4] = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x088ECA58u); ctx.gpr[5] = (ctx.gpr[22] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 565u, 0x0892753Cu>(ctx, &aot_mem) && ctx.pc == 0x088ECA58u) goto L_088ECA58; return; L_088ECA58: ctx.gpr[4] = (ctx.gpr[18] | 0u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[2] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[2]); ctx.gpr[31] = (0x088ECA88u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); if (rt.invoke_chained_direct<&recomp_unit_0048_entry, 48u, 339u, 0x088C5B2Cu>(ctx, &aot_mem) && ctx.pc == 0x088ECA88u) goto L_088ECA88; return; L_088ECA88: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088ECAB0; } goto L_088ECA90; } L_088ECA90: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[23] + static_cast(23508))); ctx.fpr[20] = ctx.fpr[12] - ctx.fpr[24]; ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[20]) & 0x7FFFFFFFu); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(48))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(228), 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.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(232))); { 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_088ECAB0; L_088ECAB0: ctx.gpr[4] = (ctx.gpr[21] + static_cast(1)); ctx.gpr[21] = (ctx.gpr[4] << 16u); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[29] + static_cast(112)))))); ctx.gpr[21] = (static_cast(static_cast(ctx.gpr[21]) >> 16u)); ctx.gpr[4] = (static_cast(ctx.gpr[21]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088EC844; } goto L_088ECACC; } L_088ECACC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(228))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088ECAE0; } goto L_088ECAD8; } L_088ECAD8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_088ECAE4; } goto L_088ECAE0; } L_088ECAE0: ctx.gpr[2] = (0u | 0u); goto L_088ECAE4; L_088ECAE4: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(236))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(240))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(244))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(248))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(252))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(256))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(260))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(264))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(268))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(272))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(276))); ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(280))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(284))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(288)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ECB20: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-208)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(172), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(184), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(196), ctx.gpr[22]); ctx.gpr[19] = (ctx.gpr[4] + static_cast(416)); ctx.gpr[22] = (ctx.gpr[4] + static_cast(432)); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[4] = (17204u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(168), std::bit_cast(ctx.fpr[30])); ctx.fpr[30] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(164), std::bit_cast(ctx.fpr[28])); ctx.gpr[4] = (16128u << 16u); ctx.fpr[28] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(160), std::bit_cast(ctx.fpr[26])); ctx.gpr[4] = (16256u << 16u); ctx.fpr[26] = std::bit_cast(ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(176), ctx.gpr[17]); ctx.gpr[17] = (2230u << 16u); ctx.gpr[4] = (16192u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(156), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(180), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(188), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(192), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(200), ctx.gpr[23]); ctx.fpr[24] = std::bit_cast(ctx.gpr[4]); ctx.gpr[20] = (ctx.gpr[29] + static_cast(80)); ctx.gpr[21] = (ctx.gpr[29] + static_cast(64)); ctx.gpr[23] = (ctx.gpr[29] + static_cast(48)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(144), std::bit_cast(ctx.fpr[12])); ctx.gpr[17] = (ctx.gpr[17] + static_cast(-7960)); ctx.gpr[18] = (2227u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(148), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(152), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(204), ctx.gpr[31]); goto L_088ECBA8; L_088ECBA8: ctx.gpr[4] = (16457u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(196))); { 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[12] = ctx.fpr[12] / ctx.fpr[30]; { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[4]); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); } ctx.execute_vfpu_vrot(1u, 64u, 2u, 4u); { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<33u, 1u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 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); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<0u>()); ctx.fpr[22] = std::bit_cast(ctx.gpr[4]); ctx.gpr[31] = (0x088ECBECu); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(4))); if (rt.invoke_chained_direct<&recomp_unit_0027_entry, 27u, 608u, 0x088735E8u>(ctx, &aot_mem) && ctx.pc == 0x088ECBECu) goto L_088ECBEC; return; L_088ECBEC: ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(144))); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[20])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088ECC0C; } goto L_088ECC04; } L_088ECC04: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088ECCA0; } goto L_088ECC0C; } L_088ECC0C: { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(23512))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (std::bit_cast(ctx.fpr[20])); 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[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] = (std::bit_cast(ctx.fpr[26])); 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>(); { 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[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[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<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[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[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(596))); ctx.gpr[4] = (ctx.gpr[23] | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); ctx.gpr[31] = (0x088ECC7Cu); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); if (rt.invoke_chained_direct<&recomp_unit_0049_entry, 49u, 72u, 0x088C8430u>(ctx, &aot_mem) && ctx.pc == 0x088ECC7Cu) goto L_088ECC7C; return; L_088ECC7C: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_088ECC8C; } goto L_088ECC84; } L_088ECC84: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088ECC04; } goto L_088ECC8C; } L_088ECC8C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(4))); ctx.gpr[31] = (0x088ECC98u); { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } if (rt.invoke_chained_direct<&recomp_unit_0027_entry, 27u, 597u, 0x08873550u>(ctx, &aot_mem) && ctx.pc == 0x088ECC98u) goto L_088ECC98; return; L_088ECC98: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088ECBA8; } goto L_088ECCA0; } L_088ECCA0: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(148))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(152))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(156))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(160))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(164))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(168))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(172))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(176))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(180))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(184))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(188))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(192))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(196))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(200))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(204))); 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_088ECCE4: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-128)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(112), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(116), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(120), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(124), ctx.gpr[31]); ctx.gpr[16] = (ctx.gpr[4] + static_cast(432)); { 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[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.gpr[5] = (16256u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.gpr[5] = (0u | 0u); ctx.gpr[6] = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), 0u); ctx.gpr[31] = (0x088ECD38u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), 0u); if (rt.invoke_chained_direct<&recomp_unit_0049_entry, 49u, 72u, 0x088C8430u>(ctx, &aot_mem) && ctx.pc == 0x088ECD38u) goto L_088ECD38; return; L_088ECD38: ctx.gpr[17] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_088ECE38; } goto L_088ECD44; } L_088ECD44: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] & 14u); ctx.gpr[4] = (ctx.gpr[4] ^ 6u); ctx.gpr[4] = (ctx.gpr[4] < static_cast(1) ? 1u : 0u); ctx.gpr[4] = (ctx.gpr[4] & 255u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088ECE38; } goto L_088ECD60; } L_088ECD60: ctx.gpr[31] = (0x088ECD68u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x088ECD68u) goto L_088ECD68; return; L_088ECD68: { const bool branch_taken = ctx.gpr[17] == ctx.gpr[2]; // nop if (branch_taken) { goto L_088ECD98; } goto L_088ECD70; } L_088ECD70: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(72))); ctx.gpr[5] = (8u << 16u); ctx.gpr[4] = (ctx.gpr[4] | ctx.gpr[5]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(68))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(72), ctx.gpr[4]); ctx.gpr[4] = (65528u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-1)); ctx.gpr[4] = (ctx.gpr[5] & ctx.gpr[4]); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[17] + static_cast(68), ctx.gpr[4]); if (branch_taken) { goto L_088ECE38; } goto L_088ECD98; } L_088ECD98: ctx.gpr[4] = (2269u << 16u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(-4528))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-4528)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + 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[4] + static_cast(8))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(72), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (ctx.gpr[29] + static_cast(64)); { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); { 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[20] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-7960)); ctx.gpr[31] = (0x088ECDF4u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); if (rt.invoke_chained_direct<&recomp_unit_0027_entry, 27u, 608u, 0x088735E8u>(ctx, &aot_mem) && ctx.pc == 0x088ECDF4u) goto L_088ECDF4; return; L_088ECDF4: ctx.gpr[4] = (15820u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 52429u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[0] + ctx.fpr[12]; ctx.set_fpu_condition((ctx.fpr[20] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088ECE38; } goto L_088ECE14; } L_088ECE14: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(72))); ctx.gpr[5] = (8u << 16u); ctx.gpr[4] = (ctx.gpr[4] | ctx.gpr[5]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(68))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(72), ctx.gpr[4]); ctx.gpr[4] = (65528u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-1)); ctx.gpr[4] = (ctx.gpr[5] & ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[17] + static_cast(68), ctx.gpr[4]); goto L_088ECE38; L_088ECE38: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(112))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(116))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(120))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(124))); 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_088ECE50: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); ctx.fpr[12] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), std::bit_cast(ctx.fpr[12])); ctx.gpr[5] = (16256u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(ctx.fpr[13])); { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[6] = (ctx.gpr[4] + static_cast(464)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[5] = (ctx.gpr[4] + static_cast(416)); { 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_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[5] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(416))); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[13]) || std::isnan(ctx.fpr[12])) && ctx.fpr[13] == ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088ECED8; } goto L_088ECEB0; } L_088ECEB0: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(420))); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[13]) || std::isnan(ctx.fpr[12])) && ctx.fpr[13] == ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088ECED8; } goto L_088ECEC4; } L_088ECEC4: ctx.gpr[7] = (14545u << 16u); ctx.gpr[7] = (ctx.gpr[7] | 46871u); ctx.fpr[12] = std::bit_cast(ctx.gpr[7]); aot_mem.aot_store32(ctx.gpr[4] + static_cast(416), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[4] + static_cast(420), std::bit_cast(ctx.fpr[12])); goto L_088ECED8; L_088ECED8: { 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); } { 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<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[29] + 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[29] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / std::sqrt(vfpu_s[i]); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { 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); } { 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<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[29] + 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[29] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::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])); } jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ECF34: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(432))); ctx.gpr[5] = (16688u << 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] = (17078u << 16u); if (branch_taken) { goto L_088ECFB8; } goto L_088ECF50; } L_088ECF50: ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088ECFB8; } goto L_088ECF64; } L_088ECF64: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(436))); ctx.gpr[5] = (50218u << 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] = (50198u << 16u); if (branch_taken) { goto L_088ECFB8; } goto L_088ECF80; } L_088ECF80: ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088ECFB8; } goto L_088ECF94; } L_088ECF94: ctx.gpr[5] = (16835u << 16u); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(440))); ctx.gpr[5] = (ctx.gpr[5] | 13107u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088ECFB8; } goto L_088ECFB4; } L_088ECFB4: aot_mem.aot_store32(ctx.gpr[4] + static_cast(440), std::bit_cast(ctx.fpr[12])); goto L_088ECFB8; L_088ECFB8: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ECFC0: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(8))); ctx.gpr[5] = (49152u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[16]); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[31]); { const bool branch_taken = ctx.fpu_condition(); ctx.gpr[16] = (ctx.gpr[4] | 0u); if (branch_taken) { goto L_088ED03C; } goto L_088ECFE4; } L_088ECFE4: ctx.gpr[4] = (50619u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 32768u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(432))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[13])); ctx.gpr[4] = (ctx.gpr[29] + static_cast(16)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(436))); ctx.gpr[31] = (0x088ED00Cu); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(440))); if (rt.invoke_chained_direct<&recomp_unit_0066_entry, 66u, 302u, 0x0890DFD4u>(ctx, &aot_mem) && ctx.pc == 0x088ED00Cu) goto L_088ED00C; return; L_088ED00C: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088ED034; } goto L_088ED014; } L_088ED014: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(440))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[12])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088ED044; } goto L_088ED02C; } L_088ED02C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088ED048; } goto L_088ED034; } L_088ED034: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088ED048; } goto L_088ED03C; } L_088ED03C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088ED048; } goto L_088ED044; } L_088ED044: aot_mem.aot_store32(ctx.gpr[16] + static_cast(440), std::bit_cast(ctx.fpr[12])); goto L_088ED048; L_088ED048: ctx.gpr[16] = (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_088ED058: jump_target = ctx.gpr[31]; ctx.gpr[2] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(98))); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ED060: jump_target = ctx.gpr[31]; ctx.gpr[2] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(6849))); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ED068: ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(127))); ctx.gpr[5] = (ctx.gpr[5] << 4u); ctx.gpr[6] = (0u + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 3u); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(428)))))); ctx.gpr[6] = (0u | 16u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; // nop if (branch_taken) { goto L_088ED0B0; } goto L_088ED098; } L_088ED098: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(456))); ctx.gpr[5] = (0u | 3u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088ED0B0; } goto L_088ED0A8; } L_088ED0A8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_088ED0B4; } goto L_088ED0B0; } L_088ED0B0: ctx.gpr[2] = (0u | 0u); goto L_088ED0B4; L_088ED0B4: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ED0BC: ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(127))); ctx.gpr[5] = (ctx.gpr[5] << 4u); ctx.gpr[6] = (0u + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 3u); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(428)))))); ctx.gpr[6] = (0u | 16u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; // nop if (branch_taken) { goto L_088ED104; } goto L_088ED0EC; } L_088ED0EC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(456))); ctx.gpr[5] = (0u | 3u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_088ED104; } goto L_088ED0FC; } L_088ED0FC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_088ED108; } goto L_088ED104; } L_088ED104: ctx.gpr[2] = (0u | 0u); goto L_088ED108; L_088ED108: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ED110: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[17]); ctx.gpr[17] = (0u | 0u); ctx.gpr[16] = (ctx.gpr[4] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[31]); goto L_088ED128; L_088ED128: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(2744))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088ED140; } goto L_088ED134; } L_088ED134: ctx.gpr[31] = (0x088ED13Cu); // nop if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 669u, 0x08AA31FCu>(ctx, &aot_mem) && ctx.pc == 0x088ED13Cu) goto L_088ED13C; return; L_088ED13C: aot_mem.aot_store32(ctx.gpr[16] + static_cast(2744), 0u); goto L_088ED140; L_088ED140: 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; ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { goto L_088ED128; } goto L_088ED150; } L_088ED150: 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_088ED164: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(6852))); ctx.fpr[13] = std::bit_cast(0u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[13])) && ctx.fpr[12] == ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088ED19C; } goto L_088ED17C; } L_088ED17C: ctx.gpr[4] = (17279u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[13])) && ctx.fpr[12] == ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088ED1A4; } goto L_088ED194; } L_088ED194: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 2u); if (branch_taken) { goto L_088ED1A8; } goto L_088ED19C; } L_088ED19C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_088ED1A8; } goto L_088ED1A4; } L_088ED1A4: ctx.gpr[2] = (0u | 1u); goto L_088ED1A8; L_088ED1A8: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ED1B0: ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(127))); ctx.gpr[5] = (ctx.gpr[5] << 4u); ctx.gpr[6] = (0u + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 3u); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(428)))))); ctx.gpr[6] = (0u | 18u); { const bool branch_taken = ctx.gpr[5] == ctx.gpr[6]; ctx.gpr[2] = (0u | 3u); if (branch_taken) { goto L_088ED1FC; } goto L_088ED1E0; } L_088ED1E0: ctx.gpr[6] = (0u | 16u); { const bool branch_taken = ctx.gpr[5] == ctx.gpr[6]; ctx.gpr[6] = (0u | 22u); if (branch_taken) { goto L_088ED1FC; } goto L_088ED1EC; } L_088ED1EC: { const bool branch_taken = ctx.gpr[5] == ctx.gpr[6]; ctx.gpr[6] = (0u | 4u); if (branch_taken) { goto L_088ED1FC; } goto L_088ED1F4; } L_088ED1F4: { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; // nop if (branch_taken) { goto L_088ED210; } goto L_088ED1FC; } L_088ED1FC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(456))); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[2]; // nop if (branch_taken) { goto L_088ED210; } goto L_088ED208; } L_088ED208: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[4] | 0u); if (branch_taken) { goto L_088ED210; } goto L_088ED210; } L_088ED210: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ED218: ctx.gpr[4] = (ctx.gpr[5] + static_cast(-1)); ctx.gpr[5] = (ctx.gpr[4] < static_cast(5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] == 0u; // nop if (branch_taken) { goto L_088ED288; } goto L_088ED228; } L_088ED228: ctx.gpr[2] = (0u | 1u); ctx.gpr[1] = (0u + static_cast(1)); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(2)); if (branch_taken) { goto L_088ED258; } goto L_088ED238; } L_088ED238: { const bool branch_taken = ctx.gpr[4] == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(3)); if (branch_taken) { goto L_088ED264; } goto L_088ED240; } L_088ED240: { const bool branch_taken = ctx.gpr[4] == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(4)); if (branch_taken) { goto L_088ED27C; } goto L_088ED248; } L_088ED248: { const bool branch_taken = ctx.gpr[4] == ctx.gpr[1]; // nop if (branch_taken) { goto L_088ED270; } goto L_088ED250; } L_088ED250: { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[6] + static_cast(0), 0u); if (branch_taken) { goto L_088ED28C; } goto L_088ED258; } L_088ED258: ctx.gpr[4] = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[6] + static_cast(0), ctx.gpr[4]); if (branch_taken) { goto L_088ED28C; } goto L_088ED264; } L_088ED264: ctx.gpr[4] = (0u | 2u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[6] + static_cast(0), ctx.gpr[4]); if (branch_taken) { goto L_088ED28C; } goto L_088ED270; } L_088ED270: ctx.gpr[4] = (0u | 3u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[6] + static_cast(0), ctx.gpr[4]); if (branch_taken) { goto L_088ED28C; } goto L_088ED27C; } L_088ED27C: ctx.gpr[4] = (0u | 4u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[6] + static_cast(0), ctx.gpr[4]); if (branch_taken) { goto L_088ED28C; } goto L_088ED288; } L_088ED288: ctx.gpr[2] = (0u | 0u); goto L_088ED28C; L_088ED28C: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ED294: ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(127))); ctx.gpr[6] = (ctx.gpr[5] << 4u); ctx.gpr[7] = (0u + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] << 3u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[6]); ctx.gpr[7] = (ctx.gpr[4] + ctx.gpr[7]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[7] + static_cast(428)))))); ctx.gpr[6] = (0u | 17u); { const bool branch_taken = ctx.gpr[8] == ctx.gpr[6]; // nop if (branch_taken) { goto L_088ED2F8; } goto L_088ED2C4; } L_088ED2C4: ctx.gpr[5] = (ctx.gpr[5] + static_cast(1)); { const bool branch_taken = static_cast(ctx.gpr[5]) >= 0; ctx.gpr[7] = (ctx.gpr[5] & 1u); if (branch_taken) { goto L_088ED300; } goto L_088ED2D0; } L_088ED2D0: ctx.gpr[7] = (0u - ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] << 4u); ctx.gpr[8] = (0u + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] << 3u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] << 2u); ctx.gpr[7] = (ctx.gpr[8] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[4] + ctx.gpr[7]); { const bool branch_taken = 0u == 0u; ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[7] + static_cast(428)))))); if (branch_taken) { goto L_088ED320; } goto L_088ED2F8; } L_088ED2F8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (aot_mem.aot_load32(ctx.gpr[7] + static_cast(432))); if (branch_taken) { goto L_088ED388; } goto L_088ED300; } L_088ED300: ctx.gpr[7] = (ctx.gpr[7] << 4u); ctx.gpr[8] = (0u + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] << 3u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] << 2u); ctx.gpr[7] = (ctx.gpr[8] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[4] + ctx.gpr[7]); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[7] + static_cast(428)))))); goto L_088ED320; L_088ED320: { const bool branch_taken = ctx.gpr[7] != ctx.gpr[6]; // nop if (branch_taken) { goto L_088ED384; } goto L_088ED328; } L_088ED328: ctx.gpr[6] = (ctx.gpr[5] | 0u); { const bool branch_taken = static_cast(ctx.gpr[6]) >= 0; ctx.gpr[5] = (ctx.gpr[6] & 1u); if (branch_taken) { goto L_088ED35C; } goto L_088ED334; } L_088ED334: ctx.gpr[5] = (0u - ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 4u); ctx.gpr[6] = (0u + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 3u); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[2] = (ctx.gpr[4] + ctx.gpr[5]); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (aot_mem.aot_load32(ctx.gpr[2] + static_cast(432))); if (branch_taken) { goto L_088ED37C; } goto L_088ED35C; } L_088ED35C: ctx.gpr[5] = (ctx.gpr[5] << 4u); ctx.gpr[6] = (0u + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 3u); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[2] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[2] = (aot_mem.aot_load32(ctx.gpr[2] + static_cast(432))); goto L_088ED37C; L_088ED37C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088ED388; } goto L_088ED384; } L_088ED384: ctx.gpr[2] = (0u | 0u); goto L_088ED388; L_088ED388: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ED390: jump_target = ctx.gpr[31]; ctx.fpr[0] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(320))); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ED398: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-304)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(260), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(268), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(272), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(276), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(280), ctx.gpr[19]); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[12])); ctx.gpr[18] = (ctx.gpr[4] | 0u); ctx.gpr[16] = (ctx.gpr[7] | 0u); ctx.gpr[17] = (ctx.gpr[6] | 0u); ctx.gpr[19] = (ctx.gpr[5] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(264), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(284), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(288), ctx.gpr[31]); ctx.gpr[31] = (0x088ED3D8u); ctx.gpr[4] = (0u | 0u); if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x088ED3D8u) goto L_088ED3D8; return; L_088ED3D8: ctx.gpr[31] = (0x088ED3E0u); ctx.gpr[4] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 1017u, 0x08A97CDCu>(ctx, &aot_mem) && ctx.pc == 0x088ED3E0u) goto L_088ED3E0; return; L_088ED3E0: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088ED454; } goto L_088ED3E8; } L_088ED3E8: { 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[17] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[18] + static_cast(127))); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[5] = (0u + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 3u); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(996))); ctx.gpr[5] = (std::bit_cast(ctx.fpr[20])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] + 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<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 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[17] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(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 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])); } { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_088ED664; } goto L_088ED454; } L_088ED454: ctx.gpr[4] = (2227u << 16u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(3176))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(384))); ctx.gpr[4] = (16128u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[14]; ctx.gpr[4] = (16358u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 26214u); ctx.fpr[15] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[15]; 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; } { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[18] + static_cast(127))); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[5] = (0u + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 3u); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[4]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(596))); { 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[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[18] + static_cast(388))); ctx.fpr[16] = ctx.fpr[14] - ctx.fpr[16]; { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } { const float fs = ctx.fpr[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; } { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.gpr[5] = (16457u << 16u); ctx.gpr[5] = (ctx.gpr[5] | 4059u); ctx.fpr[17] = std::bit_cast(ctx.gpr[5]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[17]; 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] = (17204u << 16u); ctx.fpr[15] = std::bit_cast(ctx.gpr[5]); ctx.fpr[22] = ctx.fpr[12] / ctx.fpr[15]; { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[17]; 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[12] / ctx.fpr[15]; ctx.gpr[4] = (ctx.gpr[4] + static_cast(832)); { 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[17] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[18] + static_cast(127))); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[5] = (0u + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 3u); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] + static_cast(816)); { 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.gpr[4] = (aot_mem.aot_load8(ctx.gpr[18] + static_cast(127))); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[5] = (0u + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 3u); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[4]); ctx.gpr[31] = (0x088ED544u); ctx.gpr[20] = (ctx.gpr[4] + static_cast(864)); if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 542u, 0x08AFA660u>(ctx, &aot_mem) && ctx.pc == 0x088ED544u) goto L_088ED544; return; L_088ED544: ctx.gpr[4] = (std::bit_cast(ctx.fpr[0])); 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[20] = (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[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[16] | 0u); ctx.gpr[31] = (0x088ED568u); ctx.gpr[5] = (ctx.gpr[20] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 565u, 0x0892753Cu>(ctx, &aot_mem) && ctx.pc == 0x088ED568u) goto L_088ED568; return; L_088ED568: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[18] + static_cast(127))); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[5] = (0u + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 3u); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[4]); ctx.gpr[5] = (ctx.gpr[4] + static_cast(816)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(864)); { 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); } { 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<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat(0u, 1u, 2u, 3u); ctx.gpr[18] = (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[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] = (0x088ED5ACu); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 542u, 0x08AFA660u>(ctx, &aot_mem) && ctx.pc == 0x088ED5ACu) goto L_088ED5AC; return; L_088ED5AC: ctx.gpr[4] = (std::bit_cast(ctx.fpr[0])); 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>(); { 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[16] | 0u); ctx.gpr[31] = (0x088ED5CCu); ctx.gpr[5] = (ctx.gpr[20] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 565u, 0x0892753Cu>(ctx, &aot_mem) && ctx.pc == 0x088ED5CCu) goto L_088ED5CC; return; L_088ED5CC: { 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])); } { 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); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[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); } 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] = (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])); } ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088ED630u); ctx.gpr[5] = (ctx.gpr[18] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 565u, 0x0892753Cu>(ctx, &aot_mem) && ctx.pc == 0x088ED630u) goto L_088ED630; return; L_088ED630: ctx.gpr[4] = (std::bit_cast(ctx.fpr[20])); 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[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])); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[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[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])); } { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_088ED664; } goto L_088ED664; } L_088ED664: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(260))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(264))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(268))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(272))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(276))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(280))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(284))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(288))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(304)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ED68C: ctx.gpr[5] = (16128u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(388))); ctx.gpr[5] = (16358u << 16u); ctx.gpr[5] = (ctx.gpr[5] | 26214u); ctx.fpr[12] = ctx.fpr[13] - ctx.fpr[12]; ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(127))); ctx.gpr[5] = (ctx.gpr[5] << 4u); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[6] = (0u + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 3u); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 2u); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(596))); ctx.gpr[5] = (16457u << 16u); { 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[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.gpr[5] = (ctx.gpr[5] | 4059u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.gpr[5] = (17204u << 16u); ctx.fpr[15] = std::bit_cast(ctx.gpr[5]); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.fpr[14] = ctx.fpr[14] / ctx.fpr[15]; ctx.gpr[4] = (ctx.gpr[4] + static_cast(824)); ctx.gpr[5] = (16256u << 16u); ctx.gpr[6] = (49024u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); ctx.fpr[13] = std::bit_cast(ctx.gpr[6]); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[15])); // nop if (!ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[15])); goto L_088ED71C; } goto L_088ED71C; L_088ED71C: ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[12])); // nop if (!ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[13])); goto L_088ED72C; } goto L_088ED72C; L_088ED72C: 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(0x3FC90FDBu); 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_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] = vfpu_s[i] < -1.0f ? -1.0f : (vfpu_s[i] > 1.0f ? 1.0f : vfpu_s[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::asin(vfpu_s[i]) * 0.63661977236758134308f; 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<64u, 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<0u, 1u>(vfpu_d); } ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<0u>()); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[0] = ctx.fpr[14] + ctx.fpr[12]; jump_target = ctx.gpr[31]; ctx.fpr[0] = std::bit_cast(std::bit_cast(ctx.fpr[0]) ^ 0x80000000u); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ED758: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-96)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), ctx.gpr[16]); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[4] = (17096u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(52), std::bit_cast(ctx.fpr[20])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(324))); ctx.fpr[20] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = ctx.fpr[12] / ctx.fpr[20]; ctx.gpr[6] = (17392u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(56), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(72), ctx.gpr[17]); ctx.gpr[5] = (17160u << 16u); ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(60), std::bit_cast(ctx.fpr[24])); ctx.gpr[4] = (ctx.gpr[17] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(76), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(84), ctx.gpr[31]); ctx.fpr[22] = std::bit_cast(0u); ctx.fpr[26] = std::bit_cast(ctx.gpr[6]); ctx.fpr[24] = std::bit_cast(ctx.gpr[5]); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[31] = (0x088ED7C4u); { 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[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } if (rt.invoke_chained_direct<&recomp_unit_0126_entry, 126u, 137u, 0x089FD434u>(ctx, &aot_mem) && ctx.pc == 0x088ED7C4u) goto L_088ED7C4; return; L_088ED7C4: ctx.gpr[18] = (ctx.gpr[29] + static_cast(48)); ctx.gpr[19] = (ctx.gpr[2] | 0u); ctx.gpr[4] = (ctx.gpr[18] | 0u); ctx.gpr[5] = (0u | 0u); ctx.gpr[6] = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[31] = (0x088ED7E4u); ctx.gpr[8] = (0u | 255u); if (rt.invoke_chained_direct<&recomp_unit_0023_entry, 23u, 439u, 0x088629DCu>(ctx, &aot_mem) && ctx.pc == 0x088ED7E4u) goto L_088ED7E4; return; L_088ED7E4: ctx.gpr[4] = (ctx.gpr[19] | 0u); ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[31] = (0x088ED7F4u); ctx.gpr[6] = (0u | 1u); if (rt.invoke_chained_direct<&recomp_unit_0179_entry, 179u, 949u, 0x08AD3EE8u>(ctx, &aot_mem) && ctx.pc == 0x088ED7F4u) goto L_088ED7F4; return; L_088ED7F4: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(324))); ctx.fpr[15] = ctx.fpr[12] / ctx.fpr[20]; ctx.gpr[5] = (17288u << 16u); ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[26])); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[31] = (0x088ED81Cu); ctx.fpr[15] = ctx.fpr[13] - ctx.fpr[15]; if (rt.invoke_chained_direct<&recomp_unit_0126_entry, 126u, 137u, 0x089FD434u>(ctx, &aot_mem) && ctx.pc == 0x088ED81Cu) goto L_088ED81C; return; L_088ED81C: ctx.gpr[4] = (ctx.gpr[18] | 0u); ctx.gpr[16] = (ctx.gpr[2] | 0u); ctx.gpr[5] = (0u | 0u); ctx.gpr[6] = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[31] = (0x088ED838u); ctx.gpr[8] = (0u | 255u); if (rt.invoke_chained_direct<&recomp_unit_0023_entry, 23u, 439u, 0x088629DCu>(ctx, &aot_mem) && ctx.pc == 0x088ED838u) goto L_088ED838; return; L_088ED838: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[31] = (0x088ED848u); ctx.gpr[6] = (0u | 1u); if (rt.invoke_chained_direct<&recomp_unit_0179_entry, 179u, 949u, 0x08AD3EE8u>(ctx, &aot_mem) && ctx.pc == 0x088ED848u) goto L_088ED848; return; L_088ED848: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(52))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(56))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(60))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(72))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(76))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(96)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ED874: aot_mem.aot_store32(ctx.gpr[4] + static_cast(300), std::bit_cast(ctx.fpr[12])); ctx.gpr[5] = (0u | 1u); jump_target = ctx.gpr[31]; aot_mem.aot_store8(ctx.gpr[4] + static_cast(105), static_cast(ctx.gpr[5])); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088ED884: ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(127))); ctx.gpr[6] = (ctx.gpr[5] << 4u); ctx.gpr[7] = (0u + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] << 3u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[6]); ctx.gpr[7] = (ctx.gpr[4] + ctx.gpr[7]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[7] + static_cast(428)))))); ctx.gpr[6] = (0u | 17u); { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; // nop if (branch_taken) { goto L_088ED8E8; } goto L_088ED8B4; } L_088ED8B4: ctx.gpr[5] = (17096u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[13]; ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[7] + static_cast(432))); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); { const bool branch_taken = static_cast(ctx.gpr[4]) >= 0; ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); if (branch_taken) { goto L_088ED8DC; } goto L_088ED8D0; } L_088ED8D0: ctx.gpr[4] = (20352u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = ctx.fpr[13] + ctx.fpr[14]; goto L_088ED8DC; L_088ED8DC: { 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 bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[7] + static_cast(560), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088EDA18; } goto L_088ED8E8; } L_088ED8E8: ctx.gpr[5] = (ctx.gpr[5] + static_cast(1)); { const bool branch_taken = static_cast(ctx.gpr[5]) >= 0; ctx.gpr[7] = (ctx.gpr[5] & 1u); if (branch_taken) { goto L_088ED91C; } goto L_088ED8F4; } L_088ED8F4: ctx.gpr[7] = (0u - ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] << 4u); ctx.gpr[8] = (0u + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] << 3u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] << 2u); ctx.gpr[7] = (ctx.gpr[8] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[4] + ctx.gpr[7]); { const bool branch_taken = 0u == 0u; ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[7] + static_cast(428)))))); if (branch_taken) { goto L_088ED93C; } goto L_088ED91C; } L_088ED91C: ctx.gpr[7] = (ctx.gpr[7] << 4u); ctx.gpr[8] = (0u + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] << 3u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] << 2u); ctx.gpr[7] = (ctx.gpr[8] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[4] + ctx.gpr[7]); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[7] + static_cast(428)))))); goto L_088ED93C; L_088ED93C: { const bool branch_taken = ctx.gpr[7] != ctx.gpr[6]; // nop if (branch_taken) { goto L_088EDA18; } goto L_088ED944; } L_088ED944: ctx.gpr[6] = (17096u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[6]); ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[13]; { const bool branch_taken = static_cast(ctx.gpr[5]) >= 0; ctx.gpr[6] = (ctx.gpr[5] & 1u); if (branch_taken) { goto L_088ED988; } goto L_088ED958; } L_088ED958: ctx.gpr[6] = (0u - ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] << 4u); ctx.gpr[7] = (0u + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] << 3u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[4] + ctx.gpr[6]); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(432))); ctx.fpr[13] = std::bit_cast(ctx.gpr[6]); { const bool branch_taken = 0u == 0u; ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); if (branch_taken) { goto L_088ED9B0; } goto L_088ED988; } L_088ED988: ctx.gpr[6] = (ctx.gpr[6] << 4u); ctx.gpr[7] = (0u + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] << 3u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[4] + ctx.gpr[6]); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast(432))); ctx.fpr[13] = std::bit_cast(ctx.gpr[6]); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); goto L_088ED9B0; L_088ED9B0: { const bool branch_taken = static_cast(ctx.gpr[6]) >= 0; ctx.gpr[6] = (ctx.gpr[5] | 0u); if (branch_taken) { goto L_088ED9C8; } goto L_088ED9B8; } L_088ED9B8: ctx.gpr[6] = (20352u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[6]); ctx.fpr[13] = ctx.fpr[13] + ctx.fpr[14]; ctx.gpr[6] = (ctx.gpr[5] | 0u); goto L_088ED9C8; L_088ED9C8: { const bool branch_taken = static_cast(ctx.gpr[6]) >= 0; ctx.gpr[5] = (ctx.gpr[6] & 1u); if (branch_taken) { goto L_088ED9F4; } goto L_088ED9D0; } L_088ED9D0: ctx.gpr[5] = (0u - ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 4u); ctx.gpr[6] = (0u + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 3u); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); { const bool branch_taken = 0u == 0u; ctx.gpr[5] = (ctx.gpr[4] + ctx.gpr[5]); if (branch_taken) { goto L_088EDA10; } goto L_088ED9F4; } L_088ED9F4: ctx.gpr[5] = (ctx.gpr[5] << 4u); ctx.gpr[6] = (0u + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 3u); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[4] + ctx.gpr[5]); goto L_088EDA10; L_088EDA10: { 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[5] + static_cast(560), std::bit_cast(ctx.fpr[12])); goto L_088EDA18; L_088EDA18: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EDA20: ctx.gpr[6] = (17096u << 16u); ctx.fpr[14] = std::bit_cast(ctx.gpr[6]); ctx.fpr[12] = ctx.fpr[12] / ctx.fpr[14]; aot_mem.aot_store32(ctx.gpr[4] + static_cast(7100), ctx.gpr[5]); ctx.gpr[5] = (0u | 1u); aot_mem.aot_store8(ctx.gpr[4] + static_cast(6858), static_cast(ctx.gpr[5])); ctx.fpr[13] = ctx.fpr[13] / ctx.fpr[14]; aot_mem.aot_store32(ctx.gpr[4] + static_cast(7092), std::bit_cast(ctx.fpr[12])); jump_target = ctx.gpr[31]; aot_mem.aot_store32(ctx.gpr[4] + static_cast(7096), std::bit_cast(ctx.fpr[13])); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EDA48: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[16]); ctx.gpr[5] = (17096u << 16u); ctx.gpr[16] = (ctx.gpr[4] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[31]); ctx.gpr[31] = (0x088EDA64u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); goto L_088ED884; L_088EDA64: ctx.gpr[4] = (16256u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (0u | 1u); aot_mem.aot_store32(ctx.gpr[16] + static_cast(320), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store8(ctx.gpr[16] + static_cast(85), static_cast(ctx.gpr[4])); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); 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_088EDA88: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-96)); aot_mem.aot_store8(ctx.gpr[29] + static_cast(20), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[29] + static_cast(21), static_cast(0u)); aot_mem.aot_store16(ctx.gpr[29] + static_cast(22), static_cast(0u)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(28), 0u); aot_mem.aot_store16(ctx.gpr[29] + static_cast(32), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[29] + static_cast(34), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[29] + static_cast(36), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[29] + static_cast(37), static_cast(0u)); aot_mem.aot_store16(ctx.gpr[29] + static_cast(38), static_cast(0u)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(40), 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(44), 0u); aot_mem.aot_store16(ctx.gpr[29] + static_cast(48), static_cast(0u)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(56), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(60), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(72), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), ctx.gpr[22]); ctx.gpr[18] = (ctx.gpr[4] | 0u); ctx.gpr[22] = (ctx.gpr[5] | 0u); ctx.gpr[20] = (0u | 1u); ctx.gpr[17] = (0u | 0u); aot_mem.aot_store8(ctx.gpr[29] + static_cast(50), static_cast(0u)); ctx.gpr[16] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(76), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(84), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(88), ctx.gpr[30]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(92), ctx.gpr[31]); ctx.gpr[31] = (0x088EDB08u); ctx.gpr[21] = (0u | 0u); goto L_088ED110; L_088EDB08: ctx.gpr[19] = (ctx.gpr[18] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(52), ctx.gpr[22]); goto L_088EDB10; L_088EDB10: ctx.gpr[31] = (0x088EDB18u); ctx.gpr[4] = (0u | 3200u); if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 665u, 0x08AA31B4u>(ctx, &aot_mem) && ctx.pc == 0x088EDB18u) goto L_088EDB18; return; L_088EDB18: aot_mem.aot_store32(ctx.gpr[19] + static_cast(2744), ctx.gpr[2]); ctx.gpr[21] = (ctx.gpr[21] + static_cast(1)); ctx.gpr[4] = (static_cast(ctx.gpr[21]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(4)); if (branch_taken) { goto L_088EDB10; } goto L_088EDB2C; } L_088EDB2C: ctx.gpr[4] = (2232u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(12960)); aot_mem.aot_store8(ctx.gpr[4] + static_cast(107), static_cast(0u)); ctx.gpr[19] = (0u | 0u); ctx.gpr[30] = (0u | 69u); ctx.gpr[21] = (ctx.gpr[29] + static_cast(20)); ctx.gpr[23] = (0u | 59u); ctx.gpr[22] = (0u | 4u); goto L_088EDB4C; L_088EDB4C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(52))); ctx.gpr[5] = (ctx.gpr[29] + static_cast(16)); ctx.gpr[31] = (0x088EDB5Cu); ctx.gpr[6] = (0u | 1u); if (rt.invoke_chained_direct<&recomp_unit_0045_entry, 45u, 212u, 0x088B91E0u>(ctx, &aot_mem) && ctx.pc == 0x088EDB5Cu) goto L_088EDB5C; return; L_088EDB5C: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load8(ctx.gpr[29] + static_cast(16)))))); ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 58 ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[5] = (0u | 101u); if (branch_taken) { goto L_088EDBBC; } goto L_088EDB6C; } L_088EDB6C: ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 43 ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 45 ? 1u : 0u); if (branch_taken) { goto L_088EDB88; } goto L_088EDB78; } L_088EDB78: { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088EDC94; } goto L_088EDB80; } L_088EDB80: { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (0u | 0u); if (branch_taken) { goto L_088EDC94; } goto L_088EDB88; } L_088EDB88: { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[5] = (0u | 47u); if (branch_taken) { goto L_088EDBAC; } goto L_088EDB90; } L_088EDB90: ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 44 ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] == 0u; // nop if (branch_taken) { goto L_088EDBEC; } goto L_088EDB9C; } L_088EDB9C: ctx.gpr[5] = (ctx.gpr[29] + ctx.gpr[16]); aot_mem.aot_store8(ctx.gpr[5] + static_cast(20), static_cast(ctx.gpr[4])); { const bool branch_taken = 0u == 0u; ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); if (branch_taken) { goto L_088EDC94; } goto L_088EDBAC; } L_088EDBAC: { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_088EDB9C; } goto L_088EDBB4; } L_088EDBB4: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EDC94; } goto L_088EDBBC; } L_088EDBBC: { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088EDBDC; } goto L_088EDBC4; } L_088EDBC4: { const bool branch_taken = ctx.gpr[4] == ctx.gpr[30]; // nop if (branch_taken) { goto L_088EDBDC; } goto L_088EDBCC; } L_088EDBCC: { const bool branch_taken = ctx.gpr[4] == ctx.gpr[23]; // nop if (branch_taken) { goto L_088EDC38; } goto L_088EDBD4; } L_088EDBD4: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EDC94; } goto L_088EDBDC; } L_088EDBDC: ctx.gpr[5] = (ctx.gpr[29] + ctx.gpr[16]); aot_mem.aot_store8(ctx.gpr[5] + static_cast(20), static_cast(ctx.gpr[4])); { const bool branch_taken = 0u == 0u; ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); if (branch_taken) { goto L_088EDC94; } goto L_088EDBEC; } L_088EDBEC: ctx.gpr[31] = (0x088EDBF4u); ctx.gpr[4] = (ctx.gpr[21] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0186_entry, 186u, 238u, 0x08AECC1Cu>(ctx, &aot_mem) && ctx.pc == 0x088EDBF4u) goto L_088EDBF4; return; L_088EDBF4: ctx.gpr[5] = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x088EDC00u); ctx.gpr[4] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 561u, 0x08AF6AF8u>(ctx, &aot_mem) && ctx.pc == 0x088EDC00u) goto L_088EDC00; return; L_088EDC00: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(2744))); ctx.gpr[5] = (ctx.gpr[17] << 2u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[4] + static_cast(0), std::bit_cast(ctx.fpr[0])); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[4] = (0u | 0u); goto L_088EDC18; L_088EDC18: ctx.gpr[5] = (ctx.gpr[29] + ctx.gpr[4]); aot_mem.aot_store8(ctx.gpr[5] + static_cast(20), static_cast(0u)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1)); ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 14 ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] != 0u; // nop if (branch_taken) { goto L_088EDC18; } goto L_088EDC30; } L_088EDC30: { const bool branch_taken = 0u == 0u; ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_088EDC94; } goto L_088EDC38; } L_088EDC38: ctx.gpr[31] = (0x088EDC40u); ctx.gpr[4] = (ctx.gpr[21] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0186_entry, 186u, 238u, 0x08AECC1Cu>(ctx, &aot_mem) && ctx.pc == 0x088EDC40u) goto L_088EDC40; return; L_088EDC40: ctx.gpr[5] = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x088EDC4Cu); ctx.gpr[4] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 561u, 0x08AF6AF8u>(ctx, &aot_mem) && ctx.pc == 0x088EDC4Cu) goto L_088EDC4C; return; L_088EDC4C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast(2744))); ctx.gpr[5] = (ctx.gpr[17] << 2u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[4] + static_cast(0), std::bit_cast(ctx.fpr[0])); ctx.gpr[17] = (0u | 0u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); { const bool branch_taken = ctx.gpr[19] != ctx.gpr[22]; ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); if (branch_taken) { goto L_088EDC70; } goto L_088EDC6C; } L_088EDC6C: ctx.gpr[20] = (0u | 0u); goto L_088EDC70; L_088EDC70: ctx.gpr[4] = (0u | 0u); goto L_088EDC74; L_088EDC74: ctx.gpr[5] = (ctx.gpr[29] + ctx.gpr[4]); aot_mem.aot_store8(ctx.gpr[5] + static_cast(20), static_cast(0u)); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1)); ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 14 ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] != 0u; // nop if (branch_taken) { goto L_088EDC74; } goto L_088EDC8C; } L_088EDC8C: { const bool branch_taken = 0u == 0u; ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_088EDC94; } goto L_088EDC94; } L_088EDC94: { const bool branch_taken = ctx.gpr[20] != 0u; // nop if (branch_taken) { goto L_088EDB4C; } goto L_088EDC9C; } L_088EDC9C: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(56))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(60))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(72))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(76))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(88))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(92))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(96)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EDCCC: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[4] = (ctx.gpr[5] & 255u); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(7180))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(12), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[31]); if (ctx.gpr[5] == 0u) { aot_mem.aot_store8(ctx.gpr[16] + static_cast(7180), static_cast(0u)); goto L_088EDD04; } goto L_088EDCF8; L_088EDCF8: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088EDD94; } goto L_088EDD00; } L_088EDD00: aot_mem.aot_store8(ctx.gpr[16] + static_cast(7180), static_cast(0u)); goto L_088EDD04; L_088EDD04: ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[4] = (0u | 1u); aot_mem.aot_store8(ctx.gpr[16] + static_cast(104), static_cast(ctx.gpr[4])); aot_mem.aot_store8(ctx.gpr[16] + static_cast(99), static_cast(ctx.gpr[4])); aot_mem.aot_store8(ctx.gpr[16] + static_cast(100), static_cast(0u)); ctx.gpr[5] = (0u | 2u); aot_mem.aot_store16(ctx.gpr[16] + static_cast(7116), static_cast(ctx.gpr[5])); aot_mem.aot_store32(ctx.gpr[16] + static_cast(192), 0u); aot_mem.aot_store32(ctx.gpr[16] + static_cast(320), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store8(ctx.gpr[16] + static_cast(107), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[16] + static_cast(105), static_cast(0u)); ctx.gpr[5] = (0u | 21u); aot_mem.aot_store32(ctx.gpr[16] + static_cast(7108), ctx.gpr[5]); aot_mem.aot_store8(ctx.gpr[16] + static_cast(6858), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[16] + static_cast(84), static_cast(ctx.gpr[4])); aot_mem.aot_store8(ctx.gpr[16] + static_cast(121), static_cast(0u)); ctx.gpr[31] = (0x088EDD4Cu); aot_mem.aot_store8(ctx.gpr[16] + static_cast(122), static_cast(0u)); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x088EDD4Cu) goto L_088EDD4C; return; L_088EDD4C: ctx.gpr[18] = (2233u << 16u); ctx.gpr[17] = (2232u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-26096)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(12960)); { const bool branch_taken = ctx.gpr[2] != 0u; ctx.gpr[19] = (2230u << 16u); if (branch_taken) { goto L_088EDD9C; } goto L_088EDD64; } L_088EDD64: ctx.gpr[4] = (0u | 4u); aot_mem.aot_store16(ctx.gpr[16] + static_cast(7112), static_cast(ctx.gpr[4])); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[19] + 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[18]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[17] + static_cast(2740), ctx.gpr[4]); if (branch_taken) { goto L_088EDDCC; } goto L_088EDD94; } L_088EDD94: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EDE9C; } goto L_088EDD9C; } L_088EDD9C: ctx.gpr[4] = (0u | 18u); ctx.gpr[31] = (0x088EDDA8u); aot_mem.aot_store16(ctx.gpr[16] + static_cast(7112), static_cast(ctx.gpr[4])); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x088EDDA8u) goto L_088EDDA8; return; L_088EDDA8: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[19] + static_cast(-8108))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(2740), ctx.gpr[2]); 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[18]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); goto L_088EDDCC; L_088EDDCC: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(844))); ctx.gpr[6] = (0u | 58u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; // nop if (branch_taken) { goto L_088EDE0C; } goto L_088EDDDC; } L_088EDDDC: ctx.gpr[4] = (0u | 18u); aot_mem.aot_store16(ctx.gpr[16] + static_cast(7112), static_cast(ctx.gpr[4])); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[19] + 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[18]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(1328))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(2740), ctx.gpr[5]); goto L_088EDE0C; L_088EDE0C: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(844))); ctx.gpr[6] = (0u | 56u); if (ctx.gpr[5] == ctx.gpr[6]) { ctx.gpr[4] = (0u | 18u); goto L_088EDE30; } goto L_088EDE1C; L_088EDE1C: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(844))); ctx.gpr[6] = (0u | 53u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; // nop if (branch_taken) { goto L_088EDE5C; } goto L_088EDE2C; } L_088EDE2C: ctx.gpr[4] = (0u | 18u); goto L_088EDE30; L_088EDE30: aot_mem.aot_store16(ctx.gpr[16] + static_cast(7112), static_cast(ctx.gpr[4])); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[19] + 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[18]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(1328))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(2740), ctx.gpr[5]); goto L_088EDE5C; L_088EDE5C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(844))); ctx.gpr[5] = (0u | 60u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; ctx.gpr[4] = (0u | 4u); if (branch_taken) { goto L_088EDE94; } goto L_088EDE6C; } L_088EDE6C: aot_mem.aot_store16(ctx.gpr[16] + static_cast(7112), static_cast(ctx.gpr[4])); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[19] + 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[18]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(2740), ctx.gpr[4]); goto L_088EDE94; L_088EDE94: aot_mem.aot_store8(ctx.gpr[16] + static_cast(112), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[16] + static_cast(113), static_cast(0u)); goto L_088EDE9C; L_088EDE9C: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(0))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(4))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(12))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); 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_088EDEB8: 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[31]); ctx.gpr[31] = (0x088EDED0u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(2736))); if (rt.invoke_chained_direct<&recomp_unit_0027_entry, 27u, 565u, 0x0887322Cu>(ctx, &aot_mem) && ctx.pc == 0x088EDED0u) goto L_088EDED0; return; L_088EDED0: ctx.gpr[31] = (0x088EDED8u); ctx.gpr[4] = (ctx.gpr[16] + static_cast(6864)); if (rt.invoke_chained_direct<&recomp_unit_0128_entry, 128u, 516u, 0x08A06604u>(ctx, &aot_mem) && ctx.pc == 0x088EDED8u) goto L_088EDED8; return; L_088EDED8: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); 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_088EDEE8: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(48), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(52), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(56), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(60), ctx.gpr[31]); ctx.gpr[16] = (ctx.gpr[4] | 0u); { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[16] + static_cast(2688)); { 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[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[4] = (ctx.gpr[16] + static_cast(2704)); { 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[7] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[6] = (ctx.gpr[16] + static_cast(2720)); { 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[8] + static_cast(0))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(220), std::bit_cast(ctx.fpr[12])); { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s); ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t); for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i]; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(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[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); { 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[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } ctx.fpr[22] = ctx.fpr[12] + ctx.fpr[15]; ctx.fpr[22] = std::sqrt(ctx.fpr[22]); ctx.gpr[31] = (0x088EDF60u); ctx.fpr[12] = 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 == 0x088EDF60u) goto L_088EDF60; return; L_088EDF60: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[20] = std::bit_cast(0u); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[4] = (16585u << 16u); if (branch_taken) { goto L_088EDF84; } goto L_088EDF78; } L_088EDF78: ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; goto L_088EDF84; L_088EDF84: ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(24))); ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[16] + static_cast(244), std::bit_cast(ctx.fpr[12])); ctx.gpr[31] = (0x088EDF98u); ctx.fpr[12] = 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 == 0x088EDF98u) goto L_088EDF98; return; L_088EDF98: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.set_fpu_condition((ctx.fpr[22] < ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[4] = (16585u << 16u); if (branch_taken) { goto L_088EDFB8; } goto L_088EDFAC; } L_088EDFAC: ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[22] = ctx.fpr[22] + ctx.fpr[12]; goto L_088EDFB8; L_088EDFB8: aot_mem.aot_store32(ctx.gpr[16] + static_cast(240), std::bit_cast(ctx.fpr[22])); ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(48))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(52))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(56))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(60))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EDFD4: ctx.gpr[5] = (0u | 1u); aot_mem.aot_store8(ctx.gpr[4] + static_cast(117), static_cast(ctx.gpr[5])); ctx.gpr[4] = (2230u << 16u); jump_target = ctx.gpr[31]; aot_mem.aot_store8(ctx.gpr[4] + static_cast(-7940), static_cast(0u)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EDFE8: ctx.gpr[7] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(117))); ctx.gpr[8] = (0u | 1u); ctx.gpr[6] = (0u | 1u); { const bool branch_taken = ctx.gpr[7] != ctx.gpr[8]; ctx.gpr[5] = (2230u << 16u); if (branch_taken) { goto L_088EE008; } goto L_088EDFFC; } L_088EDFFC: aot_mem.aot_store8(ctx.gpr[4] + static_cast(116), static_cast(ctx.gpr[6])); { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-7088))); if (branch_taken) { goto L_088EE010; } goto L_088EE008; } L_088EE008: aot_mem.aot_store8(ctx.gpr[4] + static_cast(116), static_cast(0u)); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-7088))); goto L_088EE010; L_088EE010: ctx.gpr[5] = (2230u << 16u); aot_mem.aot_store8(ctx.gpr[5] + static_cast(-7940), static_cast(ctx.gpr[6])); ctx.gpr[5] = (2230u << 16u); jump_target = ctx.gpr[31]; aot_mem.aot_store32(ctx.gpr[5] + static_cast(-7908), ctx.gpr[4]); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EE024: ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(116))); { const bool branch_taken = ctx.gpr[5] != 0u; ctx.fpr[12] = std::bit_cast(0u); if (branch_taken) { goto L_088EE048; } goto L_088EE030; } L_088EE030: aot_mem.aot_store32(ctx.gpr[4] + static_cast(296), std::bit_cast(ctx.fpr[12])); ctx.gpr[5] = (16256u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[4] + static_cast(324), std::bit_cast(ctx.fpr[12])); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[4] + static_cast(368), std::bit_cast(ctx.fpr[13])); if (branch_taken) { goto L_088EE05C; } goto L_088EE048; } L_088EE048: aot_mem.aot_store8(ctx.gpr[4] + static_cast(116), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[4] + static_cast(117), static_cast(0u)); aot_mem.aot_store32(ctx.gpr[4] + static_cast(324), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[4] + static_cast(296), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[4] + static_cast(368), std::bit_cast(ctx.fpr[12])); goto L_088EE05C; L_088EE05C: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EE064: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); ctx.gpr[5] = (ctx.gpr[5] << 16u); ctx.gpr[6] = (0u | 1u); ctx.gpr[5] = (static_cast(static_cast(ctx.gpr[5]) >> 16u)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[31]); ctx.gpr[31] = (0x088EE080u); aot_mem.aot_store8(ctx.gpr[4] + static_cast(6857), static_cast(ctx.gpr[6])); if (rt.invoke_chained_direct<&recomp_unit_0064_entry, 64u, 758u, 0x08907FD0u>(ctx, &aot_mem) && ctx.pc == 0x088EE080u) goto L_088EE080; return; L_088EE080: ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); 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_088EE08C: 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[16] + static_cast(2736), ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[31]); ctx.gpr[31] = (0x088EE0ACu); ctx.gpr[4] = (ctx.gpr[5] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0027_entry, 27u, 601u, 0x08873590u>(ctx, &aot_mem) && ctx.pc == 0x088EE0ACu) goto L_088EE0AC; return; L_088EE0AC: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(6928))); ctx.gpr[17] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(6932))); if (branch_taken) { goto L_088EE0D4; } goto L_088EE0BC; } L_088EE0BC: ctx.gpr[6] = (ctx.gpr[4] & 1u); if (ctx.gpr[6] == 0u) { ctx.gpr[5] = (0u + static_cast(-2)); goto L_088EE0D8; } goto L_088EE0C8; L_088EE0C8: ctx.gpr[31] = (0x088EE0D0u); ctx.gpr[4] = (ctx.gpr[5] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0134_entry, 134u, 263u, 0x08A1D574u>(ctx, &aot_mem) && ctx.pc == 0x088EE0D0u) goto L_088EE0D0; return; L_088EE0D0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(6932))); goto L_088EE0D4; L_088EE0D4: ctx.gpr[5] = (0u + static_cast(-2)); goto L_088EE0D8; L_088EE0D8: aot_mem.aot_store32(ctx.gpr[16] + static_cast(6928), ctx.gpr[17]); ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[16] + static_cast(6932), ctx.gpr[4]); ctx.gpr[31] = (0x088EE0ECu); ctx.gpr[4] = (ctx.gpr[16] + static_cast(6864)); if (rt.invoke_chained_direct<&recomp_unit_0128_entry, 128u, 516u, 0x08A06604u>(ctx, &aot_mem) && ctx.pc == 0x088EE0ECu) goto L_088EE0EC; return; L_088EE0EC: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(2736))); ctx.gpr[31] = (0x088EE0F8u); ctx.gpr[4] = (ctx.gpr[16] + static_cast(7128)); if (rt.invoke_chained_direct<&recomp_unit_0057_entry, 57u, 366u, 0x088E9FF8u>(ctx, &aot_mem) && ctx.pc == 0x088EE0F8u) goto L_088EE0F8; return; L_088EE0F8: 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_088EE10C: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(127))); ctx.gpr[5] = (ctx.gpr[5] << 4u); ctx.gpr[6] = (0u + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 3u); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[4] + ctx.gpr[5]); ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(832))); ctx.fpr[13] = ctx.fpr[16] - ctx.fpr[13]; ctx.fpr[17] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(836))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(36), std::bit_cast(ctx.fpr[20])); ctx.fpr[14] = ctx.fpr[17] - ctx.fpr[14]; { 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[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(840))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(ctx.fpr[13])); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[15]; ctx.fpr[13] = ctx.fpr[18] + ctx.fpr[13]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(40), std::bit_cast(ctx.fpr[22])); ctx.fpr[22] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(44), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(48), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(52), ctx.gpr[31]); ctx.fpr[13] = std::sqrt(ctx.fpr[13]); { 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; } { 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.fpr[12] = ctx.fpr[13] + ctx.fpr[12]; ctx.fpr[12] = std::sqrt(ctx.fpr[12]); ctx.gpr[5] = (17096u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.gpr[17] = (2230u << 16u); ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); ctx.gpr[16] = (ctx.gpr[4] | 0u); if (branch_taken) { goto L_088EE1B0; } goto L_088EE1AC; } L_088EE1AC: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[13])); goto L_088EE1B0; L_088EE1B0: ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[22])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EE1C4; } goto L_088EE1C0; } L_088EE1C0: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[22])); goto L_088EE1C4; L_088EE1C4: ctx.gpr[31] = (0x088EE1CCu); // nop if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x088EE1CCu) goto L_088EE1CC; return; L_088EE1CC: ctx.gpr[4] = (2227u << 16u); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(23604))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(23600))); ctx.gpr[5] = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x088EE1E4u); ctx.gpr[4] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 446u, 0x08AF62D8u>(ctx, &aot_mem) && ctx.pc == 0x088EE1E4u) goto L_088EE1E4; return; L_088EE1E4: ctx.gpr[4] = (2227u << 16u); ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(23612))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(23608))); ctx.gpr[5] = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x088EE1FCu); ctx.gpr[4] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 436u, 0x08AF61FCu>(ctx, &aot_mem) && ctx.pc == 0x088EE1FCu) goto L_088EE1FC; return; L_088EE1FC: ctx.gpr[5] = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x088EE208u); ctx.gpr[4] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 561u, 0x08AF6AF8u>(ctx, &aot_mem) && ctx.pc == 0x088EE208u) goto L_088EE208; return; L_088EE208: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(128))); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-8148))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(284))); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); { const bool branch_taken = static_cast(ctx.gpr[4]) >= 0; ctx.fpr[14] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); if (branch_taken) { goto L_088EE234; } goto L_088EE228; } L_088EE228: ctx.gpr[4] = (20352u << 16u); ctx.fpr[15] = std::bit_cast(ctx.gpr[4]); ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[15]; goto L_088EE234; L_088EE234: 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[14]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.gpr[4] = (16384u << 16u); ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[14]; { 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[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[14] = std::bit_cast(ctx.gpr[4]); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[14])); // nop if (ctx.fpu_condition()) { ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[13])); goto L_088EE264; } goto L_088EE264; L_088EE264: ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.set_fpu_condition((ctx.fpr[14] <= ctx.fpr[13])); // nop if (!ctx.fpu_condition()) { ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[14])); goto L_088EE278; } goto L_088EE278; L_088EE278: { const float fs = ctx.fpr[12]; 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; } ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EE298; } goto L_088EE28C; } L_088EE28C: aot_mem.aot_store32(ctx.gpr[16] + static_cast(284), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-8148))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(128), ctx.gpr[4]); goto L_088EE298; L_088EE298: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(36))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(40))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(44))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(48))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(52))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EE2B4: { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[4] + static_cast(2432)); { 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])); } jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EE2C8: ctx.gpr[8] = (ctx.gpr[7] | 0u); ctx.gpr[7] = (ctx.gpr[5] << 16u); ctx.gpr[9] = (2227u << 16u); ctx.gpr[6] = (ctx.gpr[6] << 16u); ctx.gpr[5] = (ctx.gpr[8] << 16u); ctx.gpr[9] = (aot_mem.aot_load8(ctx.gpr[9] + static_cast(1420))); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 16u)); ctx.gpr[8] = (0u | 1u); { const bool branch_taken = ctx.gpr[9] == ctx.gpr[8]; ctx.gpr[5] = (static_cast(static_cast(ctx.gpr[5]) >> 16u)); if (branch_taken) { goto L_088EE334; } goto L_088EE2F4; } L_088EE2F4: aot_mem.aot_store16(ctx.gpr[4] + static_cast(2388), static_cast(ctx.gpr[7])); ctx.fpr[12] = std::bit_cast(0u); aot_mem.aot_store16(ctx.gpr[4] + static_cast(2398), static_cast(ctx.gpr[5])); aot_mem.aot_store16(ctx.gpr[4] + static_cast(2396), static_cast(ctx.gpr[6])); aot_mem.aot_store32(ctx.gpr[4] + static_cast(2392), std::bit_cast(ctx.fpr[12])); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(94))); { const bool branch_taken = ctx.gpr[5] != 0u; // nop if (branch_taken) { goto L_088EE32C; } goto L_088EE314; } L_088EE314: ctx.gpr[5] = (2230u << 16u); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[5] + static_cast(-7084))); if (ctx.gpr[5] == 0u) { ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(127))); goto L_088EE33C; } goto L_088EE324; L_088EE324: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EE3A4; } goto L_088EE32C; } L_088EE32C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EE3A4; } goto L_088EE334; } L_088EE334: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EE3A4; } goto L_088EE33C; } L_088EE33C: ctx.gpr[5] = (ctx.gpr[5] << 4u); ctx.gpr[6] = (0u + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 3u); ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(428)))))); ctx.gpr[5] = (0u | 15u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; ctx.gpr[4] = (0u | 7u); if (branch_taken) { goto L_088EE3A4; } goto L_088EE368; } L_088EE368: { const bool branch_taken = ctx.gpr[7] == ctx.gpr[4]; ctx.gpr[4] = (0u | 8u); if (branch_taken) { goto L_088EE388; } goto L_088EE370; } L_088EE370: { const bool branch_taken = ctx.gpr[7] == ctx.gpr[4]; ctx.gpr[4] = (0u | 46u); if (branch_taken) { goto L_088EE388; } goto L_088EE378; } L_088EE378: { const bool branch_taken = ctx.gpr[7] == ctx.gpr[4]; ctx.gpr[4] = (0u | 34u); if (branch_taken) { goto L_088EE388; } goto L_088EE380; } L_088EE380: { const bool branch_taken = ctx.gpr[7] != ctx.gpr[4]; // nop if (branch_taken) { goto L_088EE3A4; } goto L_088EE388; } L_088EE388: 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_088EE3A4; } goto L_088EE398; } L_088EE398: ctx.gpr[4] = (0u | 1u); ctx.gpr[5] = (2230u << 16u); aot_mem.aot_store8(ctx.gpr[5] + static_cast(-7083), static_cast(ctx.gpr[4])); goto L_088EE3A4; L_088EE3A4: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EE3AC: ctx.gpr[6] = (2227u << 16u); ctx.gpr[6] = (aot_mem.aot_load8(ctx.gpr[6] + static_cast(1420))); ctx.gpr[5] = (0u | 1u); { const bool branch_taken = ctx.gpr[6] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088EE3D4; } goto L_088EE3C0; } L_088EE3C0: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(7172))); { const bool branch_taken = ctx.gpr[6] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088EE3DC; } goto L_088EE3CC; } L_088EE3CC: { const bool branch_taken = 0u == 0u; aot_mem.aot_store16(ctx.gpr[4] + static_cast(2388), static_cast(0u)); if (branch_taken) { goto L_088EE3E4; } goto L_088EE3D4; } L_088EE3D4: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EE410; } goto L_088EE3DC; } L_088EE3DC: aot_mem.aot_store32(ctx.gpr[4] + static_cast(7172), 0u); aot_mem.aot_store16(ctx.gpr[4] + static_cast(2388), static_cast(0u)); goto L_088EE3E4; L_088EE3E4: ctx.fpr[12] = std::bit_cast(0u); aot_mem.aot_store16(ctx.gpr[4] + static_cast(2398), static_cast(ctx.gpr[5])); ctx.gpr[5] = (0u + static_cast(-1)); aot_mem.aot_store16(ctx.gpr[4] + static_cast(2396), static_cast(ctx.gpr[5])); aot_mem.aot_store32(ctx.gpr[4] + static_cast(2392), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(-7084))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088EE410; } goto L_088EE408; } L_088EE408: ctx.gpr[4] = (2230u << 16u); aot_mem.aot_store8(ctx.gpr[4] + static_cast(-7083), static_cast(0u)); goto L_088EE410; L_088EE410: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EE418: ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(2388)))))); ctx.gpr[5] = (0u | 7u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; ctx.gpr[5] = (0u | 34u); if (branch_taken) { goto L_088EE448; } goto L_088EE428; } L_088EE428: { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; ctx.gpr[5] = (0u | 8u); if (branch_taken) { goto L_088EE448; } goto L_088EE430; } L_088EE430: { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; ctx.gpr[5] = (0u | 45u); if (branch_taken) { goto L_088EE448; } goto L_088EE438; } L_088EE438: { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; ctx.gpr[5] = (0u | 46u); if (branch_taken) { goto L_088EE448; } goto L_088EE440; } L_088EE440: { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_088EE450; } goto L_088EE448; } L_088EE448: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_088EE454; } goto L_088EE450; } L_088EE450: ctx.gpr[2] = (0u | 0u); goto L_088EE454; L_088EE454: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EE45C: { 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[4] + static_cast(2464)); { 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[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[5] = (ctx.gpr[4] + static_cast(2480)); { 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])); } jump_target = ctx.gpr[31]; aot_mem.aot_store8(ctx.gpr[4] + static_cast(6856), static_cast(0u)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EE47C: { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[4] + static_cast(2496)); { 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])); } jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EE490: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[18]); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[18] = (ctx.gpr[6] << 16u); ctx.gpr[17] = (ctx.gpr[7] << 16u); ctx.gpr[4] = (ctx.gpr[5] | 0u); ctx.gpr[18] = (static_cast(static_cast(ctx.gpr[18]) >> 16u)); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); ctx.gpr[6] = (0u | 2u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(12), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; ctx.gpr[5] = (0u | 1u); if (branch_taken) { goto L_088EE4E0; } goto L_088EE4CC; } L_088EE4CC: ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(192))); ctx.gpr[7] = (0u | 1u); { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; // nop if (branch_taken) { goto L_088EE4E0; } goto L_088EE4DC; } L_088EE4DC: ctx.gpr[5] = (0u | 0u); goto L_088EE4E0; L_088EE4E0: { const bool branch_taken = ctx.gpr[5] == 0u; // nop if (branch_taken) { goto L_088EE5B4; } goto L_088EE4E8; } L_088EE4E8: ctx.gpr[19] = (2232u << 16u); aot_mem.aot_store32(ctx.gpr[16] + static_cast(192), ctx.gpr[8]); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(12960)); if (branch_taken) { goto L_088EE544; } goto L_088EE4F8; } L_088EE4F8: ctx.gpr[31] = (0x088EE500u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x088EE500u) goto L_088EE500; return; L_088EE500: { const bool branch_taken = ctx.gpr[2] == 0u; ctx.gpr[4] = (2230u << 16u); if (branch_taken) { goto L_088EE518; } goto L_088EE508; } L_088EE508: ctx.gpr[31] = (0x088EE510u); // nop if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x088EE510u) goto L_088EE510; return; L_088EE510: { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_088EE594; } goto L_088EE518; } L_088EE518: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(-8108))); ctx.gpr[5] = (ctx.gpr[4] << 7u); ctx.gpr[6] = (ctx.gpr[5] + ctx.gpr[5]); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]); ctx.gpr[5] = (2233u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-26096)); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); if (branch_taken) { goto L_088EE594; } goto L_088EE544; } L_088EE544: { const bool branch_taken = ctx.gpr[18] != 0u; // nop if (branch_taken) { goto L_088EE594; } goto L_088EE54C; } L_088EE54C: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(2740))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(68))); ctx.gpr[6] = (ctx.gpr[6] & 14u); ctx.gpr[6] = (ctx.gpr[6] ^ 6u); ctx.gpr[6] = (ctx.gpr[6] < static_cast(1) ? 1u : 0u); ctx.gpr[6] = (ctx.gpr[6] & 255u); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_088EE574; } goto L_088EE56C; } L_088EE56C: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (0u | 4u); if (branch_taken) { goto L_088EE594; } goto L_088EE574; } L_088EE574: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(68))); ctx.gpr[5] = (ctx.gpr[5] & 14u); ctx.gpr[5] = (ctx.gpr[5] ^ 4u); ctx.gpr[5] = (ctx.gpr[5] < static_cast(1) ? 1u : 0u); ctx.gpr[5] = (ctx.gpr[5] & 255u); { const bool branch_taken = ctx.gpr[5] == 0u; // nop if (branch_taken) { goto L_088EE594; } goto L_088EE590; } L_088EE590: ctx.gpr[18] = (0u | 18u); goto L_088EE594; L_088EE594: aot_mem.aot_store8(ctx.gpr[16] + static_cast(100), static_cast(0u)); aot_mem.aot_store32(ctx.gpr[19] + static_cast(2740), ctx.gpr[4]); aot_mem.aot_store16(ctx.gpr[16] + static_cast(7112), static_cast(ctx.gpr[18])); aot_mem.aot_store16(ctx.gpr[16] + static_cast(7116), static_cast(ctx.gpr[17])); aot_mem.aot_store8(ctx.gpr[16] + static_cast(99), static_cast(0u)); ctx.gpr[4] = (0u | 1u); ctx.gpr[31] = (0x088EE5B4u); aot_mem.aot_store8(ctx.gpr[16] + static_cast(106), static_cast(ctx.gpr[4])); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x088EE5B4u) goto L_088EE5B4; return; L_088EE5B4: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(0))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(4))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(12))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); 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_088EE5D0: ctx.gpr[8] = (ctx.gpr[6] << 16u); ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 16u)); ctx.gpr[9] = (0u | 2u); { const bool branch_taken = ctx.gpr[7] != ctx.gpr[9]; ctx.gpr[6] = (0u | 1u); if (branch_taken) { goto L_088EE5F8; } goto L_088EE5E4; } L_088EE5E4: ctx.gpr[9] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(192))); ctx.gpr[10] = (0u | 1u); { const bool branch_taken = ctx.gpr[9] != ctx.gpr[10]; // nop if (branch_taken) { goto L_088EE5F8; } goto L_088EE5F4; } L_088EE5F4: ctx.gpr[6] = (0u | 0u); goto L_088EE5F8; L_088EE5F8: { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_088EE62C; } goto L_088EE600; } L_088EE600: aot_mem.aot_store32(ctx.gpr[4] + static_cast(192), ctx.gpr[7]); ctx.gpr[6] = (0u | 1u); aot_mem.aot_store8(ctx.gpr[4] + static_cast(100), static_cast(ctx.gpr[6])); ctx.gpr[7] = (0u | 15u); aot_mem.aot_store16(ctx.gpr[4] + static_cast(7112), static_cast(ctx.gpr[7])); aot_mem.aot_store8(ctx.gpr[4] + static_cast(99), static_cast(0u)); { 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[4] + static_cast(2448)); { 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])); } aot_mem.aot_store16(ctx.gpr[4] + static_cast(7116), static_cast(ctx.gpr[8])); aot_mem.aot_store8(ctx.gpr[4] + static_cast(106), static_cast(ctx.gpr[6])); goto L_088EE62C; L_088EE62C: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EE634: ctx.gpr[6] = (0u | 1u); aot_mem.aot_store8(ctx.gpr[4] + static_cast(7180), static_cast(ctx.gpr[6])); ctx.gpr[7] = (0u | 17u); aot_mem.aot_store16(ctx.gpr[4] + static_cast(7112), static_cast(ctx.gpr[7])); aot_mem.aot_store8(ctx.gpr[4] + static_cast(99), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[4] + static_cast(100), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[4] + static_cast(85), static_cast(0u)); aot_mem.aot_store16(ctx.gpr[4] + static_cast(7116), static_cast(ctx.gpr[5])); jump_target = ctx.gpr[31]; aot_mem.aot_store8(ctx.gpr[4] + static_cast(106), static_cast(ctx.gpr[6])); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EE65C: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(7180))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(0), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(12), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[5] != 0u; ctx.gpr[16] = (ctx.gpr[4] | 0u); if (branch_taken) { goto L_088EE708; } goto L_088EE688; } L_088EE688: ctx.gpr[20] = (0u | 1u); ctx.fpr[20] = std::bit_cast(0u); aot_mem.aot_store8(ctx.gpr[16] + static_cast(99), static_cast(ctx.gpr[20])); aot_mem.aot_store8(ctx.gpr[16] + static_cast(100), static_cast(0u)); ctx.gpr[4] = (0u | 1u); aot_mem.aot_store16(ctx.gpr[16] + static_cast(7116), static_cast(ctx.gpr[4])); aot_mem.aot_store8(ctx.gpr[16] + static_cast(105), static_cast(0u)); ctx.gpr[4] = (0u | 21u); aot_mem.aot_store32(ctx.gpr[16] + static_cast(7108), ctx.gpr[4]); aot_mem.aot_store32(ctx.gpr[16] + static_cast(320), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store8(ctx.gpr[16] + static_cast(107), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[16] + static_cast(6858), static_cast(0u)); ctx.gpr[31] = (0x088EE6C0u); aot_mem.aot_store32(ctx.gpr[16] + static_cast(192), 0u); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x088EE6C0u) goto L_088EE6C0; return; L_088EE6C0: ctx.gpr[18] = (2233u << 16u); ctx.gpr[17] = (2232u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-26096)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(12960)); { const bool branch_taken = ctx.gpr[2] != 0u; ctx.gpr[19] = (2230u << 16u); if (branch_taken) { goto L_088EE710; } goto L_088EE6D8; } L_088EE6D8: ctx.gpr[4] = (0u | 4u); aot_mem.aot_store16(ctx.gpr[16] + static_cast(7112), static_cast(ctx.gpr[4])); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[19] + 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[18]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[17] + static_cast(2740), ctx.gpr[4]); if (branch_taken) { goto L_088EE740; } goto L_088EE708; } L_088EE708: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EE824; } goto L_088EE710; } L_088EE710: ctx.gpr[4] = (0u | 18u); ctx.gpr[31] = (0x088EE71Cu); aot_mem.aot_store16(ctx.gpr[16] + static_cast(7112), static_cast(ctx.gpr[4])); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x088EE71Cu) goto L_088EE71C; return; L_088EE71C: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[19] + static_cast(-8108))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(2740), ctx.gpr[2]); 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[18]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); goto L_088EE740; L_088EE740: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(844))); ctx.gpr[6] = (0u | 58u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; // nop if (branch_taken) { goto L_088EE780; } goto L_088EE750; } L_088EE750: ctx.gpr[4] = (0u | 18u); aot_mem.aot_store16(ctx.gpr[16] + static_cast(7112), static_cast(ctx.gpr[4])); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[19] + 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[18]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(1328))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(2740), ctx.gpr[5]); goto L_088EE780; L_088EE780: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(844))); ctx.gpr[6] = (0u | 56u); if (ctx.gpr[5] == ctx.gpr[6]) { ctx.gpr[4] = (0u | 18u); goto L_088EE7A4; } goto L_088EE790; L_088EE790: ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(844))); ctx.gpr[6] = (0u | 53u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; // nop if (branch_taken) { goto L_088EE7D0; } goto L_088EE7A0; } L_088EE7A0: ctx.gpr[4] = (0u | 18u); goto L_088EE7A4; L_088EE7A4: aot_mem.aot_store16(ctx.gpr[16] + static_cast(7112), static_cast(ctx.gpr[4])); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[19] + 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[18]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(1328))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(2740), ctx.gpr[5]); goto L_088EE7D0; L_088EE7D0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(844))); ctx.gpr[5] = (0u | 60u); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; ctx.gpr[4] = (0u | 4u); if (branch_taken) { goto L_088EE808; } goto L_088EE7E0; } L_088EE7E0: aot_mem.aot_store16(ctx.gpr[16] + static_cast(7112), static_cast(ctx.gpr[4])); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[19] + 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[18]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(2740), ctx.gpr[4]); goto L_088EE808; L_088EE808: aot_mem.aot_store8(ctx.gpr[16] + static_cast(121), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[16] + static_cast(122), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[16] + static_cast(112), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[16] + static_cast(113), static_cast(0u)); aot_mem.aot_store8(ctx.gpr[16] + static_cast(106), static_cast(ctx.gpr[20])); aot_mem.aot_store8(ctx.gpr[16] + static_cast(84), static_cast(ctx.gpr[20])); aot_mem.aot_store32(ctx.gpr[16] + static_cast(360), std::bit_cast(ctx.fpr[20])); goto L_088EE824; L_088EE824: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(0))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(4))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(8))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(12))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.gpr[20] = (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_088EE848: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(28), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[5] & 255u); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(6848))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[6] & 255u); ctx.gpr[17] = (ctx.gpr[7] & 255u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(32), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[5] != 0u; ctx.gpr[16] = (ctx.gpr[4] | 0u); if (branch_taken) { goto L_088EE8CC; } goto L_088EE878; } L_088EE878: ctx.gpr[4] = (2227u << 16u); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(3183))); ctx.gpr[5] = (17279u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = static_cast(static_cast(std::bit_cast(ctx.fpr[12]))); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[13])) && ctx.fpr[12] == ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EE8CC; } goto L_088EE8A0; } L_088EE8A0: ctx.gpr[4] = (2225u << 16u); ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088EE8B8u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(15808)); if (rt.invoke_chained_direct<&recomp_unit_0057_entry, 57u, 402u, 0x088EA3F8u>(ctx, &aot_mem) && ctx.pc == 0x088EE8B8u) goto L_088EE8B8; return; L_088EE8B8: ctx.gpr[4] = (0u | 2u); { const bool branch_taken = ctx.gpr[19] == ctx.gpr[4]; aot_mem.aot_store8(ctx.gpr[16] + static_cast(125), static_cast(0u)); if (branch_taken) { goto L_088EE8D4; } goto L_088EE8C4; } L_088EE8C4: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EE8EC; } goto L_088EE8CC; } L_088EE8CC: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EE904; } goto L_088EE8D4; } L_088EE8D4: { const bool branch_taken = ctx.gpr[18] != ctx.gpr[4]; // nop if (branch_taken) { goto L_088EE8EC; } goto L_088EE8DC; } L_088EE8DC: { const bool branch_taken = ctx.gpr[17] != ctx.gpr[4]; // nop if (branch_taken) { goto L_088EE8EC; } goto L_088EE8E4; } L_088EE8E4: ctx.gpr[4] = (0u | 1u); aot_mem.aot_store8(ctx.gpr[16] + static_cast(125), static_cast(ctx.gpr[4])); goto L_088EE8EC; L_088EE8EC: ctx.gpr[4] = (2227u << 16u); aot_mem.aot_store8(ctx.gpr[4] + static_cast(3180), static_cast(ctx.gpr[19])); ctx.gpr[4] = (2227u << 16u); aot_mem.aot_store8(ctx.gpr[4] + static_cast(3181), static_cast(ctx.gpr[18])); ctx.gpr[4] = (2227u << 16u); aot_mem.aot_store8(ctx.gpr[4] + static_cast(3182), static_cast(ctx.gpr[17])); goto L_088EE904; L_088EE904: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(24))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(28))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(32))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EE920: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(40), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(44), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(56), ctx.gpr[19]); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[12])); ctx.gpr[19] = (ctx.gpr[5] << 16u); ctx.gpr[16] = (ctx.gpr[4] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(48), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(52), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(60), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), ctx.gpr[22]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(72), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(76), ctx.gpr[31]); ctx.gpr[31] = (0x088EE960u); ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[19]) >> 16u)); goto L_088ED164; L_088EE960: ctx.gpr[4] = (0u | 2u); ctx.gpr[18] = (0u | 1u); { const bool branch_taken = ctx.gpr[2] != ctx.gpr[4]; ctx.gpr[17] = (2230u << 16u); if (branch_taken) { goto L_088EEA1C; } goto L_088EE970; } L_088EE970: { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { goto L_088EEA1C; } goto L_088EE978; } L_088EE978: ctx.gpr[4] = (2233u << 16u); ctx.gpr[31] = (0x088EE984u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-4832)); if (rt.invoke_chained_direct<&recomp_unit_0181_entry, 181u, 587u, 0x08ADA66Cu>(ctx, &aot_mem) && ctx.pc == 0x088EE984u) goto L_088EE984; return; L_088EE984: ctx.gpr[31] = (0x088EE98Cu); // nop if (rt.invoke_chained_direct<&recomp_unit_0069_entry, 69u, 754u, 0x0891B6F8u>(ctx, &aot_mem) && ctx.pc == 0x088EE98Cu) goto L_088EE98C; return; L_088EE98C: ctx.gpr[31] = (0x088EE994u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0063_entry, 63u, 215u, 0x08900D14u>(ctx, &aot_mem) && ctx.pc == 0x088EE994u) goto L_088EE994; return; L_088EE994: ctx.gpr[20] = (ctx.gpr[16] + static_cast(48)); ctx.gpr[4] = (2225u << 16u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(0))); ctx.gpr[31] = (0x088EE9A8u); ctx.gpr[21] = (ctx.gpr[4] + static_cast(15840)); if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x088EE9A8u) goto L_088EE9A8; return; L_088EE9A8: ctx.gpr[23] = (ctx.gpr[3] | 0u); ctx.gpr[22] = (ctx.gpr[2] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(32), ctx.gpr[22]); ctx.gpr[31] = (0x088EE9C0u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(4))); if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x088EE9C0u) goto L_088EE9C0; return; L_088EE9C0: ctx.gpr[23] = (ctx.gpr[3] | 0u); ctx.gpr[22] = (ctx.gpr[2] | 0u); ctx.gpr[31] = (0x088EE9D0u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[20] + static_cast(8))); if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x088EE9D0u) goto L_088EE9D0; return; L_088EE9D0: ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(36))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(32))); ctx.gpr[4] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[11] = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x088EE9F0u); ctx.gpr[10] = (ctx.gpr[2] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0057_entry, 57u, 402u, 0x088EA3F8u>(ctx, &aot_mem) && ctx.pc == 0x088EE9F0u) goto L_088EE9F0; return; L_088EE9F0: ctx.gpr[31] = (0x088EE9F8u); ctx.gpr[4] = (ctx.gpr[20] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0112_entry, 112u, 574u, 0x089C676Cu>(ctx, &aot_mem) && ctx.pc == 0x088EE9F8u) goto L_088EE9F8; return; L_088EE9F8: ctx.gpr[31] = (0x088EEA00u); // nop if (rt.invoke_chained_direct<&recomp_unit_0171_entry, 171u, 638u, 0x08AB3900u>(ctx, &aot_mem) && ctx.pc == 0x088EEA00u) goto L_088EEA00; return; L_088EEA00: ctx.gpr[4] = (2233u << 16u); ctx.gpr[31] = (0x088EEA0Cu); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-26768)); if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 799u, 0x08AA3C24u>(ctx, &aot_mem) && ctx.pc == 0x088EEA0Cu) goto L_088EEA0C; return; L_088EEA0C: ctx.gpr[31] = (0x088EEA14u); // nop if (rt.invoke_chained_direct<&recomp_unit_0113_entry, 113u, 764u, 0x089CB354u>(ctx, &aot_mem) && ctx.pc == 0x088EEA14u) goto L_088EEA14; return; L_088EEA14: ctx.gpr[31] = (0x088EEA1Cu); // nop if (rt.invoke_chained_direct<&recomp_unit_0069_entry, 69u, 756u, 0x0891B71Cu>(ctx, &aot_mem) && ctx.pc == 0x088EEA1Cu) goto L_088EEA1C; return; L_088EEA1C: aot_mem.aot_store8(ctx.gpr[16] + static_cast(6848), static_cast(ctx.gpr[18])); aot_mem.aot_store8(ctx.gpr[16] + static_cast(6849), static_cast(ctx.gpr[18])); aot_mem.aot_store16(ctx.gpr[16] + static_cast(7104), static_cast(ctx.gpr[19])); aot_mem.aot_store32(ctx.gpr[16] + static_cast(7064), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-8148))); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(93))); { const bool branch_taken = ctx.gpr[5] != 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(7120), ctx.gpr[4]); if (branch_taken) { goto L_088EEA50; } goto L_088EEA3C; } L_088EEA3C: aot_mem.aot_store8(ctx.gpr[16] + static_cast(6859), static_cast(ctx.gpr[18])); aot_mem.aot_store16(ctx.gpr[16] + static_cast(7114), static_cast(ctx.gpr[19])); aot_mem.aot_store32(ctx.gpr[16] + static_cast(7068), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(-8148))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(7124), ctx.gpr[4]); goto L_088EEA50; L_088EEA50: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(40))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(44))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(48))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(52))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(56))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(60))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(72))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(76))); 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_088EEA80: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-144)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(116), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(120), ctx.gpr[17]); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[17] = (ctx.gpr[29] + static_cast(16)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(124), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[16] + static_cast(6768)); ctx.gpr[4] = (ctx.gpr[17] | 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(112), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(128), ctx.gpr[31]); ctx.gpr[31] = (0x088EEAB0u); ctx.gpr[5] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0128_entry, 128u, 510u, 0x08A0650Cu>(ctx, &aot_mem) && ctx.pc == 0x088EEAB0u) goto L_088EEAB0; return; L_088EEAB0: ctx.gpr[4] = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x088EEABCu); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0128_entry, 128u, 527u, 0x08A06A44u>(ctx, &aot_mem) && ctx.pc == 0x088EEABCu) goto L_088EEABC; return; L_088EEABC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); ctx.gpr[4] = (ctx.gpr[4] & 1u); { const bool branch_taken = ctx.gpr[4] == 0u; ctx.fpr[20] = std::bit_cast(0u); if (branch_taken) { goto L_088EEAE0; } goto L_088EEACC; } L_088EEACC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088EEAE0; } goto L_088EEAD8; } L_088EEAD8: ctx.gpr[31] = (0x088EEAE0u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); if (rt.invoke_chained_direct<&recomp_unit_0134_entry, 134u, 263u, 0x08A1D574u>(ctx, &aot_mem) && ctx.pc == 0x088EEAE0u) goto L_088EEAE0; return; L_088EEAE0: ctx.gpr[4] = (2227u << 16u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(3172))); ctx.gpr[4] = (15502u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 63777u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[4] = (16128u << 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.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[14] = std::bit_cast(std::bit_cast(ctx.fpr[14]) ^ 0x80000000u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(96), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(100), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(104), std::bit_cast(ctx.fpr[20])); ctx.gpr[4] = (ctx.gpr[29] + static_cast(96)); { 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[16] + static_cast(6944)); { 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[13] = std::bit_cast(std::bit_cast(ctx.fpr[13]) ^ 0x80000000u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(96), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(100), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(104), std::bit_cast(ctx.fpr[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); } ctx.gpr[5] = (ctx.gpr[16] + static_cast(6960)); { 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[5] = (2229u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(27024))); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); ctx.gpr[5] = (2229u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(27020))); ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); ctx.fpr[14] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); ctx.fpr[13] = ctx.fpr[13] / ctx.fpr[14]; { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]); { 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[5] = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]); { 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[5] = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[14]) ^ 0x80000000u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[13]) ^ 0x80000000u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(96), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(100), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(104), std::bit_cast(ctx.fpr[15])); { 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[16] + static_cast(6976)); { 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])); } aot_mem.aot_store32(ctx.gpr[29] + static_cast(96), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(100), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(104), std::bit_cast(ctx.fpr[13])); { 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(6992)); { 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[16] + static_cast(16))); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[20])) && ctx.fpr[12] == ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EEC4C; } goto L_088EEC24; } L_088EEC24: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(20))); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[20])) && ctx.fpr[12] == ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EEC4C; } goto L_088EEC38; } L_088EEC38: ctx.gpr[4] = (14545u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 46871u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(16), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088EEC90; } goto L_088EEC4C; } L_088EEC4C: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(16))); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[13]) || std::isnan(ctx.fpr[20])) && ctx.fpr[13] == ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(20))); if (branch_taken) { goto L_088EEC78; } goto L_088EEC60; } L_088EEC60: ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[20])) && ctx.fpr[12] == ctx.fpr[20])); // nop if (!ctx.fpu_condition()) { ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[12])); goto L_088EEC7C; } goto L_088EEC70; L_088EEC70: { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (branch_taken) { goto L_088EEC8C; } goto L_088EEC78; } L_088EEC78: ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[12])); goto L_088EEC7C; L_088EEC7C: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[13])); ctx.gpr[31] = (0x088EEC88u); 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 == 0x088EEC88u) goto L_088EEC88; return; L_088EEC88: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_088EEC8C; L_088EEC8C: aot_mem.aot_store32(ctx.gpr[16] + static_cast(336), std::bit_cast(ctx.fpr[12])); goto L_088EEC90; L_088EEC90: ctx.gpr[4] = (ctx.gpr[16] + static_cast(16)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(196), std::bit_cast(ctx.fpr[12])); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(196))); { 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[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } aot_mem.aot_store32(ctx.gpr[16] + static_cast(200), std::bit_cast(ctx.fpr[12])); { 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[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[14]; ctx.fpr[12] = std::sqrt(ctx.fpr[12]); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[20])) && ctx.fpr[12] == ctx.fpr[20])); // nop if (!ctx.fpu_condition()) { ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(196))); goto L_088EECD8; } goto L_088EECC8; L_088EECC8: ctx.gpr[4] = (16256u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(196), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088EECEC; } goto L_088EECD8; } L_088EECD8: ctx.fpr[13] = ctx.fpr[13] / ctx.fpr[12]; ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(200))); ctx.fpr[12] = ctx.fpr[14] / ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(196), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[16] + static_cast(200), std::bit_cast(ctx.fpr[12])); goto L_088EECEC; L_088EECEC: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(112))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(116))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(120))); ctx.gpr[18] = (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_088EED08: ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(6848))); { const bool branch_taken = ctx.gpr[5] == 0u; // nop if (branch_taken) { goto L_088EEE18; } goto L_088EED14; } L_088EED14: ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(7104)))))); ctx.gpr[6] = (0u | 1u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; // nop if (branch_taken) { goto L_088EED90; } goto L_088EED24; } L_088EED24: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(7064))); ctx.fpr[13] = std::bit_cast(0u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[13])) && ctx.fpr[12] == ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[5] = (2230u << 16u); if (branch_taken) { goto L_088EED48; } goto L_088EED3C; } L_088EED3C: aot_mem.aot_store32(ctx.gpr[4] + static_cast(6852), std::bit_cast(ctx.fpr[13])); { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[13])); if (branch_taken) { goto L_088EED74; } goto L_088EED48; } L_088EED48: ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8144))); ctx.gpr[5] = (16968u << 16u); ctx.fpr[15] = std::bit_cast(ctx.gpr[5]); ctx.fpr[14] = ctx.fpr[14] / ctx.fpr[15]; ctx.gpr[5] = (17279u << 16u); ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(6852))); ctx.fpr[17] = std::bit_cast(ctx.gpr[5]); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.fpr[12] = ctx.fpr[14] / ctx.fpr[12]; ctx.fpr[12] = ctx.fpr[16] - ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[4] + static_cast(6852), std::bit_cast(ctx.fpr[12])); goto L_088EED74; L_088EED74: ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13])); // nop if (!ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(6852))); goto L_088EEE04; } goto L_088EED84; L_088EED84: aot_mem.aot_store8(ctx.gpr[4] + static_cast(6848), static_cast(0u)); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[4] + static_cast(6852), std::bit_cast(ctx.fpr[13])); if (branch_taken) { goto L_088EEE00; } goto L_088EED90; } L_088EED90: if (ctx.gpr[5] != 0u) { ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(6852))); goto L_088EEE04; } goto L_088EED98; L_088EED98: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(7064))); ctx.fpr[14] = std::bit_cast(0u); ctx.gpr[5] = (17279u << 16u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[14])) && ctx.fpr[12] == ctx.fpr[14])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.fpr[13] = std::bit_cast(ctx.gpr[5]); if (branch_taken) { goto L_088EEDC0; } goto L_088EEDB4; } L_088EEDB4: aot_mem.aot_store32(ctx.gpr[4] + static_cast(6852), std::bit_cast(ctx.fpr[13])); { const bool branch_taken = 0u == 0u; ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[13])); if (branch_taken) { goto L_088EEDE8; } goto L_088EEDC0; } L_088EEDC0: ctx.gpr[5] = (2230u << 16u); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8144))); ctx.gpr[5] = (16968u << 16u); ctx.fpr[15] = std::bit_cast(ctx.gpr[5]); ctx.fpr[14] = ctx.fpr[14] / ctx.fpr[15]; ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(6852))); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.fpr[12] = ctx.fpr[14] / ctx.fpr[12]; ctx.fpr[12] = ctx.fpr[16] + ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[4] + static_cast(6852), std::bit_cast(ctx.fpr[12])); goto L_088EEDE8; L_088EEDE8: ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13])); // nop if (ctx.fpu_condition()) { ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(6852))); goto L_088EEE04; } goto L_088EEDF8; L_088EEDF8: aot_mem.aot_store8(ctx.gpr[4] + static_cast(6848), static_cast(0u)); aot_mem.aot_store32(ctx.gpr[4] + static_cast(6852), std::bit_cast(ctx.fpr[13])); goto L_088EEE00; L_088EEE00: ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(6852))); goto L_088EEE04; L_088EEE04: ctx.gpr[4] = (2227u << 16u); ctx.fpr[12] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[12])); ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); { const bool branch_taken = 0u == 0u; aot_mem.aot_store8(ctx.gpr[4] + static_cast(3183), static_cast(ctx.gpr[5])); if (branch_taken) { goto L_088EEE1C; } goto L_088EEE18; } L_088EEE18: aot_mem.aot_store8(ctx.gpr[4] + static_cast(6849), static_cast(0u)); goto L_088EEE1C; L_088EEE1C: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EEE24: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(6859))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[5] == 0u; // nop if (branch_taken) { goto L_088EEF70; } goto L_088EEE40; } L_088EEE40: ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(7114)))))); ctx.gpr[7] = (17279u << 16u); ctx.gpr[6] = (0u | 1u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; ctx.fpr[12] = std::bit_cast(ctx.gpr[7]); if (branch_taken) { goto L_088EEEB8; } goto L_088EEE54; } L_088EEE54: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(7068))); ctx.fpr[14] = std::bit_cast(0u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[13]) || std::isnan(ctx.fpr[14])) && ctx.fpr[13] == ctx.fpr[14])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[5] = (2230u << 16u); if (branch_taken) { goto L_088EEE78; } goto L_088EEE6C; } L_088EEE6C: aot_mem.aot_store32(ctx.gpr[4] + static_cast(7060), std::bit_cast(ctx.fpr[14])); { const bool branch_taken = 0u == 0u; ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[14])); if (branch_taken) { goto L_088EEE9C; } goto L_088EEE78; } L_088EEE78: ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8144))); ctx.gpr[5] = (16968u << 16u); ctx.fpr[16] = std::bit_cast(ctx.gpr[5]); ctx.fpr[15] = ctx.fpr[15] / ctx.fpr[16]; ctx.fpr[17] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(7060))); { 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[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } ctx.fpr[13] = ctx.fpr[15] / ctx.fpr[13]; ctx.fpr[13] = ctx.fpr[17] - ctx.fpr[13]; aot_mem.aot_store32(ctx.gpr[4] + static_cast(7060), std::bit_cast(ctx.fpr[13])); goto L_088EEE9C; L_088EEE9C: ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[14])); // nop if (!ctx.fpu_condition()) { ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(7060))); goto L_088EEF28; } goto L_088EEEAC; L_088EEEAC: aot_mem.aot_store8(ctx.gpr[4] + static_cast(6859), static_cast(0u)); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[4] + static_cast(7060), std::bit_cast(ctx.fpr[14])); if (branch_taken) { goto L_088EEF24; } goto L_088EEEB8; } L_088EEEB8: ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(7104)))))); if (ctx.gpr[5] != 0u) { ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(7060))); goto L_088EEF28; } goto L_088EEEC4; L_088EEEC4: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(7068))); ctx.fpr[14] = std::bit_cast(0u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[13]) || std::isnan(ctx.fpr[14])) && ctx.fpr[13] == ctx.fpr[14])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[5] = (2230u << 16u); if (branch_taken) { goto L_088EEEE8; } goto L_088EEEDC; } L_088EEEDC: aot_mem.aot_store32(ctx.gpr[4] + static_cast(7060), std::bit_cast(ctx.fpr[12])); { const bool branch_taken = 0u == 0u; ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088EEF0C; } goto L_088EEEE8; } L_088EEEE8: ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(-8144))); ctx.gpr[5] = (16968u << 16u); ctx.fpr[15] = std::bit_cast(ctx.gpr[5]); ctx.fpr[14] = ctx.fpr[14] / ctx.fpr[15]; ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(7060))); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.fpr[13] = ctx.fpr[14] / ctx.fpr[13]; ctx.fpr[13] = ctx.fpr[16] + ctx.fpr[13]; aot_mem.aot_store32(ctx.gpr[4] + static_cast(7060), std::bit_cast(ctx.fpr[13])); goto L_088EEF0C; L_088EEF0C: ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[12])); // nop if (ctx.fpu_condition()) { ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(7060))); goto L_088EEF28; } goto L_088EEF1C; L_088EEF1C: aot_mem.aot_store8(ctx.gpr[4] + static_cast(6859), static_cast(0u)); aot_mem.aot_store32(ctx.gpr[4] + static_cast(7060), std::bit_cast(ctx.fpr[12])); goto L_088EEF24; L_088EEF24: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(7060))); goto L_088EEF28; L_088EEF28: ctx.fpr[12] = ctx.fpr[13] / ctx.fpr[12]; ctx.gpr[5] = (17150u << 16u); ctx.gpr[4] = (2230u << 16u); ctx.gpr[16] = (ctx.gpr[4] + static_cast(-8107)); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.fpr[14] = std::bit_cast(ctx.gpr[5]); { 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[14] - ctx.fpr[12]; ctx.fpr[12] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[12])); ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.gpr[17] = (ctx.gpr[5] & 255u); ctx.gpr[31] = (0x088EEF5Cu); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 114u, 0x08864830u>(ctx, &aot_mem) && ctx.pc == 0x088EEF5Cu) goto L_088EEF5C; return; L_088EEF5C: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x088EEF68u); ctx.gpr[5] = (ctx.gpr[17] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 118u, 0x08864868u>(ctx, &aot_mem) && ctx.pc == 0x088EEF68u) goto L_088EEF68; return; L_088EEF68: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EEFB4; } goto L_088EEF70; } L_088EEF70: ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast(6860))); ctx.gpr[5] = (0u < ctx.gpr[5] ? 1u : 0u); ctx.gpr[5] = (ctx.gpr[5] & 255u); { const bool branch_taken = ctx.gpr[5] == 0u; // nop if (branch_taken) { goto L_088EEFB4; } goto L_088EEF84; } L_088EEF84: ctx.gpr[5] = (0u | 0u); aot_mem.aot_store8(ctx.gpr[4] + static_cast(6860), static_cast(ctx.gpr[5])); ctx.gpr[5] = (0u | 1u); aot_mem.aot_store8(ctx.gpr[4] + static_cast(93), static_cast(ctx.gpr[5])); ctx.gpr[4] = (2230u << 16u); ctx.gpr[16] = (ctx.gpr[4] + static_cast(-8107)); ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x088EEFA8u); ctx.gpr[5] = (0u | 127u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 114u, 0x08864830u>(ctx, &aot_mem) && ctx.pc == 0x088EEFA8u) goto L_088EEFA8; return; L_088EEFA8: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x088EEFB4u); ctx.gpr[5] = (0u | 127u); if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 118u, 0x08864868u>(ctx, &aot_mem) && ctx.pc == 0x088EEFB4u) goto L_088EEFB4; return; L_088EEFB4: 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_088EEFC8: ctx.gpr[5] = (ctx.gpr[5] << 16u); ctx.gpr[5] = (static_cast(static_cast(ctx.gpr[5]) >> 16u)); { const bool branch_taken = ctx.gpr[5] != 0u; // nop if (branch_taken) { goto L_088EEFE4; } goto L_088EEFD8; } L_088EEFD8: ctx.fpr[12] = std::bit_cast(0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[4] + static_cast(312), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088EF01C; } goto L_088EEFE4; } L_088EEFE4: ctx.gpr[6] = (0u | 1u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; // nop if (branch_taken) { goto L_088EF000; } goto L_088EEFF0; } L_088EEFF0: ctx.gpr[5] = (16416u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[4] + static_cast(312), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088EF01C; } goto L_088EF000; } L_088EF000: ctx.gpr[6] = (0u | 2u); { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; // nop if (branch_taken) { goto L_088EF01C; } goto L_088EF00C; } L_088EF00C: ctx.gpr[5] = (16480u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[4] + static_cast(312), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088EF01C; } goto L_088EF01C; } L_088EF01C: ctx.gpr[5] = (0u | 1u); jump_target = ctx.gpr[31]; aot_mem.aot_store8(ctx.gpr[4] + static_cast(112), static_cast(ctx.gpr[5])); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EF028: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[16]); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(996))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(28), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[5] << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(68))); ctx.gpr[5] = (ctx.gpr[5] & 14u); ctx.gpr[5] = (ctx.gpr[5] ^ 4u); ctx.gpr[5] = (ctx.gpr[5] < static_cast(1) ? 1u : 0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[17]); ctx.gpr[17] = (2232u << 16u); ctx.gpr[18] = (static_cast(static_cast(ctx.gpr[18]) >> 16u)); ctx.gpr[5] = (ctx.gpr[5] & 255u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(32), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[5] == 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(12960)); if (branch_taken) { goto L_088EF0B0; } goto L_088EF06C; } L_088EF06C: ctx.gpr[31] = (0x088EF074u); // nop if (rt.invoke_chained_direct<&recomp_unit_0039_entry, 39u, 126u, 0x088A08E8u>(ctx, &aot_mem) && ctx.pc == 0x088EF074u) goto L_088EF074; return; L_088EF074: aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), 0u); ctx.gpr[6] = (ctx.gpr[29] + static_cast(16)); ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088EF088u); ctx.gpr[5] = (ctx.gpr[2] | 0u); goto L_088ED218; L_088EF088: { const bool branch_taken = ctx.gpr[18] != 0u; // nop if (branch_taken) { goto L_088EF0C4; } goto L_088EF090; } L_088EF090: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.gpr[5] = (2227u << 16u); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(22136)); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(288), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088EF11C; } goto L_088EF0B0; } L_088EF0B0: ctx.gpr[4] = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088EF0BCu); ctx.gpr[5] = (ctx.gpr[18] | 0u); goto L_088EEFC8; L_088EF0BC: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EF124; } goto L_088EF0C4; } L_088EF0C4: ctx.gpr[4] = (0u | 1u); { const bool branch_taken = ctx.gpr[18] != ctx.gpr[4]; // nop if (branch_taken) { goto L_088EF0F0; } goto L_088EF0D0; } L_088EF0D0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.gpr[5] = (2227u << 16u); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(22156)); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(288), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088EF11C; } goto L_088EF0F0; } L_088EF0F0: ctx.gpr[4] = (0u | 2u); { const bool branch_taken = ctx.gpr[18] != ctx.gpr[4]; // nop if (branch_taken) { goto L_088EF11C; } goto L_088EF0FC; } L_088EF0FC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.gpr[5] = (2227u << 16u); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(22176)); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(288), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088EF11C; } goto L_088EF11C; } L_088EF11C: ctx.gpr[4] = (0u | 1u); aot_mem.aot_store8(ctx.gpr[16] + static_cast(113), static_cast(ctx.gpr[4])); goto L_088EF124; L_088EF124: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(24))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(28))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(32))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EF13C: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(2736))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[31]); ctx.gpr[31] = (0x088EF150u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(7128)); if (rt.invoke_chained_direct<&recomp_unit_0057_entry, 57u, 363u, 0x088E9FCCu>(ctx, &aot_mem) && ctx.pc == 0x088EF150u) goto L_088EF150; return; L_088EF150: ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); 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_088EF15C: 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); ctx.gpr[4] = (0u | 1u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[31]); ctx.gpr[31] = (0x088EF178u); aot_mem.aot_store8(ctx.gpr[16] + static_cast(82), static_cast(ctx.gpr[4])); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x088EF178u) goto L_088EF178; return; L_088EF178: ctx.gpr[4] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088EF1B8; } goto L_088EF184; } L_088EF184: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(16))); ctx.gpr[31] = (0x088EF190u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 288u, 0x089D96E8u>(ctx, &aot_mem) && ctx.pc == 0x088EF190u) goto L_088EF190; return; L_088EF190: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); 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(); ctx.gpr[4] = (16585u << 16u); if (branch_taken) { goto L_088EF1B4; } goto L_088EF1A8; } L_088EF1A8: ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; goto L_088EF1B4; L_088EF1B4: aot_mem.aot_store32(ctx.gpr[16] + static_cast(272), std::bit_cast(ctx.fpr[12])); goto L_088EF1B8; L_088EF1B8: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); 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_088EF1C8: 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); ctx.gpr[4] = (0u | 1u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[31]); ctx.gpr[31] = (0x088EF1E4u); aot_mem.aot_store8(ctx.gpr[16] + static_cast(83), static_cast(ctx.gpr[4])); if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x088EF1E4u) goto L_088EF1E4; return; L_088EF1E4: ctx.gpr[4] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088EF224; } goto L_088EF1F0; } L_088EF1F0: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(16))); ctx.gpr[31] = (0x088EF1FCu); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 288u, 0x089D96E8u>(ctx, &aot_mem) && ctx.pc == 0x088EF1FCu) goto L_088EF1FC; return; L_088EF1FC: ctx.fpr[12] = std::bit_cast(std::bit_cast(ctx.fpr[0])); 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(); ctx.gpr[4] = (16585u << 16u); if (branch_taken) { goto L_088EF220; } goto L_088EF214; } L_088EF214: ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; goto L_088EF220; L_088EF220: aot_mem.aot_store32(ctx.gpr[16] + static_cast(272), std::bit_cast(ctx.fpr[12])); goto L_088EF224; L_088EF224: ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); 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_088EF234: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(32), ctx.gpr[20]); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[20] = (2227u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[18]); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[20] + static_cast(22072))); ctx.gpr[18] = (2227u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(28), ctx.gpr[19]); ctx.gpr[18] = (ctx.gpr[18] + static_cast(23456)); ctx.gpr[19] = (2227u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(40), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[17] = (2227u << 16u); if (branch_taken) { goto L_088EF27C; } goto L_088EF274; } L_088EF274: ctx.gpr[5] = (0u + static_cast(-1)); aot_mem.aot_store32(ctx.gpr[19] + static_cast(23624), ctx.gpr[5]); goto L_088EF27C; L_088EF27C: if (ctx.gpr[4] == 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(23624))); goto L_088EF2AC; } goto L_088EF284; L_088EF284: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(23624))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast(23628))); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[18]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[31] = (0x088EF2A0u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0062_entry, 62u, 134u, 0x088FD1C8u>(ctx, &aot_mem) && ctx.pc == 0x088EF2A0u) goto L_088EF2A0; return; L_088EF2A0: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088EF310; } goto L_088EF2A8; } L_088EF2A8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(23624))); goto L_088EF2AC; L_088EF2AC: ctx.gpr[21] = (0u | 5u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1)); { const std::int32_t dividend = static_cast(ctx.gpr[4]); const std::int32_t divisor = static_cast(ctx.gpr[21]); 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] = (ctx.hi); ctx.gpr[5] = (ctx.gpr[4] << 2u); aot_mem.aot_store32(ctx.gpr[19] + static_cast(23624), ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[18]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); goto L_088EF2CC; L_088EF2CC: ctx.gpr[5] = (ctx.gpr[4] | 0u); ctx.gpr[31] = (0x088EF2D8u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0062_entry, 62u, 367u, 0x088FE518u>(ctx, &aot_mem) && ctx.pc == 0x088EF2D8u) goto L_088EF2D8; return; L_088EF2D8: { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_088EF304; } goto L_088EF2E0; } L_088EF2E0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(23624))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1)); { const std::int32_t dividend = static_cast(ctx.gpr[4]); const std::int32_t divisor = static_cast(ctx.gpr[21]); 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] = (ctx.hi); ctx.gpr[5] = (ctx.gpr[4] << 2u); aot_mem.aot_store32(ctx.gpr[19] + static_cast(23624), ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[18]); { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); if (branch_taken) { goto L_088EF2CC; } goto L_088EF304; } L_088EF304: ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8148))); aot_mem.aot_store32(ctx.gpr[17] + static_cast(23628), ctx.gpr[4]); goto L_088EF310; L_088EF310: ctx.gpr[4] = (0u | 1u); aot_mem.aot_store8(ctx.gpr[20] + static_cast(22072), static_cast(ctx.gpr[4])); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(24))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(28))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(32))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(36))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(40))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EF33C: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[18]); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[18] = (2227u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[21]); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[18] + static_cast(22072))); ctx.gpr[21] = (2227u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(28), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(32), ctx.gpr[20]); ctx.gpr[17] = (0u | 0u); ctx.gpr[20] = (0u | 1u); ctx.gpr[21] = (ctx.gpr[21] + static_cast(23372)); ctx.gpr[19] = (2227u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(40), ctx.gpr[22]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(44), ctx.gpr[23]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(48), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[22] = (2227u << 16u); if (branch_taken) { goto L_088EF39C; } goto L_088EF38C; } L_088EF38C: ctx.gpr[5] = (0u + static_cast(-1)); aot_mem.aot_store32(ctx.gpr[19] + static_cast(23632), ctx.gpr[5]); ctx.gpr[5] = (2227u << 16u); aot_mem.aot_store8(ctx.gpr[5] + static_cast(22300), static_cast(ctx.gpr[20])); goto L_088EF39C; L_088EF39C: if (ctx.gpr[4] == 0u) { ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(23632))); goto L_088EF3CC; } goto L_088EF3A4; L_088EF3A4: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(23632))); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast(23636))); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[21]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[31] = (0x088EF3C0u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0062_entry, 62u, 134u, 0x088FD1C8u>(ctx, &aot_mem) && ctx.pc == 0x088EF3C0u) goto L_088EF3C0; return; L_088EF3C0: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088EF458; } goto L_088EF3C8; } L_088EF3C8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(23632))); goto L_088EF3CC; L_088EF3CC: ctx.gpr[23] = (0u | 14u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1)); { const std::int32_t dividend = static_cast(ctx.gpr[4]); const std::int32_t divisor = static_cast(ctx.gpr[23]); 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] = (ctx.hi); ctx.gpr[5] = (ctx.gpr[4] << 2u); aot_mem.aot_store32(ctx.gpr[19] + static_cast(23632), ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[21]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); goto L_088EF3EC; L_088EF3EC: ctx.gpr[5] = (ctx.gpr[4] | 0u); ctx.gpr[31] = (0x088EF3F8u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0062_entry, 62u, 367u, 0x088FE518u>(ctx, &aot_mem) && ctx.pc == 0x088EF3F8u) goto L_088EF3F8; return; L_088EF3F8: { const bool branch_taken = ctx.gpr[2] != 0u; ctx.gpr[4] = (static_cast(ctx.gpr[17]) < 15 ? 1u : 0u); if (branch_taken) { goto L_088EF430; } goto L_088EF400; } L_088EF400: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088EF430; } goto L_088EF408; } L_088EF408: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(23632))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1)); { const std::int32_t dividend = static_cast(ctx.gpr[4]); const std::int32_t divisor = static_cast(ctx.gpr[23]); 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[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[4] = (ctx.hi); aot_mem.aot_store32(ctx.gpr[19] + static_cast(23632), ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[21]); { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); if (branch_taken) { goto L_088EF3EC; } goto L_088EF430; } L_088EF430: ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8148))); ctx.gpr[5] = (static_cast(ctx.gpr[17]) < 14 ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] != 0u; aot_mem.aot_store32(ctx.gpr[22] + static_cast(23636), ctx.gpr[4]); if (branch_taken) { goto L_088EF458; } goto L_088EF444; } L_088EF444: ctx.gpr[4] = (ctx.gpr[21] + static_cast(56)); aot_mem.aot_store32(ctx.gpr[19] + static_cast(23632), ctx.gpr[23]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[31] = (0x088EF458u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0062_entry, 62u, 367u, 0x088FE518u>(ctx, &aot_mem) && ctx.pc == 0x088EF458u) goto L_088EF458; return; L_088EF458: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(23632))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(7108), ctx.gpr[4]); aot_mem.aot_store8(ctx.gpr[18] + static_cast(22072), static_cast(ctx.gpr[20])); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(24))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(28))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(32))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(36))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(40))); ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(44))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(48))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EF490: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(32), ctx.gpr[20]); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.gpr[20] = (2227u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[17]); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[20] + static_cast(22072))); ctx.gpr[17] = (2227u << 16u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[21]); ctx.gpr[21] = (0u | 0u); ctx.gpr[18] = (0u | 1u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(23432)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(28), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(40), ctx.gpr[31]); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[19] = (2227u << 16u); if (branch_taken) { goto L_088EF4E4; } goto L_088EF4D4; } L_088EF4D4: ctx.gpr[5] = (0u + static_cast(-1)); aot_mem.aot_store32(ctx.gpr[19] + static_cast(23640), ctx.gpr[5]); ctx.gpr[5] = (2227u << 16u); aot_mem.aot_store8(ctx.gpr[5] + static_cast(22300), static_cast(ctx.gpr[18])); goto L_088EF4E4; L_088EF4E4: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088EF514; } goto L_088EF4EC; } L_088EF4EC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(23640))); ctx.gpr[5] = (2227u << 16u); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[17]); ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(23644))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.gpr[31] = (0x088EF50Cu); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0062_entry, 62u, 134u, 0x088FD1C8u>(ctx, &aot_mem) && ctx.pc == 0x088EF50Cu) goto L_088EF50C; return; L_088EF50C: { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_088EF5F8; } goto L_088EF514; } L_088EF514: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(23640))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1)); ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] != 0u; aot_mem.aot_store32(ctx.gpr[19] + static_cast(23640), ctx.gpr[4]); if (branch_taken) { goto L_088EF530; } goto L_088EF528; } L_088EF528: aot_mem.aot_store32(ctx.gpr[19] + static_cast(23640), 0u); ctx.gpr[4] = (0u | 0u); goto L_088EF530; L_088EF530: ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[17]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); goto L_088EF53C; L_088EF53C: ctx.gpr[5] = (ctx.gpr[4] | 0u); ctx.gpr[31] = (0x088EF548u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0062_entry, 62u, 367u, 0x088FE518u>(ctx, &aot_mem) && ctx.pc == 0x088EF548u) goto L_088EF548; return; L_088EF548: { const bool branch_taken = ctx.gpr[2] != 0u; ctx.gpr[4] = (static_cast(ctx.gpr[21]) < 7 ? 1u : 0u); if (branch_taken) { goto L_088EF588; } goto L_088EF550; } L_088EF550: { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088EF588; } goto L_088EF558; } L_088EF558: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(23640))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1)); ctx.gpr[5] = (static_cast(ctx.gpr[4]) < 6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[5] != 0u; aot_mem.aot_store32(ctx.gpr[19] + static_cast(23640), ctx.gpr[4]); if (branch_taken) { goto L_088EF574; } goto L_088EF56C; } L_088EF56C: aot_mem.aot_store32(ctx.gpr[19] + static_cast(23640), 0u); ctx.gpr[4] = (0u | 0u); goto L_088EF574; L_088EF574: ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[17]); ctx.gpr[21] = (ctx.gpr[21] + static_cast(1)); { const bool branch_taken = 0u == 0u; ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); if (branch_taken) { goto L_088EF53C; } goto L_088EF588; } L_088EF588: ctx.gpr[4] = (static_cast(ctx.gpr[21]) < 6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[4] = (0u | 6u); if (branch_taken) { goto L_088EF5E8; } goto L_088EF594; } L_088EF594: aot_mem.aot_store32(ctx.gpr[19] + static_cast(23640), ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(127))); ctx.gpr[4] = (ctx.gpr[4] << 4u); ctx.gpr[5] = (0u + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 3u); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[5] + ctx.gpr[4]); ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]); ctx.gpr[4] = (static_cast(static_cast(static_cast(aot_mem.aot_load16(ctx.gpr[4] + static_cast(428)))))); ctx.gpr[5] = (0u | 18u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { goto L_088EF5F8; } goto L_088EF5C8; } L_088EF5C8: ctx.gpr[4] = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x088EF5D4u); ctx.gpr[5] = (0u | 20u); if (rt.invoke_chained_direct<&recomp_unit_0062_entry, 62u, 367u, 0x088FE518u>(ctx, &aot_mem) && ctx.pc == 0x088EF5D4u) goto L_088EF5D4; return; L_088EF5D4: ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8148))); ctx.gpr[5] = (2227u << 16u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[5] + static_cast(23644), ctx.gpr[4]); if (branch_taken) { goto L_088EF5F8; } goto L_088EF5E8; } L_088EF5E8: ctx.gpr[4] = (2230u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-8148))); ctx.gpr[5] = (2227u << 16u); aot_mem.aot_store32(ctx.gpr[5] + static_cast(23644), ctx.gpr[4]); goto L_088EF5F8; L_088EF5F8: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(23640))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(7108), ctx.gpr[4]); aot_mem.aot_store8(ctx.gpr[20] + static_cast(22072), static_cast(ctx.gpr[18])); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(24))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(28))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(32))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(36))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(40))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EF628: ctx.gpr[4] = (2227u << 16u); jump_target = ctx.gpr[31]; aot_mem.aot_store8(ctx.gpr[4] + static_cast(22072), static_cast(0u)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EF634: jump_target = ctx.gpr[31]; ctx.gpr[2] = (ctx.gpr[4] + static_cast(2672)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EF63C: ctx.gpr[7] = (0u | 0u); { 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<4u, 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<8u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[6] + 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<9u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[6] + 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<10u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[6] + 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<11u, 4u>(vfpu_value); } { float vfpu_value[4]{1.0f, 1.0f, 1.0f, 1.0f}; ctx.write_vfpu_vector_with_destination_prefix_ct<100u, 1u>(vfpu_value); } ctx.gpr[5] = (std::bit_cast(ctx.fpr[12])); ctx.set_vfpu_scalar_bits_ct<12u>(ctx.gpr[5]); ctx.gpr[5] = (2230u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-7896)); ctx.set_vfpu_scalar_bits_ct<44u>(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[5] = (2230u << 16u); ctx.gpr[5] = (ctx.gpr[5] + static_cast(-7892)); ctx.set_vfpu_scalar_bits_ct<76u>(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.execute_vfpu_vdot_ct<32u, 41u, 4u, 4u>(); ctx.execute_vfpu_vdot_ct<0u, 40u, 4u, 4u>(); ctx.execute_vfpu_vdot_ct<64u, 42u, 4u, 4u>(); { 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<12u, 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<4u, 1u>(vfpu_d); } ctx.execute_vfpu_vcmp_ct<4u, 44u, 1u, 2u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 5u) & 1u) != 0u; // nop if (branch_taken) { goto L_088EF704; } goto L_088EF694; } L_088EF694: { 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<12u, 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<4u, 1u>(vfpu_d); } ctx.execute_vfpu_vcmp_ct<4u, 76u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 5u) & 1u) != 0u; // nop if (branch_taken) { goto L_088EF704; } goto L_088EF6A4; } L_088EF6A4: ctx.gpr[4] = (ctx.gpr[4] + static_cast(6944)); { 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<8u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[4] + 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<9u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[4] + 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<10u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[4] + 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<11u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<4u, 0u, 8u, 3u>(); ctx.execute_vfpu_vdot_ct<36u, 0u, 9u, 3u>(); ctx.execute_vfpu_vdot_ct<68u, 0u, 10u, 3u>(); ctx.execute_vfpu_vdot_ct<100u, 0u, 11u, 3u>(); ctx.execute_vfpu_vcmp_ct<4u, 12u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 5u) & 1u) != 0u; // nop if (branch_taken) { goto L_088EF704; } goto L_088EF6D4; } L_088EF6D4: ctx.execute_vfpu_vcmp_ct<36u, 12u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 5u) & 1u) != 0u; // nop if (branch_taken) { goto L_088EF704; } goto L_088EF6E0; } L_088EF6E0: ctx.execute_vfpu_vcmp_ct<68u, 12u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 5u) & 1u) != 0u; // nop if (branch_taken) { goto L_088EF704; } goto L_088EF6EC; } L_088EF6EC: ctx.execute_vfpu_vcmp_ct<100u, 12u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 5u) & 1u) != 0u; // nop if (branch_taken) { goto L_088EF704; } goto L_088EF6F8; } L_088EF6F8: // nop ctx.gpr[2] = (ctx.gpr[7] + static_cast(1)); ctx.gpr[2] = (ctx.gpr[2] & 255u); goto L_088EF704; L_088EF704: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EF70C: jump_target = ctx.gpr[31]; // nop local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EF714: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-96)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(48), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(52), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(56), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(60), std::bit_cast(ctx.fpr[26])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(72), ctx.gpr[18]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(76), ctx.gpr[19]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(80), ctx.gpr[20]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(84), ctx.gpr[21]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(88), ctx.gpr[22]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(92), ctx.gpr[31]); ctx.gpr[18] = (ctx.gpr[6] | 0u); ctx.gpr[17] = (ctx.gpr[5] | 0u); ctx.gpr[16] = (ctx.gpr[4] | 0u); ctx.fpr[20] = std::bit_cast(0u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[17] + static_cast(0))); ctx.gpr[4] = (20224u << 16u); ctx.fpr[22] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[7] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[4] << 2u); ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[5]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[4] + static_cast(-10)); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[5]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[14]; ctx.gpr[5] = (17530u << 16u); ctx.fpr[24] = std::bit_cast(ctx.gpr[5]); { 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[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.gpr[5] = (ctx.gpr[4] + static_cast(-1)); ctx.gpr[6] = (0u | 10u); ctx.gpr[8] = (16256u << 16u); ctx.fpr[26] = std::bit_cast(ctx.gpr[8]); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[22])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[19] = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_088EF7C0; } goto L_088EF7B4; } L_088EF7B4: ctx.fpr[12] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[12])); { const bool branch_taken = 0u == 0u; ctx.gpr[7] = (std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088EF7D4; } goto L_088EF7C0; } L_088EF7C0: ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[22]; ctx.fpr[12] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[12])); ctx.gpr[7] = (std::bit_cast(ctx.fpr[12])); ctx.gpr[8] = (32768u << 16u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); goto L_088EF7D4; L_088EF7D4: ctx.gpr[20] = (ctx.gpr[7] | 0u); ctx.gpr[8] = (ctx.gpr[20] << 3u); ctx.gpr[8] = (ctx.gpr[20] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[20] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + static_cast(-9)); ctx.gpr[9] = (ctx.gpr[8] << 2u); ctx.gpr[9] = (ctx.gpr[17] + ctx.gpr[9]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[9] + static_cast(0))); ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[22])); // nop { const bool branch_taken = !ctx.fpu_condition(); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } if (branch_taken) { goto L_088EF810; } goto L_088EF804; } L_088EF804: ctx.fpr[13] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[13])); { const bool branch_taken = 0u == 0u; ctx.gpr[9] = (std::bit_cast(ctx.fpr[13])); if (branch_taken) { goto L_088EF824; } goto L_088EF810; } L_088EF810: ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[22]; ctx.fpr[13] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[13])); ctx.gpr[9] = (std::bit_cast(ctx.fpr[13])); ctx.gpr[10] = (32768u << 16u); ctx.gpr[9] = (ctx.gpr[9] + ctx.gpr[10]); goto L_088EF824; L_088EF824: ctx.gpr[21] = (ctx.gpr[9] | 0u); ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[22])); // nop if (!ctx.fpu_condition()) { ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[22]; goto L_088EF844; } goto L_088EF838; L_088EF838: ctx.fpr[12] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[12])); { const bool branch_taken = 0u == 0u; ctx.gpr[22] = (std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088EF854; } goto L_088EF844; } L_088EF844: ctx.fpr[12] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[12])); ctx.gpr[22] = (std::bit_cast(ctx.fpr[12])); ctx.gpr[10] = (32768u << 16u); ctx.gpr[22] = (ctx.gpr[22] + ctx.gpr[10]); goto L_088EF854; L_088EF854: ctx.gpr[10] = (ctx.gpr[18] < ctx.gpr[22] ? 1u : 0u); { const bool branch_taken = ctx.gpr[10] == 0u; ctx.gpr[10] = (ctx.gpr[5] | 0u); if (branch_taken) { goto L_088EF91C; } goto L_088EF860; } L_088EF860: ctx.gpr[5] = (0u | 1u); { const std::uint32_t dividend = ctx.gpr[10]; const std::uint32_t divisor = ctx.gpr[6]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } ctx.gpr[10] = (ctx.lo); ctx.gpr[10] = (ctx.gpr[7] < ctx.gpr[10] ? 1u : 0u); { const bool branch_taken = ctx.gpr[10] == 0u; ctx.gpr[9] = (ctx.gpr[9] < static_cast(76) ? 1u : 0u); if (branch_taken) { goto L_088EF884; } goto L_088EF878; } L_088EF878: ctx.gpr[5] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[19] + static_cast(0), ctx.gpr[8]); ctx.gpr[4] = (ctx.gpr[8] | 0u); goto L_088EF884; L_088EF884: ctx.gpr[11] = (0u | 1u); ctx.gpr[10] = (32768u << 16u); goto L_088EF88C; L_088EF88C: if (ctx.gpr[9] == 0u) { ctx.gpr[5] = (ctx.gpr[4] + static_cast(-1)); goto L_088EF91C; } goto L_088EF894; L_088EF894: if (ctx.gpr[5] != ctx.gpr[11]) { ctx.gpr[5] = (ctx.gpr[4] + static_cast(-1)); goto L_088EF91C; } goto L_088EF89C; L_088EF89C: ctx.gpr[4] = (ctx.gpr[4] + static_cast(10)); aot_mem.aot_store32(ctx.gpr[19] + static_cast(0), ctx.gpr[4]); ctx.gpr[9] = (ctx.gpr[4] + static_cast(-1)); { const std::uint32_t dividend = ctx.gpr[9]; const std::uint32_t divisor = ctx.gpr[6]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } ctx.gpr[9] = (ctx.lo); ctx.gpr[9] = (ctx.gpr[7] < ctx.gpr[9] ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] == 0u; // nop if (branch_taken) { goto L_088EF8C8; } goto L_088EF8BC; } L_088EF8BC: ctx.gpr[5] = (0u | 0u); aot_mem.aot_store32(ctx.gpr[19] + static_cast(0), ctx.gpr[8]); ctx.gpr[4] = (ctx.gpr[8] | 0u); goto L_088EF8C8; L_088EF8C8: ctx.gpr[9] = (ctx.gpr[4] << 2u); ctx.gpr[9] = (ctx.gpr[17] + ctx.gpr[9]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[9] + static_cast(0))); ctx.gpr[9] = (ctx.gpr[4] + static_cast(-10)); ctx.gpr[9] = (ctx.gpr[9] << 2u); ctx.gpr[9] = (ctx.gpr[17] + ctx.gpr[9]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[9] + static_cast(0))); ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13]; { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[24]; 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[12] < ctx.fpr[22])); // nop if (!ctx.fpu_condition()) { ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[22]; goto L_088EF908; } goto L_088EF8FC; L_088EF8FC: ctx.fpr[12] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[12])); { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088EF914; } goto L_088EF908; } L_088EF908: 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[21] = (ctx.gpr[21] + ctx.gpr[10]); goto L_088EF914; L_088EF914: { const bool branch_taken = 0u == 0u; ctx.gpr[9] = (ctx.gpr[21] < static_cast(76) ? 1u : 0u); if (branch_taken) { goto L_088EF88C; } goto L_088EF91C; } L_088EF91C: { const std::uint32_t dividend = ctx.gpr[5]; const std::uint32_t divisor = ctx.gpr[6]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } ctx.gpr[6] = (ctx.lo); ctx.gpr[6] = (ctx.gpr[7] < ctx.gpr[6] ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_088EF958; } goto L_088EF930; } L_088EF930: ctx.gpr[5] = (ctx.gpr[4] | 0u); ctx.gpr[4] = (2225u << 16u); ctx.gpr[31] = (0x088EF940u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(15900)); if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 382u, 0x08AF9A9Cu>(ctx, &aot_mem) && ctx.pc == 0x088EF940u) goto L_088EF940; return; L_088EF940: ctx.gpr[4] = (2225u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(15920)); ctx.gpr[31] = (0x088EF950u); ctx.gpr[5] = (ctx.gpr[20] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 382u, 0x08AF9A9Cu>(ctx, &aot_mem) && ctx.pc == 0x088EF950u) goto L_088EF950; return; L_088EF950: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[4] + static_cast(-1)); goto L_088EF958; L_088EF958: ctx.gpr[6] = (ctx.gpr[4] + static_cast(-10)); ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[6] = (ctx.gpr[17] + ctx.gpr[6]); ctx.fpr[19] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } ctx.gpr[6] = (ctx.gpr[4] + static_cast(-3)); ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[6] = (ctx.gpr[17] + ctx.gpr[6]); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.gpr[6] = (ctx.gpr[4] + static_cast(-2)); ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[6] = (ctx.gpr[17] + ctx.gpr[6]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[5]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[4] + static_cast(4)); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[5]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[4] + static_cast(5)); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[5]); ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[4] + static_cast(6)); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[5]); ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[4] + static_cast(-9)); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[5]); ctx.fpr[17] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[4] + static_cast(1)); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[5]); ctx.set_fpu_condition((ctx.fpr[19] < ctx.fpr[22])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.fpr[18] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); if (branch_taken) { goto L_088EFA00; } goto L_088EF9F4; } L_088EF9F4: ctx.fpr[19] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[19])); { const bool branch_taken = 0u == 0u; ctx.gpr[5] = (std::bit_cast(ctx.fpr[19])); if (branch_taken) { goto L_088EFA14; } goto L_088EFA00; } L_088EFA00: ctx.fpr[19] = ctx.fpr[19] - ctx.fpr[22]; ctx.fpr[19] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[19])); ctx.gpr[5] = (std::bit_cast(ctx.fpr[19])); ctx.gpr[6] = (32768u << 16u); ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]); goto L_088EFA14; L_088EFA14: ctx.fpr[19] = std::bit_cast(ctx.gpr[18]); { const bool branch_taken = static_cast(ctx.gpr[18]) >= 0; ctx.fpr[19] = static_cast(static_cast(std::bit_cast(ctx.fpr[19]))); if (branch_taken) { goto L_088EFA2C; } goto L_088EFA20; } L_088EFA20: ctx.gpr[6] = (20352u << 16u); ctx.fpr[0] = std::bit_cast(ctx.gpr[6]); ctx.fpr[19] = ctx.fpr[19] + ctx.fpr[0]; goto L_088EFA2C; L_088EFA2C: ctx.fpr[0] = std::bit_cast(ctx.gpr[5]); { const bool branch_taken = static_cast(ctx.gpr[5]) >= 0; ctx.fpr[0] = static_cast(static_cast(std::bit_cast(ctx.fpr[0]))); if (branch_taken) { goto L_088EFA44; } goto L_088EFA38; } L_088EFA38: ctx.gpr[5] = (20352u << 16u); ctx.fpr[2] = std::bit_cast(ctx.gpr[5]); ctx.fpr[0] = ctx.fpr[0] + ctx.fpr[2]; goto L_088EFA44; L_088EFA44: ctx.fpr[2] = std::bit_cast(ctx.gpr[21]); { const bool branch_taken = static_cast(ctx.gpr[21]) >= 0; ctx.fpr[2] = static_cast(static_cast(std::bit_cast(ctx.fpr[2]))); if (branch_taken) { goto L_088EFA5C; } goto L_088EFA50; } L_088EFA50: ctx.gpr[5] = (20352u << 16u); ctx.fpr[1] = std::bit_cast(ctx.gpr[5]); ctx.fpr[2] = ctx.fpr[2] + ctx.fpr[1]; goto L_088EFA5C; L_088EFA5C: ctx.fpr[19] = ctx.fpr[19] - ctx.fpr[0]; ctx.fpr[19] = ctx.fpr[19] / ctx.fpr[2]; ctx.set_fpu_condition((ctx.fpr[19] <= ctx.fpr[26])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EFA78; } goto L_088EFA74; } L_088EFA74: ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[26])); goto L_088EFA78; L_088EFA78: ctx.set_fpu_condition((ctx.fpr[19] < ctx.fpr[20])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EFA8C; } goto L_088EFA88; } L_088EFA88: ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[20])); goto L_088EFA8C; L_088EFA8C: ctx.gpr[5] = (ctx.gpr[22] < ctx.gpr[18] ? 1u : 0u); if (ctx.gpr[5] == 0u) { ctx.fpr[0] = std::bit_cast(std::bit_cast(ctx.fpr[13])); goto L_088EFAA0; } goto L_088EFA98; L_088EFA98: ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[0] = std::bit_cast(std::bit_cast(ctx.fpr[13])); goto L_088EFAA0; L_088EFAA0: ctx.fpr[2] = std::bit_cast(std::bit_cast(ctx.fpr[12])); ctx.fpr[26] = ctx.fpr[26] - ctx.fpr[19]; { const float fs = ctx.fpr[26]; 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 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[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } aot_mem.aot_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(ctx.fpr[24])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[2])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(24), std::bit_cast(ctx.fpr[0])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(32), std::bit_cast(ctx.fpr[14])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(36), std::bit_cast(ctx.fpr[15])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(40), std::bit_cast(ctx.fpr[16])); ctx.gpr[5] = (0u | 0u); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(16))); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[14]) || std::isnan(ctx.fpr[17])) && ctx.fpr[14] == ctx.fpr[17])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EFB2C; } goto L_088EFAE0; } L_088EFAE0: ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); ctx.gpr[6] = (ctx.gpr[4] + static_cast(-8)); ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[6] = (ctx.gpr[17] + ctx.gpr[6]); ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[6] + static_cast(0))); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[15]) || std::isnan(ctx.fpr[16])) && ctx.fpr[15] == ctx.fpr[16])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EFB2C; } goto L_088EFB04; } L_088EFB04: ctx.fpr[15] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(24))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-7)); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]); ctx.fpr[16] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[15]) || std::isnan(ctx.fpr[16])) && ctx.fpr[15] == ctx.fpr[16])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EFB2C; } goto L_088EFB28; } L_088EFB28: ctx.gpr[5] = (0u | 1u); goto L_088EFB2C; L_088EFB2C: { const bool branch_taken = ctx.gpr[5] != 0u; // nop if (branch_taken) { goto L_088EFC1C; } goto L_088EFB34; } L_088EFB34: { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[17]; 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[16] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[19]; 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; } { 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; } { 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[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.fpr[14] = ctx.fpr[15] + ctx.fpr[14]; { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[19]; 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[17] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(32))); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[26]; 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[14] = ctx.fpr[14] + ctx.fpr[17]; { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[0] = std::bit_cast(0x7FC00000u); else ctx.fpr[0] = fs * ft; } { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[18]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(ctx.fpr[14])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[4] + static_cast(-8)); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[5]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); { 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[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } ctx.fpr[17] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(20))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[17]; 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[14] = ctx.fpr[14] + ctx.fpr[17]; ctx.fpr[18] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(36))); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } { const float fs = ctx.fpr[18]; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[18]; ctx.gpr[4] = (ctx.gpr[4] + static_cast(2)); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]); ctx.fpr[17] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[17]; 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[14] = ctx.fpr[14] + ctx.fpr[17]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(ctx.fpr[14])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[4] + static_cast(-7)); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[5]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); { 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[17] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(24))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[17]; 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]; ctx.fpr[18] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(40))); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[26]; 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]; ctx.gpr[4] = (ctx.gpr[4] + static_cast(3)); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); { 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[12] + ctx.fpr[13]; { const bool branch_taken = 0u == 0u; aot_mem.aot_store32(ctx.gpr[16] + static_cast(8), std::bit_cast(ctx.fpr[12])); if (branch_taken) { goto L_088EFC94; } goto L_088EFC1C; } L_088EFC1C: ctx.fpr[12] = ctx.fpr[18] - ctx.fpr[17]; { const float fs = ctx.fpr[19]; 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[17] + ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[4] + static_cast(-8)); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[5]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(2)); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[12]; { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast(0))); ctx.gpr[5] = (ctx.gpr[4] + static_cast(-7)); ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[5] = (ctx.gpr[17] + ctx.gpr[5]); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(3)); ctx.gpr[4] = (ctx.gpr[4] << 2u); ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(0))); ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[12]; { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(8), std::bit_cast(ctx.fpr[12])); goto L_088EFC94; L_088EFC94: ctx.gpr[4] = (2232u << 16u); ctx.gpr[5] = (ctx.gpr[4] + static_cast(12960)); ctx.gpr[5] = (ctx.gpr[5] + static_cast(2496)); ctx.gpr[31] = (0x088EFCA8u); ctx.gpr[4] = (ctx.gpr[16] | 0u); if (rt.invoke_chained_direct<&recomp_unit_0072_entry, 72u, 565u, 0x0892753Cu>(ctx, &aot_mem) && ctx.pc == 0x088EFCA8u) goto L_088EFCA8; return; L_088EFCA8: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(48))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(52))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(56))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(60))); ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(72))); ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(76))); ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(80))); ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(84))); ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(88))); ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast(92))); jump_target = ctx.gpr[31]; ctx.gpr[29] = (ctx.gpr[29] + static_cast(96)); local_pc = jump_target; if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; return; L_088EFCE0: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-496)); aot_mem.aot_store32(ctx.gpr[29] + static_cast(464), std::bit_cast(ctx.fpr[20])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(468), std::bit_cast(ctx.fpr[22])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(472), ctx.gpr[16]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(476), ctx.gpr[17]); aot_mem.aot_store32(ctx.gpr[29] + static_cast(480), ctx.gpr[31]); ctx.fpr[20] = std::bit_cast(0u); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[5] = (2231u << 16u); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast(-32580))); { const bool branch_taken = ctx.gpr[5] != 0u; ctx.gpr[16] = (ctx.gpr[4] | 0u); if (branch_taken) { goto L_088EFD40; } goto L_088EFD10; } L_088EFD10: ctx.gpr[4] = (0u | 1u); ctx.gpr[5] = (2231u << 16u); aot_mem.aot_store32(ctx.gpr[5] + static_cast(-32580), ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[4] = (2231u << 16u); aot_mem.aot_store32(ctx.gpr[4] + static_cast(-32560), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-32560)); aot_mem.aot_store32(ctx.gpr[4] + static_cast(4), std::bit_cast(ctx.fpr[12])); ctx.gpr[5] = (17948u << 16u); ctx.gpr[5] = (ctx.gpr[5] | 16384u); ctx.fpr[12] = std::bit_cast(ctx.gpr[5]); aot_mem.aot_store32(ctx.gpr[4] + static_cast(8), std::bit_cast(ctx.fpr[12])); goto L_088EFD40; L_088EFD40: ctx.gpr[4] = (2231u << 16u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(-32576))); { const bool branch_taken = ctx.gpr[4] != 0u; ctx.gpr[4] = (0u | 1u); if (branch_taken) { goto L_088EFD70; } goto L_088EFD50; } L_088EFD50: ctx.gpr[5] = (2231u << 16u); aot_mem.aot_store32(ctx.gpr[5] + static_cast(-32576), ctx.gpr[4]); ctx.fpr[12] = std::bit_cast(0u); ctx.gpr[4] = (2231u << 16u); aot_mem.aot_store32(ctx.gpr[4] + static_cast(-32544), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (ctx.gpr[4] + static_cast(-32544)); aot_mem.aot_store32(ctx.gpr[4] + static_cast(4), std::bit_cast(ctx.fpr[12])); aot_mem.aot_store32(ctx.gpr[4] + static_cast(8), std::bit_cast(ctx.fpr[12])); goto L_088EFD70; L_088EFD70: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(596))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { goto L_088EFD8C; } goto L_088EFD7C; } L_088EFD7C: ctx.gpr[4] = (2232u << 16u); ctx.gpr[4] = (ctx.gpr[4] + static_cast(12960)); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast(2740))); aot_mem.aot_store32(ctx.gpr[16] + static_cast(596), ctx.gpr[4]); goto L_088EFD8C; L_088EFD8C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(44))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(1)); aot_mem.aot_store32(ctx.gpr[16] + static_cast(44), ctx.gpr[4]); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(40))); ctx.gpr[4] = (static_cast(ctx.gpr[5]) < static_cast(ctx.gpr[4]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[4] == 0u; // nop if (branch_taken) { goto L_088EFDB0; } goto L_088EFDA8; } L_088EFDA8: ctx.gpr[4] = (0u | 1u); aot_mem.aot_store32(ctx.gpr[16] + static_cast(44), ctx.gpr[4]); goto L_088EFDB0; L_088EFDB0: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(44))); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(36))); { const bool branch_taken = ctx.gpr[4] != ctx.gpr[5]; // nop if (branch_taken) { goto L_088EFDCC; } goto L_088EFDC0; } L_088EFDC0: ctx.gpr[4] = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_store8(ctx.gpr[16] + static_cast(19), static_cast(ctx.gpr[4])); if (branch_taken) { goto L_088EFDD0; } goto L_088EFDCC; } L_088EFDCC: aot_mem.aot_store8(ctx.gpr[16] + static_cast(19), static_cast(0u)); goto L_088EFDD0; L_088EFDD0: ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast(18))); { const bool branch_taken = ctx.gpr[4] != 0u; // nop if (branch_taken) { (void)rt.invoke_chained_direct<&recomp_unit_0059_entry, 59u, 21u, 0x088F00F8u>(ctx, &aot_mem); return; } goto L_088EFDDC; } L_088EFDDC: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(596))); 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) { (void)rt.invoke_chained_direct<&recomp_unit_0059_entry, 59u, 13u, 0x088F0064u>(ctx, &aot_mem); return; } goto L_088EFDFC; } L_088EFDFC: ctx.gpr[31] = (0x088EFE04u); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(596))); if (rt.invoke_chained_direct<&recomp_unit_0057_entry, 57u, 410u, 0x088EA4E8u>(ctx, &aot_mem) && ctx.pc == 0x088EFE04u) goto L_088EFE04; return; L_088EFE04: { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); float vfpu_value[4]{ std::bit_cast(aot_mem.aot_load32(vfpu_address + 0u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 4u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 8u)), std::bit_cast(aot_mem.aot_load32(vfpu_address + 12u))}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[4] = (ctx.gpr[29] + static_cast(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[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(596))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(16))); ctx.fpr[13] = std::bit_cast(0u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[13])) && ctx.fpr[12] == ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EFE50; } goto L_088EFE2C; } L_088EFE2C: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(596))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); ctx.fpr[13] = std::bit_cast(0u); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[13])) && ctx.fpr[12] == ctx.fpr[13])); // nop { const bool branch_taken = !ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EFE50; } goto L_088EFE48; } L_088EFE48: { const bool branch_taken = 0u == 0u; ctx.fpr[22] = std::bit_cast(0u); if (branch_taken) { goto L_088EFE84; } goto L_088EFE50; } L_088EFE50: ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(596))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(16))); ctx.gpr[31] = (0x088EFE60u); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(20))); if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 288u, 0x089D96E8u>(ctx, &aot_mem) && ctx.pc == 0x088EFE60u) goto L_088EFE60; return; L_088EFE60: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[12] = std::bit_cast(0u); ctx.set_fpu_condition((ctx.fpr[22] < ctx.fpr[12])); // nop { const bool branch_taken = !ctx.fpu_condition(); ctx.gpr[4] = (16585u << 16u); if (branch_taken) { goto L_088EFE84; } goto L_088EFE78; } L_088EFE78: ctx.gpr[4] = (ctx.gpr[4] | 4059u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.fpr[22] = ctx.fpr[22] + ctx.fpr[12]; goto L_088EFE84; L_088EFE84: ctx.fpr[13] = std::bit_cast(0u); aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(ctx.fpr[13])); aot_mem.aot_store32(ctx.gpr[29] + static_cast(72), std::bit_cast(ctx.fpr[13])); ctx.gpr[4] = (ctx.gpr[29] + static_cast(64)); ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(596))); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(16))); 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(20))); aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), 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<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); { float vfpu_s[4]{}, vfpu_d[4]{}; ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s); for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / std::sqrt(vfpu_s[i]); ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); } ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast(0); aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast(vfpu_value[0])); aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast(vfpu_value[1])); aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast(vfpu_value[2])); aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast(vfpu_value[3])); } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); { 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.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[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]; ctx.fpr[12] = std::sqrt(ctx.fpr[12]); ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[13])) && ctx.fpr[12] == ctx.fpr[13])); // nop { const bool branch_taken = ctx.fpu_condition(); // nop if (branch_taken) { goto L_088EFF0C; } goto L_088EFEF4; } L_088EFEF4: ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.fpr[13] = ctx.fpr[13] / ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(ctx.fpr[13])); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); ctx.fpr[12] = ctx.fpr[13] / ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(ctx.fpr[12])); goto L_088EFF0C; L_088EFF0C: ctx.fpr[20] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(64))); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(596))); ctx.gpr[5] = (ctx.gpr[4] + static_cast(112)); ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[5] + static_cast(0))); { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } ctx.fpr[12] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[29] + static_cast(68))); ctx.gpr[4] = (ctx.gpr[4] + static_cast(112)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[4] + static_cast(4))); { const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast(0x7FC00000u); else ctx.fpr[12] = fs * ft; } ctx.fpr[14] = ctx.fpr[20] + ctx.fpr[12]; ctx.fpr[15] = std::bit_cast(0u); ctx.set_fpu_condition((ctx.fpr[14] <= ctx.fpr[15])); // nop if (ctx.fpu_condition()) { ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12])); goto L_088EFF8C; } goto L_088EFF48; L_088EFF48: ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (16256u << 16u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); { const float fs = ctx.fpr[20]; 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; } { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[13] = ctx.fpr[14] + ctx.fpr[13]; ctx.fpr[20] = std::sqrt(ctx.fpr[13]); ctx.gpr[4] = (16230u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 26214u); ctx.fpr[15] = std::bit_cast(ctx.gpr[4]); ctx.fpr[20] = ctx.fpr[20] / ctx.fpr[15]; 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_088EFF84; } goto L_088EFF84; L_088EFF84: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { goto L_088EFFC8; } goto L_088EFF8C; } L_088EFF8C: 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[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; } { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[13] = ctx.fpr[14] + ctx.fpr[13]; ctx.fpr[20] = std::sqrt(ctx.fpr[13]); ctx.gpr[4] = (16358u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 26214u); ctx.fpr[15] = std::bit_cast(ctx.gpr[4]); ctx.fpr[20] = ctx.fpr[20] / ctx.fpr[15]; 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_088EFFC4; } goto L_088EFFC4; L_088EFFC4: ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[20]) ^ 0x80000000u); goto L_088EFFC8; L_088EFFC8: ctx.gpr[4] = (16229u << 16u); ctx.gpr[4] = (ctx.gpr[4] | 7864u); ctx.fpr[12] = std::bit_cast(ctx.gpr[4]); ctx.gpr[4] = (16256u << 16u); ctx.fpr[13] = std::bit_cast(ctx.gpr[4]); ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[12]; { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } ctx.fpr[14] = std::bit_cast(aot_mem.aot_load32(ctx.gpr[16] + static_cast(228))); { 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[13] + ctx.fpr[12]; aot_mem.aot_store32(ctx.gpr[16] + static_cast(228), std::bit_cast(ctx.fpr[12])); ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast(56))); ctx.gpr[5] = (0u | 3u); { const bool branch_taken = ctx.gpr[4] == ctx.gpr[5]; // nop if (branch_taken) { (void)rt.invoke_chained_direct<&recomp_unit_0059_entry, 59u, 12u, 0x088F005Cu>(ctx, &aot_mem); return; } (void)rt.invoke_chained_direct<&recomp_unit_0059_entry, 59u, 2u, 0x088F0004u>(ctx, &aot_mem); return; } } void recomp_unit_0058(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0058_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_58(Runtime &runtime) { runtime.register_generated_unit(58u, 0x088EC000u, 16384u, &recomp_unit_0058, &recomp_unit_0058_entry); runtime.register_function(0x088EC000u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC01Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC034u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC040u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC07Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC0B4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC0C4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC0CCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC0D4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC0D8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC124u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC13Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC148u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC184u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC194u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC274u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC27Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC31Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC324u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC334u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC33Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC340u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC368u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC39Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC3A4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC440u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC480u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC488u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC490u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC4C8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC4E0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC508u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC51Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC540u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC568u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC5A8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC5B8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC5D4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC5F0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC618u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC638u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC640u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC714u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC73Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC74Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC754u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC75Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC768u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC76Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC780u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC800u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC820u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC844u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC860u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC870u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC878u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC880u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC898u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC8B0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC8C8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC8E0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC8F8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC910u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC928u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC940u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC958u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC970u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC988u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EC9D0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECA0Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECA58u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECA88u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECA90u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECAB0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECACCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECAD8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECAE0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECAE4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECB20u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECBA8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECBECu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECC04u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECC0Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECC7Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECC84u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECC8Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECC98u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECCA0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECCE4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECD38u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECD44u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECD60u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECD68u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECD70u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECD98u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECDF4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECE14u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECE38u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECE50u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECEB0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECEC4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECED8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECF34u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECF50u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECF64u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECF80u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECF94u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECFB4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECFB8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECFC0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ECFE4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED00Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED014u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED02Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED034u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED03Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED044u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED048u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED058u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED060u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED068u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED098u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED0A8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED0B0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED0B4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED0BCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED0ECu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED0FCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED104u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED108u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED110u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED128u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED134u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED13Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED140u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED150u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED164u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED17Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED194u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED19Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED1A4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED1A8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED1B0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED1E0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED1ECu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED1F4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED1FCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED208u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED210u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED218u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED228u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED238u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED240u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED248u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED250u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED258u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED264u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED270u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED27Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED288u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED28Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED294u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED2C4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED2D0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED2F8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED300u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED320u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED328u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED334u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED35Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED37Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED384u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED388u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED390u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED398u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED3D8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED3E0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED3E8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED454u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED544u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED568u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED5ACu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED5CCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED630u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED664u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED68Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED71Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED72Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED758u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED7C4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED7E4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED7F4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED81Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED838u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED848u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED874u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED884u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED8B4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED8D0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED8DCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED8E8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED8F4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED91Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED93Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED944u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED958u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED988u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED9B0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED9B8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED9C8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED9D0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088ED9F4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDA10u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDA18u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDA20u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDA48u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDA64u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDA88u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDB08u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDB10u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDB18u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDB2Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDB4Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDB5Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDB6Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDB78u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDB80u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDB88u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDB90u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDB9Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDBACu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDBB4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDBBCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDBC4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDBCCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDBD4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDBDCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDBECu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDBF4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDC00u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDC18u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDC30u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDC38u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDC40u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDC4Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDC6Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDC70u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDC74u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDC8Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDC94u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDC9Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDCCCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDCF8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDD00u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDD04u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDD4Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDD64u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDD94u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDD9Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDDA8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDDCCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDDDCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDE0Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDE1Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDE2Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDE30u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDE5Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDE6Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDE94u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDE9Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDEB8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDED0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDED8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDEE8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDF60u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDF78u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDF84u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDF98u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDFACu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDFB8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDFD4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDFE8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EDFFCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE008u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE010u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE024u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE030u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE048u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE05Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE064u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE080u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE08Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE0ACu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE0BCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE0C8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE0D0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE0D4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE0D8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE0ECu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE0F8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE10Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE1ACu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE1B0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE1C0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE1C4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE1CCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE1E4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE1FCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE208u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE228u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE234u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE264u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE278u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE28Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE298u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE2B4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE2C8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE2F4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE314u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE324u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE32Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE334u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE33Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE368u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE370u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE378u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE380u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE388u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE398u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE3A4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE3ACu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE3C0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE3CCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE3D4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE3DCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE3E4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE408u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE410u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE418u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE428u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE430u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE438u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE440u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE448u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE450u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE454u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE45Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE47Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE490u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE4CCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE4DCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE4E0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE4E8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE4F8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE500u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE508u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE510u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE518u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE544u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE54Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE56Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE574u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE590u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE594u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE5B4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE5D0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE5E4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE5F4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE5F8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE600u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE62Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE634u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE65Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE688u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE6C0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE6D8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE708u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE710u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE71Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE740u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE750u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE780u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE790u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE7A0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE7A4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE7D0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE7E0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE808u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE824u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE848u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE878u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE8A0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE8B8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE8C4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE8CCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE8D4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE8DCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE8E4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE8ECu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE904u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE920u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE960u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE970u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE978u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE984u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE98Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE994u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE9A8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE9C0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE9D0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE9F0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EE9F8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEA00u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEA0Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEA14u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEA1Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEA3Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEA50u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEA80u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEAB0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEABCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEACCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEAD8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEAE0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEC24u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEC38u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEC4Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEC60u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEC70u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEC78u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEC7Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEC88u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEC8Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEC90u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EECC8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EECD8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EECECu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EED08u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EED14u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EED24u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EED3Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EED48u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EED74u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EED84u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EED90u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EED98u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEDB4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEDC0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEDE8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEDF8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEE00u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEE04u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEE18u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEE1Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEE24u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEE40u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEE54u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEE6Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEE78u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEE9Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEEACu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEEB8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEEC4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEEDCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEEE8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEF0Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEF1Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEF24u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEF28u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEF5Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEF68u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEF70u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEF84u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEFA8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEFB4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEFC8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEFD8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEFE4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EEFF0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF000u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF00Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF01Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF028u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF06Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF074u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF088u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF090u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF0B0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF0BCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF0C4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF0D0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF0F0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF0FCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF11Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF124u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF13Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF150u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF15Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF178u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF184u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF190u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF1A8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF1B4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF1B8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF1C8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF1E4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF1F0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF1FCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF214u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF220u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF224u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF234u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF274u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF27Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF284u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF2A0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF2A8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF2ACu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF2CCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF2D8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF2E0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF304u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF310u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF33Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF38Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF39Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF3A4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF3C0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF3C8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF3CCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF3ECu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF3F8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF400u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF408u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF430u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF444u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF458u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF490u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF4D4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF4E4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF4ECu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF50Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF514u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF528u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF530u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF53Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF548u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF550u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF558u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF56Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF574u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF588u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF594u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF5C8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF5D4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF5E8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF5F8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF628u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF634u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF63Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF694u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF6A4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF6D4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF6E0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF6ECu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF6F8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF704u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF70Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF714u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF7B4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF7C0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF7D4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF804u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF810u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF824u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF838u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF844u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF854u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF860u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF878u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF884u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF88Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF894u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF89Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF8BCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF8C8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF8FCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF908u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF914u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF91Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF930u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF940u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF950u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF958u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EF9F4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFA00u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFA14u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFA20u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFA2Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFA38u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFA44u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFA50u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFA5Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFA74u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFA78u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFA88u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFA8Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFA98u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFAA0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFAE0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFB04u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFB28u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFB2Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFB34u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFC1Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFC94u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFCA8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFCE0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFD10u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFD40u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFD50u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFD70u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFD7Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFD8Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFDA8u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFDB0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFDC0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFDCCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFDD0u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFDDCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFDFCu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFE04u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFE2Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFE48u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFE50u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFE60u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFE78u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFE84u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFEF4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFF0Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFF48u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFF84u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFF8Cu, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFFC4u, &recomp_unit_0058, "recomp_unit_0058"); runtime.register_function(0x088EFFC8u, &recomp_unit_0058, "recomp_unit_0058"); } } // namespace psprecomp