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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global __ieee754_asin
__ieee754_asin:
/* 801D0EC0 001CCB20 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801D0EC4 001CCB24 7C 08 02 A6 */ mflr r0
/* 801D0EC8 001CCB28 90 01 00 54 */ stw r0, 0x54(r1)
/* 801D0ECC 001CCB2C DB E1 00 40 */ stfd f31, 0x40(r1)
/* 801D0ED0 001CCB30 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 801D0ED4 001CCB34 DB C1 00 30 */ stfd f30, 0x30(r1)
/* 801D0ED8 001CCB38 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
/* 801D0EDC 001CCB3C DB A1 00 20 */ stfd f29, 0x20(r1)
/* 801D0EE0 001CCB40 F3 A1 00 28 */ psq_st f29, 40(r1), 0, qr0
/* 801D0EE4 001CCB44 3C 00 3F F0 */ lis r0, 0x3ff0
/* 801D0EE8 001CCB48 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D0EEC 001CCB4C D8 21 00 08 */ stfd f1, 8(r1)
/* 801D0EF0 001CCB50 83 E1 00 08 */ lwz r31, 8(r1)
/* 801D0EF4 001CCB54 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D0EF8 001CCB58 57 FE 00 7E */ clrlwi r30, r31, 1
/* 801D0EFC 001CCB5C 7C 1E 00 00 */ cmpw r30, r0
/* 801D0F00 001CCB60 41 80 00 38 */ blt lbl_801D0F38
/* 801D0F04 001CCB64 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801D0F08 001CCB68 3C 7E C0 10 */ addis r3, r30, 0xc010
/* 801D0F0C 001CCB6C 7C 60 03 79 */ or. r0, r3, r0
/* 801D0F10 001CCB70 40 82 00 1C */ bne lbl_801D0F2C
/* 801D0F14 001CCB74 C8 42 92 18 */ lfd f2, lbl_80641818-_SDA2_BASE_(r2)
/* 801D0F18 001CCB78 C8 02 92 20 */ lfd f0, lbl_80641820-_SDA2_BASE_(r2)
/* 801D0F1C 001CCB7C FC 42 00 72 */ fmul f2, f2, f1
/* 801D0F20 001CCB80 FC 00 00 72 */ fmul f0, f0, f1
/* 801D0F24 001CCB84 FC 22 00 2A */ fadd f1, f2, f0
/* 801D0F28 001CCB88 48 00 02 00 */ b lbl_801D1128
lbl_801D0F2C:
/* 801D0F2C 001CCB8C 3C 60 80 64 */ lis r3, lbl_8063D6B8@ha
/* 801D0F30 001CCB90 C0 23 D6 B8 */ lfs f1, lbl_8063D6B8@l(r3)
/* 801D0F34 001CCB94 48 00 01 F4 */ b lbl_801D1128
lbl_801D0F38:
/* 801D0F38 001CCB98 3C 00 3F E0 */ lis r0, 0x3fe0
/* 801D0F3C 001CCB9C 7C 1E 00 00 */ cmpw r30, r0
/* 801D0F40 001CCBA0 40 80 00 B8 */ bge lbl_801D0FF8
/* 801D0F44 001CCBA4 3C 00 3E 40 */ lis r0, 0x3e40
/* 801D0F48 001CCBA8 7C 1E 00 00 */ cmpw r30, r0
/* 801D0F4C 001CCBAC 40 80 00 1C */ bge lbl_801D0F68
/* 801D0F50 001CCBB0 C8 42 92 28 */ lfd f2, lbl_80641828-_SDA2_BASE_(r2)
/* 801D0F54 001CCBB4 C8 02 92 30 */ lfd f0, lbl_80641830-_SDA2_BASE_(r2)
/* 801D0F58 001CCBB8 FC 42 08 2A */ fadd f2, f2, f1
/* 801D0F5C 001CCBBC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 801D0F60 001CCBC0 40 81 00 0C */ ble lbl_801D0F6C
/* 801D0F64 001CCBC4 48 00 01 C4 */ b lbl_801D1128
lbl_801D0F68:
/* 801D0F68 001CCBC8 FF E1 00 72 */ fmul f31, f1, f1
lbl_801D0F6C:
/* 801D0F6C 001CCBCC C8 42 92 60 */ lfd f2, lbl_80641860-_SDA2_BASE_(r2)
/* 801D0F70 001CCBD0 C8 02 92 80 */ lfd f0, lbl_80641880-_SDA2_BASE_(r2)
/* 801D0F74 001CCBD4 FC 82 07 F2 */ fmul f4, f2, f31
/* 801D0F78 001CCBD8 C8 62 92 58 */ lfd f3, lbl_80641858-_SDA2_BASE_(r2)
/* 801D0F7C 001CCBDC C9 02 92 50 */ lfd f8, lbl_80641850-_SDA2_BASE_(r2)
/* 801D0F80 001CCBE0 FC 40 07 F2 */ fmul f2, f0, f31
/* 801D0F84 001CCBE4 C8 02 92 78 */ lfd f0, lbl_80641878-_SDA2_BASE_(r2)
/* 801D0F88 001CCBE8 C8 E2 92 48 */ lfd f7, lbl_80641848-_SDA2_BASE_(r2)
/* 801D0F8C 001CCBEC FC 83 20 2A */ fadd f4, f3, f4
/* 801D0F90 001CCBF0 C8 62 92 70 */ lfd f3, lbl_80641870-_SDA2_BASE_(r2)
/* 801D0F94 001CCBF4 FC 00 10 2A */ fadd f0, f0, f2
/* 801D0F98 001CCBF8 C8 42 92 68 */ lfd f2, lbl_80641868-_SDA2_BASE_(r2)
/* 801D0F9C 001CCBFC FD 3F 01 32 */ fmul f9, f31, f4
/* 801D0FA0 001CCC00 C8 C2 92 40 */ lfd f6, lbl_80641840-_SDA2_BASE_(r2)
/* 801D0FA4 001CCC04 C8 A2 92 38 */ lfd f5, lbl_80641838-_SDA2_BASE_(r2)
/* 801D0FA8 001CCC08 FC 9F 00 32 */ fmul f4, f31, f0
/* 801D0FAC 001CCC0C C8 02 92 30 */ lfd f0, lbl_80641830-_SDA2_BASE_(r2)
/* 801D0FB0 001CCC10 FD 08 48 2A */ fadd f8, f8, f9
/* 801D0FB4 001CCC14 FC 63 20 2A */ fadd f3, f3, f4
/* 801D0FB8 001CCC18 FC 9F 02 32 */ fmul f4, f31, f8
/* 801D0FBC 001CCC1C FC 7F 00 F2 */ fmul f3, f31, f3
/* 801D0FC0 001CCC20 FC 87 20 2A */ fadd f4, f7, f4
/* 801D0FC4 001CCC24 FC 42 18 2A */ fadd f2, f2, f3
/* 801D0FC8 001CCC28 FC 7F 01 32 */ fmul f3, f31, f4
/* 801D0FCC 001CCC2C FC 5F 00 B2 */ fmul f2, f31, f2
/* 801D0FD0 001CCC30 FC 66 18 2A */ fadd f3, f6, f3
/* 801D0FD4 001CCC34 FC 40 10 2A */ fadd f2, f0, f2
/* 801D0FD8 001CCC38 FC 1F 00 F2 */ fmul f0, f31, f3
/* 801D0FDC 001CCC3C FC 05 00 2A */ fadd f0, f5, f0
/* 801D0FE0 001CCC40 FC 1F 00 32 */ fmul f0, f31, f0
/* 801D0FE4 001CCC44 FC 40 10 24 */ fdiv f2, f0, f2
/* 801D0FE8 001CCC48 FC 01 00 B2 */ fmul f0, f1, f2
/* 801D0FEC 001CCC4C D8 41 00 10 */ stfd f2, 0x10(r1)
/* 801D0FF0 001CCC50 FC 21 00 2A */ fadd f1, f1, f0
/* 801D0FF4 001CCC54 48 00 01 34 */ b lbl_801D1128
lbl_801D0FF8:
/* 801D0FF8 001CCC58 FC 20 0A 10 */ fabs f1, f1
/* 801D0FFC 001CCC5C C9 62 92 30 */ lfd f11, lbl_80641830-_SDA2_BASE_(r2)
/* 801D1000 001CCC60 C8 42 92 88 */ lfd f2, lbl_80641888-_SDA2_BASE_(r2)
/* 801D1004 001CCC64 C8 02 92 60 */ lfd f0, lbl_80641860-_SDA2_BASE_(r2)
/* 801D1008 001CCC68 FC 6B 08 28 */ fsub f3, f11, f1
/* 801D100C 001CCC6C C8 22 92 80 */ lfd f1, lbl_80641880-_SDA2_BASE_(r2)
/* 801D1010 001CCC70 C9 22 92 58 */ lfd f9, lbl_80641858-_SDA2_BASE_(r2)
/* 801D1014 001CCC74 C9 02 92 50 */ lfd f8, lbl_80641850-_SDA2_BASE_(r2)
/* 801D1018 001CCC78 FF E2 00 F2 */ fmul f31, f2, f3
/* 801D101C 001CCC7C C8 62 92 78 */ lfd f3, lbl_80641878-_SDA2_BASE_(r2)
/* 801D1020 001CCC80 C8 42 92 70 */ lfd f2, lbl_80641870-_SDA2_BASE_(r2)
/* 801D1024 001CCC84 C8 E2 92 48 */ lfd f7, lbl_80641848-_SDA2_BASE_(r2)
/* 801D1028 001CCC88 C8 C2 92 40 */ lfd f6, lbl_80641840-_SDA2_BASE_(r2)
/* 801D102C 001CCC8C FD 40 07 F2 */ fmul f10, f0, f31
/* 801D1030 001CCC90 C8 02 92 68 */ lfd f0, lbl_80641868-_SDA2_BASE_(r2)
/* 801D1034 001CCC94 FC 81 07 F2 */ fmul f4, f1, f31
/* 801D1038 001CCC98 C8 A2 92 38 */ lfd f5, lbl_80641838-_SDA2_BASE_(r2)
/* 801D103C 001CCC9C FD 29 50 2A */ fadd f9, f9, f10
/* 801D1040 001CCCA0 FC 20 F8 90 */ fmr f1, f31
/* 801D1044 001CCCA4 FC 63 20 2A */ fadd f3, f3, f4
/* 801D1048 001CCCA8 FC 9F 02 72 */ fmul f4, f31, f9
/* 801D104C 001CCCAC FC 7F 00 F2 */ fmul f3, f31, f3
/* 801D1050 001CCCB0 FC 88 20 2A */ fadd f4, f8, f4
/* 801D1054 001CCCB4 FC 42 18 2A */ fadd f2, f2, f3
/* 801D1058 001CCCB8 FC 7F 01 32 */ fmul f3, f31, f4
/* 801D105C 001CCCBC FC 5F 00 B2 */ fmul f2, f31, f2
/* 801D1060 001CCCC0 FC 67 18 2A */ fadd f3, f7, f3
/* 801D1064 001CCCC4 FC 00 10 2A */ fadd f0, f0, f2
/* 801D1068 001CCCC8 FC 5F 00 F2 */ fmul f2, f31, f3
/* 801D106C 001CCCCC FC 1F 00 32 */ fmul f0, f31, f0
/* 801D1070 001CCCD0 FC 46 10 2A */ fadd f2, f6, f2
/* 801D1074 001CCCD4 FF AB 00 2A */ fadd f29, f11, f0
/* 801D1078 001CCCD8 FC 1F 00 B2 */ fmul f0, f31, f2
/* 801D107C 001CCCDC FC 05 00 2A */ fadd f0, f5, f0
/* 801D1080 001CCCE0 FF DF 00 32 */ fmul f30, f31, f0
/* 801D1084 001CCCE4 48 00 37 B1 */ bl sqrt
/* 801D1088 001CCCE8 3C 60 3F EF */ lis r3, 0x3FEF3333@ha
/* 801D108C 001CCCEC 38 03 33 33 */ addi r0, r3, 0x3FEF3333@l
/* 801D1090 001CCCF0 7C 1E 00 00 */ cmpw r30, r0
/* 801D1094 001CCCF4 41 80 00 30 */ blt lbl_801D10C4
/* 801D1098 001CCCF8 FC BE E8 24 */ fdiv f5, f30, f29
/* 801D109C 001CCCFC C8 62 92 90 */ lfd f3, lbl_80641890-_SDA2_BASE_(r2)
/* 801D10A0 001CCD00 C8 42 92 20 */ lfd f2, lbl_80641820-_SDA2_BASE_(r2)
/* 801D10A4 001CCD04 C8 02 92 18 */ lfd f0, lbl_80641818-_SDA2_BASE_(r2)
/* 801D10A8 001CCD08 FC 81 01 72 */ fmul f4, f1, f5
/* 801D10AC 001CCD0C D8 A1 00 10 */ stfd f5, 0x10(r1)
/* 801D10B0 001CCD10 FC 21 20 2A */ fadd f1, f1, f4
/* 801D10B4 001CCD14 FC 23 00 72 */ fmul f1, f3, f1
/* 801D10B8 001CCD18 FC 21 10 28 */ fsub f1, f1, f2
/* 801D10BC 001CCD1C FC 20 08 28 */ fsub f1, f0, f1
/* 801D10C0 001CCD20 48 00 00 58 */ b lbl_801D1118
lbl_801D10C4:
/* 801D10C4 001CCD24 D8 21 00 10 */ stfd f1, 0x10(r1)
/* 801D10C8 001CCD28 38 00 00 00 */ li r0, 0
/* 801D10CC 001CCD2C C8 A2 92 90 */ lfd f5, lbl_80641890-_SDA2_BASE_(r2)
/* 801D10D0 001CCD30 FD 1E E8 24 */ fdiv f8, f30, f29
/* 801D10D4 001CCD34 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D10D8 001CCD38 C8 62 92 20 */ lfd f3, lbl_80641820-_SDA2_BASE_(r2)
/* 801D10DC 001CCD3C C8 E1 00 10 */ lfd f7, 0x10(r1)
/* 801D10E0 001CCD40 C8 42 92 98 */ lfd f2, lbl_80641898-_SDA2_BASE_(r2)
/* 801D10E4 001CCD44 FC 85 00 72 */ fmul f4, f5, f1
/* 801D10E8 001CCD48 FC 07 01 F2 */ fmul f0, f7, f7
/* 801D10EC 001CCD4C FC C1 38 2A */ fadd f6, f1, f7
/* 801D10F0 001CCD50 FC 84 02 32 */ fmul f4, f4, f8
/* 801D10F4 001CCD54 FC 3F 00 28 */ fsub f1, f31, f0
/* 801D10F8 001CCD58 FC 05 01 F2 */ fmul f0, f5, f7
/* 801D10FC 001CCD5C FC 21 30 24 */ fdiv f1, f1, f6
/* 801D1100 001CCD60 FC 25 00 72 */ fmul f1, f5, f1
/* 801D1104 001CCD64 FC 23 08 28 */ fsub f1, f3, f1
/* 801D1108 001CCD68 FC 62 00 28 */ fsub f3, f2, f0
/* 801D110C 001CCD6C FC 04 08 28 */ fsub f0, f4, f1
/* 801D1110 001CCD70 FC 00 18 28 */ fsub f0, f0, f3
/* 801D1114 001CCD74 FC 22 00 28 */ fsub f1, f2, f0
lbl_801D1118:
/* 801D1118 001CCD78 2C 1F 00 00 */ cmpwi r31, 0
/* 801D111C 001CCD7C 40 81 00 08 */ ble lbl_801D1124
/* 801D1120 001CCD80 48 00 00 08 */ b lbl_801D1128
lbl_801D1124:
/* 801D1124 001CCD84 FC 20 08 50 */ fneg f1, f1
lbl_801D1128:
/* 801D1128 001CCD88 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 801D112C 001CCD8C CB E1 00 40 */ lfd f31, 0x40(r1)
/* 801D1130 001CCD90 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
/* 801D1134 001CCD94 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 801D1138 001CCD98 E3 A1 00 28 */ psq_l f29, 40(r1), 0, qr0
/* 801D113C 001CCD9C CB A1 00 20 */ lfd f29, 0x20(r1)
/* 801D1140 001CCDA0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D1144 001CCDA4 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801D1148 001CCDA8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D114C 001CCDAC 7C 08 03 A6 */ mtlr r0
/* 801D1150 001CCDB0 38 21 00 50 */ addi r1, r1, 0x50
/* 801D1154 001CCDB4 4E 80 00 20 */ blr
|