.include "macros.inc" .section .rodata .global lbl_803D8918 lbl_803D8918: # ROM: 0x3D5918 .4byte 0x00000002 .4byte 0x00000003 .4byte 0x00000004 .4byte 0x00000006 .global lbl_803D8928 lbl_803D8928: # ROM: 0x3D5928 .4byte 0x3FF921FB .float 2.0 .asciz ">tD-" .balign 4 .4byte 0x3CF84698 .4byte 0x80000000 .4byte 0x3B78CC51 .4byte 0x60000000 .4byte 0x39F01B83 .4byte 0x80000000 .asciz "8z% @" .balign 4 .4byte 0x36E38222 .4byte 0x80000000 .4byte 0x3569F31D .4byte 0 .section .text, "ax" .global __kernel_rem_pio2 __kernel_rem_pio2: /* 803930C0 00390020 94 21 FD 30 */ stwu r1, -0x2d0(r1) /* 803930C4 00390024 7C 08 02 A6 */ mflr r0 /* 803930C8 00390028 90 01 02 D4 */ stw r0, 0x2d4(r1) /* 803930CC 0039002C 39 61 02 D0 */ addi r11, r1, 0x2d0 /* 803930D0 00390030 4B FF 69 0D */ bl _savefpr_25 /* 803930D4 00390034 BE 01 02 58 */ stmw r16, 0x258(r1) /* 803930D8 00390038 3D 20 2A AB */ lis r9, 0x2AAAAAAB@ha /* 803930DC 0039003C 7C F7 3B 78 */ mr r23, r7 /* 803930E0 00390040 38 05 FF FD */ addi r0, r5, -3 /* 803930E4 00390044 3D 40 80 3E */ lis r10, lbl_803D8918@ha /* 803930E8 00390048 38 E9 AA AB */ addi r7, r9, 0x2AAAAAAB@l /* 803930EC 0039004C 56 E9 10 3A */ slwi r9, r23, 2 /* 803930F0 00390050 7C 07 00 96 */ mulhw r0, r7, r0 /* 803930F4 00390054 38 EA 89 18 */ addi r7, r10, lbl_803D8918@l /* 803930F8 00390058 7F 87 48 2E */ lwzx r28, r7, r9 /* 803930FC 0039005C 7C 75 1B 78 */ mr r21, r3 /* 80393100 00390060 7C 96 23 78 */ mr r22, r4 /* 80393104 00390064 7D 18 43 78 */ mr r24, r8 /* 80393108 00390068 7C 00 16 70 */ srawi r0, r0, 2 /* 8039310C 0039006C 3B C6 FF FF */ addi r30, r6, -1 /* 80393110 00390070 54 03 0F FE */ srwi r3, r0, 0x1f /* 80393114 00390074 7F A0 1A 15 */ add. r29, r0, r3 /* 80393118 00390078 40 80 00 08 */ bge lbl_80393120 /* 8039311C 0039007C 3B A0 00 00 */ li r29, 0 lbl_80393120: /* 80393120 00390080 38 1D 00 01 */ addi r0, r29, 1 /* 80393124 00390084 7C FE E2 15 */ add. r7, r30, r28 /* 80393128 00390088 1C 80 00 18 */ mulli r4, r0, 0x18 /* 8039312C 0039008C 7C DE E8 50 */ subf r6, r30, r29 /* 80393130 00390090 C8 22 D3 F8 */ lfd f1, lbl_805AF118@sda21(r2) /* 80393134 00390094 54 C3 10 3A */ slwi r3, r6, 2 /* 80393138 00390098 7F 44 28 50 */ subf r26, r4, r5 /* 8039313C 0039009C 38 07 00 01 */ addi r0, r7, 1 /* 80393140 003900A0 7C 98 1A 14 */ add r4, r24, r3 /* 80393144 003900A4 38 A1 01 98 */ addi r5, r1, 0x198 /* 80393148 003900A8 3C 60 43 30 */ lis r3, 0x4330 /* 8039314C 003900AC 7C 09 03 A6 */ mtctr r0 /* 80393150 003900B0 41 80 00 40 */ blt lbl_80393190 lbl_80393154: /* 80393154 003900B4 2C 06 00 00 */ cmpwi r6, 0 /* 80393158 003900B8 40 80 00 0C */ bge lbl_80393164 /* 8039315C 003900BC C8 02 D3 C0 */ lfd f0, lbl_805AF0E0@sda21(r2) /* 80393160 003900C0 48 00 00 1C */ b lbl_8039317C lbl_80393164: /* 80393164 003900C4 80 04 00 00 */ lwz r0, 0(r4) /* 80393168 003900C8 90 61 02 38 */ stw r3, 0x238(r1) /* 8039316C 003900CC 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 80393170 003900D0 90 01 02 3C */ stw r0, 0x23c(r1) /* 80393174 003900D4 C8 01 02 38 */ lfd f0, 0x238(r1) /* 80393178 003900D8 FC 00 08 28 */ fsub f0, f0, f1 lbl_8039317C: /* 8039317C 003900DC D8 05 00 00 */ stfd f0, 0(r5) /* 80393180 003900E0 38 A5 00 08 */ addi r5, r5, 8 /* 80393184 003900E4 38 84 00 04 */ addi r4, r4, 4 /* 80393188 003900E8 38 C6 00 01 */ addi r6, r6, 1 /* 8039318C 003900EC 42 00 FF C8 */ bdnz lbl_80393154 lbl_80393190: /* 80393190 003900F0 38 A1 00 58 */ addi r5, r1, 0x58 /* 80393194 003900F4 38 E0 00 00 */ li r7, 0 /* 80393198 003900F8 48 00 01 5C */ b lbl_803932F4 lbl_8039319C: /* 8039319C 003900FC 2C 1E 00 00 */ cmpwi r30, 0 /* 803931A0 00390100 C8 82 D3 C0 */ lfd f4, lbl_805AF0E0@sda21(r2) /* 803931A4 00390104 38 C0 00 00 */ li r6, 0 /* 803931A8 00390108 41 80 01 40 */ blt lbl_803932E8 /* 803931AC 0039010C 38 1E 00 01 */ addi r0, r30, 1 /* 803931B0 00390110 39 3E FF F8 */ addi r9, r30, -8 /* 803931B4 00390114 2C 00 00 08 */ cmpwi r0, 8 /* 803931B8 00390118 40 81 00 EC */ ble lbl_803932A4 /* 803931BC 0039011C 39 09 00 08 */ addi r8, r9, 8 /* 803931C0 00390120 7E A4 AB 78 */ mr r4, r21 /* 803931C4 00390124 55 08 E8 FE */ srwi r8, r8, 3 /* 803931C8 00390128 7C 1E 3A 14 */ add r0, r30, r7 /* 803931CC 0039012C 38 61 01 98 */ addi r3, r1, 0x198 /* 803931D0 00390130 7D 09 03 A6 */ mtctr r8 /* 803931D4 00390134 2C 09 00 00 */ cmpwi r9, 0 /* 803931D8 00390138 41 80 00 CC */ blt lbl_803932A4 lbl_803931DC: /* 803931DC 0039013C 7D 06 00 50 */ subf r8, r6, r0 /* 803931E0 00390140 39 26 00 01 */ addi r9, r6, 1 /* 803931E4 00390144 55 0A 18 38 */ slwi r10, r8, 3 /* 803931E8 00390148 C8 24 00 00 */ lfd f1, 0(r4) /* 803931EC 0039014C 7C 03 54 AE */ lfdx f0, r3, r10 /* 803931F0 00390150 7D 29 00 50 */ subf r9, r9, r0 /* 803931F4 00390154 55 2A 18 38 */ slwi r10, r9, 3 /* 803931F8 00390158 39 06 00 02 */ addi r8, r6, 2 /* 803931FC 0039015C FC 81 20 3A */ fmadd f4, f1, f0, f4 /* 80393200 00390160 7D 28 00 50 */ subf r9, r8, r0 /* 80393204 00390164 39 06 00 03 */ addi r8, r6, 3 /* 80393208 00390168 C8 24 00 08 */ lfd f1, 8(r4) /* 8039320C 0039016C 7C 03 54 AE */ lfdx f0, r3, r10 /* 80393210 00390170 7D 08 00 50 */ subf r8, r8, r0 /* 80393214 00390174 FC 81 20 3A */ fmadd f4, f1, f0, f4 /* 80393218 00390178 55 29 18 38 */ slwi r9, r9, 3 /* 8039321C 0039017C C8 24 00 10 */ lfd f1, 0x10(r4) /* 80393220 00390180 55 0A 18 38 */ slwi r10, r8, 3 /* 80393224 00390184 7C 03 4C AE */ lfdx f0, r3, r9 /* 80393228 00390188 39 06 00 04 */ addi r8, r6, 4 /* 8039322C 0039018C FC 81 20 3A */ fmadd f4, f1, f0, f4 /* 80393230 00390190 C8 24 00 18 */ lfd f1, 0x18(r4) /* 80393234 00390194 7C 03 54 AE */ lfdx f0, r3, r10 /* 80393238 00390198 7D 28 00 50 */ subf r9, r8, r0 /* 8039323C 0039019C 55 2A 18 38 */ slwi r10, r9, 3 /* 80393240 003901A0 39 06 00 05 */ addi r8, r6, 5 /* 80393244 003901A4 FC 81 20 3A */ fmadd f4, f1, f0, f4 /* 80393248 003901A8 C8 44 00 20 */ lfd f2, 0x20(r4) /* 8039324C 003901AC 7C 03 54 AE */ lfdx f0, r3, r10 /* 80393250 003901B0 7D 08 00 50 */ subf r8, r8, r0 /* 80393254 003901B4 55 0A 18 38 */ slwi r10, r8, 3 /* 80393258 003901B8 39 26 00 06 */ addi r9, r6, 6 /* 8039325C 003901BC FC 82 20 3A */ fmadd f4, f2, f0, f4 /* 80393260 003901C0 7D 29 00 50 */ subf r9, r9, r0 /* 80393264 003901C4 55 29 18 38 */ slwi r9, r9, 3 /* 80393268 003901C8 C8 24 00 28 */ lfd f1, 0x28(r4) /* 8039326C 003901CC 7C 03 54 AE */ lfdx f0, r3, r10 /* 80393270 003901D0 39 06 00 07 */ addi r8, r6, 7 /* 80393274 003901D4 FC 81 20 3A */ fmadd f4, f1, f0, f4 /* 80393278 003901D8 7D 08 00 50 */ subf r8, r8, r0 /* 8039327C 003901DC 55 08 18 38 */ slwi r8, r8, 3 /* 80393280 003901E0 C8 64 00 30 */ lfd f3, 0x30(r4) /* 80393284 003901E4 7C 43 4C AE */ lfdx f2, r3, r9 /* 80393288 003901E8 38 C6 00 08 */ addi r6, r6, 8 /* 8039328C 003901EC C8 24 00 38 */ lfd f1, 0x38(r4) /* 80393290 003901F0 FC 83 20 BA */ fmadd f4, f3, f2, f4 /* 80393294 003901F4 7C 03 44 AE */ lfdx f0, r3, r8 /* 80393298 003901F8 38 84 00 40 */ addi r4, r4, 0x40 /* 8039329C 003901FC FC 81 20 3A */ fmadd f4, f1, f0, f4 /* 803932A0 00390200 42 00 FF 3C */ bdnz lbl_803931DC lbl_803932A4: /* 803932A4 00390204 38 1E 00 01 */ addi r0, r30, 1 /* 803932A8 00390208 54 C3 18 38 */ slwi r3, r6, 3 /* 803932AC 0039020C 7C 06 00 50 */ subf r0, r6, r0 /* 803932B0 00390210 7D 1E 3A 14 */ add r8, r30, r7 /* 803932B4 00390214 7C 95 1A 14 */ add r4, r21, r3 /* 803932B8 00390218 38 61 01 98 */ addi r3, r1, 0x198 /* 803932BC 0039021C 7C 09 03 A6 */ mtctr r0 /* 803932C0 00390220 7C 06 F0 00 */ cmpw r6, r30 /* 803932C4 00390224 41 81 00 24 */ bgt lbl_803932E8 lbl_803932C8: /* 803932C8 00390228 7C 06 40 50 */ subf r0, r6, r8 /* 803932CC 0039022C C8 24 00 00 */ lfd f1, 0(r4) /* 803932D0 00390230 54 00 18 38 */ slwi r0, r0, 3 /* 803932D4 00390234 38 84 00 08 */ addi r4, r4, 8 /* 803932D8 00390238 7C 03 04 AE */ lfdx f0, r3, r0 /* 803932DC 0039023C 38 C6 00 01 */ addi r6, r6, 1 /* 803932E0 00390240 FC 81 20 3A */ fmadd f4, f1, f0, f4 /* 803932E4 00390244 42 00 FF E4 */ bdnz lbl_803932C8 lbl_803932E8: /* 803932E8 00390248 D8 85 00 00 */ stfd f4, 0(r5) /* 803932EC 0039024C 38 A5 00 08 */ addi r5, r5, 8 /* 803932F0 00390250 38 E7 00 01 */ addi r7, r7, 1 lbl_803932F4: /* 803932F4 00390254 7C 07 E0 00 */ cmpw r7, r28 /* 803932F8 00390258 40 81 FE A4 */ ble lbl_8039319C /* 803932FC 0039025C 22 5A 00 18 */ subfic r18, r26, 0x18 /* 80393300 00390260 CB 42 D3 C8 */ lfd f26, lbl_805AF0E8@sda21(r2) /* 80393304 00390264 CB 62 D3 F8 */ lfd f27, lbl_805AF118@sda21(r2) /* 80393308 00390268 3A 01 00 08 */ addi r16, r1, 8 /* 8039330C 0039026C CB 82 D3 D0 */ lfd f28, lbl_805AF0F0@sda21(r2) /* 80393310 00390270 7F 9F E3 78 */ mr r31, r28 /* 80393314 00390274 CB A2 D3 E0 */ lfd f29, lbl_805AF100@sda21(r2) /* 80393318 00390278 22 3A 00 17 */ subfic r17, r26, 0x17 /* 8039331C 0039027C CB C2 D3 D8 */ lfd f30, lbl_805AF0F8@sda21(r2) /* 80393320 00390280 3A 81 01 98 */ addi r20, r1, 0x198 /* 80393324 00390284 CB E2 D3 C0 */ lfd f31, lbl_805AF0E0@sda21(r2) /* 80393328 00390288 3E 60 43 30 */ lis r19, 0x4330 lbl_8039332C: /* 8039332C 0039028C 57 E0 18 38 */ slwi r0, r31, 3 /* 80393330 00390290 38 A1 00 58 */ addi r5, r1, 0x58 /* 80393334 00390294 7C A5 02 14 */ add r5, r5, r0 /* 80393338 00390298 2C 1F 00 00 */ cmpwi r31, 0 /* 8039333C 0039029C C8 25 00 00 */ lfd f1, 0(r5) /* 80393340 003902A0 7E 04 83 78 */ mr r4, r16 /* 80393344 003902A4 7F E3 FB 78 */ mr r3, r31 /* 80393348 003902A8 40 81 00 EC */ ble lbl_80393434 /* 8039334C 003902AC 57 E0 F8 7F */ rlwinm. r0, r31, 0x1f, 1, 0x1f /* 80393350 003902B0 7C 09 03 A6 */ mtctr r0 /* 80393354 003902B4 41 82 00 94 */ beq lbl_803933E8 lbl_80393358: /* 80393358 003902B8 FC 7A 00 72 */ fmul f3, f26, f1 /* 8039335C 003902BC 92 61 02 40 */ stw r19, 0x240(r1) /* 80393360 003902C0 C8 05 FF F8 */ lfd f0, -8(r5) /* 80393364 003902C4 FC 40 18 1E */ fctiwz f2, f3 /* 80393368 003902C8 D8 41 02 38 */ stfd f2, 0x238(r1) /* 8039336C 003902CC 80 01 02 3C */ lwz r0, 0x23c(r1) /* 80393370 003902D0 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 80393374 003902D4 90 01 02 44 */ stw r0, 0x244(r1) /* 80393378 003902D8 C8 41 02 40 */ lfd f2, 0x240(r1) /* 8039337C 003902DC FC 62 D8 28 */ fsub f3, f2, f27 /* 80393380 003902E0 92 61 02 40 */ stw r19, 0x240(r1) /* 80393384 003902E4 FC 5C 08 FC */ fnmsub f2, f28, f3, f1 /* 80393388 003902E8 FC 23 00 2A */ fadd f1, f3, f0 /* 8039338C 003902EC CC 05 FF F0 */ lfdu f0, -0x10(r5) /* 80393390 003902F0 FC 40 10 1E */ fctiwz f2, f2 /* 80393394 003902F4 FC 7A 00 72 */ fmul f3, f26, f1 /* 80393398 003902F8 D8 41 02 48 */ stfd f2, 0x248(r1) /* 8039339C 003902FC FC 40 18 1E */ fctiwz f2, f3 /* 803933A0 00390300 80 01 02 4C */ lwz r0, 0x24c(r1) /* 803933A4 00390304 90 04 00 00 */ stw r0, 0(r4) /* 803933A8 00390308 D8 41 02 38 */ stfd f2, 0x238(r1) /* 803933AC 0039030C 80 01 02 3C */ lwz r0, 0x23c(r1) /* 803933B0 00390310 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 803933B4 00390314 90 01 02 44 */ stw r0, 0x244(r1) /* 803933B8 00390318 C8 41 02 40 */ lfd f2, 0x240(r1) /* 803933BC 0039031C FC 62 D8 28 */ fsub f3, f2, f27 /* 803933C0 00390320 FC 5C 08 FC */ fnmsub f2, f28, f3, f1 /* 803933C4 00390324 FC 23 00 2A */ fadd f1, f3, f0 /* 803933C8 00390328 FC 40 10 1E */ fctiwz f2, f2 /* 803933CC 0039032C D8 41 02 48 */ stfd f2, 0x248(r1) /* 803933D0 00390330 80 01 02 4C */ lwz r0, 0x24c(r1) /* 803933D4 00390334 90 04 00 04 */ stw r0, 4(r4) /* 803933D8 00390338 38 84 00 08 */ addi r4, r4, 8 /* 803933DC 0039033C 42 00 FF 7C */ bdnz lbl_80393358 /* 803933E0 00390340 70 63 00 01 */ andi. r3, r3, 1 /* 803933E4 00390344 41 82 00 50 */ beq lbl_80393434 lbl_803933E8: /* 803933E8 00390348 7C 69 03 A6 */ mtctr r3 lbl_803933EC: /* 803933EC 0039034C FC 7A 00 72 */ fmul f3, f26, f1 /* 803933F0 00390350 92 61 02 40 */ stw r19, 0x240(r1) /* 803933F4 00390354 CC 05 FF F8 */ lfdu f0, -8(r5) /* 803933F8 00390358 FC 40 18 1E */ fctiwz f2, f3 /* 803933FC 0039035C D8 41 02 38 */ stfd f2, 0x238(r1) /* 80393400 00390360 80 01 02 3C */ lwz r0, 0x23c(r1) /* 80393404 00390364 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 80393408 00390368 90 01 02 44 */ stw r0, 0x244(r1) /* 8039340C 0039036C C8 41 02 40 */ lfd f2, 0x240(r1) /* 80393410 00390370 FC 62 D8 28 */ fsub f3, f2, f27 /* 80393414 00390374 FC 5C 08 FC */ fnmsub f2, f28, f3, f1 /* 80393418 00390378 FC 23 00 2A */ fadd f1, f3, f0 /* 8039341C 0039037C FC 40 10 1E */ fctiwz f2, f2 /* 80393420 00390380 D8 41 02 48 */ stfd f2, 0x248(r1) /* 80393424 00390384 80 01 02 4C */ lwz r0, 0x24c(r1) /* 80393428 00390388 90 04 00 00 */ stw r0, 0(r4) /* 8039342C 0039038C 38 84 00 04 */ addi r4, r4, 4 /* 80393430 00390390 42 00 FF BC */ bdnz lbl_803933EC lbl_80393434: /* 80393434 00390394 7F 43 D3 78 */ mr r3, r26 /* 80393438 00390398 48 00 12 61 */ bl ldexp /* 8039343C 0039039C FF 20 08 90 */ fmr f25, f1 /* 80393440 003903A0 FC 3D 06 72 */ fmul f1, f29, f25 /* 80393444 003903A4 48 00 10 81 */ bl floor /* 80393448 003903A8 FF 3E C8 7C */ fnmsub f25, f30, f1, f25 /* 8039344C 003903AC 92 61 02 40 */ stw r19, 0x240(r1) /* 80393450 003903B0 2C 1A 00 00 */ cmpwi r26, 0 /* 80393454 003903B4 3B 20 00 00 */ li r25, 0 /* 80393458 003903B8 FC 00 C8 1E */ fctiwz f0, f25 /* 8039345C 003903BC D8 01 02 48 */ stfd f0, 0x248(r1) /* 80393460 003903C0 83 61 02 4C */ lwz r27, 0x24c(r1) /* 80393464 003903C4 6F 60 80 00 */ xoris r0, r27, 0x8000 /* 80393468 003903C8 90 01 02 44 */ stw r0, 0x244(r1) /* 8039346C 003903CC C8 01 02 40 */ lfd f0, 0x240(r1) /* 80393470 003903D0 FC 00 D8 28 */ fsub f0, f0, f27 /* 80393474 003903D4 FF 39 00 28 */ fsub f25, f25, f0 /* 80393478 003903D8 40 81 00 34 */ ble lbl_803934AC /* 8039347C 003903DC 57 E3 10 3A */ slwi r3, r31, 2 /* 80393480 003903E0 38 81 00 08 */ addi r4, r1, 8 /* 80393484 003903E4 38 A3 FF FC */ addi r5, r3, -4 /* 80393488 003903E8 7C 64 28 2E */ lwzx r3, r4, r5 /* 8039348C 003903EC 7C 66 96 30 */ sraw r6, r3, r18 /* 80393490 003903F0 7C C0 90 30 */ slw r0, r6, r18 /* 80393494 003903F4 7C 00 18 50 */ subf r0, r0, r3 /* 80393498 003903F8 7F 7B 32 14 */ add r27, r27, r6 /* 8039349C 003903FC 7C 04 29 2E */ stwx r0, r4, r5 /* 803934A0 00390400 7C 04 28 2E */ lwzx r0, r4, r5 /* 803934A4 00390404 7C 19 8E 30 */ sraw r25, r0, r17 /* 803934A8 00390408 48 00 00 34 */ b lbl_803934DC lbl_803934AC: /* 803934AC 0039040C 40 82 00 1C */ bne lbl_803934C8 /* 803934B0 00390410 57 E4 10 3A */ slwi r4, r31, 2 /* 803934B4 00390414 38 61 00 08 */ addi r3, r1, 8 /* 803934B8 00390418 38 04 FF FC */ addi r0, r4, -4 /* 803934BC 0039041C 7C 03 00 2E */ lwzx r0, r3, r0 /* 803934C0 00390420 7C 19 BE 70 */ srawi r25, r0, 0x17 /* 803934C4 00390424 48 00 00 18 */ b lbl_803934DC lbl_803934C8: /* 803934C8 00390428 C8 02 D3 E8 */ lfd f0, lbl_805AF108@sda21(r2) /* 803934CC 0039042C FC 19 00 40 */ fcmpo cr0, f25, f0 /* 803934D0 00390430 4C 41 13 82 */ cror 2, 1, 2 /* 803934D4 00390434 40 82 00 08 */ bne lbl_803934DC /* 803934D8 00390438 3B 20 00 02 */ li r25, 2 lbl_803934DC: /* 803934DC 0039043C 2C 19 00 00 */ cmpwi r25, 0 /* 803934E0 00390440 40 81 00 D0 */ ble lbl_803935B0 /* 803934E4 00390444 3C A0 01 00 */ lis r5, 0x00FFFFFF@ha /* 803934E8 00390448 7E 06 83 78 */ mr r6, r16 /* 803934EC 0039044C 38 00 00 00 */ li r0, 0 /* 803934F0 00390450 38 85 FF FF */ addi r4, r5, 0x00FFFFFF@l /* 803934F4 00390454 7F E9 03 A6 */ mtctr r31 /* 803934F8 00390458 2C 1F 00 00 */ cmpwi r31, 0 /* 803934FC 0039045C 3B 7B 00 01 */ addi r27, r27, 1 /* 80393500 00390460 40 81 00 38 */ ble lbl_80393538 lbl_80393504: /* 80393504 00390464 2C 00 00 00 */ cmpwi r0, 0 /* 80393508 00390468 80 66 00 00 */ lwz r3, 0(r6) /* 8039350C 0039046C 40 82 00 1C */ bne lbl_80393528 /* 80393510 00390470 2C 03 00 00 */ cmpwi r3, 0 /* 80393514 00390474 41 82 00 1C */ beq lbl_80393530 /* 80393518 00390478 7C 63 28 50 */ subf r3, r3, r5 /* 8039351C 0039047C 38 00 00 01 */ li r0, 1 /* 80393520 00390480 90 66 00 00 */ stw r3, 0(r6) /* 80393524 00390484 48 00 00 0C */ b lbl_80393530 lbl_80393528: /* 80393528 00390488 7C 63 20 50 */ subf r3, r3, r4 /* 8039352C 0039048C 90 66 00 00 */ stw r3, 0(r6) lbl_80393530: /* 80393530 00390490 38 C6 00 04 */ addi r6, r6, 4 /* 80393534 00390494 42 00 FF D0 */ bdnz lbl_80393504 lbl_80393538: /* 80393538 00390498 2C 1A 00 00 */ cmpwi r26, 0 /* 8039353C 0039049C 40 81 00 50 */ ble lbl_8039358C /* 80393540 003904A0 2C 1A 00 02 */ cmpwi r26, 2 /* 80393544 003904A4 41 82 00 30 */ beq lbl_80393574 /* 80393548 003904A8 40 80 00 44 */ bge lbl_8039358C /* 8039354C 003904AC 2C 1A 00 01 */ cmpwi r26, 1 /* 80393550 003904B0 40 80 00 08 */ bge lbl_80393558 /* 80393554 003904B4 48 00 00 38 */ b lbl_8039358C lbl_80393558: /* 80393558 003904B8 57 E3 10 3A */ slwi r3, r31, 2 /* 8039355C 003904BC 38 A1 00 08 */ addi r5, r1, 8 /* 80393560 003904C0 38 83 FF FC */ addi r4, r3, -4 /* 80393564 003904C4 7C 65 20 2E */ lwzx r3, r5, r4 /* 80393568 003904C8 54 63 02 7E */ clrlwi r3, r3, 9 /* 8039356C 003904CC 7C 65 21 2E */ stwx r3, r5, r4 /* 80393570 003904D0 48 00 00 1C */ b lbl_8039358C lbl_80393574: /* 80393574 003904D4 57 E3 10 3A */ slwi r3, r31, 2 /* 80393578 003904D8 38 A1 00 08 */ addi r5, r1, 8 /* 8039357C 003904DC 38 83 FF FC */ addi r4, r3, -4 /* 80393580 003904E0 7C 65 20 2E */ lwzx r3, r5, r4 /* 80393584 003904E4 54 63 02 BE */ clrlwi r3, r3, 0xa /* 80393588 003904E8 7C 65 21 2E */ stwx r3, r5, r4 lbl_8039358C: /* 8039358C 003904EC 2C 19 00 02 */ cmpwi r25, 2 /* 80393590 003904F0 40 82 00 20 */ bne lbl_803935B0 /* 80393594 003904F4 C8 22 D3 F0 */ lfd f1, lbl_805AF110@sda21(r2) /* 80393598 003904F8 2C 00 00 00 */ cmpwi r0, 0 /* 8039359C 003904FC FF 21 C8 28 */ fsub f25, f1, f25 /* 803935A0 00390500 41 82 00 10 */ beq lbl_803935B0 /* 803935A4 00390504 7F 43 D3 78 */ mr r3, r26 /* 803935A8 00390508 48 00 10 F1 */ bl ldexp /* 803935AC 0039050C FF 39 08 28 */ fsub f25, f25, f1 lbl_803935B0: /* 803935B0 00390510 FC 1F C8 00 */ fcmpu cr0, f31, f25 /* 803935B4 00390514 40 82 02 64 */ bne lbl_80393818 /* 803935B8 00390518 38 7F FF FF */ addi r3, r31, -1 /* 803935BC 0039051C 38 81 00 08 */ addi r4, r1, 8 /* 803935C0 00390520 7C 03 E0 00 */ cmpw r3, r28 /* 803935C4 00390524 38 A0 00 00 */ li r5, 0 /* 803935C8 00390528 54 60 10 3A */ slwi r0, r3, 2 /* 803935CC 0039052C 38 63 00 01 */ addi r3, r3, 1 /* 803935D0 00390530 7C 84 02 14 */ add r4, r4, r0 /* 803935D4 00390534 7C 7C 18 50 */ subf r3, r28, r3 /* 803935D8 00390538 41 80 00 74 */ blt lbl_8039364C /* 803935DC 0039053C 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f /* 803935E0 00390540 7C 09 03 A6 */ mtctr r0 /* 803935E4 00390544 41 82 00 54 */ beq lbl_80393638 lbl_803935E8: /* 803935E8 00390548 80 04 00 00 */ lwz r0, 0(r4) /* 803935EC 0039054C 7C A5 03 78 */ or r5, r5, r0 /* 803935F0 00390550 80 04 FF FC */ lwz r0, -4(r4) /* 803935F4 00390554 7C A5 03 78 */ or r5, r5, r0 /* 803935F8 00390558 80 04 FF F8 */ lwz r0, -8(r4) /* 803935FC 0039055C 7C A5 03 78 */ or r5, r5, r0 /* 80393600 00390560 80 04 FF F4 */ lwz r0, -0xc(r4) /* 80393604 00390564 7C A5 03 78 */ or r5, r5, r0 /* 80393608 00390568 80 04 FF F0 */ lwz r0, -0x10(r4) /* 8039360C 0039056C 7C A5 03 78 */ or r5, r5, r0 /* 80393610 00390570 80 04 FF EC */ lwz r0, -0x14(r4) /* 80393614 00390574 7C A5 03 78 */ or r5, r5, r0 /* 80393618 00390578 80 04 FF E8 */ lwz r0, -0x18(r4) /* 8039361C 0039057C 7C A5 03 78 */ or r5, r5, r0 /* 80393620 00390580 80 04 FF E4 */ lwz r0, -0x1c(r4) /* 80393624 00390584 38 84 FF E0 */ addi r4, r4, -32 /* 80393628 00390588 7C A5 03 78 */ or r5, r5, r0 /* 8039362C 0039058C 42 00 FF BC */ bdnz lbl_803935E8 /* 80393630 00390590 70 63 00 07 */ andi. r3, r3, 7 /* 80393634 00390594 41 82 00 18 */ beq lbl_8039364C lbl_80393638: /* 80393638 00390598 7C 69 03 A6 */ mtctr r3 lbl_8039363C: /* 8039363C 0039059C 80 04 00 00 */ lwz r0, 0(r4) /* 80393640 003905A0 38 84 FF FC */ addi r4, r4, -4 /* 80393644 003905A4 7C A5 03 78 */ or r5, r5, r0 /* 80393648 003905A8 42 00 FF F4 */ bdnz lbl_8039363C lbl_8039364C: /* 8039364C 003905AC 2C 05 00 00 */ cmpwi r5, 0 /* 80393650 003905B0 40 82 01 C8 */ bne lbl_80393818 /* 80393654 003905B4 39 40 00 01 */ li r10, 1 /* 80393658 003905B8 48 00 00 08 */ b lbl_80393660 lbl_8039365C: /* 8039365C 003905BC 39 4A 00 01 */ addi r10, r10, 1 lbl_80393660: /* 80393660 003905C0 7C 0A E0 50 */ subf r0, r10, r28 /* 80393664 003905C4 54 00 10 3A */ slwi r0, r0, 2 /* 80393668 003905C8 7C 10 00 2E */ lwzx r0, r16, r0 /* 8039366C 003905CC 2C 00 00 00 */ cmpwi r0, 0 /* 80393670 003905D0 41 82 FF EC */ beq lbl_8039365C /* 80393674 003905D4 39 3F 00 01 */ addi r9, r31, 1 /* 80393678 003905D8 38 A1 00 58 */ addi r5, r1, 0x58 /* 8039367C 003905DC 55 20 18 38 */ slwi r0, r9, 3 /* 80393680 003905E0 7C DF 52 14 */ add r6, r31, r10 /* 80393684 003905E4 7C A5 02 14 */ add r5, r5, r0 /* 80393688 003905E8 48 00 01 80 */ b lbl_80393808 lbl_8039368C: /* 8039368C 003905EC 7C 1D 4A 14 */ add r0, r29, r9 /* 80393690 003905F0 7C FE 4A 14 */ add r7, r30, r9 /* 80393694 003905F4 54 00 10 3A */ slwi r0, r0, 2 /* 80393698 003905F8 92 61 02 48 */ stw r19, 0x248(r1) /* 8039369C 003905FC 7C 78 00 2E */ lwzx r3, r24, r0 /* 803936A0 00390600 2C 1E 00 00 */ cmpwi r30, 0 /* 803936A4 00390604 54 E0 18 38 */ slwi r0, r7, 3 /* 803936A8 00390608 C8 82 D3 C0 */ lfd f4, lbl_805AF0E0@sda21(r2) /* 803936AC 0039060C 6C 63 80 00 */ xoris r3, r3, 0x8000 /* 803936B0 00390610 39 00 00 00 */ li r8, 0 /* 803936B4 00390614 90 61 02 4C */ stw r3, 0x24c(r1) /* 803936B8 00390618 C8 01 02 48 */ lfd f0, 0x248(r1) /* 803936BC 0039061C FC 00 D8 28 */ fsub f0, f0, f27 /* 803936C0 00390620 7C 14 05 AE */ stfdx f0, r20, r0 /* 803936C4 00390624 41 80 01 38 */ blt lbl_803937FC /* 803936C8 00390628 38 1E 00 01 */ addi r0, r30, 1 /* 803936CC 0039062C 39 7E FF F8 */ addi r11, r30, -8 /* 803936D0 00390630 2C 00 00 08 */ cmpwi r0, 8 /* 803936D4 00390634 40 81 00 E8 */ ble lbl_803937BC /* 803936D8 00390638 38 0B 00 08 */ addi r0, r11, 8 /* 803936DC 0039063C 7E A4 AB 78 */ mr r4, r21 /* 803936E0 00390640 54 00 E8 FE */ srwi r0, r0, 3 /* 803936E4 00390644 38 61 01 98 */ addi r3, r1, 0x198 /* 803936E8 00390648 7C 09 03 A6 */ mtctr r0 /* 803936EC 0039064C 2C 0B 00 00 */ cmpwi r11, 0 /* 803936F0 00390650 41 80 00 CC */ blt lbl_803937BC lbl_803936F4: /* 803936F4 00390654 7D 68 38 50 */ subf r11, r8, r7 /* 803936F8 00390658 38 08 00 01 */ addi r0, r8, 1 /* 803936FC 0039065C 55 6C 18 38 */ slwi r12, r11, 3 /* 80393700 00390660 C8 24 00 00 */ lfd f1, 0(r4) /* 80393704 00390664 7C 03 64 AE */ lfdx f0, r3, r12 /* 80393708 00390668 7C 00 38 50 */ subf r0, r0, r7 /* 8039370C 0039066C 39 68 00 02 */ addi r11, r8, 2 /* 80393710 00390670 C8 44 00 20 */ lfd f2, 0x20(r4) /* 80393714 00390674 FC 81 20 3A */ fmadd f4, f1, f0, f4 /* 80393718 00390678 7D 8B 38 50 */ subf r12, r11, r7 /* 8039371C 0039067C 54 00 18 38 */ slwi r0, r0, 3 /* 80393720 00390680 39 68 00 03 */ addi r11, r8, 3 /* 80393724 00390684 7C 03 04 AE */ lfdx f0, r3, r0 /* 80393728 00390688 55 99 18 38 */ slwi r25, r12, 3 /* 8039372C 0039068C C8 24 00 08 */ lfd f1, 8(r4) /* 80393730 00390690 7D 6B 38 50 */ subf r11, r11, r7 /* 80393734 00390694 55 6C 18 38 */ slwi r12, r11, 3 /* 80393738 00390698 38 08 00 04 */ addi r0, r8, 4 /* 8039373C 0039069C FC 81 20 3A */ fmadd f4, f1, f0, f4 /* 80393740 003906A0 C8 24 00 10 */ lfd f1, 0x10(r4) /* 80393744 003906A4 7C 03 CC AE */ lfdx f0, r3, r25 /* 80393748 003906A8 7D 60 38 50 */ subf r11, r0, r7 /* 8039374C 003906AC 38 08 00 05 */ addi r0, r8, 5 /* 80393750 003906B0 C8 64 00 30 */ lfd f3, 0x30(r4) /* 80393754 003906B4 FC 81 20 3A */ fmadd f4, f1, f0, f4 /* 80393758 003906B8 7C 03 64 AE */ lfdx f0, r3, r12 /* 8039375C 003906BC C8 24 00 18 */ lfd f1, 0x18(r4) /* 80393760 003906C0 55 6C 18 38 */ slwi r12, r11, 3 /* 80393764 003906C4 39 68 00 06 */ addi r11, r8, 6 /* 80393768 003906C8 7C 00 38 50 */ subf r0, r0, r7 /* 8039376C 003906CC FC 81 20 3A */ fmadd f4, f1, f0, f4 /* 80393770 003906D0 7C 03 64 AE */ lfdx f0, r3, r12 /* 80393774 003906D4 54 0C 18 38 */ slwi r12, r0, 3 /* 80393778 003906D8 C8 24 00 28 */ lfd f1, 0x28(r4) /* 8039377C 003906DC 38 08 00 07 */ addi r0, r8, 7 /* 80393780 003906E0 7D 6B 38 50 */ subf r11, r11, r7 /* 80393784 003906E4 FC 82 20 3A */ fmadd f4, f2, f0, f4 /* 80393788 003906E8 7C 03 64 AE */ lfdx f0, r3, r12 /* 8039378C 003906EC 55 6B 18 38 */ slwi r11, r11, 3 /* 80393790 003906F0 7C 00 38 50 */ subf r0, r0, r7 /* 80393794 003906F4 7C 43 5C AE */ lfdx f2, r3, r11 /* 80393798 003906F8 54 00 18 38 */ slwi r0, r0, 3 /* 8039379C 003906FC FC 81 20 3A */ fmadd f4, f1, f0, f4 /* 803937A0 00390700 C8 24 00 38 */ lfd f1, 0x38(r4) /* 803937A4 00390704 7C 03 04 AE */ lfdx f0, r3, r0 /* 803937A8 00390708 38 84 00 40 */ addi r4, r4, 0x40 /* 803937AC 0039070C 39 08 00 08 */ addi r8, r8, 8 /* 803937B0 00390710 FC 83 20 BA */ fmadd f4, f3, f2, f4 /* 803937B4 00390714 FC 81 20 3A */ fmadd f4, f1, f0, f4 /* 803937B8 00390718 42 00 FF 3C */ bdnz lbl_803936F4 lbl_803937BC: /* 803937BC 0039071C 38 1E 00 01 */ addi r0, r30, 1 /* 803937C0 00390720 55 04 18 38 */ slwi r4, r8, 3 /* 803937C4 00390724 7C 08 00 50 */ subf r0, r8, r0 /* 803937C8 00390728 38 61 01 98 */ addi r3, r1, 0x198 /* 803937CC 0039072C 7C 95 22 14 */ add r4, r21, r4 /* 803937D0 00390730 7C 09 03 A6 */ mtctr r0 /* 803937D4 00390734 7C 08 F0 00 */ cmpw r8, r30 /* 803937D8 00390738 41 81 00 24 */ bgt lbl_803937FC lbl_803937DC: /* 803937DC 0039073C 7C 08 38 50 */ subf r0, r8, r7 /* 803937E0 00390740 C8 24 00 00 */ lfd f1, 0(r4) /* 803937E4 00390744 54 00 18 38 */ slwi r0, r0, 3 /* 803937E8 00390748 38 84 00 08 */ addi r4, r4, 8 /* 803937EC 0039074C 7C 03 04 AE */ lfdx f0, r3, r0 /* 803937F0 00390750 39 08 00 01 */ addi r8, r8, 1 /* 803937F4 00390754 FC 81 20 3A */ fmadd f4, f1, f0, f4 /* 803937F8 00390758 42 00 FF E4 */ bdnz lbl_803937DC lbl_803937FC: /* 803937FC 0039075C D8 85 00 00 */ stfd f4, 0(r5) /* 80393800 00390760 38 A5 00 08 */ addi r5, r5, 8 /* 80393804 00390764 39 29 00 01 */ addi r9, r9, 1 lbl_80393808: /* 80393808 00390768 7C 09 30 00 */ cmpw r9, r6 /* 8039380C 0039076C 40 81 FE 80 */ ble lbl_8039368C /* 80393810 00390770 7F FF 52 14 */ add r31, r31, r10 /* 80393814 00390774 4B FF FB 18 */ b lbl_8039332C lbl_80393818: /* 80393818 00390778 C8 02 D3 C0 */ lfd f0, lbl_805AF0E0@sda21(r2) /* 8039381C 0039077C FC 00 C8 00 */ fcmpu cr0, f0, f25 /* 80393820 00390780 40 82 00 38 */ bne lbl_80393858 /* 80393824 00390784 3B FF FF FF */ addi r31, r31, -1 /* 80393828 00390788 38 61 00 08 */ addi r3, r1, 8 /* 8039382C 0039078C 57 E0 10 3A */ slwi r0, r31, 2 /* 80393830 00390790 3B 5A FF E8 */ addi r26, r26, -24 /* 80393834 00390794 7C 63 02 14 */ add r3, r3, r0 /* 80393838 00390798 48 00 00 10 */ b lbl_80393848 lbl_8039383C: /* 8039383C 0039079C 38 63 FF FC */ addi r3, r3, -4 /* 80393840 003907A0 3B FF FF FF */ addi r31, r31, -1 /* 80393844 003907A4 3B 5A FF E8 */ addi r26, r26, -24 lbl_80393848: /* 80393848 003907A8 80 03 00 00 */ lwz r0, 0(r3) /* 8039384C 003907AC 2C 00 00 00 */ cmpwi r0, 0 /* 80393850 003907B0 41 82 FF EC */ beq lbl_8039383C /* 80393854 003907B4 48 00 00 A4 */ b lbl_803938F8 lbl_80393858: /* 80393858 003907B8 FC 20 C8 90 */ fmr f1, f25 /* 8039385C 003907BC 7C 7A 00 D0 */ neg r3, r26 /* 80393860 003907C0 48 00 0E 39 */ bl ldexp /* 80393864 003907C4 C8 62 D3 D0 */ lfd f3, lbl_805AF0F0@sda21(r2) /* 80393868 003907C8 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 8039386C 003907CC 4C 41 13 82 */ cror 2, 1, 2 /* 80393870 003907D0 40 82 00 70 */ bne lbl_803938E0 /* 80393874 003907D4 C8 02 D3 C8 */ lfd f0, lbl_805AF0E8@sda21(r2) /* 80393878 003907D8 3C 00 43 30 */ lis r0, 0x4330 /* 8039387C 003907DC 57 E5 10 3A */ slwi r5, r31, 2 /* 80393880 003907E0 90 01 02 40 */ stw r0, 0x240(r1) /* 80393884 003907E4 FC 00 00 72 */ fmul f0, f0, f1 /* 80393888 003907E8 3B FF 00 01 */ addi r31, r31, 1 /* 8039388C 003907EC C8 42 D3 F8 */ lfd f2, lbl_805AF118@sda21(r2) /* 80393890 003907F0 38 81 00 08 */ addi r4, r1, 8 /* 80393894 003907F4 57 E0 10 3A */ slwi r0, r31, 2 /* 80393898 003907F8 3B 5A 00 18 */ addi r26, r26, 0x18 /* 8039389C 003907FC FC 00 00 1E */ fctiwz f0, f0 /* 803938A0 00390800 D8 01 02 48 */ stfd f0, 0x248(r1) /* 803938A4 00390804 80 61 02 4C */ lwz r3, 0x24c(r1) /* 803938A8 00390808 6C 63 80 00 */ xoris r3, r3, 0x8000 /* 803938AC 0039080C 90 61 02 44 */ stw r3, 0x244(r1) /* 803938B0 00390810 C8 01 02 40 */ lfd f0, 0x240(r1) /* 803938B4 00390814 FC 00 10 28 */ fsub f0, f0, f2 /* 803938B8 00390818 FC 23 08 3C */ fnmsub f1, f3, f0, f1 /* 803938BC 0039081C FC 00 00 1E */ fctiwz f0, f0 /* 803938C0 00390820 FC 20 08 1E */ fctiwz f1, f1 /* 803938C4 00390824 D8 01 02 50 */ stfd f0, 0x250(r1) /* 803938C8 00390828 D8 21 02 38 */ stfd f1, 0x238(r1) /* 803938CC 0039082C 80 61 02 54 */ lwz r3, 0x254(r1) /* 803938D0 00390830 80 C1 02 3C */ lwz r6, 0x23c(r1) /* 803938D4 00390834 7C C4 29 2E */ stwx r6, r4, r5 /* 803938D8 00390838 7C 64 01 2E */ stwx r3, r4, r0 /* 803938DC 0039083C 48 00 00 1C */ b lbl_803938F8 lbl_803938E0: /* 803938E0 00390840 FC 00 08 1E */ fctiwz f0, f1 /* 803938E4 00390844 57 E0 10 3A */ slwi r0, r31, 2 /* 803938E8 00390848 38 61 00 08 */ addi r3, r1, 8 /* 803938EC 0039084C D8 01 02 50 */ stfd f0, 0x250(r1) /* 803938F0 00390850 80 81 02 54 */ lwz r4, 0x254(r1) /* 803938F4 00390854 7C 83 01 2E */ stwx r4, r3, r0 lbl_803938F8: /* 803938F8 00390858 C8 22 D3 F0 */ lfd f1, lbl_805AF110@sda21(r2) /* 803938FC 0039085C 7F 43 D3 78 */ mr r3, r26 /* 80393900 00390860 48 00 0D 99 */ bl ldexp /* 80393904 00390864 2C 1F 00 00 */ cmpwi r31, 0 /* 80393908 00390868 57 E0 10 3A */ slwi r0, r31, 2 /* 8039390C 0039086C 38 C1 00 08 */ addi r6, r1, 8 /* 80393910 00390870 57 E8 18 38 */ slwi r8, r31, 3 /* 80393914 00390874 38 E1 00 58 */ addi r7, r1, 0x58 /* 80393918 00390878 C8 A2 D3 F8 */ lfd f5, lbl_805AF118@sda21(r2) /* 8039391C 0039087C C8 02 D3 C8 */ lfd f0, lbl_805AF0E8@sda21(r2) /* 80393920 00390880 7C C6 02 14 */ add r6, r6, r0 /* 80393924 00390884 7C E7 42 14 */ add r7, r7, r8 /* 80393928 00390888 38 7F 00 01 */ addi r3, r31, 1 /* 8039392C 0039088C 3C 80 43 30 */ lis r4, 0x4330 /* 80393930 00390890 41 80 00 E8 */ blt lbl_80393A18 /* 80393934 00390894 54 60 F0 BF */ rlwinm. r0, r3, 0x1e, 2, 0x1f /* 80393938 00390898 7C 09 03 A6 */ mtctr r0 /* 8039393C 0039089C 41 82 00 A8 */ beq lbl_803939E4 lbl_80393940: /* 80393940 003908A0 80 A6 00 00 */ lwz r5, 0(r6) /* 80393944 003908A4 90 81 02 50 */ stw r4, 0x250(r1) /* 80393948 003908A8 6C A0 80 00 */ xoris r0, r5, 0x8000 /* 8039394C 003908AC 80 A6 FF FC */ lwz r5, -4(r6) /* 80393950 003908B0 90 01 02 54 */ stw r0, 0x254(r1) /* 80393954 003908B4 6C A0 80 00 */ xoris r0, r5, 0x8000 /* 80393958 003908B8 80 A6 FF F8 */ lwz r5, -8(r6) /* 8039395C 003908BC C8 81 02 50 */ lfd f4, 0x250(r1) /* 80393960 003908C0 90 01 02 54 */ stw r0, 0x254(r1) /* 80393964 003908C4 FC 64 28 28 */ fsub f3, f4, f5 /* 80393968 003908C8 6C A0 80 00 */ xoris r0, r5, 0x8000 /* 8039396C 003908CC 80 A6 FF F4 */ lwz r5, -0xc(r6) /* 80393970 003908D0 90 81 02 50 */ stw r4, 0x250(r1) /* 80393974 003908D4 38 C6 FF F0 */ addi r6, r6, -16 /* 80393978 003908D8 FC 41 00 F2 */ fmul f2, f1, f3 /* 8039397C 003908DC C8 81 02 50 */ lfd f4, 0x250(r1) /* 80393980 003908E0 FC 21 00 32 */ fmul f1, f1, f0 /* 80393984 003908E4 90 01 02 54 */ stw r0, 0x254(r1) /* 80393988 003908E8 6C A0 80 00 */ xoris r0, r5, 0x8000 /* 8039398C 003908EC FC 64 28 28 */ fsub f3, f4, f5 /* 80393990 003908F0 90 81 02 50 */ stw r4, 0x250(r1) /* 80393994 003908F4 C8 81 02 50 */ lfd f4, 0x250(r1) /* 80393998 003908F8 D8 47 00 00 */ stfd f2, 0(r7) /* 8039399C 003908FC FC 41 00 F2 */ fmul f2, f1, f3 /* 803939A0 00390900 FC 21 00 32 */ fmul f1, f1, f0 /* 803939A4 00390904 90 01 02 54 */ stw r0, 0x254(r1) /* 803939A8 00390908 90 81 02 50 */ stw r4, 0x250(r1) /* 803939AC 0039090C FC 64 28 28 */ fsub f3, f4, f5 /* 803939B0 00390910 D8 47 FF F8 */ stfd f2, -8(r7) /* 803939B4 00390914 FC 41 00 F2 */ fmul f2, f1, f3 /* 803939B8 00390918 C8 81 02 50 */ lfd f4, 0x250(r1) /* 803939BC 0039091C FC 21 00 32 */ fmul f1, f1, f0 /* 803939C0 00390920 FC 64 28 28 */ fsub f3, f4, f5 /* 803939C4 00390924 D8 47 FF F0 */ stfd f2, -0x10(r7) /* 803939C8 00390928 FC 41 00 F2 */ fmul f2, f1, f3 /* 803939CC 0039092C FC 21 00 32 */ fmul f1, f1, f0 /* 803939D0 00390930 D8 47 FF E8 */ stfd f2, -0x18(r7) /* 803939D4 00390934 38 E7 FF E0 */ addi r7, r7, -32 /* 803939D8 00390938 42 00 FF 68 */ bdnz lbl_80393940 /* 803939DC 0039093C 70 63 00 03 */ andi. r3, r3, 3 /* 803939E0 00390940 41 82 00 38 */ beq lbl_80393A18 lbl_803939E4: /* 803939E4 00390944 7C 69 03 A6 */ mtctr r3 lbl_803939E8: /* 803939E8 00390948 80 A6 00 00 */ lwz r5, 0(r6) /* 803939EC 0039094C 38 C6 FF FC */ addi r6, r6, -4 /* 803939F0 00390950 90 81 02 50 */ stw r4, 0x250(r1) /* 803939F4 00390954 6C A0 80 00 */ xoris r0, r5, 0x8000 /* 803939F8 00390958 90 01 02 54 */ stw r0, 0x254(r1) /* 803939FC 0039095C C8 81 02 50 */ lfd f4, 0x250(r1) /* 80393A00 00390960 FC 64 28 28 */ fsub f3, f4, f5 /* 80393A04 00390964 FC 41 00 F2 */ fmul f2, f1, f3 /* 80393A08 00390968 FC 21 00 32 */ fmul f1, f1, f0 /* 80393A0C 0039096C D8 47 00 00 */ stfd f2, 0(r7) /* 80393A10 00390970 38 E7 FF F8 */ addi r7, r7, -8 /* 80393A14 00390974 42 00 FF D4 */ bdnz lbl_803939E8 lbl_80393A18: /* 80393A18 00390978 3C 60 80 3E */ lis r3, lbl_803D8928@ha /* 80393A1C 0039097C 38 1F 00 01 */ addi r0, r31, 1 /* 80393A20 00390980 7F E9 FB 78 */ mr r9, r31 /* 80393A24 00390984 38 81 00 58 */ addi r4, r1, 0x58 /* 80393A28 00390988 38 A3 89 28 */ addi r5, r3, lbl_803D8928@l /* 80393A2C 0039098C 38 61 00 F8 */ addi r3, r1, 0xf8 /* 80393A30 00390990 7C 09 03 A6 */ mtctr r0 /* 80393A34 00390994 2C 1F 00 00 */ cmpwi r31, 0 /* 80393A38 00390998 41 80 00 54 */ blt lbl_80393A8C lbl_80393A3C: /* 80393A3C 0039099C C8 42 D3 C0 */ lfd f2, lbl_805AF0E0@sda21(r2) /* 80393A40 003909A0 7C A6 2B 78 */ mr r6, r5 /* 80393A44 003909A4 7C E9 F8 50 */ subf r7, r9, r31 /* 80393A48 003909A8 39 40 00 00 */ li r10, 0 /* 80393A4C 003909AC 48 00 00 20 */ b lbl_80393A6C lbl_80393A50: /* 80393A50 003909B0 7C 09 52 14 */ add r0, r9, r10 /* 80393A54 003909B4 C8 26 00 00 */ lfd f1, 0(r6) /* 80393A58 003909B8 54 00 18 38 */ slwi r0, r0, 3 /* 80393A5C 003909BC 38 C6 00 08 */ addi r6, r6, 8 /* 80393A60 003909C0 7C 04 04 AE */ lfdx f0, r4, r0 /* 80393A64 003909C4 39 4A 00 01 */ addi r10, r10, 1 /* 80393A68 003909C8 FC 41 10 3A */ fmadd f2, f1, f0, f2 lbl_80393A6C: /* 80393A6C 003909CC 7C 0A E0 00 */ cmpw r10, r28 /* 80393A70 003909D0 41 81 00 0C */ bgt lbl_80393A7C /* 80393A74 003909D4 7C 0A 38 00 */ cmpw r10, r7 /* 80393A78 003909D8 40 81 FF D8 */ ble lbl_80393A50 lbl_80393A7C: /* 80393A7C 003909DC 54 E0 18 38 */ slwi r0, r7, 3 /* 80393A80 003909E0 39 29 FF FF */ addi r9, r9, -1 /* 80393A84 003909E4 7C 43 05 AE */ stfdx f2, r3, r0 /* 80393A88 003909E8 42 00 FF B4 */ bdnz lbl_80393A3C lbl_80393A8C: /* 80393A8C 003909EC 2C 17 00 03 */ cmpwi r23, 3 /* 80393A90 003909F0 41 82 02 24 */ beq lbl_80393CB4 /* 80393A94 003909F4 40 80 04 60 */ bge lbl_80393EF4 /* 80393A98 003909F8 2C 17 00 00 */ cmpwi r23, 0 /* 80393A9C 003909FC 41 82 00 0C */ beq lbl_80393AA8 /* 80393AA0 00390A00 40 80 00 A8 */ bge lbl_80393B48 /* 80393AA4 00390A04 48 00 04 50 */ b lbl_80393EF4 lbl_80393AA8: /* 80393AA8 00390A08 2C 1F 00 00 */ cmpwi r31, 0 /* 80393AAC 00390A0C 38 81 00 F8 */ addi r4, r1, 0xf8 /* 80393AB0 00390A10 C8 22 D3 C0 */ lfd f1, lbl_805AF0E0@sda21(r2) /* 80393AB4 00390A14 7C 84 42 14 */ add r4, r4, r8 /* 80393AB8 00390A18 38 7F 00 01 */ addi r3, r31, 1 /* 80393ABC 00390A1C 41 80 00 74 */ blt lbl_80393B30 /* 80393AC0 00390A20 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f /* 80393AC4 00390A24 7C 09 03 A6 */ mtctr r0 /* 80393AC8 00390A28 41 82 00 54 */ beq lbl_80393B1C lbl_80393ACC: /* 80393ACC 00390A2C C8 04 00 00 */ lfd f0, 0(r4) /* 80393AD0 00390A30 FC 21 00 2A */ fadd f1, f1, f0 /* 80393AD4 00390A34 C8 04 FF F8 */ lfd f0, -8(r4) /* 80393AD8 00390A38 FC 21 00 2A */ fadd f1, f1, f0 /* 80393ADC 00390A3C C8 04 FF F0 */ lfd f0, -0x10(r4) /* 80393AE0 00390A40 FC 21 00 2A */ fadd f1, f1, f0 /* 80393AE4 00390A44 C8 04 FF E8 */ lfd f0, -0x18(r4) /* 80393AE8 00390A48 FC 21 00 2A */ fadd f1, f1, f0 /* 80393AEC 00390A4C C8 04 FF E0 */ lfd f0, -0x20(r4) /* 80393AF0 00390A50 FC 21 00 2A */ fadd f1, f1, f0 /* 80393AF4 00390A54 C8 04 FF D8 */ lfd f0, -0x28(r4) /* 80393AF8 00390A58 FC 21 00 2A */ fadd f1, f1, f0 /* 80393AFC 00390A5C C8 04 FF D0 */ lfd f0, -0x30(r4) /* 80393B00 00390A60 FC 21 00 2A */ fadd f1, f1, f0 /* 80393B04 00390A64 C8 04 FF C8 */ lfd f0, -0x38(r4) /* 80393B08 00390A68 38 84 FF C0 */ addi r4, r4, -64 /* 80393B0C 00390A6C FC 21 00 2A */ fadd f1, f1, f0 /* 80393B10 00390A70 42 00 FF BC */ bdnz lbl_80393ACC /* 80393B14 00390A74 70 63 00 07 */ andi. r3, r3, 7 /* 80393B18 00390A78 41 82 00 18 */ beq lbl_80393B30 lbl_80393B1C: /* 80393B1C 00390A7C 7C 69 03 A6 */ mtctr r3 lbl_80393B20: /* 80393B20 00390A80 C8 04 00 00 */ lfd f0, 0(r4) /* 80393B24 00390A84 38 84 FF F8 */ addi r4, r4, -8 /* 80393B28 00390A88 FC 21 00 2A */ fadd f1, f1, f0 /* 80393B2C 00390A8C 42 00 FF F4 */ bdnz lbl_80393B20 lbl_80393B30: /* 80393B30 00390A90 2C 19 00 00 */ cmpwi r25, 0 /* 80393B34 00390A94 40 82 00 08 */ bne lbl_80393B3C /* 80393B38 00390A98 48 00 00 08 */ b lbl_80393B40 lbl_80393B3C: /* 80393B3C 00390A9C FC 20 08 50 */ fneg f1, f1 lbl_80393B40: /* 80393B40 00390AA0 D8 36 00 00 */ stfd f1, 0(r22) /* 80393B44 00390AA4 48 00 03 B0 */ b lbl_80393EF4 lbl_80393B48: /* 80393B48 00390AA8 2C 1F 00 00 */ cmpwi r31, 0 /* 80393B4C 00390AAC 38 81 00 F8 */ addi r4, r1, 0xf8 /* 80393B50 00390AB0 C8 42 D3 C0 */ lfd f2, lbl_805AF0E0@sda21(r2) /* 80393B54 00390AB4 7C 84 42 14 */ add r4, r4, r8 /* 80393B58 00390AB8 38 7F 00 01 */ addi r3, r31, 1 /* 80393B5C 00390ABC 41 80 00 74 */ blt lbl_80393BD0 /* 80393B60 00390AC0 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f /* 80393B64 00390AC4 7C 09 03 A6 */ mtctr r0 /* 80393B68 00390AC8 41 82 00 54 */ beq lbl_80393BBC lbl_80393B6C: /* 80393B6C 00390ACC C8 04 00 00 */ lfd f0, 0(r4) /* 80393B70 00390AD0 FC 42 00 2A */ fadd f2, f2, f0 /* 80393B74 00390AD4 C8 04 FF F8 */ lfd f0, -8(r4) /* 80393B78 00390AD8 FC 42 00 2A */ fadd f2, f2, f0 /* 80393B7C 00390ADC C8 04 FF F0 */ lfd f0, -0x10(r4) /* 80393B80 00390AE0 FC 42 00 2A */ fadd f2, f2, f0 /* 80393B84 00390AE4 C8 04 FF E8 */ lfd f0, -0x18(r4) /* 80393B88 00390AE8 FC 42 00 2A */ fadd f2, f2, f0 /* 80393B8C 00390AEC C8 04 FF E0 */ lfd f0, -0x20(r4) /* 80393B90 00390AF0 FC 42 00 2A */ fadd f2, f2, f0 /* 80393B94 00390AF4 C8 04 FF D8 */ lfd f0, -0x28(r4) /* 80393B98 00390AF8 FC 42 00 2A */ fadd f2, f2, f0 /* 80393B9C 00390AFC C8 04 FF D0 */ lfd f0, -0x30(r4) /* 80393BA0 00390B00 FC 42 00 2A */ fadd f2, f2, f0 /* 80393BA4 00390B04 C8 04 FF C8 */ lfd f0, -0x38(r4) /* 80393BA8 00390B08 38 84 FF C0 */ addi r4, r4, -64 /* 80393BAC 00390B0C FC 42 00 2A */ fadd f2, f2, f0 /* 80393BB0 00390B10 42 00 FF BC */ bdnz lbl_80393B6C /* 80393BB4 00390B14 70 63 00 07 */ andi. r3, r3, 7 /* 80393BB8 00390B18 41 82 00 18 */ beq lbl_80393BD0 lbl_80393BBC: /* 80393BBC 00390B1C 7C 69 03 A6 */ mtctr r3 lbl_80393BC0: /* 80393BC0 00390B20 C8 04 00 00 */ lfd f0, 0(r4) /* 80393BC4 00390B24 38 84 FF F8 */ addi r4, r4, -8 /* 80393BC8 00390B28 FC 42 00 2A */ fadd f2, f2, f0 /* 80393BCC 00390B2C 42 00 FF F4 */ bdnz lbl_80393BC0 lbl_80393BD0: /* 80393BD0 00390B30 2C 19 00 00 */ cmpwi r25, 0 /* 80393BD4 00390B34 40 82 00 0C */ bne lbl_80393BE0 /* 80393BD8 00390B38 FC 20 10 90 */ fmr f1, f2 /* 80393BDC 00390B3C 48 00 00 08 */ b lbl_80393BE4 lbl_80393BE0: /* 80393BE0 00390B40 FC 20 10 50 */ fneg f1, f2 lbl_80393BE4: /* 80393BE4 00390B44 C8 01 00 F8 */ lfd f0, 0xf8(r1) /* 80393BE8 00390B48 2C 1F 00 01 */ cmpwi r31, 1 /* 80393BEC 00390B4C D8 36 00 00 */ stfd f1, 0(r22) /* 80393BF0 00390B50 38 A0 00 01 */ li r5, 1 /* 80393BF4 00390B54 FC C0 10 28 */ fsub f6, f0, f2 /* 80393BF8 00390B58 41 80 00 A4 */ blt lbl_80393C9C /* 80393BFC 00390B5C 2C 1F 00 08 */ cmpwi r31, 8 /* 80393C00 00390B60 38 7F FF F8 */ addi r3, r31, -8 /* 80393C04 00390B64 40 81 00 68 */ ble lbl_80393C6C /* 80393C08 00390B68 38 03 00 07 */ addi r0, r3, 7 /* 80393C0C 00390B6C 38 81 01 00 */ addi r4, r1, 0x100 /* 80393C10 00390B70 54 00 E8 FE */ srwi r0, r0, 3 /* 80393C14 00390B74 7C 09 03 A6 */ mtctr r0 /* 80393C18 00390B78 2C 03 00 01 */ cmpwi r3, 1 /* 80393C1C 00390B7C 41 80 00 50 */ blt lbl_80393C6C lbl_80393C20: /* 80393C20 00390B80 C8 24 00 00 */ lfd f1, 0(r4) /* 80393C24 00390B84 38 A5 00 08 */ addi r5, r5, 8 /* 80393C28 00390B88 C8 04 00 08 */ lfd f0, 8(r4) /* 80393C2C 00390B8C FC C6 08 2A */ fadd f6, f6, f1 /* 80393C30 00390B90 C8 A4 00 10 */ lfd f5, 0x10(r4) /* 80393C34 00390B94 C8 84 00 18 */ lfd f4, 0x18(r4) /* 80393C38 00390B98 C8 64 00 20 */ lfd f3, 0x20(r4) /* 80393C3C 00390B9C FC C6 00 2A */ fadd f6, f6, f0 /* 80393C40 00390BA0 C8 44 00 28 */ lfd f2, 0x28(r4) /* 80393C44 00390BA4 C8 24 00 30 */ lfd f1, 0x30(r4) /* 80393C48 00390BA8 C8 04 00 38 */ lfd f0, 0x38(r4) /* 80393C4C 00390BAC 38 84 00 40 */ addi r4, r4, 0x40 /* 80393C50 00390BB0 FC C6 28 2A */ fadd f6, f6, f5 /* 80393C54 00390BB4 FC C6 20 2A */ fadd f6, f6, f4 /* 80393C58 00390BB8 FC C6 18 2A */ fadd f6, f6, f3 /* 80393C5C 00390BBC FC C6 10 2A */ fadd f6, f6, f2 /* 80393C60 00390BC0 FC C6 08 2A */ fadd f6, f6, f1 /* 80393C64 00390BC4 FC C6 00 2A */ fadd f6, f6, f0 /* 80393C68 00390BC8 42 00 FF B8 */ bdnz lbl_80393C20 lbl_80393C6C: /* 80393C6C 00390BCC 38 1F 00 01 */ addi r0, r31, 1 /* 80393C70 00390BD0 54 A3 18 38 */ slwi r3, r5, 3 /* 80393C74 00390BD4 38 81 00 F8 */ addi r4, r1, 0xf8 /* 80393C78 00390BD8 7C 05 00 50 */ subf r0, r5, r0 /* 80393C7C 00390BDC 7C 84 1A 14 */ add r4, r4, r3 /* 80393C80 00390BE0 7C 09 03 A6 */ mtctr r0 /* 80393C84 00390BE4 7C 05 F8 00 */ cmpw r5, r31 /* 80393C88 00390BE8 41 81 00 14 */ bgt lbl_80393C9C lbl_80393C8C: /* 80393C8C 00390BEC C8 04 00 00 */ lfd f0, 0(r4) /* 80393C90 00390BF0 38 84 00 08 */ addi r4, r4, 8 /* 80393C94 00390BF4 FC C6 00 2A */ fadd f6, f6, f0 /* 80393C98 00390BF8 42 00 FF F4 */ bdnz lbl_80393C8C lbl_80393C9C: /* 80393C9C 00390BFC 2C 19 00 00 */ cmpwi r25, 0 /* 80393CA0 00390C00 40 82 00 08 */ bne lbl_80393CA8 /* 80393CA4 00390C04 48 00 00 08 */ b lbl_80393CAC lbl_80393CA8: /* 80393CA8 00390C08 FC C0 30 50 */ fneg f6, f6 lbl_80393CAC: /* 80393CAC 00390C0C D8 D6 00 08 */ stfd f6, 8(r22) /* 80393CB0 00390C10 48 00 02 44 */ b lbl_80393EF4 lbl_80393CB4: /* 80393CB4 00390C14 38 A1 00 F8 */ addi r5, r1, 0xf8 /* 80393CB8 00390C18 2C 1F 00 00 */ cmpwi r31, 0 /* 80393CBC 00390C1C 7C A5 42 14 */ add r5, r5, r8 /* 80393CC0 00390C20 7F E3 FB 78 */ mr r3, r31 /* 80393CC4 00390C24 7C A4 2B 78 */ mr r4, r5 /* 80393CC8 00390C28 40 81 00 B0 */ ble lbl_80393D78 /* 80393CCC 00390C2C 57 E0 F0 BF */ rlwinm. r0, r31, 0x1e, 2, 0x1f /* 80393CD0 00390C30 7C 09 03 A6 */ mtctr r0 /* 80393CD4 00390C34 41 82 00 80 */ beq lbl_80393D54 lbl_80393CD8: /* 80393CD8 00390C38 C8 04 FF F8 */ lfd f0, -8(r4) /* 80393CDC 00390C3C C8 24 00 00 */ lfd f1, 0(r4) /* 80393CE0 00390C40 FC 40 08 2A */ fadd f2, f0, f1 /* 80393CE4 00390C44 FC 00 10 28 */ fsub f0, f0, f2 /* 80393CE8 00390C48 FC 01 00 2A */ fadd f0, f1, f0 /* 80393CEC 00390C4C D8 04 00 00 */ stfd f0, 0(r4) /* 80393CF0 00390C50 D8 44 FF F8 */ stfd f2, -8(r4) /* 80393CF4 00390C54 C8 04 FF F0 */ lfd f0, -0x10(r4) /* 80393CF8 00390C58 C8 24 FF F8 */ lfd f1, -8(r4) /* 80393CFC 00390C5C FC 40 08 2A */ fadd f2, f0, f1 /* 80393D00 00390C60 FC 00 10 28 */ fsub f0, f0, f2 /* 80393D04 00390C64 FC 01 00 2A */ fadd f0, f1, f0 /* 80393D08 00390C68 D8 04 FF F8 */ stfd f0, -8(r4) /* 80393D0C 00390C6C D8 44 FF F0 */ stfd f2, -0x10(r4) /* 80393D10 00390C70 C8 04 FF E8 */ lfd f0, -0x18(r4) /* 80393D14 00390C74 C8 24 FF F0 */ lfd f1, -0x10(r4) /* 80393D18 00390C78 FC 40 08 2A */ fadd f2, f0, f1 /* 80393D1C 00390C7C FC 00 10 28 */ fsub f0, f0, f2 /* 80393D20 00390C80 FC 01 00 2A */ fadd f0, f1, f0 /* 80393D24 00390C84 D8 04 FF F0 */ stfd f0, -0x10(r4) /* 80393D28 00390C88 D8 44 FF E8 */ stfd f2, -0x18(r4) /* 80393D2C 00390C8C C8 04 FF E0 */ lfd f0, -0x20(r4) /* 80393D30 00390C90 C8 24 FF E8 */ lfd f1, -0x18(r4) /* 80393D34 00390C94 FC 40 08 2A */ fadd f2, f0, f1 /* 80393D38 00390C98 FC 00 10 28 */ fsub f0, f0, f2 /* 80393D3C 00390C9C FC 01 00 2A */ fadd f0, f1, f0 /* 80393D40 00390CA0 D8 04 FF E8 */ stfd f0, -0x18(r4) /* 80393D44 00390CA4 DC 44 FF E0 */ stfdu f2, -0x20(r4) /* 80393D48 00390CA8 42 00 FF 90 */ bdnz lbl_80393CD8 /* 80393D4C 00390CAC 70 63 00 03 */ andi. r3, r3, 3 /* 80393D50 00390CB0 41 82 00 28 */ beq lbl_80393D78 lbl_80393D54: /* 80393D54 00390CB4 7C 69 03 A6 */ mtctr r3 lbl_80393D58: /* 80393D58 00390CB8 C8 04 FF F8 */ lfd f0, -8(r4) /* 80393D5C 00390CBC C8 24 00 00 */ lfd f1, 0(r4) /* 80393D60 00390CC0 FC 40 08 2A */ fadd f2, f0, f1 /* 80393D64 00390CC4 FC 00 10 28 */ fsub f0, f0, f2 /* 80393D68 00390CC8 FC 01 00 2A */ fadd f0, f1, f0 /* 80393D6C 00390CCC D8 04 00 00 */ stfd f0, 0(r4) /* 80393D70 00390CD0 DC 44 FF F8 */ stfdu f2, -8(r4) /* 80393D74 00390CD4 42 00 FF E4 */ bdnz lbl_80393D58 lbl_80393D78: /* 80393D78 00390CD8 2C 1F 00 01 */ cmpwi r31, 1 /* 80393D7C 00390CDC 7C A4 2B 78 */ mr r4, r5 /* 80393D80 00390CE0 38 7F FF FF */ addi r3, r31, -1 /* 80393D84 00390CE4 40 81 00 B0 */ ble lbl_80393E34 /* 80393D88 00390CE8 54 60 F0 BF */ rlwinm. r0, r3, 0x1e, 2, 0x1f /* 80393D8C 00390CEC 7C 09 03 A6 */ mtctr r0 /* 80393D90 00390CF0 41 82 00 80 */ beq lbl_80393E10 lbl_80393D94: /* 80393D94 00390CF4 C8 04 FF F8 */ lfd f0, -8(r4) /* 80393D98 00390CF8 C8 24 00 00 */ lfd f1, 0(r4) /* 80393D9C 00390CFC FC 40 08 2A */ fadd f2, f0, f1 /* 80393DA0 00390D00 FC 00 10 28 */ fsub f0, f0, f2 /* 80393DA4 00390D04 FC 01 00 2A */ fadd f0, f1, f0 /* 80393DA8 00390D08 D8 04 00 00 */ stfd f0, 0(r4) /* 80393DAC 00390D0C D8 44 FF F8 */ stfd f2, -8(r4) /* 80393DB0 00390D10 C8 04 FF F0 */ lfd f0, -0x10(r4) /* 80393DB4 00390D14 C8 24 FF F8 */ lfd f1, -8(r4) /* 80393DB8 00390D18 FC 40 08 2A */ fadd f2, f0, f1 /* 80393DBC 00390D1C FC 00 10 28 */ fsub f0, f0, f2 /* 80393DC0 00390D20 FC 01 00 2A */ fadd f0, f1, f0 /* 80393DC4 00390D24 D8 04 FF F8 */ stfd f0, -8(r4) /* 80393DC8 00390D28 D8 44 FF F0 */ stfd f2, -0x10(r4) /* 80393DCC 00390D2C C8 04 FF E8 */ lfd f0, -0x18(r4) /* 80393DD0 00390D30 C8 24 FF F0 */ lfd f1, -0x10(r4) /* 80393DD4 00390D34 FC 40 08 2A */ fadd f2, f0, f1 /* 80393DD8 00390D38 FC 00 10 28 */ fsub f0, f0, f2 /* 80393DDC 00390D3C FC 01 00 2A */ fadd f0, f1, f0 /* 80393DE0 00390D40 D8 04 FF F0 */ stfd f0, -0x10(r4) /* 80393DE4 00390D44 D8 44 FF E8 */ stfd f2, -0x18(r4) /* 80393DE8 00390D48 C8 04 FF E0 */ lfd f0, -0x20(r4) /* 80393DEC 00390D4C C8 24 FF E8 */ lfd f1, -0x18(r4) /* 80393DF0 00390D50 FC 40 08 2A */ fadd f2, f0, f1 /* 80393DF4 00390D54 FC 00 10 28 */ fsub f0, f0, f2 /* 80393DF8 00390D58 FC 01 00 2A */ fadd f0, f1, f0 /* 80393DFC 00390D5C D8 04 FF E8 */ stfd f0, -0x18(r4) /* 80393E00 00390D60 DC 44 FF E0 */ stfdu f2, -0x20(r4) /* 80393E04 00390D64 42 00 FF 90 */ bdnz lbl_80393D94 /* 80393E08 00390D68 70 63 00 03 */ andi. r3, r3, 3 /* 80393E0C 00390D6C 41 82 00 28 */ beq lbl_80393E34 lbl_80393E10: /* 80393E10 00390D70 7C 69 03 A6 */ mtctr r3 lbl_80393E14: /* 80393E14 00390D74 C8 04 FF F8 */ lfd f0, -8(r4) /* 80393E18 00390D78 C8 24 00 00 */ lfd f1, 0(r4) /* 80393E1C 00390D7C FC 40 08 2A */ fadd f2, f0, f1 /* 80393E20 00390D80 FC 00 10 28 */ fsub f0, f0, f2 /* 80393E24 00390D84 FC 01 00 2A */ fadd f0, f1, f0 /* 80393E28 00390D88 D8 04 00 00 */ stfd f0, 0(r4) /* 80393E2C 00390D8C DC 44 FF F8 */ stfdu f2, -8(r4) /* 80393E30 00390D90 42 00 FF E4 */ bdnz lbl_80393E14 lbl_80393E34: /* 80393E34 00390D94 2C 1F 00 02 */ cmpwi r31, 2 /* 80393E38 00390D98 C8 62 D3 C0 */ lfd f3, lbl_805AF0E0@sda21(r2) /* 80393E3C 00390D9C 38 7F FF FF */ addi r3, r31, -1 /* 80393E40 00390DA0 41 80 00 74 */ blt lbl_80393EB4 /* 80393E44 00390DA4 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f /* 80393E48 00390DA8 7C 09 03 A6 */ mtctr r0 /* 80393E4C 00390DAC 41 82 00 54 */ beq lbl_80393EA0 lbl_80393E50: /* 80393E50 00390DB0 C8 05 00 00 */ lfd f0, 0(r5) /* 80393E54 00390DB4 FC 63 00 2A */ fadd f3, f3, f0 /* 80393E58 00390DB8 C8 05 FF F8 */ lfd f0, -8(r5) /* 80393E5C 00390DBC FC 63 00 2A */ fadd f3, f3, f0 /* 80393E60 00390DC0 C8 05 FF F0 */ lfd f0, -0x10(r5) /* 80393E64 00390DC4 FC 63 00 2A */ fadd f3, f3, f0 /* 80393E68 00390DC8 C8 05 FF E8 */ lfd f0, -0x18(r5) /* 80393E6C 00390DCC FC 63 00 2A */ fadd f3, f3, f0 /* 80393E70 00390DD0 C8 05 FF E0 */ lfd f0, -0x20(r5) /* 80393E74 00390DD4 FC 63 00 2A */ fadd f3, f3, f0 /* 80393E78 00390DD8 C8 05 FF D8 */ lfd f0, -0x28(r5) /* 80393E7C 00390DDC FC 63 00 2A */ fadd f3, f3, f0 /* 80393E80 00390DE0 C8 05 FF D0 */ lfd f0, -0x30(r5) /* 80393E84 00390DE4 FC 63 00 2A */ fadd f3, f3, f0 /* 80393E88 00390DE8 C8 05 FF C8 */ lfd f0, -0x38(r5) /* 80393E8C 00390DEC 38 A5 FF C0 */ addi r5, r5, -64 /* 80393E90 00390DF0 FC 63 00 2A */ fadd f3, f3, f0 /* 80393E94 00390DF4 42 00 FF BC */ bdnz lbl_80393E50 /* 80393E98 00390DF8 70 63 00 07 */ andi. r3, r3, 7 /* 80393E9C 00390DFC 41 82 00 18 */ beq lbl_80393EB4 lbl_80393EA0: /* 80393EA0 00390E00 7C 69 03 A6 */ mtctr r3 lbl_80393EA4: /* 80393EA4 00390E04 C8 05 00 00 */ lfd f0, 0(r5) /* 80393EA8 00390E08 38 A5 FF F8 */ addi r5, r5, -8 /* 80393EAC 00390E0C FC 63 00 2A */ fadd f3, f3, f0 /* 80393EB0 00390E10 42 00 FF F4 */ bdnz lbl_80393EA4 lbl_80393EB4: /* 80393EB4 00390E14 2C 19 00 00 */ cmpwi r25, 0 /* 80393EB8 00390E18 40 82 00 1C */ bne lbl_80393ED4 /* 80393EBC 00390E1C C8 21 00 F8 */ lfd f1, 0xf8(r1) /* 80393EC0 00390E20 C8 01 01 00 */ lfd f0, 0x100(r1) /* 80393EC4 00390E24 D8 36 00 00 */ stfd f1, 0(r22) /* 80393EC8 00390E28 D8 16 00 08 */ stfd f0, 8(r22) /* 80393ECC 00390E2C D8 76 00 10 */ stfd f3, 0x10(r22) /* 80393ED0 00390E30 48 00 00 24 */ b lbl_80393EF4 lbl_80393ED4: /* 80393ED4 00390E34 C8 41 00 F8 */ lfd f2, 0xf8(r1) /* 80393ED8 00390E38 FC 00 18 50 */ fneg f0, f3 /* 80393EDC 00390E3C C8 21 01 00 */ lfd f1, 0x100(r1) /* 80393EE0 00390E40 FC 40 10 50 */ fneg f2, f2 /* 80393EE4 00390E44 FC 20 08 50 */ fneg f1, f1 /* 80393EE8 00390E48 D8 56 00 00 */ stfd f2, 0(r22) /* 80393EEC 00390E4C D8 36 00 08 */ stfd f1, 8(r22) /* 80393EF0 00390E50 D8 16 00 10 */ stfd f0, 0x10(r22) lbl_80393EF4: /* 80393EF4 00390E54 57 63 07 7E */ clrlwi r3, r27, 0x1d /* 80393EF8 00390E58 39 61 02 D0 */ addi r11, r1, 0x2d0 /* 80393EFC 00390E5C 4B FF 5B 2D */ bl _restfpr_25 /* 80393F00 00390E60 BA 01 02 58 */ lmw r16, 0x258(r1) /* 80393F04 00390E64 80 01 02 D4 */ lwz r0, 0x2d4(r1) /* 80393F08 00390E68 7C 08 03 A6 */ mtlr r0 /* 80393F0C 00390E6C 38 21 02 D0 */ addi r1, r1, 0x2d0 /* 80393F10 00390E70 4E 80 00 20 */ blr .section .sdata2, "a" .global lbl_805AF0E0 lbl_805AF0E0: # ROM: 0x3FB980 .4byte 0 .4byte 0 .global lbl_805AF0E8 lbl_805AF0E8: # ROM: 0x3FB988 .4byte 0x3E700000 .4byte 0 .global lbl_805AF0F0 lbl_805AF0F0: # ROM: 0x3FB990 .float 15.0 .4byte 0 .global lbl_805AF0F8 lbl_805AF0F8: # ROM: 0x3FB998 .float 2.5 .4byte 0 .global lbl_805AF100 lbl_805AF100: # ROM: 0x3FB9A0 .float 1.5 .4byte 0 .global lbl_805AF108 lbl_805AF108: # ROM: 0x3FB9A8 .4byte 0x3FE00000 .4byte 0 .global lbl_805AF110 lbl_805AF110: # ROM: 0x3FB9B0 .double 1.0 .global lbl_805AF118 lbl_805AF118: # ROM: 0x3FB9B8 .double 4.503601774854144E15