1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
|
.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
|