|
|
1.1 root 1: .data
2: .align 2
3: _sq2p1:.long 0x411A8279, 0x99FCEF31 # .double 2.414213562373095
4: .align 2
5: _sq2m1:.long 0x3FD413CC, 0xCFE77990 # .double .41421356237309503
6: .align 2
7: _pio2:.long 0x40C90FDA, 0xA22168C1 # .double 1.5707963267948966
8: .align 2
9: _pio4:.long 0x40490FDA, 0xA22168C1 # .double .78539816339744829
10: .align 2
11: _p0:.long 0x407FFFFF, 0xFD687A4B # .double .99999999939652999
12: .align 2
13: _p1:.long 0xBFAAAAA2, 0x09F9DBF2 # .double -.3333330762079
14: .align 2
15: _p2:.long 0x3F4CC820, 0x0670059B # .double .199982166665
16: .align 2
17: _p3:.long 0xBF11D182, 0x6601878B # .double -.142400777317
18: .align 2
19: _p4:.long 0x3ED88B47, 0x4EFC9AF9 # .double .10573440275
20: .align 2
21: _p5:.long 0xBE772E4B, 0x0E689AEB # .double -.060346883
22: .text
23: LL0: .align 1
24: .globl _Katanf
25: .set L22,0x0
26: .data
27: .text
28: .data
29: .align 2
30: L35: .long 0x40800000, 0x00000000 # .double 1
31: .text
32: .data
33: .align 2
34: L36: .long 0x40800000, 0x00000000 # .double 1
35: .align 2
36: L37: .long 0x40800000, 0x00000000 # .double 1
37: .text
38: .set L28,0xC
39: .data
40: .text
41: .set L38,0x0
42: .data
43: .text
44: _Katanf:.word L22
45: tstl 4(fp) # if (arg > 0)
46: jleq L27
47: pushl 20(fp) # hfs
48: pushl 8(fp)
49: pushl 4(fp)
50: callf $16,_satan
51: ret # return(satan(arg));
52: L27: # else
53: pushl 20(fp) # hfs
54: lnd 4(fp)
55: pushd
56: callf $16,_satan
57: lnf r0
58: stf r0
59: ret # return(-satan(-arg));
60: L2000003:
61: pushl 12(fp)
62: ldd 4(fp)
63: pushd
64: ldd L35
65: pushd
66: callf $24,_Kdivd # (1.0/arg)
67: pushl 12(fp) # hfs
68: ldd r0
69: pushd
70: callf $16,_xatan
71: # clrl -60+4(fp)
72: # movl r0,-60(fp)
73: pushl 12(fp) # hfs
74: ldd r0
75: pushd
76: ldd _pio2
77: pushd
78: callf $24,_Ksubd
79: ldd r0
80: cvdf
81: stf r0
82: ret
83:
84: .align 1
85: _satan: .word L28
86: subl3 $60,fp,sp
87: cmpd2 4(fp),_sq2m1 # if (arg < sq2m1)
88: jgeq L33
89: pushl 12(fp) # hfs
90: pushl 8(fp)
91: pushl 4(fp)
92: callf $16,_xatan
93: ret # return(xatan(arg));
94: L33: cmpd2 4(fp),_sq2p1 # else if (arg > sq2p1)
95: jgtr L2000003
96: pushl 12(fp) # hfs
97: ldd L37
98: pushd
99: ldd 4(fp)
100: pushd
101: callf $24,_Kaddd # (arg+1.0)
102: pushl 12(fp) # hfs of _Kdivd
103: pushl r1
104: pushl r0
105: pushl 12(fp) # hfs
106: ldd L36
107: pushd
108: ldd 4(fp)
109: pushd
110: callf $24,_Ksubd # (arg-1.0)
111: pushl r1
112: pushl r0
113: callf $24,_Kdivd # (arg-1.0)/(arg+1.0)
114: pushl 12(fp) # hfs
115: pushl r1
116: pushl r0
117: callf $16,_xatan # xatan((ag-1.0)/(arg+1.0))
118: pushl 12(fp) # hfs
119: pushl r1
120: pushl r0
121: ldd _pio4
122: pushd
123: callf $24,_Kaddd
124: ldd r0
125: cvdf
126: stf r0
127: ret # return(pio4+xatan((xatan(...)));
128:
129: .align 1
130: _xatan: .word L38
131: subl3 $68,fp,sp
132: pushl 12(fp) # hfs
133: ldd 4(fp)
134: pushd
135: ldd 4(fp)
136: pushd
137: callf $24,_Kmuld # argsq = arg*arg;
138: ldd r0
139: std -60(fp) # argsq
140: pushl 12(fp) # hfs
141: pushd
142: ldd _p5
143: pushd
144: callf $24,_Kmuld # p5*argsq
145: pushl 12(fp) # hfs
146: ldd _p4
147: pushd
148: ldd r0
149: pushd
150: callf $24,_Kaddd # (p5*argsq+p4)
151: pushl 12(fp) # hfs
152: ldd -60(fp)
153: pushd
154: ldd r0
155: pushd
156: callf $24,_Kmuld # (p5*argsq+p4)*argsq
157: pushl 12(fp) # hfs
158: ldd _p3
159: pushd
160: ldd r0
161: pushd
162: callf $24,_Kaddd # ((p5*argsq+p4)*argsq+p3)
163: pushl 12(fp) # hfs
164: ldd -60(fp)
165: pushd
166: ldd r0
167: pushd
168: callf $24,_Kmuld # (..)*argsq
169: pushl 12(fp) # hfs
170: ldd _p2
171: pushd
172: ldd r0
173: pushd
174: callf $24,_Kaddd # (..)*argsq+p2)
175: pushl 12(fp) # hfs
176: ldd -60(fp)
177: pushd
178: ldd r0
179: pushd
180: callf $24,_Kmuld # ((..)*argsq+p2)*argsq
181: pushl 12(fp) # hfs
182: ldd _p1
183: pushd
184: ldd r0
185: pushd
186: callf $24,_Kaddd # ((..)*argsq+p2)*argsq+p1)
187: pushl 12(fp) # hfs
188: ldd -60(fp)
189: pushd
190: ldd r0
191: pushd
192: callf $24,_Kmuld # (..)*argsq
193: pushl 12(fp) # hfs
194: ldd _p0
195: pushd
196: ldd r0
197: pushd
198: callf $24,_Kaddd # ((..)*argsq+p1)*argsq+p0)
199: pushl 12(fp) # hfs
200: ldd 4(fp)
201: pushd
202: ldd r0
203: pushd
204: callf $24,_Kmuld # (..)*arg
205: ldd r0
206: std -68(fp) # value
207: cvdf
208: stf r0
209: ret
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.