Files
PSPRecomp/profiles/vcs/generated/generated_unit_0103.cpp
T
Jessica_Natalia 430e45bdb0 more updates
more updates
2026-08-27 04:39:50 -03:00

8723 lines
503 KiB
C++

#include "psprecomp/runtime.hpp"
#include "generated_units.hpp"
#include "vcs_resident_regions.hpp"
#include <bit>
#include <cmath>
#include <cstdint>
#include <limits>
namespace psprecomp {
// PSPRECOMP_V811_COMPACT_DISPATCH: 64-slot occupancy masks + per-group base id.
static constexpr std::uint64_t kEntryMasks_recomp_unit_0103[64] = {
0x00003086A2040549ull, 0x0000000000000000ull, 0x2201A88000000024ull, 0x08436A20800B5102ull,
0x8504044000000011ull, 0x10002202A0441081ull, 0x00000048B1100061ull, 0x035101B440104000ull,
0x16D1080100084000ull, 0x011229100006A202ull, 0x018A440000D44040ull, 0x00042C2800001205ull,
0x00050480500AA000ull, 0x3544000140280520ull, 0x240280385000000Aull, 0x06098A4104822884ull,
0x82A8812005030509ull, 0x0000000140120140ull, 0x0000000000040000ull, 0x2240000000000000ull,
0x028000A000840910ull, 0x0100050000088050ull, 0x008100A801500204ull, 0x280088290AA40034ull,
0x8291088001000000ull, 0x8008840522221208ull, 0x00001000052120B0ull, 0x0010140100104000ull,
0x0000800415400424ull, 0x0002450142A00200ull, 0x0924B00A10440000ull, 0x20A5001200000000ull,
0x4452400000022210ull, 0x5012694000000444ull, 0x00014A4415088242ull, 0x0020088441088000ull,
0x0000001821608151ull, 0x4808004210000000ull, 0x0000200000040001ull, 0x421220012C848000ull,
0x00004A068842A834ull, 0xA00802800004A000ull, 0x20000C0004000400ull, 0x4040000A80020000ull,
0x0001084420400080ull, 0x8880088222002084ull, 0x0000000822200220ull, 0x0000000082220020ull,
0x0080100800000440ull, 0x4008020100200804ull, 0x0000001041020080ull, 0x0108000000000100ull,
0x0045500480000040ull, 0x5512200254310002ull, 0x50D01004000AA000ull, 0x0004A15A802C0A02ull,
0x6104000001228400ull, 0x8120208A00000000ull, 0x00800402A8001484ull, 0x2801040220082A02ull,
0x3140082011002056ull, 0x00009028A2AA5449ull, 0x0402AA9348048480ull, 0x0002000000002492ull,
};
static constexpr std::uint16_t kEntryBases_recomp_unit_0103[64] = {
1u, 15u, 15u, 24u, 41u, 49u, 60u, 70u, 83u, 94u, 107u, 119u, 129u, 139u, 152u, 163u,
179u, 195u, 201u, 202u, 205u, 214u, 221u, 231u, 246u, 254u, 267u, 276u, 282u, 291u, 301u, 313u,
320u, 330u, 342u, 356u, 364u, 375u, 381u, 384u, 396u, 411u, 419u, 424u, 430u, 437u, 448u, 454u,
459u, 464u, 471u, 476u, 479u, 487u, 502u, 513u, 528u, 537u, 544u, 554u, 565u, 578u, 595u, 611u,
};
void recomp_unit_0103_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) {
// PSPRECOMP_AOT_REGCACHE_BEGIN
// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,20,14 gpr_occ=2625 fpr_occ=1936 gpr_total=3552 fpr_total=2727
std::uint32_t aot_gpr_4 = ctx.gpr[4];
std::uint32_t aot_gpr_5 = ctx.gpr[5];
std::uint32_t aot_gpr_29 = ctx.gpr[29];
std::uint32_t aot_gpr_16 = ctx.gpr[16];
std::uint32_t aot_gpr_31 = ctx.gpr[31];
std::uint32_t aot_gpr_6 = ctx.gpr[6];
float aot_fpr_12 = ctx.fpr[12];
float aot_fpr_13 = ctx.fpr[13];
float aot_fpr_20 = ctx.fpr[20];
float aot_fpr_14 = ctx.fpr[14];
bool aot_regcache_valid = true;
#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false)
#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false)
// PSPRECOMP_AOT_REGCACHE_END
std::uint32_t jump_target = 0u;
std::uint32_t local_transfers = 0u;
std::uint32_t local_redispatch_rounds = 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 - 0x089A0004u;
entry_id = 0u;
if (entry_delta < 16328u && (entry_delta & 3u) == 0u) {
const std::uint32_t entry_slot = entry_delta >> 2u;
const std::uint32_t entry_group = entry_slot >> 6u;
const std::uint64_t entry_mask = kEntryMasks_recomp_unit_0103[entry_group];
const std::uint64_t entry_bit = 1ull << (entry_slot & 63u);
if ((entry_mask & entry_bit) != 0u) {
entry_id = static_cast<std::uint16_t>(
kEntryBases_recomp_unit_0103[entry_group] +
std::popcount(entry_mask & (entry_bit - 1ull)));
}
}
}
switch (entry_id) {
case 1u: goto L_089A0004;
case 2u: goto L_089A0010;
case 3u: goto L_089A001C;
case 4u: goto L_089A0024;
case 5u: goto L_089A002C;
case 6u: goto L_089A004C;
case 7u: goto L_089A0068;
case 8u: goto L_089A0078;
case 9u: goto L_089A0080;
case 10u: goto L_089A0088;
case 11u: goto L_089A008C;
case 12u: goto L_089A00A0;
case 13u: goto L_089A00B4;
case 14u: goto L_089A00B8;
case 15u: goto L_089A020C;
case 16u: goto L_089A0218;
case 17u: goto L_089A02A0;
case 18u: goto L_089A02B0;
case 19u: goto L_089A02B8;
case 20u: goto L_089A02C0;
case 21u: goto L_089A02C4;
case 22u: goto L_089A02E8;
case 23u: goto L_089A02F8;
case 24u: goto L_089A0308;
case 25u: goto L_089A0324;
case 26u: goto L_089A0334;
case 27u: goto L_089A033C;
case 28u: goto L_089A0344;
case 29u: goto L_089A0348;
case 30u: goto L_089A0350;
case 31u: goto L_089A0380;
case 32u: goto L_089A0398;
case 33u: goto L_089A03A8;
case 34u: goto L_089A03B0;
case 35u: goto L_089A03B8;
case 36u: goto L_089A03BC;
case 37u: goto L_089A03C4;
case 38u: goto L_089A03C8;
case 39u: goto L_089A03DC;
case 40u: goto L_089A03F0;
case 41u: goto L_089A0404;
case 42u: goto L_089A0414;
case 43u: goto L_089A049C;
case 44u: goto L_089A04AC;
case 45u: goto L_089A04CC;
case 46u: goto L_089A04E4;
case 47u: goto L_089A04EC;
case 48u: goto L_089A0500;
case 49u: goto L_089A0504;
case 50u: goto L_089A0520;
case 51u: goto L_089A0534;
case 52u: goto L_089A054C;
case 53u: goto L_089A055C;
case 54u: goto L_089A0578;
case 55u: goto L_089A0580;
case 56u: goto L_089A0588;
case 57u: goto L_089A05A8;
case 58u: goto L_089A05B8;
case 59u: goto L_089A05F4;
case 60u: goto L_089A0604;
case 61u: goto L_089A0618;
case 62u: goto L_089A061C;
case 63u: goto L_089A0654;
case 64u: goto L_089A0664;
case 65u: goto L_089A0674;
case 66u: goto L_089A0678;
case 67u: goto L_089A0680;
case 68u: goto L_089A0690;
case 69u: goto L_089A069C;
case 70u: goto L_089A073C;
case 71u: goto L_089A0754;
case 72u: goto L_089A077C;
case 73u: goto L_089A078C;
case 74u: goto L_089A0794;
case 75u: goto L_089A0798;
case 76u: goto L_089A07A0;
case 77u: goto L_089A07A4;
case 78u: goto L_089A07C4;
case 79u: goto L_089A07D4;
case 80u: goto L_089A07DC;
case 81u: goto L_089A07E4;
case 82u: goto L_089A07E8;
case 83u: goto L_089A083C;
case 84u: goto L_089A0850;
case 85u: goto L_089A0884;
case 86u: goto L_089A08B0;
case 87u: goto L_089A08C4;
case 88u: goto L_089A08D4;
case 89u: goto L_089A08DC;
case 90u: goto L_089A08E0;
case 91u: goto L_089A08E8;
case 92u: goto L_089A08EC;
case 93u: goto L_089A08F4;
case 94u: goto L_089A0908;
case 95u: goto L_089A0928;
case 96u: goto L_089A0938;
case 97u: goto L_089A0940;
case 98u: goto L_089A0948;
case 99u: goto L_089A094C;
case 100u: goto L_089A0994;
case 101u: goto L_089A09A4;
case 102u: goto L_089A09B0;
case 103u: goto L_089A09B8;
case 104u: goto L_089A09C8;
case 105u: goto L_089A09D4;
case 106u: goto L_089A09E4;
case 107u: goto L_089A0A1C;
case 108u: goto L_089A0A3C;
case 109u: goto L_089A0A4C;
case 110u: goto L_089A0A54;
case 111u: goto L_089A0A5C;
case 112u: goto L_089A0A60;
case 113u: goto L_089A0AAC;
case 114u: goto L_089A0ABC;
case 115u: goto L_089A0AC8;
case 116u: goto L_089A0AD0;
case 117u: goto L_089A0AE0;
case 118u: goto L_089A0AE4;
case 119u: goto L_089A0B04;
case 120u: goto L_089A0B0C;
case 121u: goto L_089A0B28;
case 122u: goto L_089A0B34;
case 123u: goto L_089A0B90;
case 124u: goto L_089A0B98;
case 125u: goto L_089A0BAC;
case 126u: goto L_089A0BB0;
case 127u: goto L_089A0BB8;
case 128u: goto L_089A0BCC;
case 129u: goto L_089A0C38;
case 130u: goto L_089A0C40;
case 131u: goto L_089A0C48;
case 132u: goto L_089A0C50;
case 133u: goto L_089A0C74;
case 134u: goto L_089A0C7C;
case 135u: goto L_089A0CA0;
case 136u: goto L_089A0CAC;
case 137u: goto L_089A0CC4;
case 138u: goto L_089A0CCC;
case 139u: goto L_089A0D18;
case 140u: goto L_089A0D24;
case 141u: goto L_089A0D2C;
case 142u: goto L_089A0D50;
case 143u: goto L_089A0D58;
case 144u: goto L_089A0D7C;
case 145u: goto L_089A0D84;
case 146u: goto L_089A0DCC;
case 147u: goto L_089A0DDC;
case 148u: goto L_089A0DE4;
case 149u: goto L_089A0DEC;
case 150u: goto L_089A0DF4;
case 151u: goto L_089A0DF8;
case 152u: goto L_089A0E08;
case 153u: goto L_089A0E10;
case 154u: goto L_089A0E74;
case 155u: goto L_089A0E7C;
case 156u: goto L_089A0E90;
case 157u: goto L_089A0E94;
case 158u: goto L_089A0E98;
case 159u: goto L_089A0EC0;
case 160u: goto L_089A0EC8;
case 161u: goto L_089A0EEC;
case 162u: goto L_089A0EF8;
case 163u: goto L_089A0F0C;
case 164u: goto L_089A0F20;
case 165u: goto L_089A0F30;
case 166u: goto L_089A0F38;
case 167u: goto L_089A0F48;
case 168u: goto L_089A0F60;
case 169u: goto L_089A0F6C;
case 170u: goto L_089A0F84;
case 171u: goto L_089A0F9C;
case 172u: goto L_089A0FA8;
case 173u: goto L_089A0FB0;
case 174u: goto L_089A0FC0;
case 175u: goto L_089A0FC4;
case 176u: goto L_089A0FD0;
case 177u: goto L_089A0FE8;
case 178u: goto L_089A0FEC;
case 179u: goto L_089A1004;
case 180u: goto L_089A1010;
case 181u: goto L_089A1024;
case 182u: goto L_089A102C;
case 183u: goto L_089A1044;
case 184u: goto L_089A1048;
case 185u: goto L_089A1064;
case 186u: goto L_089A106C;
case 187u: goto L_089A1098;
case 188u: goto L_089A10A4;
case 189u: goto L_089A10C0;
case 190u: goto L_089A10D0;
case 191u: goto L_089A10D8;
case 192u: goto L_089A10E0;
case 193u: goto L_089A10E8;
case 194u: goto L_089A1100;
case 195u: goto L_089A111C;
case 196u: goto L_089A1124;
case 197u: goto L_089A1148;
case 198u: goto L_089A1154;
case 199u: goto L_089A117C;
case 200u: goto L_089A1184;
case 201u: goto L_089A124C;
case 202u: goto L_089A13DC;
case 203u: goto L_089A13E8;
case 204u: goto L_089A13F8;
case 205u: goto L_089A1414;
case 206u: goto L_089A1424;
case 207u: goto L_089A1430;
case 208u: goto L_089A144C;
case 209u: goto L_089A1460;
case 210u: goto L_089A1498;
case 211u: goto L_089A14A0;
case 212u: goto L_089A14E0;
case 213u: goto L_089A14E8;
case 214u: goto L_089A1514;
case 215u: goto L_089A151C;
case 216u: goto L_089A1540;
case 217u: goto L_089A1550;
case 218u: goto L_089A15A4;
case 219u: goto L_089A15AC;
case 220u: goto L_089A15E4;
case 221u: goto L_089A160C;
case 222u: goto L_089A1628;
case 223u: goto L_089A1654;
case 224u: goto L_089A165C;
case 225u: goto L_089A1664;
case 226u: goto L_089A1690;
case 227u: goto L_089A1698;
case 228u: goto L_089A16A0;
case 229u: goto L_089A16C4;
case 230u: goto L_089A16E0;
case 231u: goto L_089A170C;
case 232u: goto L_089A1714;
case 233u: goto L_089A1718;
case 234u: goto L_089A174C;
case 235u: goto L_089A1758;
case 236u: goto L_089A1760;
case 237u: goto L_089A1768;
case 238u: goto L_089A1770;
case 239u: goto L_089A1784;
case 240u: goto L_089A1790;
case 241u: goto L_089A1798;
case 242u: goto L_089A17B0;
case 243u: goto L_089A17C0;
case 244u: goto L_089A17F0;
case 245u: goto L_089A17F8;
case 246u: goto L_089A1864;
case 247u: goto L_089A18A0;
case 248u: goto L_089A18B0;
case 249u: goto L_089A18C4;
case 250u: goto L_089A18D4;
case 251u: goto L_089A18E0;
case 252u: goto L_089A18E8;
case 253u: goto L_089A1900;
case 254u: goto L_089A1910;
case 255u: goto L_089A1928;
case 256u: goto L_089A1934;
case 257u: goto L_089A1948;
case 258u: goto L_089A1958;
case 259u: goto L_089A1968;
case 260u: goto L_089A1978;
case 261u: goto L_089A1984;
case 262u: goto L_089A198C;
case 263u: goto L_089A19AC;
case 264u: goto L_089A19C0;
case 265u: goto L_089A19D0;
case 266u: goto L_089A1A00;
case 267u: goto L_089A1A14;
case 268u: goto L_089A1A18;
case 269u: goto L_089A1A20;
case 270u: goto L_089A1A38;
case 271u: goto L_089A1A44;
case 272u: goto L_089A1A58;
case 273u: goto L_089A1A64;
case 274u: goto L_089A1A6C;
case 275u: goto L_089A1AB4;
case 276u: goto L_089A1B3C;
case 277u: goto L_089A1B54;
case 278u: goto L_089A1B84;
case 279u: goto L_089A1BAC;
case 280u: goto L_089A1BB4;
case 281u: goto L_089A1BD4;
case 282u: goto L_089A1C0C;
case 283u: goto L_089A1C18;
case 284u: goto L_089A1C2C;
case 285u: goto L_089A1C5C;
case 286u: goto L_089A1C64;
case 287u: goto L_089A1C6C;
case 288u: goto L_089A1C74;
case 289u: goto L_089A1C8C;
case 290u: goto L_089A1CC0;
case 291u: goto L_089A1D28;
case 292u: goto L_089A1D58;
case 293u: goto L_089A1D60;
case 294u: goto L_089A1D68;
case 295u: goto L_089A1D7C;
case 296u: goto L_089A1D84;
case 297u: goto L_089A1DA4;
case 298u: goto L_089A1DAC;
case 299u: goto L_089A1DBC;
case 300u: goto L_089A1DC8;
case 301u: goto L_089A1E4C;
case 302u: goto L_089A1E5C;
case 303u: goto L_089A1E74;
case 304u: goto L_089A1E88;
case 305u: goto L_089A1E90;
case 306u: goto L_089A1EB4;
case 307u: goto L_089A1EB8;
case 308u: goto L_089A1EC0;
case 309u: goto L_089A1ECC;
case 310u: goto L_089A1ED8;
case 311u: goto L_089A1EE4;
case 312u: goto L_089A1EF0;
case 313u: goto L_089A1F88;
case 314u: goto L_089A1F94;
case 315u: goto L_089A1FC4;
case 316u: goto L_089A1FCC;
case 317u: goto L_089A1FD8;
case 318u: goto L_089A1FE0;
case 319u: goto L_089A1FF8;
case 320u: goto L_089A2014;
case 321u: goto L_089A2028;
case 322u: goto L_089A2038;
case 323u: goto L_089A2048;
case 324u: goto L_089A20BC;
case 325u: goto L_089A20C8;
case 326u: goto L_089A20D4;
case 327u: goto L_089A20DC;
case 328u: goto L_089A20EC;
case 329u: goto L_089A20FC;
case 330u: goto L_089A210C;
case 331u: goto L_089A211C;
case 332u: goto L_089A212C;
case 333u: goto L_089A219C;
case 334u: goto L_089A21A4;
case 335u: goto L_089A21B0;
case 336u: goto L_089A21B8;
case 337u: goto L_089A21BC;
case 338u: goto L_089A21C8;
case 339u: goto L_089A21D4;
case 340u: goto L_089A21F4;
case 341u: goto L_089A21FC;
case 342u: goto L_089A2208;
case 343u: goto L_089A221C;
case 344u: goto L_089A2228;
case 345u: goto L_089A2240;
case 346u: goto L_089A2250;
case 347u: goto L_089A2264;
case 348u: goto L_089A226C;
case 349u: goto L_089A2274;
case 350u: goto L_089A228C;
case 351u: goto L_089A229C;
case 352u: goto L_089A22A8;
case 353u: goto L_089A22B0;
case 354u: goto L_089A22BC;
case 355u: goto L_089A22C4;
case 356u: goto L_089A2340;
case 357u: goto L_089A2350;
case 358u: goto L_089A2364;
case 359u: goto L_089A237C;
case 360u: goto L_089A238C;
case 361u: goto L_089A23A0;
case 362u: goto L_089A23B0;
case 363u: goto L_089A23D8;
case 364u: goto L_089A2404;
case 365u: goto L_089A2414;
case 366u: goto L_089A241C;
case 367u: goto L_089A2424;
case 368u: goto L_089A2440;
case 369u: goto L_089A2458;
case 370u: goto L_089A245C;
case 371u: goto L_089A2464;
case 372u: goto L_089A2478;
case 373u: goto L_089A2490;
case 374u: goto L_089A2494;
case 375u: goto L_089A2574;
case 376u: goto L_089A2588;
case 377u: goto L_089A259C;
case 378u: goto L_089A25D0;
case 379u: goto L_089A25F0;
case 380u: goto L_089A25FC;
case 381u: goto L_089A2604;
case 382u: goto L_089A264C;
case 383u: goto L_089A26B8;
case 384u: goto L_089A2740;
case 385u: goto L_089A274C;
case 386u: goto L_089A2760;
case 387u: goto L_089A276C;
case 388u: goto L_089A2770;
case 389u: goto L_089A2778;
case 390u: goto L_089A2784;
case 391u: goto L_089A27B8;
case 392u: goto L_089A27C8;
case 393u: goto L_089A27D4;
case 394u: goto L_089A27E8;
case 395u: goto L_089A27FC;
case 396u: goto L_089A280C;
case 397u: goto L_089A2814;
case 398u: goto L_089A2818;
case 399u: goto L_089A2830;
case 400u: goto L_089A2838;
case 401u: goto L_089A2840;
case 402u: goto L_089A2848;
case 403u: goto L_089A285C;
case 404u: goto L_089A2870;
case 405u: goto L_089A2880;
case 406u: goto L_089A2888;
case 407u: goto L_089A288C;
case 408u: goto L_089A28A8;
case 409u: goto L_089A28B0;
case 410u: goto L_089A28BC;
case 411u: goto L_089A2938;
case 412u: goto L_089A2940;
case 413u: goto L_089A294C;
case 414u: goto L_089A29A0;
case 415u: goto L_089A29A8;
case 416u: goto L_089A29D0;
case 417u: goto L_089A29F8;
case 418u: goto L_089A2A00;
case 419u: goto L_089A2A2C;
case 420u: goto L_089A2A6C;
case 421u: goto L_089A2AAC;
case 422u: goto L_089A2AB0;
case 423u: goto L_089A2AF8;
case 424u: goto L_089A2B48;
case 425u: goto L_089A2B80;
case 426u: goto L_089A2B88;
case 427u: goto L_089A2B90;
case 428u: goto L_089A2BDC;
case 429u: goto L_089A2BFC;
case 430u: goto L_089A2C20;
case 431u: goto L_089A2C5C;
case 432u: goto L_089A2C78;
case 433u: goto L_089A2C8C;
case 434u: goto L_089A2C9C;
case 435u: goto L_089A2CB0;
case 436u: goto L_089A2CC4;
case 437u: goto L_089A2D0C;
case 438u: goto L_089A2D20;
case 439u: goto L_089A2D38;
case 440u: goto L_089A2D68;
case 441u: goto L_089A2D78;
case 442u: goto L_089A2D88;
case 443u: goto L_089A2DA0;
case 444u: goto L_089A2DB0;
case 445u: goto L_089A2DE0;
case 446u: goto L_089A2DF0;
case 447u: goto L_089A2E00;
case 448u: goto L_089A2E18;
case 449u: goto L_089A2E28;
case 450u: goto L_089A2E58;
case 451u: goto L_089A2E68;
case 452u: goto L_089A2E78;
case 453u: goto L_089A2E90;
case 454u: goto L_089A2F18;
case 455u: goto L_089A2F48;
case 456u: goto L_089A2F58;
case 457u: goto L_089A2F68;
case 458u: goto L_089A2F80;
case 459u: goto L_089A301C;
case 460u: goto L_089A302C;
case 461u: goto L_089A3090;
case 462u: goto L_089A30B4;
case 463u: goto L_089A30E0;
case 464u: goto L_089A310C;
case 465u: goto L_089A3130;
case 466u: goto L_089A3158;
case 467u: goto L_089A3184;
case 468u: goto L_089A31A8;
case 469u: goto L_089A31D0;
case 470u: goto L_089A31FC;
case 471u: goto L_089A3220;
case 472u: goto L_089A3248;
case 473u: goto L_089A3264;
case 474u: goto L_089A327C;
case 475u: goto L_089A3294;
case 476u: goto L_089A3324;
case 477u: goto L_089A33D0;
case 478u: goto L_089A33E4;
case 479u: goto L_089A341C;
case 480u: goto L_089A3480;
case 481u: goto L_089A348C;
case 482u: goto L_089A34B4;
case 483u: goto L_089A34BC;
case 484u: goto L_089A34C4;
case 485u: goto L_089A34CC;
case 486u: goto L_089A34DC;
case 487u: goto L_089A3508;
case 488u: goto L_089A3544;
case 489u: goto L_089A3554;
case 490u: goto L_089A3558;
case 491u: goto L_089A356C;
case 492u: goto L_089A3574;
case 493u: goto L_089A357C;
case 494u: goto L_089A3588;
case 495u: goto L_089A35B8;
case 496u: goto L_089A35C8;
case 497u: goto L_089A35D4;
case 498u: goto L_089A35E4;
case 499u: goto L_089A35EC;
case 500u: goto L_089A35F4;
case 501u: goto L_089A35FC;
case 502u: goto L_089A3638;
case 503u: goto L_089A3640;
case 504u: goto L_089A3648;
case 505u: goto L_089A3650;
case 506u: goto L_089A368C;
case 507u: goto L_089A36B4;
case 508u: goto L_089A36D4;
case 509u: goto L_089A36DC;
case 510u: goto L_089A36E0;
case 511u: goto L_089A36F4;
case 512u: goto L_089A36FC;
case 513u: goto L_089A3708;
case 514u: goto L_089A3728;
case 515u: goto L_089A3730;
case 516u: goto L_089A374C;
case 517u: goto L_089A3750;
case 518u: goto L_089A3758;
case 519u: goto L_089A3780;
case 520u: goto L_089A3788;
case 521u: goto L_089A3790;
case 522u: goto L_089A3794;
case 523u: goto L_089A379C;
case 524u: goto L_089A37A4;
case 525u: goto L_089A37B8;
case 526u: goto L_089A37C0;
case 527u: goto L_089A37CC;
case 528u: goto L_089A382C;
case 529u: goto L_089A3840;
case 530u: goto L_089A3848;
case 531u: goto L_089A3858;
case 532u: goto L_089A3864;
case 533u: goto L_089A38CC;
case 534u: goto L_089A38E4;
case 535u: goto L_089A38F8;
case 536u: goto L_089A38FC;
case 537u: goto L_089A3988;
case 538u: goto L_089A3990;
case 539u: goto L_089A39A0;
case 540u: goto L_089A39B8;
case 541u: goto L_089A39D8;
case 542u: goto L_089A39E4;
case 543u: goto L_089A3A00;
case 544u: goto L_089A3A0C;
case 545u: goto L_089A3A20;
case 546u: goto L_089A3A2C;
case 547u: goto L_089A3A34;
case 548u: goto L_089A3A70;
case 549u: goto L_089A3A78;
case 550u: goto L_089A3A80;
case 551u: goto L_089A3A88;
case 552u: goto L_089A3AAC;
case 553u: goto L_089A3AE0;
case 554u: goto L_089A3B08;
case 555u: goto L_089A3B28;
case 556u: goto L_089A3B30;
case 557u: goto L_089A3B38;
case 558u: goto L_089A3B50;
case 559u: goto L_089A3B78;
case 560u: goto L_089A3B88;
case 561u: goto L_089A3BAC;
case 562u: goto L_089A3BC4;
case 563u: goto L_089A3BF0;
case 564u: goto L_089A3BF8;
case 565u: goto L_089A3C08;
case 566u: goto L_089A3C0C;
case 567u: goto L_089A3C14;
case 568u: goto L_089A3C1C;
case 569u: goto L_089A3C38;
case 570u: goto L_089A3C64;
case 571u: goto L_089A3C74;
case 572u: goto L_089A3C98;
case 573u: goto L_089A3CB0;
case 574u: goto L_089A3CDC;
case 575u: goto L_089A3CE4;
case 576u: goto L_089A3CF4;
case 577u: goto L_089A3CF8;
case 578u: goto L_089A3D04;
case 579u: goto L_089A3D10;
case 580u: goto L_089A3D1C;
case 581u: goto L_089A3D2C;
case 582u: goto L_089A3D34;
case 583u: goto L_089A3D3C;
case 584u: goto L_089A3D48;
case 585u: goto L_089A3D50;
case 586u: goto L_089A3D58;
case 587u: goto L_089A3D60;
case 588u: goto L_089A3D68;
case 589u: goto L_089A3D78;
case 590u: goto L_089A3D80;
case 591u: goto L_089A3D90;
case 592u: goto L_089A3D98;
case 593u: goto L_089A3DB4;
case 594u: goto L_089A3DC0;
case 595u: goto L_089A3E20;
case 596u: goto L_089A3E2C;
case 597u: goto L_089A3E40;
case 598u: goto L_089A3E4C;
case 599u: goto L_089A3E70;
case 600u: goto L_089A3E7C;
case 601u: goto L_089A3E84;
case 602u: goto L_089A3E88;
case 603u: goto L_089A3E94;
case 604u: goto L_089A3EA0;
case 605u: goto L_089A3EA8;
case 606u: goto L_089A3EB0;
case 607u: goto L_089A3EB8;
case 608u: goto L_089A3EC0;
case 609u: goto L_089A3EC8;
case 610u: goto L_089A3EEC;
case 611u: goto L_089A3F08;
case 612u: goto L_089A3F14;
case 613u: goto L_089A3F20;
case 614u: goto L_089A3F2C;
case 615u: goto L_089A3F38;
case 616u: goto L_089A3FC8;
default:
if (local_transfers == 0u) rt.unsupported(ctx.pc, 0u, "invalid internal function entry");
else ctx.pc = local_pc;
AOT_REGCACHE_SYNC_OUT(); return;
}
}
// PSPRECOMP_V812_SHARED_SCHED_BLOCK: one scheduler-exact slow boundary per unit.
LOCAL_SCHED_BOUNDARY:
ctx.pc = jump_target;
AOT_REGCACHE_SYNC_OUT();
if (local_redispatch_rounds < 7u && rt.continue_generated_local_dispatch(ctx)) {
++local_redispatch_rounds;
AOT_REGCACHE_SYNC_IN();
local_transfers = 0u;
local_pc = ctx.pc;
entry_id = 0u;
goto LOCAL_DISPATCH;
}
return;
L_089A0004:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(2057)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089A002C;
}
goto L_089A0010;
}
L_089A0010:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(956), std::bit_cast<std::uint32_t>(aot_fpr_20));
aot_gpr_31 = (0x089A001Cu);
aot_gpr_4 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A001Cu) goto L_089A001C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A001C:
aot_gpr_31 = (0x089A0024u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 649u, 0x0898DCA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0024u) goto L_089A0024;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0024:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_089A0218;
}
goto L_089A002C;
}
L_089A002C:
aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast<std::uint32_t>(163), static_cast<std::uint8_t>(0u));
aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast<std::uint32_t>(164), static_cast<std::uint8_t>(0u));
aot_gpr_4 = (0u | 1u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(928)));
aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast<std::uint32_t>(161), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(2066)));
if (aot_gpr_4 != 0u) {
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(956), std::bit_cast<std::uint32_t>(aot_fpr_20));
goto L_089A00B8;
}
goto L_089A004C;
L_089A004C:
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(16)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(20)));
if (branch_taken) {
goto L_089A0080;
}
goto L_089A0068;
}
L_089A0068:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[24])) && aot_fpr_13 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0080;
}
goto L_089A0078;
}
L_089A0078:
{ const bool branch_taken = 0u == 0u;
aot_fpr_12 = ctx.fpr[24] - ctx.fpr[30];
if (branch_taken) {
goto L_089A008C;
}
goto L_089A0080;
}
L_089A0080:
aot_gpr_31 = (0x089A0088u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0088u) goto L_089A0088;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0088:
aot_fpr_12 = ctx.fpr[0] - ctx.fpr[30];
goto L_089A008C;
L_089A008C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(928)));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(2057)));
{ const bool branch_taken = aot_gpr_4 == 0u;
aot_gpr_4 = (16457u << 16u);
if (branch_taken) {
goto L_089A00B4;
}
goto L_089A00A0;
}
L_089A00A0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(124)));
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A00B4;
L_089A00B4:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(956), std::bit_cast<std::uint32_t>(aot_fpr_20));
goto L_089A00B8;
L_089A00B8:
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(304), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(292), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_gpr_4 = (17530u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(124)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(120)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13) ^ 0x80000000u);
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_4);
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_13), std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(ctx.fpr[15])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(240), aot_run_words); }
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(240));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(912)));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_6 = (std::bit_cast<std::uint32_t>(aot_fpr_20));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6);
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(256));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_6 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
ctx.gpr[7] = (aot_gpr_29 + static_cast<std::uint32_t>(96));
{ const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_6 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(948)));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7660)));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(592), ctx.gpr[8]);
ctx.gpr[8] = (std::bit_cast<std::uint32_t>(ctx.fpr[26]));
ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[8]);
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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 = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_6 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_6 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(952)));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(928)));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(2066)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089A0218;
}
goto L_089A020C;
}
L_089A020C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(932)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A0218;
L_089A0218:
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(96));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(948)));
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(912)));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>();
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 = aot_gpr_5 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(952)));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(940), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(20)));
if (branch_taken) {
goto L_089A02B8;
}
goto L_089A02A0;
}
L_089A02A0:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[24])) && aot_fpr_13 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A02B8;
}
goto L_089A02B0;
}
L_089A02B0:
{ const bool branch_taken = 0u == 0u;
aot_fpr_12 = ctx.fpr[24] - ctx.fpr[30];
if (branch_taken) {
goto L_089A02C4;
}
goto L_089A02B8;
}
L_089A02B8:
aot_gpr_31 = (0x089A02C0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A02C0u) goto L_089A02C0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A02C0:
aot_fpr_12 = ctx.fpr[0] - ctx.fpr[30];
goto L_089A02C4;
L_089A02C4:
aot_gpr_4 = (49225u << 16u);
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (16457u << 16u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_13)) ? 0x00800000u : 0u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
ctx.fpr[28] = std::bit_cast<float>(aot_gpr_4);
if (branch_taken) {
goto L_089A02F8;
}
goto L_089A02E8;
}
L_089A02E8:
aot_gpr_4 = (16585u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_20 = aot_fpr_12 + aot_fpr_20;
goto L_089A02F8;
L_089A02F8:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(852)));
aot_gpr_5 = (0u | 4u);
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_089A0350;
}
goto L_089A0308;
}
L_089A0308:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
if (branch_taken) {
goto L_089A033C;
}
goto L_089A0324;
}
L_089A0324:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[24])) && aot_fpr_13 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A033C;
}
goto L_089A0334;
}
L_089A0334:
{ const bool branch_taken = 0u == 0u;
aot_fpr_12 = ctx.fpr[24] - ctx.fpr[30];
if (branch_taken) {
goto L_089A0348;
}
goto L_089A033C;
}
L_089A033C:
aot_gpr_31 = (0x089A0344u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0344u) goto L_089A0344;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0344:
aot_fpr_12 = ctx.fpr[0] - ctx.fpr[30];
goto L_089A0348;
L_089A0348:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A03C8;
}
goto L_089A0350;
}
L_089A0350:
{ const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 2u>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (15523u << 16u);
aot_gpr_4 = (aot_gpr_4 | 55050u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A03C4;
}
goto L_089A0380;
}
L_089A0380:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(320)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(324)));
if (branch_taken) {
goto L_089A03B0;
}
goto L_089A0398;
}
L_089A0398:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[24])) && aot_fpr_13 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A03B0;
}
goto L_089A03A8;
}
L_089A03A8:
{ const bool branch_taken = 0u == 0u;
aot_fpr_12 = ctx.fpr[24] - ctx.fpr[30];
if (branch_taken) {
goto L_089A03BC;
}
goto L_089A03B0;
}
L_089A03B0:
aot_gpr_31 = (0x089A03B8u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A03B8u) goto L_089A03B8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A03B8:
aot_fpr_12 = ctx.fpr[0] - ctx.fpr[30];
goto L_089A03BC;
L_089A03BC:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A03C8;
}
goto L_089A03C4;
}
L_089A03C4:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
goto L_089A03C8;
L_089A03C8:
aot_fpr_13 = aot_fpr_20 + ctx.fpr[28];
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A03F0;
}
goto L_089A03DC;
}
L_089A03DC:
aot_gpr_4 = (16585u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
{ const bool branch_taken = 0u == 0u;
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
if (branch_taken) {
goto L_089A0414;
}
goto L_089A03F0;
}
L_089A03F0:
aot_fpr_13 = aot_fpr_20 - ctx.fpr[28];
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0414;
}
goto L_089A0404;
}
L_089A0404:
aot_gpr_4 = (16585u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
goto L_089A0414;
L_089A0414:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(40)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
{ const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[15] = fs * ft; }
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(44)));
{ const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(912)));
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>());
ctx.fpr[16] = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (std::bit_cast<std::uint32_t>(ctx.fpr[16]));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(288));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(272));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>());
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
aot_gpr_4 = (16256u << 16u);
ctx.fpr[16] = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < aot_fpr_14)) ? 0x00800000u : 0u);
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[16]));
goto L_089A049C;
}
goto L_089A049C;
L_089A049C:
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(852)));
aot_gpr_4 = (0u | 4u);
{ const bool branch_taken = aot_gpr_6 != aot_gpr_4;
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_14));
if (branch_taken) {
goto L_089A04CC;
}
goto L_089A04AC;
}
L_089A04AC:
aot_gpr_6 = (15948u << 16u);
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_14));
aot_gpr_6 = (aot_gpr_6 | 52429u);
aot_fpr_14 = std::bit_cast<float>(aot_gpr_6);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= ctx.fpr[15])) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_14));
goto L_089A04CC;
}
goto L_089A04CC;
L_089A04CC:
aot_fpr_12 = aot_fpr_12 - aot_fpr_20;
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A04EC;
}
goto L_089A04E4;
}
L_089A04E4:
{ const bool branch_taken = 0u == 0u;
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
if (branch_taken) {
goto L_089A0504;
}
goto L_089A04EC;
}
L_089A04EC:
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0504;
}
goto L_089A0500;
}
L_089A0500:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
goto L_089A0504;
L_089A0504:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(124)));
aot_fpr_20 = aot_fpr_20 + aot_fpr_12;
aot_fpr_13 = aot_fpr_13 + ctx.fpr[28];
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0534;
}
goto L_089A0520;
}
L_089A0520:
aot_gpr_6 = (16585u << 16u);
aot_gpr_6 = (aot_gpr_6 | 4059u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
{ const bool branch_taken = 0u == 0u;
aot_fpr_20 = aot_fpr_20 - aot_fpr_12;
if (branch_taken) {
goto L_089A055C;
}
goto L_089A0534;
}
L_089A0534:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(124)));
aot_fpr_12 = aot_fpr_12 - ctx.fpr[28];
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A055C;
}
goto L_089A054C;
}
L_089A054C:
aot_gpr_6 = (16585u << 16u);
aot_gpr_6 = (aot_gpr_6 | 4059u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
aot_fpr_20 = aot_fpr_20 + aot_fpr_12;
goto L_089A055C;
L_089A055C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(124)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
aot_fpr_12 = aot_fpr_20 - aot_fpr_12;
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[16])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(944), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A0580;
}
goto L_089A0578;
}
L_089A0578:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(936), std::bit_cast<std::uint32_t>(ctx.fpr[16]));
if (branch_taken) {
goto L_089A0588;
}
goto L_089A0580;
}
L_089A0580:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(936), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A0588;
L_089A0588:
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(24)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[16]));
aot_gpr_6 = (49024u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_6);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(24)));
goto L_089A05A8;
}
goto L_089A05A8;
L_089A05A8:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
goto L_089A05B8;
}
goto L_089A05B8;
L_089A05B8:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(112), std::bit_cast<std::uint32_t>(ctx.fpr[26]));
aot_gpr_6 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_6);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_unary_ct<0u, 0u, 1u, 5u>();
ctx.execute_vfpu_unary_ct<64u, 0u, 1u, 23u>();
ctx.execute_vfpu_vec3_ct<0u, 64u, 32u, 1u, 2u>();
aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<0u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(924), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(940)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[26] <= aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A061C;
}
goto L_089A05F4;
}
L_089A05F4:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[26] <= ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(112), std::bit_cast<std::uint32_t>(ctx.fpr[26]));
if (branch_taken) {
goto L_089A061C;
}
goto L_089A0604;
}
L_089A0604:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= aot_fpr_12)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
goto L_089A0618;
}
goto L_089A0618;
L_089A0618:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(112), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A061C;
L_089A061C:
ctx.fpr[30] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(52)));
{ const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>();
aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
aot_gpr_6 = (15651u << 16u);
aot_gpr_6 = (aot_gpr_6 | 55051u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_6);
aot_gpr_6 = (16329u << 16u);
aot_gpr_6 = (aot_gpr_6 | 4059u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
ctx.fpr[28] = std::bit_cast<float>(aot_gpr_6);
if (branch_taken) {
goto L_089A0AE0;
}
goto L_089A0654;
}
L_089A0654:
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(852)));
ctx.gpr[7] = (0u | 6u);
if (aot_gpr_6 != ctx.gpr[7]) {
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(852)));
goto L_089A0678;
}
goto L_089A0664;
L_089A0664:
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(1493)));
aot_gpr_6 = (static_cast<std::int32_t>(aot_gpr_6) < 4 ? 1u : 0u);
if (aot_gpr_6 != 0u) {
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(932)));
goto L_089A0AE4;
}
goto L_089A0674;
L_089A0674:
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(852)));
goto L_089A0678;
L_089A0678:
if (aot_gpr_6 == aot_gpr_4) {
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(932)));
goto L_089A0AE4;
}
goto L_089A0680;
L_089A0680:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(852)));
aot_gpr_6 = (0u | 5u);
{ const bool branch_taken = aot_gpr_4 != aot_gpr_6;
if (branch_taken) {
goto L_089A069C;
}
goto L_089A0690;
}
L_089A0690:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(1884)));
if (aot_gpr_4 == 0u) {
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(932)));
goto L_089A0AE4;
}
goto L_089A069C;
L_089A069C:
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(ctx.fpr[24]), std::bit_cast<std::uint32_t>(ctx.fpr[24]), std::bit_cast<std::uint32_t>(ctx.fpr[16])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(320), aot_run_words); }
ctx.gpr[17] = (aot_gpr_16 + static_cast<std::uint32_t>(16));
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(320));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); }
ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>();
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(336));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>();
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 = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); }
ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>();
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(352));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>();
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 = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0AE0;
}
goto L_089A073C;
}
L_089A073C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(92)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(384));
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_6;
aot_gpr_31 = (0x089A0754u);
aot_gpr_4 = (aot_gpr_16 + aot_gpr_5);
ctx.pc = jump_target;
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0754u) goto L_089A0754;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0754:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(48));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(104)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
aot_fpr_20 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(32)));
ctx.fpr[26] = aot_fpr_12 - aot_fpr_13;
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_20) || std::isnan(ctx.fpr[24])) && aot_fpr_20 == ctx.fpr[24])) ? 0x00800000u : 0u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(20)));
ctx.fpr[26] = ctx.fpr[0] + ctx.fpr[26];
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
if (branch_taken) {
goto L_089A0794;
}
goto L_089A077C;
}
L_089A077C:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A0798;
}
goto L_089A078C;
L_089A078C:
{ const bool branch_taken = 0u == 0u;
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
if (branch_taken) {
goto L_089A07A4;
}
goto L_089A0794;
}
L_089A0794:
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A0798;
L_089A0798:
aot_gpr_31 = (0x089A07A0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A07A0u) goto L_089A07A0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A07A0:
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
goto L_089A07A4;
L_089A07A4:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(908)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(16)));
ctx.fpr[22] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(124)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(20)));
if (branch_taken) {
goto L_089A07DC;
}
goto L_089A07C4;
}
L_089A07C4:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[24])) && aot_fpr_13 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A07DC;
}
goto L_089A07D4;
}
L_089A07D4:
{ const bool branch_taken = 0u == 0u;
aot_fpr_12 = ctx.fpr[24] - ctx.fpr[28];
if (branch_taken) {
goto L_089A07E8;
}
goto L_089A07DC;
}
L_089A07DC:
aot_gpr_31 = (0x089A07E4u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A07E4u) goto L_089A07E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A07E4:
aot_fpr_12 = ctx.fpr[0] - ctx.fpr[28];
goto L_089A07E8;
L_089A07E8:
aot_fpr_12 = ctx.fpr[22] - aot_fpr_12;
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13) & 0x7FFFFFFFu);
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_unary_ct<0u, 0u, 1u, 5u>();
ctx.execute_vfpu_unary_ct<64u, 0u, 1u, 23u>();
ctx.execute_vfpu_vec3_ct<0u, 64u, 32u, 1u, 2u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0884;
}
goto L_089A083C;
}
L_089A083C:
aot_fpr_12 = ctx.fpr[28] - aot_fpr_12;
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u);
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
goto L_089A0850;
}
goto L_089A0850;
L_089A0850:
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(32)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13420)));
aot_fpr_13 = aot_fpr_13 + aot_fpr_14;
aot_fpr_12 = aot_fpr_13 / aot_fpr_12;
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A08B0;
}
goto L_089A0884;
}
L_089A0884:
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(20)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13424)));
aot_fpr_13 = aot_fpr_14 - aot_fpr_13;
aot_fpr_12 = aot_fpr_13 / aot_fpr_12;
goto L_089A08B0;
L_089A08B0:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13416)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[26]) || std::isnan(ctx.fpr[24])) && ctx.fpr[26] == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
{ const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
if (branch_taken) {
goto L_089A08DC;
}
goto L_089A08C4;
}
L_089A08C4:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A08E0;
}
goto L_089A08D4;
L_089A08D4:
{ const bool branch_taken = 0u == 0u;
ctx.fpr[30] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
if (branch_taken) {
goto L_089A08EC;
}
goto L_089A08DC;
}
L_089A08DC:
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A08E0;
L_089A08E0:
aot_gpr_31 = (0x089A08E8u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[26]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A08E8u) goto L_089A08E8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A08E8:
ctx.fpr[30] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
goto L_089A08EC;
L_089A08EC:
aot_gpr_31 = (0x089A08F4u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A08F4u) goto L_089A08F4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A08F4:
aot_gpr_4 = (16256u << 16u);
ctx.fpr[16] = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (0u | 3u);
{ const bool branch_taken = ctx.gpr[2] == aot_gpr_4;
if (branch_taken) {
goto L_089A0AE0;
}
goto L_089A0908;
}
L_089A0908:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(908)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(16)));
aot_fpr_20 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(124)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(20)));
if (branch_taken) {
goto L_089A0940;
}
goto L_089A0928;
}
L_089A0928:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[24])) && aot_fpr_13 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0940;
}
goto L_089A0938;
}
L_089A0938:
{ const bool branch_taken = 0u == 0u;
aot_fpr_12 = ctx.fpr[24] - ctx.fpr[28];
if (branch_taken) {
goto L_089A094C;
}
goto L_089A0940;
}
L_089A0940:
aot_gpr_31 = (0x089A0948u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0948u) goto L_089A0948;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0948:
aot_fpr_12 = ctx.fpr[0] - ctx.fpr[28];
goto L_089A094C;
L_089A094C:
aot_fpr_12 = aot_fpr_20 - aot_fpr_12;
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(8)));
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 2u>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>());
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (16256u << 16u);
if (branch_taken) {
goto L_089A09B0;
}
goto L_089A0994;
}
L_089A0994:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[24])) && aot_fpr_13 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
ctx.fpr[16] = std::bit_cast<float>(aot_gpr_4);
if (branch_taken) {
goto L_089A09B0;
}
goto L_089A09A4;
}
L_089A09A4:
{ const float fs = aot_fpr_20; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[22] = fs * ft; }
{ const bool branch_taken = 0u == 0u;
ctx.fpr[22] = ctx.fpr[30] + ctx.fpr[22];
if (branch_taken) {
goto L_089A09C8;
}
goto L_089A09B0;
}
L_089A09B0:
aot_gpr_31 = (0x089A09B8u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A09B8u) goto L_089A09B8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A09B8:
{ const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[22] = fs * ft; }
aot_gpr_4 = (16256u << 16u);
ctx.fpr[16] = std::bit_cast<float>(aot_gpr_4);
ctx.fpr[22] = ctx.fpr[30] + ctx.fpr[22];
goto L_089A09C8;
L_089A09C8:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_4 != 0u;
ctx.fpr[30] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
if (branch_taken) {
goto L_089A0AE0;
}
goto L_089A09D4;
}
L_089A09D4:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(1884)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 2 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089A0AE0;
}
goto L_089A09E4;
}
L_089A09E4:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(112));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) & 0x7FFFFFFFu);
aot_gpr_4 = (15692u << 16u);
aot_gpr_4 = (aot_gpr_4 | 52429u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0AE0;
}
goto L_089A0A1C;
}
L_089A0A1C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(908)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(16)));
aot_fpr_20 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(124)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(20)));
if (branch_taken) {
goto L_089A0A54;
}
goto L_089A0A3C;
}
L_089A0A3C:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[24])) && aot_fpr_13 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0A54;
}
goto L_089A0A4C;
}
L_089A0A4C:
{ const bool branch_taken = 0u == 0u;
aot_fpr_12 = ctx.fpr[24] - ctx.fpr[28];
if (branch_taken) {
goto L_089A0A60;
}
goto L_089A0A54;
}
L_089A0A54:
aot_gpr_31 = (0x089A0A5Cu);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0A5Cu) goto L_089A0A5C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0A5C:
aot_fpr_12 = ctx.fpr[0] - ctx.fpr[28];
goto L_089A0A60;
L_089A0A60:
aot_fpr_12 = aot_fpr_20 - aot_fpr_12;
aot_fpr_12 = aot_fpr_12 + ctx.fpr[28];
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(8)));
{ const std::uint32_t vfpu_address = aot_gpr_16 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 2u>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>());
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (16256u << 16u);
if (branch_taken) {
goto L_089A0AC8;
}
goto L_089A0AAC;
}
L_089A0AAC:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[24])) && aot_fpr_13 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
ctx.fpr[16] = std::bit_cast<float>(aot_gpr_4);
if (branch_taken) {
goto L_089A0AC8;
}
goto L_089A0ABC;
}
L_089A0ABC:
{ const float fs = aot_fpr_20; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[30] = fs * ft; }
{ const bool branch_taken = 0u == 0u;
ctx.fpr[30] = ctx.fpr[22] + ctx.fpr[30];
if (branch_taken) {
goto L_089A0AE0;
}
goto L_089A0AC8;
}
L_089A0AC8:
aot_gpr_31 = (0x089A0AD0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0AD0u) goto L_089A0AD0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0AD0:
{ const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[30] = fs * ft; }
aot_gpr_4 = (16256u << 16u);
ctx.fpr[16] = std::bit_cast<float>(aot_gpr_4);
ctx.fpr[30] = ctx.fpr[22] + ctx.fpr[30];
goto L_089A0AE0;
L_089A0AE0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(932)));
goto L_089A0AE4;
L_089A0AE4:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(924)));
aot_gpr_4 = (16128u << 16u);
aot_fpr_12 = aot_fpr_13 - aot_fpr_12;
ctx.fpr[28] = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(924), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A0B0C;
}
goto L_089A0B04;
}
L_089A0B04:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(924), std::bit_cast<std::uint32_t>(ctx.fpr[30]));
if (branch_taken) {
goto L_089A0B34;
}
goto L_089A0B0C;
}
L_089A0B0C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(56)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(924)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0B34;
}
goto L_089A0B28;
}
L_089A0B28:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(56)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(924), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A0B34;
L_089A0B34:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(20)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
ctx.set_vfpu_scalar_bits_ct<32u>(aot_gpr_5);
ctx.execute_vfpu_unary_ct<64u, 0u, 1u, 21u>();
ctx.execute_vfpu_vec3_ct<0u, 32u, 64u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<32u, 0u, 1u, 20u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<32u>());
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(24)));
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(908)));
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(924)));
ctx.fpr[26] = ctx.fpr[16] - aot_fpr_14;
ctx.fpr[17] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(120)));
ctx.fpr[15] = ctx.fpr[15] - ctx.fpr[17];
{ const float fs = ctx.fpr[26]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[26] = fs * ft; }
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[26])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0B98;
}
goto L_089A0B90;
}
L_089A0B90:
{ const bool branch_taken = 0u == 0u;
ctx.fpr[26] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A0BB0;
}
goto L_089A0B98;
}
L_089A0B98:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[26] < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0BB0;
}
goto L_089A0BAC;
}
L_089A0BAC:
ctx.fpr[26] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A0BB0;
L_089A0BB0:
aot_gpr_31 = (0x089A0BB8u);
aot_gpr_4 = (ctx.gpr[21] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 722u, 0x0898E080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0BB8u) goto L_089A0BB8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0BB8:
aot_gpr_4 = (0u - ctx.gpr[2]);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (ctx.gpr[21] | 0u);
aot_gpr_31 = (0x089A0BCCu);
aot_fpr_20 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 742u, 0x0898E188u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0BCCu) goto L_089A0BCC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0BCC:
aot_fpr_13 = std::bit_cast<float>(ctx.gpr[2]);
aot_fpr_13 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_13)));
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20) & 0x7FFFFFFFu);
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13704)));
aot_gpr_4 = (17056u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(296)));
aot_fpr_12 = ctx.fpr[16] / aot_fpr_12;
aot_gpr_4 = (15762u << 16u);
aot_gpr_4 = (aot_gpr_4 | 18725u);
{ const float fs = ctx.fpr[15]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[15] = fs * ft; }
ctx.fpr[17] = std::bit_cast<float>(aot_gpr_4);
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
{ const float fs = aot_fpr_14; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[22] = fs * ft; }
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
{ const float fs = ctx.fpr[22]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[22] = fs * ft; }
ctx.fpr[18] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13) & 0x7FFFFFFFu);
{ 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[15] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[15] = fs * ft; }
aot_gpr_4 = (15663u << 16u);
aot_gpr_4 = (aot_gpr_4 | 35577u);
ctx.fpr[16] = std::bit_cast<float>(aot_gpr_4);
ctx.gpr[20] = (0u | 3u);
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(116)));
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_20 = fs * ft; }
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[20];
{ const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_20 = fs * ft; }
if (branch_taken) {
goto L_089A0C40;
}
goto L_089A0C38;
}
L_089A0C38:
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
goto L_089A0C40;
L_089A0C40:
{ const bool branch_taken = ctx.gpr[19] != 0u;
if (branch_taken) {
goto L_089A0D18;
}
goto L_089A0C48;
}
L_089A0C48:
aot_gpr_31 = (0x089A0C50u);
aot_gpr_4 = (ctx.gpr[21] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 52u, 0x0898C1C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0C50u) goto L_089A0C50;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0C50:
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[2]);
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) & 0x7FFFFFFFu);
aot_gpr_4 = (17146u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0D18;
}
goto L_089A0C74;
}
L_089A0C74:
aot_gpr_31 = (0x089A0C7Cu);
aot_gpr_4 = (ctx.gpr[21] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 1086u, 0x0898F36Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0C7Cu) goto L_089A0C7C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0C7C:
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[2]);
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) & 0x7FFFFFFFu);
aot_gpr_4 = (16800u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0D18;
}
goto L_089A0CA0;
}
L_089A0CA0:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(900)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089A0D18;
}
goto L_089A0CAC;
}
L_089A0CAC:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(900)));
aot_gpr_5 = (0u | 55u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(2228));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_089A0D18;
}
goto L_089A0CC4;
}
L_089A0CC4:
aot_gpr_31 = (0x089A0CCCu);
aot_gpr_4 = (ctx.gpr[21] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 52u, 0x0898C1C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0CCCu) goto L_089A0CCC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0CCC:
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[2]);
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) & 0x7FFFFFFFu);
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13704)));
{ const float fs = aot_fpr_14; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[15] = fs * ft; }
aot_gpr_4 = (17056u << 16u);
ctx.fpr[16] = std::bit_cast<float>(aot_gpr_4);
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
{ const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
aot_gpr_4 = (15663u << 16u);
{ const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(296)));
aot_fpr_13 = aot_fpr_14 / ctx.fpr[16];
aot_gpr_4 = (aot_gpr_4 | 35577u);
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
{ const bool branch_taken = 0u == 0u;
aot_fpr_20 = aot_fpr_20 + aot_fpr_12;
if (branch_taken) {
goto L_089A0DCC;
}
goto L_089A0D18;
}
L_089A0D18:
aot_gpr_4 = (0u | 6u);
{ const bool branch_taken = ctx.gpr[19] != aot_gpr_4;
if (branch_taken) {
goto L_089A0DCC;
}
goto L_089A0D24;
}
L_089A0D24:
aot_gpr_31 = (0x089A0D2Cu);
aot_gpr_4 = (ctx.gpr[21] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 52u, 0x0898C1C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0D2Cu) goto L_089A0D2C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0D2C:
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[2]);
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) & 0x7FFFFFFFu);
aot_gpr_4 = (17146u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0DCC;
}
goto L_089A0D50;
}
L_089A0D50:
aot_gpr_31 = (0x089A0D58u);
aot_gpr_4 = (ctx.gpr[21] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 1086u, 0x0898F36Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0D58u) goto L_089A0D58;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0D58:
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[2]);
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) & 0x7FFFFFFFu);
aot_gpr_4 = (16800u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A0DCC;
}
goto L_089A0D7C;
}
L_089A0D7C:
aot_gpr_31 = (0x089A0D84u);
aot_gpr_4 = (ctx.gpr[21] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 52u, 0x0898C1C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0D84u) goto L_089A0D84;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0D84:
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[2]);
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) & 0x7FFFFFFFu);
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13704)));
{ const float fs = aot_fpr_14; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[15] = fs * ft; }
aot_gpr_4 = (17056u << 16u);
ctx.fpr[16] = std::bit_cast<float>(aot_gpr_4);
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
{ const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
aot_gpr_4 = (15663u << 16u);
{ const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(296)));
aot_fpr_13 = aot_fpr_14 / ctx.fpr[16];
aot_gpr_4 = (aot_gpr_4 | 35577u);
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_20 = aot_fpr_20 + aot_fpr_12;
goto L_089A0DCC;
L_089A0DCC:
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(86))))));
aot_gpr_5 = (0u | 194u);
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_089A0DF8;
}
goto L_089A0DDC;
}
L_089A0DDC:
aot_gpr_31 = (0x089A0DE4u);
aot_gpr_4 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0DE4u) goto L_089A0DE4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0DE4:
aot_gpr_31 = (0x089A0DECu);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 347u, 0x0898CF8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0DECu) goto L_089A0DEC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0DEC:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_089A0DF8;
}
goto L_089A0DF4;
}
L_089A0DF4:
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
goto L_089A0DF8;
L_089A0DF8:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(920), std::bit_cast<std::uint32_t>(ctx.fpr[26]));
if (branch_taken) {
goto L_089A0E10;
}
goto L_089A0E08;
}
L_089A0E08:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(920), std::bit_cast<std::uint32_t>(ctx.fpr[26]));
{ const float fs = aot_fpr_20; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_20 = fs * ft; }
goto L_089A0E10;
L_089A0E10:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(48)));
{ const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_20 = fs * ft; }
{ const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(32)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
ctx.set_vfpu_scalar_bits_ct<32u>(aot_gpr_5);
ctx.execute_vfpu_unary_ct<64u, 0u, 1u, 21u>();
ctx.execute_vfpu_vec3_ct<0u, 32u, 64u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<32u, 0u, 1u, 20u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<32u>());
ctx.fpr[26] = std::bit_cast<float>(aot_gpr_4);
ctx.fpr[22] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(36)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(936)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(944)));
aot_fpr_13 = aot_fpr_14 / aot_fpr_13;
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_gpr_4 = (16256u << 16u);
ctx.fpr[28] = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
ctx.fpr[28] = ctx.fpr[28] - ctx.fpr[26];
if (branch_taken) {
goto L_089A0E7C;
}
goto L_089A0E74;
}
L_089A0E74:
{ const bool branch_taken = 0u == 0u;
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
if (branch_taken) {
goto L_089A0E94;
}
goto L_089A0E7C;
}
L_089A0E7C:
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(304)));
goto L_089A0E98;
}
goto L_089A0E90;
L_089A0E90:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
goto L_089A0E94;
L_089A0E94:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(304)));
goto L_089A0E98;
L_089A0E98:
{ const float fs = ctx.fpr[28]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
{ const float fs = ctx.fpr[26]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
aot_fpr_12 = aot_fpr_13 + aot_fpr_12;
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(304), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) & 0x7FFFFFFFu);
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13456)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(304)));
goto L_089A0EC8;
}
goto L_089A0EC0;
L_089A0EC0:
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(304), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(304)));
goto L_089A0EC8;
L_089A0EC8:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(124)));
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(928)));
aot_fpr_12 = aot_fpr_14 + aot_fpr_12;
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(2066)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089A0F30;
}
goto L_089A0EEC;
}
L_089A0EEC:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(16)));
aot_gpr_31 = (0x089A0EF8u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(20)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0EF8u) goto L_089A0EF8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0EF8:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (16457u << 16u);
if (branch_taken) {
goto L_089A0F20;
}
goto L_089A0F0C;
}
L_089A0F0C:
aot_gpr_4 = (16585u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_gpr_4 = (16457u << 16u);
goto L_089A0F20;
L_089A0F20:
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A0F30;
L_089A0F30:
aot_gpr_31 = (0x089A0F38u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(124)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A0F38u) goto L_089A0F38;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A0F38:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
if (branch_taken) {
goto L_089A0F60;
}
goto L_089A0F48;
}
L_089A0F48:
aot_gpr_4 = (16585u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(124)));
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A0F60;
L_089A0F60:
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[19]) < 2 ? 1u : 0u);
if (aot_gpr_4 == 0u) {
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(292)));
goto L_089A0FEC;
}
goto L_089A0F6C;
L_089A0F6C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(120)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(924)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(292)));
goto L_089A0FEC;
}
goto L_089A0F84;
L_089A0F84:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(112)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(940)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(292)));
goto L_089A0FEC;
}
goto L_089A0F9C;
L_089A0F9C:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_089A0FB0;
}
goto L_089A0FA8;
}
L_089A0FA8:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(1884)));
if (branch_taken) {
goto L_089A0FC4;
}
goto L_089A0FB0;
}
L_089A0FB0:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(852)));
aot_gpr_6 = (0u | 6u);
{ const bool branch_taken = aot_gpr_5 != aot_gpr_6;
if (branch_taken) {
goto L_089A0FC4;
}
goto L_089A0FC0;
}
L_089A0FC0:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(1493)));
goto L_089A0FC4;
L_089A0FC4:
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 2 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089A0FE8;
}
goto L_089A0FD0;
}
L_089A0FD0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(924)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(120)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13412)));
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
{ const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_20 = aot_fpr_20 + aot_fpr_12;
goto L_089A0FE8;
L_089A0FE8:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(292)));
goto L_089A0FEC;
L_089A0FEC:
{ const float fs = ctx.fpr[28]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
{ const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= ctx.fpr[24])) ? 0x00800000u : 0u);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(292), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A1010;
}
goto L_089A1004;
}
L_089A1004:
aot_gpr_4 = (16128u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[22] = fs * ft; }
goto L_089A1010;
L_089A1010:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(292)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A102C;
}
goto L_089A1024;
}
L_089A1024:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(292), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
if (branch_taken) {
goto L_089A1048;
}
goto L_089A102C;
}
L_089A102C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(292)));
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A1048;
}
goto L_089A1044;
}
L_089A1044:
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(292), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
goto L_089A1048;
L_089A1048:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(292)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) & 0x7FFFFFFFu);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13452)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(292)));
goto L_089A106C;
}
goto L_089A1064;
L_089A1064:
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(292), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(292)));
goto L_089A106C;
L_089A106C:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(920)));
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(924)));
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_20 = fs * ft; }
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(120)));
aot_fpr_14 = ctx.fpr[16] + aot_fpr_14;
aot_fpr_20 = ctx.fpr[15] + aot_fpr_20;
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= ctx.fpr[30])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(aot_fpr_14));
if (branch_taken) {
goto L_089A10A4;
}
goto L_089A1098;
}
L_089A1098:
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(ctx.fpr[30]));
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(292), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
if (branch_taken) {
goto L_089A10D0;
}
goto L_089A10A4;
}
L_089A10A4:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(56)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(120)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A10D0;
}
goto L_089A10C0;
}
L_089A10C0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(56)));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(292), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A10D0;
L_089A10D0:
aot_gpr_31 = (0x089A10D8u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A10D8u) goto L_089A10D8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A10D8:
{ const bool branch_taken = ctx.gpr[2] != ctx.gpr[20];
if (branch_taken) {
goto L_089A1124;
}
goto L_089A10E0;
}
L_089A10E0:
aot_gpr_31 = (0x089A10E8u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 937u, 0x08AFFE3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A10E8u) goto L_089A10E8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A10E8:
aot_gpr_4 = (16320u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (15928u << 16u);
if (branch_taken) {
goto L_089A1124;
}
goto L_089A1100;
}
L_089A1100:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(120)));
aot_gpr_4 = (aot_gpr_4 | 20972u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A1124;
}
goto L_089A111C;
}
L_089A111C:
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(292), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
goto L_089A1124;
L_089A1124:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(120)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13448)));
aot_fpr_12 = aot_fpr_13 - aot_fpr_12;
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) & 0x7FFFFFFFu);
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13440)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u);
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(120)));
goto L_089A1154;
}
goto L_089A1148;
L_089A1148:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13448)));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(120)));
goto L_089A1154;
L_089A1154:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13444)));
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-13448), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(124)));
aot_fpr_12 = aot_fpr_13 - aot_fpr_12;
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) & 0x7FFFFFFFu);
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13436)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A1184;
}
goto L_089A117C;
}
L_089A117C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13444)));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A1184;
L_089A1184:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(124)));
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-13444), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(120)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13) ^ 0x80000000u);
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_4);
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_13), std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(ctx.fpr[15])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(32), aot_run_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(912)));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_31 = (0x089A124Cu);
aot_gpr_4 = (ctx.gpr[17] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 6u, 0x089A8094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A124Cu) goto L_089A124C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A124C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(928)));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(88), static_cast<std::uint8_t>(0u));
ctx.fpr[24] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(112)));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(2057), static_cast<std::uint8_t>(0u));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(ctx.fpr[24]));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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[30] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
ctx.gpr[20] = (aot_gpr_29 + static_cast<std::uint32_t>(96));
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(916)));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (ctx.gpr[17] + static_cast<std::uint32_t>(400));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(932)));
aot_fpr_20 = aot_fpr_12 + aot_fpr_20;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(948)));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_5 = (ctx.gpr[17] + static_cast<std::uint32_t>(560));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(124)));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_5);
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_20));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_14 = std::bit_cast<float>(aot_gpr_5);
{ const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>();
aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_14 = std::bit_cast<float>(aot_gpr_5);
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_20));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_13 = std::bit_cast<float>(aot_gpr_5);
{ const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13) ^ 0x80000000u);
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_20));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>();
aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_14 = std::bit_cast<float>(aot_gpr_5);
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(aot_fpr_13), std::bit_cast<std::uint32_t>(aot_fpr_14)};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(80), aot_run_words); }
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(956)));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5);
ctx.gpr[21] = (aot_gpr_29 + static_cast<std::uint32_t>(80));
{ const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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 = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(124)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_20));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
aot_gpr_31 = (0x089A13DCu);
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13) ^ 0x80000000u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A13DCu) goto L_089A13DC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A13DC:
ctx.fpr[26] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_31 = (0x089A13E8u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A13E8u) goto L_089A13E8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A13E8:
{ const float fs = ctx.fpr[26]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
ctx.fpr[28] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
aot_gpr_31 = (0x089A13F8u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A13F8u) goto L_089A13F8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A13F8:
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[28]), std::bit_cast<std::uint32_t>(ctx.fpr[0])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(32), aot_run_words); }
aot_gpr_4 = (ctx.gpr[30] | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_gpr_31 = (0x089A1414u);
aot_gpr_5 = (ctx.gpr[22] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 59u, 0x08998BE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1414u) goto L_089A1414;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1414:
aot_gpr_4 = (ctx.gpr[21] | 0u);
aot_gpr_5 = (ctx.gpr[20] | 0u);
aot_gpr_31 = (0x089A1424u);
aot_gpr_6 = (ctx.gpr[30] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 58u, 0x08998BCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1424u) goto L_089A1424;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1424:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(952)));
aot_gpr_31 = (0x089A1430u);
aot_gpr_5 = (ctx.gpr[21] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 117u, 0x0899905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1430u) goto L_089A1430;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1430:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(160), 0u);
aot_gpr_16 = (0u | 0u);
aot_gpr_4 = (16253u << 16u);
aot_gpr_4 = (aot_gpr_4 | 28836u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_31 = (0x089A144Cu);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 115u, 0x08999014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A144Cu) goto L_089A144C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A144C:
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13432)));
{ const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[22] = fs * ft; }
aot_gpr_31 = (0x089A1460u);
aot_gpr_4 = (ctx.gpr[23] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 116u, 0x08999040u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1460u) goto L_089A1460;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1460:
aot_gpr_4 = (16256u << 16u);
ctx.fpr[26] = std::bit_cast<float>(aot_gpr_4);
aot_fpr_13 = ctx.fpr[26] - aot_fpr_20;
{ const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
aot_fpr_13 = ctx.fpr[22] + aot_fpr_13;
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-13432), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13432)));
aot_gpr_4 = (15820u << 16u);
aot_gpr_4 = (aot_gpr_4 | 52429u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(112)));
goto L_089A14A0;
}
goto L_089A1498;
L_089A1498:
aot_gpr_16 = (0u | 1u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(112)));
goto L_089A14A0;
L_089A14A0:
ctx.gpr[2] = (0u | 1u);
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(8068), aot_gpr_5);
{ const std::uint32_t aot_run_words[4]{0u, ctx.gpr[2], ctx.gpr[2], 0u};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_4 = (ctx.gpr[20] | 0u);
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(128));
ctx.gpr[7] = (aot_gpr_29 + static_cast<std::uint32_t>(160));
aot_gpr_5 = (ctx.gpr[19] | 0u);
ctx.gpr[8] = (0u | 1u);
ctx.gpr[9] = (aot_gpr_16 | 0u);
ctx.gpr[10] = (0u | 0u);
ctx.gpr[11] = (0u | 1u);
aot_gpr_31 = (0x089A14E0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A14E0u) goto L_089A14E0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A14E0:
{ const bool branch_taken = ctx.gpr[2] == 0u;
aot_gpr_4 = (16457u << 16u);
if (branch_taken) {
goto L_089A1718;
}
goto L_089A14E8;
}
L_089A14E8:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(128)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(132)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(384), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(136)));
ctx.gpr[22] = (aot_gpr_29 + static_cast<std::uint32_t>(368));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(388), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(392), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(384));
aot_gpr_4 = (ctx.gpr[22] | 0u);
aot_gpr_31 = (0x089A1514u);
aot_gpr_5 = (ctx.gpr[20] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 58u, 0x08998BCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1514u) goto L_089A1514;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1514:
aot_gpr_31 = (0x089A151Cu);
aot_gpr_4 = (ctx.gpr[22] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 116u, 0x08999040u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A151Cu) goto L_089A151C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A151C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(160)));
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_4 = (aot_gpr_4 & 14u);
aot_gpr_4 = (aot_gpr_4 ^ 6u);
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.fpr[22] = ctx.fpr[24] - aot_fpr_20;
if (branch_taken) {
goto L_089A16A0;
}
goto L_089A1540;
}
L_089A1540:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= ctx.fpr[26])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A16A0;
}
goto L_089A1550;
}
L_089A1550:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(128)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(132)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(400), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(136)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(404), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(408), std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.gpr[2] = (0u | 1u);
{ const std::uint32_t aot_run_words[4]{0u, ctx.gpr[2], ctx.gpr[2], 0u};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(400));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(128));
ctx.gpr[7] = (aot_gpr_29 + static_cast<std::uint32_t>(160));
aot_gpr_5 = (ctx.gpr[19] | 0u);
ctx.gpr[8] = (0u | 1u);
ctx.gpr[9] = (aot_gpr_16 | 0u);
ctx.gpr[10] = (0u | 0u);
ctx.gpr[11] = (0u | 1u);
aot_gpr_31 = (0x089A15A4u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A15A4u) goto L_089A15A4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A15A4:
{ const bool branch_taken = ctx.gpr[2] == 0u;
aot_gpr_4 = (16051u << 16u);
if (branch_taken) {
goto L_089A1664;
}
goto L_089A15AC;
}
L_089A15AC:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(128)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(432), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(132)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(436), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(136)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(440), std::bit_cast<std::uint32_t>(aot_fpr_12));
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_16 = (aot_gpr_29 + static_cast<std::uint32_t>(432));
{ const std::uint32_t vfpu_address = aot_gpr_16 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(416));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_31 = (0x089A15E4u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 116u, 0x08999040u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A15E4u) goto L_089A15E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A15E4:
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(128)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(432), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(132)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(436), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(136)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(440), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x089A160Cu);
aot_gpr_5 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 117u, 0x0899905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A160Cu) goto L_089A160C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A160C:
aot_gpr_4 = (16281u << 16u);
aot_gpr_4 = (aot_gpr_4 | 39322u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (16025u << 16u);
if (branch_taken) {
goto L_089A165C;
}
goto L_089A1628;
}
L_089A1628:
aot_gpr_4 = (aot_gpr_4 | 39322u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_5 = (15692u << 16u);
aot_fpr_20 = aot_fpr_20 - aot_fpr_12;
aot_gpr_5 = (aot_gpr_5 | 52429u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8896)));
aot_fpr_12 = std::bit_cast<float>(aot_gpr_5);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A1654;
}
goto L_089A1654;
L_089A1654:
aot_gpr_31 = (0x089A165Cu);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A165Cu) goto L_089A165C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A165C:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A1698;
}
goto L_089A1664;
}
L_089A1664:
aot_gpr_4 = (aot_gpr_4 | 13107u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_5 = (16230u << 16u);
aot_fpr_13 = ctx.fpr[22] - aot_fpr_13;
aot_gpr_5 = (aot_gpr_5 | 26214u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8896)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A1690;
}
goto L_089A1690;
L_089A1690:
aot_gpr_31 = (0x089A1698u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1698u) goto L_089A1698;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1698:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A1714;
}
goto L_089A16A0;
}
L_089A16A0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(128)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(132)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(464), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(136)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(468), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(472), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(464));
aot_gpr_31 = (0x089A16C4u);
aot_gpr_4 = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 117u, 0x0899905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A16C4u) goto L_089A16C4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A16C4:
aot_gpr_4 = (16281u << 16u);
aot_gpr_4 = (aot_gpr_4 | 39322u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (16025u << 16u);
if (branch_taken) {
goto L_089A1714;
}
goto L_089A16E0;
}
L_089A16E0:
aot_gpr_4 = (aot_gpr_4 | 39322u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_5 = (15692u << 16u);
aot_fpr_13 = aot_fpr_20 - aot_fpr_13;
aot_gpr_5 = (aot_gpr_5 | 52429u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8896)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A170C;
}
goto L_089A170C;
L_089A170C:
aot_gpr_31 = (0x089A1714u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1714u) goto L_089A1714;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1714:
aot_gpr_4 = (16457u << 16u);
goto L_089A1718;
L_089A1718:
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(8068), 0u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(296)));
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (17204u << 16u);
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = aot_fpr_12 / aot_fpr_14;
aot_gpr_4 = (16128u << 16u);
ctx.gpr[23] = (0u | 0u);
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_4);
aot_gpr_31 = (0x089A174Cu);
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 114u, 0x08998FECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A174Cu) goto L_089A174C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A174C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5876)));
{ const bool branch_taken = aot_gpr_4 != 0u;
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
if (branch_taken) {
goto L_089A1760;
}
goto L_089A1758;
}
L_089A1758:
aot_gpr_31 = (0x089A1760u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1760u) goto L_089A1760;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1760:
aot_gpr_31 = (0x089A1768u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5876)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 677u, 0x089C6F50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1768u) goto L_089A1768;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1768:
if (ctx.gpr[2] == 0u) {
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-16972)));
goto L_089A1784;
}
goto L_089A1770;
L_089A1770:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-16972)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13584)));
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
{ const bool branch_taken = 0u == 0u;
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[22] = fs * ft; }
if (branch_taken) {
goto L_089A1790;
}
goto L_089A1784;
}
L_089A1784:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13584)));
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[22] = fs * ft; }
goto L_089A1790;
L_089A1790:
aot_gpr_31 = (0x089A1798u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8896)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 122u, 0x08890830u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1798u) goto L_089A1798;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1798:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(192), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
{ const float fs = ctx.fpr[0]; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_20 = fs * ft; }
aot_gpr_4 = (ctx.gpr[30] | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_31 = (0x089A17B0u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 59u, 0x08998BE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A17B0u) goto L_089A17B0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A17B0:
aot_gpr_4 = (ctx.gpr[21] | 0u);
aot_gpr_5 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x089A17C0u);
aot_gpr_6 = (ctx.gpr[30] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 57u, 0x08998BB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A17C0u) goto L_089A17C0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A17C0:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
aot_gpr_4 = (ctx.gpr[21] | 0u);
aot_gpr_5 = (0u | 0u);
aot_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_gpr_31 = (0x089A17F0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A17F0u) goto L_089A17F0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A17F0:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_089A1A20;
}
goto L_089A17F8;
}
L_089A17F8:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(908)));
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(32));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(904), aot_gpr_5);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(32));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(900), aot_gpr_4);
aot_gpr_4 = (16025u << 16u);
aot_gpr_4 = (aot_gpr_4 | 39322u);
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (15820u << 16u);
aot_gpr_4 = (aot_gpr_4 | 52429u);
ctx.fpr[24] = std::bit_cast<float>(aot_gpr_4);
ctx.gpr[30] = (2246u << 16u);
aot_gpr_4 = (16457u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
ctx.fpr[26] = std::bit_cast<float>(aot_gpr_4);
ctx.gpr[17] = (aot_gpr_29 + static_cast<std::uint32_t>(176));
aot_gpr_4 = (16128u << 16u);
ctx.fpr[28] = std::bit_cast<float>(aot_gpr_4);
aot_gpr_16 = (aot_gpr_29 + static_cast<std::uint32_t>(496));
aot_gpr_4 = (17204u << 16u);
ctx.gpr[18] = (aot_gpr_29 + static_cast<std::uint32_t>(528));
ctx.fpr[30] = std::bit_cast<float>(aot_gpr_4);
ctx.gpr[21] = (aot_gpr_29 + static_cast<std::uint32_t>(560));
ctx.gpr[20] = (aot_gpr_29 + static_cast<std::uint32_t>(576));
ctx.gpr[19] = (aot_gpr_29 + static_cast<std::uint32_t>(592));
ctx.gpr[22] = (ctx.gpr[30] + static_cast<std::uint32_t>(2032));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(964), ctx.gpr[19]);
goto L_089A1864;
L_089A1864:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast<std::uint32_t>(2032)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(512), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(4)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(516), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(8)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(520), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(512));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(916)));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_16 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (ctx.gpr[17] | 0u);
aot_gpr_31 = (0x089A18A0u);
aot_gpr_5 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 117u, 0x0899905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A18A0u) goto L_089A18A0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A18A0:
aot_gpr_4 = (ctx.gpr[17] | 0u);
ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(912)));
aot_gpr_31 = (0x089A18B0u);
aot_gpr_5 = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 56u, 0x08998B98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A18B0u) goto L_089A18B0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A18B0:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(552), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_31 = (0x089A18C4u);
aot_gpr_5 = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 59u, 0x08998BE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A18C4u) goto L_089A18C4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A18C4:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[17] | 0u);
aot_gpr_31 = (0x089A18D4u);
aot_gpr_6 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 58u, 0x08998BCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A18D4u) goto L_089A18D4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A18D4:
aot_gpr_4 = (ctx.gpr[17] | 0u);
aot_gpr_31 = (0x089A18E0u);
aot_gpr_5 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 117u, 0x0899905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A18E0u) goto L_089A18E0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A18E0:
aot_gpr_31 = (0x089A18E8u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 116u, 0x08999040u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A18E8u) goto L_089A18E8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A18E8:
aot_fpr_12 = ctx.fpr[0] / ctx.fpr[22];
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(552), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(544), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(192));
aot_gpr_31 = (0x089A1900u);
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(552));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 60u, 0x08998C00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1900u) goto L_089A1900;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1900:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(548), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(544));
aot_gpr_31 = (0x089A1910u);
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(548));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 63u, 0x08998C28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1910u) goto L_089A1910;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1910:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(552), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(192)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[0])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(964)));
if (branch_taken) {
goto L_089A1934;
}
goto L_089A1928;
}
L_089A1928:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8896)));
aot_gpr_31 = (0x089A1934u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(552)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1934u) goto L_089A1934;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1934:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(552)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A1984;
}
goto L_089A1948;
}
L_089A1948:
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(900)));
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(96));
aot_gpr_31 = (0x089A1958u);
aot_gpr_4 = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 58u, 0x08998BCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1958u) goto L_089A1958;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1958:
aot_gpr_4 = (ctx.gpr[20] | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
aot_gpr_31 = (0x089A1968u);
aot_gpr_5 = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 59u, 0x08998BE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1968u) goto L_089A1968;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1968:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(904)));
aot_gpr_4 = (ctx.gpr[21] | 0u);
aot_gpr_31 = (0x089A1978u);
aot_gpr_6 = (ctx.gpr[20] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 57u, 0x08998BB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1978u) goto L_089A1978;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1978:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(916)));
aot_gpr_31 = (0x089A1984u);
aot_gpr_5 = (ctx.gpr[21] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 117u, 0x0899905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1984u) goto L_089A1984;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1984:
aot_gpr_31 = (0x089A198Cu);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8896)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 122u, 0x08890830u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A198Cu) goto L_089A198C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A198C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(908)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(296)));
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = aot_fpr_12 / ctx.fpr[30];
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(968), std::bit_cast<std::uint32_t>(ctx.fpr[30]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(192), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_31 = (0x089A19ACu);
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 114u, 0x08998FECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A19ACu) goto L_089A19AC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A19AC:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(192)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(912)));
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[30] = fs * ft; }
aot_gpr_31 = (0x089A19C0u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 59u, 0x08998BE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A19C0u) goto L_089A19C0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A19C0:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(916)));
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x089A19D0u);
aot_gpr_6 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 57u, 0x08998BB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A19D0u) goto L_089A19D0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A19D0:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[30]));
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 0u);
aot_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_gpr_31 = (0x089A1A00u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1A00u) goto L_089A1A00;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1A00:
ctx.gpr[23] = (ctx.gpr[23] + static_cast<std::uint32_t>(1));
aot_gpr_4 = (ctx.gpr[2] | 0u);
aot_gpr_5 = (static_cast<std::int32_t>(ctx.gpr[23]) < 6 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_5 != 0u;
ctx.fpr[30] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(968)));
if (branch_taken) {
goto L_089A1A18;
}
goto L_089A1A14;
}
L_089A1A14:
aot_gpr_4 = (0u | 0u);
goto L_089A1A18;
L_089A1A18:
if (aot_gpr_4 != 0u) {
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(964), ctx.gpr[19]);
goto L_089A1864;
}
goto L_089A1A20;
L_089A1A20:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(928)));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(88), static_cast<std::uint8_t>(0u));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(2057), static_cast<std::uint8_t>(0u));
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(908)));
aot_gpr_31 = (0x089A1A38u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 355u, 0x0899B0F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1A38u) goto L_089A1A38;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1A38:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(960)));
aot_gpr_31 = (0x089A1A44u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 356u, 0x0899B100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1A44u) goto L_089A1A44;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1A44:
ctx.gpr[17] = (aot_gpr_29 + static_cast<std::uint32_t>(80));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(916)));
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(96));
aot_gpr_31 = (0x089A1A58u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 58u, 0x08998BCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1A58u) goto L_089A1A58;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1A58:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(912)));
aot_gpr_31 = (0x089A1A64u);
aot_gpr_5 = (ctx.gpr[17] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 117u, 0x0899905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1A64u) goto L_089A1A64;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1A64:
aot_gpr_31 = (0x089A1A6Cu);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 6u, 0x089A8094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1A6Cu) goto L_089A1A6C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1A6C:
{ std::uint32_t aot_run_words[16]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(972), aot_run_words);
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[2]);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[3]);
ctx.fpr[28] = std::bit_cast<float>(aot_run_words[4]);
ctx.fpr[30] = std::bit_cast<float>(aot_run_words[5]);
aot_gpr_16 = aot_run_words[6];
ctx.gpr[17] = aot_run_words[7];
ctx.gpr[18] = aot_run_words[8];
ctx.gpr[19] = aot_run_words[9];
ctx.gpr[20] = aot_run_words[10];
ctx.gpr[21] = aot_run_words[11];
ctx.gpr[22] = aot_run_words[12];
ctx.gpr[23] = aot_run_words[13];
ctx.gpr[30] = aot_run_words[14];
aot_gpr_31 = aot_run_words[15];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(1040));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089A1AB4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-608));
{ const std::uint32_t aot_run_words[16]{std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[24]), std::bit_cast<std::uint32_t>(ctx.fpr[26]), std::bit_cast<std::uint32_t>(ctx.fpr[28]), std::bit_cast<std::uint32_t>(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(540), aot_run_words); }
aot_gpr_6 = (16262u << 16u);
aot_gpr_6 = (aot_gpr_6 | 2706u);
aot_fpr_20 = std::bit_cast<float>(aot_gpr_6);
ctx.fpr[22] = std::bit_cast<float>(0u);
aot_gpr_6 = (16025u << 16u);
aot_gpr_6 = (aot_gpr_6 | 39322u);
ctx.fpr[24] = std::bit_cast<float>(aot_gpr_6);
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.gpr[17] = (aot_gpr_29 + static_cast<std::uint32_t>(16));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_6 = (17036u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_6);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(296), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(112)));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(80)));
{ const bool branch_taken = aot_gpr_6 == 0u;
aot_gpr_16 = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_089A2604;
}
goto L_089A1B3C;
}
L_089A1B3C:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(163)));
ctx.gpr[19] = (aot_gpr_16 + static_cast<std::uint32_t>(32));
ctx.gpr[21] = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[23] = (0u | 1u);
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[22] = (0u | 6u);
if (branch_taken) {
goto L_089A1BB4;
}
goto L_089A1B54;
}
L_089A1B54:
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(288), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_6 = (2236u << 16u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_4 = (aot_gpr_4 & 14u);
aot_gpr_4 = (aot_gpr_4 ^ 6u);
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
ctx.gpr[7] = (aot_gpr_4 & 255u);
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_4 = (aot_gpr_6 + static_cast<std::uint32_t>(32304));
if (branch_taken) {
goto L_089A1BAC;
}
goto L_089A1B84;
}
L_089A1B84:
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
ctx.gpr[7] = (16329u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(2256)));
ctx.gpr[7] = (ctx.gpr[7] | 4059u);
aot_fpr_13 = std::bit_cast<float>(ctx.gpr[7]);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(2256)));
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(288), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A1BAC;
L_089A1BAC:
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-13408), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(84), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
goto L_089A1BB4;
L_089A1BB4:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_4 = (aot_gpr_4 & 14u);
aot_gpr_4 = (aot_gpr_4 ^ 6u);
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
{ const bool branch_taken = aot_gpr_4 == 0u;
aot_gpr_6 = (16329u << 16u);
if (branch_taken) {
goto L_089A2240;
}
goto L_089A1BD4;
}
L_089A1BD4:
aot_gpr_6 = (aot_gpr_6 | 4059u);
ctx.fpr[26] = std::bit_cast<float>(aot_gpr_6);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_6 = (16076u << 16u);
aot_gpr_6 = (aot_gpr_6 | 52429u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(460)));
ctx.fpr[30] = std::bit_cast<float>(aot_gpr_6);
ctx.gpr[18] = (2236u << 16u);
aot_gpr_6 = (16448u << 16u);
ctx.gpr[20] = (aot_gpr_29 + static_cast<std::uint32_t>(64));
ctx.fpr[28] = std::bit_cast<float>(aot_gpr_6);
aot_gpr_4 = (aot_gpr_4 & 8192u);
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(32304));
if (branch_taken) {
goto L_089A1C18;
}
goto L_089A1C0C;
}
L_089A1C0C:
aot_gpr_4 = (16204u << 16u);
aot_gpr_4 = (aot_gpr_4 | 52429u);
ctx.fpr[24] = std::bit_cast<float>(aot_gpr_4);
goto L_089A1C18;
L_089A1C18:
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(163)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089A1C5C;
}
goto L_089A1C2C;
}
L_089A1C2C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(2256)));
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_fpr_12 = aot_fpr_12 + ctx.fpr[26];
aot_gpr_5 = (0u | 1u);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(2256)));
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(163), static_cast<std::uint8_t>(0u));
aot_fpr_12 = aot_fpr_12 + ctx.fpr[26];
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(288), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(-13404), static_cast<std::uint8_t>(0u));
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(161), static_cast<std::uint8_t>(aot_gpr_5));
goto L_089A1C5C;
L_089A1C5C:
aot_gpr_31 = (0x089A1C64u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1C64u) goto L_089A1C64;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1C64:
aot_gpr_31 = (0x089A1C6Cu);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 66u, 0x08AD065Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1C6Cu) goto L_089A1C6C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1C6C:
aot_gpr_31 = (0x089A1C74u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 73u, 0x08AD06ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1C74u) goto L_089A1C74;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1C74:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(816));
ctx.gpr[30] = (aot_gpr_29 + static_cast<std::uint32_t>(80));
aot_gpr_5 = (ctx.gpr[30] | 0u);
aot_gpr_31 = (0x089A1C8Cu);
aot_gpr_6 = (0u | 2u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0123_entry, 123u, 608u, 0x089F3910u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1C8Cu) goto L_089A1C8C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1C8C:
{ const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(40)));
aot_gpr_4 = (15820u << 16u);
aot_gpr_4 = (aot_gpr_4 | 52429u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(40), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(460)));
aot_gpr_4 = (aot_gpr_4 & 8192u);
if (aot_gpr_4 == 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
goto L_089A1D28;
}
goto L_089A1CC0;
L_089A1CC0:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13728)));
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(32)));
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(36)));
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_fpr_12 = aot_fpr_14 - aot_fpr_12;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
ctx.fpr[17] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13728)));
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[16] = fs * ft; }
aot_fpr_13 = ctx.fpr[15] - ctx.fpr[16];
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(36), std::bit_cast<std::uint32_t>(aot_fpr_13));
ctx.fpr[18] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13732)));
{ const float fs = aot_fpr_14; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
aot_fpr_12 = aot_fpr_12 - aot_fpr_14;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13732)));
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = aot_fpr_13 - aot_fpr_12;
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(36), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A1D58;
}
goto L_089A1D28;
}
L_089A1D28:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(32)));
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
{ const float fs = ctx.fpr[24]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(36)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
{ const float fs = ctx.fpr[24]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = aot_fpr_14 - aot_fpr_12;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(36), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A1D58;
L_089A1D58:
aot_gpr_31 = (0x089A1D60u);
aot_gpr_4 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1D60u) goto L_089A1D60;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1D60:
aot_gpr_31 = (0x089A1D68u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 722u, 0x0898E080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1D68u) goto L_089A1D68;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1D68:
aot_gpr_4 = (0u - ctx.gpr[2]);
ctx.fpr[24] = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (0u | 0u);
aot_gpr_31 = (0x089A1D7Cu);
ctx.fpr[24] = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(ctx.fpr[24])));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1D7Cu) goto L_089A1D7C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1D7C:
aot_gpr_31 = (0x089A1D84u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 742u, 0x0898E188u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1D84u) goto L_089A1D84;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1D84:
aot_gpr_4 = (16256u << 16u);
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[2]);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
if (branch_taken) {
goto L_089A1DAC;
}
goto L_089A1DA4;
}
L_089A1DA4:
aot_gpr_4 = (49024u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
goto L_089A1DAC;
L_089A1DAC:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (17096u << 16u);
if (branch_taken) {
goto L_089A1DC8;
}
goto L_089A1DBC;
}
L_089A1DBC:
aot_gpr_4 = (49024u << 16u);
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (17096u << 16u);
goto L_089A1DC8;
L_089A1DC8:
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_4);
ctx.fpr[16] = ctx.fpr[24] / ctx.fpr[15];
aot_gpr_4 = (17174u << 16u);
aot_gpr_5 = (17056u << 16u);
ctx.fpr[17] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(296)));
aot_gpr_6 = (15722u << 16u);
aot_gpr_6 = (aot_gpr_6 | 3745u);
ctx.gpr[7] = (15762u << 16u);
ctx.gpr[7] = (ctx.gpr[7] | 18725u);
ctx.fpr[18] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(124)));
ctx.fpr[19] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(120)));
ctx.fpr[0] = std::bit_cast<float>(aot_gpr_4);
ctx.fpr[2] = aot_fpr_12 / ctx.fpr[0];
{ const float fs = ctx.fpr[16]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[16] = fs * ft; }
ctx.fpr[1] = std::bit_cast<float>(aot_gpr_5);
ctx.fpr[15] = ctx.fpr[16] / ctx.fpr[15];
ctx.fpr[17] = ctx.fpr[17] / ctx.fpr[1];
{ const float fs = ctx.fpr[2]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = aot_fpr_12 / ctx.fpr[0];
ctx.fpr[3] = std::bit_cast<float>(aot_gpr_6);
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[16] = fs * ft; }
{ const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
ctx.fpr[4] = std::bit_cast<float>(ctx.gpr[7]);
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[4]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[17] = fs * ft; }
{ const float fs = aot_fpr_13; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
{ const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_13 = ctx.fpr[18] + aot_fpr_13;
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_13));
ctx.fpr[15] = ctx.fpr[19] + aot_fpr_12;
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_gpr_31 = (0x089A1E4Cu);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(ctx.fpr[15]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1E4Cu) goto L_089A1E4C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1E4C:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
if (branch_taken) {
goto L_089A1E74;
}
goto L_089A1E5C;
}
L_089A1E5C:
aot_gpr_4 = (16585u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(124)));
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A1E74;
L_089A1E74:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(120)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A1E90;
}
goto L_089A1E88;
}
L_089A1E88:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(aot_fpr_20));
if (branch_taken) {
goto L_089A1EB8;
}
goto L_089A1E90;
}
L_089A1E90:
aot_gpr_4 = (16327u << 16u);
aot_gpr_4 = (aot_gpr_4 | 61926u);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(120)));
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A1EB8;
}
goto L_089A1EB4;
}
L_089A1EB4:
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A1EB8;
L_089A1EB8:
aot_gpr_31 = (0x089A1EC0u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(124)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1EC0u) goto L_089A1EC0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1EC0:
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_31 = (0x089A1ECCu);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(120)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1ECCu) goto L_089A1ECC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1ECC:
{ const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_20 = fs * ft; }
aot_gpr_31 = (0x089A1ED8u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(124)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1ED8u) goto L_089A1ED8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1ED8:
ctx.fpr[24] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_31 = (0x089A1EE4u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(120)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1EE4u) goto L_089A1EE4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1EE4:
{ const float fs = ctx.fpr[24]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[24] = fs * ft; }
aot_gpr_31 = (0x089A1EF0u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(120)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1EF0u) goto L_089A1EF0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1EF0:
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(ctx.fpr[24]), std::bit_cast<std::uint32_t>(ctx.fpr[0])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(64), aot_run_words); }
aot_gpr_4 = (std::bit_cast<std::uint32_t>(ctx.fpr[28]));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>();
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>();
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[21] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (std::bit_cast<std::uint32_t>(ctx.fpr[30]));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
{ const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x089A1F88u);
aot_gpr_5 = (ctx.gpr[20] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1F88u) goto L_089A1F88;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1F88:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(161)));
{ const bool branch_taken = aot_gpr_4 != ctx.gpr[23];
if (branch_taken) {
goto L_089A21BC;
}
goto L_089A1F94;
}
L_089A1F94:
aot_gpr_4 = (ctx.gpr[17] | 0u);
ctx.gpr[17] = (0u | 1u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[17]);
aot_gpr_5 = (ctx.gpr[19] | 0u);
aot_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_gpr_31 = (0x089A1FC4u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1FC4u) goto L_089A1FC4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1FC4:
if (ctx.gpr[2] != 0u) {
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(532), std::bit_cast<std::uint32_t>(ctx.fpr[30]));
goto L_089A1FE0;
}
goto L_089A1FCC;
L_089A1FCC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8896)));
aot_gpr_31 = (0x089A1FD8u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[30]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1FD8u) goto L_089A1FD8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1FD8:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(-13404), static_cast<std::uint8_t>(ctx.gpr[17]));
if (branch_taken) {
goto L_089A21BC;
}
goto L_089A1FE0;
}
L_089A1FE0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(124)));
aot_gpr_4 = (16156u << 16u);
aot_gpr_4 = (aot_gpr_4 | 25003u);
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_31 = (0x089A1FF8u);
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A1FF8u) goto L_089A1FF8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A1FF8:
ctx.fpr[30] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(120)));
aot_gpr_4 = (16050u << 16u);
aot_gpr_4 = (aot_gpr_4 | 47299u);
ctx.fpr[24] = std::bit_cast<float>(aot_gpr_4);
aot_gpr_31 = (0x089A2014u);
aot_fpr_12 = aot_fpr_12 - ctx.fpr[24];
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2014u) goto L_089A2014;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2014:
{ const float fs = ctx.fpr[30]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[30] = fs * ft; }
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(124)));
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
aot_gpr_31 = (0x089A2028u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(536), std::bit_cast<std::uint32_t>(aot_fpr_20));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2028u) goto L_089A2028;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2028:
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(120)));
aot_gpr_31 = (0x089A2038u);
aot_fpr_12 = aot_fpr_12 - ctx.fpr[24];
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2038u) goto L_089A2038;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2038:
{ const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_20 = fs * ft; }
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(120)));
aot_gpr_31 = (0x089A2048u);
aot_fpr_12 = aot_fpr_12 - ctx.fpr[24];
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2048u) goto L_089A2048;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2048:
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(ctx.fpr[30]), std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(ctx.fpr[0])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(128), aot_run_words); }
aot_gpr_4 = (std::bit_cast<std::uint32_t>(ctx.fpr[28]));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(128));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(112));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>();
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(96));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.gpr[23] = (aot_gpr_29 + static_cast<std::uint32_t>(144));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (ctx.gpr[23] | 0u);
aot_gpr_5 = (ctx.gpr[19] | 0u);
aot_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_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[17]);
aot_gpr_31 = (0x089A20BCu);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A20BCu) goto L_089A20BC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A20BC:
ctx.fpr[30] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(532)));
{ const bool branch_taken = ctx.gpr[2] != 0u;
aot_fpr_20 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(536)));
if (branch_taken) {
goto L_089A20DC;
}
goto L_089A20C8;
}
L_089A20C8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8896)));
aot_gpr_31 = (0x089A20D4u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[30]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A20D4u) goto L_089A20D4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A20D4:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(-13404), static_cast<std::uint8_t>(ctx.gpr[17]));
if (branch_taken) {
goto L_089A21BC;
}
goto L_089A20DC;
}
L_089A20DC:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(536), std::bit_cast<std::uint32_t>(ctx.fpr[30]));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(124)));
aot_gpr_31 = (0x089A20ECu);
aot_fpr_12 = aot_fpr_12 - aot_fpr_20;
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A20ECu) goto L_089A20EC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A20EC:
ctx.fpr[30] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(120)));
aot_gpr_31 = (0x089A20FCu);
aot_fpr_12 = aot_fpr_12 - ctx.fpr[24];
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A20FCu) goto L_089A20FC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A20FC:
{ const float fs = ctx.fpr[30]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[30] = fs * ft; }
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(124)));
aot_gpr_31 = (0x089A210Cu);
aot_fpr_12 = aot_fpr_12 - aot_fpr_20;
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A210Cu) goto L_089A210C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A210C:
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(120)));
aot_gpr_31 = (0x089A211Cu);
aot_fpr_12 = aot_fpr_12 - ctx.fpr[24];
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A211Cu) goto L_089A211C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A211C:
{ const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_20 = fs * ft; }
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(120)));
aot_gpr_31 = (0x089A212Cu);
aot_fpr_12 = aot_fpr_12 - ctx.fpr[24];
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A212Cu) goto L_089A212C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A212C:
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(ctx.fpr[30]), std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(ctx.fpr[0])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(192), aot_run_words); }
aot_gpr_4 = (std::bit_cast<std::uint32_t>(ctx.fpr[28]));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(192));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(176));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>();
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(160));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (ctx.gpr[23] | 0u);
aot_gpr_5 = (ctx.gpr[19] | 0u);
aot_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_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[17]);
aot_gpr_31 = (0x089A219Cu);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A219Cu) goto L_089A219C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A219C:
{ const bool branch_taken = ctx.gpr[2] != 0u;
ctx.fpr[30] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(536)));
if (branch_taken) {
goto L_089A21B8;
}
goto L_089A21A4;
}
L_089A21A4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8896)));
aot_gpr_31 = (0x089A21B0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[30]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A21B0u) goto L_089A21B0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A21B0:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(-13404), static_cast<std::uint8_t>(ctx.gpr[17]));
if (branch_taken) {
goto L_089A21BC;
}
goto L_089A21B8;
}
L_089A21B8:
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(-13404), static_cast<std::uint8_t>(0u));
goto L_089A21BC;
L_089A21BC:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(-13404)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089A21D4;
}
goto L_089A21C8;
}
L_089A21C8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8896)));
aot_gpr_31 = (0x089A21D4u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[30]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A21D4u) goto L_089A21D4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A21D4:
aot_gpr_4 = (std::bit_cast<std::uint32_t>(ctx.fpr[30]));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
{ const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x089A21F4u);
aot_gpr_5 = (ctx.gpr[20] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A21F4u) goto L_089A21F4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A21F4:
aot_gpr_31 = (0x089A21FCu);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 6u, 0x089A8094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A21FCu) goto L_089A21FC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A21FC:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(16)));
aot_gpr_31 = (0x089A2208u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(20)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2208u) goto L_089A2208;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2208:
ctx.fpr[30] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] < ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (16585u << 16u);
if (branch_taken) {
goto L_089A2228;
}
goto L_089A221C;
}
L_089A221C:
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fpr[30] = ctx.fpr[30] + aot_fpr_12;
goto L_089A2228;
L_089A2228:
aot_fpr_12 = ctx.fpr[30] - ctx.fpr[26];
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(1984)));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(2256), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(1984)));
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(2260), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A2574;
}
goto L_089A2240;
}
L_089A2240:
ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[22];
ctx.gpr[18] = (aot_gpr_29 + static_cast<std::uint32_t>(208));
if (branch_taken) {
goto L_089A2264;
}
goto L_089A2250;
}
L_089A2250:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_5 = (0u | 8u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_089A2274;
}
goto L_089A2264;
}
L_089A2264:
aot_gpr_31 = (0x089A226Cu);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 312u, 0x08A595C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A226Cu) goto L_089A226C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A226C:
ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
ctx.gpr[17] = (ctx.gpr[17] + static_cast<std::uint32_t>(960));
goto L_089A2274;
L_089A2274:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(86))))));
aot_gpr_6 = (static_cast<std::int32_t>(aot_gpr_4) < static_cast<std::int32_t>(aot_gpr_6) ? 1u : 0u);
{ const bool branch_taken = aot_gpr_6 == 0u;
aot_gpr_5 = (0u | 0u);
if (branch_taken) {
goto L_089A229C;
}
goto L_089A228C;
}
L_089A228C:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
aot_gpr_4 = (aot_gpr_4 << 2u);
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
goto L_089A229C;
L_089A229C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(84)));
if (aot_gpr_4 != ctx.gpr[23]) {
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(84)));
goto L_089A22B0;
}
goto L_089A22A8;
L_089A22A8:
{ const bool branch_taken = 0u == 0u;
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(96));
if (branch_taken) {
goto L_089A22C4;
}
goto L_089A22B0;
}
L_089A22B0:
aot_gpr_6 = (0u | 2u);
if (aot_gpr_4 != aot_gpr_6) {
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(160));
goto L_089A22C4;
}
goto L_089A22BC;
L_089A22BC:
{ const bool branch_taken = 0u == 0u;
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(96));
if (branch_taken) {
goto L_089A22C4;
}
goto L_089A22C4;
}
L_089A22C4:
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(240));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(240), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(244)));
aot_gpr_5 = (15779u << 16u);
aot_gpr_5 = (aot_gpr_5 | 55050u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_5);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(244), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(248)));
aot_gpr_5 = (16158u << 16u);
aot_gpr_5 = (aot_gpr_5 | 47186u);
aot_fpr_14 = std::bit_cast<float>(aot_gpr_5);
aot_fpr_12 = aot_fpr_12 + aot_fpr_14;
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(248), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_5 = (17008u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(296), std::bit_cast<std::uint32_t>(aot_fpr_12));
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(16);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(32);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); }
ctx.execute_vfpu_vtfm_ct<0u, 36u, 7u, 3u, 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<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(48));
aot_gpr_31 = (0x089A2340u);
aot_gpr_4 = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2340u) goto L_089A2340;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2340:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[23];
if (branch_taken) {
goto L_089A2364;
}
goto L_089A2350;
}
L_089A2350:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_5 = (0u | 2u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_089A237C;
}
goto L_089A2364;
}
L_089A2364:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(40)));
aot_gpr_4 = (16128u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(40), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A2414;
}
goto L_089A237C;
}
L_089A237C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[22];
if (branch_taken) {
goto L_089A23A0;
}
goto L_089A238C;
}
L_089A238C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_5 = (0u | 8u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_089A2414;
}
goto L_089A23A0;
}
L_089A23A0:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(900)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089A2414;
}
goto L_089A23B0;
}
L_089A23B0:
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[22])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(272), aot_run_words); }
ctx.gpr[20] = (aot_gpr_29 + static_cast<std::uint32_t>(272));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(900)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(816));
aot_gpr_5 = (ctx.gpr[20] | 0u);
aot_gpr_31 = (0x089A23D8u);
aot_gpr_6 = (0u | 17u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0123_entry, 123u, 608u, 0x089F3910u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A23D8u) goto L_089A23D8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A23D8:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(320));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(256));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_31 = (0x089A2404u);
aot_gpr_4 = (ctx.gpr[20] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2404u) goto L_089A2404;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2404:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(280)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13736)));
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(40), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A2414;
L_089A2414:
aot_gpr_31 = (0x089A241Cu);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 229u, 0x08B00D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A241Cu) goto L_089A241C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A241C:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_089A2464;
}
goto L_089A2424;
}
L_089A2424:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13408)));
aot_gpr_4 = (16128u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (15605u << 16u);
if (branch_taken) {
goto L_089A2458;
}
goto L_089A2440;
}
L_089A2440:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13408)));
aot_gpr_4 = (aot_gpr_4 | 49807u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-13408), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A245C;
}
goto L_089A2458;
}
L_089A2458:
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-13408), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A245C;
L_089A245C:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A2494;
}
goto L_089A2464;
}
L_089A2464:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13408)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (15605u << 16u);
if (branch_taken) {
goto L_089A2490;
}
goto L_089A2478;
}
L_089A2478:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13408)));
aot_gpr_4 = (aot_gpr_4 | 49807u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-13408), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A2494;
}
goto L_089A2490;
}
L_089A2490:
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-13408), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
goto L_089A2494;
L_089A2494:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(40)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13408)));
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(40), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (ctx.gpr[17] + static_cast<std::uint32_t>(16));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>();
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[21] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (ctx.gpr[17] + static_cast<std::uint32_t>(32));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(96));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>();
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 = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); }
ctx.execute_vfpu_cross_quat_ct<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[18] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(224));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>();
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 = aot_gpr_5 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); }
ctx.execute_vfpu_cross_quat_ct<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[18] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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 = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>();
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 = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
goto L_089A2574;
L_089A2574:
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(163), static_cast<std::uint8_t>(0u));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[22];
if (branch_taken) {
goto L_089A259C;
}
goto L_089A2588;
}
L_089A2588:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
aot_gpr_5 = (0u | 8u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_089A2604;
}
goto L_089A259C;
}
L_089A259C:
aot_gpr_4 = (16179u << 16u);
aot_gpr_4 = (aot_gpr_4 | 13107u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(96));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
ctx.gpr[17] = (aot_gpr_29 + static_cast<std::uint32_t>(288));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x089A25D0u);
aot_gpr_5 = (ctx.gpr[17] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A25D0u) goto L_089A25D0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A25D0:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(288), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(292), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_gpr_4 = (16256u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(296), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x089A25F0u);
aot_gpr_5 = (ctx.gpr[17] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A25F0u) goto L_089A25F0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A25F0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13752)));
aot_gpr_31 = (0x089A25FCu);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 335u, 0x0899ADECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A25FCu) goto L_089A25FC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A25FC:
aot_gpr_31 = (0x089A2604u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 6u, 0x089A8094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2604u) goto L_089A2604;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2604:
{ std::uint32_t aot_run_words[16]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(540), aot_run_words);
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[2]);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[3]);
ctx.fpr[28] = std::bit_cast<float>(aot_run_words[4]);
ctx.fpr[30] = std::bit_cast<float>(aot_run_words[5]);
aot_gpr_16 = aot_run_words[6];
ctx.gpr[17] = aot_run_words[7];
ctx.gpr[18] = aot_run_words[8];
ctx.gpr[19] = aot_run_words[9];
ctx.gpr[20] = aot_run_words[10];
ctx.gpr[21] = aot_run_words[11];
ctx.gpr[22] = aot_run_words[12];
ctx.gpr[23] = aot_run_words[13];
ctx.gpr[30] = aot_run_words[14];
aot_gpr_31 = aot_run_words[15];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(608));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089A264C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-288));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(112)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(236), aot_gpr_16);
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(72)));
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_4 = (aot_gpr_6 & 14u);
aot_gpr_4 = (aot_gpr_4 ^ 6u);
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(232), std::bit_cast<std::uint32_t>(ctx.fpr[30]));
ctx.fpr[30] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_gpr_4 & 255u);
{ const std::uint32_t aot_run_words[5]{std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[24]), std::bit_cast<std::uint32_t>(ctx.fpr[26]), std::bit_cast<std::uint32_t>(ctx.fpr[28])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(212), aot_run_words); }
{ const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(240), aot_run_words); }
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[17] = (aot_gpr_5 | 0u);
if (branch_taken) {
goto L_089A2AB0;
}
goto L_089A26B8;
}
L_089A26B8:
aot_gpr_4 = (17036u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(296), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13720)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13716)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(208), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (15820u << 16u);
aot_gpr_4 = (aot_gpr_4 | 52429u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(192), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_gpr_4 = (15477u << 16u);
aot_gpr_4 = (aot_gpr_4 | 49807u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(204), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (15333u << 16u);
aot_gpr_4 = (aot_gpr_4 | 24642u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(200), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(196), std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.gpr[18] = (aot_gpr_16 + static_cast<std::uint32_t>(32));
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_29 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_29 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.gpr[19] = (aot_gpr_16 + static_cast<std::uint32_t>(16));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(163)));
ctx.fpr[24] = std::bit_cast<float>(0u);
ctx.gpr[20] = (aot_gpr_29 + static_cast<std::uint32_t>(32));
ctx.gpr[21] = (aot_gpr_29 + static_cast<std::uint32_t>(48));
ctx.gpr[22] = (aot_gpr_16 + static_cast<std::uint32_t>(220));
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[23] = (aot_gpr_16 + static_cast<std::uint32_t>(224));
if (branch_taken) {
goto L_089A2770;
}
goto L_089A2740;
}
L_089A2740:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(16)));
aot_gpr_31 = (0x089A274Cu);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(20)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A274Cu) goto L_089A274C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A274C:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (16585u << 16u);
if (branch_taken) {
goto L_089A276C;
}
goto L_089A2760;
}
L_089A2760:
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
goto L_089A276C;
L_089A276C:
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A2770;
L_089A2770:
aot_gpr_31 = (0x089A2778u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[30]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2778u) goto L_089A2778;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2778:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(124)));
aot_gpr_31 = (0x089A2784u);
ctx.fpr[30] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2784u) goto L_089A2784;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2784:
aot_gpr_4 = (16457u << 16u);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13712)));
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (17204u << 16u);
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
ctx.fpr[26] = aot_fpr_12 / aot_fpr_14;
ctx.fpr[28] = ctx.fpr[30] - ctx.fpr[26];
ctx.fpr[26] = ctx.fpr[30] + ctx.fpr[26];
aot_gpr_31 = (0x089A27B8u);
aot_fpr_12 = ctx.fpr[0] - ctx.fpr[28];
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A27B8u) goto L_089A27B8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A27B8:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(124)));
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_31 = (0x089A27C8u);
aot_fpr_12 = aot_fpr_12 - ctx.fpr[26];
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A27C8u) goto L_089A27C8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A27C8:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(163)));
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
if (branch_taken) {
goto L_089A2830;
}
goto L_089A27D4;
}
L_089A27D4:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u);
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20) ^ 0x80000000u);
goto L_089A27E8;
}
goto L_089A27E8;
L_089A27E8:
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[24])) ? 0x00800000u : 0u);
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]) ^ 0x80000000u);
goto L_089A27FC;
}
goto L_089A27FC;
L_089A27FC:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A2814;
}
goto L_089A280C;
}
L_089A280C:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(260), std::bit_cast<std::uint32_t>(ctx.fpr[28]));
if (branch_taken) {
goto L_089A2818;
}
goto L_089A2814;
}
L_089A2814:
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(260), std::bit_cast<std::uint32_t>(ctx.fpr[26]));
goto L_089A2818;
L_089A2818:
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(212), std::bit_cast<std::uint32_t>(ctx.fpr[30]));
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(216), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_gpr_4 = (0u | 1u);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(161), static_cast<std::uint8_t>(aot_gpr_4));
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(304), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
if (branch_taken) {
goto L_089A288C;
}
goto L_089A2830;
}
L_089A2830:
aot_gpr_31 = (0x089A2838u);
aot_gpr_4 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2838u) goto L_089A2838;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2838:
aot_gpr_31 = (0x089A2840u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 419u, 0x0898D270u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2840u) goto L_089A2840;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2840:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_089A288C;
}
goto L_089A2848;
}
L_089A2848:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u);
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20) ^ 0x80000000u);
goto L_089A285C;
}
goto L_089A285C;
L_089A285C:
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[24])) ? 0x00800000u : 0u);
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]) ^ 0x80000000u);
goto L_089A2870;
}
goto L_089A2870;
L_089A2870:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A2888;
}
goto L_089A2880;
}
L_089A2880:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(260), std::bit_cast<std::uint32_t>(ctx.fpr[28]));
if (branch_taken) {
goto L_089A288C;
}
goto L_089A2888;
}
L_089A2888:
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(260), std::bit_cast<std::uint32_t>(ctx.fpr[26]));
goto L_089A288C;
L_089A288C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(260)));
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(124));
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(304));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(200)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(196)));
aot_gpr_31 = (0x089A28A8u);
aot_gpr_6 = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 367u, 0x08A1A730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A28A8u) goto L_089A28A8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A28A8:
aot_gpr_31 = (0x089A28B0u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(124)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A28B0u) goto L_089A28B0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A28B0:
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_31 = (0x089A28BCu);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(124)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A28BCu) goto L_089A28BC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A28BC:
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(ctx.fpr[0]), std::bit_cast<std::uint32_t>(ctx.fpr[24])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(32), aot_run_words); }
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(208)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
ctx.gpr[30] = (aot_gpr_29 + static_cast<std::uint32_t>(16));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_29 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_29 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_fpr_20 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(192)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(40)));
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(40), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(212));
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(216));
aot_gpr_6 = (15759u << 16u);
aot_gpr_6 = (aot_gpr_6 | 23593u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_6);
aot_gpr_6 = (15235u << 16u);
aot_gpr_6 = (aot_gpr_6 | 4719u);
aot_fpr_14 = std::bit_cast<float>(aot_gpr_6);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[30]));
aot_gpr_31 = (0x089A2938u);
aot_gpr_6 = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 367u, 0x08A1A730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2938u) goto L_089A2938;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2938:
aot_gpr_31 = (0x089A2940u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(212)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2940u) goto L_089A2940;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2940:
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_31 = (0x089A294Cu);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(212)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A294Cu) goto L_089A294C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A294C:
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[0]), std::bit_cast<std::uint32_t>(ctx.fpr[24])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(204)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
{ const std::uint32_t vfpu_address = aot_gpr_29 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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[30] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(244)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(252)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(252)));
goto L_089A29A8;
}
goto L_089A29A0;
L_089A29A0:
{ const bool branch_taken = 0u == 0u;
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(244)));
if (branch_taken) {
goto L_089A29A8;
}
goto L_089A29A8;
}
L_089A29A8:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(8)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(40)));
aot_fpr_12 = aot_fpr_13 + aot_fpr_12;
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(220)));
aot_fpr_12 = aot_fpr_12 - aot_fpr_14;
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[15])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A2A00;
}
goto L_089A29D0;
}
L_089A29D0:
ctx.gpr[7] = (15897u << 16u);
ctx.gpr[7] = (ctx.gpr[7] | 39322u);
aot_fpr_13 = std::bit_cast<float>(ctx.gpr[7]);
aot_gpr_4 = (ctx.gpr[22] | 0u);
ctx.gpr[7] = (15651u << 16u);
ctx.gpr[7] = (ctx.gpr[7] | 55050u);
aot_gpr_5 = (ctx.gpr[23] | 0u);
aot_fpr_14 = std::bit_cast<float>(ctx.gpr[7]);
aot_gpr_31 = (0x089A29F8u);
aot_gpr_6 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 367u, 0x08A1A730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A29F8u) goto L_089A29F8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A29F8:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A2A2C;
}
goto L_089A2A00;
}
L_089A2A00:
ctx.gpr[7] = (15779u << 16u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
ctx.gpr[7] = (ctx.gpr[7] | 55050u);
aot_fpr_13 = std::bit_cast<float>(ctx.gpr[7]);
aot_gpr_4 = (ctx.gpr[22] | 0u);
ctx.gpr[7] = (15503u << 16u);
ctx.gpr[7] = (ctx.gpr[7] | 23593u);
aot_gpr_5 = (ctx.gpr[23] | 0u);
aot_fpr_14 = std::bit_cast<float>(ctx.gpr[7]);
aot_gpr_31 = (0x089A2A2Cu);
aot_gpr_6 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 367u, 0x08A1A730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2A2Cu) goto L_089A2A2C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2A2C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(40)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(220)));
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(40), std::bit_cast<std::uint32_t>(aot_fpr_12));
{ const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(400));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(80));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (2236u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(32304));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(296)));
aot_gpr_6 = (ctx.gpr[21] | 0u);
aot_gpr_31 = (0x089A2A6Cu);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0136_entry, 136u, 69u, 0x08A2456Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2A6Cu) goto L_089A2A6C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2A6C:
{ const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>();
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<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_31 = (0x089A2AACu);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 6u, 0x089A8094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2AACu) goto L_089A2AAC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2AAC:
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(163), static_cast<std::uint8_t>(0u));
goto L_089A2AB0;
L_089A2AB0:
{ std::uint32_t aot_run_words[16]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(212), aot_run_words);
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[2]);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[3]);
ctx.fpr[28] = std::bit_cast<float>(aot_run_words[4]);
ctx.fpr[30] = std::bit_cast<float>(aot_run_words[5]);
aot_gpr_16 = aot_run_words[6];
ctx.gpr[17] = aot_run_words[7];
ctx.gpr[18] = aot_run_words[8];
ctx.gpr[19] = aot_run_words[9];
ctx.gpr[20] = aot_run_words[10];
ctx.gpr[21] = aot_run_words[11];
ctx.gpr[22] = aot_run_words[12];
ctx.gpr[23] = aot_run_words[13];
ctx.gpr[30] = aot_run_words[14];
aot_gpr_31 = aot_run_words[15];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(288));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089A2AF8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-256));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(204), aot_gpr_16);
aot_fpr_12 = std::bit_cast<float>(0u);
aot_gpr_16 = (2236u << 16u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_16 = (aot_gpr_16 + static_cast<std::uint32_t>(32304));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(2058)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(196), std::bit_cast<std::uint32_t>(aot_fpr_20));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(200), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
{ const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(208), aot_run_words); }
{ const bool branch_taken = aot_gpr_5 != 0u;
ctx.gpr[18] = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_089A2B88;
}
goto L_089A2B48;
}
L_089A2B48:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (16256u << 16u);
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(aot_fpr_20));
{ const std::uint32_t vfpu_address = aot_gpr_29 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.gpr[22] = (ctx.gpr[18] + static_cast<std::uint32_t>(96));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(2074)));
aot_gpr_5 = (17530u << 16u);
ctx.fpr[22] = std::bit_cast<float>(aot_gpr_5);
aot_gpr_5 = (20224u << 16u);
{ const bool branch_taken = aot_gpr_4 == 0u;
aot_fpr_13 = std::bit_cast<float>(aot_gpr_5);
if (branch_taken) {
goto L_089A2B90;
}
goto L_089A2B80;
}
L_089A2B80:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (16968u << 16u);
if (branch_taken) {
goto L_089A2C5C;
}
goto L_089A2B88;
}
L_089A2B88:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A33E4;
}
goto L_089A2B90;
}
L_089A2B90:
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(264), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_6 = (aot_gpr_4 << 3u);
aot_gpr_6 = (aot_gpr_4 + aot_gpr_6);
aot_gpr_4 = (aot_gpr_4 + aot_gpr_6);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-10));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
aot_gpr_4 = (aot_gpr_4 << 2u);
aot_gpr_5 = (aot_gpr_5 + aot_gpr_4);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
goto L_089A2BFC;
}
goto L_089A2BDC;
L_089A2BDC:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12));
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A2C20;
}
goto L_089A2BFC;
}
L_089A2BFC:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_gpr_4 = (32768u << 16u);
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
goto L_089A2C20;
L_089A2C20:
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(168), aot_gpr_4);
aot_gpr_4 = (0u | 1u);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(2074), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (0u | 11u);
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(6832), aot_gpr_4);
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(6836), aot_gpr_4);
aot_gpr_4 = (0u | 5u);
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(6840), aot_gpr_4);
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(6844), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-13400), std::bit_cast<std::uint32_t>(aot_fpr_12));
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(6848), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A2C78;
}
goto L_089A2C5C;
}
L_089A2C5C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7684)));
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 / aot_fpr_14;
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(264)));
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = ctx.fpr[15] + aot_fpr_12;
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(264), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A2C78;
L_089A2C78:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(264)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(264)));
goto L_089A2C9C;
}
goto L_089A2C8C;
L_089A2C8C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(264)));
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12));
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A2CB0;
}
goto L_089A2C9C;
}
L_089A2C9C:
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
aot_gpr_4 = (32768u << 16u);
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
goto L_089A2CB0;
L_089A2CB0:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(168)));
ctx.gpr[19] = (aot_gpr_4 | 0u);
aot_gpr_5 = (ctx.gpr[19] < aot_gpr_5 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_089A301C;
}
goto L_089A2CC4;
}
L_089A2CC4:
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(6848));
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[19]);
aot_gpr_6 = (ctx.gpr[28] + static_cast<std::uint32_t>(6844));
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(176), aot_gpr_4);
ctx.gpr[7] = (ctx.gpr[18] + static_cast<std::uint32_t>(400));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(192), aot_gpr_6);
aot_gpr_4 = (20352u << 16u);
ctx.gpr[23] = (ctx.gpr[18] + static_cast<std::uint32_t>(32));
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_5 = (ctx.gpr[28] + static_cast<std::uint32_t>(6832));
ctx.gpr[17] = (ctx.gpr[18] + static_cast<std::uint32_t>(16));
ctx.gpr[20] = (ctx.gpr[28] + static_cast<std::uint32_t>(6836));
ctx.gpr[30] = (ctx.gpr[28] + static_cast<std::uint32_t>(6840));
ctx.gpr[21] = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(188), ctx.gpr[7]);
if (static_cast<std::int32_t>(ctx.gpr[19]) < 0) {
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
goto L_089A2D0C;
}
goto L_089A2D0C;
L_089A2D0C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(168)));
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_13 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_13)));
if (static_cast<std::int32_t>(aot_gpr_4) < 0) {
aot_fpr_13 = aot_fpr_13 + aot_fpr_20;
goto L_089A2D20;
}
goto L_089A2D20;
L_089A2D20:
aot_fpr_13 = aot_fpr_12 / aot_fpr_13;
aot_gpr_4 = (ctx.gpr[19] | 0u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(2196), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
aot_fpr_13 = aot_fpr_12 + aot_fpr_20;
goto L_089A2D38;
L_089A2D38:
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(6832)));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(8)));
ctx.gpr[7] = (ctx.gpr[7] << 2u);
ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]);
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast<std::uint32_t>(0)));
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(4)));
aot_fpr_14 = aot_fpr_14 - ctx.fpr[16];
{ const float fs = aot_fpr_14; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
if (static_cast<std::int32_t>(aot_gpr_4) < 0) {
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
goto L_089A2D68;
}
goto L_089A2D68;
L_089A2D68:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= ctx.fpr[15])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A2D88;
}
goto L_089A2D78;
}
L_089A2D78:
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(6832)));
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(10));
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(6832), aot_gpr_6);
if (branch_taken) {
goto L_089A2D38;
}
goto L_089A2D88;
}
L_089A2D88:
ctx.gpr[7] = (aot_gpr_5 | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_4 = (ctx.gpr[23] | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(8)));
aot_gpr_31 = (0x089A2DA0u);
aot_gpr_6 = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 400u, 0x0899B3C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2DA0u) goto L_089A2DA0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2DA0:
aot_gpr_5 = (ctx.gpr[19] | 0u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_5);
aot_fpr_13 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_13)));
ctx.fpr[15] = aot_fpr_13 + aot_fpr_20;
goto L_089A2DB0;
L_089A2DB0:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(6836)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(12)));
aot_gpr_6 = (aot_gpr_6 << 2u);
aot_gpr_6 = (aot_gpr_4 + aot_gpr_6);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(0)));
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
aot_fpr_12 = aot_fpr_12 - ctx.fpr[16];
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
if (static_cast<std::int32_t>(aot_gpr_5) < 0) {
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[15]));
goto L_089A2DE0;
}
goto L_089A2DE0;
L_089A2DE0:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A2E00;
}
goto L_089A2DF0;
}
L_089A2DF0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(6836)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(10));
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(6836), aot_gpr_4);
if (branch_taken) {
goto L_089A2DB0;
}
goto L_089A2E00;
}
L_089A2E00:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_4 = (ctx.gpr[17] | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(12)));
aot_gpr_6 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x089A2E18u);
ctx.gpr[7] = (ctx.gpr[20] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 400u, 0x0899B3C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2E18u) goto L_089A2E18;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2E18:
ctx.gpr[20] = (ctx.gpr[19] | 0u);
aot_fpr_13 = std::bit_cast<float>(ctx.gpr[20]);
aot_fpr_13 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_13)));
ctx.fpr[15] = aot_fpr_13 + aot_fpr_20;
goto L_089A2E28;
L_089A2E28:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(6840)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (aot_gpr_5 << 2u);
aot_gpr_5 = (aot_gpr_4 + aot_gpr_5);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
aot_fpr_12 = aot_fpr_12 - ctx.fpr[16];
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
if (static_cast<std::int32_t>(ctx.gpr[20]) < 0) {
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[15]));
goto L_089A2E58;
}
goto L_089A2E58;
L_089A2E58:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A2E78;
}
goto L_089A2E68;
}
L_089A2E68:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(6840)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(4));
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(6840), aot_gpr_4);
if (branch_taken) {
goto L_089A2E28;
}
goto L_089A2E78;
}
L_089A2E78:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
aot_gpr_6 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x089A2E90u);
ctx.gpr[7] = (ctx.gpr[30] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 66u, 0x08998C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2E90u) goto L_089A2E90;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2E90:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
aot_gpr_4 = (16457u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_gpr_4 = (17204u << 16u);
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 / aot_fpr_14;
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (16329u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + ctx.fpr[15];
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(96), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(104), std::bit_cast<std::uint32_t>(aot_fpr_13));
ctx.gpr[30] = (ctx.gpr[19] | 0u);
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[30]);
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
aot_fpr_20 = aot_fpr_12 + aot_fpr_20;
goto L_089A2F18;
L_089A2F18:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(6844)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_gpr_5 << 2u);
aot_gpr_5 = (aot_gpr_4 + aot_gpr_5);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
aot_fpr_13 = aot_fpr_13 - ctx.fpr[15];
{ const float fs = aot_fpr_13; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
if (static_cast<std::int32_t>(ctx.gpr[30]) < 0) {
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
goto L_089A2F48;
}
goto L_089A2F48;
L_089A2F48:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_14)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(188)));
goto L_089A2F68;
}
goto L_089A2F58;
L_089A2F58:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(6844)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(4));
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(6844), aot_gpr_4);
if (branch_taken) {
goto L_089A2F18;
}
goto L_089A2F68;
}
L_089A2F68:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(176)));
ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(192)));
aot_gpr_31 = (0x089A2F80u);
aot_gpr_6 = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 66u, 0x08998C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A2F80u) goto L_089A2F80;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A2F80:
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>();
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[17] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); }
ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); }
ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>();
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[22] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (16245u << 16u);
if (branch_taken) {
goto L_089A33D0;
}
goto L_089A301C;
}
L_089A301C:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(168)));
aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 != 0u;
aot_gpr_4 = (16245u << 16u);
if (branch_taken) {
goto L_089A33D0;
}
goto L_089A302C;
}
L_089A302C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (16672u << 16u);
aot_fpr_14 = aot_fpr_12 - aot_fpr_20;
aot_gpr_5 = (ctx.gpr[28] + static_cast<std::uint32_t>(6836));
aot_gpr_6 = (ctx.gpr[28] + static_cast<std::uint32_t>(6840));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(184), aot_gpr_5);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
ctx.gpr[7] = (16512u << 16u);
ctx.gpr[8] = (ctx.gpr[28] + static_cast<std::uint32_t>(6848));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(180), aot_gpr_6);
ctx.gpr[21] = (ctx.gpr[18] + static_cast<std::uint32_t>(32));
ctx.fpr[15] = aot_fpr_14 + aot_fpr_20;
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(6832));
ctx.gpr[17] = (ctx.gpr[18] + static_cast<std::uint32_t>(16));
ctx.gpr[30] = (ctx.gpr[28] + static_cast<std::uint32_t>(6844));
ctx.gpr[23] = (ctx.gpr[18] + static_cast<std::uint32_t>(400));
aot_fpr_14 = std::bit_cast<float>(ctx.gpr[7]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(176), ctx.gpr[8]);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[15] < aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
ctx.gpr[20] = (aot_gpr_29 + static_cast<std::uint32_t>(16));
if (branch_taken) {
goto L_089A30B4;
}
goto L_089A3090;
}
L_089A3090:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(8)));
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.fpr[15] = ctx.fpr[15] - aot_fpr_20;
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[15] = fs * ft; }
ctx.fpr[15] = ctx.fpr[15] + aot_fpr_20;
ctx.fpr[15] = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[15]));
{ const bool branch_taken = 0u == 0u;
aot_gpr_5 = (std::bit_cast<std::uint32_t>(ctx.fpr[15]));
if (branch_taken) {
goto L_089A30E0;
}
goto L_089A30B4;
}
L_089A30B4:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(8)));
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.fpr[15] = ctx.fpr[15] - aot_fpr_20;
aot_gpr_5 = (32768u << 16u);
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[15] = fs * ft; }
ctx.fpr[15] = ctx.fpr[15] + aot_fpr_20;
ctx.fpr[15] = ctx.fpr[15] - aot_fpr_13;
ctx.fpr[15] = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[15]));
aot_gpr_6 = (std::bit_cast<std::uint32_t>(ctx.fpr[15]));
aot_gpr_5 = (aot_gpr_6 + aot_gpr_5);
goto L_089A30E0;
L_089A30E0:
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(6832), aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(12)));
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.fpr[15] = ctx.fpr[15] - aot_fpr_20;
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[15] = fs * ft; }
ctx.fpr[15] = ctx.fpr[15] + aot_fpr_20;
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[15] < aot_fpr_13)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
goto L_089A3130;
}
goto L_089A310C;
L_089A310C:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(12)));
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.fpr[15] = ctx.fpr[15] - aot_fpr_20;
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12));
{ const bool branch_taken = 0u == 0u;
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A3158;
}
goto L_089A3130;
}
L_089A3130:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(12)));
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.fpr[15] = ctx.fpr[15] - aot_fpr_20;
aot_gpr_5 = (32768u << 16u);
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12));
aot_gpr_6 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_5 = (aot_gpr_6 + aot_gpr_5);
goto L_089A3158;
L_089A3158:
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(6836), aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_12 = aot_fpr_12 - aot_fpr_20;
{ const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
goto L_089A31A8;
}
goto L_089A3184;
L_089A3184:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_12 = aot_fpr_12 - aot_fpr_20;
{ const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12));
{ const bool branch_taken = 0u == 0u;
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A31D0;
}
goto L_089A31A8;
}
L_089A31A8:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_12 = aot_fpr_12 - aot_fpr_20;
aot_gpr_5 = (32768u << 16u);
{ const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12));
aot_gpr_6 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_5 = (aot_gpr_6 + aot_gpr_5);
goto L_089A31D0;
L_089A31D0:
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(6840), aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_12 = aot_fpr_12 - aot_fpr_20;
{ const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
goto L_089A3220;
}
goto L_089A31FC;
L_089A31FC:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_12 = aot_fpr_12 - aot_fpr_20;
{ const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12));
{ const bool branch_taken = 0u == 0u;
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A3248;
}
goto L_089A3220;
}
L_089A3220:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_12 = aot_fpr_12 - aot_fpr_20;
aot_gpr_5 = (32768u << 16u);
{ const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12));
aot_gpr_6 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_5 = (aot_gpr_6 + aot_gpr_5);
goto L_089A3248;
L_089A3248:
ctx.gpr[7] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(6844), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (ctx.gpr[21] | 0u);
aot_gpr_31 = (0x089A3264u);
aot_gpr_6 = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 400u, 0x0899B3C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3264u) goto L_089A3264;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3264:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(12)));
aot_gpr_4 = (ctx.gpr[17] | 0u);
ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(184)));
aot_gpr_31 = (0x089A327Cu);
aot_gpr_6 = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 400u, 0x0899B3C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A327Cu) goto L_089A327C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A327C:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(180)));
aot_gpr_31 = (0x089A3294u);
aot_gpr_6 = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 66u, 0x08998C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3294u) goto L_089A3294;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3294:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
aot_gpr_4 = (16457u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_gpr_4 = (17204u << 16u);
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 / aot_fpr_14;
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (16329u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + ctx.fpr[15];
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(96), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
{ const float vfpu_constant = std::bit_cast<float>(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); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>());
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(104), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2544)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(176)));
aot_gpr_6 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x089A3324u);
ctx.gpr[7] = (ctx.gpr[30] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 66u, 0x08998C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3324u) goto L_089A3324;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3324:
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(2196), std::bit_cast<std::uint32_t>(aot_fpr_20));
{ const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u};
aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast<std::uint32_t>(6832), aot_run_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(64));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>();
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[17] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); }
ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); }
ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>();
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[22] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (16245u << 16u);
goto L_089A33D0;
L_089A33D0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(6848)));
aot_gpr_4 = (aot_gpr_4 | 49807u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(296), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A33E4;
L_089A33E4:
{ std::uint32_t aot_run_words[12]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(196), aot_run_words);
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
aot_gpr_16 = aot_run_words[2];
ctx.gpr[17] = aot_run_words[3];
ctx.gpr[18] = aot_run_words[4];
ctx.gpr[19] = aot_run_words[5];
ctx.gpr[20] = aot_run_words[6];
ctx.gpr[21] = aot_run_words[7];
ctx.gpr[22] = aot_run_words[8];
ctx.gpr[23] = aot_run_words[9];
ctx.gpr[30] = aot_run_words[10];
aot_gpr_31 = aot_run_words[11];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(256));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089A341C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-768));
ctx.gpr[7] = (16076u << 16u);
aot_gpr_6 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
ctx.gpr[7] = (ctx.gpr[7] | 52429u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(728), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(756), ctx.gpr[23]);
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[7]);
aot_gpr_16 = (0u | 46u);
ctx.gpr[23] = (aot_gpr_4 | 0u);
{ const std::uint32_t aot_run_words[6]{std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[24]), std::bit_cast<std::uint32_t>(ctx.fpr[26]), std::bit_cast<std::uint32_t>(ctx.fpr[28]), std::bit_cast<std::uint32_t>(ctx.fpr[30])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(704), aot_run_words); }
{ const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(732), aot_run_words); }
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(760), ctx.gpr[30]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(764), aot_gpr_31);
{ const bool branch_taken = aot_gpr_6 != aot_gpr_16;
ctx.gpr[17] = (aot_gpr_5 | 0u);
if (branch_taken) {
goto L_089A348C;
}
goto L_089A3480;
}
L_089A3480:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(-24896)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089A34BC;
}
goto L_089A348C;
}
L_089A348C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
ctx.gpr[19] = (0u | 1u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
ctx.gpr[30] = (ctx.gpr[23] + static_cast<std::uint32_t>(32));
aot_gpr_4 = (aot_gpr_4 & 14u);
aot_gpr_4 = (aot_gpr_4 ^ 6u);
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
{ const bool branch_taken = aot_gpr_4 != 0u;
ctx.gpr[22] = (ctx.gpr[23] + static_cast<std::uint32_t>(16));
if (branch_taken) {
goto L_089A34CC;
}
goto L_089A34B4;
}
L_089A34B4:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
(void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0104_entry, 104u, 7u, 0x089A4094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return;
}
goto L_089A34BC;
}
L_089A34BC:
aot_gpr_31 = (0x089A34C4u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8896)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A34C4u) goto L_089A34C4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A34C4:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
(void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0104_entry, 104u, 25u, 0x089A42CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return;
}
goto L_089A34CC;
}
L_089A34CC:
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(144));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(148));
aot_gpr_31 = (0x089A34DCu);
aot_gpr_4 = (ctx.gpr[23] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 379u, 0x0899B258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A34DCu) goto L_089A34DC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A34DC:
aot_gpr_4 = (15820u << 16u);
ctx.fpr[22] = std::bit_cast<float>(0u);
aot_gpr_4 = (aot_gpr_4 | 52429u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_5 = (16025u << 16u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
aot_gpr_5 = (aot_gpr_5 | 39322u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(700), std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.fpr[24] = std::bit_cast<float>(aot_gpr_5);
aot_gpr_31 = (0x089A3508u);
ctx.gpr[18] = (0u | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3508u) goto L_089A3508;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3508:
aot_gpr_4 = (16329u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.gpr[20] = (2236u << 16u);
aot_gpr_4 = (17036u << 16u);
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
ctx.gpr[21] = (aot_gpr_29 + static_cast<std::uint32_t>(128));
aot_gpr_4 = (17056u << 16u);
ctx.fpr[26] = std::bit_cast<float>(aot_gpr_4);
ctx.gpr[20] = (ctx.gpr[20] + static_cast<std::uint32_t>(32304));
aot_gpr_4 = (16256u << 16u);
ctx.fpr[30] = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (16384u << 16u);
{ const bool branch_taken = ctx.gpr[2] == 0u;
ctx.fpr[28] = std::bit_cast<float>(aot_gpr_4);
if (branch_taken) {
goto L_089A3558;
}
goto L_089A3544;
}
L_089A3544:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(2120)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089A3558;
}
goto L_089A3554;
}
L_089A3554:
ctx.gpr[18] = (0u | 1u);
goto L_089A3558;
L_089A3558:
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(163)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089A35B8;
}
goto L_089A356C;
}
L_089A356C:
if (ctx.gpr[18] == 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
goto L_089A357C;
}
goto L_089A3574;
L_089A3574:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
if (branch_taken) {
goto L_089A3588;
}
goto L_089A357C;
}
L_089A357C:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(2256)));
aot_fpr_13 = aot_fpr_13 + aot_fpr_12;
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_13));
goto L_089A3588;
L_089A3588:
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(2256)));
aot_mem.aot_direct_store8(ctx.gpr[23] + static_cast<std::uint32_t>(163), static_cast<std::uint8_t>(0u));
aot_fpr_12 = aot_fpr_13 + aot_fpr_12;
aot_mem.aot_direct_store8(ctx.gpr[23] + static_cast<std::uint32_t>(161), static_cast<std::uint8_t>(ctx.gpr[19]));
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(292), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(304), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(288), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(300), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(296)));
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-13396), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A35B8;
L_089A35B8:
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast<std::uint32_t>(0))))));
aot_gpr_5 = (0u | 7u);
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_089A35E4;
}
goto L_089A35C8;
}
L_089A35C8:
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast<std::uint32_t>(0))))));
{ const bool branch_taken = aot_gpr_4 == aot_gpr_16;
if (branch_taken) {
goto L_089A35E4;
}
goto L_089A35D4;
}
L_089A35D4:
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast<std::uint32_t>(0))))));
aot_gpr_5 = (0u | 47u);
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_089A3790;
}
goto L_089A35E4;
}
L_089A35E4:
aot_gpr_31 = (0x089A35ECu);
aot_gpr_4 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A35ECu) goto L_089A35EC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A35EC:
aot_gpr_31 = (0x089A35F4u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 679u, 0x0898DDE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A35F4u) goto L_089A35F4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A35F4:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_089A3638;
}
goto L_089A35FC;
}
L_089A35FC:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
aot_gpr_4 = (17279u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_gpr_4 = (17948u << 16u);
aot_gpr_4 = (aot_gpr_4 | 16384u);
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + aot_fpr_14;
aot_fpr_12 = aot_fpr_12 / aot_fpr_14;
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(296)));
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(300), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(296), std::bit_cast<std::uint32_t>(aot_fpr_12));
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-13396), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A36E0;
}
goto L_089A3638;
}
L_089A3638:
aot_gpr_31 = (0x089A3640u);
aot_gpr_4 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3640u) goto L_089A3640;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3640:
aot_gpr_31 = (0x089A3648u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 672u, 0x0898DD9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3648u) goto L_089A3648;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3648:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_089A368C;
}
goto L_089A3650;
}
L_089A3650:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
aot_gpr_4 = (17279u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_gpr_4 = (17948u << 16u);
aot_gpr_4 = (aot_gpr_4 | 16384u);
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + aot_fpr_14;
aot_fpr_12 = aot_fpr_12 / aot_fpr_14;
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(296)));
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(300), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_fpr_12 = ctx.fpr[15] / aot_fpr_12;
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(296), std::bit_cast<std::uint32_t>(aot_fpr_12));
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-13396), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A36E0;
}
goto L_089A368C;
}
L_089A368C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(296)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13396)));
aot_fpr_12 = aot_fpr_13 - aot_fpr_12;
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) & 0x7FFFFFFFu);
aot_gpr_4 = (16128u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A36DC;
}
goto L_089A36B4;
}
L_089A36B4:
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.gpr[7] = (16000u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13396)));
aot_fpr_14 = std::bit_cast<float>(ctx.gpr[7]);
aot_gpr_4 = (ctx.gpr[23] + static_cast<std::uint32_t>(296));
aot_gpr_5 = (ctx.gpr[23] + static_cast<std::uint32_t>(300));
aot_gpr_31 = (0x089A36D4u);
aot_gpr_6 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 367u, 0x08A1A730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A36D4u) goto L_089A36D4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A36D4:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A36E0;
}
goto L_089A36DC;
}
L_089A36DC:
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(300), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
goto L_089A36E0;
L_089A36E0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(296)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A36FC;
}
goto L_089A36F4;
}
L_089A36F4:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(296), std::bit_cast<std::uint32_t>(aot_fpr_20));
if (branch_taken) {
goto L_089A3750;
}
goto L_089A36FC;
}
L_089A36FC:
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast<std::uint32_t>(0))))));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_16;
if (branch_taken) {
goto L_089A3730;
}
goto L_089A3708;
}
L_089A3708:
aot_gpr_4 = (16537u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(296)));
aot_gpr_4 = (aot_gpr_4 | 39322u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A3750;
}
goto L_089A3728;
}
L_089A3728:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(296), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_089A3750;
}
goto L_089A3730;
}
L_089A3730:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(296)));
aot_gpr_4 = (16752u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A3750;
}
goto L_089A374C;
}
L_089A374C:
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(296), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A3750;
L_089A3750:
aot_gpr_31 = (0x089A3758u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3758u) goto L_089A3758;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3758:
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast<std::uint32_t>(1929))))));
aot_gpr_5 = (aot_gpr_4 << 5u);
aot_gpr_4 = (aot_gpr_4 << 2u);
aot_gpr_4 = (aot_gpr_5 - aot_gpr_4);
aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1396));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (0u | 38u);
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_089A3788;
}
goto L_089A3780;
}
L_089A3780:
aot_gpr_4 = (0u | 1u);
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(2900), aot_gpr_4);
goto L_089A3788;
L_089A3788:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A3794;
}
goto L_089A3790;
}
L_089A3790:
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(296), std::bit_cast<std::uint32_t>(aot_fpr_20));
goto L_089A3794;
L_089A3794:
aot_gpr_31 = (0x089A379Cu);
aot_gpr_4 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A379Cu) goto L_089A379C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A379C:
aot_gpr_31 = (0x089A37A4u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 686u, 0x0898DE2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A37A4u) goto L_089A37A4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A37A4:
aot_gpr_4 = (0u - ctx.gpr[2]);
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (0u | 0u);
aot_gpr_31 = (0x089A37B8u);
aot_fpr_20 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_20)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A37B8u) goto L_089A37B8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A37B8:
aot_gpr_31 = (0x089A37C0u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 703u, 0x0898DF58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A37C0u) goto L_089A37C0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A37C0:
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[2]);
{ const bool branch_taken = ctx.gpr[18] == 0u;
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
if (branch_taken) {
goto L_089A382C;
}
goto L_089A37CC;
}
L_089A37CC:
aot_gpr_4 = (15360u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_14) & 0x7FFFFFFFu);
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(296)));
ctx.fpr[16] = ctx.fpr[16] / ctx.fpr[26];
aot_gpr_4 = (15651u << 16u);
aot_gpr_4 = (aot_gpr_4 | 55050u);
ctx.fpr[17] = std::bit_cast<float>(aot_gpr_4);
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
{ 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<float>(0x7FC00000u); else ctx.fpr[17] = fs * ft; }
{ const float fs = aot_fpr_14; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[26] = fs * ft; }
{ const float fs = ctx.fpr[26]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[26] = fs * ft; }
ctx.fpr[18] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13) & 0x7FFFFFFFu);
aot_gpr_4 = (15628u << 16u);
{ const float fs = ctx.fpr[18]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
aot_gpr_4 = (aot_gpr_4 | 28461u);
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = ctx.fpr[16]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
{ const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
{ const bool branch_taken = 0u == 0u;
{ const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
if (branch_taken) {
goto L_089A38CC;
}
goto L_089A382C;
}
L_089A382C:
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[30]));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
if (branch_taken) {
goto L_089A3848;
}
goto L_089A3840;
}
L_089A3840:
aot_gpr_4 = (49024u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
goto L_089A3848;
L_089A3848:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (17096u << 16u);
if (branch_taken) {
goto L_089A3864;
}
goto L_089A3858;
}
L_089A3858:
aot_gpr_4 = (49024u << 16u);
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (17096u << 16u);
goto L_089A3864;
L_089A3864:
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_4);
ctx.fpr[16] = aot_fpr_20 / ctx.fpr[15];
aot_gpr_4 = (17174u << 16u);
ctx.fpr[17] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(296)));
aot_gpr_5 = (15722u << 16u);
aot_gpr_5 = (aot_gpr_5 | 3745u);
aot_gpr_6 = (15762u << 16u);
aot_gpr_6 = (aot_gpr_6 | 18725u);
ctx.fpr[18] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
ctx.fpr[19] = std::bit_cast<float>(aot_gpr_4);
ctx.fpr[0] = aot_fpr_12 / ctx.fpr[19];
{ const float fs = ctx.fpr[16]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[16] = fs * ft; }
ctx.fpr[15] = ctx.fpr[16] / ctx.fpr[15];
ctx.fpr[17] = ctx.fpr[17] / ctx.fpr[26];
{ const float fs = ctx.fpr[0]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[0] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[0] = fs * ft; }
ctx.fpr[19] = ctx.fpr[0] / ctx.fpr[19];
ctx.fpr[2] = std::bit_cast<float>(aot_gpr_5);
{ const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[2]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[2] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[2] = fs * ft; }
ctx.fpr[16] = std::bit_cast<float>(aot_gpr_6);
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[16] = fs * ft; }
{ const float fs = aot_fpr_13; const float ft = ctx.fpr[2]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[26] = fs * ft; }
{ const float fs = aot_fpr_14; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
{ const float fs = ctx.fpr[26]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[26] = fs * ft; }
{ const float fs = aot_fpr_14; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
{ const float fs = aot_fpr_13; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
goto L_089A38CC;
L_089A38CC:
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13392)));
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20) & 0x7FFFFFFFu);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[15] < ctx.fpr[28])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A38FC;
}
goto L_089A38E4;
}
L_089A38E4:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) & 0x7FFFFFFFu);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[28])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A38FC;
}
goto L_089A38F8;
}
L_089A38F8:
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13388)));
goto L_089A38FC;
L_089A38FC:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4);
ctx.set_vfpu_scalar_bits_ct<32u>(aot_gpr_5);
ctx.execute_vfpu_unary_ct<64u, 0u, 1u, 21u>();
ctx.execute_vfpu_vec3_ct<0u, 32u, 64u, 1u, 2u>();
ctx.execute_vfpu_unary_ct<32u, 0u, 1u, 20u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<32u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(304)));
{ const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
ctx.fpr[15] = ctx.fpr[30] - aot_fpr_12;
{ const float fs = ctx.fpr[15]; 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<float>(0x7FC00000u); else ctx.fpr[16] = fs * ft; }
ctx.fpr[17] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13384)));
{ 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[16] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[16] = fs * ft; }
aot_fpr_14 = aot_fpr_14 + ctx.fpr[16];
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(304), std::bit_cast<std::uint32_t>(aot_fpr_14));
ctx.fpr[18] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(292)));
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
{ const float fs = ctx.fpr[15]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
ctx.fpr[19] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13384)));
{ const float fs = aot_fpr_13; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(292), std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(124)));
aot_fpr_14 = ctx.fpr[16] + aot_fpr_14;
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_14));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(120)));
aot_fpr_12 = aot_fpr_14 + aot_fpr_12;
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (16329u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
{ const bool branch_taken = ctx.gpr[18] != 0u;
ctx.fpr[28] = std::bit_cast<float>(aot_gpr_4);
if (branch_taken) {
goto L_089A39B8;
}
goto L_089A3988;
}
L_089A3988:
aot_gpr_31 = (0x089A3990u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(124)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3990u) goto L_089A3990;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3990:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
if (branch_taken) {
goto L_089A39B8;
}
goto L_089A39A0;
}
L_089A39A0:
aot_gpr_4 = (16585u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(124)));
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A39B8;
L_089A39B8:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(120)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(144)));
aot_gpr_4 = (16448u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(700)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_14)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
ctx.fpr[26] = std::bit_cast<float>(aot_gpr_4);
if (branch_taken) {
goto L_089A39E4;
}
goto L_089A39D8;
}
L_089A39D8:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(144)));
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(aot_fpr_13));
if (branch_taken) {
goto L_089A3A0C;
}
goto L_089A39E4;
}
L_089A39E4:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(148)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(120)));
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A3A0C;
}
goto L_089A3A00;
}
L_089A3A00:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(148)));
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13) ^ 0x80000000u);
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(aot_fpr_13));
goto L_089A3A0C;
L_089A3A0C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(460)));
aot_gpr_4 = (aot_gpr_4 & 8192u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089A3A2C;
}
goto L_089A3A20;
}
L_089A3A20:
aot_gpr_4 = (16204u << 16u);
aot_gpr_4 = (aot_gpr_4 | 52429u);
ctx.fpr[24] = std::bit_cast<float>(aot_gpr_4);
goto L_089A3A2C;
L_089A3A2C:
if (ctx.gpr[18] == 0u) {
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089A3EB0;
}
goto L_089A3A34;
L_089A3A34:
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(256), 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(264)));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-2));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(264), aot_gpr_4);
ctx.gpr[19] = (aot_gpr_29 + static_cast<std::uint32_t>(192));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(336), 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(344)));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(344), aot_gpr_4);
ctx.gpr[18] = (aot_gpr_29 + static_cast<std::uint32_t>(272));
aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
aot_gpr_31 = (0x089A3A70u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0074_entry, 74u, 149u, 0x0892CEB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3A70u) goto L_089A3A70;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3A70:
aot_gpr_31 = (0x089A3A78u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3A78u) goto L_089A3A78;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3A78:
aot_gpr_31 = (0x089A3A80u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 66u, 0x08AD065Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3A80u) goto L_089A3A80;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3A80:
aot_gpr_31 = (0x089A3A88u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 73u, 0x08AD06ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3A88u) goto L_089A3A88;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3A88:
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[22])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(352), aot_run_words); }
ctx.gpr[17] = (aot_gpr_29 + static_cast<std::uint32_t>(352));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(816));
aot_gpr_5 = (ctx.gpr[17] | 0u);
aot_gpr_31 = (0x089A3AACu);
aot_gpr_6 = (0u | 2u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0123_entry, 123u, 608u, 0x089F3910u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3AACu) goto L_089A3AAC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3AAC:
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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[30] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_20));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(32));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
ctx.gpr[17] = (aot_gpr_29 + static_cast<std::uint32_t>(160));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (ctx.gpr[30] | 0u);
aot_gpr_31 = (0x089A3AE0u);
aot_gpr_5 = (ctx.gpr[17] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3AE0u) goto L_089A3AE0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3AE0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(ctx.fpr[24]));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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[17] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (ctx.gpr[30] | 0u);
aot_gpr_31 = (0x089A3B08u);
aot_gpr_5 = (ctx.gpr[17] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3B08u) goto L_089A3B08;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3B08:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(1888)));
aot_gpr_4 = (16457u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A3B38;
}
goto L_089A3B28;
}
L_089A3B28:
aot_gpr_31 = (0x089A3B30u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(124)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3B30u) goto L_089A3B30;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3B30:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
if (branch_taken) {
goto L_089A3D04;
}
goto L_089A3B38;
}
L_089A3B38:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(124)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(1888)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A3C1C;
}
goto L_089A3B50;
}
L_089A3B50:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(1888)));
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2120)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_4 = (aot_gpr_4 & 14u);
aot_gpr_4 = (aot_gpr_4 ^ 4u);
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089A3D04;
}
goto L_089A3B78;
}
L_089A3B78:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2120)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089A3D04;
}
goto L_089A3B88;
}
L_089A3B88:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2120)));
aot_gpr_5 = (512u << 16u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(352)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(208)));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089A3D04;
}
goto L_089A3BAC;
}
L_089A3BAC:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2120)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1860)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (15395u << 16u);
if (branch_taken) {
goto L_089A3D04;
}
goto L_089A3BC4;
}
L_089A3BC4:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
aot_gpr_4 = (aot_gpr_4 | 55050u);
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
aot_gpr_4 = (16585u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_12 = aot_fpr_12 + aot_fpr_14;
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
if (branch_taken) {
goto L_089A3BF8;
}
goto L_089A3BF0;
}
L_089A3BF0:
{ const bool branch_taken = 0u == 0u;
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
if (branch_taken) {
goto L_089A3C0C;
}
goto L_089A3BF8;
}
L_089A3BF8:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A3C0C;
}
goto L_089A3C08;
}
L_089A3C08:
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
goto L_089A3C0C;
L_089A3C0C:
aot_gpr_31 = (0x089A3C14u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2120)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 652u, 0x08832D48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3C14u) goto L_089A3C14;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3C14:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A3D04;
}
goto L_089A3C1C;
}
L_089A3C1C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(1888)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(124)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A3D04;
}
goto L_089A3C38;
}
L_089A3C38:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(1888)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2120)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_4 = (aot_gpr_4 & 14u);
aot_gpr_4 = (aot_gpr_4 ^ 4u);
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089A3D04;
}
goto L_089A3C64;
}
L_089A3C64:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2120)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089A3D04;
}
goto L_089A3C74;
}
L_089A3C74:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2120)));
aot_gpr_5 = (512u << 16u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(352)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(208)));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089A3D04;
}
goto L_089A3C98;
}
L_089A3C98:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2120)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1860)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (15395u << 16u);
if (branch_taken) {
goto L_089A3D04;
}
goto L_089A3CB0;
}
L_089A3CB0:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
aot_gpr_4 = (aot_gpr_4 | 55050u);
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
aot_gpr_4 = (16585u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = aot_fpr_12 - aot_fpr_13;
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
if (branch_taken) {
goto L_089A3CE4;
}
goto L_089A3CDC;
}
L_089A3CDC:
{ const bool branch_taken = 0u == 0u;
aot_fpr_13 = aot_fpr_13 + aot_fpr_12;
if (branch_taken) {
goto L_089A3CF8;
}
goto L_089A3CE4;
}
L_089A3CE4:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089A3CF8;
}
goto L_089A3CF4;
}
L_089A3CF4:
aot_fpr_13 = aot_fpr_13 - aot_fpr_12;
goto L_089A3CF8;
L_089A3CF8:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2120)));
aot_gpr_31 = (0x089A3D04u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 652u, 0x08832D48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3D04u) goto L_089A3D04;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3D04:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2120)));
aot_gpr_31 = (0x089A3D10u);
aot_gpr_4 = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3D10u) goto L_089A3D10;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3D10:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(120)));
aot_gpr_31 = (0x089A3D1Cu);
aot_gpr_4 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 917u, 0x0885F9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3D1Cu) goto L_089A3D1C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3D1C:
aot_gpr_16 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(1920)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_16) < 2 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_16) < 3 ? 1u : 0u);
if (branch_taken) {
goto L_089A3D50;
}
goto L_089A3D2C;
}
L_089A3D2C:
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_16) < 0;
if (branch_taken) {
goto L_089A3DB4;
}
goto L_089A3D34;
}
L_089A3D34:
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_16) > 0;
if (branch_taken) {
goto L_089A3D68;
}
goto L_089A3D3C;
}
L_089A3D3C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(124)));
aot_gpr_31 = (0x089A3D48u);
aot_gpr_4 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 926u, 0x0885FD1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3D48u) goto L_089A3D48;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3D48:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A3DB4;
}
goto L_089A3D50;
}
L_089A3D50:
{ const bool branch_taken = aot_gpr_4 != 0u;
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_16) < 4 ? 1u : 0u);
if (branch_taken) {
goto L_089A3D80;
}
goto L_089A3D58;
}
L_089A3D58:
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089A3D98;
}
goto L_089A3D60;
}
L_089A3D60:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A3DB4;
}
goto L_089A3D68;
}
L_089A3D68:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(124)));
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x089A3D78u);
aot_fpr_12 = aot_fpr_12 + ctx.fpr[28];
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 926u, 0x0885FD1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3D78u) goto L_089A3D78;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3D78:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A3DB4;
}
goto L_089A3D80;
}
L_089A3D80:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(124)));
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x089A3D90u);
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 926u, 0x0885FD1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3D90u) goto L_089A3D90;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3D90:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_089A3DB4;
}
goto L_089A3D98;
}
L_089A3D98:
aot_gpr_4 = (49097u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(124)));
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x089A3DB4u);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 926u, 0x0885FD1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3DB4u) goto L_089A3DB4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3DB4:
aot_gpr_4 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x089A3DC0u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 10u, 0x088603A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3DC0u) goto L_089A3DC0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3DC0:
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(208));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(224));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (ctx.gpr[23] + static_cast<std::uint32_t>(96));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (std::bit_cast<std::uint32_t>(ctx.fpr[26]));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
{ const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(176));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8896)));
aot_gpr_5 = (16076u << 16u);
aot_gpr_5 = (aot_gpr_5 | 52429u);
aot_gpr_31 = (0x089A3E20u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_5);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3E20u) goto L_089A3E20;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3E20:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(16)));
aot_gpr_31 = (0x089A3E2Cu);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(20)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3E2Cu) goto L_089A3E2C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3E2C:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (16585u << 16u);
if (branch_taken) {
goto L_089A3E4C;
}
goto L_089A3E40;
}
L_089A3E40:
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
goto L_089A3E4C;
L_089A3E4C:
aot_fpr_12 = aot_fpr_12 - ctx.fpr[28];
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(1984)));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(2256), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(1984)));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(2260), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(344)));
aot_gpr_4 = (aot_gpr_4 & 1u);
if (aot_gpr_4 == 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(264)));
goto L_089A3E88;
}
goto L_089A3E70;
L_089A3E70:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(336)));
if (aot_gpr_4 == 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(264)));
goto L_089A3E88;
}
goto L_089A3E7C;
L_089A3E7C:
aot_gpr_31 = (0x089A3E84u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(336)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3E84u) goto L_089A3E84;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3E84:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(264)));
goto L_089A3E88;
L_089A3E88:
aot_gpr_4 = (aot_gpr_4 & 1u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089A3EA8;
}
goto L_089A3E94;
}
L_089A3E94:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(256)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089A3EA8;
}
goto L_089A3EA0;
}
L_089A3EA0:
aot_gpr_31 = (0x089A3EA8u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(256)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3EA8u) goto L_089A3EA8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3EA8:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
(void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0104_entry, 104u, 3u, 0x089A4054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return;
}
goto L_089A3EB0;
}
L_089A3EB0:
aot_gpr_31 = (0x089A3EB8u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3EB8u) goto L_089A3EB8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3EB8:
aot_gpr_31 = (0x089A3EC0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 66u, 0x08AD065Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3EC0u) goto L_089A3EC0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3EC0:
aot_gpr_31 = (0x089A3EC8u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 73u, 0x08AD06ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3EC8u) goto L_089A3EC8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3EC8:
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[22])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(416), aot_run_words); }
aot_gpr_16 = (aot_gpr_29 + static_cast<std::uint32_t>(416));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(816));
aot_gpr_5 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x089A3EECu);
aot_gpr_6 = (0u | 2u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0123_entry, 123u, 608u, 0x089F3910u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3EECu) goto L_089A3EEC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3EEC:
{ const std::uint32_t vfpu_address = aot_gpr_16 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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[30] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(40)));
aot_fpr_12 = aot_fpr_12 + aot_fpr_20;
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(40), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_31 = (0x089A3F08u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(124)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3F08u) goto L_089A3F08;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3F08:
ctx.fpr[30] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_31 = (0x089A3F14u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(120)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3F14u) goto L_089A3F14;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3F14:
{ const float fs = ctx.fpr[30]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_20 = fs * ft; }
aot_gpr_31 = (0x089A3F20u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(124)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3F20u) goto L_089A3F20;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3F20:
ctx.fpr[30] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_gpr_31 = (0x089A3F2Cu);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(120)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3F2Cu) goto L_089A3F2C;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3F2C:
{ const float fs = ctx.fpr[30]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[30] = fs * ft; }
aot_gpr_31 = (0x089A3F38u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(120)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3F38u) goto L_089A3F38;
AOT_REGCACHE_SYNC_OUT(); return;
L_089A3F38:
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(ctx.fpr[30]), std::bit_cast<std::uint32_t>(ctx.fpr[0])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(400), aot_run_words); }
aot_gpr_4 = (std::bit_cast<std::uint32_t>(ctx.fpr[26]));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(400));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(384));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>();
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(368));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
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>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>();
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[22] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(460)));
aot_gpr_4 = (aot_gpr_4 & 8192u);
if (aot_gpr_4 == 0u) {
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(16)));
(void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0104_entry, 104u, 2u, 0x089A4030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return;
}
goto L_089A3FC8;
L_089A3FC8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(112)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13728)));
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(32)));
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(36)));
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_fpr_12 = aot_fpr_14 - aot_fpr_12;
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
ctx.fpr[17] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-13728)));
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[16] = fs * ft; }
aot_fpr_13 = ctx.fpr[15] - ctx.fpr[16];
ctx.pc = 0x089A4000u; AOT_REGCACHE_SYNC_OUT(); return;
}
#undef AOT_REGCACHE_SYNC_IN
#undef AOT_REGCACHE_SYNC_OUT
void recomp_unit_0103(Runtime &rt, AllegrexContext &ctx) {
auto aot_mem = rt.memory().aot_fast_view();
recomp_unit_0103_entry(rt, ctx, 0u, aot_mem);
}
void register_generated_unit_103(Runtime &runtime) {
runtime.register_generated_unit(103u, 0x089A0000u, 16384u, &recomp_unit_0103, &recomp_unit_0103_entry);
// PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls.
runtime.register_generated_entry_mask(0x089A0004u, &recomp_unit_0103, "recomp_unit_0103",
kEntryMasks_recomp_unit_0103, 64u);
}
} // namespace psprecomp