.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global __kernel_rem_pio2 __kernel_rem_pio2: /* 801D23E8 001CE048 94 21 FC 90 */ stwu r1, -0x370(r1) /* 801D23EC 001CE04C 7C 08 02 A6 */ mflr r0 /* 801D23F0 001CE050 90 01 03 74 */ stw r0, 0x374(r1) /* 801D23F4 001CE054 39 61 03 70 */ addi r11, r1, 0x370 /* 801D23F8 001CE058 4B FF 4C 89 */ bl _savefpr_23 /* 801D23FC 001CE05C BD C1 02 E0 */ stmw r14, 0x2e0(r1) /* 801D2400 001CE060 3D 20 2A AB */ lis r9, 0x2AAAAAAB@ha /* 801D2404 001CE064 3D 80 43 30 */ lis r12, 0x4330 /* 801D2408 001CE068 38 05 FF FD */ addi r0, r5, -3 /* 801D240C 001CE06C 3D 40 80 40 */ lis r10, lbl_803FD4F0@ha /* 801D2410 001CE070 39 29 AA AB */ addi r9, r9, 0x2AAAAAAB@l /* 801D2414 001CE074 54 EB 10 3A */ slwi r11, r7, 2 /* 801D2418 001CE078 7C 09 00 96 */ mulhw r0, r9, r0 /* 801D241C 001CE07C 39 4A D4 F0 */ addi r10, r10, lbl_803FD4F0@l /* 801D2420 001CE080 7C 91 23 78 */ mr r17, r4 /* 801D2424 001CE084 7E AA 58 2E */ lwzx r21, r10, r11 /* 801D2428 001CE088 91 81 02 40 */ stw r12, 0x240(r1) /* 801D242C 001CE08C 7C 70 1B 78 */ mr r16, r3 /* 801D2430 001CE090 7C 00 16 70 */ srawi r0, r0, 2 /* 801D2434 001CE094 91 81 02 48 */ stw r12, 0x248(r1) /* 801D2438 001CE098 54 04 0F FE */ srwi r4, r0, 0x1f /* 801D243C 001CE09C 3A C6 FF FF */ addi r22, r6, -1 /* 801D2440 001CE0A0 7D 40 22 15 */ add. r10, r0, r4 /* 801D2444 001CE0A4 90 E1 00 08 */ stw r7, 8(r1) /* 801D2448 001CE0A8 40 80 00 08 */ bge lbl_801D2450 /* 801D244C 001CE0AC 39 40 00 00 */ li r10, 0 lbl_801D2450: /* 801D2450 001CE0B0 38 0A 00 01 */ addi r0, r10, 1 /* 801D2454 001CE0B4 7D 36 AA 15 */ add. r9, r22, r21 /* 801D2458 001CE0B8 1C C0 00 18 */ mulli r6, r0, 0x18 /* 801D245C 001CE0BC 7C F6 50 50 */ subf r7, r22, r10 /* 801D2460 001CE0C0 C8 22 94 E0 */ lfd f1, lbl_80641AE0-_SDA2_BASE_(r2) /* 801D2464 001CE0C4 54 E4 10 3A */ slwi r4, r7, 2 /* 801D2468 001CE0C8 7E 66 28 50 */ subf r19, r6, r5 /* 801D246C 001CE0CC 38 09 00 01 */ addi r0, r9, 1 /* 801D2470 001CE0D0 7C 88 22 14 */ add r4, r8, r4 /* 801D2474 001CE0D4 38 A1 01 A0 */ addi r5, r1, 0x1a0 /* 801D2478 001CE0D8 7C 09 03 A6 */ mtctr r0 /* 801D247C 001CE0DC 41 80 00 3C */ blt lbl_801D24B8 lbl_801D2480: /* 801D2480 001CE0E0 2C 07 00 00 */ cmpwi r7, 0 /* 801D2484 001CE0E4 40 80 00 0C */ bge lbl_801D2490 /* 801D2488 001CE0E8 C8 02 94 A8 */ lfd f0, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D248C 001CE0EC 48 00 00 18 */ b lbl_801D24A4 lbl_801D2490: /* 801D2490 001CE0F0 80 04 00 00 */ lwz r0, 0(r4) /* 801D2494 001CE0F4 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D2498 001CE0F8 90 01 02 44 */ stw r0, 0x244(r1) /* 801D249C 001CE0FC C8 01 02 40 */ lfd f0, 0x240(r1) /* 801D24A0 001CE100 FC 00 08 28 */ fsub f0, f0, f1 lbl_801D24A4: /* 801D24A4 001CE104 D8 05 00 00 */ stfd f0, 0(r5) /* 801D24A8 001CE108 38 A5 00 08 */ addi r5, r5, 8 /* 801D24AC 001CE10C 38 84 00 04 */ addi r4, r4, 4 /* 801D24B0 001CE110 38 E7 00 01 */ addi r7, r7, 1 /* 801D24B4 001CE114 42 00 FF CC */ bdnz lbl_801D2480 lbl_801D24B8: /* 801D24B8 001CE118 38 16 00 01 */ addi r0, r22, 1 /* 801D24BC 001CE11C 38 A1 00 60 */ addi r5, r1, 0x60 /* 801D24C0 001CE120 56 D9 00 00 */ rlwinm r25, r22, 0, 0, 0 /* 801D24C4 001CE124 39 81 01 A0 */ addi r12, r1, 0x1a0 /* 801D24C8 001CE128 54 18 00 00 */ rlwinm r24, r0, 0, 0, 0 /* 801D24CC 001CE12C 39 20 00 00 */ li r9, 0 /* 801D24D0 001CE130 3C 80 80 00 */ lis r4, 0x8000 /* 801D24D4 001CE134 48 00 01 C8 */ b lbl_801D269C lbl_801D24D8: /* 801D24D8 001CE138 2C 96 00 00 */ cmpwi cr1, r22, 0 /* 801D24DC 001CE13C C8 C2 94 A8 */ lfd f6, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D24E0 001CE140 38 E0 00 00 */ li r7, 0 /* 801D24E4 001CE144 41 84 01 AC */ blt cr1, lbl_801D2690 /* 801D24E8 001CE148 38 16 00 01 */ addi r0, r22, 1 /* 801D24EC 001CE14C 39 D6 FF F8 */ addi r14, r22, -8 /* 801D24F0 001CE150 2C 00 00 08 */ cmpwi r0, 8 /* 801D24F4 001CE154 40 81 01 58 */ ble lbl_801D264C /* 801D24F8 001CE158 38 C0 00 00 */ li r6, 0 /* 801D24FC 001CE15C 39 60 00 00 */ li r11, 0 /* 801D2500 001CE160 41 84 00 14 */ blt cr1, lbl_801D2514 /* 801D2504 001CE164 38 04 FF FE */ addi r0, r4, -2 /* 801D2508 001CE168 7C 16 00 00 */ cmpw r22, r0 /* 801D250C 001CE16C 41 81 00 08 */ bgt lbl_801D2514 /* 801D2510 001CE170 39 60 00 01 */ li r11, 1 lbl_801D2514: /* 801D2514 001CE174 2C 0B 00 00 */ cmpwi r11, 0 /* 801D2518 001CE178 41 82 00 28 */ beq lbl_801D2540 /* 801D251C 001CE17C 2C 19 00 00 */ cmpwi r25, 0 /* 801D2520 001CE180 38 00 00 01 */ li r0, 1 /* 801D2524 001CE184 40 82 00 10 */ bne lbl_801D2534 /* 801D2528 001CE188 2C 18 00 00 */ cmpwi r24, 0 /* 801D252C 001CE18C 41 82 00 08 */ beq lbl_801D2534 /* 801D2530 001CE190 38 00 00 00 */ li r0, 0 lbl_801D2534: /* 801D2534 001CE194 2C 00 00 00 */ cmpwi r0, 0 /* 801D2538 001CE198 41 82 00 08 */ beq lbl_801D2540 /* 801D253C 001CE19C 38 C0 00 01 */ li r6, 1 lbl_801D2540: /* 801D2540 001CE1A0 2C 06 00 00 */ cmpwi r6, 0 /* 801D2544 001CE1A4 41 82 01 08 */ beq lbl_801D264C /* 801D2548 001CE1A8 39 6E 00 08 */ addi r11, r14, 8 /* 801D254C 001CE1AC 7E 06 83 78 */ mr r6, r16 /* 801D2550 001CE1B0 55 6B E8 FE */ srwi r11, r11, 3 /* 801D2554 001CE1B4 7C 16 4A 14 */ add r0, r22, r9 /* 801D2558 001CE1B8 7D 69 03 A6 */ mtctr r11 /* 801D255C 001CE1BC 2C 0E 00 00 */ cmpwi r14, 0 /* 801D2560 001CE1C0 41 80 00 EC */ blt lbl_801D264C lbl_801D2564: /* 801D2564 001CE1C4 7D 67 00 50 */ subf r11, r7, r0 /* 801D2568 001CE1C8 39 C7 00 01 */ addi r14, r7, 1 /* 801D256C 001CE1CC 55 6F 18 38 */ slwi r15, r11, 3 /* 801D2570 001CE1D0 C8 26 00 00 */ lfd f1, 0(r6) /* 801D2574 001CE1D4 7C 0C 7C AE */ lfdx f0, r12, r15 /* 801D2578 001CE1D8 7D CE 00 50 */ subf r14, r14, r0 /* 801D257C 001CE1DC 55 CF 18 38 */ slwi r15, r14, 3 /* 801D2580 001CE1E0 39 67 00 02 */ addi r11, r7, 2 /* 801D2584 001CE1E4 FC 41 00 32 */ fmul f2, f1, f0 /* 801D2588 001CE1E8 7D CB 00 50 */ subf r14, r11, r0 /* 801D258C 001CE1EC 7C 0C 7C AE */ lfdx f0, r12, r15 /* 801D2590 001CE1F0 55 CF 18 38 */ slwi r15, r14, 3 /* 801D2594 001CE1F4 C8 26 00 08 */ lfd f1, 8(r6) /* 801D2598 001CE1F8 39 67 00 03 */ addi r11, r7, 3 /* 801D259C 001CE1FC FC 61 00 32 */ fmul f3, f1, f0 /* 801D25A0 001CE200 7D CB 00 50 */ subf r14, r11, r0 /* 801D25A4 001CE204 C8 26 00 10 */ lfd f1, 0x10(r6) /* 801D25A8 001CE208 55 CE 18 38 */ slwi r14, r14, 3 /* 801D25AC 001CE20C FC C6 10 2A */ fadd f6, f6, f2 /* 801D25B0 001CE210 7C 0C 7C AE */ lfdx f0, r12, r15 /* 801D25B4 001CE214 FC 41 00 32 */ fmul f2, f1, f0 /* 801D25B8 001CE218 39 67 00 04 */ addi r11, r7, 4 /* 801D25BC 001CE21C 7C 0C 74 AE */ lfdx f0, r12, r14 /* 801D25C0 001CE220 7D 6B 00 50 */ subf r11, r11, r0 /* 801D25C4 001CE224 FC C6 18 2A */ fadd f6, f6, f3 /* 801D25C8 001CE228 C8 26 00 18 */ lfd f1, 0x18(r6) /* 801D25CC 001CE22C 55 72 18 38 */ slwi r18, r11, 3 /* 801D25D0 001CE230 FC 21 00 32 */ fmul f1, f1, f0 /* 801D25D4 001CE234 39 67 00 05 */ addi r11, r7, 5 /* 801D25D8 001CE238 39 C7 00 06 */ addi r14, r7, 6 /* 801D25DC 001CE23C FC C6 10 2A */ fadd f6, f6, f2 /* 801D25E0 001CE240 7D 6B 00 50 */ subf r11, r11, r0 /* 801D25E4 001CE244 55 6F 18 38 */ slwi r15, r11, 3 /* 801D25E8 001CE248 39 67 00 07 */ addi r11, r7, 7 /* 801D25EC 001CE24C FC C6 08 2A */ fadd f6, f6, f1 /* 801D25F0 001CE250 7D CE 00 50 */ subf r14, r14, r0 /* 801D25F4 001CE254 C8 46 00 20 */ lfd f2, 0x20(r6) /* 801D25F8 001CE258 7C 0C 94 AE */ lfdx f0, r12, r18 /* 801D25FC 001CE25C 7D 6B 00 50 */ subf r11, r11, r0 /* 801D2600 001CE260 C8 26 00 28 */ lfd f1, 0x28(r6) /* 801D2604 001CE264 FC A2 00 32 */ fmul f5, f2, f0 /* 801D2608 001CE268 7C 0C 7C AE */ lfdx f0, r12, r15 /* 801D260C 001CE26C 55 CE 18 38 */ slwi r14, r14, 3 /* 801D2610 001CE270 C8 66 00 30 */ lfd f3, 0x30(r6) /* 801D2614 001CE274 FC 81 00 32 */ fmul f4, f1, f0 /* 801D2618 001CE278 7C 4C 74 AE */ lfdx f2, r12, r14 /* 801D261C 001CE27C FC C6 28 2A */ fadd f6, f6, f5 /* 801D2620 001CE280 55 6B 18 38 */ slwi r11, r11, 3 /* 801D2624 001CE284 C8 26 00 38 */ lfd f1, 0x38(r6) /* 801D2628 001CE288 FC 43 00 B2 */ fmul f2, f3, f2 /* 801D262C 001CE28C 7C 0C 5C AE */ lfdx f0, r12, r11 /* 801D2630 001CE290 38 E7 00 08 */ addi r7, r7, 8 /* 801D2634 001CE294 FC C6 20 2A */ fadd f6, f6, f4 /* 801D2638 001CE298 38 C6 00 40 */ addi r6, r6, 0x40 /* 801D263C 001CE29C FC 01 00 32 */ fmul f0, f1, f0 /* 801D2640 001CE2A0 FC C6 10 2A */ fadd f6, f6, f2 /* 801D2644 001CE2A4 FC C6 00 2A */ fadd f6, f6, f0 /* 801D2648 001CE2A8 42 00 FF 1C */ bdnz lbl_801D2564 lbl_801D264C: /* 801D264C 001CE2AC 38 16 00 01 */ addi r0, r22, 1 /* 801D2650 001CE2B0 54 E6 18 38 */ slwi r6, r7, 3 /* 801D2654 001CE2B4 7C 07 00 50 */ subf r0, r7, r0 /* 801D2658 001CE2B8 7D 76 4A 14 */ add r11, r22, r9 /* 801D265C 001CE2BC 7C C3 32 14 */ add r6, r3, r6 /* 801D2660 001CE2C0 7C 09 03 A6 */ mtctr r0 /* 801D2664 001CE2C4 7C 07 B0 00 */ cmpw r7, r22 /* 801D2668 001CE2C8 41 81 00 28 */ bgt lbl_801D2690 lbl_801D266C: /* 801D266C 001CE2CC 7C 07 58 50 */ subf r0, r7, r11 /* 801D2670 001CE2D0 C8 26 00 00 */ lfd f1, 0(r6) /* 801D2674 001CE2D4 54 00 18 38 */ slwi r0, r0, 3 /* 801D2678 001CE2D8 38 C6 00 08 */ addi r6, r6, 8 /* 801D267C 001CE2DC 7C 0C 04 AE */ lfdx f0, r12, r0 /* 801D2680 001CE2E0 38 E7 00 01 */ addi r7, r7, 1 /* 801D2684 001CE2E4 FC 01 00 32 */ fmul f0, f1, f0 /* 801D2688 001CE2E8 FC C6 00 2A */ fadd f6, f6, f0 /* 801D268C 001CE2EC 42 00 FF E0 */ bdnz lbl_801D266C lbl_801D2690: /* 801D2690 001CE2F0 D8 C5 00 00 */ stfd f6, 0(r5) /* 801D2694 001CE2F4 38 A5 00 08 */ addi r5, r5, 8 /* 801D2698 001CE2F8 39 29 00 01 */ addi r9, r9, 1 lbl_801D269C: /* 801D269C 001CE2FC 7C 09 A8 00 */ cmpw r9, r21 /* 801D26A0 001CE300 40 81 FE 38 */ ble lbl_801D24D8 /* 801D26A4 001CE304 23 93 00 18 */ subfic r28, r19, 0x18 /* 801D26A8 001CE308 7C B5 00 D0 */ neg r5, r21 /* 801D26AC 001CE30C 20 13 00 17 */ subfic r0, r19, 0x17 /* 801D26B0 001CE310 55 44 10 3A */ slwi r4, r10, 2 /* 801D26B4 001CE314 56 C3 18 38 */ slwi r3, r22, 3 /* 801D26B8 001CE318 3B 41 01 A0 */ addi r26, r1, 0x1a0 /* 801D26BC 001CE31C CB 02 94 B0 */ lfd f24, lbl_80641AB0-_SDA2_BASE_(r2) /* 801D26C0 001CE320 7E B7 AB 78 */ mr r23, r21 /* 801D26C4 001CE324 CB 22 94 E0 */ lfd f25, lbl_80641AE0-_SDA2_BASE_(r2) /* 801D26C8 001CE328 54 AE 00 00 */ rlwinm r14, r5, 0, 0, 0 /* 801D26CC 001CE32C CB 42 94 B8 */ lfd f26, lbl_80641AB8-_SDA2_BASE_(r2) /* 801D26D0 001CE330 7F 68 22 14 */ add r27, r8, r4 /* 801D26D4 001CE334 90 01 02 D0 */ stw r0, 0x2d0(r1) /* 801D26D8 001CE338 7F 5A 1A 14 */ add r26, r26, r3 /* 801D26DC 001CE33C CB 62 94 C8 */ lfd f27, lbl_80641AC8-_SDA2_BASE_(r2) /* 801D26E0 001CE340 3B A1 00 10 */ addi r29, r1, 0x10 /* 801D26E4 001CE344 CB 82 94 C0 */ lfd f28, lbl_80641AC0-_SDA2_BASE_(r2) /* 801D26E8 001CE348 39 E1 01 A0 */ addi r15, r1, 0x1a0 /* 801D26EC 001CE34C CB A2 94 D0 */ lfd f29, lbl_80641AD0-_SDA2_BASE_(r2) /* 801D26F0 001CE350 3F C0 01 00 */ lis r30, 0x100 /* 801D26F4 001CE354 CB C2 94 D8 */ lfd f30, lbl_80641AD8-_SDA2_BASE_(r2) /* 801D26F8 001CE358 3F E0 80 00 */ lis r31, 0x8000 /* 801D26FC 001CE35C CB E2 94 A8 */ lfd f31, lbl_80641AA8-_SDA2_BASE_(r2) lbl_801D2700: /* 801D2700 001CE360 56 E0 18 38 */ slwi r0, r23, 3 /* 801D2704 001CE364 2C 97 00 00 */ cmpwi cr1, r23, 0 /* 801D2708 001CE368 38 61 00 60 */ addi r3, r1, 0x60 /* 801D270C 001CE36C 7C 23 04 EE */ lfdux f1, r3, r0 /* 801D2710 001CE370 7E E4 BB 78 */ mr r4, r23 /* 801D2714 001CE374 38 A0 00 00 */ li r5, 0 /* 801D2718 001CE378 38 C0 00 00 */ li r6, 0 /* 801D271C 001CE37C 40 85 02 F8 */ ble cr1, lbl_801D2A14 /* 801D2720 001CE380 2C 17 00 08 */ cmpwi r23, 8 /* 801D2724 001CE384 40 81 02 80 */ ble lbl_801D29A4 /* 801D2728 001CE388 38 E0 00 00 */ li r7, 0 /* 801D272C 001CE38C 41 84 00 14 */ blt cr1, lbl_801D2740 /* 801D2730 001CE390 38 1F 00 01 */ addi r0, r31, 1 /* 801D2734 001CE394 7C 17 00 00 */ cmpw r23, r0 /* 801D2738 001CE398 41 80 00 08 */ blt lbl_801D2740 /* 801D273C 001CE39C 38 E0 00 01 */ li r7, 1 lbl_801D2740: /* 801D2740 001CE3A0 2C 07 00 00 */ cmpwi r7, 0 /* 801D2744 001CE3A4 41 82 02 60 */ beq lbl_801D29A4 /* 801D2748 001CE3A8 38 17 FF FF */ addi r0, r23, -1 /* 801D274C 001CE3AC 54 00 E8 FE */ srwi r0, r0, 3 /* 801D2750 001CE3B0 7C 09 03 A6 */ mtctr r0 /* 801D2754 001CE3B4 2C 17 00 08 */ cmpwi r23, 8 /* 801D2758 001CE3B8 40 81 02 4C */ ble lbl_801D29A4 lbl_801D275C: /* 801D275C 001CE3BC FC 18 00 72 */ fmul f0, f24, f1 /* 801D2760 001CE3C0 38 05 00 01 */ addi r0, r5, 1 /* 801D2764 001CE3C4 39 25 00 02 */ addi r9, r5, 2 /* 801D2768 001CE3C8 39 05 00 03 */ addi r8, r5, 3 /* 801D276C 001CE3CC 38 E5 00 04 */ addi r7, r5, 4 /* 801D2770 001CE3D0 C8 83 FF F8 */ lfd f4, -8(r3) /* 801D2774 001CE3D4 FC A0 00 1E */ fctiwz f5, f0 /* 801D2778 001CE3D8 C8 63 FF F0 */ lfd f3, -0x10(r3) /* 801D277C 001CE3DC C8 43 FF E8 */ lfd f2, -0x18(r3) /* 801D2780 001CE3E0 54 00 10 3A */ slwi r0, r0, 2 /* 801D2784 001CE3E4 C8 03 FF E0 */ lfd f0, -0x20(r3) /* 801D2788 001CE3E8 55 29 10 3A */ slwi r9, r9, 2 /* 801D278C 001CE3EC D8 A1 02 50 */ stfd f5, 0x250(r1) /* 801D2790 001CE3F0 55 08 10 3A */ slwi r8, r8, 2 /* 801D2794 001CE3F4 54 E7 10 3A */ slwi r7, r7, 2 /* 801D2798 001CE3F8 81 41 02 54 */ lwz r10, 0x254(r1) /* 801D279C 001CE3FC 6D 4A 80 00 */ xoris r10, r10, 0x8000 /* 801D27A0 001CE400 91 41 02 4C */ stw r10, 0x24c(r1) /* 801D27A4 001CE404 C8 A1 02 48 */ lfd f5, 0x248(r1) /* 801D27A8 001CE408 FC A5 C8 28 */ fsub f5, f5, f25 /* 801D27AC 001CE40C FC C5 20 2A */ fadd f6, f5, f4 /* 801D27B0 001CE410 FC BA 01 72 */ fmul f5, f26, f5 /* 801D27B4 001CE414 FC 98 01 B2 */ fmul f4, f24, f6 /* 801D27B8 001CE418 FC A1 28 28 */ fsub f5, f1, f5 /* 801D27BC 001CE41C FC 20 20 1E */ fctiwz f1, f4 /* 801D27C0 001CE420 FC 80 28 1E */ fctiwz f4, f5 /* 801D27C4 001CE424 D8 21 02 60 */ stfd f1, 0x260(r1) /* 801D27C8 001CE428 81 41 02 64 */ lwz r10, 0x264(r1) /* 801D27CC 001CE42C D8 81 02 58 */ stfd f4, 0x258(r1) /* 801D27D0 001CE430 6D 4A 80 00 */ xoris r10, r10, 0x8000 /* 801D27D4 001CE434 91 41 02 44 */ stw r10, 0x244(r1) /* 801D27D8 001CE438 81 41 02 5C */ lwz r10, 0x25c(r1) /* 801D27DC 001CE43C C8 21 02 40 */ lfd f1, 0x240(r1) /* 801D27E0 001CE440 7D 5D 31 2E */ stwx r10, r29, r6 /* 801D27E4 001CE444 FC 21 C8 28 */ fsub f1, f1, f25 /* 801D27E8 001CE448 FC 81 18 2A */ fadd f4, f1, f3 /* 801D27EC 001CE44C FC 7A 00 72 */ fmul f3, f26, f1 /* 801D27F0 001CE450 FC 38 01 32 */ fmul f1, f24, f4 /* 801D27F4 001CE454 FC 66 18 28 */ fsub f3, f6, f3 /* 801D27F8 001CE458 FC 20 08 1E */ fctiwz f1, f1 /* 801D27FC 001CE45C FC 60 18 1E */ fctiwz f3, f3 /* 801D2800 001CE460 D8 21 02 70 */ stfd f1, 0x270(r1) /* 801D2804 001CE464 81 41 02 74 */ lwz r10, 0x274(r1) /* 801D2808 001CE468 D8 61 02 68 */ stfd f3, 0x268(r1) /* 801D280C 001CE46C 6D 4A 80 00 */ xoris r10, r10, 0x8000 /* 801D2810 001CE470 91 41 02 4C */ stw r10, 0x24c(r1) /* 801D2814 001CE474 81 41 02 6C */ lwz r10, 0x26c(r1) /* 801D2818 001CE478 C8 21 02 48 */ lfd f1, 0x248(r1) /* 801D281C 001CE47C 7D 5D 01 2E */ stwx r10, r29, r0 /* 801D2820 001CE480 FC 21 C8 28 */ fsub f1, f1, f25 /* 801D2824 001CE484 FC 61 10 2A */ fadd f3, f1, f2 /* 801D2828 001CE488 FC 5A 00 72 */ fmul f2, f26, f1 /* 801D282C 001CE48C FC 38 00 F2 */ fmul f1, f24, f3 /* 801D2830 001CE490 FC 44 10 28 */ fsub f2, f4, f2 /* 801D2834 001CE494 FC 20 08 1E */ fctiwz f1, f1 /* 801D2838 001CE498 FC 40 10 1E */ fctiwz f2, f2 /* 801D283C 001CE49C D8 21 02 80 */ stfd f1, 0x280(r1) /* 801D2840 001CE4A0 80 01 02 84 */ lwz r0, 0x284(r1) /* 801D2844 001CE4A4 D8 41 02 78 */ stfd f2, 0x278(r1) /* 801D2848 001CE4A8 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D284C 001CE4AC 90 01 02 44 */ stw r0, 0x244(r1) /* 801D2850 001CE4B0 80 01 02 7C */ lwz r0, 0x27c(r1) /* 801D2854 001CE4B4 C8 21 02 40 */ lfd f1, 0x240(r1) /* 801D2858 001CE4B8 7C 1D 49 2E */ stwx r0, r29, r9 /* 801D285C 001CE4BC FC 21 C8 28 */ fsub f1, f1, f25 /* 801D2860 001CE4C0 FC 41 00 2A */ fadd f2, f1, f0 /* 801D2864 001CE4C4 FC 3A 00 72 */ fmul f1, f26, f1 /* 801D2868 001CE4C8 FC 18 00 B2 */ fmul f0, f24, f2 /* 801D286C 001CE4CC FC 23 08 28 */ fsub f1, f3, f1 /* 801D2870 001CE4D0 FC 00 00 1E */ fctiwz f0, f0 /* 801D2874 001CE4D4 FC 20 08 1E */ fctiwz f1, f1 /* 801D2878 001CE4D8 D8 01 02 90 */ stfd f0, 0x290(r1) /* 801D287C 001CE4DC 80 01 02 94 */ lwz r0, 0x294(r1) /* 801D2880 001CE4E0 D8 21 02 88 */ stfd f1, 0x288(r1) /* 801D2884 001CE4E4 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D2888 001CE4E8 90 01 02 4C */ stw r0, 0x24c(r1) /* 801D288C 001CE4EC 80 01 02 8C */ lwz r0, 0x28c(r1) /* 801D2890 001CE4F0 C8 01 02 48 */ lfd f0, 0x248(r1) /* 801D2894 001CE4F4 7C 1D 41 2E */ stwx r0, r29, r8 /* 801D2898 001CE4F8 FC 20 C8 28 */ fsub f1, f0, f25 /* 801D289C 001CE4FC FC 1A 00 72 */ fmul f0, f26, f1 /* 801D28A0 001CE500 FC 02 00 28 */ fsub f0, f2, f0 /* 801D28A4 001CE504 FC 00 00 1E */ fctiwz f0, f0 /* 801D28A8 001CE508 D8 01 02 98 */ stfd f0, 0x298(r1) /* 801D28AC 001CE50C 80 01 02 9C */ lwz r0, 0x29c(r1) /* 801D28B0 001CE510 7C 1D 39 2E */ stwx r0, r29, r7 /* 801D28B4 001CE514 C8 03 FF D8 */ lfd f0, -0x28(r3) /* 801D28B8 001CE518 39 05 00 05 */ addi r8, r5, 5 /* 801D28BC 001CE51C 38 05 00 07 */ addi r0, r5, 7 /* 801D28C0 001CE520 38 E5 00 06 */ addi r7, r5, 6 /* 801D28C4 001CE524 FC A1 00 2A */ fadd f5, f1, f0 /* 801D28C8 001CE528 55 09 10 3A */ slwi r9, r8, 2 /* 801D28CC 001CE52C 54 E8 10 3A */ slwi r8, r7, 2 /* 801D28D0 001CE530 C8 43 FF D0 */ lfd f2, -0x30(r3) /* 801D28D4 001CE534 C8 23 FF C8 */ lfd f1, -0x38(r3) /* 801D28D8 001CE538 54 00 10 3A */ slwi r0, r0, 2 /* 801D28DC 001CE53C FC 78 01 72 */ fmul f3, f24, f5 /* 801D28E0 001CE540 CC 03 FF C0 */ lfdu f0, -0x40(r3) /* 801D28E4 001CE544 38 A5 00 08 */ addi r5, r5, 8 /* 801D28E8 001CE548 38 C6 00 20 */ addi r6, r6, 0x20 /* 801D28EC 001CE54C 38 84 FF F8 */ addi r4, r4, -8 /* 801D28F0 001CE550 FC 60 18 1E */ fctiwz f3, f3 /* 801D28F4 001CE554 D8 61 02 A0 */ stfd f3, 0x2a0(r1) /* 801D28F8 001CE558 80 E1 02 A4 */ lwz r7, 0x2a4(r1) /* 801D28FC 001CE55C 6C E7 80 00 */ xoris r7, r7, 0x8000 /* 801D2900 001CE560 90 E1 02 44 */ stw r7, 0x244(r1) /* 801D2904 001CE564 C8 61 02 40 */ lfd f3, 0x240(r1) /* 801D2908 001CE568 FC 63 C8 28 */ fsub f3, f3, f25 /* 801D290C 001CE56C FC 83 10 2A */ fadd f4, f3, f2 /* 801D2910 001CE570 FC 7A 00 F2 */ fmul f3, f26, f3 /* 801D2914 001CE574 FC 58 01 32 */ fmul f2, f24, f4 /* 801D2918 001CE578 FC 65 18 28 */ fsub f3, f5, f3 /* 801D291C 001CE57C FC 40 10 1E */ fctiwz f2, f2 /* 801D2920 001CE580 FC 60 18 1E */ fctiwz f3, f3 /* 801D2924 001CE584 D8 41 02 B0 */ stfd f2, 0x2b0(r1) /* 801D2928 001CE588 80 E1 02 B4 */ lwz r7, 0x2b4(r1) /* 801D292C 001CE58C D8 61 02 A8 */ stfd f3, 0x2a8(r1) /* 801D2930 001CE590 6C E7 80 00 */ xoris r7, r7, 0x8000 /* 801D2934 001CE594 90 E1 02 4C */ stw r7, 0x24c(r1) /* 801D2938 001CE598 80 E1 02 AC */ lwz r7, 0x2ac(r1) /* 801D293C 001CE59C C8 41 02 48 */ lfd f2, 0x248(r1) /* 801D2940 001CE5A0 7C FD 49 2E */ stwx r7, r29, r9 /* 801D2944 001CE5A4 FC 42 C8 28 */ fsub f2, f2, f25 /* 801D2948 001CE5A8 FC 62 08 2A */ fadd f3, f2, f1 /* 801D294C 001CE5AC FC 5A 00 B2 */ fmul f2, f26, f2 /* 801D2950 001CE5B0 FC 38 00 F2 */ fmul f1, f24, f3 /* 801D2954 001CE5B4 FC 44 10 28 */ fsub f2, f4, f2 /* 801D2958 001CE5B8 FC 20 08 1E */ fctiwz f1, f1 /* 801D295C 001CE5BC FC 40 10 1E */ fctiwz f2, f2 /* 801D2960 001CE5C0 D8 21 02 C0 */ stfd f1, 0x2c0(r1) /* 801D2964 001CE5C4 80 E1 02 C4 */ lwz r7, 0x2c4(r1) /* 801D2968 001CE5C8 D8 41 02 B8 */ stfd f2, 0x2b8(r1) /* 801D296C 001CE5CC 6C E7 80 00 */ xoris r7, r7, 0x8000 /* 801D2970 001CE5D0 90 E1 02 44 */ stw r7, 0x244(r1) /* 801D2974 001CE5D4 80 E1 02 BC */ lwz r7, 0x2bc(r1) /* 801D2978 001CE5D8 C8 21 02 40 */ lfd f1, 0x240(r1) /* 801D297C 001CE5DC 7C FD 41 2E */ stwx r7, r29, r8 /* 801D2980 001CE5E0 FC 21 C8 28 */ fsub f1, f1, f25 /* 801D2984 001CE5E4 FC 5A 00 72 */ fmul f2, f26, f1 /* 801D2988 001CE5E8 FC 21 00 2A */ fadd f1, f1, f0 /* 801D298C 001CE5EC FC 03 10 28 */ fsub f0, f3, f2 /* 801D2990 001CE5F0 FC 00 00 1E */ fctiwz f0, f0 /* 801D2994 001CE5F4 D8 01 02 C8 */ stfd f0, 0x2c8(r1) /* 801D2998 001CE5F8 80 E1 02 CC */ lwz r7, 0x2cc(r1) /* 801D299C 001CE5FC 7C FD 01 2E */ stwx r7, r29, r0 /* 801D29A0 001CE600 42 00 FD BC */ bdnz lbl_801D275C lbl_801D29A4: /* 801D29A4 001CE604 54 A3 10 3A */ slwi r3, r5, 2 /* 801D29A8 001CE608 38 A1 00 10 */ addi r5, r1, 0x10 /* 801D29AC 001CE60C 54 80 18 38 */ slwi r0, r4, 3 /* 801D29B0 001CE610 38 C1 00 60 */ addi r6, r1, 0x60 /* 801D29B4 001CE614 7C A5 1A 14 */ add r5, r5, r3 /* 801D29B8 001CE618 7C C6 02 14 */ add r6, r6, r0 /* 801D29BC 001CE61C 7C 89 03 A6 */ mtctr r4 /* 801D29C0 001CE620 2C 04 00 00 */ cmpwi r4, 0 /* 801D29C4 001CE624 40 81 00 50 */ ble lbl_801D2A14 lbl_801D29C8: /* 801D29C8 001CE628 FC 58 00 72 */ fmul f2, f24, f1 /* 801D29CC 001CE62C CC 06 FF F8 */ lfdu f0, -8(r6) /* 801D29D0 001CE630 38 84 FF FF */ addi r4, r4, -1 /* 801D29D4 001CE634 FC 40 10 1E */ fctiwz f2, f2 /* 801D29D8 001CE638 D8 41 02 C8 */ stfd f2, 0x2c8(r1) /* 801D29DC 001CE63C 80 01 02 CC */ lwz r0, 0x2cc(r1) /* 801D29E0 001CE640 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D29E4 001CE644 90 01 02 4C */ stw r0, 0x24c(r1) /* 801D29E8 001CE648 C8 41 02 48 */ lfd f2, 0x248(r1) /* 801D29EC 001CE64C FC 62 C8 28 */ fsub f3, f2, f25 /* 801D29F0 001CE650 FC 5A 00 F2 */ fmul f2, f26, f3 /* 801D29F4 001CE654 FC 41 10 28 */ fsub f2, f1, f2 /* 801D29F8 001CE658 FC 23 00 2A */ fadd f1, f3, f0 /* 801D29FC 001CE65C FC 00 10 1E */ fctiwz f0, f2 /* 801D2A00 001CE660 D8 01 02 C0 */ stfd f0, 0x2c0(r1) /* 801D2A04 001CE664 80 01 02 C4 */ lwz r0, 0x2c4(r1) /* 801D2A08 001CE668 90 05 00 00 */ stw r0, 0(r5) /* 801D2A0C 001CE66C 38 A5 00 04 */ addi r5, r5, 4 /* 801D2A10 001CE670 42 00 FF B8 */ bdnz lbl_801D29C8 lbl_801D2A14: /* 801D2A14 001CE674 7E 63 9B 78 */ mr r3, r19 /* 801D2A18 001CE678 4B FF DF A9 */ bl scalbn /* 801D2A1C 001CE67C FE E0 08 90 */ fmr f23, f1 /* 801D2A20 001CE680 FC 3B 00 72 */ fmul f1, f27, f1 /* 801D2A24 001CE684 48 00 17 29 */ bl floor /* 801D2A28 001CE688 FC 1C 00 72 */ fmul f0, f28, f1 /* 801D2A2C 001CE68C 2C 13 00 00 */ cmpwi r19, 0 /* 801D2A30 001CE690 3A 40 00 00 */ li r18, 0 /* 801D2A34 001CE694 FE F7 00 28 */ fsub f23, f23, f0 /* 801D2A38 001CE698 FC 00 B8 1E */ fctiwz f0, f23 /* 801D2A3C 001CE69C D8 01 02 C8 */ stfd f0, 0x2c8(r1) /* 801D2A40 001CE6A0 82 81 02 CC */ lwz r20, 0x2cc(r1) /* 801D2A44 001CE6A4 6E 80 80 00 */ xoris r0, r20, 0x8000 /* 801D2A48 001CE6A8 90 01 02 44 */ stw r0, 0x244(r1) /* 801D2A4C 001CE6AC C8 01 02 40 */ lfd f0, 0x240(r1) /* 801D2A50 001CE6B0 FC 00 C8 28 */ fsub f0, f0, f25 /* 801D2A54 001CE6B4 FE F7 00 28 */ fsub f23, f23, f0 /* 801D2A58 001CE6B8 40 81 00 30 */ ble lbl_801D2A88 /* 801D2A5C 001CE6BC 56 E0 10 3A */ slwi r0, r23, 2 /* 801D2A60 001CE6C0 7C 9D 02 14 */ add r4, r29, r0 /* 801D2A64 001CE6C4 80 64 FF FC */ lwz r3, -4(r4) /* 801D2A68 001CE6C8 7C 65 E6 30 */ sraw r5, r3, r28 /* 801D2A6C 001CE6CC 7C A0 E0 30 */ slw r0, r5, r28 /* 801D2A70 001CE6D0 7C 60 18 50 */ subf r3, r0, r3 /* 801D2A74 001CE6D4 80 01 02 D0 */ lwz r0, 0x2d0(r1) /* 801D2A78 001CE6D8 90 64 FF FC */ stw r3, -4(r4) /* 801D2A7C 001CE6DC 7E 94 2A 14 */ add r20, r20, r5 /* 801D2A80 001CE6E0 7C 72 06 30 */ sraw r18, r3, r0 /* 801D2A84 001CE6E4 48 00 00 2C */ b lbl_801D2AB0 lbl_801D2A88: /* 801D2A88 001CE6E8 40 82 00 18 */ bne lbl_801D2AA0 /* 801D2A8C 001CE6EC 56 E0 10 3A */ slwi r0, r23, 2 /* 801D2A90 001CE6F0 7C 7D 02 14 */ add r3, r29, r0 /* 801D2A94 001CE6F4 80 03 FF FC */ lwz r0, -4(r3) /* 801D2A98 001CE6F8 7C 12 BE 70 */ srawi r18, r0, 0x17 /* 801D2A9C 001CE6FC 48 00 00 14 */ b lbl_801D2AB0 lbl_801D2AA0: /* 801D2AA0 001CE700 FC 17 E8 40 */ fcmpo cr0, f23, f29 /* 801D2AA4 001CE704 4C 41 13 82 */ cror 2, 1, 2 /* 801D2AA8 001CE708 40 82 00 08 */ bne lbl_801D2AB0 /* 801D2AAC 001CE70C 3A 40 00 02 */ li r18, 2 lbl_801D2AB0: /* 801D2AB0 001CE710 2C 12 00 00 */ cmpwi r18, 0 /* 801D2AB4 001CE714 40 81 00 C4 */ ble lbl_801D2B78 /* 801D2AB8 001CE718 38 A1 00 10 */ addi r5, r1, 0x10 /* 801D2ABC 001CE71C 38 9E FF FF */ addi r4, r30, -1 /* 801D2AC0 001CE720 38 00 00 00 */ li r0, 0 /* 801D2AC4 001CE724 7E E9 03 A6 */ mtctr r23 /* 801D2AC8 001CE728 2C 17 00 00 */ cmpwi r23, 0 /* 801D2ACC 001CE72C 3A 94 00 01 */ addi r20, r20, 1 /* 801D2AD0 001CE730 40 81 00 38 */ ble lbl_801D2B08 lbl_801D2AD4: /* 801D2AD4 001CE734 2C 00 00 00 */ cmpwi r0, 0 /* 801D2AD8 001CE738 80 65 00 00 */ lwz r3, 0(r5) /* 801D2ADC 001CE73C 40 82 00 1C */ bne lbl_801D2AF8 /* 801D2AE0 001CE740 2C 03 00 00 */ cmpwi r3, 0 /* 801D2AE4 001CE744 41 82 00 1C */ beq lbl_801D2B00 /* 801D2AE8 001CE748 7C 63 F0 50 */ subf r3, r3, r30 /* 801D2AEC 001CE74C 38 00 00 01 */ li r0, 1 /* 801D2AF0 001CE750 90 65 00 00 */ stw r3, 0(r5) /* 801D2AF4 001CE754 48 00 00 0C */ b lbl_801D2B00 lbl_801D2AF8: /* 801D2AF8 001CE758 7C 63 20 50 */ subf r3, r3, r4 /* 801D2AFC 001CE75C 90 65 00 00 */ stw r3, 0(r5) lbl_801D2B00: /* 801D2B00 001CE760 38 A5 00 04 */ addi r5, r5, 4 /* 801D2B04 001CE764 42 00 FF D0 */ bdnz lbl_801D2AD4 lbl_801D2B08: /* 801D2B08 001CE768 2C 13 00 00 */ cmpwi r19, 0 /* 801D2B0C 001CE76C 40 81 00 48 */ ble lbl_801D2B54 /* 801D2B10 001CE770 2C 13 00 02 */ cmpwi r19, 2 /* 801D2B14 001CE774 41 82 00 2C */ beq lbl_801D2B40 /* 801D2B18 001CE778 40 80 00 3C */ bge lbl_801D2B54 /* 801D2B1C 001CE77C 2C 13 00 01 */ cmpwi r19, 1 /* 801D2B20 001CE780 40 80 00 08 */ bge lbl_801D2B28 /* 801D2B24 001CE784 48 00 00 30 */ b lbl_801D2B54 lbl_801D2B28: /* 801D2B28 001CE788 56 E3 10 3A */ slwi r3, r23, 2 /* 801D2B2C 001CE78C 7C 9D 1A 14 */ add r4, r29, r3 /* 801D2B30 001CE790 80 64 FF FC */ lwz r3, -4(r4) /* 801D2B34 001CE794 54 63 02 7E */ clrlwi r3, r3, 9 /* 801D2B38 001CE798 90 64 FF FC */ stw r3, -4(r4) /* 801D2B3C 001CE79C 48 00 00 18 */ b lbl_801D2B54 lbl_801D2B40: /* 801D2B40 001CE7A0 56 E3 10 3A */ slwi r3, r23, 2 /* 801D2B44 001CE7A4 7C 9D 1A 14 */ add r4, r29, r3 /* 801D2B48 001CE7A8 80 64 FF FC */ lwz r3, -4(r4) /* 801D2B4C 001CE7AC 54 63 02 BE */ clrlwi r3, r3, 0xa /* 801D2B50 001CE7B0 90 64 FF FC */ stw r3, -4(r4) lbl_801D2B54: /* 801D2B54 001CE7B4 2C 12 00 02 */ cmpwi r18, 2 /* 801D2B58 001CE7B8 40 82 00 20 */ bne lbl_801D2B78 /* 801D2B5C 001CE7BC 2C 00 00 00 */ cmpwi r0, 0 /* 801D2B60 001CE7C0 FE FE B8 28 */ fsub f23, f30, f23 /* 801D2B64 001CE7C4 41 82 00 14 */ beq lbl_801D2B78 /* 801D2B68 001CE7C8 FC 20 F0 90 */ fmr f1, f30 /* 801D2B6C 001CE7CC 7E 63 9B 78 */ mr r3, r19 /* 801D2B70 001CE7D0 4B FF DE 51 */ bl scalbn /* 801D2B74 001CE7D4 FE F7 08 28 */ fsub f23, f23, f1 lbl_801D2B78: /* 801D2B78 001CE7D8 FC 1F B8 00 */ fcmpu cr0, f31, f23 /* 801D2B7C 001CE7DC 40 82 03 D4 */ bne lbl_801D2F50 /* 801D2B80 001CE7E0 39 57 FF FF */ addi r10, r23, -1 /* 801D2B84 001CE7E4 39 20 00 00 */ li r9, 0 /* 801D2B88 001CE7E8 7C 8A A8 00 */ cmpw cr1, r10, r21 /* 801D2B8C 001CE7EC 41 84 01 84 */ blt cr1, lbl_801D2D10 /* 801D2B90 001CE7F0 7C F5 50 50 */ subf r7, r21, r10 /* 801D2B94 001CE7F4 38 15 00 08 */ addi r0, r21, 8 /* 801D2B98 001CE7F8 39 07 00 01 */ addi r8, r7, 1 /* 801D2B9C 001CE7FC 2C 08 00 08 */ cmpwi r8, 8 /* 801D2BA0 001CE800 40 81 01 3C */ ble lbl_801D2CDC /* 801D2BA4 001CE804 38 60 00 00 */ li r3, 0 /* 801D2BA8 001CE808 38 80 00 00 */ li r4, 0 /* 801D2BAC 001CE80C 38 A0 00 00 */ li r5, 0 /* 801D2BB0 001CE810 38 C0 00 00 */ li r6, 0 /* 801D2BB4 001CE814 39 80 00 00 */ li r12, 0 /* 801D2BB8 001CE818 41 84 00 14 */ blt cr1, lbl_801D2BCC /* 801D2BBC 001CE81C 39 7F 00 01 */ addi r11, r31, 1 /* 801D2BC0 001CE820 7C 15 58 00 */ cmpw r21, r11 /* 801D2BC4 001CE824 41 80 00 08 */ blt lbl_801D2BCC /* 801D2BC8 001CE828 39 80 00 01 */ li r12, 1 lbl_801D2BCC: /* 801D2BCC 001CE82C 2C 0C 00 00 */ cmpwi r12, 0 /* 801D2BD0 001CE830 41 82 00 18 */ beq lbl_801D2BE8 /* 801D2BD4 001CE834 39 97 FF FF */ addi r12, r23, -1 /* 801D2BD8 001CE838 39 7F 00 01 */ addi r11, r31, 1 /* 801D2BDC 001CE83C 7C 0C 58 00 */ cmpw r12, r11 /* 801D2BE0 001CE840 41 80 00 08 */ blt lbl_801D2BE8 /* 801D2BE4 001CE844 38 C0 00 01 */ li r6, 1 lbl_801D2BE8: /* 801D2BE8 001CE848 2C 06 00 00 */ cmpwi r6, 0 /* 801D2BEC 001CE84C 41 82 00 14 */ beq lbl_801D2C00 /* 801D2BF0 001CE850 3C D5 80 00 */ addis r6, r21, 0x8000 /* 801D2BF4 001CE854 28 06 00 00 */ cmplwi r6, 0 /* 801D2BF8 001CE858 41 82 00 08 */ beq lbl_801D2C00 /* 801D2BFC 001CE85C 38 A0 00 01 */ li r5, 1 lbl_801D2C00: /* 801D2C00 001CE860 2C 05 00 00 */ cmpwi r5, 0 /* 801D2C04 001CE864 41 82 00 34 */ beq lbl_801D2C38 /* 801D2C08 001CE868 38 B7 FF FF */ addi r5, r23, -1 /* 801D2C0C 001CE86C 38 C0 00 01 */ li r6, 1 /* 801D2C10 001CE870 54 AB 00 00 */ rlwinm r11, r5, 0, 0, 0 /* 801D2C14 001CE874 7C 0B 70 00 */ cmpw r11, r14 /* 801D2C18 001CE878 40 82 00 14 */ bne lbl_801D2C2C /* 801D2C1C 001CE87C 54 E5 00 00 */ rlwinm r5, r7, 0, 0, 0 /* 801D2C20 001CE880 7C 0B 28 00 */ cmpw r11, r5 /* 801D2C24 001CE884 41 82 00 08 */ beq lbl_801D2C2C /* 801D2C28 001CE888 38 C0 00 00 */ li r6, 0 lbl_801D2C2C: /* 801D2C2C 001CE88C 2C 06 00 00 */ cmpwi r6, 0 /* 801D2C30 001CE890 41 82 00 08 */ beq lbl_801D2C38 /* 801D2C34 001CE894 38 80 00 01 */ li r4, 1 lbl_801D2C38: /* 801D2C38 001CE898 2C 04 00 00 */ cmpwi r4, 0 /* 801D2C3C 001CE89C 41 82 00 28 */ beq lbl_801D2C64 /* 801D2C40 001CE8A0 54 E4 00 01 */ rlwinm. r4, r7, 0, 0, 0 /* 801D2C44 001CE8A4 38 A0 00 01 */ li r5, 1 /* 801D2C48 001CE8A8 40 82 00 10 */ bne lbl_801D2C58 /* 801D2C4C 001CE8AC 55 04 00 01 */ rlwinm. r4, r8, 0, 0, 0 /* 801D2C50 001CE8B0 41 82 00 08 */ beq lbl_801D2C58 /* 801D2C54 001CE8B4 38 A0 00 00 */ li r5, 0 lbl_801D2C58: /* 801D2C58 001CE8B8 2C 05 00 00 */ cmpwi r5, 0 /* 801D2C5C 001CE8BC 41 82 00 08 */ beq lbl_801D2C64 /* 801D2C60 001CE8C0 38 60 00 01 */ li r3, 1 lbl_801D2C64: /* 801D2C64 001CE8C4 2C 03 00 00 */ cmpwi r3, 0 /* 801D2C68 001CE8C8 41 82 00 74 */ beq lbl_801D2CDC /* 801D2C6C 001CE8CC 38 8A 00 08 */ addi r4, r10, 8 /* 801D2C70 001CE8D0 55 45 10 3A */ slwi r5, r10, 2 /* 801D2C74 001CE8D4 7C 80 20 50 */ subf r4, r0, r4 /* 801D2C78 001CE8D8 38 61 00 10 */ addi r3, r1, 0x10 /* 801D2C7C 001CE8DC 54 84 E8 FE */ srwi r4, r4, 3 /* 801D2C80 001CE8E0 7C 63 2A 14 */ add r3, r3, r5 /* 801D2C84 001CE8E4 7C 89 03 A6 */ mtctr r4 /* 801D2C88 001CE8E8 7C 0A 00 00 */ cmpw r10, r0 /* 801D2C8C 001CE8EC 41 80 00 50 */ blt lbl_801D2CDC lbl_801D2C90: /* 801D2C90 001CE8F0 80 83 00 00 */ lwz r4, 0(r3) /* 801D2C94 001CE8F4 39 4A FF F8 */ addi r10, r10, -8 /* 801D2C98 001CE8F8 80 03 FF FC */ lwz r0, -4(r3) /* 801D2C9C 001CE8FC 7D 29 23 78 */ or r9, r9, r4 /* 801D2CA0 001CE900 80 83 FF F8 */ lwz r4, -8(r3) /* 801D2CA4 001CE904 7D 29 03 78 */ or r9, r9, r0 /* 801D2CA8 001CE908 80 03 FF F4 */ lwz r0, -0xc(r3) /* 801D2CAC 001CE90C 7D 29 23 78 */ or r9, r9, r4 /* 801D2CB0 001CE910 80 83 FF F0 */ lwz r4, -0x10(r3) /* 801D2CB4 001CE914 7D 29 03 78 */ or r9, r9, r0 /* 801D2CB8 001CE918 80 03 FF EC */ lwz r0, -0x14(r3) /* 801D2CBC 001CE91C 7D 29 23 78 */ or r9, r9, r4 /* 801D2CC0 001CE920 80 83 FF E8 */ lwz r4, -0x18(r3) /* 801D2CC4 001CE924 7D 29 03 78 */ or r9, r9, r0 /* 801D2CC8 001CE928 80 03 FF E4 */ lwz r0, -0x1c(r3) /* 801D2CCC 001CE92C 7D 29 23 78 */ or r9, r9, r4 /* 801D2CD0 001CE930 38 63 FF E0 */ addi r3, r3, -32 /* 801D2CD4 001CE934 7D 29 03 78 */ or r9, r9, r0 /* 801D2CD8 001CE938 42 00 FF B8 */ bdnz lbl_801D2C90 lbl_801D2CDC: /* 801D2CDC 001CE93C 38 0A 00 01 */ addi r0, r10, 1 /* 801D2CE0 001CE940 55 43 10 3A */ slwi r3, r10, 2 /* 801D2CE4 001CE944 38 81 00 10 */ addi r4, r1, 0x10 /* 801D2CE8 001CE948 7C 15 00 50 */ subf r0, r21, r0 /* 801D2CEC 001CE94C 7C 84 1A 14 */ add r4, r4, r3 /* 801D2CF0 001CE950 7C 09 03 A6 */ mtctr r0 /* 801D2CF4 001CE954 7C 0A A8 00 */ cmpw r10, r21 /* 801D2CF8 001CE958 41 80 00 18 */ blt lbl_801D2D10 lbl_801D2CFC: /* 801D2CFC 001CE95C 80 04 00 00 */ lwz r0, 0(r4) /* 801D2D00 001CE960 38 84 FF FC */ addi r4, r4, -4 /* 801D2D04 001CE964 39 4A FF FF */ addi r10, r10, -1 /* 801D2D08 001CE968 7D 29 03 78 */ or r9, r9, r0 /* 801D2D0C 001CE96C 42 00 FF F0 */ bdnz lbl_801D2CFC lbl_801D2D10: /* 801D2D10 001CE970 2C 09 00 00 */ cmpwi r9, 0 /* 801D2D14 001CE974 40 82 02 3C */ bne lbl_801D2F50 /* 801D2D18 001CE978 3A 40 00 01 */ li r18, 1 /* 801D2D1C 001CE97C 48 00 00 08 */ b lbl_801D2D24 lbl_801D2D20: /* 801D2D20 001CE980 3A 52 00 01 */ addi r18, r18, 1 lbl_801D2D24: /* 801D2D24 001CE984 7C 12 A8 50 */ subf r0, r18, r21 /* 801D2D28 001CE988 54 00 10 3A */ slwi r0, r0, 2 /* 801D2D2C 001CE98C 7C 1D 00 2E */ lwzx r0, r29, r0 /* 801D2D30 001CE990 2C 00 00 00 */ cmpwi r0, 0 /* 801D2D34 001CE994 41 82 FF EC */ beq lbl_801D2D20 /* 801D2D38 001CE998 39 97 00 01 */ addi r12, r23, 1 /* 801D2D3C 001CE99C 38 E1 00 60 */ addi r7, r1, 0x60 /* 801D2D40 001CE9A0 55 83 18 38 */ slwi r3, r12, 3 /* 801D2D44 001CE9A4 7D 17 92 14 */ add r8, r23, r18 /* 801D2D48 001CE9A8 55 80 10 3A */ slwi r0, r12, 2 /* 801D2D4C 001CE9AC 7C BB 02 14 */ add r5, r27, r0 /* 801D2D50 001CE9B0 7C DA 1A 14 */ add r6, r26, r3 /* 801D2D54 001CE9B4 7C E7 1A 14 */ add r7, r7, r3 /* 801D2D58 001CE9B8 48 00 01 E8 */ b lbl_801D2F40 lbl_801D2D5C: /* 801D2D5C 001CE9BC 80 05 00 00 */ lwz r0, 0(r5) /* 801D2D60 001CE9C0 2C 96 00 00 */ cmpwi cr1, r22, 0 /* 801D2D64 001CE9C4 C8 02 94 A8 */ lfd f0, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D2D68 001CE9C8 39 60 00 00 */ li r11, 0 /* 801D2D6C 001CE9CC 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D2D70 001CE9D0 90 01 02 4C */ stw r0, 0x24c(r1) /* 801D2D74 001CE9D4 C8 21 02 48 */ lfd f1, 0x248(r1) /* 801D2D78 001CE9D8 FC 21 C8 28 */ fsub f1, f1, f25 /* 801D2D7C 001CE9DC D8 26 00 00 */ stfd f1, 0(r6) /* 801D2D80 001CE9E0 41 84 01 AC */ blt cr1, lbl_801D2F2C /* 801D2D84 001CE9E4 38 16 00 01 */ addi r0, r22, 1 /* 801D2D88 001CE9E8 38 76 FF F8 */ addi r3, r22, -8 /* 801D2D8C 001CE9EC 2C 00 00 08 */ cmpwi r0, 8 /* 801D2D90 001CE9F0 40 81 01 58 */ ble lbl_801D2EE8 /* 801D2D94 001CE9F4 38 80 00 00 */ li r4, 0 /* 801D2D98 001CE9F8 39 20 00 00 */ li r9, 0 /* 801D2D9C 001CE9FC 41 84 00 14 */ blt cr1, lbl_801D2DB0 /* 801D2DA0 001CEA00 38 1F FF FE */ addi r0, r31, -2 /* 801D2DA4 001CEA04 7C 16 00 00 */ cmpw r22, r0 /* 801D2DA8 001CEA08 41 81 00 08 */ bgt lbl_801D2DB0 /* 801D2DAC 001CEA0C 39 20 00 01 */ li r9, 1 lbl_801D2DB0: /* 801D2DB0 001CEA10 2C 09 00 00 */ cmpwi r9, 0 /* 801D2DB4 001CEA14 41 82 00 28 */ beq lbl_801D2DDC /* 801D2DB8 001CEA18 2C 19 00 00 */ cmpwi r25, 0 /* 801D2DBC 001CEA1C 38 00 00 01 */ li r0, 1 /* 801D2DC0 001CEA20 40 82 00 10 */ bne lbl_801D2DD0 /* 801D2DC4 001CEA24 2C 18 00 00 */ cmpwi r24, 0 /* 801D2DC8 001CEA28 41 82 00 08 */ beq lbl_801D2DD0 /* 801D2DCC 001CEA2C 38 00 00 00 */ li r0, 0 lbl_801D2DD0: /* 801D2DD0 001CEA30 2C 00 00 00 */ cmpwi r0, 0 /* 801D2DD4 001CEA34 41 82 00 08 */ beq lbl_801D2DDC /* 801D2DD8 001CEA38 38 80 00 01 */ li r4, 1 lbl_801D2DDC: /* 801D2DDC 001CEA3C 2C 04 00 00 */ cmpwi r4, 0 /* 801D2DE0 001CEA40 41 82 01 08 */ beq lbl_801D2EE8 /* 801D2DE4 001CEA44 38 03 00 08 */ addi r0, r3, 8 /* 801D2DE8 001CEA48 7E 09 83 78 */ mr r9, r16 /* 801D2DEC 001CEA4C 54 00 E8 FE */ srwi r0, r0, 3 /* 801D2DF0 001CEA50 7D 56 62 14 */ add r10, r22, r12 /* 801D2DF4 001CEA54 7C 09 03 A6 */ mtctr r0 /* 801D2DF8 001CEA58 2C 03 00 00 */ cmpwi r3, 0 /* 801D2DFC 001CEA5C 41 80 00 EC */ blt lbl_801D2EE8 lbl_801D2E00: /* 801D2E00 001CEA60 7C 0B 50 50 */ subf r0, r11, r10 /* 801D2E04 001CEA64 38 8B 00 01 */ addi r4, r11, 1 /* 801D2E08 001CEA68 54 00 18 38 */ slwi r0, r0, 3 /* 801D2E0C 001CEA6C 38 6B 00 02 */ addi r3, r11, 2 /* 801D2E10 001CEA70 C8 49 00 00 */ lfd f2, 0(r9) /* 801D2E14 001CEA74 7C 63 50 50 */ subf r3, r3, r10 /* 801D2E18 001CEA78 7C 2F 04 AE */ lfdx f1, r15, r0 /* 801D2E1C 001CEA7C 7C 84 50 50 */ subf r4, r4, r10 /* 801D2E20 001CEA80 54 80 18 38 */ slwi r0, r4, 3 /* 801D2E24 001CEA84 3A 8B 00 07 */ addi r20, r11, 7 /* 801D2E28 001CEA88 FC 62 00 72 */ fmul f3, f2, f1 /* 801D2E2C 001CEA8C C8 49 00 08 */ lfd f2, 8(r9) /* 801D2E30 001CEA90 7C 2F 04 AE */ lfdx f1, r15, r0 /* 801D2E34 001CEA94 38 8B 00 03 */ addi r4, r11, 3 /* 801D2E38 001CEA98 54 63 18 38 */ slwi r3, r3, 3 /* 801D2E3C 001CEA9C 7E 94 50 50 */ subf r20, r20, r10 /* 801D2E40 001CEAA0 FC 82 00 72 */ fmul f4, f2, f1 /* 801D2E44 001CEAA4 7C 04 50 50 */ subf r0, r4, r10 /* 801D2E48 001CEAA8 7C 2F 1C AE */ lfdx f1, r15, r3 /* 801D2E4C 001CEAAC 38 8B 00 04 */ addi r4, r11, 4 /* 801D2E50 001CEAB0 FC 00 18 2A */ fadd f0, f0, f3 /* 801D2E54 001CEAB4 C8 49 00 10 */ lfd f2, 0x10(r9) /* 801D2E58 001CEAB8 FC 62 00 72 */ fmul f3, f2, f1 /* 801D2E5C 001CEABC 54 00 18 38 */ slwi r0, r0, 3 /* 801D2E60 001CEAC0 7C 2F 04 AE */ lfdx f1, r15, r0 /* 801D2E64 001CEAC4 7C 84 50 50 */ subf r4, r4, r10 /* 801D2E68 001CEAC8 FC 00 20 2A */ fadd f0, f0, f4 /* 801D2E6C 001CEACC C8 49 00 18 */ lfd f2, 0x18(r9) /* 801D2E70 001CEAD0 38 6B 00 05 */ addi r3, r11, 5 /* 801D2E74 001CEAD4 38 0B 00 06 */ addi r0, r11, 6 /* 801D2E78 001CEAD8 FC 00 18 2A */ fadd f0, f0, f3 /* 801D2E7C 001CEADC 7C 63 50 50 */ subf r3, r3, r10 /* 801D2E80 001CEAE0 FC 42 00 72 */ fmul f2, f2, f1 /* 801D2E84 001CEAE4 54 84 18 38 */ slwi r4, r4, 3 /* 801D2E88 001CEAE8 7C 00 50 50 */ subf r0, r0, r10 /* 801D2E8C 001CEAEC C8 69 00 20 */ lfd f3, 0x20(r9) /* 801D2E90 001CEAF0 7C 2F 24 AE */ lfdx f1, r15, r4 /* 801D2E94 001CEAF4 54 63 18 38 */ slwi r3, r3, 3 /* 801D2E98 001CEAF8 FC C3 00 72 */ fmul f6, f3, f1 /* 801D2E9C 001CEAFC 54 00 18 38 */ slwi r0, r0, 3 /* 801D2EA0 001CEB00 7C 2F 1C AE */ lfdx f1, r15, r3 /* 801D2EA4 001CEB04 56 94 18 38 */ slwi r20, r20, 3 /* 801D2EA8 001CEB08 FC 00 10 2A */ fadd f0, f0, f2 /* 801D2EAC 001CEB0C C8 49 00 28 */ lfd f2, 0x28(r9) /* 801D2EB0 001CEB10 FC A2 00 72 */ fmul f5, f2, f1 /* 801D2EB4 001CEB14 C8 89 00 30 */ lfd f4, 0x30(r9) /* 801D2EB8 001CEB18 7C 6F 04 AE */ lfdx f3, r15, r0 /* 801D2EBC 001CEB1C 39 6B 00 08 */ addi r11, r11, 8 /* 801D2EC0 001CEB20 FC 00 30 2A */ fadd f0, f0, f6 /* 801D2EC4 001CEB24 C8 49 00 38 */ lfd f2, 0x38(r9) /* 801D2EC8 001CEB28 7C 2F A4 AE */ lfdx f1, r15, r20 /* 801D2ECC 001CEB2C FC 64 00 F2 */ fmul f3, f4, f3 /* 801D2ED0 001CEB30 39 29 00 40 */ addi r9, r9, 0x40 /* 801D2ED4 001CEB34 FC 00 28 2A */ fadd f0, f0, f5 /* 801D2ED8 001CEB38 FC 22 00 72 */ fmul f1, f2, f1 /* 801D2EDC 001CEB3C FC 00 18 2A */ fadd f0, f0, f3 /* 801D2EE0 001CEB40 FC 00 08 2A */ fadd f0, f0, f1 /* 801D2EE4 001CEB44 42 00 FF 1C */ bdnz lbl_801D2E00 lbl_801D2EE8: /* 801D2EE8 001CEB48 38 96 00 01 */ addi r4, r22, 1 /* 801D2EEC 001CEB4C 55 63 18 38 */ slwi r3, r11, 3 /* 801D2EF0 001CEB50 7C 8B 20 50 */ subf r4, r11, r4 /* 801D2EF4 001CEB54 7C 16 62 14 */ add r0, r22, r12 /* 801D2EF8 001CEB58 7C 70 1A 14 */ add r3, r16, r3 /* 801D2EFC 001CEB5C 7C 89 03 A6 */ mtctr r4 /* 801D2F00 001CEB60 7C 0B B0 00 */ cmpw r11, r22 /* 801D2F04 001CEB64 41 81 00 28 */ bgt lbl_801D2F2C lbl_801D2F08: /* 801D2F08 001CEB68 7C 8B 00 50 */ subf r4, r11, r0 /* 801D2F0C 001CEB6C C8 43 00 00 */ lfd f2, 0(r3) /* 801D2F10 001CEB70 54 84 18 38 */ slwi r4, r4, 3 /* 801D2F14 001CEB74 38 63 00 08 */ addi r3, r3, 8 /* 801D2F18 001CEB78 7C 2F 24 AE */ lfdx f1, r15, r4 /* 801D2F1C 001CEB7C 39 6B 00 01 */ addi r11, r11, 1 /* 801D2F20 001CEB80 FC 22 00 72 */ fmul f1, f2, f1 /* 801D2F24 001CEB84 FC 00 08 2A */ fadd f0, f0, f1 /* 801D2F28 001CEB88 42 00 FF E0 */ bdnz lbl_801D2F08 lbl_801D2F2C: /* 801D2F2C 001CEB8C D8 07 00 00 */ stfd f0, 0(r7) /* 801D2F30 001CEB90 38 A5 00 04 */ addi r5, r5, 4 /* 801D2F34 001CEB94 38 C6 00 08 */ addi r6, r6, 8 /* 801D2F38 001CEB98 38 E7 00 08 */ addi r7, r7, 8 /* 801D2F3C 001CEB9C 39 8C 00 01 */ addi r12, r12, 1 lbl_801D2F40: /* 801D2F40 001CEBA0 7C 0C 40 00 */ cmpw r12, r8 /* 801D2F44 001CEBA4 40 81 FE 18 */ ble lbl_801D2D5C /* 801D2F48 001CEBA8 7E F7 92 14 */ add r23, r23, r18 /* 801D2F4C 001CEBAC 4B FF F7 B4 */ b lbl_801D2700 lbl_801D2F50: /* 801D2F50 001CEBB0 C8 02 94 A8 */ lfd f0, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D2F54 001CEBB4 FC 00 B8 00 */ fcmpu cr0, f0, f23 /* 801D2F58 001CEBB8 40 82 00 38 */ bne lbl_801D2F90 /* 801D2F5C 001CEBBC 3A F7 FF FF */ addi r23, r23, -1 /* 801D2F60 001CEBC0 38 61 00 10 */ addi r3, r1, 0x10 /* 801D2F64 001CEBC4 56 E0 10 3A */ slwi r0, r23, 2 /* 801D2F68 001CEBC8 3A 73 FF E8 */ addi r19, r19, -24 /* 801D2F6C 001CEBCC 7C 63 02 14 */ add r3, r3, r0 /* 801D2F70 001CEBD0 48 00 00 10 */ b lbl_801D2F80 lbl_801D2F74: /* 801D2F74 001CEBD4 38 63 FF FC */ addi r3, r3, -4 /* 801D2F78 001CEBD8 3A F7 FF FF */ addi r23, r23, -1 /* 801D2F7C 001CEBDC 3A 73 FF E8 */ addi r19, r19, -24 lbl_801D2F80: /* 801D2F80 001CEBE0 80 03 00 00 */ lwz r0, 0(r3) /* 801D2F84 001CEBE4 2C 00 00 00 */ cmpwi r0, 0 /* 801D2F88 001CEBE8 41 82 FF EC */ beq lbl_801D2F74 /* 801D2F8C 001CEBEC 48 00 00 A0 */ b lbl_801D302C lbl_801D2F90: /* 801D2F90 001CEBF0 FC 20 B8 90 */ fmr f1, f23 /* 801D2F94 001CEBF4 7C 73 00 D0 */ neg r3, r19 /* 801D2F98 001CEBF8 4B FF DA 29 */ bl scalbn /* 801D2F9C 001CEBFC C8 62 94 B8 */ lfd f3, lbl_80641AB8-_SDA2_BASE_(r2) /* 801D2FA0 001CEC00 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 801D2FA4 001CEC04 4C 41 13 82 */ cror 2, 1, 2 /* 801D2FA8 001CEC08 40 82 00 6C */ bne lbl_801D3014 /* 801D2FAC 001CEC0C C8 02 94 B0 */ lfd f0, lbl_80641AB0-_SDA2_BASE_(r2) /* 801D2FB0 001CEC10 56 E5 10 3A */ slwi r5, r23, 2 /* 801D2FB4 001CEC14 3A F7 00 01 */ addi r23, r23, 1 /* 801D2FB8 001CEC18 C8 42 94 E0 */ lfd f2, lbl_80641AE0-_SDA2_BASE_(r2) /* 801D2FBC 001CEC1C FC 00 00 72 */ fmul f0, f0, f1 /* 801D2FC0 001CEC20 38 81 00 10 */ addi r4, r1, 0x10 /* 801D2FC4 001CEC24 56 E0 10 3A */ slwi r0, r23, 2 /* 801D2FC8 001CEC28 3A 73 00 18 */ addi r19, r19, 0x18 /* 801D2FCC 001CEC2C FC 00 00 1E */ fctiwz f0, f0 /* 801D2FD0 001CEC30 D8 01 02 C8 */ stfd f0, 0x2c8(r1) /* 801D2FD4 001CEC34 80 61 02 CC */ lwz r3, 0x2cc(r1) /* 801D2FD8 001CEC38 6C 63 80 00 */ xoris r3, r3, 0x8000 /* 801D2FDC 001CEC3C 90 61 02 44 */ stw r3, 0x244(r1) /* 801D2FE0 001CEC40 C8 01 02 40 */ lfd f0, 0x240(r1) /* 801D2FE4 001CEC44 FC 00 10 28 */ fsub f0, f0, f2 /* 801D2FE8 001CEC48 FC 43 00 32 */ fmul f2, f3, f0 /* 801D2FEC 001CEC4C FC 00 00 1E */ fctiwz f0, f0 /* 801D2FF0 001CEC50 FC 21 10 28 */ fsub f1, f1, f2 /* 801D2FF4 001CEC54 D8 01 02 B8 */ stfd f0, 0x2b8(r1) /* 801D2FF8 001CEC58 FC 00 08 1E */ fctiwz f0, f1 /* 801D2FFC 001CEC5C 80 61 02 BC */ lwz r3, 0x2bc(r1) /* 801D3000 001CEC60 D8 01 02 C0 */ stfd f0, 0x2c0(r1) /* 801D3004 001CEC64 80 C1 02 C4 */ lwz r6, 0x2c4(r1) /* 801D3008 001CEC68 7C C4 29 2E */ stwx r6, r4, r5 /* 801D300C 001CEC6C 7C 64 01 2E */ stwx r3, r4, r0 /* 801D3010 001CEC70 48 00 00 1C */ b lbl_801D302C lbl_801D3014: /* 801D3014 001CEC74 FC 00 08 1E */ fctiwz f0, f1 /* 801D3018 001CEC78 56 E0 10 3A */ slwi r0, r23, 2 /* 801D301C 001CEC7C 38 61 00 10 */ addi r3, r1, 0x10 /* 801D3020 001CEC80 D8 01 02 C8 */ stfd f0, 0x2c8(r1) /* 801D3024 001CEC84 80 81 02 CC */ lwz r4, 0x2cc(r1) /* 801D3028 001CEC88 7C 83 01 2E */ stwx r4, r3, r0 lbl_801D302C: /* 801D302C 001CEC8C C8 22 94 D8 */ lfd f1, lbl_80641AD8-_SDA2_BASE_(r2) /* 801D3030 001CEC90 7E 63 9B 78 */ mr r3, r19 /* 801D3034 001CEC94 4B FF D9 8D */ bl scalbn /* 801D3038 001CEC98 2C 97 00 00 */ cmpwi cr1, r23, 0 /* 801D303C 001CEC9C 7E E3 BB 78 */ mr r3, r23 /* 801D3040 001CECA0 41 84 02 04 */ blt cr1, lbl_801D3244 /* 801D3044 001CECA4 38 17 00 01 */ addi r0, r23, 1 /* 801D3048 001CECA8 2C 00 00 08 */ cmpwi r0, 8 /* 801D304C 001CECAC 40 81 01 9C */ ble lbl_801D31E8 /* 801D3050 001CECB0 38 A0 00 00 */ li r5, 0 /* 801D3054 001CECB4 38 C0 00 00 */ li r6, 0 /* 801D3058 001CECB8 41 84 00 18 */ blt cr1, lbl_801D3070 /* 801D305C 001CECBC 3C 80 80 00 */ lis r4, 0x80000001@ha /* 801D3060 001CECC0 38 04 00 01 */ addi r0, r4, 0x80000001@l /* 801D3064 001CECC4 7C 17 00 00 */ cmpw r23, r0 /* 801D3068 001CECC8 41 80 00 08 */ blt lbl_801D3070 /* 801D306C 001CECCC 38 C0 00 01 */ li r6, 1 lbl_801D3070: /* 801D3070 001CECD0 2C 06 00 00 */ cmpwi r6, 0 /* 801D3074 001CECD4 41 82 00 2C */ beq lbl_801D30A0 /* 801D3078 001CECD8 56 E0 00 01 */ rlwinm. r0, r23, 0, 0, 0 /* 801D307C 001CECDC 38 80 00 01 */ li r4, 1 /* 801D3080 001CECE0 40 82 00 14 */ bne lbl_801D3094 /* 801D3084 001CECE4 38 17 00 01 */ addi r0, r23, 1 /* 801D3088 001CECE8 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 801D308C 001CECEC 41 82 00 08 */ beq lbl_801D3094 /* 801D3090 001CECF0 38 80 00 00 */ li r4, 0 lbl_801D3094: /* 801D3094 001CECF4 2C 04 00 00 */ cmpwi r4, 0 /* 801D3098 001CECF8 41 82 00 08 */ beq lbl_801D30A0 /* 801D309C 001CECFC 38 A0 00 01 */ li r5, 1 lbl_801D30A0: /* 801D30A0 001CED00 2C 05 00 00 */ cmpwi r5, 0 /* 801D30A4 001CED04 41 82 01 44 */ beq lbl_801D31E8 /* 801D30A8 001CED08 56 E5 10 3A */ slwi r5, r23, 2 /* 801D30AC 001CED0C 38 C1 00 10 */ addi r6, r1, 0x10 /* 801D30B0 001CED10 56 E4 18 38 */ slwi r4, r23, 3 /* 801D30B4 001CED14 38 E1 00 60 */ addi r7, r1, 0x60 /* 801D30B8 001CED18 56 E0 E8 FE */ srwi r0, r23, 3 /* 801D30BC 001CED1C 7C C6 2A 14 */ add r6, r6, r5 /* 801D30C0 001CED20 7C E7 22 14 */ add r7, r7, r4 /* 801D30C4 001CED24 C9 42 94 E0 */ lfd f10, lbl_80641AE0-_SDA2_BASE_(r2) /* 801D30C8 001CED28 C9 02 94 B0 */ lfd f8, lbl_80641AB0-_SDA2_BASE_(r2) /* 801D30CC 001CED2C 7C 09 03 A6 */ mtctr r0 /* 801D30D0 001CED30 2C 17 00 08 */ cmpwi r23, 8 /* 801D30D4 001CED34 41 80 01 14 */ blt lbl_801D31E8 lbl_801D30D8: /* 801D30D8 001CED38 80 86 00 00 */ lwz r4, 0(r6) /* 801D30DC 001CED3C 38 63 FF F8 */ addi r3, r3, -8 /* 801D30E0 001CED40 80 06 FF FC */ lwz r0, -4(r6) /* 801D30E4 001CED44 6C 85 80 00 */ xoris r5, r4, 0x8000 /* 801D30E8 001CED48 80 86 FF F8 */ lwz r4, -8(r6) /* 801D30EC 001CED4C 90 A1 02 4C */ stw r5, 0x24c(r1) /* 801D30F0 001CED50 6C 05 80 00 */ xoris r5, r0, 0x8000 /* 801D30F4 001CED54 6C 84 80 00 */ xoris r4, r4, 0x8000 /* 801D30F8 001CED58 80 06 FF F4 */ lwz r0, -0xc(r6) /* 801D30FC 001CED5C C8 01 02 48 */ lfd f0, 0x248(r1) /* 801D3100 001CED60 90 A1 02 44 */ stw r5, 0x244(r1) /* 801D3104 001CED64 6C 05 80 00 */ xoris r5, r0, 0x8000 /* 801D3108 001CED68 FC 00 50 28 */ fsub f0, f0, f10 /* 801D310C 001CED6C 80 06 FF F0 */ lwz r0, -0x10(r6) /* 801D3110 001CED70 C8 41 02 40 */ lfd f2, 0x240(r1) /* 801D3114 001CED74 90 81 02 4C */ stw r4, 0x24c(r1) /* 801D3118 001CED78 6C 04 80 00 */ xoris r4, r0, 0x8000 /* 801D311C 001CED7C FD 21 00 32 */ fmul f9, f1, f0 /* 801D3120 001CED80 C8 01 02 48 */ lfd f0, 0x248(r1) /* 801D3124 001CED84 FC 21 02 32 */ fmul f1, f1, f8 /* 801D3128 001CED88 90 A1 02 44 */ stw r5, 0x244(r1) /* 801D312C 001CED8C 80 06 FF EC */ lwz r0, -0x14(r6) /* 801D3130 001CED90 FC 42 50 28 */ fsub f2, f2, f10 /* 801D3134 001CED94 FC 60 50 28 */ fsub f3, f0, f10 /* 801D3138 001CED98 C8 01 02 40 */ lfd f0, 0x240(r1) /* 801D313C 001CED9C FC E1 00 B2 */ fmul f7, f1, f2 /* 801D3140 001CEDA0 90 81 02 4C */ stw r4, 0x24c(r1) /* 801D3144 001CEDA4 6C 05 80 00 */ xoris r5, r0, 0x8000 /* 801D3148 001CEDA8 80 86 FF E8 */ lwz r4, -0x18(r6) /* 801D314C 001CEDAC FC 21 02 32 */ fmul f1, f1, f8 /* 801D3150 001CEDB0 80 06 FF E4 */ lwz r0, -0x1c(r6) /* 801D3154 001CEDB4 C8 41 02 48 */ lfd f2, 0x248(r1) /* 801D3158 001CEDB8 FC A0 50 28 */ fsub f5, f0, f10 /* 801D315C 001CEDBC FC C1 00 F2 */ fmul f6, f1, f3 /* 801D3160 001CEDC0 90 A1 02 44 */ stw r5, 0x244(r1) /* 801D3164 001CEDC4 6C 84 80 00 */ xoris r4, r4, 0x8000 /* 801D3168 001CEDC8 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D316C 001CEDCC C8 01 02 40 */ lfd f0, 0x240(r1) /* 801D3170 001CEDD0 FC 21 02 32 */ fmul f1, f1, f8 /* 801D3174 001CEDD4 D9 27 00 00 */ stfd f9, 0(r7) /* 801D3178 001CEDD8 FC 82 50 28 */ fsub f4, f2, f10 /* 801D317C 001CEDDC FC 60 50 28 */ fsub f3, f0, f10 /* 801D3180 001CEDE0 38 C6 FF E0 */ addi r6, r6, -32 /* 801D3184 001CEDE4 FC A1 01 72 */ fmul f5, f1, f5 /* 801D3188 001CEDE8 90 81 02 4C */ stw r4, 0x24c(r1) /* 801D318C 001CEDEC FC 21 02 32 */ fmul f1, f1, f8 /* 801D3190 001CEDF0 C8 01 02 48 */ lfd f0, 0x248(r1) /* 801D3194 001CEDF4 D8 E7 FF F8 */ stfd f7, -8(r7) /* 801D3198 001CEDF8 FC 40 50 28 */ fsub f2, f0, f10 /* 801D319C 001CEDFC FC 81 01 32 */ fmul f4, f1, f4 /* 801D31A0 001CEE00 90 01 02 44 */ stw r0, 0x244(r1) /* 801D31A4 001CEE04 FC 21 02 32 */ fmul f1, f1, f8 /* 801D31A8 001CEE08 D8 C7 FF F0 */ stfd f6, -0x10(r7) /* 801D31AC 001CEE0C C8 01 02 40 */ lfd f0, 0x240(r1) /* 801D31B0 001CEE10 D8 A7 FF E8 */ stfd f5, -0x18(r7) /* 801D31B4 001CEE14 FC 00 50 28 */ fsub f0, f0, f10 /* 801D31B8 001CEE18 FC 61 00 F2 */ fmul f3, f1, f3 /* 801D31BC 001CEE1C D8 87 FF E0 */ stfd f4, -0x20(r7) /* 801D31C0 001CEE20 FC 21 02 32 */ fmul f1, f1, f8 /* 801D31C4 001CEE24 D8 67 FF D8 */ stfd f3, -0x28(r7) /* 801D31C8 001CEE28 FC 41 00 B2 */ fmul f2, f1, f2 /* 801D31CC 001CEE2C FC 21 02 32 */ fmul f1, f1, f8 /* 801D31D0 001CEE30 D8 47 FF D0 */ stfd f2, -0x30(r7) /* 801D31D4 001CEE34 FC 01 00 32 */ fmul f0, f1, f0 /* 801D31D8 001CEE38 FC 21 02 32 */ fmul f1, f1, f8 /* 801D31DC 001CEE3C D8 07 FF C8 */ stfd f0, -0x38(r7) /* 801D31E0 001CEE40 38 E7 FF C0 */ addi r7, r7, -64 /* 801D31E4 001CEE44 42 00 FE F4 */ bdnz lbl_801D30D8 lbl_801D31E8: /* 801D31E8 001CEE48 54 65 10 3A */ slwi r5, r3, 2 /* 801D31EC 001CEE4C 38 C1 00 10 */ addi r6, r1, 0x10 /* 801D31F0 001CEE50 54 64 18 38 */ slwi r4, r3, 3 /* 801D31F4 001CEE54 38 E1 00 60 */ addi r7, r1, 0x60 /* 801D31F8 001CEE58 38 03 00 01 */ addi r0, r3, 1 /* 801D31FC 001CEE5C 7C C6 2A 14 */ add r6, r6, r5 /* 801D3200 001CEE60 7C E7 22 14 */ add r7, r7, r4 /* 801D3204 001CEE64 C8 62 94 E0 */ lfd f3, lbl_80641AE0-_SDA2_BASE_(r2) /* 801D3208 001CEE68 C8 02 94 B0 */ lfd f0, lbl_80641AB0-_SDA2_BASE_(r2) /* 801D320C 001CEE6C 7C 09 03 A6 */ mtctr r0 /* 801D3210 001CEE70 2C 03 00 00 */ cmpwi r3, 0 /* 801D3214 001CEE74 41 80 00 30 */ blt lbl_801D3244 lbl_801D3218: /* 801D3218 001CEE78 80 06 00 00 */ lwz r0, 0(r6) /* 801D321C 001CEE7C 38 C6 FF FC */ addi r6, r6, -4 /* 801D3220 001CEE80 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D3224 001CEE84 90 01 02 4C */ stw r0, 0x24c(r1) /* 801D3228 001CEE88 C8 41 02 48 */ lfd f2, 0x248(r1) /* 801D322C 001CEE8C FC 42 18 28 */ fsub f2, f2, f3 /* 801D3230 001CEE90 FC 41 00 B2 */ fmul f2, f1, f2 /* 801D3234 001CEE94 FC 21 00 32 */ fmul f1, f1, f0 /* 801D3238 001CEE98 D8 47 00 00 */ stfd f2, 0(r7) /* 801D323C 001CEE9C 38 E7 FF F8 */ addi r7, r7, -8 /* 801D3240 001CEEA0 42 00 FF D8 */ bdnz lbl_801D3218 lbl_801D3244: /* 801D3244 001CEEA4 38 17 00 01 */ addi r0, r23, 1 /* 801D3248 001CEEA8 7E E8 BB 78 */ mr r8, r23 /* 801D324C 001CEEAC 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3250 001CEEB0 56 E3 18 38 */ slwi r3, r23, 3 /* 801D3254 001CEEB4 3C A0 80 40 */ lis r5, 0x8040 /* 801D3258 001CEEB8 7C 09 03 A6 */ mtctr r0 /* 801D325C 001CEEBC 2C 17 00 00 */ cmpwi r23, 0 /* 801D3260 001CEEC0 41 80 00 60 */ blt lbl_801D32C0 lbl_801D3264: /* 801D3264 001CEEC4 38 C1 00 60 */ addi r6, r1, 0x60 /* 801D3268 001CEEC8 C8 42 94 A8 */ lfd f2, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D326C 001CEECC 7C C6 1A 14 */ add r6, r6, r3 /* 801D3270 001CEED0 38 E5 D5 00 */ addi r7, r5, -11008 /* 801D3274 001CEED4 7C 08 B8 50 */ subf r0, r8, r23 /* 801D3278 001CEED8 39 20 00 00 */ li r9, 0 /* 801D327C 001CEEDC 48 00 00 20 */ b lbl_801D329C lbl_801D3280: /* 801D3280 001CEEE0 C8 27 00 00 */ lfd f1, 0(r7) /* 801D3284 001CEEE4 38 E7 00 08 */ addi r7, r7, 8 /* 801D3288 001CEEE8 C8 06 00 00 */ lfd f0, 0(r6) /* 801D328C 001CEEEC 38 C6 00 08 */ addi r6, r6, 8 /* 801D3290 001CEEF0 39 29 00 01 */ addi r9, r9, 1 /* 801D3294 001CEEF4 FC 01 00 32 */ fmul f0, f1, f0 /* 801D3298 001CEEF8 FC 42 00 2A */ fadd f2, f2, f0 lbl_801D329C: /* 801D329C 001CEEFC 7C 09 A8 00 */ cmpw r9, r21 /* 801D32A0 001CEF00 41 81 00 0C */ bgt lbl_801D32AC /* 801D32A4 001CEF04 7C 09 00 00 */ cmpw r9, r0 /* 801D32A8 001CEF08 40 81 FF D8 */ ble lbl_801D3280 lbl_801D32AC: /* 801D32AC 001CEF0C 54 00 18 38 */ slwi r0, r0, 3 /* 801D32B0 001CEF10 38 63 FF F8 */ addi r3, r3, -8 /* 801D32B4 001CEF14 7C 44 05 AE */ stfdx f2, r4, r0 /* 801D32B8 001CEF18 39 08 FF FF */ addi r8, r8, -1 /* 801D32BC 001CEF1C 42 00 FF A8 */ bdnz lbl_801D3264 lbl_801D32C0: /* 801D32C0 001CEF20 80 01 00 08 */ lwz r0, 8(r1) /* 801D32C4 001CEF24 2C 00 00 03 */ cmpwi r0, 3 /* 801D32C8 001CEF28 41 82 03 B8 */ beq lbl_801D3680 /* 801D32CC 001CEF2C 40 80 08 08 */ bge lbl_801D3AD4 /* 801D32D0 001CEF30 2C 00 00 00 */ cmpwi r0, 0 /* 801D32D4 001CEF34 41 82 00 0C */ beq lbl_801D32E0 /* 801D32D8 001CEF38 40 80 01 24 */ bge lbl_801D33FC /* 801D32DC 001CEF3C 48 00 07 F8 */ b lbl_801D3AD4 lbl_801D32E0: /* 801D32E0 001CEF40 2C 97 00 00 */ cmpwi cr1, r23, 0 /* 801D32E4 001CEF44 C8 C2 94 A8 */ lfd f6, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D32E8 001CEF48 41 84 00 FC */ blt cr1, lbl_801D33E4 /* 801D32EC 001CEF4C 38 17 00 01 */ addi r0, r23, 1 /* 801D32F0 001CEF50 2C 00 00 08 */ cmpwi r0, 8 /* 801D32F4 001CEF54 40 81 00 C4 */ ble lbl_801D33B8 /* 801D32F8 001CEF58 38 80 00 00 */ li r4, 0 /* 801D32FC 001CEF5C 38 A0 00 00 */ li r5, 0 /* 801D3300 001CEF60 41 84 00 18 */ blt cr1, lbl_801D3318 /* 801D3304 001CEF64 3C 60 80 00 */ lis r3, 0x80000001@ha /* 801D3308 001CEF68 38 03 00 01 */ addi r0, r3, 0x80000001@l /* 801D330C 001CEF6C 7C 17 00 00 */ cmpw r23, r0 /* 801D3310 001CEF70 41 80 00 08 */ blt lbl_801D3318 /* 801D3314 001CEF74 38 A0 00 01 */ li r5, 1 lbl_801D3318: /* 801D3318 001CEF78 2C 05 00 00 */ cmpwi r5, 0 /* 801D331C 001CEF7C 41 82 00 2C */ beq lbl_801D3348 /* 801D3320 001CEF80 56 E0 00 01 */ rlwinm. r0, r23, 0, 0, 0 /* 801D3324 001CEF84 38 60 00 01 */ li r3, 1 /* 801D3328 001CEF88 40 82 00 14 */ bne lbl_801D333C /* 801D332C 001CEF8C 38 17 00 01 */ addi r0, r23, 1 /* 801D3330 001CEF90 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 801D3334 001CEF94 41 82 00 08 */ beq lbl_801D333C /* 801D3338 001CEF98 38 60 00 00 */ li r3, 0 lbl_801D333C: /* 801D333C 001CEF9C 2C 03 00 00 */ cmpwi r3, 0 /* 801D3340 001CEFA0 41 82 00 08 */ beq lbl_801D3348 /* 801D3344 001CEFA4 38 80 00 01 */ li r4, 1 lbl_801D3348: /* 801D3348 001CEFA8 2C 04 00 00 */ cmpwi r4, 0 /* 801D334C 001CEFAC 41 82 00 6C */ beq lbl_801D33B8 /* 801D3350 001CEFB0 56 E3 18 38 */ slwi r3, r23, 3 /* 801D3354 001CEFB4 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3358 001CEFB8 56 E0 E8 FE */ srwi r0, r23, 3 /* 801D335C 001CEFBC 7C 84 1A 14 */ add r4, r4, r3 /* 801D3360 001CEFC0 7C 09 03 A6 */ mtctr r0 /* 801D3364 001CEFC4 2C 17 00 08 */ cmpwi r23, 8 /* 801D3368 001CEFC8 41 80 00 50 */ blt lbl_801D33B8 lbl_801D336C: /* 801D336C 001CEFCC C8 24 00 00 */ lfd f1, 0(r4) /* 801D3370 001CEFD0 3A F7 FF F8 */ addi r23, r23, -8 /* 801D3374 001CEFD4 C8 04 FF F8 */ lfd f0, -8(r4) /* 801D3378 001CEFD8 FC C6 08 2A */ fadd f6, f6, f1 /* 801D337C 001CEFDC C8 A4 FF F0 */ lfd f5, -0x10(r4) /* 801D3380 001CEFE0 C8 84 FF E8 */ lfd f4, -0x18(r4) /* 801D3384 001CEFE4 C8 64 FF E0 */ lfd f3, -0x20(r4) /* 801D3388 001CEFE8 FC C6 00 2A */ fadd f6, f6, f0 /* 801D338C 001CEFEC C8 44 FF D8 */ lfd f2, -0x28(r4) /* 801D3390 001CEFF0 C8 24 FF D0 */ lfd f1, -0x30(r4) /* 801D3394 001CEFF4 C8 04 FF C8 */ lfd f0, -0x38(r4) /* 801D3398 001CEFF8 38 84 FF C0 */ addi r4, r4, -64 /* 801D339C 001CEFFC FC C6 28 2A */ fadd f6, f6, f5 /* 801D33A0 001CF000 FC C6 20 2A */ fadd f6, f6, f4 /* 801D33A4 001CF004 FC C6 18 2A */ fadd f6, f6, f3 /* 801D33A8 001CF008 FC C6 10 2A */ fadd f6, f6, f2 /* 801D33AC 001CF00C FC C6 08 2A */ fadd f6, f6, f1 /* 801D33B0 001CF010 FC C6 00 2A */ fadd f6, f6, f0 /* 801D33B4 001CF014 42 00 FF B8 */ bdnz lbl_801D336C lbl_801D33B8: /* 801D33B8 001CF018 56 E3 18 38 */ slwi r3, r23, 3 /* 801D33BC 001CF01C 38 81 01 00 */ addi r4, r1, 0x100 /* 801D33C0 001CF020 38 17 00 01 */ addi r0, r23, 1 /* 801D33C4 001CF024 7C 84 1A 14 */ add r4, r4, r3 /* 801D33C8 001CF028 7C 09 03 A6 */ mtctr r0 /* 801D33CC 001CF02C 2C 17 00 00 */ cmpwi r23, 0 /* 801D33D0 001CF030 41 80 00 14 */ blt lbl_801D33E4 lbl_801D33D4: /* 801D33D4 001CF034 C8 04 00 00 */ lfd f0, 0(r4) /* 801D33D8 001CF038 38 84 FF F8 */ addi r4, r4, -8 /* 801D33DC 001CF03C FC C6 00 2A */ fadd f6, f6, f0 /* 801D33E0 001CF040 42 00 FF F4 */ bdnz lbl_801D33D4 lbl_801D33E4: /* 801D33E4 001CF044 2C 12 00 00 */ cmpwi r18, 0 /* 801D33E8 001CF048 40 82 00 08 */ bne lbl_801D33F0 /* 801D33EC 001CF04C 48 00 00 08 */ b lbl_801D33F4 lbl_801D33F0: /* 801D33F0 001CF050 FC C0 30 50 */ fneg f6, f6 lbl_801D33F4: /* 801D33F4 001CF054 D8 D1 00 00 */ stfd f6, 0(r17) /* 801D33F8 001CF058 48 00 06 DC */ b lbl_801D3AD4 lbl_801D33FC: /* 801D33FC 001CF05C 2C 97 00 00 */ cmpwi cr1, r23, 0 /* 801D3400 001CF060 C8 C2 94 A8 */ lfd f6, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D3404 001CF064 7E E6 BB 78 */ mr r6, r23 /* 801D3408 001CF068 41 84 00 FC */ blt cr1, lbl_801D3504 /* 801D340C 001CF06C 38 17 00 01 */ addi r0, r23, 1 /* 801D3410 001CF070 2C 00 00 08 */ cmpwi r0, 8 /* 801D3414 001CF074 40 81 00 C4 */ ble lbl_801D34D8 /* 801D3418 001CF078 38 80 00 00 */ li r4, 0 /* 801D341C 001CF07C 38 A0 00 00 */ li r5, 0 /* 801D3420 001CF080 41 84 00 18 */ blt cr1, lbl_801D3438 /* 801D3424 001CF084 3C 60 80 00 */ lis r3, 0x80000001@ha /* 801D3428 001CF088 38 03 00 01 */ addi r0, r3, 0x80000001@l /* 801D342C 001CF08C 7C 17 00 00 */ cmpw r23, r0 /* 801D3430 001CF090 41 80 00 08 */ blt lbl_801D3438 /* 801D3434 001CF094 38 A0 00 01 */ li r5, 1 lbl_801D3438: /* 801D3438 001CF098 2C 05 00 00 */ cmpwi r5, 0 /* 801D343C 001CF09C 41 82 00 2C */ beq lbl_801D3468 /* 801D3440 001CF0A0 56 E0 00 01 */ rlwinm. r0, r23, 0, 0, 0 /* 801D3444 001CF0A4 38 60 00 01 */ li r3, 1 /* 801D3448 001CF0A8 40 82 00 14 */ bne lbl_801D345C /* 801D344C 001CF0AC 38 17 00 01 */ addi r0, r23, 1 /* 801D3450 001CF0B0 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 801D3454 001CF0B4 41 82 00 08 */ beq lbl_801D345C /* 801D3458 001CF0B8 38 60 00 00 */ li r3, 0 lbl_801D345C: /* 801D345C 001CF0BC 2C 03 00 00 */ cmpwi r3, 0 /* 801D3460 001CF0C0 41 82 00 08 */ beq lbl_801D3468 /* 801D3464 001CF0C4 38 80 00 01 */ li r4, 1 lbl_801D3468: /* 801D3468 001CF0C8 2C 04 00 00 */ cmpwi r4, 0 /* 801D346C 001CF0CC 41 82 00 6C */ beq lbl_801D34D8 /* 801D3470 001CF0D0 56 E3 18 38 */ slwi r3, r23, 3 /* 801D3474 001CF0D4 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3478 001CF0D8 56 E0 E8 FE */ srwi r0, r23, 3 /* 801D347C 001CF0DC 7C 84 1A 14 */ add r4, r4, r3 /* 801D3480 001CF0E0 7C 09 03 A6 */ mtctr r0 /* 801D3484 001CF0E4 2C 17 00 08 */ cmpwi r23, 8 /* 801D3488 001CF0E8 41 80 00 50 */ blt lbl_801D34D8 lbl_801D348C: /* 801D348C 001CF0EC C8 24 00 00 */ lfd f1, 0(r4) /* 801D3490 001CF0F0 38 C6 FF F8 */ addi r6, r6, -8 /* 801D3494 001CF0F4 C8 04 FF F8 */ lfd f0, -8(r4) /* 801D3498 001CF0F8 FC C6 08 2A */ fadd f6, f6, f1 /* 801D349C 001CF0FC C8 A4 FF F0 */ lfd f5, -0x10(r4) /* 801D34A0 001CF100 C8 84 FF E8 */ lfd f4, -0x18(r4) /* 801D34A4 001CF104 C8 64 FF E0 */ lfd f3, -0x20(r4) /* 801D34A8 001CF108 FC C6 00 2A */ fadd f6, f6, f0 /* 801D34AC 001CF10C C8 44 FF D8 */ lfd f2, -0x28(r4) /* 801D34B0 001CF110 C8 24 FF D0 */ lfd f1, -0x30(r4) /* 801D34B4 001CF114 C8 04 FF C8 */ lfd f0, -0x38(r4) /* 801D34B8 001CF118 38 84 FF C0 */ addi r4, r4, -64 /* 801D34BC 001CF11C FC C6 28 2A */ fadd f6, f6, f5 /* 801D34C0 001CF120 FC C6 20 2A */ fadd f6, f6, f4 /* 801D34C4 001CF124 FC C6 18 2A */ fadd f6, f6, f3 /* 801D34C8 001CF128 FC C6 10 2A */ fadd f6, f6, f2 /* 801D34CC 001CF12C FC C6 08 2A */ fadd f6, f6, f1 /* 801D34D0 001CF130 FC C6 00 2A */ fadd f6, f6, f0 /* 801D34D4 001CF134 42 00 FF B8 */ bdnz lbl_801D348C lbl_801D34D8: /* 801D34D8 001CF138 54 C3 18 38 */ slwi r3, r6, 3 /* 801D34DC 001CF13C 38 81 01 00 */ addi r4, r1, 0x100 /* 801D34E0 001CF140 38 06 00 01 */ addi r0, r6, 1 /* 801D34E4 001CF144 7C 84 1A 14 */ add r4, r4, r3 /* 801D34E8 001CF148 7C 09 03 A6 */ mtctr r0 /* 801D34EC 001CF14C 2C 06 00 00 */ cmpwi r6, 0 /* 801D34F0 001CF150 41 80 00 14 */ blt lbl_801D3504 lbl_801D34F4: /* 801D34F4 001CF154 C8 04 00 00 */ lfd f0, 0(r4) /* 801D34F8 001CF158 38 84 FF F8 */ addi r4, r4, -8 /* 801D34FC 001CF15C FC C6 00 2A */ fadd f6, f6, f0 /* 801D3500 001CF160 42 00 FF F4 */ bdnz lbl_801D34F4 lbl_801D3504: /* 801D3504 001CF164 2C 12 00 00 */ cmpwi r18, 0 /* 801D3508 001CF168 40 82 00 0C */ bne lbl_801D3514 /* 801D350C 001CF16C FC 20 30 90 */ fmr f1, f6 /* 801D3510 001CF170 48 00 00 08 */ b lbl_801D3518 lbl_801D3514: /* 801D3514 001CF174 FC 20 30 50 */ fneg f1, f6 lbl_801D3518: /* 801D3518 001CF178 C8 01 01 00 */ lfd f0, 0x100(r1) /* 801D351C 001CF17C 2C 97 00 01 */ cmpwi cr1, r23, 1 /* 801D3520 001CF180 D8 31 00 00 */ stfd f1, 0(r17) /* 801D3524 001CF184 39 00 00 01 */ li r8, 1 /* 801D3528 001CF188 FC C0 30 28 */ fsub f6, f0, f6 /* 801D352C 001CF18C 41 84 01 3C */ blt cr1, lbl_801D3668 /* 801D3530 001CF190 2C 17 00 08 */ cmpwi r23, 8 /* 801D3534 001CF194 38 97 FF F8 */ addi r4, r23, -8 /* 801D3538 001CF198 40 81 01 00 */ ble lbl_801D3638 /* 801D353C 001CF19C 38 A0 00 00 */ li r5, 0 /* 801D3540 001CF1A0 38 C0 00 00 */ li r6, 0 /* 801D3544 001CF1A4 38 E0 00 00 */ li r7, 0 /* 801D3548 001CF1A8 41 84 00 18 */ blt cr1, lbl_801D3560 /* 801D354C 001CF1AC 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha /* 801D3550 001CF1B0 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l /* 801D3554 001CF1B4 7C 17 00 00 */ cmpw r23, r0 /* 801D3558 001CF1B8 41 81 00 08 */ bgt lbl_801D3560 /* 801D355C 001CF1BC 38 E0 00 01 */ li r7, 1 lbl_801D3560: /* 801D3560 001CF1C0 2C 07 00 00 */ cmpwi r7, 0 /* 801D3564 001CF1C4 41 82 00 38 */ beq lbl_801D359C /* 801D3568 001CF1C8 56 E7 00 00 */ rlwinm r7, r23, 0, 0, 0 /* 801D356C 001CF1CC 38 60 00 01 */ li r3, 1 /* 801D3570 001CF1D0 3C 07 80 00 */ addis r0, r7, 0x8000 /* 801D3574 001CF1D4 28 00 00 00 */ cmplwi r0, 0 /* 801D3578 001CF1D8 40 82 00 18 */ bne lbl_801D3590 /* 801D357C 001CF1DC 38 17 FF FF */ addi r0, r23, -1 /* 801D3580 001CF1E0 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 /* 801D3584 001CF1E4 7C 07 00 00 */ cmpw r7, r0 /* 801D3588 001CF1E8 41 82 00 08 */ beq lbl_801D3590 /* 801D358C 001CF1EC 38 60 00 00 */ li r3, 0 lbl_801D3590: /* 801D3590 001CF1F0 2C 03 00 00 */ cmpwi r3, 0 /* 801D3594 001CF1F4 41 82 00 08 */ beq lbl_801D359C /* 801D3598 001CF1F8 38 C0 00 01 */ li r6, 1 lbl_801D359C: /* 801D359C 001CF1FC 2C 06 00 00 */ cmpwi r6, 0 /* 801D35A0 001CF200 41 82 00 2C */ beq lbl_801D35CC /* 801D35A4 001CF204 38 17 FF FF */ addi r0, r23, -1 /* 801D35A8 001CF208 38 60 00 01 */ li r3, 1 /* 801D35AC 001CF20C 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 801D35B0 001CF210 40 82 00 10 */ bne lbl_801D35C0 /* 801D35B4 001CF214 56 E0 00 01 */ rlwinm. r0, r23, 0, 0, 0 /* 801D35B8 001CF218 41 82 00 08 */ beq lbl_801D35C0 /* 801D35BC 001CF21C 38 60 00 00 */ li r3, 0 lbl_801D35C0: /* 801D35C0 001CF220 2C 03 00 00 */ cmpwi r3, 0 /* 801D35C4 001CF224 41 82 00 08 */ beq lbl_801D35CC /* 801D35C8 001CF228 38 A0 00 01 */ li r5, 1 lbl_801D35CC: /* 801D35CC 001CF22C 2C 05 00 00 */ cmpwi r5, 0 /* 801D35D0 001CF230 41 82 00 68 */ beq lbl_801D3638 /* 801D35D4 001CF234 38 04 00 07 */ addi r0, r4, 7 /* 801D35D8 001CF238 38 61 01 08 */ addi r3, r1, 0x108 /* 801D35DC 001CF23C 54 00 E8 FE */ srwi r0, r0, 3 /* 801D35E0 001CF240 7C 09 03 A6 */ mtctr r0 /* 801D35E4 001CF244 2C 04 00 01 */ cmpwi r4, 1 /* 801D35E8 001CF248 41 80 00 50 */ blt lbl_801D3638 lbl_801D35EC: /* 801D35EC 001CF24C C8 23 00 00 */ lfd f1, 0(r3) /* 801D35F0 001CF250 39 08 00 08 */ addi r8, r8, 8 /* 801D35F4 001CF254 C8 03 00 08 */ lfd f0, 8(r3) /* 801D35F8 001CF258 FC C6 08 2A */ fadd f6, f6, f1 /* 801D35FC 001CF25C C8 A3 00 10 */ lfd f5, 0x10(r3) /* 801D3600 001CF260 C8 83 00 18 */ lfd f4, 0x18(r3) /* 801D3604 001CF264 C8 63 00 20 */ lfd f3, 0x20(r3) /* 801D3608 001CF268 FC C6 00 2A */ fadd f6, f6, f0 /* 801D360C 001CF26C C8 43 00 28 */ lfd f2, 0x28(r3) /* 801D3610 001CF270 C8 23 00 30 */ lfd f1, 0x30(r3) /* 801D3614 001CF274 C8 03 00 38 */ lfd f0, 0x38(r3) /* 801D3618 001CF278 38 63 00 40 */ addi r3, r3, 0x40 /* 801D361C 001CF27C FC C6 28 2A */ fadd f6, f6, f5 /* 801D3620 001CF280 FC C6 20 2A */ fadd f6, f6, f4 /* 801D3624 001CF284 FC C6 18 2A */ fadd f6, f6, f3 /* 801D3628 001CF288 FC C6 10 2A */ fadd f6, f6, f2 /* 801D362C 001CF28C FC C6 08 2A */ fadd f6, f6, f1 /* 801D3630 001CF290 FC C6 00 2A */ fadd f6, f6, f0 /* 801D3634 001CF294 42 00 FF B8 */ bdnz lbl_801D35EC lbl_801D3638: /* 801D3638 001CF298 38 17 00 01 */ addi r0, r23, 1 /* 801D363C 001CF29C 55 03 18 38 */ slwi r3, r8, 3 /* 801D3640 001CF2A0 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3644 001CF2A4 7C 08 00 50 */ subf r0, r8, r0 /* 801D3648 001CF2A8 7C 84 1A 14 */ add r4, r4, r3 /* 801D364C 001CF2AC 7C 09 03 A6 */ mtctr r0 /* 801D3650 001CF2B0 7C 08 B8 00 */ cmpw r8, r23 /* 801D3654 001CF2B4 41 81 00 14 */ bgt lbl_801D3668 lbl_801D3658: /* 801D3658 001CF2B8 C8 04 00 00 */ lfd f0, 0(r4) /* 801D365C 001CF2BC 38 84 00 08 */ addi r4, r4, 8 /* 801D3660 001CF2C0 FC C6 00 2A */ fadd f6, f6, f0 /* 801D3664 001CF2C4 42 00 FF F4 */ bdnz lbl_801D3658 lbl_801D3668: /* 801D3668 001CF2C8 2C 12 00 00 */ cmpwi r18, 0 /* 801D366C 001CF2CC 40 82 00 08 */ bne lbl_801D3674 /* 801D3670 001CF2D0 48 00 00 08 */ b lbl_801D3678 lbl_801D3674: /* 801D3674 001CF2D4 FC C0 30 50 */ fneg f6, f6 lbl_801D3678: /* 801D3678 001CF2D8 D8 D1 00 08 */ stfd f6, 8(r17) /* 801D367C 001CF2DC 48 00 04 58 */ b lbl_801D3AD4 lbl_801D3680: /* 801D3680 001CF2E0 2C 97 00 00 */ cmpwi cr1, r23, 0 /* 801D3684 001CF2E4 7E E5 BB 78 */ mr r5, r23 /* 801D3688 001CF2E8 40 85 01 38 */ ble cr1, lbl_801D37C0 /* 801D368C 001CF2EC 2C 17 00 08 */ cmpwi r23, 8 /* 801D3690 001CF2F0 40 81 00 F8 */ ble lbl_801D3788 /* 801D3694 001CF2F4 38 80 00 00 */ li r4, 0 /* 801D3698 001CF2F8 41 84 00 18 */ blt cr1, lbl_801D36B0 /* 801D369C 001CF2FC 3C 60 80 00 */ lis r3, 0x80000001@ha /* 801D36A0 001CF300 38 03 00 01 */ addi r0, r3, 0x80000001@l /* 801D36A4 001CF304 7C 17 00 00 */ cmpw r23, r0 /* 801D36A8 001CF308 41 80 00 08 */ blt lbl_801D36B0 /* 801D36AC 001CF30C 38 80 00 01 */ li r4, 1 lbl_801D36B0: /* 801D36B0 001CF310 2C 04 00 00 */ cmpwi r4, 0 /* 801D36B4 001CF314 41 82 00 D4 */ beq lbl_801D3788 /* 801D36B8 001CF318 38 17 FF FF */ addi r0, r23, -1 /* 801D36BC 001CF31C 56 E3 18 38 */ slwi r3, r23, 3 /* 801D36C0 001CF320 38 81 01 00 */ addi r4, r1, 0x100 /* 801D36C4 001CF324 54 00 E8 FE */ srwi r0, r0, 3 /* 801D36C8 001CF328 7C 84 1A 14 */ add r4, r4, r3 /* 801D36CC 001CF32C 7C 09 03 A6 */ mtctr r0 /* 801D36D0 001CF330 2C 17 00 08 */ cmpwi r23, 8 /* 801D36D4 001CF334 40 81 00 B4 */ ble lbl_801D3788 lbl_801D36D8: /* 801D36D8 001CF338 C8 04 FF F8 */ lfd f0, -8(r4) /* 801D36DC 001CF33C 38 A5 FF F8 */ addi r5, r5, -8 /* 801D36E0 001CF340 C8 24 00 00 */ lfd f1, 0(r4) /* 801D36E4 001CF344 FC 40 08 2A */ fadd f2, f0, f1 /* 801D36E8 001CF348 FC 00 10 28 */ fsub f0, f0, f2 /* 801D36EC 001CF34C FC 01 00 2A */ fadd f0, f1, f0 /* 801D36F0 001CF350 D8 04 00 00 */ stfd f0, 0(r4) /* 801D36F4 001CF354 C8 04 FF F0 */ lfd f0, -0x10(r4) /* 801D36F8 001CF358 FC 20 10 2A */ fadd f1, f0, f2 /* 801D36FC 001CF35C FC 00 08 28 */ fsub f0, f0, f1 /* 801D3700 001CF360 FC 02 00 2A */ fadd f0, f2, f0 /* 801D3704 001CF364 D8 04 FF F8 */ stfd f0, -8(r4) /* 801D3708 001CF368 C8 04 FF E8 */ lfd f0, -0x18(r4) /* 801D370C 001CF36C FC 40 08 2A */ fadd f2, f0, f1 /* 801D3710 001CF370 FC 00 10 28 */ fsub f0, f0, f2 /* 801D3714 001CF374 FC 01 00 2A */ fadd f0, f1, f0 /* 801D3718 001CF378 D8 04 FF F0 */ stfd f0, -0x10(r4) /* 801D371C 001CF37C C8 04 FF E0 */ lfd f0, -0x20(r4) /* 801D3720 001CF380 FC 20 10 2A */ fadd f1, f0, f2 /* 801D3724 001CF384 FC 00 08 28 */ fsub f0, f0, f1 /* 801D3728 001CF388 FC 02 00 2A */ fadd f0, f2, f0 /* 801D372C 001CF38C D8 04 FF E8 */ stfd f0, -0x18(r4) /* 801D3730 001CF390 C8 04 FF D8 */ lfd f0, -0x28(r4) /* 801D3734 001CF394 FC 40 08 2A */ fadd f2, f0, f1 /* 801D3738 001CF398 FC 00 10 28 */ fsub f0, f0, f2 /* 801D373C 001CF39C FC 01 00 2A */ fadd f0, f1, f0 /* 801D3740 001CF3A0 D8 04 FF E0 */ stfd f0, -0x20(r4) /* 801D3744 001CF3A4 C8 04 FF D0 */ lfd f0, -0x30(r4) /* 801D3748 001CF3A8 FC 20 10 2A */ fadd f1, f0, f2 /* 801D374C 001CF3AC FC 00 08 28 */ fsub f0, f0, f1 /* 801D3750 001CF3B0 FC 02 00 2A */ fadd f0, f2, f0 /* 801D3754 001CF3B4 D8 04 FF D8 */ stfd f0, -0x28(r4) /* 801D3758 001CF3B8 C8 04 FF C8 */ lfd f0, -0x38(r4) /* 801D375C 001CF3BC FC 40 08 2A */ fadd f2, f0, f1 /* 801D3760 001CF3C0 FC 00 10 28 */ fsub f0, f0, f2 /* 801D3764 001CF3C4 FC 01 00 2A */ fadd f0, f1, f0 /* 801D3768 001CF3C8 D8 04 FF D0 */ stfd f0, -0x30(r4) /* 801D376C 001CF3CC C8 04 FF C0 */ lfd f0, -0x40(r4) /* 801D3770 001CF3D0 FC 20 10 2A */ fadd f1, f0, f2 /* 801D3774 001CF3D4 FC 00 08 28 */ fsub f0, f0, f1 /* 801D3778 001CF3D8 FC 02 00 2A */ fadd f0, f2, f0 /* 801D377C 001CF3DC D8 04 FF C8 */ stfd f0, -0x38(r4) /* 801D3780 001CF3E0 DC 24 FF C0 */ stfdu f1, -0x40(r4) /* 801D3784 001CF3E4 42 00 FF 54 */ bdnz lbl_801D36D8 lbl_801D3788: /* 801D3788 001CF3E8 54 A0 18 38 */ slwi r0, r5, 3 /* 801D378C 001CF3EC 38 61 01 00 */ addi r3, r1, 0x100 /* 801D3790 001CF3F0 7C 63 02 14 */ add r3, r3, r0 /* 801D3794 001CF3F4 7C A9 03 A6 */ mtctr r5 /* 801D3798 001CF3F8 2C 05 00 00 */ cmpwi r5, 0 /* 801D379C 001CF3FC 40 81 00 24 */ ble lbl_801D37C0 lbl_801D37A0: /* 801D37A0 001CF400 C8 03 FF F8 */ lfd f0, -8(r3) /* 801D37A4 001CF404 C8 23 00 00 */ lfd f1, 0(r3) /* 801D37A8 001CF408 FC 40 08 2A */ fadd f2, f0, f1 /* 801D37AC 001CF40C FC 00 10 28 */ fsub f0, f0, f2 /* 801D37B0 001CF410 FC 01 00 2A */ fadd f0, f1, f0 /* 801D37B4 001CF414 D8 03 00 00 */ stfd f0, 0(r3) /* 801D37B8 001CF418 DC 43 FF F8 */ stfdu f2, -8(r3) /* 801D37BC 001CF41C 42 00 FF E4 */ bdnz lbl_801D37A0 lbl_801D37C0: /* 801D37C0 001CF420 2C 97 00 01 */ cmpwi cr1, r23, 1 /* 801D37C4 001CF424 7E E6 BB 78 */ mr r6, r23 /* 801D37C8 001CF428 40 85 01 80 */ ble cr1, lbl_801D3948 /* 801D37CC 001CF42C 38 17 FF FF */ addi r0, r23, -1 /* 801D37D0 001CF430 2C 00 00 08 */ cmpwi r0, 8 /* 801D37D4 001CF434 40 81 01 38 */ ble lbl_801D390C /* 801D37D8 001CF438 38 80 00 00 */ li r4, 0 /* 801D37DC 001CF43C 38 A0 00 00 */ li r5, 0 /* 801D37E0 001CF440 41 84 00 18 */ blt cr1, lbl_801D37F8 /* 801D37E4 001CF444 3C 60 80 00 */ lis r3, 0x80000001@ha /* 801D37E8 001CF448 38 03 00 01 */ addi r0, r3, 0x80000001@l /* 801D37EC 001CF44C 7C 17 00 00 */ cmpw r23, r0 /* 801D37F0 001CF450 41 80 00 08 */ blt lbl_801D37F8 /* 801D37F4 001CF454 38 A0 00 01 */ li r5, 1 lbl_801D37F8: /* 801D37F8 001CF458 2C 05 00 00 */ cmpwi r5, 0 /* 801D37FC 001CF45C 41 82 00 38 */ beq lbl_801D3834 /* 801D3800 001CF460 56 E5 00 00 */ rlwinm r5, r23, 0, 0, 0 /* 801D3804 001CF464 38 60 00 01 */ li r3, 1 /* 801D3808 001CF468 3C 05 80 00 */ addis r0, r5, 0x8000 /* 801D380C 001CF46C 28 00 00 00 */ cmplwi r0, 0 /* 801D3810 001CF470 40 82 00 18 */ bne lbl_801D3828 /* 801D3814 001CF474 38 17 FF FF */ addi r0, r23, -1 /* 801D3818 001CF478 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 /* 801D381C 001CF47C 7C 05 00 00 */ cmpw r5, r0 /* 801D3820 001CF480 41 82 00 08 */ beq lbl_801D3828 /* 801D3824 001CF484 38 60 00 00 */ li r3, 0 lbl_801D3828: /* 801D3828 001CF488 2C 03 00 00 */ cmpwi r3, 0 /* 801D382C 001CF48C 41 82 00 08 */ beq lbl_801D3834 /* 801D3830 001CF490 38 80 00 01 */ li r4, 1 lbl_801D3834: /* 801D3834 001CF494 2C 04 00 00 */ cmpwi r4, 0 /* 801D3838 001CF498 41 82 00 D4 */ beq lbl_801D390C /* 801D383C 001CF49C 38 17 FF FE */ addi r0, r23, -2 /* 801D3840 001CF4A0 56 E3 18 38 */ slwi r3, r23, 3 /* 801D3844 001CF4A4 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3848 001CF4A8 54 00 E8 FE */ srwi r0, r0, 3 /* 801D384C 001CF4AC 7C 84 1A 14 */ add r4, r4, r3 /* 801D3850 001CF4B0 7C 09 03 A6 */ mtctr r0 /* 801D3854 001CF4B4 2C 17 00 09 */ cmpwi r23, 9 /* 801D3858 001CF4B8 40 81 00 B4 */ ble lbl_801D390C lbl_801D385C: /* 801D385C 001CF4BC C8 04 FF F8 */ lfd f0, -8(r4) /* 801D3860 001CF4C0 38 C6 FF F8 */ addi r6, r6, -8 /* 801D3864 001CF4C4 C8 24 00 00 */ lfd f1, 0(r4) /* 801D3868 001CF4C8 FC 40 08 2A */ fadd f2, f0, f1 /* 801D386C 001CF4CC FC 00 10 28 */ fsub f0, f0, f2 /* 801D3870 001CF4D0 FC 01 00 2A */ fadd f0, f1, f0 /* 801D3874 001CF4D4 D8 04 00 00 */ stfd f0, 0(r4) /* 801D3878 001CF4D8 C8 04 FF F0 */ lfd f0, -0x10(r4) /* 801D387C 001CF4DC FC 20 10 2A */ fadd f1, f0, f2 /* 801D3880 001CF4E0 FC 00 08 28 */ fsub f0, f0, f1 /* 801D3884 001CF4E4 FC 02 00 2A */ fadd f0, f2, f0 /* 801D3888 001CF4E8 D8 04 FF F8 */ stfd f0, -8(r4) /* 801D388C 001CF4EC C8 04 FF E8 */ lfd f0, -0x18(r4) /* 801D3890 001CF4F0 FC 40 08 2A */ fadd f2, f0, f1 /* 801D3894 001CF4F4 FC 00 10 28 */ fsub f0, f0, f2 /* 801D3898 001CF4F8 FC 01 00 2A */ fadd f0, f1, f0 /* 801D389C 001CF4FC D8 04 FF F0 */ stfd f0, -0x10(r4) /* 801D38A0 001CF500 C8 04 FF E0 */ lfd f0, -0x20(r4) /* 801D38A4 001CF504 FC 20 10 2A */ fadd f1, f0, f2 /* 801D38A8 001CF508 FC 00 08 28 */ fsub f0, f0, f1 /* 801D38AC 001CF50C FC 02 00 2A */ fadd f0, f2, f0 /* 801D38B0 001CF510 D8 04 FF E8 */ stfd f0, -0x18(r4) /* 801D38B4 001CF514 C8 04 FF D8 */ lfd f0, -0x28(r4) /* 801D38B8 001CF518 FC 40 08 2A */ fadd f2, f0, f1 /* 801D38BC 001CF51C FC 00 10 28 */ fsub f0, f0, f2 /* 801D38C0 001CF520 FC 01 00 2A */ fadd f0, f1, f0 /* 801D38C4 001CF524 D8 04 FF E0 */ stfd f0, -0x20(r4) /* 801D38C8 001CF528 C8 04 FF D0 */ lfd f0, -0x30(r4) /* 801D38CC 001CF52C FC 20 10 2A */ fadd f1, f0, f2 /* 801D38D0 001CF530 FC 00 08 28 */ fsub f0, f0, f1 /* 801D38D4 001CF534 FC 02 00 2A */ fadd f0, f2, f0 /* 801D38D8 001CF538 D8 04 FF D8 */ stfd f0, -0x28(r4) /* 801D38DC 001CF53C C8 04 FF C8 */ lfd f0, -0x38(r4) /* 801D38E0 001CF540 FC 40 08 2A */ fadd f2, f0, f1 /* 801D38E4 001CF544 FC 00 10 28 */ fsub f0, f0, f2 /* 801D38E8 001CF548 FC 01 00 2A */ fadd f0, f1, f0 /* 801D38EC 001CF54C D8 04 FF D0 */ stfd f0, -0x30(r4) /* 801D38F0 001CF550 C8 04 FF C0 */ lfd f0, -0x40(r4) /* 801D38F4 001CF554 FC 20 10 2A */ fadd f1, f0, f2 /* 801D38F8 001CF558 FC 00 08 28 */ fsub f0, f0, f1 /* 801D38FC 001CF55C FC 02 00 2A */ fadd f0, f2, f0 /* 801D3900 001CF560 D8 04 FF C8 */ stfd f0, -0x38(r4) /* 801D3904 001CF564 DC 24 FF C0 */ stfdu f1, -0x40(r4) /* 801D3908 001CF568 42 00 FF 54 */ bdnz lbl_801D385C lbl_801D390C: /* 801D390C 001CF56C 54 C3 18 38 */ slwi r3, r6, 3 /* 801D3910 001CF570 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3914 001CF574 38 06 FF FF */ addi r0, r6, -1 /* 801D3918 001CF578 7C 84 1A 14 */ add r4, r4, r3 /* 801D391C 001CF57C 7C 09 03 A6 */ mtctr r0 /* 801D3920 001CF580 2C 06 00 01 */ cmpwi r6, 1 /* 801D3924 001CF584 40 81 00 24 */ ble lbl_801D3948 lbl_801D3928: /* 801D3928 001CF588 C8 04 FF F8 */ lfd f0, -8(r4) /* 801D392C 001CF58C C8 24 00 00 */ lfd f1, 0(r4) /* 801D3930 001CF590 FC 40 08 2A */ fadd f2, f0, f1 /* 801D3934 001CF594 FC 00 10 28 */ fsub f0, f0, f2 /* 801D3938 001CF598 FC 01 00 2A */ fadd f0, f1, f0 /* 801D393C 001CF59C D8 04 00 00 */ stfd f0, 0(r4) /* 801D3940 001CF5A0 DC 44 FF F8 */ stfdu f2, -8(r4) /* 801D3944 001CF5A4 42 00 FF E4 */ bdnz lbl_801D3928 lbl_801D3948: /* 801D3948 001CF5A8 2C 97 00 02 */ cmpwi cr1, r23, 2 /* 801D394C 001CF5AC C8 C2 94 A8 */ lfd f6, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D3950 001CF5B0 41 84 01 44 */ blt cr1, lbl_801D3A94 /* 801D3954 001CF5B4 38 17 FF FF */ addi r0, r23, -1 /* 801D3958 001CF5B8 2C 00 00 08 */ cmpwi r0, 8 /* 801D395C 001CF5BC 40 81 01 0C */ ble lbl_801D3A68 /* 801D3960 001CF5C0 38 80 00 00 */ li r4, 0 /* 801D3964 001CF5C4 38 A0 00 00 */ li r5, 0 /* 801D3968 001CF5C8 38 C0 00 00 */ li r6, 0 /* 801D396C 001CF5CC 41 84 00 18 */ blt cr1, lbl_801D3984 /* 801D3970 001CF5D0 3C 60 80 00 */ lis r3, 0x80000001@ha /* 801D3974 001CF5D4 38 03 00 01 */ addi r0, r3, 0x80000001@l /* 801D3978 001CF5D8 7C 17 00 00 */ cmpw r23, r0 /* 801D397C 001CF5DC 41 80 00 08 */ blt lbl_801D3984 /* 801D3980 001CF5E0 38 C0 00 01 */ li r6, 1 lbl_801D3984: /* 801D3984 001CF5E4 2C 06 00 00 */ cmpwi r6, 0 /* 801D3988 001CF5E8 41 82 00 38 */ beq lbl_801D39C0 /* 801D398C 001CF5EC 56 E6 00 00 */ rlwinm r6, r23, 0, 0, 0 /* 801D3990 001CF5F0 38 60 00 01 */ li r3, 1 /* 801D3994 001CF5F4 3C 06 80 00 */ addis r0, r6, 0x8000 /* 801D3998 001CF5F8 28 00 00 00 */ cmplwi r0, 0 /* 801D399C 001CF5FC 40 82 00 18 */ bne lbl_801D39B4 /* 801D39A0 001CF600 38 17 FF FE */ addi r0, r23, -2 /* 801D39A4 001CF604 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 /* 801D39A8 001CF608 7C 06 00 00 */ cmpw r6, r0 /* 801D39AC 001CF60C 41 82 00 08 */ beq lbl_801D39B4 /* 801D39B0 001CF610 38 60 00 00 */ li r3, 0 lbl_801D39B4: /* 801D39B4 001CF614 2C 03 00 00 */ cmpwi r3, 0 /* 801D39B8 001CF618 41 82 00 08 */ beq lbl_801D39C0 /* 801D39BC 001CF61C 38 A0 00 01 */ li r5, 1 lbl_801D39C0: /* 801D39C0 001CF620 2C 05 00 00 */ cmpwi r5, 0 /* 801D39C4 001CF624 41 82 00 30 */ beq lbl_801D39F4 /* 801D39C8 001CF628 38 17 FF FE */ addi r0, r23, -2 /* 801D39CC 001CF62C 38 60 00 01 */ li r3, 1 /* 801D39D0 001CF630 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 801D39D4 001CF634 40 82 00 14 */ bne lbl_801D39E8 /* 801D39D8 001CF638 38 17 FF FF */ addi r0, r23, -1 /* 801D39DC 001CF63C 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 801D39E0 001CF640 41 82 00 08 */ beq lbl_801D39E8 /* 801D39E4 001CF644 38 60 00 00 */ li r3, 0 lbl_801D39E8: /* 801D39E8 001CF648 2C 03 00 00 */ cmpwi r3, 0 /* 801D39EC 001CF64C 41 82 00 08 */ beq lbl_801D39F4 /* 801D39F0 001CF650 38 80 00 01 */ li r4, 1 lbl_801D39F4: /* 801D39F4 001CF654 2C 04 00 00 */ cmpwi r4, 0 /* 801D39F8 001CF658 41 82 00 70 */ beq lbl_801D3A68 /* 801D39FC 001CF65C 38 17 FF FE */ addi r0, r23, -2 /* 801D3A00 001CF660 56 E3 18 38 */ slwi r3, r23, 3 /* 801D3A04 001CF664 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3A08 001CF668 54 00 E8 FE */ srwi r0, r0, 3 /* 801D3A0C 001CF66C 7C 84 1A 14 */ add r4, r4, r3 /* 801D3A10 001CF670 7C 09 03 A6 */ mtctr r0 /* 801D3A14 001CF674 2C 17 00 0A */ cmpwi r23, 0xa /* 801D3A18 001CF678 41 80 00 50 */ blt lbl_801D3A68 lbl_801D3A1C: /* 801D3A1C 001CF67C C8 24 00 00 */ lfd f1, 0(r4) /* 801D3A20 001CF680 3A F7 FF F8 */ addi r23, r23, -8 /* 801D3A24 001CF684 C8 04 FF F8 */ lfd f0, -8(r4) /* 801D3A28 001CF688 FC C6 08 2A */ fadd f6, f6, f1 /* 801D3A2C 001CF68C C8 A4 FF F0 */ lfd f5, -0x10(r4) /* 801D3A30 001CF690 C8 84 FF E8 */ lfd f4, -0x18(r4) /* 801D3A34 001CF694 C8 64 FF E0 */ lfd f3, -0x20(r4) /* 801D3A38 001CF698 FC C6 00 2A */ fadd f6, f6, f0 /* 801D3A3C 001CF69C C8 44 FF D8 */ lfd f2, -0x28(r4) /* 801D3A40 001CF6A0 C8 24 FF D0 */ lfd f1, -0x30(r4) /* 801D3A44 001CF6A4 C8 04 FF C8 */ lfd f0, -0x38(r4) /* 801D3A48 001CF6A8 38 84 FF C0 */ addi r4, r4, -64 /* 801D3A4C 001CF6AC FC C6 28 2A */ fadd f6, f6, f5 /* 801D3A50 001CF6B0 FC C6 20 2A */ fadd f6, f6, f4 /* 801D3A54 001CF6B4 FC C6 18 2A */ fadd f6, f6, f3 /* 801D3A58 001CF6B8 FC C6 10 2A */ fadd f6, f6, f2 /* 801D3A5C 001CF6BC FC C6 08 2A */ fadd f6, f6, f1 /* 801D3A60 001CF6C0 FC C6 00 2A */ fadd f6, f6, f0 /* 801D3A64 001CF6C4 42 00 FF B8 */ bdnz lbl_801D3A1C lbl_801D3A68: /* 801D3A68 001CF6C8 56 E3 18 38 */ slwi r3, r23, 3 /* 801D3A6C 001CF6CC 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3A70 001CF6D0 38 17 FF FF */ addi r0, r23, -1 /* 801D3A74 001CF6D4 7C 84 1A 14 */ add r4, r4, r3 /* 801D3A78 001CF6D8 7C 09 03 A6 */ mtctr r0 /* 801D3A7C 001CF6DC 2C 17 00 02 */ cmpwi r23, 2 /* 801D3A80 001CF6E0 41 80 00 14 */ blt lbl_801D3A94 lbl_801D3A84: /* 801D3A84 001CF6E4 C8 04 00 00 */ lfd f0, 0(r4) /* 801D3A88 001CF6E8 38 84 FF F8 */ addi r4, r4, -8 /* 801D3A8C 001CF6EC FC C6 00 2A */ fadd f6, f6, f0 /* 801D3A90 001CF6F0 42 00 FF F4 */ bdnz lbl_801D3A84 lbl_801D3A94: /* 801D3A94 001CF6F4 2C 12 00 00 */ cmpwi r18, 0 /* 801D3A98 001CF6F8 40 82 00 1C */ bne lbl_801D3AB4 /* 801D3A9C 001CF6FC C8 21 01 00 */ lfd f1, 0x100(r1) /* 801D3AA0 001CF700 C8 01 01 08 */ lfd f0, 0x108(r1) /* 801D3AA4 001CF704 D8 31 00 00 */ stfd f1, 0(r17) /* 801D3AA8 001CF708 D8 11 00 08 */ stfd f0, 8(r17) /* 801D3AAC 001CF70C D8 D1 00 10 */ stfd f6, 0x10(r17) /* 801D3AB0 001CF710 48 00 00 24 */ b lbl_801D3AD4 lbl_801D3AB4: /* 801D3AB4 001CF714 C8 41 01 00 */ lfd f2, 0x100(r1) /* 801D3AB8 001CF718 FC 00 30 50 */ fneg f0, f6 /* 801D3ABC 001CF71C C8 21 01 08 */ lfd f1, 0x108(r1) /* 801D3AC0 001CF720 FC 40 10 50 */ fneg f2, f2 /* 801D3AC4 001CF724 FC 20 08 50 */ fneg f1, f1 /* 801D3AC8 001CF728 D8 11 00 10 */ stfd f0, 0x10(r17) /* 801D3ACC 001CF72C D8 51 00 00 */ stfd f2, 0(r17) /* 801D3AD0 001CF730 D8 31 00 08 */ stfd f1, 8(r17) lbl_801D3AD4: /* 801D3AD4 001CF734 39 61 03 70 */ addi r11, r1, 0x370 /* 801D3AD8 001CF738 56 83 07 7E */ clrlwi r3, r20, 0x1d /* 801D3ADC 001CF73C 4B FF 35 F1 */ bl _restfpr_23 /* 801D3AE0 001CF740 B9 C1 02 E0 */ lmw r14, 0x2e0(r1) /* 801D3AE4 001CF744 80 01 03 74 */ lwz r0, 0x374(r1) /* 801D3AE8 001CF748 7C 08 03 A6 */ mtlr r0 /* 801D3AEC 001CF74C 38 21 03 70 */ addi r1, r1, 0x370 /* 801D3AF0 001CF750 4E 80 00 20 */ blr