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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global __ieee754_rem_pio2
__ieee754_rem_pio2:
/* 801D1F40 001CDBA0 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 801D1F44 001CDBA4 7C 08 02 A6 */ mflr r0
/* 801D1F48 001CDBA8 3C 80 3F E9 */ lis r4, 0x3FE921FB@ha
/* 801D1F4C 001CDBAC 90 01 00 64 */ stw r0, 0x64(r1)
/* 801D1F50 001CDBB0 38 04 21 FB */ addi r0, r4, 0x3FE921FB@l
/* 801D1F54 001CDBB4 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 801D1F58 001CDBB8 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D1F5C 001CDBBC 83 E1 00 08 */ lwz r31, 8(r1)
/* 801D1F60 001CDBC0 93 C1 00 58 */ stw r30, 0x58(r1)
/* 801D1F64 001CDBC4 7C 7E 1B 78 */ mr r30, r3
/* 801D1F68 001CDBC8 57 E6 00 7E */ clrlwi r6, r31, 1
/* 801D1F6C 001CDBCC 7C 06 00 00 */ cmpw r6, r0
/* 801D1F70 001CDBD0 41 81 00 18 */ bgt lbl_801D1F88
/* 801D1F74 001CDBD4 C8 02 94 08 */ lfd f0, lbl_80641A08-_SDA2_BASE_(r2)
/* 801D1F78 001CDBD8 D8 23 00 00 */ stfd f1, 0(r3)
/* 801D1F7C 001CDBDC D8 03 00 08 */ stfd f0, 8(r3)
/* 801D1F80 001CDBE0 38 60 00 00 */ li r3, 0
/* 801D1F84 001CDBE4 48 00 03 3C */ b lbl_801D22C0
lbl_801D1F88:
/* 801D1F88 001CDBE8 3C 80 40 03 */ lis r4, 0x4002D97C@ha
/* 801D1F8C 001CDBEC 38 04 D9 7C */ addi r0, r4, 0x4002D97C@l
/* 801D1F90 001CDBF0 7C 06 00 00 */ cmpw r6, r0
/* 801D1F94 001CDBF4 40 80 00 CC */ bge lbl_801D2060
/* 801D1F98 001CDBF8 2C 1F 00 00 */ cmpwi r31, 0
/* 801D1F9C 001CDBFC 40 81 00 64 */ ble lbl_801D2000
/* 801D1FA0 001CDC00 C8 02 94 10 */ lfd f0, lbl_80641A10-_SDA2_BASE_(r2)
/* 801D1FA4 001CDC04 3C 06 C0 07 */ addis r0, r6, 0xc007
/* 801D1FA8 001CDC08 28 00 21 FB */ cmplwi r0, 0x21fb
/* 801D1FAC 001CDC0C FC 61 00 28 */ fsub f3, f1, f0
/* 801D1FB0 001CDC10 D8 61 00 10 */ stfd f3, 0x10(r1)
/* 801D1FB4 001CDC14 41 82 00 20 */ beq lbl_801D1FD4
/* 801D1FB8 001CDC18 C8 42 94 18 */ lfd f2, lbl_80641A18-_SDA2_BASE_(r2)
/* 801D1FBC 001CDC1C FC 23 10 28 */ fsub f1, f3, f2
/* 801D1FC0 001CDC20 FC 03 08 28 */ fsub f0, f3, f1
/* 801D1FC4 001CDC24 D8 23 00 00 */ stfd f1, 0(r3)
/* 801D1FC8 001CDC28 FC 00 10 28 */ fsub f0, f0, f2
/* 801D1FCC 001CDC2C D8 03 00 08 */ stfd f0, 8(r3)
/* 801D1FD0 001CDC30 48 00 00 28 */ b lbl_801D1FF8
lbl_801D1FD4:
/* 801D1FD4 001CDC34 C8 02 94 20 */ lfd f0, lbl_80641A20-_SDA2_BASE_(r2)
/* 801D1FD8 001CDC38 C8 42 94 28 */ lfd f2, lbl_80641A28-_SDA2_BASE_(r2)
/* 801D1FDC 001CDC3C FC 03 00 28 */ fsub f0, f3, f0
/* 801D1FE0 001CDC40 FC 20 10 28 */ fsub f1, f0, f2
/* 801D1FE4 001CDC44 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 801D1FE8 001CDC48 FC 00 08 28 */ fsub f0, f0, f1
/* 801D1FEC 001CDC4C D8 23 00 00 */ stfd f1, 0(r3)
/* 801D1FF0 001CDC50 FC 00 10 28 */ fsub f0, f0, f2
/* 801D1FF4 001CDC54 D8 03 00 08 */ stfd f0, 8(r3)
lbl_801D1FF8:
/* 801D1FF8 001CDC58 38 60 00 01 */ li r3, 1
/* 801D1FFC 001CDC5C 48 00 02 C4 */ b lbl_801D22C0
lbl_801D2000:
/* 801D2000 001CDC60 C8 02 94 10 */ lfd f0, lbl_80641A10-_SDA2_BASE_(r2)
/* 801D2004 001CDC64 3C 06 C0 07 */ addis r0, r6, 0xc007
/* 801D2008 001CDC68 28 00 21 FB */ cmplwi r0, 0x21fb
/* 801D200C 001CDC6C FC 60 08 2A */ fadd f3, f0, f1
/* 801D2010 001CDC70 D8 61 00 10 */ stfd f3, 0x10(r1)
/* 801D2014 001CDC74 41 82 00 20 */ beq lbl_801D2034
/* 801D2018 001CDC78 C8 42 94 18 */ lfd f2, lbl_80641A18-_SDA2_BASE_(r2)
/* 801D201C 001CDC7C FC 22 18 2A */ fadd f1, f2, f3
/* 801D2020 001CDC80 FC 03 08 28 */ fsub f0, f3, f1
/* 801D2024 001CDC84 D8 23 00 00 */ stfd f1, 0(r3)
/* 801D2028 001CDC88 FC 02 00 2A */ fadd f0, f2, f0
/* 801D202C 001CDC8C D8 03 00 08 */ stfd f0, 8(r3)
/* 801D2030 001CDC90 48 00 00 28 */ b lbl_801D2058
lbl_801D2034:
/* 801D2034 001CDC94 C8 02 94 20 */ lfd f0, lbl_80641A20-_SDA2_BASE_(r2)
/* 801D2038 001CDC98 C8 42 94 28 */ lfd f2, lbl_80641A28-_SDA2_BASE_(r2)
/* 801D203C 001CDC9C FC 03 00 2A */ fadd f0, f3, f0
/* 801D2040 001CDCA0 FC 22 00 2A */ fadd f1, f2, f0
/* 801D2044 001CDCA4 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 801D2048 001CDCA8 FC 00 08 28 */ fsub f0, f0, f1
/* 801D204C 001CDCAC D8 23 00 00 */ stfd f1, 0(r3)
/* 801D2050 001CDCB0 FC 02 00 2A */ fadd f0, f2, f0
/* 801D2054 001CDCB4 D8 03 00 08 */ stfd f0, 8(r3)
lbl_801D2058:
/* 801D2058 001CDCB8 38 60 FF FF */ li r3, -1
/* 801D205C 001CDCBC 48 00 02 64 */ b lbl_801D22C0
lbl_801D2060:
/* 801D2060 001CDCC0 3C 80 41 39 */ lis r4, 0x413921FB@ha
/* 801D2064 001CDCC4 38 04 21 FB */ addi r0, r4, 0x413921FB@l
/* 801D2068 001CDCC8 7C 06 00 00 */ cmpw r6, r0
/* 801D206C 001CDCCC 41 81 01 48 */ bgt lbl_801D21B4
/* 801D2070 001CDCD0 FC A0 0A 10 */ fabs f5, f1
/* 801D2074 001CDCD4 C8 02 94 38 */ lfd f0, lbl_80641A38-_SDA2_BASE_(r2)
/* 801D2078 001CDCD8 3C 00 43 30 */ lis r0, 0x4330
/* 801D207C 001CDCDC C8 42 94 30 */ lfd f2, lbl_80641A30-_SDA2_BASE_(r2)
/* 801D2080 001CDCE0 90 01 00 38 */ stw r0, 0x38(r1)
/* 801D2084 001CDCE4 FC 80 01 72 */ fmul f4, f0, f5
/* 801D2088 001CDCE8 C8 62 94 58 */ lfd f3, lbl_80641A58-_SDA2_BASE_(r2)
/* 801D208C 001CDCEC C8 22 94 10 */ lfd f1, lbl_80641A10-_SDA2_BASE_(r2)
/* 801D2090 001CDCF0 C8 02 94 18 */ lfd f0, lbl_80641A18-_SDA2_BASE_(r2)
/* 801D2094 001CDCF4 FC 42 20 2A */ fadd f2, f2, f4
/* 801D2098 001CDCF8 FC 40 10 1E */ fctiwz f2, f2
/* 801D209C 001CDCFC D8 41 00 30 */ stfd f2, 0x30(r1)
/* 801D20A0 001CDD00 80 A1 00 34 */ lwz r5, 0x34(r1)
/* 801D20A4 001CDD04 6C A0 80 00 */ xoris r0, r5, 0x8000
/* 801D20A8 001CDD08 2C 05 00 20 */ cmpwi r5, 0x20
/* 801D20AC 001CDD0C 90 01 00 3C */ stw r0, 0x3c(r1)
/* 801D20B0 001CDD10 C8 41 00 38 */ lfd f2, 0x38(r1)
/* 801D20B4 001CDD14 FC C2 18 28 */ fsub f6, f2, f3
/* 801D20B8 001CDD18 FC 21 01 B2 */ fmul f1, f1, f6
/* 801D20BC 001CDD1C FC 40 01 B2 */ fmul f2, f0, f6
/* 801D20C0 001CDD20 FC 85 08 28 */ fsub f4, f5, f1
/* 801D20C4 001CDD24 40 80 00 2C */ bge lbl_801D20F0
/* 801D20C8 001CDD28 38 05 FF FF */ addi r0, r5, -1
/* 801D20CC 001CDD2C 3C 80 80 40 */ lis r4, lbl_803FD470@ha
/* 801D20D0 001CDD30 54 00 10 3A */ slwi r0, r0, 2
/* 801D20D4 001CDD34 38 84 D4 70 */ addi r4, r4, lbl_803FD470@l
/* 801D20D8 001CDD38 7C 04 00 2E */ lwzx r0, r4, r0
/* 801D20DC 001CDD3C 7C 06 00 00 */ cmpw r6, r0
/* 801D20E0 001CDD40 41 82 00 10 */ beq lbl_801D20F0
/* 801D20E4 001CDD44 FC 04 10 28 */ fsub f0, f4, f2
/* 801D20E8 001CDD48 D8 03 00 00 */ stfd f0, 0(r3)
/* 801D20EC 001CDD4C 48 00 00 90 */ b lbl_801D217C
lbl_801D20F0:
/* 801D20F0 001CDD50 FC 04 10 28 */ fsub f0, f4, f2
/* 801D20F4 001CDD54 7C C4 A6 70 */ srawi r4, r6, 0x14
/* 801D20F8 001CDD58 D8 03 00 00 */ stfd f0, 0(r3)
/* 801D20FC 001CDD5C 80 03 00 00 */ lwz r0, 0(r3)
/* 801D2100 001CDD60 54 00 65 7E */ rlwinm r0, r0, 0xc, 0x15, 0x1f
/* 801D2104 001CDD64 7C 00 20 50 */ subf r0, r0, r4
/* 801D2108 001CDD68 2C 00 00 10 */ cmpwi r0, 0x10
/* 801D210C 001CDD6C 40 81 00 70 */ ble lbl_801D217C
/* 801D2110 001CDD70 C8 22 94 20 */ lfd f1, lbl_80641A20-_SDA2_BASE_(r2)
/* 801D2114 001CDD74 FC 40 20 90 */ fmr f2, f4
/* 801D2118 001CDD78 C8 02 94 28 */ lfd f0, lbl_80641A28-_SDA2_BASE_(r2)
/* 801D211C 001CDD7C FC 61 01 B2 */ fmul f3, f1, f6
/* 801D2120 001CDD80 FC 20 01 B2 */ fmul f1, f0, f6
/* 801D2124 001CDD84 FC 84 18 28 */ fsub f4, f4, f3
/* 801D2128 001CDD88 FC 02 20 28 */ fsub f0, f2, f4
/* 801D212C 001CDD8C FC 00 18 28 */ fsub f0, f0, f3
/* 801D2130 001CDD90 FC 41 00 28 */ fsub f2, f1, f0
/* 801D2134 001CDD94 FC 04 10 28 */ fsub f0, f4, f2
/* 801D2138 001CDD98 D8 03 00 00 */ stfd f0, 0(r3)
/* 801D213C 001CDD9C 80 03 00 00 */ lwz r0, 0(r3)
/* 801D2140 001CDDA0 54 00 65 7E */ rlwinm r0, r0, 0xc, 0x15, 0x1f
/* 801D2144 001CDDA4 7C 00 20 50 */ subf r0, r0, r4
/* 801D2148 001CDDA8 2C 00 00 31 */ cmpwi r0, 0x31
/* 801D214C 001CDDAC 40 81 00 30 */ ble lbl_801D217C
/* 801D2150 001CDDB0 C8 22 94 40 */ lfd f1, lbl_80641A40-_SDA2_BASE_(r2)
/* 801D2154 001CDDB4 FC 40 20 90 */ fmr f2, f4
/* 801D2158 001CDDB8 C8 02 94 48 */ lfd f0, lbl_80641A48-_SDA2_BASE_(r2)
/* 801D215C 001CDDBC FC 61 01 B2 */ fmul f3, f1, f6
/* 801D2160 001CDDC0 FC 20 01 B2 */ fmul f1, f0, f6
/* 801D2164 001CDDC4 FC 84 18 28 */ fsub f4, f4, f3
/* 801D2168 001CDDC8 FC 02 20 28 */ fsub f0, f2, f4
/* 801D216C 001CDDCC FC 00 18 28 */ fsub f0, f0, f3
/* 801D2170 001CDDD0 FC 41 00 28 */ fsub f2, f1, f0
/* 801D2174 001CDDD4 FC 04 10 28 */ fsub f0, f4, f2
/* 801D2178 001CDDD8 D8 03 00 00 */ stfd f0, 0(r3)
lbl_801D217C:
/* 801D217C 001CDDDC C8 23 00 00 */ lfd f1, 0(r3)
/* 801D2180 001CDDE0 2C 1F 00 00 */ cmpwi r31, 0
/* 801D2184 001CDDE4 FC 04 08 28 */ fsub f0, f4, f1
/* 801D2188 001CDDE8 FC 00 10 28 */ fsub f0, f0, f2
/* 801D218C 001CDDEC D8 03 00 08 */ stfd f0, 8(r3)
/* 801D2190 001CDDF0 40 80 00 1C */ bge lbl_801D21AC
/* 801D2194 001CDDF4 FC 20 08 50 */ fneg f1, f1
/* 801D2198 001CDDF8 FC 00 00 50 */ fneg f0, f0
/* 801D219C 001CDDFC D8 23 00 00 */ stfd f1, 0(r3)
/* 801D21A0 001CDE00 D8 03 00 08 */ stfd f0, 8(r3)
/* 801D21A4 001CDE04 7C 65 00 D0 */ neg r3, r5
/* 801D21A8 001CDE08 48 00 01 18 */ b lbl_801D22C0
lbl_801D21AC:
/* 801D21AC 001CDE0C 7C A3 2B 78 */ mr r3, r5
/* 801D21B0 001CDE10 48 00 01 10 */ b lbl_801D22C0
lbl_801D21B4:
/* 801D21B4 001CDE14 3C 00 7F F0 */ lis r0, 0x7ff0
/* 801D21B8 001CDE18 7C 06 00 00 */ cmpw r6, r0
/* 801D21BC 001CDE1C 41 80 00 18 */ blt lbl_801D21D4
/* 801D21C0 001CDE20 FC 01 08 28 */ fsub f0, f1, f1
/* 801D21C4 001CDE24 D8 03 00 08 */ stfd f0, 8(r3)
/* 801D21C8 001CDE28 D8 03 00 00 */ stfd f0, 0(r3)
/* 801D21CC 001CDE2C 38 60 00 00 */ li r3, 0
/* 801D21D0 001CDE30 48 00 00 F0 */ b lbl_801D22C0
lbl_801D21D4:
/* 801D21D4 001CDE34 7C C3 A6 70 */ srawi r3, r6, 0x14
/* 801D21D8 001CDE38 3C 00 43 30 */ lis r0, 0x4330
/* 801D21DC 001CDE3C 38 A3 FB EA */ addi r5, r3, -1046
/* 801D21E0 001CDE40 80 81 00 0C */ lwz r4, 0xc(r1)
/* 801D21E4 001CDE44 54 A3 A0 16 */ slwi r3, r5, 0x14
/* 801D21E8 001CDE48 90 01 00 30 */ stw r0, 0x30(r1)
/* 801D21EC 001CDE4C 7C 63 30 50 */ subf r3, r3, r6
/* 801D21F0 001CDE50 C8 A2 94 58 */ lfd f5, lbl_80641A58-_SDA2_BASE_(r2)
/* 801D21F4 001CDE54 90 81 00 14 */ stw r4, 0x14(r1)
/* 801D21F8 001CDE58 38 81 00 30 */ addi r4, r1, 0x30
/* 801D21FC 001CDE5C C8 82 94 50 */ lfd f4, lbl_80641A50-_SDA2_BASE_(r2)
/* 801D2200 001CDE60 38 C0 00 03 */ li r6, 3
/* 801D2204 001CDE64 90 61 00 10 */ stw r3, 0x10(r1)
/* 801D2208 001CDE68 C8 22 94 08 */ lfd f1, lbl_80641A08-_SDA2_BASE_(r2)
/* 801D220C 001CDE6C C8 61 00 10 */ lfd f3, 0x10(r1)
/* 801D2210 001CDE70 90 01 00 48 */ stw r0, 0x48(r1)
/* 801D2214 001CDE74 FC 00 18 1E */ fctiwz f0, f3
/* 801D2218 001CDE78 D8 01 00 38 */ stfd f0, 0x38(r1)
/* 801D221C 001CDE7C 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 801D2220 001CDE80 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801D2224 001CDE84 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D2228 001CDE88 C8 01 00 30 */ lfd f0, 0x30(r1)
/* 801D222C 001CDE8C FC 40 28 28 */ fsub f2, f0, f5
/* 801D2230 001CDE90 FC 03 10 28 */ fsub f0, f3, f2
/* 801D2234 001CDE94 D8 41 00 18 */ stfd f2, 0x18(r1)
/* 801D2238 001CDE98 FC 64 00 32 */ fmul f3, f4, f0
/* 801D223C 001CDE9C FC 00 18 1E */ fctiwz f0, f3
/* 801D2240 001CDEA0 D8 01 00 40 */ stfd f0, 0x40(r1)
/* 801D2244 001CDEA4 80 01 00 44 */ lwz r0, 0x44(r1)
/* 801D2248 001CDEA8 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801D224C 001CDEAC 90 01 00 4C */ stw r0, 0x4c(r1)
/* 801D2250 001CDEB0 C8 01 00 48 */ lfd f0, 0x48(r1)
/* 801D2254 001CDEB4 FC 40 28 28 */ fsub f2, f0, f5
/* 801D2258 001CDEB8 FC 03 10 28 */ fsub f0, f3, f2
/* 801D225C 001CDEBC D8 41 00 20 */ stfd f2, 0x20(r1)
/* 801D2260 001CDEC0 FC 04 00 32 */ fmul f0, f4, f0
/* 801D2264 001CDEC4 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 801D2268 001CDEC8 D8 01 00 28 */ stfd f0, 0x28(r1)
/* 801D226C 001CDECC 48 00 00 0C */ b lbl_801D2278
lbl_801D2270:
/* 801D2270 001CDED0 38 84 FF F8 */ addi r4, r4, -8
/* 801D2274 001CDED4 38 C6 FF FF */ addi r6, r6, -1
lbl_801D2278:
/* 801D2278 001CDED8 C8 04 FF F8 */ lfd f0, -8(r4)
/* 801D227C 001CDEDC FC 01 00 00 */ fcmpu cr0, f1, f0
/* 801D2280 001CDEE0 41 82 FF F0 */ beq lbl_801D2270
/* 801D2284 001CDEE4 3D 00 80 40 */ lis r8, lbl_803FD368@ha
/* 801D2288 001CDEE8 7F C4 F3 78 */ mr r4, r30
/* 801D228C 001CDEEC 38 61 00 18 */ addi r3, r1, 0x18
/* 801D2290 001CDEF0 38 E0 00 02 */ li r7, 2
/* 801D2294 001CDEF4 39 08 D3 68 */ addi r8, r8, lbl_803FD368@l
/* 801D2298 001CDEF8 48 00 01 51 */ bl __kernel_rem_pio2
/* 801D229C 001CDEFC 2C 1F 00 00 */ cmpwi r31, 0
/* 801D22A0 001CDF00 40 80 00 20 */ bge lbl_801D22C0
/* 801D22A4 001CDF04 C8 3E 00 00 */ lfd f1, 0(r30)
/* 801D22A8 001CDF08 7C 63 00 D0 */ neg r3, r3
/* 801D22AC 001CDF0C C8 1E 00 08 */ lfd f0, 8(r30)
/* 801D22B0 001CDF10 FC 20 08 50 */ fneg f1, f1
/* 801D22B4 001CDF14 FC 00 00 50 */ fneg f0, f0
/* 801D22B8 001CDF18 D8 3E 00 00 */ stfd f1, 0(r30)
/* 801D22BC 001CDF1C D8 1E 00 08 */ stfd f0, 8(r30)
lbl_801D22C0:
/* 801D22C0 001CDF20 80 01 00 64 */ lwz r0, 0x64(r1)
/* 801D22C4 001CDF24 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 801D22C8 001CDF28 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 801D22CC 001CDF2C 7C 08 03 A6 */ mtlr r0
/* 801D22D0 001CDF30 38 21 00 60 */ addi r1, r1, 0x60
/* 801D22D4 001CDF34 4E 80 00 20 */ blr
|