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

8176 lines
434 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_0185[64] = {
0x1200820480201825ull, 0x1049120082240400ull, 0xA404142210000240ull, 0x0824890041024010ull,
0x25090010A4041120ull, 0x2020004020402805ull, 0x208900429010A551ull, 0x8AD2224002080140ull,
0x2224002030480A01ull, 0x156480818240500Dull, 0x6850A48002000041ull, 0x48020010B282D155ull,
0x0004021024004144ull, 0x0432404028100080ull, 0x9010609014034490ull, 0x014028480890010Cull,
0x4408284822400408ull, 0x2D0A142010000815ull, 0x2240412401000868ull, 0x30480A01A1200844ull,
0x020C120280612008ull, 0x1200830480A01848ull, 0x01848020C1202806ull, 0x028061200830480Aull,
0x4000202240020C12ull, 0x850A900400004020ull, 0x9492001000859416ull, 0x0842240024002022ull,
0x0040000802108421ull, 0x0010401200800009ull, 0x44406A2000000480ull, 0x00401448A2451209ull,
0x9008210000012008ull, 0x2004000004100800ull, 0x85941688555A1429ull, 0x4808211082402000ull,
0x0900041244802112ull, 0x140309004020A420ull, 0x0900100240106090ull, 0x0240008248900408ull,
0x142850A14208848Aull, 0x00442850A142850Aull, 0x0830480A01104802ull, 0x0000004000112020ull,
0x1008008004002001ull, 0x0028922204440880ull, 0x2204400800001220ull, 0x0009100014491102ull,
0x0824004082400400ull, 0x8848008104424004ull, 0x4802088921201020ull, 0x1290010480820004ull,
0x022A8129001022A8ull, 0x4000120080002401ull, 0x0081094800800900ull, 0x0409010002488108ull,
0x0248021240400090ull, 0x80A0124010609014ull, 0x0480080012008304ull, 0x042A404081054000ull,
0x800D000202008900ull, 0x8954110200502008ull, 0x0402A05012A0540Aull, 0x02A4202892280000ull,
};
static constexpr std::uint16_t kEntryBases_recomp_unit_0185[64] = {
1u, 13u, 24u, 35u, 46u, 59u, 68u, 84u, 98u, 110u, 127u, 139u, 157u, 166u, 176u, 191u,
203u, 215u, 229u, 241u, 255u, 267u, 280u, 293u, 306u, 316u, 326u, 342u, 352u, 360u, 367u, 377u,
392u, 400u, 405u, 429u, 439u, 451u, 463u, 473u, 483u, 500u, 516u, 528u, 533u, 539u, 551u, 559u,
570u, 578u, 589u, 601u, 611u, 626u, 633u, 642u, 652u, 662u, 675u, 684u, 695u, 704u, 717u, 732u,
};
void recomp_unit_0185_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,16,29,31,17 fprs=12,20,13,14 gpr_occ=4560 fpr_occ=367 gpr_total=6063 fpr_total=520
std::uint32_t aot_gpr_4 = ctx.gpr[4];
std::uint32_t aot_gpr_5 = ctx.gpr[5];
std::uint32_t aot_gpr_16 = ctx.gpr[16];
std::uint32_t aot_gpr_29 = ctx.gpr[29];
std::uint32_t aot_gpr_31 = ctx.gpr[31];
std::uint32_t aot_gpr_17 = ctx.gpr[17];
float aot_fpr_12 = ctx.fpr[12];
float aot_fpr_20 = ctx.fpr[20];
float aot_fpr_13 = ctx.fpr[13];
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[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[13] = aot_fpr_13; 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_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_13 = ctx.fpr[13]; 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 - 0x08AE8000u;
entry_id = 0u;
if (entry_delta < 16360u && (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_0185[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_0185[entry_group] +
std::popcount(entry_mask & (entry_bit - 1ull)));
}
}
}
switch (entry_id) {
case 1u: goto L_08AE8000;
case 2u: goto L_08AE8008;
case 3u: goto L_08AE8014;
case 4u: goto L_08AE802C;
case 5u: goto L_08AE8030;
case 6u: goto L_08AE8054;
case 7u: goto L_08AE807C;
case 8u: goto L_08AE8088;
case 9u: goto L_08AE80A4;
case 10u: goto L_08AE80BC;
case 11u: goto L_08AE80E4;
case 12u: goto L_08AE80F0;
case 13u: goto L_08AE8128;
case 14u: goto L_08AE8148;
case 15u: goto L_08AE8154;
case 16u: goto L_08AE8164;
case 17u: goto L_08AE817C;
case 18u: goto L_08AE81A4;
case 19u: goto L_08AE81B0;
case 20u: goto L_08AE81C0;
case 21u: goto L_08AE81CC;
case 22u: goto L_08AE81D8;
case 23u: goto L_08AE81F0;
case 24u: goto L_08AE8218;
case 25u: goto L_08AE8224;
case 26u: goto L_08AE8270;
case 27u: goto L_08AE8284;
case 28u: goto L_08AE8294;
case 29u: goto L_08AE82A8;
case 30u: goto L_08AE82B0;
case 31u: goto L_08AE82C8;
case 32u: goto L_08AE82E8;
case 33u: goto L_08AE82F4;
case 34u: goto L_08AE82FC;
case 35u: goto L_08AE8310;
case 36u: goto L_08AE8338;
case 37u: goto L_08AE8344;
case 38u: goto L_08AE8360;
case 39u: goto L_08AE8378;
case 40u: goto L_08AE83A0;
case 41u: goto L_08AE83AC;
case 42u: goto L_08AE83BC;
case 43u: goto L_08AE83C8;
case 44u: goto L_08AE83D4;
case 45u: goto L_08AE83EC;
case 46u: goto L_08AE8414;
case 47u: goto L_08AE8420;
case 48u: goto L_08AE8430;
case 49u: goto L_08AE8448;
case 50u: goto L_08AE8468;
case 51u: goto L_08AE8474;
case 52u: goto L_08AE847C;
case 53u: goto L_08AE8490;
case 54u: goto L_08AE84C0;
case 55u: goto L_08AE84CC;
case 56u: goto L_08AE84E0;
case 57u: goto L_08AE84E8;
case 58u: goto L_08AE84F4;
case 59u: goto L_08AE8500;
case 60u: goto L_08AE8508;
case 61u: goto L_08AE852C;
case 62u: goto L_08AE8534;
case 63u: goto L_08AE8558;
case 64u: goto L_08AE8574;
case 65u: goto L_08AE8598;
case 66u: goto L_08AE85D4;
case 67u: goto L_08AE85F4;
case 68u: goto L_08AE8600;
case 69u: goto L_08AE8610;
case 70u: goto L_08AE8618;
case 71u: goto L_08AE8620;
case 72u: goto L_08AE8628;
case 73u: goto L_08AE8634;
case 74u: goto L_08AE863C;
case 75u: goto L_08AE8650;
case 76u: goto L_08AE8670;
case 77u: goto L_08AE867C;
case 78u: goto L_08AE8684;
case 79u: goto L_08AE8698;
case 80u: goto L_08AE86C0;
case 81u: goto L_08AE86CC;
case 82u: goto L_08AE86DC;
case 83u: goto L_08AE86F4;
case 84u: goto L_08AE8718;
case 85u: goto L_08AE8720;
case 86u: goto L_08AE874C;
case 87u: goto L_08AE8764;
case 88u: goto L_08AE8798;
case 89u: goto L_08AE87A4;
case 90u: goto L_08AE87B4;
case 91u: goto L_08AE87C4;
case 92u: goto L_08AE87D0;
case 93u: goto L_08AE87D8;
case 94u: goto L_08AE87DC;
case 95u: goto L_08AE87E4;
case 96u: goto L_08AE87EC;
case 97u: goto L_08AE87FC;
case 98u: goto L_08AE8800;
case 99u: goto L_08AE8824;
case 100u: goto L_08AE882C;
case 101u: goto L_08AE884C;
case 102u: goto L_08AE8858;
case 103u: goto L_08AE8870;
case 104u: goto L_08AE8874;
case 105u: goto L_08AE8894;
case 106u: goto L_08AE88C8;
case 107u: goto L_08AE88D4;
case 108u: goto L_08AE88E4;
case 109u: goto L_08AE88F4;
case 110u: goto L_08AE8900;
case 111u: goto L_08AE8908;
case 112u: goto L_08AE890C;
case 113u: goto L_08AE8930;
case 114u: goto L_08AE8938;
case 115u: goto L_08AE8958;
case 116u: goto L_08AE8964;
case 117u: goto L_08AE897C;
case 118u: goto L_08AE8980;
case 119u: goto L_08AE899C;
case 120u: goto L_08AE89BC;
case 121u: goto L_08AE89C8;
case 122u: goto L_08AE89D4;
case 123u: goto L_08AE89D8;
case 124u: goto L_08AE89E0;
case 125u: goto L_08AE89E8;
case 126u: goto L_08AE89F0;
case 127u: goto L_08AE8A00;
case 128u: goto L_08AE8A18;
case 129u: goto L_08AE8A64;
case 130u: goto L_08AE8A9C;
case 131u: goto L_08AE8AA8;
case 132u: goto L_08AE8AB4;
case 133u: goto L_08AE8ABC;
case 134u: goto L_08AE8AD0;
case 135u: goto L_08AE8AD8;
case 136u: goto L_08AE8AEC;
case 137u: goto L_08AE8AF4;
case 138u: goto L_08AE8AF8;
case 139u: goto L_08AE8B00;
case 140u: goto L_08AE8B08;
case 141u: goto L_08AE8B10;
case 142u: goto L_08AE8B18;
case 143u: goto L_08AE8B20;
case 144u: goto L_08AE8B30;
case 145u: goto L_08AE8B38;
case 146u: goto L_08AE8B3C;
case 147u: goto L_08AE8B44;
case 148u: goto L_08AE8B5C;
case 149u: goto L_08AE8B64;
case 150u: goto L_08AE8B70;
case 151u: goto L_08AE8B74;
case 152u: goto L_08AE8B7C;
case 153u: goto L_08AE8B90;
case 154u: goto L_08AE8BC4;
case 155u: goto L_08AE8BEC;
case 156u: goto L_08AE8BF8;
case 157u: goto L_08AE8C08;
case 158u: goto L_08AE8C18;
case 159u: goto L_08AE8C20;
case 160u: goto L_08AE8C38;
case 161u: goto L_08AE8C68;
case 162u: goto L_08AE8C74;
case 163u: goto L_08AE8C90;
case 164u: goto L_08AE8CA4;
case 165u: goto L_08AE8CC8;
case 166u: goto L_08AE8D1C;
case 167u: goto L_08AE8D50;
case 168u: goto L_08AE8D6C;
case 169u: goto L_08AE8D74;
case 170u: goto L_08AE8D98;
case 171u: goto L_08AE8DB8;
case 172u: goto L_08AE8DC4;
case 173u: goto L_08AE8DD0;
case 174u: goto L_08AE8DD4;
case 175u: goto L_08AE8DE8;
case 176u: goto L_08AE8E10;
case 177u: goto L_08AE8E1C;
case 178u: goto L_08AE8E28;
case 179u: goto L_08AE8E38;
case 180u: goto L_08AE8E40;
case 181u: goto L_08AE8E44;
case 182u: goto L_08AE8E68;
case 183u: goto L_08AE8E70;
case 184u: goto L_08AE8E90;
case 185u: goto L_08AE8E9C;
case 186u: goto L_08AE8EB4;
case 187u: goto L_08AE8EB8;
case 188u: goto L_08AE8ED0;
case 189u: goto L_08AE8EF0;
case 190u: goto L_08AE8EFC;
case 191u: goto L_08AE8F08;
case 192u: goto L_08AE8F0C;
case 193u: goto L_08AE8F20;
case 194u: goto L_08AE8F50;
case 195u: goto L_08AE8F5C;
case 196u: goto L_08AE8F6C;
case 197u: goto L_08AE8F8C;
case 198u: goto L_08AE8F98;
case 199u: goto L_08AE8FAC;
case 200u: goto L_08AE8FB4;
case 201u: goto L_08AE8FD8;
case 202u: goto L_08AE8FE0;
case 203u: goto L_08AE900C;
case 204u: goto L_08AE9028;
case 205u: goto L_08AE9058;
case 206u: goto L_08AE9064;
case 207u: goto L_08AE9074;
case 208u: goto L_08AE908C;
case 209u: goto L_08AE9098;
case 210u: goto L_08AE90AC;
case 211u: goto L_08AE90B4;
case 212u: goto L_08AE90CC;
case 213u: goto L_08AE90E8;
case 214u: goto L_08AE90F8;
case 215u: goto L_08AE9100;
case 216u: goto L_08AE9108;
case 217u: goto L_08AE9110;
case 218u: goto L_08AE912C;
case 219u: goto L_08AE9170;
case 220u: goto L_08AE9194;
case 221u: goto L_08AE91A8;
case 222u: goto L_08AE91B0;
case 223u: goto L_08AE91C4;
case 224u: goto L_08AE91CC;
case 225u: goto L_08AE91E0;
case 226u: goto L_08AE91E8;
case 227u: goto L_08AE91EC;
case 228u: goto L_08AE91F4;
case 229u: goto L_08AE920C;
case 230u: goto L_08AE9214;
case 231u: goto L_08AE9218;
case 232u: goto L_08AE922C;
case 233u: goto L_08AE9260;
case 234u: goto L_08AE9288;
case 235u: goto L_08AE9294;
case 236u: goto L_08AE92A0;
case 237u: goto L_08AE92B8;
case 238u: goto L_08AE92D8;
case 239u: goto L_08AE92E4;
case 240u: goto L_08AE92F4;
case 241u: goto L_08AE9308;
case 242u: goto L_08AE9318;
case 243u: goto L_08AE932C;
case 244u: goto L_08AE9354;
case 245u: goto L_08AE9360;
case 246u: goto L_08AE9374;
case 247u: goto L_08AE937C;
case 248u: goto L_08AE9380;
case 249u: goto L_08AE93A4;
case 250u: goto L_08AE93AC;
case 251u: goto L_08AE93CC;
case 252u: goto L_08AE93D8;
case 253u: goto L_08AE93F0;
case 254u: goto L_08AE93F4;
case 255u: goto L_08AE940C;
case 256u: goto L_08AE9434;
case 257u: goto L_08AE9440;
case 258u: goto L_08AE9454;
case 259u: goto L_08AE9458;
case 260u: goto L_08AE947C;
case 261u: goto L_08AE9484;
case 262u: goto L_08AE94A4;
case 263u: goto L_08AE94B0;
case 264u: goto L_08AE94C8;
case 265u: goto L_08AE94CC;
case 266u: goto L_08AE94E4;
case 267u: goto L_08AE950C;
case 268u: goto L_08AE9518;
case 269u: goto L_08AE952C;
case 270u: goto L_08AE9530;
case 271u: goto L_08AE9554;
case 272u: goto L_08AE955C;
case 273u: goto L_08AE957C;
case 274u: goto L_08AE9588;
case 275u: goto L_08AE95A0;
case 276u: goto L_08AE95A4;
case 277u: goto L_08AE95BC;
case 278u: goto L_08AE95E4;
case 279u: goto L_08AE95F0;
case 280u: goto L_08AE9604;
case 281u: goto L_08AE9608;
case 282u: goto L_08AE962C;
case 283u: goto L_08AE9634;
case 284u: goto L_08AE9654;
case 285u: goto L_08AE9660;
case 286u: goto L_08AE9678;
case 287u: goto L_08AE967C;
case 288u: goto L_08AE9694;
case 289u: goto L_08AE96BC;
case 290u: goto L_08AE96C8;
case 291u: goto L_08AE96DC;
case 292u: goto L_08AE96E0;
case 293u: goto L_08AE9704;
case 294u: goto L_08AE970C;
case 295u: goto L_08AE972C;
case 296u: goto L_08AE9738;
case 297u: goto L_08AE9750;
case 298u: goto L_08AE9754;
case 299u: goto L_08AE976C;
case 300u: goto L_08AE9794;
case 301u: goto L_08AE97A0;
case 302u: goto L_08AE97B4;
case 303u: goto L_08AE97B8;
case 304u: goto L_08AE97DC;
case 305u: goto L_08AE97E4;
case 306u: goto L_08AE9804;
case 307u: goto L_08AE9810;
case 308u: goto L_08AE9828;
case 309u: goto L_08AE982C;
case 310u: goto L_08AE9844;
case 311u: goto L_08AE9878;
case 312u: goto L_08AE9884;
case 313u: goto L_08AE9894;
case 314u: goto L_08AE98B4;
case 315u: goto L_08AE98F8;
case 316u: goto L_08AE9914;
case 317u: goto L_08AE9938;
case 318u: goto L_08AE9988;
case 319u: goto L_08AE99B0;
case 320u: goto L_08AE99BC;
case 321u: goto L_08AE99C4;
case 322u: goto L_08AE99CC;
case 323u: goto L_08AE99E0;
case 324u: goto L_08AE99E8;
case 325u: goto L_08AE99FC;
case 326u: goto L_08AE9A04;
case 327u: goto L_08AE9A08;
case 328u: goto L_08AE9A10;
case 329u: goto L_08AE9A28;
case 330u: goto L_08AE9A30;
case 331u: goto L_08AE9A3C;
case 332u: goto L_08AE9A40;
case 333u: goto L_08AE9A48;
case 334u: goto L_08AE9A5C;
case 335u: goto L_08AE9A90;
case 336u: goto L_08AE9AC4;
case 337u: goto L_08AE9AD0;
case 338u: goto L_08AE9ADC;
case 339u: goto L_08AE9AE8;
case 340u: goto L_08AE9AF0;
case 341u: goto L_08AE9AFC;
case 342u: goto L_08AE9B04;
case 343u: goto L_08AE9B14;
case 344u: goto L_08AE9B34;
case 345u: goto L_08AE9B68;
case 346u: goto L_08AE9B74;
case 347u: goto L_08AE9BA8;
case 348u: goto L_08AE9BB4;
case 349u: goto L_08AE9BC4;
case 350u: goto L_08AE9BD8;
case 351u: goto L_08AE9BEC;
case 352u: goto L_08AE9C00;
case 353u: goto L_08AE9C14;
case 354u: goto L_08AE9C28;
case 355u: goto L_08AE9C3C;
case 356u: goto L_08AE9C50;
case 357u: goto L_08AE9C64;
case 358u: goto L_08AE9C8C;
case 359u: goto L_08AE9CD8;
case 360u: goto L_08AE9D00;
case 361u: goto L_08AE9D0C;
case 362u: goto L_08AE9D5C;
case 363u: goto L_08AE9D84;
case 364u: goto L_08AE9D90;
case 365u: goto L_08AE9DB8;
case 366u: goto L_08AE9DD0;
case 367u: goto L_08AE9E1C;
case 368u: goto L_08AE9E28;
case 369u: goto L_08AE9E94;
case 370u: goto L_08AE9EA4;
case 371u: goto L_08AE9EAC;
case 372u: goto L_08AE9EB4;
case 373u: goto L_08AE9EB8;
case 374u: goto L_08AE9ED8;
case 375u: goto L_08AE9EE8;
case 376u: goto L_08AE9EF8;
case 377u: goto L_08AE9F00;
case 378u: goto L_08AE9F0C;
case 379u: goto L_08AE9F24;
case 380u: goto L_08AE9F30;
case 381u: goto L_08AE9F40;
case 382u: goto L_08AE9F48;
case 383u: goto L_08AE9F58;
case 384u: goto L_08AE9F64;
case 385u: goto L_08AE9F74;
case 386u: goto L_08AE9F7C;
case 387u: goto L_08AE9F8C;
case 388u: goto L_08AE9F98;
case 389u: goto L_08AE9FA8;
case 390u: goto L_08AE9FB0;
case 391u: goto L_08AE9FD8;
case 392u: goto L_08AEA00C;
case 393u: goto L_08AEA034;
case 394u: goto L_08AEA040;
case 395u: goto L_08AEA0A0;
case 396u: goto L_08AEA0B4;
case 397u: goto L_08AEA0CC;
case 398u: goto L_08AEA0F0;
case 399u: goto L_08AEA0FC;
case 400u: goto L_08AEA12C;
case 401u: goto L_08AEA150;
case 402u: goto L_08AEA168;
case 403u: goto L_08AEA1C8;
case 404u: goto L_08AEA1F4;
case 405u: goto L_08AEA200;
case 406u: goto L_08AEA20C;
case 407u: goto L_08AEA214;
case 408u: goto L_08AEA228;
case 409u: goto L_08AEA230;
case 410u: goto L_08AEA244;
case 411u: goto L_08AEA24C;
case 412u: goto L_08AEA250;
case 413u: goto L_08AEA258;
case 414u: goto L_08AEA260;
case 415u: goto L_08AEA268;
case 416u: goto L_08AEA270;
case 417u: goto L_08AEA278;
case 418u: goto L_08AEA28C;
case 419u: goto L_08AEA29C;
case 420u: goto L_08AEA2A4;
case 421u: goto L_08AEA2A8;
case 422u: goto L_08AEA2B0;
case 423u: goto L_08AEA2C8;
case 424u: goto L_08AEA2D0;
case 425u: goto L_08AEA2DC;
case 426u: goto L_08AEA2E0;
case 427u: goto L_08AEA2E8;
case 428u: goto L_08AEA2FC;
case 429u: goto L_08AEA334;
case 430u: goto L_08AEA358;
case 431u: goto L_08AEA364;
case 432u: goto L_08AEA37C;
case 433u: goto L_08AEA390;
case 434u: goto L_08AEA3A0;
case 435u: goto L_08AEA3B4;
case 436u: goto L_08AEA3CC;
case 437u: goto L_08AEA3EC;
case 438u: goto L_08AEA3F8;
case 439u: goto L_08AEA404;
case 440u: goto L_08AEA410;
case 441u: goto L_08AEA420;
case 442u: goto L_08AEA434;
case 443u: goto L_08AEA45C;
case 444u: goto L_08AEA468;
case 445u: goto L_08AEA478;
case 446u: goto L_08AEA484;
case 447u: goto L_08AEA490;
case 448u: goto L_08AEA4A8;
case 449u: goto L_08AEA4E0;
case 450u: goto L_08AEA4EC;
case 451u: goto L_08AEA514;
case 452u: goto L_08AEA528;
case 453u: goto L_08AEA534;
case 454u: goto L_08AEA53C;
case 455u: goto L_08AEA554;
case 456u: goto L_08AEA578;
case 457u: goto L_08AEA5A0;
case 458u: goto L_08AEA5AC;
case 459u: goto L_08AEA5C0;
case 460u: goto L_08AEA5C4;
case 461u: goto L_08AEA5E8;
case 462u: goto L_08AEA5F0;
case 463u: goto L_08AEA610;
case 464u: goto L_08AEA61C;
case 465u: goto L_08AEA634;
case 466u: goto L_08AEA638;
case 467u: goto L_08AEA650;
case 468u: goto L_08AEA678;
case 469u: goto L_08AEA684;
case 470u: goto L_08AEA6B0;
case 471u: goto L_08AEA6E0;
case 472u: goto L_08AEA6EC;
case 473u: goto L_08AEA70C;
case 474u: goto L_08AEA728;
case 475u: goto L_08AEA750;
case 476u: goto L_08AEA75C;
case 477u: goto L_08AEA76C;
case 478u: goto L_08AEA778;
case 479u: goto L_08AEA784;
case 480u: goto L_08AEA79C;
case 481u: goto L_08AEA7D8;
case 482u: goto L_08AEA7E4;
case 483u: goto L_08AEA804;
case 484u: goto L_08AEA80C;
case 485u: goto L_08AEA81C;
case 486u: goto L_08AEA828;
case 487u: goto L_08AEA83C;
case 488u: goto L_08AEA84C;
case 489u: goto L_08AEA864;
case 490u: goto L_08AEA878;
case 491u: goto L_08AEA880;
case 492u: goto L_08AEA894;
case 493u: goto L_08AEA89C;
case 494u: goto L_08AEA8B0;
case 495u: goto L_08AEA8B8;
case 496u: goto L_08AEA8CC;
case 497u: goto L_08AEA8D4;
case 498u: goto L_08AEA8E8;
case 499u: goto L_08AEA8F0;
case 500u: goto L_08AEA904;
case 501u: goto L_08AEA90C;
case 502u: goto L_08AEA920;
case 503u: goto L_08AEA928;
case 504u: goto L_08AEA93C;
case 505u: goto L_08AEA944;
case 506u: goto L_08AEA958;
case 507u: goto L_08AEA960;
case 508u: goto L_08AEA974;
case 509u: goto L_08AEA97C;
case 510u: goto L_08AEA990;
case 511u: goto L_08AEA998;
case 512u: goto L_08AEA9AC;
case 513u: goto L_08AEA9B4;
case 514u: goto L_08AEA9C8;
case 515u: goto L_08AEA9D8;
case 516u: goto L_08AEAA04;
case 517u: goto L_08AEAA2C;
case 518u: goto L_08AEAA38;
case 519u: goto L_08AEAA50;
case 520u: goto L_08AEAA60;
case 521u: goto L_08AEAA84;
case 522u: goto L_08AEAA8C;
case 523u: goto L_08AEAAAC;
case 524u: goto L_08AEAAB8;
case 525u: goto L_08AEAAD0;
case 526u: goto L_08AEAAD4;
case 527u: goto L_08AEAAEC;
case 528u: goto L_08AEAB14;
case 529u: goto L_08AEAB34;
case 530u: goto L_08AEAB40;
case 531u: goto L_08AEAB50;
case 532u: goto L_08AEAB98;
case 533u: goto L_08AEAC00;
case 534u: goto L_08AEAC34;
case 535u: goto L_08AEAC68;
case 536u: goto L_08AEAC9C;
case 537u: goto L_08AEACCC;
case 538u: goto L_08AEACF0;
case 539u: goto L_08AEAD1C;
case 540u: goto L_08AEAD2C;
case 541u: goto L_08AEAD48;
case 542u: goto L_08AEAD58;
case 543u: goto L_08AEAD68;
case 544u: goto L_08AEAD84;
case 545u: goto L_08AEAD94;
case 546u: goto L_08AEADA4;
case 547u: goto L_08AEADB0;
case 548u: goto L_08AEADBC;
case 549u: goto L_08AEADCC;
case 550u: goto L_08AEADD4;
case 551u: goto L_08AEAE14;
case 552u: goto L_08AEAE24;
case 553u: goto L_08AEAE30;
case 554u: goto L_08AEAE8C;
case 555u: goto L_08AEAEB8;
case 556u: goto L_08AEAEC8;
case 557u: goto L_08AEAEE4;
case 558u: goto L_08AEAEF4;
case 559u: goto L_08AEAF04;
case 560u: goto L_08AEAF20;
case 561u: goto L_08AEAF30;
case 562u: goto L_08AEAF40;
case 563u: goto L_08AEAF4C;
case 564u: goto L_08AEAF58;
case 565u: goto L_08AEAF68;
case 566u: goto L_08AEAF70;
case 567u: goto L_08AEAFB0;
case 568u: goto L_08AEAFC0;
case 569u: goto L_08AEAFCC;
case 570u: goto L_08AEB028;
case 571u: goto L_08AEB058;
case 572u: goto L_08AEB064;
case 573u: goto L_08AEB07C;
case 574u: goto L_08AEB098;
case 575u: goto L_08AEB0C8;
case 576u: goto L_08AEB0D4;
case 577u: goto L_08AEB0EC;
case 578u: goto L_08AEB108;
case 579u: goto L_08AEB138;
case 580u: goto L_08AEB144;
case 581u: goto L_08AEB158;
case 582u: goto L_08AEB168;
case 583u: goto L_08AEB180;
case 584u: goto L_08AEB19C;
case 585u: goto L_08AEB1CC;
case 586u: goto L_08AEB1D8;
case 587u: goto L_08AEB1EC;
case 588u: goto L_08AEB1FC;
case 589u: goto L_08AEB214;
case 590u: goto L_08AEB230;
case 591u: goto L_08AEB254;
case 592u: goto L_08AEB260;
case 593u: goto L_08AEB274;
case 594u: goto L_08AEB280;
case 595u: goto L_08AEB28C;
case 596u: goto L_08AEB29C;
case 597u: goto L_08AEB2AC;
case 598u: goto L_08AEB2C4;
case 599u: goto L_08AEB2EC;
case 600u: goto L_08AEB2F8;
case 601u: goto L_08AEB308;
case 602u: goto L_08AEB344;
case 603u: goto L_08AEB35C;
case 604u: goto L_08AEB37C;
case 605u: goto L_08AEB388;
case 606u: goto L_08AEB3A0;
case 607u: goto L_08AEB3D0;
case 608u: goto L_08AEB3DC;
case 609u: goto L_08AEB3E4;
case 610u: goto L_08AEB3F0;
case 611u: goto L_08AEB40C;
case 612u: goto L_08AEB414;
case 613u: goto L_08AEB41C;
case 614u: goto L_08AEB424;
case 615u: goto L_08AEB434;
case 616u: goto L_08AEB450;
case 617u: goto L_08AEB480;
case 618u: goto L_08AEB48C;
case 619u: goto L_08AEB494;
case 620u: goto L_08AEB4A0;
case 621u: goto L_08AEB4BC;
case 622u: goto L_08AEB4C4;
case 623u: goto L_08AEB4CC;
case 624u: goto L_08AEB4D4;
case 625u: goto L_08AEB4E4;
case 626u: goto L_08AEB500;
case 627u: goto L_08AEB528;
case 628u: goto L_08AEB534;
case 629u: goto L_08AEB57C;
case 630u: goto L_08AEB5A4;
case 631u: goto L_08AEB5B0;
case 632u: goto L_08AEB5F8;
case 633u: goto L_08AEB620;
case 634u: goto L_08AEB62C;
case 635u: goto L_08AEB65C;
case 636u: goto L_08AEB68C;
case 637u: goto L_08AEB698;
case 638u: goto L_08AEB6A0;
case 639u: goto L_08AEB6AC;
case 640u: goto L_08AEB6C0;
case 641u: goto L_08AEB6DC;
case 642u: goto L_08AEB70C;
case 643u: goto L_08AEB720;
case 644u: goto L_08AEB73C;
case 645u: goto L_08AEB74C;
case 646u: goto L_08AEB758;
case 647u: goto L_08AEB764;
case 648u: goto L_08AEB7A0;
case 649u: goto L_08AEB7C0;
case 650u: goto L_08AEB7CC;
case 651u: goto L_08AEB7E8;
case 652u: goto L_08AEB810;
case 653u: goto L_08AEB81C;
case 654u: goto L_08AEB858;
case 655u: goto L_08AEB878;
case 656u: goto L_08AEB884;
case 657u: goto L_08AEB890;
case 658u: goto L_08AEB8A4;
case 659u: goto L_08AEB8CC;
case 660u: goto L_08AEB8D8;
case 661u: goto L_08AEB8E4;
case 662u: goto L_08AEB908;
case 663u: goto L_08AEB910;
case 664u: goto L_08AEB930;
case 665u: goto L_08AEB93C;
case 666u: goto L_08AEB954;
case 667u: goto L_08AEB958;
case 668u: goto L_08AEB970;
case 669u: goto L_08AEB998;
case 670u: goto L_08AEB9A4;
case 671u: goto L_08AEB9B0;
case 672u: goto L_08AEB9D4;
case 673u: goto L_08AEB9DC;
case 674u: goto L_08AEB9FC;
case 675u: goto L_08AEBA08;
case 676u: goto L_08AEBA20;
case 677u: goto L_08AEBA24;
case 678u: goto L_08AEBA3C;
case 679u: goto L_08AEBA64;
case 680u: goto L_08AEBA70;
case 681u: goto L_08AEBAAC;
case 682u: goto L_08AEBADC;
case 683u: goto L_08AEBAE8;
case 684u: goto L_08AEBB38;
case 685u: goto L_08AEBB40;
case 686u: goto L_08AEBB48;
case 687u: goto L_08AEBB60;
case 688u: goto L_08AEBB7C;
case 689u: goto L_08AEBB98;
case 690u: goto L_08AEBBB8;
case 691u: goto L_08AEBBC4;
case 692u: goto L_08AEBBCC;
case 693u: goto L_08AEBBD4;
case 694u: goto L_08AEBBE8;
case 695u: goto L_08AEBC20;
case 696u: goto L_08AEBC2C;
case 697u: goto L_08AEBC3C;
case 698u: goto L_08AEBC64;
case 699u: goto L_08AEBC84;
case 700u: goto L_08AEBCC0;
case 701u: goto L_08AEBCC8;
case 702u: goto L_08AEBCCC;
case 703u: goto L_08AEBCFC;
case 704u: goto L_08AEBD0C;
case 705u: goto L_08AEBD34;
case 706u: goto L_08AEBD50;
case 707u: goto L_08AEBD58;
case 708u: goto L_08AEBD84;
case 709u: goto L_08AEBDA0;
case 710u: goto L_08AEBDB0;
case 711u: goto L_08AEBDC8;
case 712u: goto L_08AEBDD0;
case 713u: goto L_08AEBDD8;
case 714u: goto L_08AEBDE0;
case 715u: goto L_08AEBDEC;
case 716u: goto L_08AEBDFC;
case 717u: goto L_08AEBE04;
case 718u: goto L_08AEBE0C;
case 719u: goto L_08AEBE28;
case 720u: goto L_08AEBE30;
case 721u: goto L_08AEBE38;
case 722u: goto L_08AEBE54;
case 723u: goto L_08AEBE5C;
case 724u: goto L_08AEBE64;
case 725u: goto L_08AEBE70;
case 726u: goto L_08AEBE90;
case 727u: goto L_08AEBE98;
case 728u: goto L_08AEBEB4;
case 729u: goto L_08AEBEBC;
case 730u: goto L_08AEBEC4;
case 731u: goto L_08AEBEE8;
case 732u: goto L_08AEBF4C;
case 733u: goto L_08AEBF54;
case 734u: goto L_08AEBF64;
case 735u: goto L_08AEBF70;
case 736u: goto L_08AEBF7C;
case 737u: goto L_08AEBF8C;
case 738u: goto L_08AEBF94;
case 739u: goto L_08AEBFB4;
case 740u: goto L_08AEBFC8;
case 741u: goto L_08AEBFD4;
case 742u: goto L_08AEBFDC;
case 743u: goto L_08AEBFE4;
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_08AE8000:
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08AE8014;
}
goto L_08AE8008;
}
L_08AE8008:
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE8030;
}
goto L_08AE8014;
}
L_08AE8014:
aot_gpr_4 = (ctx.gpr[19] | aot_gpr_4);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE8030;
}
goto L_08AE802C;
}
L_08AE802C:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08AE8030;
L_08AE8030:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[6]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
ctx.gpr[20] = aot_run_words[4];
aot_gpr_31 = aot_run_words[5];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8054:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 5u);
aot_gpr_31 = (0x08AE807Cu);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE807Cu) goto L_08AE807C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE807C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE8088u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8088u) goto L_08AE8088;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8088:
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast<std::uint32_t>(4), aot_run_words);
aot_fpr_12 = std::bit_cast<float>(aot_run_words[0]);
aot_fpr_13 = std::bit_cast<float>(aot_run_words[1]);
aot_fpr_14 = std::bit_cast<float>(aot_run_words[2]);
aot_gpr_5 = aot_run_words[3];
}
aot_gpr_5 = (aot_gpr_5 & 255u);
aot_gpr_31 = (0x08AE80A4u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 645u, 0x08832C74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE80A4u) goto L_08AE80A4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE80A4:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE80BC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-48));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(36), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE80E4u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE80E4u) goto L_08AE80E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE80E4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE80F0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE80F0u) goto L_08AE80F0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE80F0:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (17008u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 / aot_fpr_13;
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>(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 = 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); }
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AE8128u);
aot_gpr_5 = (aot_gpr_29 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8128u) goto L_08AE8128;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8128:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + 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_5 = (512u << 16u);
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_08AE8164;
}
goto L_08AE8148;
}
L_08AE8148:
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;
if (branch_taken) {
goto L_08AE8164;
}
goto L_08AE8154;
}
L_08AE8154:
aot_gpr_4 = (15969u << 16u);
aot_gpr_4 = (aot_gpr_4 | 18350u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(1640), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_08AE8164;
L_08AE8164:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(36), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE817C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE81A4u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE81A4u) goto L_08AE81A4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE81A4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE81B0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE81B0u) goto L_08AE81B0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE81B0:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(616))))));
if (branch_taken) {
goto L_08AE81CC;
}
goto L_08AE81C0;
}
L_08AE81C0:
aot_gpr_4 = (aot_gpr_4 | 128u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(616), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE81D8;
}
goto L_08AE81CC;
}
L_08AE81CC:
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-129));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(616), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08AE81D8;
L_08AE81D8:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE81F0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE8218u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8218u) goto L_08AE8218;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8218:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE8224u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8224u) goto L_08AE8224;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8224:
aot_gpr_4 = (ctx.gpr[2] | 0u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (17076u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_5);
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
aot_gpr_5 = (16457u << 16u);
aot_gpr_5 = (aot_gpr_5 | 4059u);
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_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
aot_gpr_5 = (17204u << 16u);
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_5);
aot_fpr_14 = aot_fpr_14 / ctx.fpr[15];
aot_fpr_13 = std::bit_cast<float>(0u);
aot_gpr_5 = (16585u << 16u);
aot_gpr_5 = (aot_gpr_5 | 4059u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_5);
if (branch_taken) {
goto L_08AE8284;
}
goto L_08AE8270;
}
L_08AE8270:
aot_fpr_14 = aot_fpr_14 + aot_fpr_12;
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_08AE8270;
}
goto L_08AE8284;
}
L_08AE8284:
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_08AE82A8;
}
goto L_08AE8294;
}
L_08AE8294:
aot_fpr_14 = aot_fpr_14 - aot_fpr_12;
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_08AE8294;
}
goto L_08AE82A8;
}
L_08AE82A8:
aot_gpr_31 = (0x08AE82B0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_14));
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 == 0x08AE82B0u) goto L_08AE82B0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE82B0:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE82C8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE82E8u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE82E8u) goto L_08AE82E8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE82E8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE82F4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE82F4u) goto L_08AE82F4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE82F4:
aot_gpr_31 = (0x08AE82FCu);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 653u, 0x08832D50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE82FCu) goto L_08AE82FC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE82FC:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8310:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 5u);
aot_gpr_31 = (0x08AE8338u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8338u) goto L_08AE8338;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8338:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE8344u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8344u) goto L_08AE8344;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8344:
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast<std::uint32_t>(4), aot_run_words);
aot_fpr_12 = std::bit_cast<float>(aot_run_words[0]);
aot_fpr_13 = std::bit_cast<float>(aot_run_words[1]);
aot_fpr_14 = std::bit_cast<float>(aot_run_words[2]);
aot_gpr_5 = aot_run_words[3];
}
aot_gpr_5 = (aot_gpr_5 & 255u);
aot_gpr_31 = (0x08AE8360u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 654u, 0x08832D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8360u) goto L_08AE8360;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8360:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8378:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE83A0u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE83A0u) goto L_08AE83A0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE83A0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE83ACu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE83ACu) goto L_08AE83AC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE83AC:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(617))))));
if (branch_taken) {
goto L_08AE83C8;
}
goto L_08AE83BC;
}
L_08AE83BC:
aot_gpr_4 = (aot_gpr_4 | 1u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(617), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE83D4;
}
goto L_08AE83C8;
}
L_08AE83C8:
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-2));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(617), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08AE83D4;
L_08AE83D4:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE83EC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE8414u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8414u) goto L_08AE8414;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8414:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE8420u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8420u) goto L_08AE8420;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8420:
aot_gpr_4 = (ctx.gpr[2] + static_cast<std::uint32_t>(384));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_31 = (0x08AE8430u);
aot_gpr_5 = (aot_gpr_5 & 255u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 180u, 0x089DD23Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8430u) goto L_08AE8430;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8430:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8448:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE8468u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8468u) goto L_08AE8468;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8468:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE8474u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8474u) goto L_08AE8474;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8474:
aot_gpr_31 = (0x08AE847Cu);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 660u, 0x08832E04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE847Cu) goto L_08AE847C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE847C:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8490:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (0u | 2u);
ctx.gpr[18] = (2236u << 16u);
aot_gpr_16 = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE84C0u);
ctx.gpr[7] = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE84C0u) goto L_08AE84C0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE84C0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE84CCu);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE84CCu) goto L_08AE84CC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE84CC:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(852)));
ctx.gpr[7] = (0u | 6u);
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[7];
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
if (branch_taken) {
goto L_08AE8534;
}
goto L_08AE84E0;
}
L_08AE84E0:
{ const bool branch_taken = aot_gpr_4 != aot_gpr_17;
if (branch_taken) {
goto L_08AE84F4;
}
goto L_08AE84E8;
}
L_08AE84E8:
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(4), 0u);
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08AE8508;
}
goto L_08AE84F4;
}
L_08AE84F4:
ctx.gpr[6] = (0u | 3u);
{ const bool branch_taken = aot_gpr_4 != ctx.gpr[6];
if (branch_taken) {
goto L_08AE8508;
}
goto L_08AE8500;
}
L_08AE8500:
aot_gpr_4 = (0u | 1u);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(4), aot_gpr_4);
goto L_08AE8508;
L_08AE8508:
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(92)));
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(344));
ctx.gpr[7] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast<std::uint32_t>(0))))));
ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[7]);
aot_gpr_5 = (aot_gpr_4 & 255u);
ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (ctx.gpr[7] | 0u);
jump_target = ctx.gpr[8];
aot_gpr_31 = (0x08AE852Cu);
ctx.gpr[6] = (0u | 1u);
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 == 0x08AE852Cu) goto L_08AE852C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE852C:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AE8558;
}
goto L_08AE8534;
}
L_08AE8534:
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(92)));
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(344));
ctx.gpr[7] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast<std::uint32_t>(0))))));
ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[7]);
aot_gpr_5 = (aot_gpr_4 & 255u);
ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (ctx.gpr[7] | 0u);
jump_target = ctx.gpr[8];
aot_gpr_31 = (0x08AE8558u);
ctx.gpr[6] = (0u | 1u);
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 == 0x08AE8558u) goto L_08AE8558;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8558:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8574:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
ctx.gpr[6] = (2236u << 16u);
aot_gpr_16 = (ctx.gpr[6] + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 3u);
aot_gpr_31 = (0x08AE8598u);
ctx.gpr[7] = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8598u) goto L_08AE8598;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8598:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (aot_gpr_4 << 24u);
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 24u));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(8)));
aot_gpr_5 = (aot_gpr_5 << 24u);
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 24u));
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-3208)));
aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast<std::uint32_t>(6), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-3208)));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(7), static_cast<std::uint8_t>(aot_gpr_5));
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE85D4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE85F4u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE85F4u) goto L_08AE85F4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE85F4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE8600u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8600u) goto L_08AE8600;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8600:
aot_gpr_16 = (ctx.gpr[2] | 0u);
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;
if (branch_taken) {
goto L_08AE8628;
}
goto L_08AE8610;
}
L_08AE8610:
aot_gpr_31 = (0x08AE8618u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 711u, 0x088331D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8618u) goto L_08AE8618;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8618:
aot_gpr_31 = (0x08AE8620u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 681u, 0x08832FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8620u) goto L_08AE8620;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8620:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AE863C;
}
goto L_08AE8628;
}
L_08AE8628:
aot_gpr_5 = (0u | 4u);
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08AE863C;
}
goto L_08AE8634;
}
L_08AE8634:
aot_gpr_31 = (0x08AE863Cu);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0123_entry, 123u, 265u, 0x089F1478u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE863Cu) goto L_08AE863C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE863C:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8650:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE8670u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8670u) goto L_08AE8670;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8670:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE867Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE867Cu) goto L_08AE867C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE867C:
aot_gpr_31 = (0x08AE8684u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 676u, 0x08832F40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8684u) goto L_08AE8684;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8684:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8698:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE86C0u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE86C0u) goto L_08AE86C0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE86C0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE86CCu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE86CCu) goto L_08AE86CC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE86CC:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = aot_gpr_5 == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(236)));
if (branch_taken) {
goto L_08AE86F4;
}
goto L_08AE86DC;
}
L_08AE86DC:
aot_gpr_5 = (16384u << 16u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(236), aot_gpr_4);
aot_gpr_4 = (aot_gpr_4 | 4u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(236), aot_gpr_4);
if (branch_taken) {
goto L_08AE874C;
}
goto L_08AE86F4;
}
L_08AE86F4:
aot_gpr_5 = (49152u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(236), aot_gpr_4);
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-5));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(236), aot_gpr_4);
aot_gpr_31 = (0x08AE8718u);
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(48));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 321u, 0x08809958u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8718u) goto L_08AE8718;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8718:
{ const bool branch_taken = ctx.gpr[2] != 0u;
if (branch_taken) {
goto L_08AE874C;
}
goto L_08AE8720;
}
L_08AE8720:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
aot_gpr_5 = (65520u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(76), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(92)));
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(168));
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_5 + static_cast<std::uint32_t>(0))))));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_5;
aot_gpr_31 = (0x08AE874Cu);
aot_gpr_4 = (aot_gpr_16 + aot_gpr_4);
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 == 0x08AE874Cu) goto L_08AE874C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE874C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8764:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE8798u);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8798u) goto L_08AE8798;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8798:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE87A4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE87A4u) goto L_08AE87A4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE87A4:
ctx.gpr[19] = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08AE87B4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE87B4u) goto L_08AE87B4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE87B4:
ctx.gpr[18] = (ctx.gpr[2] | 0u);
aot_gpr_17 = (0u | 0u);
{ const bool branch_taken = ctx.gpr[19] == 0u;
if (branch_taken) {
goto L_08AE8800;
}
goto L_08AE87C4;
}
L_08AE87C4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(688)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE8800;
}
goto L_08AE87D0;
}
L_08AE87D0:
{ const bool branch_taken = aot_gpr_4 != ctx.gpr[18];
if (branch_taken) {
goto L_08AE87DC;
}
goto L_08AE87D8;
}
L_08AE87D8:
aot_gpr_17 = (0u | 1u);
goto L_08AE87DC;
L_08AE87DC:
aot_gpr_31 = (0x08AE87E4u);
aot_gpr_4 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE87E4u) goto L_08AE87E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE87E4:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08AE8800;
}
goto L_08AE87EC;
}
L_08AE87EC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(688)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(1152)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08AE8800;
}
goto L_08AE87FC;
}
L_08AE87FC:
aot_gpr_17 = (0u | 1u);
goto L_08AE8800;
L_08AE8800:
aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_4 != 0u;
aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u);
if (branch_taken) {
goto L_08AE882C;
}
goto L_08AE8824;
}
L_08AE8824:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_17));
if (branch_taken) {
goto L_08AE8874;
}
goto L_08AE882C;
}
L_08AE882C:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_5) < 9 ? 1u : 0u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_5));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08AE8858;
}
goto L_08AE884C;
}
L_08AE884C:
aot_gpr_4 = (aot_gpr_17 & aot_gpr_4);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE8874;
}
goto L_08AE8858;
}
L_08AE8858:
aot_gpr_4 = (aot_gpr_17 | aot_gpr_4);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE8874;
}
goto L_08AE8870;
}
L_08AE8870:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08AE8874;
L_08AE8874:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8894:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_4 = (aot_gpr_16 | 0u);
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE88C8u);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE88C8u) goto L_08AE88C8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE88C8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE88D4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE88D4u) goto L_08AE88D4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE88D4:
aot_gpr_17 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE88E4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE88E4u) goto L_08AE88E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE88E4:
aot_gpr_5 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (0u | 0u);
{ const bool branch_taken = aot_gpr_17 == 0u;
if (branch_taken) {
goto L_08AE890C;
}
goto L_08AE88F4;
}
L_08AE88F4:
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(688)));
{ const bool branch_taken = aot_gpr_17 == 0u;
if (branch_taken) {
goto L_08AE890C;
}
goto L_08AE8900;
}
L_08AE8900:
{ const bool branch_taken = aot_gpr_17 != aot_gpr_5;
if (branch_taken) {
goto L_08AE890C;
}
goto L_08AE8908;
}
L_08AE8908:
aot_gpr_4 = (0u | 1u);
goto L_08AE890C;
L_08AE890C:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08AE8938;
}
goto L_08AE8930;
}
L_08AE8930:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE8980;
}
goto L_08AE8938;
}
L_08AE8938:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08AE8964;
}
goto L_08AE8958;
}
L_08AE8958:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE8980;
}
goto L_08AE8964;
}
L_08AE8964:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE8980;
}
goto L_08AE897C;
}
L_08AE897C:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08AE8980;
L_08AE8980:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE899C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_17 = (2236u << 16u);
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_31 = (0x08AE89BCu);
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(7768));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 625u, 0x08A06778u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE89BCu) goto L_08AE89BC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE89BC:
aot_gpr_4 = (ctx.gpr[2] | 0u);
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_4) < 0;
aot_gpr_5 = (0u | 111u);
if (branch_taken) {
goto L_08AE89D8;
}
goto L_08AE89C8;
}
L_08AE89C8:
aot_gpr_5 = (static_cast<std::int32_t>(aot_gpr_4) < 9 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_5 != 0u;
if (branch_taken) {
goto L_08AE89E0;
}
goto L_08AE89D4;
}
L_08AE89D4:
aot_gpr_5 = (0u | 111u);
goto L_08AE89D8;
L_08AE89D8:
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08AE89E8;
}
goto L_08AE89E0;
}
L_08AE89E0:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(29704), aot_gpr_4);
if (branch_taken) {
goto L_08AE89F0;
}
goto L_08AE89E8;
}
L_08AE89E8:
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(29704), aot_gpr_4);
goto L_08AE89F0;
L_08AE89F0:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AE8A00u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8A00u) goto L_08AE8A00;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8A00:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8A18:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-48));
{ const std::uint32_t aot_run_words[10]{aot_gpr_16, aot_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>(8), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
ctx.gpr[23] = (2236u << 16u);
ctx.gpr[18] = (ctx.gpr[23] + static_cast<std::uint32_t>(29704));
ctx.gpr[23] = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_5 = (ctx.gpr[23] | 0u);
ctx.gpr[6] = (0u | 5u);
aot_gpr_31 = (0x08AE8A64u);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8A64u) goto L_08AE8A64;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8A64:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
ctx.gpr[22] = (0u + static_cast<std::uint32_t>(-1));
ctx.gpr[21] = (0u | 1u);
ctx.gpr[30] = (0u | 2u);
ctx.gpr[20] = (aot_gpr_17 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_17 << 5u);
ctx.gpr[19] = (0u + aot_gpr_4);
aot_gpr_4 = (aot_gpr_4 << 6u);
ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), ctx.gpr[23]);
ctx.gpr[23] = (2236u << 16u);
aot_gpr_4 = (aot_gpr_17 | 0u);
goto L_08AE8A9C;
L_08AE8A9C:
aot_gpr_17 = (ctx.gpr[20] | 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(-2080));
if (branch_taken) {
goto L_08AE8B7C;
}
goto L_08AE8AA8;
}
L_08AE8AA8:
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-1));
{ const bool branch_taken = ctx.gpr[22] != aot_gpr_4;
if (branch_taken) {
goto L_08AE8B7C;
}
goto L_08AE8AB4;
}
L_08AE8AB4:
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_17) < 0;
ctx.gpr[20] = (aot_gpr_17 + static_cast<std::uint32_t>(-1));
if (branch_taken) {
goto L_08AE8AD0;
}
goto L_08AE8ABC;
}
L_08AE8ABC:
aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_17) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
if (aot_gpr_4 != 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
goto L_08AE8AD8;
}
goto L_08AE8AD0;
L_08AE8AD0:
{ const bool branch_taken = 0u == 0u;
aot_gpr_16 = (0u | 0u);
if (branch_taken) {
goto L_08AE8AF8;
}
goto L_08AE8AD8;
}
L_08AE8AD8:
aot_gpr_4 = (aot_gpr_4 + aot_gpr_17);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 & 128u);
if (aot_gpr_4 == 0u) {
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(0)));
goto L_08AE8AF4;
}
goto L_08AE8AEC;
L_08AE8AEC:
{ const bool branch_taken = 0u == 0u;
aot_gpr_16 = (0u | 0u);
if (branch_taken) {
goto L_08AE8AF8;
}
goto L_08AE8AF4;
}
L_08AE8AF4:
aot_gpr_16 = (aot_gpr_16 + ctx.gpr[19]);
goto L_08AE8AF8;
L_08AE8AF8:
{ const bool branch_taken = aot_gpr_16 == 0u;
if (branch_taken) {
goto L_08AE8B74;
}
goto L_08AE8B00;
}
L_08AE8B00:
aot_gpr_31 = (0x08AE8B08u);
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, ctx.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 == 0x08AE8B08u) goto L_08AE8B08;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8B08:
{ const bool branch_taken = ctx.gpr[2] == ctx.gpr[21];
if (branch_taken) {
goto L_08AE8B20;
}
goto L_08AE8B10;
}
L_08AE8B10:
aot_gpr_31 = (0x08AE8B18u);
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, ctx.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 == 0x08AE8B18u) goto L_08AE8B18;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8B18:
{ const bool branch_taken = ctx.gpr[2] != ctx.gpr[30];
if (branch_taken) {
goto L_08AE8B74;
}
goto L_08AE8B20;
}
L_08AE8B20:
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_16 + static_cast<std::uint32_t>(86))))));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(16)));
if (aot_gpr_5 == aot_gpr_4) {
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(612)));
goto L_08AE8B3C;
}
goto L_08AE8B30;
L_08AE8B30:
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_4) >= 0;
if (branch_taken) {
goto L_08AE8B74;
}
goto L_08AE8B38;
}
L_08AE8B38:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(612)));
goto L_08AE8B3C;
L_08AE8B3C:
{ const bool branch_taken = aot_gpr_4 != ctx.gpr[21];
if (branch_taken) {
goto L_08AE8B74;
}
goto L_08AE8B44;
}
L_08AE8B44:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(29704)));
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(ctx.gpr[18] + static_cast<std::uint32_t>(4), aot_run_words);
aot_fpr_13 = std::bit_cast<float>(aot_run_words[0]);
aot_fpr_14 = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[15] = std::bit_cast<float>(aot_run_words[2]);
}
aot_gpr_31 = (0x08AE8B5Cu);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 788u, 0x08AAF8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8B5Cu) goto L_08AE8B5C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8B5C:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08AE8B74;
}
goto L_08AE8B64;
}
L_08AE8B64:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE8B70u);
aot_gpr_5 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 139u, 0x08B6CC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8B70u) goto L_08AE8B70;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8B70:
ctx.gpr[22] = (ctx.gpr[2] | 0u);
goto L_08AE8B74;
L_08AE8B74:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (aot_gpr_17 | 0u);
if (branch_taken) {
goto L_08AE8A9C;
}
goto L_08AE8B7C;
}
L_08AE8B7C:
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(29704), ctx.gpr[22]);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
aot_gpr_31 = (0x08AE8B90u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8B90u) goto L_08AE8B90;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8B90:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[10]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(8), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
ctx.gpr[20] = aot_run_words[4];
ctx.gpr[21] = aot_run_words[5];
ctx.gpr[22] = aot_run_words[6];
ctx.gpr[23] = aot_run_words[7];
ctx.gpr[30] = aot_run_words[8];
aot_gpr_31 = aot_run_words[9];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8BC4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE8BECu);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8BECu) goto L_08AE8BEC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8BEC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE8BF8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8BF8u) goto L_08AE8BF8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8BF8:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(617))))));
if (branch_taken) {
goto L_08AE8C18;
}
goto L_08AE8C08;
}
L_08AE8C08:
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-9));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(617), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE8C20;
}
goto L_08AE8C18;
}
L_08AE8C18:
aot_gpr_4 = (aot_gpr_4 | 8u);
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(617), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08AE8C20;
L_08AE8C20:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8C38:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-176));
{ const std::uint32_t aot_run_words[6]{std::bit_cast<std::uint32_t>(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(148), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE8C68u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8C68u) goto L_08AE8C68;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8C68:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE8C74u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8C74u) goto L_08AE8C74;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8C74:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(656)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(150));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7660)));
aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE8D74;
}
goto L_08AE8C90;
}
L_08AE8C90:
aot_gpr_17 = (aot_gpr_29 + static_cast<std::uint32_t>(56));
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_5 = (0u | 37u);
aot_gpr_31 = (0x08AE8CA4u);
ctx.gpr[6] = (0u | 5000u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 117u, 0x08A40A8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8CA4u) goto L_08AE8CA4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8CA4:
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(7616));
{ 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[18] = (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 = 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); }
ctx.gpr[19] = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_4 = (ctx.gpr[19] | 0u);
aot_gpr_5 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AE8CC8u);
ctx.gpr[6] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0183_entry, 183u, 1010u, 0x08AE3E58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8CC8u) goto L_08AE8CC8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8CC8:
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_12));
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 + 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_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 = 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>();
{ 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_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_5 = (aot_gpr_16 | 0u);
ctx.gpr[6] = (ctx.gpr[18] | 0u);
ctx.gpr[7] = (0u | 0u);
ctx.gpr[8] = (0u | 0u);
aot_gpr_31 = (0x08AE8D1Cu);
ctx.gpr[9] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 46u, 0x08A4842Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8D1Cu) goto L_08AE8D1C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8D1C:
aot_fpr_20 = std::bit_cast<float>(0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(48), std::bit_cast<std::uint32_t>(aot_fpr_20));
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>(52), std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.gpr[6] = (aot_gpr_29 + static_cast<std::uint32_t>(48));
aot_gpr_4 = (15564u << 16u);
aot_gpr_4 = (aot_gpr_4 | 52429u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AE8D50u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 255u, 0x08A41568u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8D50u) goto L_08AE8D50;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8D50:
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(7768));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
ctx.gpr[6] = (16256u << 16u);
aot_fpr_13 = std::bit_cast<float>(ctx.gpr[6]);
ctx.gpr[6] = (0u | 55u);
aot_gpr_31 = (0x08AE8D6Cu);
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_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8D6Cu) goto L_08AE8D6C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8D6C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7660)));
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(656), aot_gpr_4);
goto L_08AE8D74;
L_08AE8D74:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[6]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(148), aot_run_words);
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
aot_gpr_16 = aot_run_words[1];
aot_gpr_17 = aot_run_words[2];
ctx.gpr[18] = aot_run_words[3];
ctx.gpr[19] = aot_run_words[4];
aot_gpr_31 = aot_run_words[5];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(176));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8D98:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE8DB8u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8DB8u) goto L_08AE8DB8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8DB8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE8DC4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8DC4u) goto L_08AE8DC4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8DC4:
aot_gpr_4 = (ctx.gpr[2] | 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE8DD4;
}
goto L_08AE8DD0;
}
L_08AE8DD0:
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(688), 0u);
goto L_08AE8DD4;
L_08AE8DD4:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8DE8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE8E10u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8E10u) goto L_08AE8E10;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8E10:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE8E1Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8E1Cu) goto L_08AE8E1C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8E1C:
aot_gpr_4 = (0u | 0u);
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08AE8E44;
}
goto L_08AE8E28;
}
L_08AE8E28:
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
aot_gpr_17 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_17) >> 8u));
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_17) <= 0;
aot_gpr_5 = (static_cast<std::int32_t>(aot_gpr_17) < 40 ? 1u : 0u);
if (branch_taken) {
goto L_08AE8E44;
}
goto L_08AE8E38;
}
L_08AE8E38:
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08AE8E44;
}
goto L_08AE8E40;
}
L_08AE8E40:
aot_gpr_4 = (0u | 1u);
goto L_08AE8E44;
L_08AE8E44:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08AE8E70;
}
goto L_08AE8E68;
}
L_08AE8E68:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE8EB8;
}
goto L_08AE8E70;
}
L_08AE8E70:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08AE8E9C;
}
goto L_08AE8E90;
}
L_08AE8E90:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE8EB8;
}
goto L_08AE8E9C;
}
L_08AE8E9C:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE8EB8;
}
goto L_08AE8EB4;
}
L_08AE8EB4:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08AE8EB8;
L_08AE8EB8:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8ED0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE8EF0u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8EF0u) goto L_08AE8EF0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8EF0:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE8F08;
}
goto L_08AE8EFC;
}
L_08AE8EFC:
aot_gpr_4 = (0u | 1u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(1781), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE8F0C;
}
goto L_08AE8F08;
}
L_08AE8F08:
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(1781), static_cast<std::uint8_t>(0u));
goto L_08AE8F0C;
L_08AE8F0C:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE8F20:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE8F50u);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8F50u) goto L_08AE8F50;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8F50:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE8F5Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8F5Cu) goto L_08AE8F5C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8F5C:
aot_gpr_17 = (ctx.gpr[2] | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = aot_gpr_5 == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(236)));
if (branch_taken) {
goto L_08AE8FB4;
}
goto L_08AE8F6C;
}
L_08AE8F6C:
aot_gpr_5 = (16384u << 16u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(236), aot_gpr_4);
aot_gpr_4 = (aot_gpr_4 | 4u);
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(236), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(522)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE900C;
}
goto L_08AE8F8C;
}
L_08AE8F8C:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AE8F98u);
aot_gpr_5 = (0u | 2u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8F98u) goto L_08AE8F98;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8F98:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(76)));
aot_gpr_4 = (aot_gpr_4 | 2048u);
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(76), aot_gpr_4);
aot_gpr_31 = (0x08AE8FACu);
aot_gpr_4 = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8FACu) goto L_08AE8FAC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8FAC:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AE900C;
}
goto L_08AE8FB4;
}
L_08AE8FB4:
aot_gpr_5 = (49152u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(236), aot_gpr_4);
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-5));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(236), aot_gpr_4);
aot_gpr_31 = (0x08AE8FD8u);
aot_gpr_4 = (aot_gpr_17 + static_cast<std::uint32_t>(48));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 321u, 0x08809958u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8FD8u) goto L_08AE8FD8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE8FD8:
{ const bool branch_taken = ctx.gpr[2] != 0u;
if (branch_taken) {
goto L_08AE900C;
}
goto L_08AE8FE0;
}
L_08AE8FE0:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(76)));
aot_gpr_5 = (65520u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(76), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(92)));
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(168));
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_5 + static_cast<std::uint32_t>(0))))));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_5;
aot_gpr_31 = (0x08AE900Cu);
aot_gpr_4 = (aot_gpr_17 + aot_gpr_4);
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 == 0x08AE900Cu) goto L_08AE900C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE900C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE9028:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_17 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_17 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE9058u);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9058u) goto L_08AE9058;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9058:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE9064u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9064u) goto L_08AE9064;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9064:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = aot_gpr_5 == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(236)));
if (branch_taken) {
goto L_08AE90B4;
}
goto L_08AE9074;
}
L_08AE9074:
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-8193));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(236), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast<std::uint32_t>(522)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE9110;
}
goto L_08AE908C;
}
L_08AE908C:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AE9098u);
aot_gpr_5 = (0u | 2u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9098u) goto L_08AE9098;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9098:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
aot_gpr_4 = (aot_gpr_4 | 2048u);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(76), aot_gpr_4);
aot_gpr_31 = (0x08AE90ACu);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE90ACu) goto L_08AE90AC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE90AC:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AE9110;
}
goto L_08AE90B4;
}
L_08AE90B4:
aot_gpr_4 = (aot_gpr_4 | 8192u);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(236), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
aot_gpr_5 = (aot_gpr_4 & 2048u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08AE9110;
}
goto L_08AE90CC;
}
L_08AE90CC:
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-2049));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(76), aot_gpr_4);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_5 & 2048u);
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08AE90F8;
}
goto L_08AE90E8;
}
L_08AE90E8:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
aot_gpr_5 = (aot_gpr_5 & 2048u);
{ const bool branch_taken = aot_gpr_5 == 0u;
aot_gpr_4 = (aot_gpr_4 & 255u);
if (branch_taken) {
goto L_08AE9100;
}
goto L_08AE90F8;
}
L_08AE90F8:
aot_gpr_4 = (0u | 1u);
aot_gpr_4 = (aot_gpr_4 & 255u);
goto L_08AE9100;
L_08AE9100:
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08AE9110;
}
goto L_08AE9108;
}
L_08AE9108:
aot_gpr_31 = (0x08AE9110u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 463u, 0x08A66048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9110u) goto L_08AE9110;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9110:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE912C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-48));
{ const std::uint32_t aot_run_words[10]{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]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08AE9170u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9170u) goto L_08AE9170;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9170:
ctx.fpr[26] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast<std::uint32_t>(4), aot_run_words);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
aot_fpr_20 = std::bit_cast<float>(aot_run_words[2]);
}
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
ctx.gpr[18] = (aot_gpr_4 + static_cast<std::uint32_t>(-1));
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[19] = (ctx.gpr[18] | 0u);
if (branch_taken) {
goto L_08AE922C;
}
goto L_08AE9194;
}
L_08AE9194:
aot_gpr_16 = (0u | 1u);
aot_gpr_4 = (ctx.gpr[18] << 5u);
aot_gpr_17 = (0u + aot_gpr_4);
aot_gpr_4 = (aot_gpr_4 << 6u);
aot_gpr_17 = (aot_gpr_17 + aot_gpr_4);
goto L_08AE91A8;
L_08AE91A8:
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[18]) < 0;
if (branch_taken) {
goto L_08AE91C4;
}
goto L_08AE91B0;
}
L_08AE91B0:
ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[18]) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
if (aot_gpr_4 != 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(4)));
goto L_08AE91CC;
}
goto L_08AE91C4;
L_08AE91C4:
{ const bool branch_taken = 0u == 0u;
ctx.gpr[20] = (0u | 0u);
if (branch_taken) {
goto L_08AE91EC;
}
goto L_08AE91CC;
}
L_08AE91CC:
aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 & 128u);
if (aot_gpr_4 == 0u) {
ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(0)));
goto L_08AE91E8;
}
goto L_08AE91E0;
L_08AE91E0:
{ const bool branch_taken = 0u == 0u;
ctx.gpr[20] = (0u | 0u);
if (branch_taken) {
goto L_08AE91EC;
}
goto L_08AE91E8;
}
L_08AE91E8:
ctx.gpr[20] = (ctx.gpr[20] + aot_gpr_17);
goto L_08AE91EC;
L_08AE91EC:
{ const bool branch_taken = ctx.gpr[20] == 0u;
if (branch_taken) {
goto L_08AE9218;
}
goto L_08AE91F4;
}
L_08AE91F4:
aot_gpr_4 = (ctx.gpr[20] | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[26]));
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_gpr_31 = (0x08AE920Cu);
ctx.fpr[15] = 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_0170_entry, 170u, 788u, 0x08AAF8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE920Cu) goto L_08AE920C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE920C:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08AE9218;
}
goto L_08AE9214;
}
L_08AE9214:
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(680), aot_gpr_16);
goto L_08AE9218;
L_08AE9218:
aot_gpr_4 = (ctx.gpr[18] | 0u);
ctx.gpr[18] = (ctx.gpr[19] + static_cast<std::uint32_t>(-1));
ctx.gpr[19] = (ctx.gpr[18] | 0u);
{ const bool branch_taken = aot_gpr_4 != 0u;
aot_gpr_17 = (aot_gpr_17 + static_cast<std::uint32_t>(-2080));
if (branch_taken) {
goto L_08AE91A8;
}
goto L_08AE922C;
}
L_08AE922C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[10]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), 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]);
aot_gpr_16 = aot_run_words[4];
aot_gpr_17 = aot_run_words[5];
ctx.gpr[18] = aot_run_words[6];
ctx.gpr[19] = aot_run_words[7];
ctx.gpr[20] = aot_run_words[8];
aot_gpr_31 = aot_run_words[9];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE9260:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE9288u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9288u) goto L_08AE9288;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9288:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE9294u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9294u) goto L_08AE9294;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9294:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(80)));
aot_gpr_31 = (0x08AE92A0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 190u, 0x08945304u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE92A0u) goto L_08AE92A0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE92A0:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE92B8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE92D8u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE92D8u) goto L_08AE92D8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE92D8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE92E4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE92E4u) goto L_08AE92E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE92E4:
aot_gpr_4 = (ctx.gpr[2] | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_5 != 0u;
if (branch_taken) {
goto L_08AE9318;
}
goto L_08AE92F4;
}
L_08AE92F4:
aot_gpr_5 = (aot_gpr_4 | 0u);
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(1653))))));
ctx.gpr[6] = (aot_gpr_4 & 7u);
{ const bool branch_taken = ctx.gpr[6] == 0u;
if (branch_taken) {
goto L_08AE9318;
}
goto L_08AE9308;
}
L_08AE9308:
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-8));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(1653), static_cast<std::uint8_t>(aot_gpr_4));
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(1656), 0u);
goto L_08AE9318;
L_08AE9318:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE932C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE9354u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9354u) goto L_08AE9354;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9354:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE9360u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9360u) goto L_08AE9360;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9360:
aot_gpr_4 = (0u | 0u);
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast<std::uint32_t>(86))))));
ctx.gpr[6] = (aot_gpr_5 < static_cast<std::uint32_t>(170) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[6] != 0u;
aot_gpr_5 = (aot_gpr_5 < static_cast<std::uint32_t>(-947) ? 1u : 0u);
if (branch_taken) {
goto L_08AE9380;
}
goto L_08AE9374;
}
L_08AE9374:
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08AE9380;
}
goto L_08AE937C;
}
L_08AE937C:
aot_gpr_4 = (0u | 1u);
goto L_08AE9380;
L_08AE9380:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08AE93AC;
}
goto L_08AE93A4;
}
L_08AE93A4:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE93F4;
}
goto L_08AE93AC;
}
L_08AE93AC:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08AE93D8;
}
goto L_08AE93CC;
}
L_08AE93CC:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE93F4;
}
goto L_08AE93D8;
}
L_08AE93D8:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE93F4;
}
goto L_08AE93F0;
}
L_08AE93F0:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08AE93F4;
L_08AE93F4:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE940C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE9434u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9434u) goto L_08AE9434;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9434:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE9440u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9440u) goto L_08AE9440;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9440:
aot_gpr_4 = (0u | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(852)));
ctx.gpr[6] = (0u | 6u);
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[6];
if (branch_taken) {
goto L_08AE9458;
}
goto L_08AE9454;
}
L_08AE9454:
aot_gpr_4 = (0u | 1u);
goto L_08AE9458;
L_08AE9458:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08AE9484;
}
goto L_08AE947C;
}
L_08AE947C:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE94CC;
}
goto L_08AE9484;
}
L_08AE9484:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08AE94B0;
}
goto L_08AE94A4;
}
L_08AE94A4:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE94CC;
}
goto L_08AE94B0;
}
L_08AE94B0:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE94CC;
}
goto L_08AE94C8;
}
L_08AE94C8:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08AE94CC;
L_08AE94CC:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE94E4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE950Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE950Cu) goto L_08AE950C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE950C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE9518u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9518u) goto L_08AE9518;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9518:
aot_gpr_4 = (0u | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(852)));
ctx.gpr[6] = (0u | 5u);
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[6];
if (branch_taken) {
goto L_08AE9530;
}
goto L_08AE952C;
}
L_08AE952C:
aot_gpr_4 = (0u | 1u);
goto L_08AE9530;
L_08AE9530:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08AE955C;
}
goto L_08AE9554;
}
L_08AE9554:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE95A4;
}
goto L_08AE955C;
}
L_08AE955C:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08AE9588;
}
goto L_08AE957C;
}
L_08AE957C:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE95A4;
}
goto L_08AE9588;
}
L_08AE9588:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE95A4;
}
goto L_08AE95A0;
}
L_08AE95A0:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08AE95A4;
L_08AE95A4:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE95BC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE95E4u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE95E4u) goto L_08AE95E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE95E4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE95F0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE95F0u) goto L_08AE95F0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE95F0:
aot_gpr_4 = (0u | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(852)));
ctx.gpr[6] = (0u | 4u);
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[6];
if (branch_taken) {
goto L_08AE9608;
}
goto L_08AE9604;
}
L_08AE9604:
aot_gpr_4 = (0u | 1u);
goto L_08AE9608;
L_08AE9608:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08AE9634;
}
goto L_08AE962C;
}
L_08AE962C:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE967C;
}
goto L_08AE9634;
}
L_08AE9634:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08AE9660;
}
goto L_08AE9654;
}
L_08AE9654:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE967C;
}
goto L_08AE9660;
}
L_08AE9660:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE967C;
}
goto L_08AE9678;
}
L_08AE9678:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08AE967C;
L_08AE967C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE9694:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE96BCu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE96BCu) goto L_08AE96BC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE96BC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE96C8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE96C8u) goto L_08AE96C8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE96C8:
aot_gpr_4 = (0u | 0u);
aot_gpr_5 = (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>(1060))))));
aot_gpr_5 = (aot_gpr_5 & 1u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08AE96E0;
}
goto L_08AE96DC;
}
L_08AE96DC:
aot_gpr_4 = (0u | 1u);
goto L_08AE96E0;
L_08AE96E0:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08AE970C;
}
goto L_08AE9704;
}
L_08AE9704:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE9754;
}
goto L_08AE970C;
}
L_08AE970C:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08AE9738;
}
goto L_08AE972C;
}
L_08AE972C:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE9754;
}
goto L_08AE9738;
}
L_08AE9738:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE9754;
}
goto L_08AE9750;
}
L_08AE9750:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08AE9754;
L_08AE9754:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE976C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AE9794u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9794u) goto L_08AE9794;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9794:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE97A0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE97A0u) goto L_08AE97A0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE97A0:
aot_gpr_4 = (0u | 0u);
aot_gpr_5 = (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>(615))))));
aot_gpr_5 = (aot_gpr_5 & 16u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08AE97B8;
}
goto L_08AE97B4;
}
L_08AE97B4:
aot_gpr_4 = (0u | 1u);
goto L_08AE97B8;
L_08AE97B8:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08AE97E4;
}
goto L_08AE97DC;
}
L_08AE97DC:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE982C;
}
goto L_08AE97E4;
}
L_08AE97E4:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08AE9810;
}
goto L_08AE9804;
}
L_08AE9804:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AE982C;
}
goto L_08AE9810;
}
L_08AE9810:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AE982C;
}
goto L_08AE9828;
}
L_08AE9828:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08AE982C;
L_08AE982C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE9844:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ 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]), aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE9878u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9878u) goto L_08AE9878;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9878:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE9884u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9884u) goto L_08AE9884;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9884:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08AE9894u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9894u) goto L_08AE9894;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9894:
aot_gpr_17 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (48972u << 16u);
aot_gpr_4 = (aot_gpr_4 | 52429u);
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (49049u << 16u);
aot_gpr_4 = (aot_gpr_4 | 39322u);
aot_gpr_31 = (0x08AE98B4u);
ctx.fpr[22] = std::bit_cast<float>(aot_gpr_4);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE98B4u) goto L_08AE98B4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE98B4:
aot_fpr_12 = ctx.fpr[22] - aot_fpr_20;
{ 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)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_fpr_14 = aot_fpr_20 + aot_fpr_12;
ctx.fpr[24] = std::bit_cast<float>(0u);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(208)));
{ 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_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(48)));
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(48)));
ctx.fpr[15] = ctx.fpr[15] - ctx.fpr[16];
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(52)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(52)));
ctx.fpr[16] = ctx.fpr[16] - aot_fpr_12;
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_gpr_31 = (0x08AE98F8u);
ctx.fpr[17] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE98F8u) goto L_08AE98F8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE98F8:
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(7768));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
ctx.gpr[6] = (16256u << 16u);
aot_fpr_13 = std::bit_cast<float>(ctx.gpr[6]);
ctx.gpr[6] = (0u | 23u);
aot_gpr_31 = (0x08AE9914u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9914u) goto L_08AE9914;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9914:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[6]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), 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]);
aot_gpr_16 = aot_run_words[3];
aot_gpr_17 = aot_run_words[4];
aot_gpr_31 = aot_run_words[5];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE9938:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-48));
{ const std::uint32_t aot_run_words[10]{aot_gpr_16, aot_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>(4), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
ctx.gpr[22] = (2236u << 16u);
ctx.gpr[30] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_5);
ctx.gpr[18] = (ctx.gpr[22] + static_cast<std::uint32_t>(29704));
aot_gpr_4 = (ctx.gpr[30] | 0u);
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08AE9988u);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9988u) goto L_08AE9988;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9988:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
ctx.gpr[21] = (0u + static_cast<std::uint32_t>(-1));
ctx.gpr[23] = (0u + static_cast<std::uint32_t>(-1));
ctx.gpr[20] = (aot_gpr_17 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_17 << 5u);
ctx.gpr[19] = (0u + aot_gpr_4);
aot_gpr_4 = (aot_gpr_4 << 6u);
ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_4);
aot_gpr_4 = (aot_gpr_17 | 0u);
goto L_08AE99B0;
L_08AE99B0:
aot_gpr_17 = (ctx.gpr[20] | 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(-2080));
if (branch_taken) {
goto L_08AE9A48;
}
goto L_08AE99BC;
}
L_08AE99BC:
{ const bool branch_taken = ctx.gpr[21] != ctx.gpr[23];
if (branch_taken) {
goto L_08AE9A48;
}
goto L_08AE99C4;
}
L_08AE99C4:
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_17) < 0;
ctx.gpr[20] = (aot_gpr_17 + static_cast<std::uint32_t>(-1));
if (branch_taken) {
goto L_08AE99E0;
}
goto L_08AE99CC;
}
L_08AE99CC:
aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_17) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
if (aot_gpr_4 != 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
goto L_08AE99E8;
}
goto L_08AE99E0;
L_08AE99E0:
{ const bool branch_taken = 0u == 0u;
aot_gpr_16 = (0u | 0u);
if (branch_taken) {
goto L_08AE9A08;
}
goto L_08AE99E8;
}
L_08AE99E8:
aot_gpr_4 = (aot_gpr_4 + aot_gpr_17);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 & 128u);
if (aot_gpr_4 == 0u) {
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(0)));
goto L_08AE9A04;
}
goto L_08AE99FC;
L_08AE99FC:
{ const bool branch_taken = 0u == 0u;
aot_gpr_16 = (0u | 0u);
if (branch_taken) {
goto L_08AE9A08;
}
goto L_08AE9A04;
}
L_08AE9A04:
aot_gpr_16 = (aot_gpr_16 + ctx.gpr[19]);
goto L_08AE9A08;
L_08AE9A08:
{ const bool branch_taken = aot_gpr_16 == 0u;
if (branch_taken) {
goto L_08AE9A40;
}
goto L_08AE9A10;
}
L_08AE9A10:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(29704)));
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(ctx.gpr[18] + static_cast<std::uint32_t>(4), aot_run_words);
aot_fpr_13 = std::bit_cast<float>(aot_run_words[0]);
aot_fpr_14 = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[15] = std::bit_cast<float>(aot_run_words[2]);
}
aot_gpr_31 = (0x08AE9A28u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 788u, 0x08AAF8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9A28u) goto L_08AE9A28;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9A28:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08AE9A40;
}
goto L_08AE9A30;
}
L_08AE9A30:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE9A3Cu);
aot_gpr_5 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 139u, 0x08B6CC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9A3Cu) goto L_08AE9A3C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9A3C:
ctx.gpr[21] = (ctx.gpr[2] | 0u);
goto L_08AE9A40;
L_08AE9A40:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (aot_gpr_17 | 0u);
if (branch_taken) {
goto L_08AE99B0;
}
goto L_08AE9A48;
}
L_08AE9A48:
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(29704), ctx.gpr[21]);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (ctx.gpr[30] | 0u);
aot_gpr_31 = (0x08AE9A5Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9A5Cu) goto L_08AE9A5C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9A5C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[10]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
ctx.gpr[20] = aot_run_words[4];
ctx.gpr[21] = aot_run_words[5];
ctx.gpr[22] = aot_run_words[6];
ctx.gpr[23] = aot_run_words[7];
ctx.gpr[30] = aot_run_words[8];
aot_gpr_31 = aot_run_words[9];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE9A90:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
ctx.gpr[19] = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[7] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x08AE9AC4u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9AC4u) goto L_08AE9AC4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9AC4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE9AD0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9AD0u) goto L_08AE9AD0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9AD0:
aot_gpr_17 = (ctx.gpr[2] | 0u);
{ const bool branch_taken = aot_gpr_17 == 0u;
if (branch_taken) {
goto L_08AE9B04;
}
goto L_08AE9ADC;
}
L_08AE9ADC:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(688)));
{ const bool branch_taken = aot_gpr_4 == 0u;
aot_gpr_5 = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_08AE9AFC;
}
goto L_08AE9AE8;
}
L_08AE9AE8:
aot_gpr_31 = (0x08AE9AF0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 139u, 0x08B6CC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9AF0u) goto L_08AE9AF0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9AF0:
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), ctx.gpr[2]);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(688), 0u);
if (branch_taken) {
goto L_08AE9B04;
}
goto L_08AE9AFC;
}
L_08AE9AFC:
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_4);
goto L_08AE9B04;
L_08AE9B04:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x08AE9B14u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9B14u) goto L_08AE9B14;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9B14:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE9B34:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{std::bit_cast<std::uint32_t>(aot_fpr_20), aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_fpr_20 = std::bit_cast<float>(0u);
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AE9B68u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9B68u) goto L_08AE9B68;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9B68:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE9B74u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9B74u) goto L_08AE9B74;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9B74:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-497));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_gpr_4 = (aot_gpr_4 | 80u);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(72), aot_gpr_4);
aot_gpr_5 = (32u << 16u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(72), aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(636), std::bit_cast<std::uint32_t>(aot_fpr_20));
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;
if (branch_taken) {
goto L_08AE9C8C;
}
goto L_08AE9BA8;
}
L_08AE9BA8:
aot_gpr_17 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AE9BB4u);
aot_gpr_4 = (aot_gpr_17 + static_cast<std::uint32_t>(944));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 420u, 0x08B0DB74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9BB4u) goto L_08AE9BB4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9BB4:
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_17 + static_cast<std::uint32_t>(86))))));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-943));
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_08AE9C64;
}
goto L_08AE9BC4;
}
L_08AE9BC4:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_5 = (0u | 12u);
ctx.gpr[6] = (0u | 5u);
aot_gpr_31 = (0x08AE9BD8u);
ctx.gpr[7] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 310u, 0x088316CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9BD8u) goto L_08AE9BD8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9BD8:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_5 = (0u | 13u);
ctx.gpr[6] = (0u | 6u);
aot_gpr_31 = (0x08AE9BECu);
ctx.gpr[7] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 310u, 0x088316CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9BECu) goto L_08AE9BEC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9BEC:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_5 = (0u | 18u);
ctx.gpr[6] = (0u | 0u);
aot_gpr_31 = (0x08AE9C00u);
ctx.gpr[7] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9C00u) goto L_08AE9C00;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9C00:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_5 = (0u | 19u);
ctx.gpr[6] = (0u | 1u);
aot_gpr_31 = (0x08AE9C14u);
ctx.gpr[7] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9C14u) goto L_08AE9C14;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9C14:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_5 = (0u | 10u);
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AE9C28u);
ctx.gpr[7] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9C28u) goto L_08AE9C28;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9C28:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_5 = (0u | 8u);
ctx.gpr[6] = (0u | 3u);
aot_gpr_31 = (0x08AE9C3Cu);
ctx.gpr[7] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9C3Cu) goto L_08AE9C3C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9C3C:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_5 = (0u | 11u);
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08AE9C50u);
ctx.gpr[7] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9C50u) goto L_08AE9C50;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9C50:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_5 = (0u | 9u);
ctx.gpr[6] = (0u | 5u);
aot_gpr_31 = (0x08AE9C64u);
ctx.gpr[7] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9C64u) goto L_08AE9C64;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9C64:
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(636), std::bit_cast<std::uint32_t>(aot_fpr_20));
aot_mem.aot_direct_store16(aot_gpr_17 + static_cast<std::uint32_t>(666), static_cast<std::uint16_t>(0u));
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast<std::uint32_t>(1653))))));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-8));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1653), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast<std::uint32_t>(1653))))));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-9));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1653), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08AE9C8C;
L_08AE9C8C:
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(613))))));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-17));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(613), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(613))))));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-65));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(613), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(618))))));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-33));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(618), static_cast<std::uint8_t>(aot_gpr_4));
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
aot_gpr_16 = aot_run_words[1];
aot_gpr_17 = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE9CD8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08AE9D00u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9D00u) goto L_08AE9D00;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9D00:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE9D0Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9D0Cu) goto L_08AE9D0C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9D0C:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast<std::uint32_t>(4), aot_run_words);
aot_fpr_12 = std::bit_cast<float>(aot_run_words[0]);
aot_fpr_13 = std::bit_cast<float>(aot_run_words[1]);
aot_fpr_14 = std::bit_cast<float>(aot_run_words[2]);
}
aot_gpr_4 = (16968u << 16u);
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>(0), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = aot_fpr_13 / ctx.fpr[15];
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = aot_fpr_14 / ctx.fpr[15];
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(aot_fpr_12));
{ 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); }
aot_gpr_4 = (ctx.gpr[2] + 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); }
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE9D5C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08AE9D84u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9D84u) goto L_08AE9D84;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9D84:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE9D90u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9D90u) goto L_08AE9D90;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9D90:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast<std::uint32_t>(4), aot_run_words);
aot_fpr_12 = std::bit_cast<float>(aot_run_words[0]);
aot_fpr_13 = std::bit_cast<float>(aot_run_words[1]);
aot_fpr_14 = std::bit_cast<float>(aot_run_words[2]);
}
aot_gpr_4 = (16968u << 16u);
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 / ctx.fpr[15];
aot_fpr_13 = aot_fpr_13 / ctx.fpr[15];
aot_fpr_14 = aot_fpr_14 / ctx.fpr[15];
aot_gpr_31 = (0x08AE9DB8u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 537u, 0x08A6669Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9DB8u) goto L_08AE9DB8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9DB8:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AE9DD0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-64));
{ const std::uint32_t aot_run_words[10]{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]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[19] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_17 | 0u);
ctx.gpr[6] = (0u | 1u);
aot_gpr_31 = (0x08AE9E1Cu);
ctx.gpr[7] = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9E1Cu) goto L_08AE9E1C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9E1C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AE9E28u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9E28u) goto L_08AE9E28;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9E28:
ctx.gpr[20] = (ctx.gpr[2] | 0u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(24)));
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);
aot_gpr_4 = (17204u << 16u);
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
{ 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)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_gpr_4 = (16457u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
ctx.fpr[22] = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 / ctx.fpr[22];
aot_mem.aot_direct_store32(aot_gpr_29 + 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[20] + static_cast<std::uint32_t>(16)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(20)));
ctx.fpr[24] = std::bit_cast<float>(0u);
aot_gpr_4 = (17332u << 16u);
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);
ctx.fpr[26] = std::bit_cast<float>(aot_gpr_4);
if (branch_taken) {
goto L_08AE9EAC;
}
goto L_08AE9E94;
}
L_08AE9E94:
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_08AE9EAC;
}
goto L_08AE9EA4;
}
L_08AE9EA4:
{ const bool branch_taken = 0u == 0u;
{ const float fs = ctx.fpr[24]; const float ft = aot_fpr_20; 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_08AE9EB8;
}
goto L_08AE9EAC;
}
L_08AE9EAC:
aot_gpr_31 = (0x08AE9EB4u);
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 == 0x08AE9EB4u) goto L_08AE9EB4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9EB4:
{ const float fs = ctx.fpr[0]; const float ft = aot_fpr_20; 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; }
goto L_08AE9EB8;
L_08AE9EB8:
aot_fpr_12 = aot_fpr_12 / ctx.fpr[22];
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(8)));
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(ctx.gpr[20] + static_cast<std::uint32_t>(40)));
if (branch_taken) {
goto L_08AE9EF8;
}
goto L_08AE9ED8;
}
L_08AE9ED8:
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_08AE9EF8;
}
goto L_08AE9EE8;
}
L_08AE9EE8:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(8)));
{ const bool branch_taken = 0u == 0u;
{ const float fs = ctx.fpr[24]; const float ft = aot_fpr_20; 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_08AE9F0C;
}
goto L_08AE9EF8;
}
L_08AE9EF8:
aot_gpr_31 = (0x08AE9F00u);
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 == 0x08AE9F00u) goto L_08AE9F00;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9F00:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(8)));
{ const float fs = ctx.fpr[0]; const float ft = aot_fpr_20; 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_08AE9F0C;
L_08AE9F0C:
ctx.fpr[22] = aot_fpr_20 / ctx.fpr[22];
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08AE9F30;
}
goto L_08AE9F24;
}
L_08AE9F24:
aot_fpr_14 = ctx.fpr[22] + ctx.fpr[26];
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(aot_fpr_14));
if (branch_taken) {
goto L_08AE9F48;
}
goto L_08AE9F30;
}
L_08AE9F30:
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_08AE9F48;
}
goto L_08AE9F40;
}
L_08AE9F40:
aot_fpr_14 = ctx.fpr[22] - ctx.fpr[26];
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(aot_fpr_14));
goto L_08AE9F48;
L_08AE9F48:
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_08AE9F64;
}
goto L_08AE9F58;
}
L_08AE9F58:
aot_fpr_12 = aot_fpr_12 + ctx.fpr[26];
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_08AE9F7C;
}
goto L_08AE9F64;
}
L_08AE9F64:
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_08AE9F7C;
}
goto L_08AE9F74;
}
L_08AE9F74:
aot_fpr_12 = aot_fpr_12 - ctx.fpr[26];
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_08AE9F7C;
L_08AE9F7C:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[24])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08AE9F98;
}
goto L_08AE9F8C;
}
L_08AE9F8C:
aot_fpr_12 = aot_fpr_13 + ctx.fpr[26];
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_08AE9FB0;
}
goto L_08AE9F98;
}
L_08AE9F98:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= ctx.fpr[26])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08AE9FB0;
}
goto L_08AE9FA8;
}
L_08AE9FA8:
aot_fpr_12 = aot_fpr_13 - ctx.fpr[26];
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_08AE9FB0;
L_08AE9FB0:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(4), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(8)));
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(8), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AE9FD8u);
ctx.gpr[6] = (0u | 3u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9FD8u) goto L_08AE9FD8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AE9FD8:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[10]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), 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]);
aot_gpr_16 = aot_run_words[4];
aot_gpr_17 = aot_run_words[5];
ctx.gpr[18] = aot_run_words[6];
ctx.gpr[19] = aot_run_words[7];
ctx.gpr[20] = aot_run_words[8];
aot_gpr_31 = aot_run_words[9];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(64));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEA00C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-48));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(32), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08AEA034u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA034u) goto L_08AEA034;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA034:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEA040u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA040u) goto L_08AEA040;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA040:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (16457u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
{ 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_gpr_4 = (17204u << 16u);
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>(0), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(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_fpr_13 = aot_fpr_13 / ctx.fpr[15];
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(aot_fpr_13));
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(12)));
{ 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; }
aot_fpr_14 = aot_fpr_14 / ctx.fpr[15];
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(aot_fpr_14));
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(48));
{ 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_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 = 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 = (0x08AEA0A0u);
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, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA0A0u) goto L_08AEA0A0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA0A0:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words);
aot_fpr_12 = std::bit_cast<float>(aot_run_words[0]);
aot_fpr_13 = std::bit_cast<float>(aot_run_words[1]);
aot_fpr_14 = std::bit_cast<float>(aot_run_words[2]);
}
aot_gpr_31 = (0x08AEA0B4u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA0B4u) goto L_08AEA0B4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA0B4:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(32), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEA0CC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_20), aot_gpr_16, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AEA0F0u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA0F0u) goto L_08AEA0F0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA0F0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEA0FCu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA0FCu) goto L_08AEA0FC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA0FC:
aot_gpr_16 = (ctx.gpr[2] | 0u);
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>(272));
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))))));
ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (aot_gpr_16 + aot_gpr_5);
ctx.gpr[6] = (16256u << 16u);
aot_fpr_20 = std::bit_cast<float>(ctx.gpr[6]);
aot_gpr_5 = (0u | 9u);
ctx.gpr[6] = (0u | 178u);
jump_target = ctx.gpr[7];
aot_gpr_31 = (0x08AEA12Cu);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
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 == 0x08AEA12Cu) goto L_08AEA12C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA12C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(92)));
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(272));
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_5 + static_cast<std::uint32_t>(0))))));
aot_gpr_4 = (aot_gpr_16 + aot_gpr_4);
ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (0u | 11u);
ctx.gpr[6] = (0u | 174u);
jump_target = ctx.gpr[7];
aot_gpr_31 = (0x08AEA150u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
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 == 0x08AEA150u) goto L_08AEA150;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA150:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
aot_gpr_16 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEA168:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-64));
{ const std::uint32_t aot_run_words[11]{std::bit_cast<std::uint32_t>(aot_fpr_20), aot_gpr_16, aot_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>(8), aot_run_words); }
ctx.gpr[6] = (aot_gpr_4 + static_cast<std::uint32_t>(16));
ctx.gpr[23] = (2236u << 16u);
ctx.gpr[18] = (ctx.gpr[23] + static_cast<std::uint32_t>(29704));
ctx.gpr[22] = (0u | 1u);
aot_gpr_5 = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), ctx.gpr[6]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_5);
aot_gpr_4 = (aot_gpr_5 | 0u);
aot_gpr_5 = (ctx.gpr[6] | 0u);
ctx.gpr[6] = (0u | 5u);
aot_gpr_31 = (0x08AEA1C8u);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA1C8u) goto L_08AEA1C8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA1C8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
ctx.gpr[21] = (0u + static_cast<std::uint32_t>(-1));
ctx.gpr[30] = (0u | 2u);
aot_fpr_20 = std::bit_cast<float>(0u);
ctx.gpr[20] = (aot_gpr_17 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_17 << 5u);
ctx.gpr[19] = (0u + aot_gpr_4);
aot_gpr_4 = (aot_gpr_4 << 6u);
ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_4);
aot_gpr_4 = (aot_gpr_17 | 0u);
goto L_08AEA1F4;
L_08AEA1F4:
aot_gpr_17 = (ctx.gpr[20] | 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(-2080));
if (branch_taken) {
goto L_08AEA2E8;
}
goto L_08AEA200;
}
L_08AEA200:
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-1));
{ const bool branch_taken = ctx.gpr[21] != aot_gpr_4;
if (branch_taken) {
goto L_08AEA2E8;
}
goto L_08AEA20C;
}
L_08AEA20C:
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_17) < 0;
ctx.gpr[20] = (aot_gpr_17 + static_cast<std::uint32_t>(-1));
if (branch_taken) {
goto L_08AEA228;
}
goto L_08AEA214;
}
L_08AEA214:
aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_17) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
if (aot_gpr_4 != 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
goto L_08AEA230;
}
goto L_08AEA228;
L_08AEA228:
{ const bool branch_taken = 0u == 0u;
aot_gpr_16 = (0u | 0u);
if (branch_taken) {
goto L_08AEA250;
}
goto L_08AEA230;
}
L_08AEA230:
aot_gpr_4 = (aot_gpr_4 + aot_gpr_17);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 & 128u);
if (aot_gpr_4 == 0u) {
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(0)));
goto L_08AEA24C;
}
goto L_08AEA244;
L_08AEA244:
{ const bool branch_taken = 0u == 0u;
aot_gpr_16 = (0u | 0u);
if (branch_taken) {
goto L_08AEA250;
}
goto L_08AEA24C;
}
L_08AEA24C:
aot_gpr_16 = (aot_gpr_16 + ctx.gpr[19]);
goto L_08AEA250;
L_08AEA250:
{ const bool branch_taken = aot_gpr_16 == 0u;
if (branch_taken) {
goto L_08AEA2E0;
}
goto L_08AEA258;
}
L_08AEA258:
aot_gpr_31 = (0x08AEA260u);
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, ctx.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 == 0x08AEA260u) goto L_08AEA260;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA260:
{ const bool branch_taken = ctx.gpr[2] == ctx.gpr[22];
if (branch_taken) {
goto L_08AEA278;
}
goto L_08AEA268;
}
L_08AEA268:
aot_gpr_31 = (0x08AEA270u);
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, ctx.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 == 0x08AEA270u) goto L_08AEA270;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA270:
{ const bool branch_taken = ctx.gpr[2] != ctx.gpr[30];
if (branch_taken) {
goto L_08AEA2E0;
}
goto L_08AEA278;
}
L_08AEA278:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(636)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08AEA2E0;
}
goto L_08AEA28C;
}
L_08AEA28C:
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_16 + static_cast<std::uint32_t>(86))))));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(16)));
if (aot_gpr_5 == aot_gpr_4) {
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(612)));
goto L_08AEA2A8;
}
goto L_08AEA29C;
L_08AEA29C:
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_4) >= 0;
if (branch_taken) {
goto L_08AEA2E0;
}
goto L_08AEA2A4;
}
L_08AEA2A4:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(612)));
goto L_08AEA2A8;
L_08AEA2A8:
{ const bool branch_taken = aot_gpr_4 != ctx.gpr[22];
if (branch_taken) {
goto L_08AEA2E0;
}
goto L_08AEA2B0;
}
L_08AEA2B0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(29704)));
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(ctx.gpr[18] + static_cast<std::uint32_t>(4), aot_run_words);
aot_fpr_13 = std::bit_cast<float>(aot_run_words[0]);
aot_fpr_14 = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[15] = std::bit_cast<float>(aot_run_words[2]);
}
aot_gpr_31 = (0x08AEA2C8u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 788u, 0x08AAF8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA2C8u) goto L_08AEA2C8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA2C8:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08AEA2E0;
}
goto L_08AEA2D0;
}
L_08AEA2D0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEA2DCu);
aot_gpr_5 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 139u, 0x08B6CC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA2DCu) goto L_08AEA2DC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA2DC:
ctx.gpr[21] = (ctx.gpr[2] | 0u);
goto L_08AEA2E0;
L_08AEA2E0:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (aot_gpr_17 | 0u);
if (branch_taken) {
goto L_08AEA1F4;
}
goto L_08AEA2E8;
}
L_08AEA2E8:
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(29704), ctx.gpr[21]);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
aot_gpr_31 = (0x08AEA2FCu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA2FCu) goto L_08AEA2FC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA2FC:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[11]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(8), aot_run_words);
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
aot_gpr_16 = aot_run_words[1];
aot_gpr_17 = aot_run_words[2];
ctx.gpr[18] = aot_run_words[3];
ctx.gpr[19] = aot_run_words[4];
ctx.gpr[20] = aot_run_words[5];
ctx.gpr[21] = aot_run_words[6];
ctx.gpr[22] = aot_run_words[7];
ctx.gpr[23] = aot_run_words[8];
ctx.gpr[30] = aot_run_words[9];
aot_gpr_31 = aot_run_words[10];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(64));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEA334:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AEA358u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA358u) goto L_08AEA358;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA358:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEA364u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA364u) goto L_08AEA364;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA364:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(944));
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_5 = (0u | 1u);
aot_gpr_31 = (0x08AEA37Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 377u, 0x08B0D904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA37Cu) goto L_08AEA37C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA37C:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (0u | 19u);
ctx.gpr[6] = (0u | 1u);
aot_gpr_31 = (0x08AEA390u);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA390u) goto L_08AEA390;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA390:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_5 = (0u | 1u);
aot_gpr_31 = (0x08AEA3A0u);
ctx.gpr[6] = (0u | 3u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 377u, 0x08B0D904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA3A0u) goto L_08AEA3A0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA3A0:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (0u | 19u);
ctx.gpr[6] = (0u | 1u);
aot_gpr_31 = (0x08AEA3B4u);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA3B4u) goto L_08AEA3B4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA3B4:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEA3CC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AEA3ECu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA3ECu) goto L_08AEA3EC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA3EC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEA3F8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA3F8u) goto L_08AEA3F8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA3F8:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_31 = (0x08AEA404u);
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, ctx.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 == 0x08AEA404u) goto L_08AEA404;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA404:
aot_gpr_4 = (0u | 3u);
{ const bool branch_taken = ctx.gpr[2] != aot_gpr_4;
if (branch_taken) {
goto L_08AEA420;
}
goto L_08AEA410;
}
L_08AEA410:
aot_gpr_4 = (15969u << 16u);
aot_gpr_4 = (aot_gpr_4 | 18350u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(1640), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_08AEA420;
L_08AEA420:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEA434:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEA45Cu);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA45Cu) goto L_08AEA45C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA45C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEA468u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA468u) goto L_08AEA468;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA468:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(618))))));
if (branch_taken) {
goto L_08AEA484;
}
goto L_08AEA478;
}
L_08AEA478:
aot_gpr_4 = (aot_gpr_4 | 1u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(618), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AEA490;
}
goto L_08AEA484;
}
L_08AEA484:
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-2));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(618), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08AEA490;
L_08AEA490:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEA4A8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ 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]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08AEA4E0u);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA4E0u) goto L_08AEA4E0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA4E0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEA4ECu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA4ECu) goto L_08AEA4EC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA4EC:
aot_gpr_17 = (ctx.gpr[2] | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(ctx.gpr[18] + static_cast<std::uint32_t>(4), aot_run_words);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[0]);
aot_fpr_20 = std::bit_cast<float>(aot_run_words[1]);
aot_fpr_12 = std::bit_cast<float>(aot_run_words[2]);
}
aot_gpr_4 = (49864u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (50042u << 16u);
if (branch_taken) {
goto L_08AEA528;
}
goto L_08AEA514;
}
L_08AEA514:
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_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_08AEA53C;
}
goto L_08AEA528;
L_08AEA528:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_gpr_31 = (0x08AEA534u);
aot_fpr_13 = 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, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA534u) goto L_08AEA534;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA534:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_08AEA53C;
L_08AEA53C:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
aot_gpr_31 = (0x08AEA554u);
ctx.gpr[6] = (0u | 1u);
goto L_08AEBC84;
L_08AEA554:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[6]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), 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];
aot_gpr_17 = aot_run_words[3];
ctx.gpr[18] = aot_run_words[4];
aot_gpr_31 = aot_run_words[5];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEA578:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AEA5A0u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA5A0u) goto L_08AEA5A0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA5A0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEA5ACu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA5ACu) goto L_08AEA5AC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA5AC:
aot_gpr_4 = (0u | 0u);
aot_gpr_5 = (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>(618))))));
aot_gpr_5 = (aot_gpr_5 & 32u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08AEA5C4;
}
goto L_08AEA5C0;
}
L_08AEA5C0:
aot_gpr_4 = (0u | 1u);
goto L_08AEA5C4;
L_08AEA5C4:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08AEA5F0;
}
goto L_08AEA5E8;
}
L_08AEA5E8:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AEA638;
}
goto L_08AEA5F0;
}
L_08AEA5F0:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08AEA61C;
}
goto L_08AEA610;
}
L_08AEA610:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AEA638;
}
goto L_08AEA61C;
}
L_08AEA61C:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AEA638;
}
goto L_08AEA634;
}
L_08AEA634:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08AEA638;
L_08AEA638:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEA650:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEA678u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA678u) goto L_08AEA678;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA678:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEA684u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA684u) goto L_08AEA684;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA684:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_fpr_12 = 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)));
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(632), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(636), std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEA6B0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[7] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AEA6E0u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA6E0u) goto L_08AEA6E0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA6E0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEA6ECu);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA6ECu) goto L_08AEA6EC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA6EC:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(632)));
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_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AEA70Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA70Cu) goto L_08AEA70C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA70C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEA728:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEA750u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA750u) goto L_08AEA750;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA750:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEA75Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA75Cu) goto L_08AEA75C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA75C:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(618))))));
if (branch_taken) {
goto L_08AEA778;
}
goto L_08AEA76C;
}
L_08AEA76C:
aot_gpr_4 = (aot_gpr_4 | 128u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(618), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AEA784;
}
goto L_08AEA778;
}
L_08AEA778:
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-129));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(618), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08AEA784;
L_08AEA784:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEA79C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[8]{std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[19] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEA7D8u);
ctx.gpr[7] = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA7D8u) goto L_08AEA7D8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA7D8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEA7E4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA7E4u) goto L_08AEA7E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA7E4:
ctx.gpr[18] = (ctx.gpr[2] | 0u);
aot_gpr_17 = (0u | 5u);
aot_gpr_4 = (16153u << 16u);
aot_gpr_4 = (aot_gpr_4 | 39322u);
ctx.fpr[22] = std::bit_cast<float>(aot_gpr_4);
aot_gpr_16 = (ctx.gpr[18] + static_cast<std::uint32_t>(944));
aot_gpr_4 = (17152u << 16u);
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
goto L_08AEA804;
L_08AEA804:
aot_gpr_31 = (0x08AEA80Cu);
ctx.gpr[20] = (0u | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA80Cu) goto L_08AEA80C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA80C:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] <= ctx.fpr[22])) ? 0x00800000u : 0u);
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
ctx.gpr[20] = (0u | 1u);
goto L_08AEA81C;
}
goto L_08AEA81C;
L_08AEA81C:
aot_gpr_4 = (ctx.gpr[20] & 255u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AEA9C8;
}
goto L_08AEA828;
}
L_08AEA828:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AEA83Cu);
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_0194_entry, 194u, 388u, 0x08B0D978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA83Cu) goto L_08AEA83C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA83C:
aot_gpr_4 = (aot_gpr_17 + static_cast<std::uint32_t>(-5));
aot_gpr_5 = (aot_gpr_4 < static_cast<std::uint32_t>(13) ? 1u : 0u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08AEA9C8;
}
goto L_08AEA84C;
}
L_08AEA84C:
aot_gpr_4 = (aot_gpr_4 << 2u);
ctx.gpr[1] = (2232u << 16u);
ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4);
ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast<std::uint32_t>(17064)));
jump_target = ctx.gpr[1];
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEA864:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 18u);
ctx.gpr[6] = (0u | 0u);
aot_gpr_31 = (0x08AEA878u);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA878u) goto L_08AEA878;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA878:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEA9C8;
}
goto L_08AEA880;
}
L_08AEA880:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 19u);
ctx.gpr[6] = (0u | 1u);
aot_gpr_31 = (0x08AEA894u);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA894u) goto L_08AEA894;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA894:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEA9C8;
}
goto L_08AEA89C;
}
L_08AEA89C:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 10u);
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEA8B0u);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA8B0u) goto L_08AEA8B0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA8B0:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEA9C8;
}
goto L_08AEA8B8;
}
L_08AEA8B8:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 8u);
ctx.gpr[6] = (0u | 3u);
aot_gpr_31 = (0x08AEA8CCu);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA8CCu) goto L_08AEA8CC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA8CC:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEA9C8;
}
goto L_08AEA8D4;
}
L_08AEA8D4:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 11u);
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08AEA8E8u);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA8E8u) goto L_08AEA8E8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA8E8:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEA9C8;
}
goto L_08AEA8F0;
}
L_08AEA8F0:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 9u);
ctx.gpr[6] = (0u | 5u);
aot_gpr_31 = (0x08AEA904u);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA904u) goto L_08AEA904;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA904:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEA9C8;
}
goto L_08AEA90C;
}
L_08AEA90C:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 15u);
ctx.gpr[6] = (0u | 0u);
aot_gpr_31 = (0x08AEA920u);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA920u) goto L_08AEA920;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA920:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEA9C8;
}
goto L_08AEA928;
}
L_08AEA928:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 14u);
ctx.gpr[6] = (0u | 1u);
aot_gpr_31 = (0x08AEA93Cu);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA93Cu) goto L_08AEA93C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA93C:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEA9C8;
}
goto L_08AEA944;
}
L_08AEA944:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 17u);
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEA958u);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA958u) goto L_08AEA958;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA958:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEA9C8;
}
goto L_08AEA960;
}
L_08AEA960:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 16u);
ctx.gpr[6] = (0u | 3u);
aot_gpr_31 = (0x08AEA974u);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA974u) goto L_08AEA974;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA974:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEA9C8;
}
goto L_08AEA97C;
}
L_08AEA97C:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 20u);
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08AEA990u);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA990u) goto L_08AEA990;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA990:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEA9C8;
}
goto L_08AEA998;
}
L_08AEA998:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 12u);
ctx.gpr[6] = (0u | 5u);
aot_gpr_31 = (0x08AEA9ACu);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA9ACu) goto L_08AEA9AC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA9AC:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEA9C8;
}
goto L_08AEA9B4;
}
L_08AEA9B4:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 13u);
ctx.gpr[6] = (0u | 6u);
aot_gpr_31 = (0x08AEA9C8u);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA9C8u) goto L_08AEA9C8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEA9C8:
aot_gpr_17 = (aot_gpr_17 + static_cast<std::uint32_t>(1));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_17) < 18 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08AEA804;
}
goto L_08AEA9D8;
}
L_08AEA9D8:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[8]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), 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];
aot_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];
aot_gpr_31 = aot_run_words[7];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEAA04:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AEAA2Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAA2Cu) goto L_08AEAA2C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAA2C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEAA38u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAA38u) goto L_08AEAA38;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAA38:
ctx.gpr[6] = (ctx.gpr[2] | 0u);
aot_gpr_4 = (0u | 0u);
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast<std::uint32_t>(619))))));
ctx.gpr[7] = (aot_gpr_5 & 2u);
{ const bool branch_taken = ctx.gpr[7] == 0u;
if (branch_taken) {
goto L_08AEAA60;
}
goto L_08AEAA50;
}
L_08AEAA50:
aot_gpr_4 = (0u | 1u);
ctx.gpr[7] = (0u + static_cast<std::uint32_t>(-3));
aot_gpr_5 = (aot_gpr_5 & ctx.gpr[7]);
aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast<std::uint32_t>(619), static_cast<std::uint8_t>(aot_gpr_5));
goto L_08AEAA60;
L_08AEAA60:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08AEAA8C;
}
goto L_08AEAA84;
}
L_08AEAA84:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AEAAD4;
}
goto L_08AEAA8C;
}
L_08AEAA8C:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08AEAAB8;
}
goto L_08AEAAAC;
}
L_08AEAAAC:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AEAAD4;
}
goto L_08AEAAB8;
}
L_08AEAAB8:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AEAAD4;
}
goto L_08AEAAD0;
}
L_08AEAAD0:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08AEAAD4;
L_08AEAAD4:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEAAEC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-112));
{ const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(84), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_31 = (0x08AEAB14u);
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 291u, 0x089D1AECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAB14u) goto L_08AEAB14;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAB14:
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[19] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
ctx.gpr[6] = (0u | 1u);
aot_gpr_31 = (0x08AEAB34u);
ctx.gpr[7] = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAB34u) goto L_08AEAB34;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAB34:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEAB40u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAB40u) goto L_08AEAB40;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAB40:
ctx.gpr[20] = (ctx.gpr[2] | 0u);
aot_gpr_4 = (ctx.gpr[20] | 0u);
aot_gpr_31 = (0x08AEAB50u);
aot_gpr_5 = (aot_gpr_29 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0183_entry, 183u, 1035u, 0x08AE3F8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAB50u) goto L_08AEAB50;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAB50:
{ 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); }
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); }
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[20] + static_cast<std::uint32_t>(86))))));
aot_gpr_4 = (aot_gpr_4 << 2u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(20)));
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(12)));
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
aot_fpr_12 = aot_fpr_14 - ctx.fpr[15];
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
aot_fpr_13 = ctx.fpr[16] + ctx.fpr[15];
aot_fpr_14 = aot_fpr_14 + ctx.fpr[15];
aot_gpr_31 = (0x08AEAB98u);
ctx.fpr[15] = ctx.fpr[16] - ctx.fpr[15];
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAB98u) goto L_08AEAB98;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAB98:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_gpr_4 = (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>(20)));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(24)));
ctx.gpr[6] = (std::bit_cast<std::uint32_t>(aot_fpr_14));
{ const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, ctx.gpr[6]};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(48), aot_run_words); }
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(28)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(ctx.fpr[15]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(60), aot_gpr_4);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(48)));
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + 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>(40)));
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(ctx.fpr[16]), std::bit_cast<std::uint32_t>(aot_fpr_13)};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
ctx.gpr[6] = (aot_gpr_29 + static_cast<std::uint32_t>(64));
ctx.gpr[20] = (aot_gpr_29 + static_cast<std::uint32_t>(80));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_29 | 0u);
ctx.gpr[7] = (ctx.gpr[20] | 0u);
ctx.gpr[8] = (ctx.gpr[20] | 0u);
aot_gpr_31 = (0x08AEAC00u);
ctx.gpr[9] = (ctx.gpr[20] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 584u, 0x088631C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAC00u) goto L_08AEAC00;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAC00:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + 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>(36)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
{ 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>(0), aot_run_words); }
ctx.gpr[7] = (aot_gpr_29 + static_cast<std::uint32_t>(68));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_29 | 0u);
ctx.gpr[6] = (ctx.gpr[20] | 0u);
ctx.gpr[8] = (ctx.gpr[20] | 0u);
aot_gpr_31 = (0x08AEAC34u);
ctx.gpr[9] = (ctx.gpr[20] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 584u, 0x088631C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAC34u) goto L_08AEAC34;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAC34:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(52)));
{ 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>(0), aot_run_words); }
ctx.gpr[8] = (aot_gpr_29 + static_cast<std::uint32_t>(72));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_29 | 0u);
ctx.gpr[6] = (ctx.gpr[20] | 0u);
ctx.gpr[7] = (ctx.gpr[20] | 0u);
aot_gpr_31 = (0x08AEAC68u);
ctx.gpr[9] = (ctx.gpr[20] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 584u, 0x088631C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAC68u) goto L_08AEAC68;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAC68:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(60)));
{ 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>(0), aot_run_words); }
ctx.gpr[9] = (aot_gpr_29 + static_cast<std::uint32_t>(76));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_29 | 0u);
ctx.gpr[6] = (ctx.gpr[20] | 0u);
ctx.gpr[7] = (ctx.gpr[20] | 0u);
aot_gpr_31 = (0x08AEAC9Cu);
ctx.gpr[8] = (ctx.gpr[20] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 584u, 0x088631C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAC9Cu) goto L_08AEAC9C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAC9C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(68)));
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(4), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(72)));
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(8), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(76)));
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(12), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AEACCCu);
ctx.gpr[6] = (0u | 4u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEACCCu) goto L_08AEACCC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEACCC:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[6]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(84), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
ctx.gpr[20] = aot_run_words[4];
aot_gpr_31 = aot_run_words[5];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(112));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEACF0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-288));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(268), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
aot_gpr_16 = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEAD1Cu);
ctx.gpr[7] = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAD1Cu) goto L_08AEAD1C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAD1C:
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEAD2Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAD2Cu) goto L_08AEAD2C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAD2C:
aot_gpr_17 = (ctx.gpr[2] | 0u);
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_17 + static_cast<std::uint32_t>(86))))));
ctx.gpr[6] = (0u | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
ctx.gpr[7] = (static_cast<std::int32_t>(aot_gpr_5) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[7] == 0u;
ctx.gpr[18] = (aot_gpr_16 & 255u);
if (branch_taken) {
goto L_08AEAD58;
}
goto L_08AEAD48;
}
L_08AEAD48:
ctx.gpr[6] = (aot_gpr_5 << 2u);
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]);
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast<std::uint32_t>(0)));
goto L_08AEAD58;
L_08AEAD58:
ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast<std::uint32_t>(353)));
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_16) < static_cast<std::int32_t>(ctx.gpr[6]) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[6] != 0u;
ctx.gpr[6] = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_08AEADB0;
}
goto L_08AEAD68;
}
L_08AEAD68:
ctx.gpr[8] = (aot_gpr_4 | 0u);
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(4));
ctx.gpr[6] = (2232u << 16u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(16916));
ctx.gpr[8] = (static_cast<std::int32_t>(aot_gpr_5) < static_cast<std::int32_t>(ctx.gpr[8]) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[8] == 0u;
ctx.gpr[7] = (0u | 0u);
if (branch_taken) {
goto L_08AEAD94;
}
goto L_08AEAD84;
}
L_08AEAD84:
aot_gpr_5 = (aot_gpr_5 << 2u);
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5);
ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
goto L_08AEAD94;
L_08AEAD94:
aot_gpr_5 = (ctx.gpr[6] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast<std::uint32_t>(353)));
aot_gpr_31 = (0x08AEADA4u);
ctx.gpr[7] = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEADA4u) goto L_08AEADA4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEADA4:
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_17 + static_cast<std::uint32_t>(86))))));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
ctx.gpr[6] = (aot_gpr_4 | 0u);
goto L_08AEADB0;
L_08AEADB0:
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_5) < static_cast<std::int32_t>(ctx.gpr[6]) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08AEADCC;
}
goto L_08AEADBC;
}
L_08AEADBC:
aot_gpr_4 = (aot_gpr_5 << 2u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
goto L_08AEADCC;
L_08AEADCC:
aot_gpr_31 = (0x08AEADD4u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 764u, 0x08AA2FB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEADD4u) goto L_08AEADD4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEADD4:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(260), ctx.gpr[2]);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(260)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(548), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(1)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(549), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(2)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(550), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(3)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(551), static_cast<std::uint8_t>(aot_gpr_4));
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_17 + static_cast<std::uint32_t>(86))))));
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_4) < static_cast<std::int32_t>(ctx.gpr[6]) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_5 = (0u | 0u);
if (branch_taken) {
goto L_08AEAE24;
}
goto L_08AEAE14;
}
L_08AEAE14:
aot_gpr_4 = (aot_gpr_4 << 2u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
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_08AEAE24;
L_08AEAE24:
aot_gpr_4 = (aot_gpr_5 | 0u);
aot_gpr_31 = (0x08AEAE30u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 774u, 0x08AA3070u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAE30u) goto L_08AEAE30;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAE30:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(264), ctx.gpr[2]);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(264)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(552), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(1)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(553), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(2)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(554), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(3)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(555), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_gpr_16 << 24u);
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 24u));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(896), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(897), static_cast<std::uint8_t>(aot_gpr_4));
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(268), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
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_08AEAE8C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-288));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(268), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
aot_gpr_16 = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEAEB8u);
ctx.gpr[7] = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAEB8u) goto L_08AEAEB8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAEB8:
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEAEC8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAEC8u) goto L_08AEAEC8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAEC8:
aot_gpr_17 = (ctx.gpr[2] | 0u);
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_17 + static_cast<std::uint32_t>(86))))));
ctx.gpr[6] = (0u | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
ctx.gpr[7] = (static_cast<std::int32_t>(aot_gpr_5) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[7] == 0u;
ctx.gpr[18] = (aot_gpr_16 & 255u);
if (branch_taken) {
goto L_08AEAEF4;
}
goto L_08AEAEE4;
}
L_08AEAEE4:
ctx.gpr[6] = (aot_gpr_5 << 2u);
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]);
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast<std::uint32_t>(0)));
goto L_08AEAEF4;
L_08AEAEF4:
ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast<std::uint32_t>(354)));
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_16) < static_cast<std::int32_t>(ctx.gpr[6]) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[6] != 0u;
ctx.gpr[6] = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_08AEAF4C;
}
goto L_08AEAF04;
}
L_08AEAF04:
ctx.gpr[8] = (aot_gpr_4 | 0u);
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(4));
ctx.gpr[6] = (2232u << 16u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(16984));
ctx.gpr[8] = (static_cast<std::int32_t>(aot_gpr_5) < static_cast<std::int32_t>(ctx.gpr[8]) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[8] == 0u;
ctx.gpr[7] = (0u | 0u);
if (branch_taken) {
goto L_08AEAF30;
}
goto L_08AEAF20;
}
L_08AEAF20:
aot_gpr_5 = (aot_gpr_5 << 2u);
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5);
ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
goto L_08AEAF30;
L_08AEAF30:
aot_gpr_5 = (ctx.gpr[6] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast<std::uint32_t>(354)));
aot_gpr_31 = (0x08AEAF40u);
ctx.gpr[7] = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAF40u) goto L_08AEAF40;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAF40:
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_17 + static_cast<std::uint32_t>(86))))));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
ctx.gpr[6] = (aot_gpr_4 | 0u);
goto L_08AEAF4C;
L_08AEAF4C:
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_5) < static_cast<std::int32_t>(ctx.gpr[6]) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08AEAF68;
}
goto L_08AEAF58;
}
L_08AEAF58:
aot_gpr_4 = (aot_gpr_5 << 2u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
goto L_08AEAF68;
L_08AEAF68:
aot_gpr_31 = (0x08AEAF70u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 784u, 0x08AA312Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAF70u) goto L_08AEAF70;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAF70:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(260), ctx.gpr[2]);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(260)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(548), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(1)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(549), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(2)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(550), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(3)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(551), static_cast<std::uint8_t>(aot_gpr_4));
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_17 + static_cast<std::uint32_t>(86))))));
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_4) < static_cast<std::int32_t>(ctx.gpr[6]) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_5 = (0u | 0u);
if (branch_taken) {
goto L_08AEAFC0;
}
goto L_08AEAFB0;
}
L_08AEAFB0:
aot_gpr_4 = (aot_gpr_4 << 2u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
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_08AEAFC0;
L_08AEAFC0:
aot_gpr_4 = (aot_gpr_5 | 0u);
aot_gpr_31 = (0x08AEAFCCu);
aot_gpr_5 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 794u, 0x08AA31E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAFCCu) goto L_08AEAFCC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEAFCC:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(264), ctx.gpr[2]);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(264)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(552), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(1)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(553), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(2)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(554), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(3)));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(555), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(896), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_gpr_16 << 24u);
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 24u));
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(897), static_cast<std::uint8_t>(aot_gpr_4));
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(268), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
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_08AEB028:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-272));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(256), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[7] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AEB058u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB058u) goto L_08AEB058;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB058:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB064u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB064u) goto L_08AEB064;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB064:
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>(896))))));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AEB07Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB07Cu) goto L_08AEB07C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB07C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(256), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(272));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB098:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-272));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(256), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[7] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AEB0C8u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB0C8u) goto L_08AEB0C8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB0C8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB0D4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB0D4u) goto L_08AEB0D4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB0D4:
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>(897))))));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AEB0ECu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB0ECu) goto L_08AEB0EC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB0EC:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(256), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(272));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB108:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
ctx.gpr[18] = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08AEB138u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB138u) goto L_08AEB138;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB138:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB144u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB144u) goto L_08AEB144;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB144:
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast<std::uint32_t>(86))))));
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_5) < static_cast<std::int32_t>(ctx.gpr[6]) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08AEB168;
}
goto L_08AEB158;
}
L_08AEB158:
aot_gpr_4 = (aot_gpr_5 << 2u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
goto L_08AEB168;
L_08AEB168:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(353)));
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08AEB180u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB180u) goto L_08AEB180;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB180:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB19C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
ctx.gpr[18] = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08AEB1CCu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB1CCu) goto L_08AEB1CC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB1CC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB1D8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB1D8u) goto L_08AEB1D8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB1D8:
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast<std::uint32_t>(86))))));
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_5) < static_cast<std::int32_t>(ctx.gpr[6]) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08AEB1FC;
}
goto L_08AEB1EC;
}
L_08AEB1EC:
aot_gpr_4 = (aot_gpr_5 << 2u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
goto L_08AEB1FC;
L_08AEB1FC:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(354)));
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08AEB214u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB214u) goto L_08AEB214;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB214:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB230:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AEB254u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB254u) goto L_08AEB254;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB254:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB260u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB260u) goto L_08AEB260;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB260:
aot_gpr_17 = (ctx.gpr[2] | 0u);
aot_gpr_16 = (aot_gpr_17 + static_cast<std::uint32_t>(944));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AEB274u);
aot_gpr_5 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 382u, 0x08B0D940u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB274u) goto L_08AEB274;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB274:
aot_gpr_4 = (ctx.gpr[2] & 255u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AEB2AC;
}
goto L_08AEB280;
}
L_08AEB280:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1336)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AEB2AC;
}
goto L_08AEB28C;
}
L_08AEB28C:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (0u | 0u);
aot_gpr_31 = (0x08AEB29Cu);
ctx.gpr[6] = (0u | 3u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 377u, 0x08B0D904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB29Cu) goto L_08AEB29C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB29C:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1336)));
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AEB2ACu);
ctx.gpr[6] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 3u, 0x08B00014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB2ACu) goto L_08AEB2AC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB2AC:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB2C4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-48));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(36), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEB2ECu);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB2ECu) goto L_08AEB2EC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB2EC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB2F8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB2F8u) goto L_08AEB2F8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB2F8:
aot_gpr_4 = (ctx.gpr[2] | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = aot_gpr_5 == 0u;
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(864), aot_gpr_5);
if (branch_taken) {
goto L_08AEB344;
}
goto L_08AEB308;
}
L_08AEB308:
ctx.gpr[7] = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast<std::uint32_t>(864)));
aot_gpr_4 = (ctx.gpr[7] + static_cast<std::uint32_t>(880));
{ 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[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<4u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[7] + 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[7] + 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 = ctx.gpr[7] + static_cast<std::uint32_t>(48);
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, 1u, 3u, 3u>();
ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 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); }
aot_gpr_4 = (ctx.gpr[7] | 0u);
ctx.gpr[6] = (aot_gpr_29 | 0u);
aot_gpr_31 = (0x08AEB344u);
ctx.gpr[8] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 828u, 0x0893FA88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB344u) goto L_08AEB344;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB344:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(36), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB35C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AEB37Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB37Cu) goto L_08AEB37C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB37C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB388u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB388u) goto L_08AEB388;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB388:
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(864), 0u);
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB3A0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
ctx.gpr[18] = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08AEB3D0u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB3D0u) goto L_08AEB3D0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB3D0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB3DCu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB3DCu) goto L_08AEB3DC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB3DC:
aot_gpr_31 = (0x08AEB3E4u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 198u, 0x08B00BC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB3E4u) goto L_08AEB3E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB3E4:
aot_gpr_4 = (ctx.gpr[2] | 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AEB41C;
}
goto L_08AEB3F0;
}
L_08AEB3F0:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_5 & 14u);
aot_gpr_5 = (aot_gpr_5 ^ 8u);
aot_gpr_5 = (aot_gpr_5 < static_cast<std::uint32_t>(1) ? 1u : 0u);
aot_gpr_5 = (aot_gpr_5 & 255u);
{ const bool branch_taken = aot_gpr_5 == 0u;
aot_gpr_5 = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_08AEB41C;
}
goto L_08AEB40C;
}
L_08AEB40C:
aot_gpr_31 = (0x08AEB414u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15960)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 636u, 0x08B66A10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB414u) goto L_08AEB414;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB414:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(29704), ctx.gpr[2]);
if (branch_taken) {
goto L_08AEB424;
}
goto L_08AEB41C;
}
L_08AEB41C:
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(29704), aot_gpr_4);
goto L_08AEB424;
L_08AEB424:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08AEB434u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB434u) goto L_08AEB434;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB434:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB450:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
ctx.gpr[18] = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08AEB480u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB480u) goto L_08AEB480;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB480:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB48Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB48Cu) goto L_08AEB48C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB48C:
aot_gpr_31 = (0x08AEB494u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 198u, 0x08B00BC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB494u) goto L_08AEB494;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB494:
aot_gpr_4 = (ctx.gpr[2] | 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AEB4CC;
}
goto L_08AEB4A0;
}
L_08AEB4A0:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_5 & 14u);
aot_gpr_5 = (aot_gpr_5 ^ 4u);
aot_gpr_5 = (aot_gpr_5 < static_cast<std::uint32_t>(1) ? 1u : 0u);
aot_gpr_5 = (aot_gpr_5 & 255u);
{ const bool branch_taken = aot_gpr_5 == 0u;
aot_gpr_5 = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_08AEB4CC;
}
goto L_08AEB4BC;
}
L_08AEB4BC:
aot_gpr_31 = (0x08AEB4C4u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 139u, 0x08B6CC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB4C4u) goto L_08AEB4C4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB4C4:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(29704), ctx.gpr[2]);
if (branch_taken) {
goto L_08AEB4D4;
}
goto L_08AEB4CC;
}
L_08AEB4CC:
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(29704), aot_gpr_4);
goto L_08AEB4D4;
L_08AEB4D4:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08AEB4E4u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB4E4u) goto L_08AEB4E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB4E4:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB500:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEB528u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB528u) goto L_08AEB528;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB528:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15960)));
aot_gpr_31 = (0x08AEB534u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 445u, 0x08B65D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB534u) goto L_08AEB534;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB534:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(76)));
ctx.gpr[6] = (65504u << 16u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]);
aot_gpr_4 = (aot_gpr_4 & 1u);
aot_gpr_4 = (aot_gpr_4 << 21u);
aot_gpr_4 = (aot_gpr_5 | aot_gpr_4);
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(76), aot_gpr_4);
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB57C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEB5A4u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB5A4u) goto L_08AEB5A4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB5A4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB5B0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB5B0u) goto L_08AEB5B0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB5B0:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(76)));
ctx.gpr[6] = (65504u << 16u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]);
aot_gpr_4 = (aot_gpr_4 & 1u);
aot_gpr_4 = (aot_gpr_4 << 21u);
aot_gpr_4 = (aot_gpr_5 | aot_gpr_4);
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(76), aot_gpr_4);
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB5F8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08AEB620u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB620u) goto L_08AEB620;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB620:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB62Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB62Cu) goto L_08AEB62C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB62C:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast<std::uint32_t>(4), aot_run_words);
aot_fpr_12 = std::bit_cast<float>(aot_run_words[0]);
aot_fpr_13 = std::bit_cast<float>(aot_run_words[1]);
aot_fpr_14 = std::bit_cast<float>(aot_run_words[2]);
}
{ 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(ctx.gpr[2] + static_cast<std::uint32_t>(880), aot_run_words); }
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB65C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[7] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AEB68Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB68Cu) goto L_08AEB68C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB68C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB698u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB698u) goto L_08AEB698;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB698:
aot_gpr_31 = (0x08AEB6A0u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 203u, 0x08B00BF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB6A0u) goto L_08AEB6A0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB6A0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15960)));
aot_gpr_31 = (0x08AEB6ACu);
aot_gpr_5 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 636u, 0x08B66A10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB6ACu) goto L_08AEB6AC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB6AC:
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), ctx.gpr[2]);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AEB6C0u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB6C0u) goto L_08AEB6C0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB6C0:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB6DC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ 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]), aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 3u);
aot_gpr_31 = (0x08AEB70Cu);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB70Cu) goto L_08AEB70C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB70C:
ctx.fpr[22] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_fpr_20 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB720u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB720u) goto L_08AEB720;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB720:
aot_gpr_5 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (16256u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[22]) || std::isnan(aot_fpr_12)) && ctx.fpr[22] == aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(236)));
if (branch_taken) {
goto L_08AEB74C;
}
goto L_08AEB73C;
}
L_08AEB73C:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_20) || std::isnan(aot_fpr_12)) && aot_fpr_20 == aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08AEB758;
}
goto L_08AEB74C;
}
L_08AEB74C:
aot_gpr_4 = (aot_gpr_4 | 1u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(236), aot_gpr_4);
if (branch_taken) {
goto L_08AEB764;
}
goto L_08AEB758;
}
L_08AEB758:
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-2));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(236), aot_gpr_4);
goto L_08AEB764;
L_08AEB764:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(352)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(188)));
{ 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_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(208), 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>(192)));
{ 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_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(212), std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), 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];
aot_gpr_17 = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB7A0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AEB7C0u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB7C0u) goto L_08AEB7C0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB7C0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB7CCu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB7CCu) goto L_08AEB7CC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB7CC:
aot_gpr_4 = (0u | 15000u);
aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast<std::uint32_t>(558), static_cast<std::uint16_t>(aot_gpr_4));
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB7E8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEB810u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB810u) goto L_08AEB810;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB810:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB81Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB81Cu) goto L_08AEB81C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB81C:
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>(1280))))));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-3));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (aot_gpr_5 & 255u);
aot_gpr_5 = (aot_gpr_5 & 1u);
aot_gpr_5 = (aot_gpr_5 << 1u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast<std::uint32_t>(1280), static_cast<std::uint8_t>(aot_gpr_4));
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB858:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AEB878u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB878u) goto L_08AEB878;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB878:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB884u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB884u) goto L_08AEB884;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB884:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(80)));
aot_gpr_31 = (0x08AEB890u);
aot_gpr_5 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 190u, 0x08945304u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB890u) goto L_08AEB890;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB890:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB8A4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AEB8CCu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB8CCu) goto L_08AEB8CC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB8CC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB8D8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB8D8u) goto L_08AEB8D8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB8D8:
aot_gpr_4 = (ctx.gpr[2] | 0u);
aot_gpr_31 = (0x08AEB8E4u);
aot_gpr_5 = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0183_entry, 183u, 1019u, 0x08AE3ED0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB8E4u) goto L_08AEB8E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB8E4:
aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08AEB910;
}
goto L_08AEB908;
}
L_08AEB908:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AEB958;
}
goto L_08AEB910;
}
L_08AEB910:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08AEB93C;
}
goto L_08AEB930;
}
L_08AEB930:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AEB958;
}
goto L_08AEB93C;
}
L_08AEB93C:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AEB958;
}
goto L_08AEB954;
}
L_08AEB954:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08AEB958;
L_08AEB958:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEB970:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AEB998u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB998u) goto L_08AEB998;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB998:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEB9A4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB9A4u) goto L_08AEB9A4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB9A4:
aot_gpr_4 = (ctx.gpr[2] | 0u);
aot_gpr_31 = (0x08AEB9B0u);
aot_gpr_5 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0183_entry, 183u, 1019u, 0x08AE3ED0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB9B0u) goto L_08AEB9B0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEB9B0:
aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08AEB9DC;
}
goto L_08AEB9D4;
}
L_08AEB9D4:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AEBA24;
}
goto L_08AEB9DC;
}
L_08AEB9DC:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08AEBA08;
}
goto L_08AEB9FC;
}
L_08AEB9FC:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08AEBA24;
}
goto L_08AEBA08;
}
L_08AEBA08:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AEBA24;
}
goto L_08AEBA20;
}
L_08AEBA20:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08AEBA24;
L_08AEBA24:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEBA3C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEBA64u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBA64u) goto L_08AEBA64;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBA64:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEBA70u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBA70u) goto L_08AEBA70;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBA70:
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>(619))))));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-17));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (aot_gpr_5 & 255u);
aot_gpr_5 = (aot_gpr_5 & 1u);
aot_gpr_5 = (aot_gpr_5 << 4u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast<std::uint32_t>(619), static_cast<std::uint8_t>(aot_gpr_4));
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEBAAC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-48));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(32), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (0u | 2u);
aot_gpr_16 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEBADCu);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBADCu) goto L_08AEBADC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBADC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEBAE8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBAE8u) goto L_08AEBAE8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBAE8:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (0u | 3u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_4);
ctx.gpr[7] = (0u | 5u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), ctx.gpr[7]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), aot_gpr_17);
ctx.gpr[6] = (0u | 4u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(12), ctx.gpr[6]);
aot_gpr_4 = (0u | 8u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_gpr_4);
aot_gpr_4 = (0u | 9u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_gpr_4);
aot_gpr_4 = (0u | 10u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_4);
aot_gpr_4 = (0u | 11u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(28), aot_gpr_4);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
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;
if (branch_taken) {
goto L_08AEBB48;
}
goto L_08AEBB38;
}
L_08AEBB38:
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[6];
if (branch_taken) {
goto L_08AEBB48;
}
goto L_08AEBB40;
}
L_08AEBB40:
{ const bool branch_taken = aot_gpr_4 != ctx.gpr[7];
if (branch_taken) {
goto L_08AEBB7C;
}
goto L_08AEBB48;
}
L_08AEBB48:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(944));
aot_gpr_5 = (aot_gpr_5 << 2u);
aot_gpr_17 = (aot_gpr_29 + aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (0x08AEBB60u);
ctx.gpr[6] = (0u | 3u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 377u, 0x08B0D904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBB60u) goto L_08AEBB60;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBB60:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(16)));
aot_gpr_4 = (aot_gpr_4 << 2u);
aot_gpr_4 = (aot_gpr_16 + aot_gpr_4);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1264)));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AEBB7Cu);
ctx.gpr[6] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 3u, 0x08B00014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBB7Cu) goto L_08AEBB7C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBB7C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(32), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEBB98:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08AEBBB8u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBBB8u) goto L_08AEBBB8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBBB8:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AEBBCC;
}
goto L_08AEBBC4;
}
L_08AEBBC4:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(4224), static_cast<std::uint8_t>(0u));
if (branch_taken) {
goto L_08AEBBD4;
}
goto L_08AEBBCC;
}
L_08AEBBCC:
aot_gpr_4 = (0u | 1u);
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(4224), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08AEBBD4;
L_08AEBBD4:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEBBE8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-48));
{ const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[19] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_17 | 0u);
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08AEBC20u);
ctx.gpr[7] = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBC20u) goto L_08AEBC20;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBC20:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08AEBC2Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBC2Cu) goto L_08AEBC2C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBC2C:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (ctx.gpr[2] + static_cast<std::uint32_t>(384));
aot_gpr_31 = (0x08AEBC3Cu);
ctx.gpr[6] = (aot_gpr_29 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 165u, 0x089DCF78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBC3Cu) goto L_08AEBC3C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBC3C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(4), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(8)));
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(8), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AEBC64u);
ctx.gpr[6] = (0u | 3u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBC64u) goto L_08AEBC64;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBC64:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEBC84:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-112));
{ const std::uint32_t aot_run_words[7]{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]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(80), aot_run_words); }
ctx.gpr[6] = (ctx.gpr[6] & 255u);
aot_gpr_17 = (aot_gpr_4 | 0u);
aot_gpr_16 = (aot_gpr_5 | 0u);
ctx.fpr[24] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
{ const bool branch_taken = ctx.gpr[6] != 0u;
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_14));
if (branch_taken) {
goto L_08AEBCCC;
}
goto L_08AEBCC0;
}
L_08AEBCC0:
aot_gpr_31 = (0x08AEBCC8u);
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, 160u, 0x08AD0AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBCC8u) goto L_08AEBCC8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBCC8:
aot_fpr_20 = aot_fpr_20 + ctx.fpr[0];
goto L_08AEBCCC;
L_08AEBCCC:
aot_gpr_4 = (0u | 0u);
aot_gpr_4 = (aot_gpr_4 & 1u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(72)));
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-2049));
aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]);
aot_gpr_4 = (aot_gpr_4 << 11u);
aot_gpr_4 = (aot_gpr_5 | aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(72), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(852)));
aot_gpr_5 = (0u | 1u);
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_08AEBD0C;
}
goto L_08AEBCFC;
}
L_08AEBCFC:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(852)));
aot_gpr_5 = (0u | 2u);
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08AEBD58;
}
goto L_08AEBD0C;
}
L_08AEBD0C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(92)));
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(112));
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_5 + static_cast<std::uint32_t>(0))))));
aot_gpr_4 = (aot_gpr_16 + aot_gpr_4);
{ 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[22]), std::bit_cast<std::uint32_t>(aot_fpr_20)};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
jump_target = ctx.gpr[6];
aot_gpr_31 = (0x08AEBD34u);
aot_gpr_5 = (aot_gpr_29 | 0u);
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 == 0x08AEBD34u) goto L_08AEBD34;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBD34:
{ 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[22]), std::bit_cast<std::uint32_t>(aot_fpr_20)};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_4 = (aot_gpr_29 | 0u);
aot_gpr_5 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AEBD50u);
ctx.gpr[6] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 424u, 0x0886A030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBD50u) goto L_08AEBD50;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBD50:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEBEC4;
}
goto L_08AEBD58;
}
L_08AEBD58:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(92)));
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(112));
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_5 + static_cast<std::uint32_t>(0))))));
aot_gpr_4 = (aot_gpr_16 + aot_gpr_4);
{ 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[22]), std::bit_cast<std::uint32_t>(aot_fpr_20)};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words); }
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
ctx.gpr[18] = (aot_gpr_29 + static_cast<std::uint32_t>(16));
jump_target = ctx.gpr[6];
aot_gpr_31 = (0x08AEBD84u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
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 == 0x08AEBD84u) goto L_08AEBD84;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBD84:
{ 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[22]), std::bit_cast<std::uint32_t>(aot_fpr_20)};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words); }
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AEBDA0u);
ctx.gpr[6] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 424u, 0x0886A030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBDA0u) goto L_08AEBDA0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBDA0:
aot_gpr_17 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(533))))));
aot_gpr_4 = (aot_gpr_17 < static_cast<std::uint32_t>(23) ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AEBEC4;
}
goto L_08AEBDB0;
}
L_08AEBDB0:
aot_gpr_17 = (aot_gpr_17 << 2u);
ctx.gpr[1] = (2232u << 16u);
ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_17);
ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast<std::uint32_t>(17120)));
jump_target = ctx.gpr[1];
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEBDC8:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEBEC4;
}
goto L_08AEBDD0;
}
L_08AEBDD0:
aot_gpr_31 = (0x08AEBDD8u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 374u, 0x08B41694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBDD8u) goto L_08AEBDD8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBDD8:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEBEC4;
}
goto L_08AEBDE0;
}
L_08AEBDE0:
aot_gpr_17 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
aot_gpr_31 = (0x08AEBDECu);
aot_gpr_4 = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBDECu) goto L_08AEBDEC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBDEC:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08AEBDFCu);
ctx.gpr[6] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBDFCu) goto L_08AEBDFC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBDFC:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEBEC4;
}
goto L_08AEBE04;
}
L_08AEBE04:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEBEC4;
}
goto L_08AEBE0C;
}
L_08AEBE0C:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(448));
{ 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_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_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 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AEBE28u);
ctx.gpr[6] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBE28u) goto L_08AEBE28;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBE28:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEBEC4;
}
goto L_08AEBE30;
}
L_08AEBE30:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEBEC4;
}
goto L_08AEBE38;
}
L_08AEBE38:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(448));
{ 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_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_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 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AEBE54u);
ctx.gpr[6] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBE54u) goto L_08AEBE54;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBE54:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEBEC4;
}
goto L_08AEBE5C;
}
L_08AEBE5C:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEBEC4;
}
goto L_08AEBE64;
}
L_08AEBE64:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(440)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08AEBE98;
}
goto L_08AEBE70;
}
L_08AEBE70:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(440)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(48));
{ 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_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_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 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AEBE90u);
ctx.gpr[6] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBE90u) goto L_08AEBE90;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBE90:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEBEB4;
}
goto L_08AEBE98;
}
L_08AEBE98:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(448));
{ 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_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_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 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AEBEB4u);
ctx.gpr[6] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBEB4u) goto L_08AEBEB4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBEB4:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEBEC4;
}
goto L_08AEBEBC;
}
L_08AEBEBC:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08AEBEC4;
}
goto L_08AEBEC4;
}
L_08AEBEC4:
{ std::uint32_t aot_run_words[7]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(80), 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]);
aot_gpr_16 = aot_run_words[3];
aot_gpr_17 = aot_run_words[4];
ctx.gpr[18] = aot_run_words[5];
aot_gpr_31 = aot_run_words[6];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(112));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08AEBEE8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-112));
{ const std::uint32_t aot_run_words[13]{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]), aot_gpr_16, aot_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>(48), aot_run_words); }
ctx.gpr[23] = (aot_gpr_4 | 0u);
ctx.gpr[19] = (0u | 0u);
aot_gpr_17 = (0u | 0u);
ctx.gpr[20] = (0u | 0u);
ctx.gpr[30] = (ctx.gpr[23] + static_cast<std::uint32_t>(16));
ctx.gpr[21] = (2236u << 16u);
ctx.gpr[22] = (ctx.gpr[21] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (ctx.gpr[30] | 0u);
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08AEBF4Cu);
ctx.gpr[7] = (ctx.gpr[22] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBF4Cu) goto L_08AEBF4C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBF4C:
aot_gpr_31 = (0x08AEBF54u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 168u, 0x08AECA18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBF54u) goto L_08AEBF54;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBF54:
aot_gpr_4 = (49864u << 16u);
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
{ const bool branch_taken = ctx.gpr[2] == 0u;
ctx.gpr[18] = (0u + static_cast<std::uint32_t>(-497));
if (branch_taken) {
(void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 8u, 0x08AEC098u>(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_08AEBF64;
}
L_08AEBF64:
ctx.gpr[18] = (0u | 0u);
aot_gpr_31 = (0x08AEBF70u);
aot_gpr_4 = (0u | 1184u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBF70u) goto L_08AEBF70;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBF70:
aot_gpr_16 = (ctx.gpr[2] | 0u);
if (aot_gpr_16 == 0u) {
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
goto L_08AEBF94;
}
goto L_08AEBF7C;
L_08AEBF7C:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(29704)));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08AEBF8Cu);
ctx.gpr[6] = (0u | 2u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 689u, 0x088A2F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBF8Cu) goto L_08AEBF8C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBF8C:
ctx.gpr[18] = (aot_gpr_16 | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
goto L_08AEBF94;
L_08AEBF94:
aot_gpr_16 = (ctx.gpr[18] | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(ctx.gpr[22] + static_cast<std::uint32_t>(4), aot_run_words);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
aot_fpr_20 = std::bit_cast<float>(aot_run_words[2]);
}
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_20) || std::isnan(aot_fpr_12)) && aot_fpr_20 == aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (50042u << 16u);
if (branch_taken) {
goto L_08AEBFC8;
}
goto L_08AEBFB4;
}
L_08AEBFB4:
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);
ctx.gpr[18] = (0u + static_cast<std::uint32_t>(-497));
if (branch_taken) {
goto L_08AEBFDC;
}
goto L_08AEBFC8;
}
L_08AEBFC8:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_gpr_31 = (0x08AEBFD4u);
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBFD4u) goto L_08AEBFD4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBFD4:
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
ctx.gpr[18] = (0u + static_cast<std::uint32_t>(-497));
goto L_08AEBFDC;
L_08AEBFDC:
aot_gpr_31 = (0x08AEBFE4u);
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, 160u, 0x08AD0AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBFE4u) goto L_08AEBFE4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08AEBFE4:
aot_fpr_12 = aot_fpr_20 + ctx.fpr[0];
{ 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[22]), std::bit_cast<std::uint32_t>(aot_fpr_12)};
aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast<std::uint32_t>(48), aot_run_words); }
{ 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[22]), std::bit_cast<std::uint32_t>(aot_fpr_12)};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words); }
ctx.pc = 0x08AEC000u; AOT_REGCACHE_SYNC_OUT(); return;
}
#undef AOT_REGCACHE_SYNC_IN
#undef AOT_REGCACHE_SYNC_OUT
void recomp_unit_0185(Runtime &rt, AllegrexContext &ctx) {
auto aot_mem = rt.memory().aot_fast_view();
recomp_unit_0185_entry(rt, ctx, 0u, aot_mem);
}
void register_generated_unit_185(Runtime &runtime) {
runtime.register_generated_unit(185u, 0x08AE8000u, 16384u, &recomp_unit_0185, &recomp_unit_0185_entry);
// PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls.
runtime.register_generated_entry_mask(0x08AE8000u, &recomp_unit_0185, "recomp_unit_0185",
kEntryMasks_recomp_unit_0185, 64u);
}
} // namespace psprecomp