|
|
1.1 root 1: .set reorder
2: .globl Zero
3: .sdata; .align 3; Zero:.word 0x0
4: .word 0x0
5: .globl Half
6: .sdata; .align 3; Half:.word 0x3fe00000
7: .word 0x0
8: .globl One
9: .sdata; .align 3; One:.word 0x3ff00000
10: .word 0x0
11: .globl Two
12: .sdata; .align 3; Two:.word 0x40000000
13: .word 0x0
14: .globl Three
15: .sdata; .align 3; Three:.word 0x40080000
16: .word 0x0
17: .globl Four
18: .sdata; .align 3; Four:.word 0x40100000
19: .word 0x0
20: .globl Five
21: .sdata; .align 3; Five:.word 0x40140000
22: .word 0x0
23: .globl Eight
24: .sdata; .align 3; Eight:.word 0x40200000
25: .word 0x0
26: .globl Nine
27: .sdata; .align 3; Nine:.word 0x40220000
28: .word 0x0
29: .globl TwentySeven
30: .sdata; .align 3; TwentySeven:.word 0x403b0000
31: .word 0x0
32: .globl ThirtyTwo
33: .sdata; .align 3; ThirtyTwo:.word 0x40400000
34: .word 0x0
35: .globl TwoForty
36: .sdata; .align 3; TwoForty:.word 0x406e0000
37: .word 0x0
38: .globl MinusOne
39: .sdata; .align 3; MinusOne:.word 0xbff00000
40: .word 0x0
41: .globl OneAndHalf
42: .sdata; .align 3; OneAndHalf:.word 0x3ff80000
43: .word 0x0
44: .globl NoTrials
45: .sdata; .align 2; NoTrials:.word 0x14
46: .text
47: .globl sigfpe
48: .text
49: .align 2; .ent sigfpe
50: sigfpe:
51: $fp1=24
52: .frame $sp,24,$31
53: addu $sp,$sp,-24
54: .mask 0x80000000,-8
55: sw $31,16($sp)
56: sw $4,24($sp)
57: lw $25,fpecount
58: addu $25,$25,1
59: sw $25,fpecount
60: la $4,L.2
61: jal printf # int
62: la $4,_iob+16
63: jal fflush # int
64: lw $25,sigsave
65: beq $25,$0,L.4
66: li $4,8
67: lw $5,sigsave
68: jal signal # int
69: sw $0,sigsave
70: la $4,ovfl_buf
71: li $5,1
72: jal longjmp # int
73: L.4:
74: jal abort # int
75: L.1:
76: lw $31,16($sp)
77: addu $sp,$sp,24
78: j $31
79: .end sigfpe
80: .data; .align 2; L.759:.word L.760
81: .word L.761
82: .word L.762
83: .word L.763
84: .text
85: .globl main
86: .text
87: .align 2; .ent main
88: main:
89: $fp2=64
90: .frame $sp,64,$31
91: addu $sp,$sp,-64
92: .fmask 0xfc000000,-16
93: s.d $f26,32($sp)
94: s.d $f28,40($sp)
95: s.d $f30,48($sp)
96: .mask 0xc0000000,-4
97: sw $30,56($sp)
98: sw $31,60($sp)
99: l.d $f18,L.7
100: s.d $f18,Zero
101: l.d $f18,L.8
102: s.d $f18,One
103: l.d $f18,One
104: add.d $f16,$f18,$f18
105: s.d $f16,Two
106: l.d $f16,Two
107: add.d $f10,$f16,$f18
108: s.d $f10,Three
109: l.d $f10,Three
110: add.d $f8,$f10,$f18
111: s.d $f8,Four
112: l.d $f8,Four
113: add.d $f6,$f8,$f18
114: s.d $f6,Five
115: add.d $f6,$f8,$f8
116: s.d $f6,Eight
117: mul.d $f6,$f10,$f10
118: s.d $f6,Nine
119: l.d $f6,Nine
120: mul.d $f6,$f6,$f10
121: s.d $f6,TwentySeven
122: l.d $f6,Eight
123: mul.d $f6,$f8,$f6
124: s.d $f6,ThirtyTwo
125: l.d $f6,Five
126: mul.d $f6,$f8,$f6
127: mul.d $f10,$f6,$f10
128: mul.d $f10,$f10,$f8
129: s.d $f10,TwoForty
130: neg.d $f10,$f18
131: s.d $f10,MinusOne
132: div.d $f16,$f18,$f16
133: s.d $f16,Half
134: l.d $f16,Half
135: add.d $f18,$f18,$f16
136: s.d $f18,OneAndHalf
137: sw $0,ErrCnt
138: sw $0,ErrCnt+4
139: sw $0,ErrCnt+8
140: sw $0,ErrCnt+12
141: li $25,1
142: sw $25,PageNo
143: sw $0,Milestone
144: li $4,8
145: la $5,sigfpe
146: jal signal # int
147: jal Instructions # int
148: jal Pause # int
149: jal Heading # int
150: jal Pause # int
151: jal Characteristics # int
152: jal Pause # int
153: jal History # int
154: jal Pause # int
155: li $25,7
156: sw $25,Milestone
157: la $4,L.12
158: jal printf # int
159: move $4,$0
160: l.d $f18,Zero
161: add.d $f16,$f18,$f18
162: c.eq.d $f16,$f18; bc1f L.15
163: l.d $f16,One
164: sub.d $f10,$f16,$f16
165: c.eq.d $f10,$f18; bc1f L.15
166: c.le.d $f16,$f18; bc1t L.15
167: add.d $f18,$f16,$f16
168: l.d $f16,Two
169: c.eq.d $f18,$f16; bc1f L.15
170: li $30,1
171: b L.16
172: L.15:
173: move $30,$0
174: L.16:
175: move $5,$30
176: la $6,L.14
177: jal TstCond # int
178: l.d $f18,Zero
179: neg.d $f18,$f18
180: s.d $f18,Z
181: l.d $f18,Z
182: l.d $f16,L.7
183: c.eq.d $f18,$f16; bc1t L.17
184: lw $25,ErrCnt
185: addu $25,$25,1
186: sw $25,ErrCnt
187: la $4,L.19
188: jal printf # int
189: l.d $f18,L.20
190: s.d $f18,U1
191: l.d $f18,L.8
192: s.d $f18,Radix
193: jal TstPtUf # int
194: L.17:
195: move $4,$0
196: l.d $f18,Three
197: l.d $f16,Two
198: l.d $f10,One
199: add.d $f8,$f16,$f10
200: c.eq.d $f18,$f8; bc1f L.23
201: l.d $f8,Four
202: add.d $f6,$f18,$f10
203: c.eq.d $f8,$f6; bc1f L.23
204: neg.d $f6,$f16
205: mul.d $f16,$f16,$f6
206: add.d $f16,$f8,$f16
207: l.d $f6,Zero
208: c.eq.d $f16,$f6; bc1f L.23
209: sub.d $f18,$f8,$f18
210: sub.d $f18,$f18,$f10
211: c.eq.d $f18,$f6; bc1f L.23
212: li $30,1
213: b L.24
214: L.23:
215: move $30,$0
216: L.24:
217: move $5,$30
218: la $6,L.22
219: jal TstCond # int
220: l.d $f18,MinusOne
221: mov.d $f30,$f18
222: l.d $f16,L.7
223: l.d $f10,One
224: sub.d $f16,$f16,$f10
225: c.eq.d $f18,$f16; bc1f L.27
226: add.d $f16,$f18,$f10
227: l.d $f8,Zero
228: c.eq.d $f16,$f8; bc1f L.27
229: add.d $f16,$f10,$f18
230: c.eq.d $f16,$f8; bc1f L.27
231: mov.d $f12,$f10
232: jal fabs # real
233: add.d $f18,$f30,$f0
234: l.d $f16,Zero
235: c.eq.d $f18,$f16; bc1f L.27
236: l.d $f18,MinusOne
237: mul.d $f10,$f18,$f18
238: add.d $f18,$f18,$f10
239: c.eq.d $f18,$f16; bc1f L.27
240: li $30,1
241: b L.28
242: L.27:
243: move $30,$0
244: L.28:
245: move $4,$0
246: move $5,$30
247: la $6,L.26
248: jal TstCond # int
249: move $4,$0
250: l.d $f18,Half
251: l.d $f16,MinusOne
252: add.d $f16,$f18,$f16
253: add.d $f18,$f16,$f18
254: l.d $f16,Zero
255: c.eq.d $f18,$f16; bc1f L.31
256: li $30,1
257: b L.32
258: L.31:
259: move $30,$0
260: L.32:
261: move $5,$30
262: la $6,L.30
263: jal TstCond # int
264: li $25,10
265: sw $25,Milestone
266: move $4,$0
267: l.d $f18,Nine
268: l.d $f16,Three
269: mul.d $f10,$f16,$f16
270: c.eq.d $f18,$f10; bc1f L.35
271: l.d $f10,TwentySeven
272: mul.d $f18,$f18,$f16
273: c.eq.d $f10,$f18; bc1f L.35
274: l.d $f18,Eight
275: l.d $f16,Four
276: add.d $f8,$f16,$f16
277: c.eq.d $f18,$f8; bc1f L.35
278: l.d $f8,ThirtyTwo
279: mul.d $f18,$f18,$f16
280: c.eq.d $f8,$f18; bc1f L.35
281: sub.d $f18,$f8,$f10
282: sub.d $f18,$f18,$f16
283: l.d $f16,One
284: sub.d $f18,$f18,$f16
285: l.d $f16,Zero
286: c.eq.d $f18,$f16; bc1f L.35
287: li $30,1
288: b L.36
289: L.35:
290: move $30,$0
291: L.36:
292: move $5,$30
293: la $6,L.34
294: jal TstCond # int
295: move $4,$0
296: l.d $f18,Five
297: l.d $f16,Four
298: l.d $f10,One
299: add.d $f10,$f16,$f10
300: c.eq.d $f18,$f10; bc1f L.39
301: l.d $f10,TwoForty
302: mov.d $f30,$f10
303: mul.d $f8,$f16,$f18
304: l.d $f6,Three
305: mul.d $f8,$f8,$f6
306: mul.d $f8,$f8,$f16
307: c.eq.d $f10,$f8; bc1f L.39
308: div.d $f8,$f10,$f6
309: mul.d $f4,$f16,$f16
310: mul.d $f4,$f4,$f18
311: sub.d $f8,$f8,$f4
312: l.d $f4,Zero
313: c.eq.d $f8,$f4; bc1f L.39
314: div.d $f8,$f10,$f16
315: mul.d $f10,$f18,$f6
316: mul.d $f10,$f10,$f16
317: sub.d $f10,$f8,$f10
318: c.eq.d $f10,$f4; bc1f L.39
319: div.d $f18,$f30,$f18
320: mul.d $f10,$f16,$f6
321: mul.d $f16,$f10,$f16
322: sub.d $f18,$f18,$f16
323: c.eq.d $f18,$f4; bc1f L.39
324: li $30,1
325: b L.40
326: L.39:
327: move $30,$0
328: L.40:
329: move $5,$30
330: la $6,L.38
331: jal TstCond # int
332: lw $25,ErrCnt
333: bne $25,$0,L.41
334: la $4,L.43
335: jal printf # int
336: la $4,L.44
337: jal printf # int
338: L.41:
339: la $4,L.45
340: jal printf # int
341: l.d $f18,One
342: s.d $f18,W
343: L.46:
344: l.d $f18,W
345: add.d $f18,$f18,$f18
346: s.d $f18,W
347: l.d $f18,W
348: l.d $f16,One
349: add.d $f10,$f18,$f16
350: s.d $f10,Y
351: l.d $f10,Y
352: sub.d $f18,$f10,$f18
353: s.d $f18,Z
354: l.d $f18,Z
355: sub.d $f18,$f18,$f16
356: s.d $f18,Y
357: L.47:
358: l.d $f12,Y
359: jal fabs # real
360: l.d $f18,MinusOne
361: add.d $f18,$f18,$f0
362: l.d $f16,Zero
363: c.lt.d $f18,$f16; bc1t L.46
364: l.d $f18,Zero
365: s.d $f18,Precision
366: l.d $f18,One
367: s.d $f18,Y
368: L.49:
369: l.d $f18,W
370: l.d $f16,Y
371: add.d $f10,$f18,$f16
372: s.d $f10,Radix
373: add.d $f16,$f16,$f16
374: s.d $f16,Y
375: l.d $f16,Radix
376: sub.d $f18,$f16,$f18
377: s.d $f18,Radix
378: L.50:
379: l.d $f18,Radix
380: l.d $f16,Zero
381: c.eq.d $f18,$f16; bc1t L.49
382: l.d $f18,Radix
383: l.d $f16,Two
384: c.lt.d $f18,$f16; bc1f L.52
385: l.d $f18,One
386: s.d $f18,Radix
387: L.52:
388: la $4,L.54
389: l.d $f18,Radix
390: mfc1.d $6,$f18
391: jal printf # int
392: l.d $f18,Radix
393: l.d $f16,L.8
394: c.eq.d $f18,$f16; bc1t L.55
395: l.d $f18,One
396: s.d $f18,W
397: L.57:
398: l.d $f18,Precision
399: l.d $f16,One
400: add.d $f18,$f18,$f16
401: s.d $f18,Precision
402: l.d $f18,W
403: l.d $f10,Radix
404: mul.d $f18,$f18,$f10
405: s.d $f18,W
406: l.d $f18,W
407: add.d $f18,$f18,$f16
408: s.d $f18,Y
409: L.58:
410: l.d $f18,Y
411: l.d $f16,W
412: sub.d $f18,$f18,$f16
413: l.d $f16,One
414: c.eq.d $f18,$f16; bc1t L.57
415: L.55:
416: l.d $f18,One
417: l.d $f16,W
418: div.d $f18,$f18,$f16
419: s.d $f18,U1
420: l.d $f18,Radix
421: l.d $f16,U1
422: mul.d $f18,$f18,$f16
423: s.d $f18,U2
424: la $4,L.60
425: mfc1.d $6,$f16
426: jal printf # int
427: la $4,L.61
428: jal printf # int
429: l.d $f18,Radix
430: s.d $f18,E0
431: l.d $f18,U1
432: s.d $f18,E1
433: l.d $f18,U2
434: s.d $f18,E9
435: l.d $f18,Precision
436: s.d $f18,E3
437: l.d $f18,Four
438: l.d $f16,Three
439: div.d $f18,$f18,$f16
440: s.d $f18,X
441: l.d $f18,X
442: l.d $f16,One
443: sub.d $f18,$f18,$f16
444: s.d $f18,Third
445: l.d $f18,Half
446: l.d $f16,Third
447: sub.d $f18,$f18,$f16
448: s.d $f18,F6
449: l.d $f18,F6
450: add.d $f18,$f18,$f18
451: s.d $f18,X
452: l.d $f18,X
453: sub.d $f12,$f18,$f16
454: jal fabs # real
455: s.d $f0,X
456: l.d $f18,X
457: l.d $f16,U2
458: c.lt.d $f18,$f16; bc1f L.62
459: l.d $f18,U2
460: s.d $f18,X
461: L.62:
462: L.64:
463: l.d $f18,X
464: s.d $f18,U2
465: l.d $f18,Half
466: l.d $f16,U2
467: mul.d $f18,$f18,$f16
468: l.d $f10,ThirtyTwo
469: mul.d $f10,$f10,$f16
470: mul.d $f16,$f10,$f16
471: add.d $f18,$f18,$f16
472: s.d $f18,Y
473: l.d $f18,One
474: l.d $f16,Y
475: add.d $f16,$f18,$f16
476: s.d $f16,Y
477: l.d $f16,Y
478: sub.d $f18,$f16,$f18
479: s.d $f18,X
480: L.65:
481: l.d $f18,U2
482: l.d $f16,X
483: c.le.d $f18,$f16; bc1t L.67
484: l.d $f18,Zero
485: c.le.d $f16,$f18; bc1f L.64
486: L.67:
487: l.d $f18,Two
488: l.d $f16,Three
489: div.d $f18,$f18,$f16
490: s.d $f18,X
491: l.d $f18,X
492: l.d $f16,Half
493: sub.d $f18,$f18,$f16
494: s.d $f18,F6
495: l.d $f18,F6
496: add.d $f10,$f18,$f18
497: s.d $f10,Third
498: l.d $f10,Third
499: sub.d $f16,$f10,$f16
500: s.d $f16,X
501: l.d $f16,X
502: add.d $f12,$f16,$f18
503: jal fabs # real
504: s.d $f0,X
505: l.d $f18,X
506: l.d $f16,U1
507: c.lt.d $f18,$f16; bc1f L.68
508: l.d $f18,U1
509: s.d $f18,X
510: L.68:
511: L.70:
512: l.d $f18,X
513: s.d $f18,U1
514: l.d $f18,Half
515: l.d $f16,U1
516: mul.d $f10,$f18,$f16
517: l.d $f8,ThirtyTwo
518: mul.d $f8,$f8,$f16
519: mul.d $f16,$f8,$f16
520: add.d $f16,$f10,$f16
521: s.d $f16,Y
522: l.d $f16,Y
523: sub.d $f16,$f18,$f16
524: s.d $f16,Y
525: l.d $f16,Y
526: add.d $f16,$f18,$f16
527: s.d $f16,X
528: l.d $f16,X
529: sub.d $f16,$f18,$f16
530: s.d $f16,Y
531: l.d $f16,Y
532: add.d $f18,$f18,$f16
533: s.d $f18,X
534: L.71:
535: l.d $f18,U1
536: l.d $f16,X
537: c.le.d $f18,$f16; bc1t L.73
538: l.d $f18,Zero
539: c.le.d $f16,$f18; bc1f L.70
540: L.73:
541: l.d $f18,U1
542: l.d $f16,E1
543: c.eq.d $f18,$f16; bc1f L.74
544: la $4,L.76
545: jal printf # int
546: b L.75
547: L.74:
548: la $4,L.77
549: l.d $f18,U1
550: mfc1.d $6,$f18
551: jal printf # int
552: L.75:
553: l.d $f18,One
554: l.d $f16,U1
555: div.d $f18,$f18,$f16
556: s.d $f18,W
557: l.d $f18,Half
558: sub.d $f10,$f18,$f16
559: add.d $f18,$f10,$f18
560: s.d $f18,F9
561: l.d $f18,U2
562: div.d $f18,$f18,$f16
563: l.d $f16,L.78
564: add.d $f12,$f18,$f16
565: jal floor # real
566: s.d $f0,Radix
567: l.d $f18,Radix
568: l.d $f16,E0
569: c.eq.d $f18,$f16; bc1f L.79
570: la $4,L.81
571: jal printf # int
572: b L.80
573: L.79:
574: la $4,L.82
575: l.d $f18,Radix
576: mfc1.d $6,$f18
577: jal printf # int
578: L.80:
579: li $4,2
580: l.d $f18,Radix
581: l.d $f16,Eight
582: add.d $f16,$f16,$f16
583: c.le.d $f18,$f16; bc1f L.85
584: li $30,1
585: b L.86
586: L.85:
587: move $30,$0
588: L.86:
589: move $5,$30
590: la $6,L.84
591: jal TstCond # int
592: li $4,3
593: l.d $f18,Radix
594: l.d $f16,Two
595: c.eq.d $f18,$f16; bc1t L.92
596: l.d $f16,L.93
597: c.eq.d $f18,$f16; bc1t L.92
598: l.d $f16,One
599: c.eq.d $f18,$f16; bc1f L.89
600: L.92:
601: li $30,1
602: b L.90
603: L.89:
604: move $30,$0
605: L.90:
606: move $5,$30
607: la $6,L.88
608: jal TstCond # int
609: li $25,20
610: sw $25,Milestone
611: move $4,$0
612: l.d $f18,F9
613: l.d $f16,Half
614: sub.d $f18,$f18,$f16
615: c.lt.d $f18,$f16; bc1f L.96
616: li $30,1
617: b L.97
618: L.96:
619: move $30,$0
620: L.97:
621: move $5,$30
622: la $6,L.95
623: jal TstCond # int
624: l.d $f18,F9
625: s.d $f18,X
626: li $25,1
627: sw $25,I
628: l.d $f18,X
629: l.d $f16,Half
630: sub.d $f18,$f18,$f16
631: s.d $f18,Y
632: l.d $f18,Y
633: sub.d $f18,$f18,$f16
634: s.d $f18,Z
635: move $4,$0
636: l.d $f18,X
637: l.d $f16,One
638: c.eq.d $f18,$f16; bc1f L.102
639: l.d $f18,Z
640: l.d $f16,Zero
641: c.eq.d $f18,$f16; bc1f L.100
642: L.102:
643: li $30,1
644: b L.101
645: L.100:
646: move $30,$0
647: L.101:
648: move $5,$30
649: la $6,L.99
650: jal TstCond # int
651: l.d $f18,One
652: l.d $f16,U2
653: add.d $f10,$f18,$f16
654: s.d $f10,X
655: sw $0,I
656: li $25,25
657: sw $25,Milestone
658: l.d $f10,Radix
659: sub.d $f8,$f10,$f18
660: s.d $f8,BMinusU2
661: l.d $f8,BMinusU2
662: sub.d $f16,$f8,$f16
663: add.d $f16,$f16,$f18
664: s.d $f16,BMinusU2
665: c.eq.d $f10,$f18; bc1t L.103
666: l.d $f12,U1
667: jal log # real
668: mov.d $f30,$f0
669: l.d $f12,Radix
670: jal log # real
671: l.d $f18,TwoForty
672: neg.d $f18,$f18
673: mul.d $f18,$f18,$f30
674: div.d $f18,$f18,$f0
675: s.d $f18,X
676: l.d $f18,Half
677: l.d $f16,X
678: add.d $f12,$f18,$f16
679: jal floor # real
680: s.d $f0,Y
681: l.d $f18,X
682: l.d $f16,Y
683: sub.d $f12,$f18,$f16
684: jal fabs # real
685: l.d $f18,Four
686: mul.d $f18,$f0,$f18
687: l.d $f16,One
688: c.lt.d $f18,$f16; bc1f L.105
689: l.d $f18,Y
690: s.d $f18,X
691: L.105:
692: l.d $f18,X
693: l.d $f16,TwoForty
694: div.d $f18,$f18,$f16
695: s.d $f18,Precision
696: l.d $f18,Half
697: l.d $f16,Precision
698: add.d $f12,$f18,$f16
699: jal floor # real
700: s.d $f0,Y
701: l.d $f18,Precision
702: l.d $f16,Y
703: sub.d $f12,$f18,$f16
704: jal fabs # real
705: l.d $f18,TwoForty
706: mul.d $f18,$f0,$f18
707: l.d $f16,Half
708: c.lt.d $f18,$f16; bc1f L.107
709: l.d $f18,Y
710: s.d $f18,Precision
711: L.107:
712: L.103:
713: l.d $f18,Precision
714: mov.d $f30,$f18
715: mov.d $f12,$f18
716: jal floor # real
717: c.eq.d $f30,$f0; bc1f L.111
718: l.d $f18,Radix
719: l.d $f16,One
720: c.eq.d $f18,$f16; bc1f L.109
721: L.111:
722: la $4,L.112
723: jal printf # int
724: la $4,L.113
725: jal printf # int
726: L.109:
727: l.d $f18,Radix
728: l.d $f16,One
729: c.eq.d $f18,$f16; bc1f L.114
730: la $4,L.116
731: jal printf # int
732: b L.115
733: L.114:
734: la $4,L.117
735: l.d $f18,Precision
736: mfc1.d $6,$f18
737: jal printf # int
738: L.115:
739: li $4,1
740: l.d $f18,U2
741: l.d $f16,Nine
742: mul.d $f18,$f18,$f16
743: mul.d $f18,$f18,$f16
744: l.d $f16,TwoForty
745: mul.d $f18,$f18,$f16
746: l.d $f16,One
747: c.lt.d $f18,$f16; bc1f L.120
748: li $30,1
749: b L.121
750: L.120:
751: move $30,$0
752: L.121:
753: move $5,$30
754: la $6,L.119
755: jal TstCond # int
756: li $25,30
757: sw $25,Milestone
758: l.d $f18,Four
759: l.d $f16,Three
760: div.d $f10,$f18,$f16
761: l.d $f8,One
762: sub.d $f10,$f10,$f8
763: div.d $f18,$f8,$f18
764: sub.d $f10,$f10,$f18
765: mul.d $f16,$f10,$f16
766: sub.d $f12,$f16,$f18
767: jal fabs # real
768: s.d $f0,X
769: L.122:
770: l.d $f18,X
771: s.d $f18,Z2
772: l.d $f18,One
773: l.d $f16,Half
774: l.d $f10,Z2
775: mul.d $f16,$f16,$f10
776: l.d $f8,ThirtyTwo
777: mul.d $f8,$f8,$f10
778: mul.d $f10,$f8,$f10
779: add.d $f16,$f16,$f10
780: add.d $f16,$f18,$f16
781: sub.d $f18,$f16,$f18
782: s.d $f18,X
783: L.123:
784: l.d $f18,Z2
785: l.d $f16,X
786: c.le.d $f18,$f16; bc1t L.125
787: l.d $f18,Zero
788: c.le.d $f16,$f18; bc1f L.122
789: L.125:
790: l.d $f18,Three
791: l.d $f16,Four
792: div.d $f10,$f18,$f16
793: l.d $f8,Two
794: div.d $f8,$f8,$f18
795: sub.d $f10,$f10,$f8
796: mul.d $f18,$f10,$f18
797: l.d $f10,One
798: div.d $f16,$f10,$f16
799: sub.d $f12,$f18,$f16
800: jal fabs # real
801: s.d $f0,Z
802: s.d $f0,Y
803: s.d $f0,X
804: L.126:
805: l.d $f18,Z
806: s.d $f18,Z1
807: l.d $f18,One
808: l.d $f16,Two
809: div.d $f18,$f18,$f16
810: l.d $f16,Half
811: l.d $f10,Z1
812: mul.d $f16,$f16,$f10
813: l.d $f8,ThirtyTwo
814: mul.d $f8,$f8,$f10
815: mul.d $f10,$f8,$f10
816: add.d $f16,$f16,$f10
817: sub.d $f16,$f18,$f16
818: add.d $f16,$f16,$f18
819: sub.d $f16,$f18,$f16
820: add.d $f18,$f16,$f18
821: s.d $f18,Z
822: L.127:
823: l.d $f18,Z1
824: l.d $f16,Z
825: c.le.d $f18,$f16; bc1t L.129
826: l.d $f18,Zero
827: c.le.d $f16,$f18; bc1f L.126
828: L.129:
829: L.130:
830: L.133:
831: l.d $f18,Y
832: s.d $f18,Y1
833: l.d $f18,Half
834: l.d $f16,Y1
835: mul.d $f10,$f18,$f16
836: l.d $f8,ThirtyTwo
837: mul.d $f8,$f8,$f16
838: mul.d $f16,$f8,$f16
839: add.d $f16,$f10,$f16
840: sub.d $f16,$f18,$f16
841: add.d $f16,$f16,$f18
842: sub.d $f16,$f18,$f16
843: add.d $f18,$f16,$f18
844: s.d $f18,Y
845: L.134:
846: l.d $f18,Y1
847: l.d $f16,Y
848: c.le.d $f18,$f16; bc1t L.136
849: l.d $f18,Zero
850: c.le.d $f16,$f18; bc1f L.133
851: L.136:
852: l.d $f18,X
853: s.d $f18,X1
854: l.d $f18,Half
855: l.d $f16,X1
856: mul.d $f18,$f18,$f16
857: l.d $f10,ThirtyTwo
858: mul.d $f10,$f10,$f16
859: mul.d $f16,$f10,$f16
860: add.d $f18,$f18,$f16
861: l.d $f16,F9
862: sub.d $f18,$f18,$f16
863: add.d $f18,$f18,$f16
864: s.d $f18,X
865: L.131:
866: l.d $f18,X1
867: l.d $f16,X
868: c.le.d $f18,$f16; bc1t L.137
869: l.d $f18,Zero
870: c.le.d $f16,$f18; bc1f L.130
871: L.137:
872: l.d $f18,X1
873: l.d $f16,Y1
874: c.eq.d $f18,$f16; bc1f L.140
875: l.d $f16,Z1
876: c.eq.d $f18,$f16; bc1t L.138
877: L.140:
878: li $4,1
879: la $5,L.141
880: jal BadCond # int
881: la $4,L.142
882: l.d $f18,X1
883: mfc1.d $6,$f18
884: l.d $f18,Y1
885: s.d $f18,16($sp)
886: l.d $f18,Z1
887: s.d $f18,24($sp)
888: jal printf # int
889: la $4,L.143
890: jal printf # int
891: la $4,L.144
892: jal printf # int
893: la $4,L.145
894: jal notify # int
895: l.d $f18,X1
896: l.d $f16,U1
897: c.eq.d $f18,$f16; bc1t L.149
898: l.d $f18,Y1
899: c.eq.d $f18,$f16; bc1t L.149
900: l.d $f18,Z1
901: c.eq.d $f18,$f16; bc1f L.139
902: L.149:
903: la $4,L.150
904: jal printf # int
905: b L.139
906: L.138:
907: l.d $f18,Z1
908: l.d $f16,U1
909: c.eq.d $f18,$f16; bc1f L.153
910: l.d $f18,Z2
911: l.d $f16,U2
912: c.eq.d $f18,$f16; bc1t L.151
913: L.153:
914: l.d $f18,Z1
915: l.d $f16,U1
916: c.lt.d $f18,$f16; bc1f L.156
917: l.d $f18,Z2
918: l.d $f16,U2
919: c.lt.d $f18,$f16; bc1t L.154
920: L.156:
921: move $4,$0
922: la $5,L.157
923: jal BadCond # int
924: la $4,L.158
925: jal notify # int
926: la $4,L.159
927: l.d $f18,U1
928: mfc1.d $6,$f18
929: l.d $f16,Z1
930: sub.d $f18,$f16,$f18
931: s.d $f18,16($sp)
932: jal printf # int
933: la $4,L.160
934: l.d $f18,U2
935: mfc1.d $6,$f18
936: l.d $f16,Z2
937: sub.d $f18,$f16,$f18
938: s.d $f18,16($sp)
939: jal printf # int
940: b L.155
941: L.154:
942: l.d $f18,Z1
943: l.d $f16,Zero
944: c.le.d $f18,$f16; bc1t L.163
945: l.d $f18,Z2
946: c.le.d $f18,$f16; bc1f L.161
947: L.163:
948: la $4,L.164
949: l.d $f18,Radix
950: mfc1.d $6,$f18
951: jal printf # int
952: la $4,L.165
953: jal printf # int
954: la $4,L.166
955: l.d $f18,Z1
956: mfc1.d $6,$f18
957: l.d $f18,Z2
958: s.d $f18,16($sp)
959: jal printf # int
960: la $4,L.167
961: jal notify # int
962: L.161:
963: l.d $f18,Z1
964: l.d $f16,Z2
965: c.eq.d $f18,$f16; bc1f L.170
966: l.d $f16,Zero
967: c.le.d $f18,$f16; bc1t L.168
968: L.170:
969: l.d $f18,Z1
970: l.d $f16,U1
971: div.d $f18,$f18,$f16
972: s.d $f18,X
973: l.d $f18,Z2
974: l.d $f16,U2
975: div.d $f18,$f18,$f16
976: s.d $f18,Y
977: l.d $f18,Y
978: l.d $f16,X
979: c.le.d $f18,$f16; bc1t L.171
980: l.d $f18,Y
981: s.d $f18,X
982: L.171:
983: l.d $f12,X
984: jal log # real
985: neg.d $f18,$f0
986: s.d $f18,Q
987: la $4,L.173
988: jal printf # int
989: l.d $f12,Radix
990: jal log # real
991: la $4,L.174
992: l.d $f18,Q
993: div.d $f18,$f18,$f0
994: mfc1.d $6,$f18
995: jal printf # int
996: l.d $f12,L.93
997: jal log # real
998: la $4,L.175
999: l.d $f18,Q
1000: div.d $f18,$f18,$f0
1001: mfc1.d $6,$f18
1002: jal printf # int
1003: L.168:
1004: la $4,L.150
1005: jal printf # int
1006: L.155:
1007: L.151:
1008: L.139:
1009: jal Pause # int
1010: li $25,35
1011: sw $25,Milestone
1012: l.d $f18,Radix
1013: l.d $f16,Two
1014: c.lt.d $f18,$f16; bc1t L.176
1015: l.d $f18,W
1016: l.d $f16,Radix
1017: mul.d $f16,$f16,$f16
1018: div.d $f18,$f18,$f16
1019: s.d $f18,X
1020: l.d $f18,X
1021: l.d $f16,One
1022: add.d $f16,$f18,$f16
1023: s.d $f16,Y
1024: l.d $f16,Y
1025: sub.d $f18,$f16,$f18
1026: s.d $f18,Z
1027: l.d $f18,Z
1028: l.d $f16,U2
1029: add.d $f16,$f18,$f16
1030: s.d $f16,T
1031: l.d $f16,T
1032: sub.d $f18,$f16,$f18
1033: s.d $f18,X
1034: move $4,$0
1035: l.d $f18,X
1036: l.d $f16,U2
1037: c.eq.d $f18,$f16; bc1f L.180
1038: li $30,1
1039: b L.181
1040: L.180:
1041: move $30,$0
1042: L.181:
1043: move $5,$30
1044: la $6,L.179
1045: jal TstCond # int
1046: l.d $f18,X
1047: l.d $f16,U2
1048: c.eq.d $f18,$f16; bc1f L.182
1049: la $4,L.184
1050: jal printf # int
1051: L.182:
1052: L.176:
1053: la $4,L.185
1054: jal printf # int
1055: l.d $f18,F9
1056: l.d $f16,One
1057: mul.d $f10,$f18,$f16
1058: s.d $f10,Y
1059: mul.d $f10,$f16,$f18
1060: s.d $f10,Z
1061: l.d $f10,Half
1062: sub.d $f18,$f18,$f10
1063: s.d $f18,X
1064: l.d $f18,Y
1065: sub.d $f18,$f18,$f10
1066: l.d $f8,X
1067: sub.d $f18,$f18,$f8
1068: s.d $f18,Y
1069: l.d $f18,Z
1070: sub.d $f18,$f18,$f10
1071: sub.d $f18,$f18,$f8
1072: s.d $f18,Z
1073: l.d $f18,U2
1074: add.d $f10,$f16,$f18
1075: s.d $f10,X
1076: l.d $f10,X
1077: l.d $f8,Radix
1078: mul.d $f6,$f10,$f8
1079: s.d $f6,T
1080: mul.d $f10,$f8,$f10
1081: s.d $f10,R
1082: l.d $f10,T
1083: sub.d $f10,$f10,$f8
1084: s.d $f10,X
1085: l.d $f10,X
1086: mul.d $f18,$f8,$f18
1087: sub.d $f10,$f10,$f18
1088: s.d $f10,X
1089: l.d $f10,R
1090: sub.d $f10,$f10,$f8
1091: s.d $f10,T
1092: l.d $f10,T
1093: sub.d $f18,$f10,$f18
1094: s.d $f18,T
1095: l.d $f18,X
1096: sub.d $f16,$f8,$f16
1097: mul.d $f18,$f18,$f16
1098: s.d $f18,X
1099: l.d $f18,T
1100: mul.d $f18,$f18,$f16
1101: s.d $f18,T
1102: l.d $f18,X
1103: l.d $f16,Zero
1104: c.eq.d $f18,$f16; bc1f L.186
1105: l.d $f18,Y
1106: c.eq.d $f18,$f16; bc1f L.186
1107: l.d $f18,Z
1108: c.eq.d $f18,$f16; bc1f L.186
1109: l.d $f18,T
1110: c.eq.d $f18,$f16; bc1f L.186
1111: li $25,1
1112: sw $25,GMult
1113: b L.187
1114: L.186:
1115: sw $0,GMult
1116: li $4,1
1117: move $5,$0
1118: la $6,L.188
1119: jal TstCond # int
1120: L.187:
1121: l.d $f18,Radix
1122: l.d $f16,U2
1123: mul.d $f18,$f18,$f16
1124: s.d $f18,Z
1125: l.d $f18,One
1126: l.d $f16,Z
1127: add.d $f18,$f18,$f16
1128: s.d $f18,X
1129: l.d $f18,X
1130: add.d $f16,$f18,$f16
1131: mul.d $f18,$f18,$f18
1132: sub.d $f12,$f16,$f18
1133: jal fabs # real
1134: l.d $f18,U2
1135: sub.d $f16,$f0,$f18
1136: s.d $f16,Y
1137: l.d $f16,One
1138: sub.d $f16,$f16,$f18
1139: s.d $f16,X
1140: l.d $f16,X
1141: sub.d $f18,$f16,$f18
1142: mul.d $f16,$f16,$f16
1143: sub.d $f12,$f18,$f16
1144: jal fabs # real
1145: l.d $f18,U1
1146: sub.d $f18,$f0,$f18
1147: s.d $f18,Z
1148: move $4,$0
1149: l.d $f18,Y
1150: l.d $f16,Zero
1151: c.le.d $f18,$f16; bc1f L.191
1152: l.d $f18,Z
1153: c.le.d $f18,$f16; bc1f L.191
1154: li $30,1
1155: b L.192
1156: L.191:
1157: move $30,$0
1158: L.192:
1159: move $5,$30
1160: la $6,L.190
1161: jal TstCond # int
1162: l.d $f18,One
1163: l.d $f16,U2
1164: sub.d $f10,$f18,$f16
1165: s.d $f10,Y
1166: add.d $f16,$f18,$f16
1167: s.d $f16,X
1168: l.d $f16,Y
1169: div.d $f16,$f18,$f16
1170: s.d $f16,Z
1171: l.d $f16,Z
1172: l.d $f10,X
1173: sub.d $f16,$f16,$f10
1174: s.d $f16,Y
1175: l.d $f16,Three
1176: div.d $f18,$f18,$f16
1177: s.d $f18,X
1178: l.d $f18,Nine
1179: div.d $f16,$f16,$f18
1180: s.d $f16,Z
1181: l.d $f16,X
1182: l.d $f10,Z
1183: sub.d $f16,$f16,$f10
1184: s.d $f16,X
1185: l.d $f16,TwentySeven
1186: div.d $f18,$f18,$f16
1187: s.d $f18,T
1188: l.d $f18,T
1189: sub.d $f18,$f10,$f18
1190: s.d $f18,Z
1191: li $4,2
1192: l.d $f18,X
1193: l.d $f16,Zero
1194: c.eq.d $f18,$f16; bc1f L.195
1195: l.d $f18,Y
1196: c.eq.d $f18,$f16; bc1f L.195
1197: l.d $f18,Z
1198: c.eq.d $f18,$f16; bc1f L.195
1199: li $30,1
1200: b L.196
1201: L.195:
1202: move $30,$0
1203: L.196:
1204: move $5,$30
1205: la $6,L.194
1206: jal TstCond # int
1207: l.d $f18,F9
1208: l.d $f16,One
1209: div.d $f10,$f18,$f16
1210: s.d $f10,Y
1211: l.d $f10,Half
1212: sub.d $f18,$f18,$f10
1213: s.d $f18,X
1214: l.d $f18,Y
1215: sub.d $f18,$f18,$f10
1216: l.d $f10,X
1217: sub.d $f18,$f18,$f10
1218: s.d $f18,Y
1219: l.d $f18,U2
1220: add.d $f18,$f16,$f18
1221: s.d $f18,X
1222: l.d $f18,X
1223: div.d $f16,$f18,$f16
1224: s.d $f16,T
1225: l.d $f16,T
1226: sub.d $f18,$f16,$f18
1227: s.d $f18,X
1228: l.d $f18,X
1229: l.d $f16,Zero
1230: c.eq.d $f18,$f16; bc1f L.197
1231: l.d $f18,Y
1232: c.eq.d $f18,$f16; bc1f L.197
1233: l.d $f18,Z
1234: c.eq.d $f18,$f16; bc1f L.197
1235: li $25,1
1236: sw $25,GDiv
1237: b L.198
1238: L.197:
1239: sw $0,GDiv
1240: li $4,1
1241: move $5,$0
1242: la $6,L.199
1243: jal TstCond # int
1244: L.198:
1245: l.d $f18,One
1246: l.d $f16,U2
1247: add.d $f16,$f18,$f16
1248: div.d $f18,$f18,$f16
1249: s.d $f18,X
1250: l.d $f18,X
1251: l.d $f16,Half
1252: sub.d $f18,$f18,$f16
1253: sub.d $f18,$f18,$f16
1254: s.d $f18,Y
1255: li $4,1
1256: l.d $f18,Y
1257: l.d $f16,Zero
1258: c.lt.d $f18,$f16; bc1f L.202
1259: li $30,1
1260: b L.203
1261: L.202:
1262: move $30,$0
1263: L.203:
1264: move $5,$30
1265: la $6,L.201
1266: jal TstCond # int
1267: l.d $f18,One
1268: l.d $f16,U2
1269: sub.d $f10,$f18,$f16
1270: s.d $f10,X
1271: l.d $f10,Radix
1272: mul.d $f16,$f10,$f16
1273: add.d $f18,$f18,$f16
1274: s.d $f18,Y
1275: l.d $f18,X
1276: mul.d $f16,$f18,$f10
1277: s.d $f16,Z
1278: l.d $f16,Y
1279: mul.d $f8,$f16,$f10
1280: s.d $f8,T
1281: l.d $f8,Z
1282: div.d $f8,$f8,$f10
1283: s.d $f8,R
1284: l.d $f8,T
1285: div.d $f10,$f8,$f10
1286: s.d $f10,StickyBit
1287: l.d $f10,R
1288: sub.d $f18,$f10,$f18
1289: s.d $f18,X
1290: l.d $f18,StickyBit
1291: sub.d $f18,$f18,$f16
1292: s.d $f18,Y
1293: move $4,$0
1294: l.d $f18,X
1295: l.d $f16,Zero
1296: c.eq.d $f18,$f16; bc1f L.206
1297: l.d $f18,Y
1298: c.eq.d $f18,$f16; bc1f L.206
1299: li $30,1
1300: b L.207
1301: L.206:
1302: move $30,$0
1303: L.207:
1304: move $5,$30
1305: la $6,L.205
1306: jal TstCond # int
1307: l.d $f18,One
1308: l.d $f16,U1
1309: sub.d $f10,$f18,$f16
1310: s.d $f10,Y
1311: l.d $f10,F9
1312: sub.d $f10,$f18,$f10
1313: s.d $f10,X
1314: l.d $f10,Y
1315: sub.d $f18,$f18,$f10
1316: s.d $f18,Y
1317: l.d $f18,Radix
1318: l.d $f10,U2
1319: sub.d $f8,$f18,$f10
1320: s.d $f8,T
1321: l.d $f8,BMinusU2
1322: sub.d $f8,$f18,$f8
1323: s.d $f8,Z
1324: l.d $f8,T
1325: sub.d $f18,$f18,$f8
1326: s.d $f18,T
1327: l.d $f18,X
1328: c.eq.d $f18,$f16; bc1f L.208
1329: l.d $f18,Y
1330: c.eq.d $f18,$f16; bc1f L.208
1331: l.d $f18,Z
1332: c.eq.d $f18,$f10; bc1f L.208
1333: l.d $f18,T
1334: c.eq.d $f18,$f10; bc1f L.208
1335: li $25,1
1336: sw $25,GAddSub
1337: b L.209
1338: L.208:
1339: sw $0,GAddSub
1340: li $4,1
1341: move $5,$0
1342: la $6,L.210
1343: jal TstCond # int
1344: L.209:
1345: l.d $f18,F9
1346: l.d $f16,One
1347: c.eq.d $f18,$f16; bc1t L.211
1348: sub.d $f18,$f18,$f16
1349: l.d $f16,Zero
1350: c.lt.d $f18,$f16; bc1t L.211
1351: li $4,1
1352: la $5,L.213
1353: jal BadCond # int
1354: la $4,L.214
1355: jal printf # int
1356: la $4,L.215
1357: jal printf # int
1358: la $4,L.216
1359: jal printf # int
1360: L.211:
1361: lw $25,GMult
1362: bne $25,1,L.217
1363: lw $25,GDiv
1364: bne $25,1,L.217
1365: lw $25,GAddSub
1366: bne $25,1,L.217
1367: la $4,L.219
1368: jal printf # int
1369: L.217:
1370: li $25,40
1371: sw $25,Milestone
1372: jal Pause # int
1373: la $4,L.220
1374: jal printf # int
1375: sw $0,RMult
1376: sw $0,RDiv
1377: sw $0,RAddSub
1378: l.d $f18,Radix
1379: l.d $f16,Two
1380: div.d $f18,$f18,$f16
1381: s.d $f18,RadixD2
1382: s.d $f16,A1
1383: sw $0,Done
1384: L.221:
1385: l.d $f18,Radix
1386: s.d $f18,AInvrse
1387: L.224:
1388: l.d $f18,AInvrse
1389: s.d $f18,X
1390: l.d $f16,A1
1391: div.d $f18,$f18,$f16
1392: s.d $f18,AInvrse
1393: L.225:
1394: l.d $f12,AInvrse
1395: jal floor # real
1396: l.d $f18,AInvrse
1397: c.eq.d $f0,$f18; bc1t L.224
1398: l.d $f18,X
1399: l.d $f16,One
1400: c.eq.d $f18,$f16; bc1t L.230
1401: l.d $f18,A1
1402: l.d $f16,Three
1403: c.le.d $f18,$f16; bc1t L.228
1404: L.230:
1405: li $30,1
1406: b L.229
1407: L.228:
1408: move $30,$0
1409: L.229:
1410: sw $30,Done
1411: lw $25,Done
1412: bne $25,$0,L.231
1413: l.d $f18,Nine
1414: l.d $f16,One
1415: add.d $f18,$f18,$f16
1416: s.d $f18,A1
1417: L.231:
1418: L.222:
1419: lw $25,Done
1420: beq $25,$0,L.221
1421: l.d $f18,X
1422: l.d $f16,One
1423: c.eq.d $f18,$f16; bc1f L.233
1424: l.d $f18,Radix
1425: s.d $f18,A1
1426: L.233:
1427: l.d $f18,One
1428: l.d $f16,A1
1429: div.d $f18,$f18,$f16
1430: s.d $f18,AInvrse
1431: s.d $f16,X
1432: l.d $f18,AInvrse
1433: s.d $f18,Y
1434: sw $0,Done
1435: L.235:
1436: l.d $f18,X
1437: l.d $f16,Y
1438: mul.d $f18,$f18,$f16
1439: l.d $f16,Half
1440: sub.d $f18,$f18,$f16
1441: s.d $f18,Z
1442: move $4,$0
1443: l.d $f18,Z
1444: l.d $f16,Half
1445: c.eq.d $f18,$f16; bc1f L.240
1446: li $30,1
1447: b L.241
1448: L.240:
1449: move $30,$0
1450: L.241:
1451: move $5,$30
1452: la $6,L.239
1453: jal TstCond # int
1454: l.d $f18,X
1455: l.d $f16,Radix
1456: c.eq.d $f18,$f16; bc1f L.243
1457: li $30,1
1458: b L.244
1459: L.243:
1460: move $30,$0
1461: L.244:
1462: sw $30,Done
1463: l.d $f18,Radix
1464: s.d $f18,X
1465: l.d $f18,One
1466: l.d $f16,X
1467: div.d $f18,$f18,$f16
1468: s.d $f18,Y
1469: L.236:
1470: lw $25,Done
1471: beq $25,$0,L.235
1472: l.d $f18,One
1473: l.d $f16,U2
1474: add.d $f10,$f18,$f16
1475: s.d $f10,Y2
1476: sub.d $f18,$f18,$f16
1477: s.d $f18,Y1
1478: l.d $f18,OneAndHalf
1479: mov.d $f30,$f18
1480: sub.d $f10,$f18,$f16
1481: s.d $f10,X
1482: add.d $f10,$f18,$f16
1483: s.d $f10,Y
1484: l.d $f10,X
1485: sub.d $f8,$f10,$f16
1486: l.d $f6,Y2
1487: mul.d $f8,$f8,$f6
1488: s.d $f8,Z
1489: l.d $f8,Y
1490: l.d $f4,Y1
1491: mul.d $f18,$f8,$f4
1492: s.d $f18,T
1493: l.d $f18,Z
1494: sub.d $f18,$f18,$f10
1495: s.d $f18,Z
1496: l.d $f18,T
1497: sub.d $f18,$f18,$f10
1498: s.d $f18,T
1499: mul.d $f18,$f10,$f6
1500: s.d $f18,X
1501: add.d $f18,$f8,$f16
1502: mul.d $f18,$f18,$f4
1503: s.d $f18,Y
1504: l.d $f18,X
1505: sub.d $f18,$f18,$f30
1506: s.d $f18,X
1507: l.d $f18,Y
1508: sub.d $f18,$f18,$f30
1509: s.d $f18,Y
1510: l.d $f18,X
1511: l.d $f16,Zero
1512: c.eq.d $f18,$f16; bc1f L.245
1513: l.d $f18,Y
1514: c.eq.d $f18,$f16; bc1f L.245
1515: l.d $f18,Z
1516: c.eq.d $f18,$f16; bc1f L.245
1517: l.d $f18,T
1518: c.le.d $f18,$f16; bc1f L.245
1519: l.d $f18,OneAndHalf
1520: l.d $f16,U2
1521: add.d $f10,$f18,$f16
1522: l.d $f8,Y2
1523: mul.d $f6,$f10,$f8
1524: s.d $f6,X
1525: sub.d $f18,$f18,$f16
1526: sub.d $f6,$f18,$f16
1527: s.d $f6,Y
1528: add.d $f10,$f10,$f16
1529: s.d $f10,Z
1530: l.d $f10,Y1
1531: mul.d $f18,$f18,$f10
1532: s.d $f18,T
1533: l.d $f18,X
1534: l.d $f6,Z
1535: add.d $f4,$f6,$f16
1536: mov.d $f30,$f4
1537: sub.d $f18,$f18,$f4
1538: s.d $f18,X
1539: l.d $f18,Y
1540: mul.d $f4,$f18,$f10
1541: s.d $f4,StickyBit
1542: mul.d $f6,$f6,$f8
1543: s.d $f6,S
1544: l.d $f6,T
1545: sub.d $f6,$f6,$f18
1546: s.d $f6,T
1547: sub.d $f18,$f16,$f18
1548: l.d $f6,StickyBit
1549: add.d $f18,$f18,$f6
1550: s.d $f18,Y
1551: l.d $f18,S
1552: add.d $f6,$f30,$f16
1553: sub.d $f18,$f18,$f6
1554: s.d $f18,Z
1555: add.d $f18,$f8,$f16
1556: mul.d $f18,$f18,$f10
1557: s.d $f18,StickyBit
1558: mul.d $f18,$f8,$f10
1559: s.d $f18,Y1
1560: l.d $f18,StickyBit
1561: sub.d $f18,$f18,$f8
1562: s.d $f18,StickyBit
1563: l.d $f18,Y1
1564: l.d $f16,Half
1565: sub.d $f18,$f18,$f16
1566: s.d $f18,Y1
1567: l.d $f18,X
1568: l.d $f10,Zero
1569: c.eq.d $f18,$f10; bc1f L.247
1570: l.d $f18,Y
1571: c.eq.d $f18,$f10; bc1f L.247
1572: l.d $f18,Z
1573: c.eq.d $f18,$f10; bc1f L.247
1574: l.d $f18,T
1575: c.eq.d $f18,$f10; bc1f L.247
1576: l.d $f18,StickyBit
1577: c.eq.d $f18,$f10; bc1f L.247
1578: l.d $f18,Y1
1579: c.eq.d $f18,$f16; bc1f L.247
1580: li $25,1
1581: sw $25,RMult
1582: la $4,L.249
1583: jal printf # int
1584: b L.248
1585: L.247:
1586: l.d $f18,X
1587: l.d $f16,U2
1588: add.d $f18,$f18,$f16
1589: l.d $f10,Zero
1590: c.eq.d $f18,$f10; bc1f L.250
1591: l.d $f18,Y
1592: c.lt.d $f18,$f10; bc1f L.250
1593: l.d $f18,Z
1594: add.d $f18,$f18,$f16
1595: c.eq.d $f18,$f10; bc1f L.250
1596: l.d $f18,T
1597: c.lt.d $f18,$f10; bc1f L.250
1598: l.d $f18,StickyBit
1599: add.d $f18,$f18,$f16
1600: c.eq.d $f18,$f10; bc1f L.250
1601: l.d $f18,Y1
1602: l.d $f16,Half
1603: c.lt.d $f18,$f16; bc1f L.250
1604: li $25,2
1605: sw $25,RMult
1606: la $4,L.252
1607: jal printf # int
1608: b L.251
1609: L.250:
1610: la $4,L.253
1611: jal printf # int
1612: L.251:
1613: L.248:
1614: lw $25,RMult
1615: bne $25,1,L.246
1616: lw $25,GMult
1617: bne $25,$0,L.246
1618: la $4,L.256
1619: jal notify # int
1620: b L.246
1621: L.245:
1622: la $4,L.253
1623: jal printf # int
1624: L.246:
1625: li $25,45
1626: sw $25,Milestone
1627: l.d $f18,One
1628: l.d $f16,U2
1629: add.d $f10,$f18,$f16
1630: s.d $f10,Y2
1631: sub.d $f18,$f18,$f16
1632: s.d $f18,Y1
1633: l.d $f18,OneAndHalf
1634: add.d $f10,$f18,$f16
1635: mov.d $f30,$f10
1636: add.d $f8,$f10,$f16
1637: s.d $f8,Z
1638: l.d $f8,Z
1639: l.d $f6,Y2
1640: div.d $f4,$f8,$f6
1641: s.d $f4,X
1642: sub.d $f4,$f18,$f16
1643: sub.d $f4,$f4,$f16
1644: s.d $f4,T
1645: l.d $f4,T
1646: mov.d $f28,$f4
1647: sub.d $f10,$f4,$f16
1648: l.d $f4,Y1
1649: div.d $f10,$f10,$f4
1650: s.d $f10,Y
1651: add.d $f10,$f8,$f16
1652: div.d $f10,$f10,$f6
1653: s.d $f10,Z
1654: l.d $f10,X
1655: sub.d $f10,$f10,$f18
1656: s.d $f10,X
1657: l.d $f10,Y
1658: sub.d $f10,$f10,$f28
1659: s.d $f10,Y
1660: div.d $f10,$f28,$f4
1661: s.d $f10,T
1662: l.d $f10,Z
1663: sub.d $f10,$f10,$f30
1664: s.d $f10,Z
1665: sub.d $f18,$f16,$f18
1666: l.d $f16,T
1667: add.d $f18,$f18,$f16
1668: s.d $f18,T
1669: l.d $f18,X
1670: l.d $f16,Zero
1671: c.le.d $f18,$f16; bc1f L.257
1672: l.d $f18,Y
1673: c.le.d $f18,$f16; bc1f L.257
1674: l.d $f18,Z
1675: c.le.d $f18,$f16; bc1f L.257
1676: l.d $f18,T
1677: c.le.d $f18,$f16; bc1f L.257
1678: l.d $f18,OneAndHalf
1679: l.d $f16,Y2
1680: div.d $f10,$f18,$f16
1681: s.d $f10,X
1682: l.d $f10,U2
1683: sub.d $f8,$f18,$f10
1684: s.d $f8,Y
1685: add.d $f8,$f18,$f10
1686: s.d $f8,Z
1687: l.d $f8,X
1688: l.d $f6,Y
1689: sub.d $f8,$f8,$f6
1690: s.d $f8,X
1691: l.d $f8,Y1
1692: div.d $f4,$f18,$f8
1693: s.d $f4,T
1694: div.d $f8,$f6,$f8
1695: s.d $f8,Y
1696: l.d $f8,T
1697: l.d $f6,Z
1698: add.d $f4,$f6,$f10
1699: sub.d $f8,$f8,$f4
1700: s.d $f8,T
1701: l.d $f8,Y
1702: sub.d $f8,$f8,$f6
1703: s.d $f8,Y
1704: div.d $f8,$f6,$f16
1705: s.d $f8,Z
1706: add.d $f10,$f16,$f10
1707: div.d $f10,$f10,$f16
1708: s.d $f10,Y1
1709: l.d $f10,Z
1710: sub.d $f18,$f10,$f18
1711: s.d $f18,Z
1712: l.d $f18,Y1
1713: sub.d $f18,$f18,$f16
1714: s.d $f18,Y2
1715: l.d $f18,F9
1716: l.d $f16,U1
1717: sub.d $f16,$f18,$f16
1718: div.d $f16,$f16,$f18
1719: s.d $f16,Y1
1720: l.d $f16,X
1721: l.d $f10,Zero
1722: c.eq.d $f16,$f10; bc1f L.259
1723: l.d $f16,Y
1724: c.eq.d $f16,$f10; bc1f L.259
1725: l.d $f16,Z
1726: c.eq.d $f16,$f10; bc1f L.259
1727: l.d $f16,T
1728: c.eq.d $f16,$f10; bc1f L.259
1729: l.d $f16,Y2
1730: c.eq.d $f16,$f10; bc1f L.259
1731: c.eq.d $f16,$f10; bc1f L.259
1732: l.d $f16,Y1
1733: l.d $f10,Half
1734: sub.d $f16,$f16,$f10
1735: sub.d $f18,$f18,$f10
1736: c.eq.d $f16,$f18; bc1f L.259
1737: li $25,1
1738: sw $25,RDiv
1739: la $4,L.261
1740: jal printf # int
1741: lw $25,GDiv
1742: bne $25,$0,L.260
1743: la $4,L.264
1744: jal notify # int
1745: b L.260
1746: L.259:
1747: l.d $f18,X
1748: l.d $f16,Zero
1749: c.lt.d $f18,$f16; bc1f L.265
1750: l.d $f18,Y
1751: c.lt.d $f18,$f16; bc1f L.265
1752: l.d $f18,Z
1753: c.lt.d $f18,$f16; bc1f L.265
1754: l.d $f18,T
1755: c.lt.d $f18,$f16; bc1f L.265
1756: l.d $f18,Y2
1757: c.lt.d $f18,$f16; bc1f L.265
1758: l.d $f18,Y1
1759: l.d $f16,Half
1760: sub.d $f18,$f18,$f16
1761: l.d $f10,F9
1762: sub.d $f16,$f10,$f16
1763: c.lt.d $f18,$f16; bc1f L.265
1764: li $25,2
1765: sw $25,RDiv
1766: la $4,L.267
1767: jal printf # int
1768: L.265:
1769: L.260:
1770: L.257:
1771: lw $25,RDiv
1772: bne $25,$0,L.268
1773: la $4,L.270
1774: jal printf # int
1775: L.268:
1776: l.d $f18,One
1777: l.d $f16,Radix
1778: div.d $f18,$f18,$f16
1779: s.d $f18,BInvrse
1780: move $4,$0
1781: l.d $f18,BInvrse
1782: l.d $f16,Radix
1783: mul.d $f18,$f18,$f16
1784: l.d $f16,Half
1785: sub.d $f18,$f18,$f16
1786: c.eq.d $f18,$f16; bc1f L.273
1787: li $30,1
1788: b L.274
1789: L.273:
1790: move $30,$0
1791: L.274:
1792: move $5,$30
1793: la $6,L.272
1794: jal TstCond # int
1795: li $25,50
1796: sw $25,Milestone
1797: move $4,$0
1798: l.d $f18,F9
1799: l.d $f16,U1
1800: add.d $f18,$f18,$f16
1801: l.d $f16,Half
1802: sub.d $f18,$f18,$f16
1803: c.eq.d $f18,$f16; bc1f L.277
1804: l.d $f18,BMinusU2
1805: l.d $f16,U2
1806: add.d $f18,$f18,$f16
1807: l.d $f16,One
1808: sub.d $f18,$f18,$f16
1809: l.d $f10,Radix
1810: sub.d $f16,$f10,$f16
1811: c.eq.d $f18,$f16; bc1f L.277
1812: li $30,1
1813: b L.278
1814: L.277:
1815: move $30,$0
1816: L.278:
1817: move $5,$30
1818: la $6,L.276
1819: jal TstCond # int
1820: l.d $f18,One
1821: l.d $f16,U1
1822: mul.d $f16,$f16,$f16
1823: sub.d $f16,$f18,$f16
1824: s.d $f16,X
1825: l.d $f16,U2
1826: sub.d $f10,$f18,$f16
1827: mul.d $f16,$f16,$f10
1828: add.d $f16,$f18,$f16
1829: s.d $f16,Y
1830: l.d $f16,F9
1831: l.d $f10,Half
1832: sub.d $f16,$f16,$f10
1833: s.d $f16,Z
1834: l.d $f16,X
1835: sub.d $f16,$f16,$f10
1836: l.d $f10,Z
1837: sub.d $f16,$f16,$f10
1838: s.d $f16,X
1839: l.d $f16,Y
1840: sub.d $f18,$f16,$f18
1841: s.d $f18,Y
1842: l.d $f18,X
1843: l.d $f16,Zero
1844: c.eq.d $f18,$f16; bc1f L.279
1845: l.d $f18,Y
1846: c.eq.d $f18,$f16; bc1f L.279
1847: li $25,2
1848: sw $25,RAddSub
1849: la $4,L.281
1850: jal printf # int
1851: L.279:
1852: lw $25,GAddSub
1853: bne $25,1,L.282
1854: l.d $f18,Half
1855: l.d $f16,U2
1856: add.d $f10,$f18,$f16
1857: mul.d $f10,$f10,$f16
1858: s.d $f10,X
1859: sub.d $f18,$f18,$f16
1860: mul.d $f18,$f18,$f16
1861: s.d $f18,Y
1862: l.d $f18,One
1863: l.d $f10,X
1864: add.d $f10,$f18,$f10
1865: s.d $f10,X
1866: l.d $f10,Y
1867: add.d $f10,$f18,$f10
1868: s.d $f10,Y
1869: add.d $f16,$f18,$f16
1870: l.d $f10,X
1871: sub.d $f16,$f16,$f10
1872: s.d $f16,X
1873: l.d $f16,Y
1874: sub.d $f18,$f18,$f16
1875: s.d $f18,Y
1876: l.d $f18,X
1877: l.d $f16,Zero
1878: c.eq.d $f18,$f16; bc1f L.284
1879: l.d $f18,Y
1880: c.eq.d $f18,$f16; bc1f L.284
1881: l.d $f18,Half
1882: l.d $f16,U2
1883: add.d $f10,$f18,$f16
1884: l.d $f8,U1
1885: mul.d $f10,$f10,$f8
1886: s.d $f10,X
1887: sub.d $f18,$f18,$f16
1888: mul.d $f18,$f18,$f8
1889: s.d $f18,Y
1890: l.d $f18,One
1891: l.d $f16,X
1892: sub.d $f16,$f18,$f16
1893: s.d $f16,X
1894: l.d $f16,Y
1895: sub.d $f16,$f18,$f16
1896: s.d $f16,Y
1897: l.d $f16,F9
1898: l.d $f10,X
1899: sub.d $f16,$f16,$f10
1900: s.d $f16,X
1901: l.d $f16,Y
1902: sub.d $f18,$f18,$f16
1903: s.d $f18,Y
1904: l.d $f18,X
1905: l.d $f16,Zero
1906: c.eq.d $f18,$f16; bc1f L.286
1907: l.d $f18,Y
1908: c.eq.d $f18,$f16; bc1f L.286
1909: li $25,1
1910: sw $25,RAddSub
1911: la $4,L.288
1912: jal printf # int
1913: lw $25,GAddSub
1914: bne $25,$0,L.283
1915: la $4,L.291
1916: jal notify # int
1917: b L.283
1918: L.286:
1919: la $4,L.292
1920: jal printf # int
1921: b L.283
1922: L.284:
1923: la $4,L.292
1924: jal printf # int
1925: b L.283
1926: L.282:
1927: la $4,L.292
1928: jal printf # int
1929: L.283:
1930: l.d $f18,One
1931: s.d $f18,S
1932: l.d $f16,Half
1933: add.d $f10,$f18,$f16
1934: mul.d $f10,$f16,$f10
1935: add.d $f10,$f18,$f10
1936: s.d $f10,X
1937: l.d $f10,U2
1938: add.d $f18,$f18,$f10
1939: mul.d $f18,$f18,$f16
1940: s.d $f18,Y
1941: l.d $f18,X
1942: l.d $f16,Y
1943: sub.d $f10,$f18,$f16
1944: s.d $f10,Z
1945: sub.d $f18,$f16,$f18
1946: s.d $f18,T
1947: l.d $f18,Z
1948: l.d $f16,T
1949: add.d $f18,$f18,$f16
1950: s.d $f18,StickyBit
1951: l.d $f18,StickyBit
1952: l.d $f16,Zero
1953: c.eq.d $f18,$f16; bc1t L.293
1954: l.d $f18,Zero
1955: s.d $f18,S
1956: li $4,3
1957: la $5,L.295
1958: jal BadCond # int
1959: L.293:
1960: l.d $f18,Zero
1961: s.d $f18,StickyBit
1962: lw $25,GMult
1963: bne $25,1,L.296
1964: lw $25,GDiv
1965: bne $25,1,L.296
1966: lw $25,GAddSub
1967: bne $25,1,L.296
1968: lw $25,RMult
1969: bne $25,1,L.296
1970: lw $25,RDiv
1971: bne $25,1,L.296
1972: lw $25,RAddSub
1973: bne $25,1,L.296
1974: l.d $f12,RadixD2
1975: jal floor # real
1976: l.d $f18,RadixD2
1977: c.eq.d $f0,$f18; bc1f L.296
1978: la $4,L.298
1979: jal printf # int
1980: l.d $f18,Half
1981: l.d $f16,U1
1982: add.d $f16,$f18,$f16
1983: l.d $f10,U2
1984: mul.d $f16,$f16,$f10
1985: s.d $f16,X
1986: mul.d $f18,$f18,$f10
1987: s.d $f18,Y
1988: l.d $f18,One
1989: l.d $f16,Y
1990: add.d $f16,$f18,$f16
1991: s.d $f16,Z
1992: l.d $f16,X
1993: add.d $f16,$f18,$f16
1994: s.d $f16,T
1995: l.d $f16,Z
1996: sub.d $f16,$f16,$f18
1997: l.d $f8,Zero
1998: c.le.d $f16,$f8; bc1f L.299
1999: l.d $f16,T
2000: sub.d $f18,$f16,$f18
2001: c.lt.d $f18,$f10; bc1t L.299
2002: l.d $f18,T
2003: l.d $f16,Y
2004: add.d $f16,$f18,$f16
2005: s.d $f16,Z
2006: l.d $f16,Z
2007: l.d $f10,X
2008: sub.d $f10,$f16,$f10
2009: s.d $f10,Y
2010: sub.d $f16,$f16,$f18
2011: l.d $f10,U2
2012: c.lt.d $f16,$f10; bc1t L.301
2013: l.d $f16,Y
2014: sub.d $f18,$f16,$f18
2015: l.d $f16,Zero
2016: c.eq.d $f18,$f16; bc1f L.301
2017: l.d $f18,Half
2018: l.d $f16,U1
2019: add.d $f10,$f18,$f16
2020: mul.d $f10,$f10,$f16
2021: s.d $f10,X
2022: mul.d $f18,$f18,$f16
2023: s.d $f18,Y
2024: l.d $f18,One
2025: l.d $f16,Y
2026: sub.d $f16,$f18,$f16
2027: s.d $f16,Z
2028: l.d $f16,X
2029: sub.d $f16,$f18,$f16
2030: s.d $f16,T
2031: l.d $f16,Z
2032: sub.d $f18,$f16,$f18
2033: l.d $f16,Zero
2034: c.eq.d $f18,$f16; bc1f L.303
2035: l.d $f18,T
2036: l.d $f10,F9
2037: sub.d $f18,$f18,$f10
2038: c.eq.d $f18,$f16; bc1f L.303
2039: l.d $f18,Half
2040: l.d $f16,U1
2041: sub.d $f18,$f18,$f16
2042: mul.d $f18,$f18,$f16
2043: s.d $f18,Z
2044: l.d $f18,F9
2045: l.d $f10,Z
2046: sub.d $f10,$f18,$f10
2047: s.d $f10,T
2048: l.d $f10,Y
2049: sub.d $f10,$f18,$f10
2050: s.d $f10,Q
2051: l.d $f10,T
2052: sub.d $f10,$f10,$f18
2053: l.d $f8,Zero
2054: c.eq.d $f10,$f8; bc1f L.305
2055: sub.d $f18,$f18,$f16
2056: l.d $f16,Q
2057: sub.d $f18,$f18,$f16
2058: c.eq.d $f18,$f8; bc1f L.305
2059: l.d $f18,One
2060: l.d $f16,U2
2061: add.d $f10,$f18,$f16
2062: l.d $f8,OneAndHalf
2063: mul.d $f10,$f10,$f8
2064: s.d $f10,Z
2065: add.d $f10,$f8,$f16
2066: l.d $f8,Z
2067: sub.d $f10,$f10,$f8
2068: add.d $f10,$f10,$f16
2069: s.d $f10,T
2070: l.d $f10,Half
2071: l.d $f8,Radix
2072: div.d $f10,$f10,$f8
2073: add.d $f10,$f18,$f10
2074: s.d $f10,X
2075: mul.d $f16,$f8,$f16
2076: add.d $f18,$f18,$f16
2077: s.d $f18,Y
2078: l.d $f18,X
2079: l.d $f10,Y
2080: mul.d $f10,$f18,$f10
2081: s.d $f10,Z
2082: l.d $f10,T
2083: l.d $f8,Zero
2084: c.eq.d $f10,$f8; bc1f L.307
2085: add.d $f18,$f18,$f16
2086: l.d $f16,Z
2087: sub.d $f18,$f18,$f16
2088: c.eq.d $f18,$f8; bc1f L.307
2089: l.d $f18,Radix
2090: l.d $f16,Two
2091: c.eq.d $f18,$f16; bc1t L.309
2092: l.d $f18,Two
2093: l.d $f16,U2
2094: add.d $f16,$f18,$f16
2095: s.d $f16,X
2096: l.d $f16,X
2097: div.d $f18,$f16,$f18
2098: s.d $f18,Y
2099: l.d $f18,Y
2100: l.d $f16,One
2101: sub.d $f18,$f18,$f16
2102: l.d $f16,Zero
2103: c.eq.d $f18,$f16; bc1f L.310
2104: l.d $f18,S
2105: s.d $f18,StickyBit
2106: b L.310
2107: L.309:
2108: l.d $f18,S
2109: s.d $f18,StickyBit
2110: L.310:
2111: L.307:
2112: L.305:
2113: L.303:
2114: L.301:
2115: L.299:
2116: L.296:
2117: l.d $f18,StickyBit
2118: l.d $f16,One
2119: c.eq.d $f18,$f16; bc1f L.313
2120: la $4,L.315
2121: jal printf # int
2122: b L.314
2123: L.313:
2124: la $4,L.316
2125: jal printf # int
2126: L.314:
2127: li $4,3
2128: lw $25,GMult
2129: beq $25,$0,L.319
2130: lw $25,GDiv
2131: beq $25,$0,L.319
2132: lw $25,GAddSub
2133: beq $25,$0,L.319
2134: lw $25,RMult
2135: beq $25,$0,L.319
2136: lw $25,RDiv
2137: beq $25,$0,L.319
2138: lw $25,RAddSub
2139: beq $25,$0,L.319
2140: li $30,1
2141: b L.320
2142: L.319:
2143: move $30,$0
2144: L.320:
2145: move $5,$30
2146: la $6,L.318
2147: jal TstCond # int
2148: li $25,60
2149: sw $25,Milestone
2150: la $4,L.44
2151: jal printf # int
2152: la $4,L.321
2153: jal printf # int
2154: la $4,L.322
2155: lw $5,NoTrials
2156: jal printf # int
2157: l.d $f12,L.323
2158: jal sqrt # real
2159: s.d $f0,Random9
2160: l.d $f18,Third
2161: s.d $f18,Random1
2162: li $25,1
2163: sw $25,I
2164: L.324:
2165: jal Random # real
2166: s.d $f0,X
2167: jal Random # real
2168: s.d $f0,Y
2169: l.d $f18,Y
2170: l.d $f16,X
2171: mul.d $f10,$f18,$f16
2172: s.d $f10,Z9
2173: mul.d $f18,$f16,$f18
2174: s.d $f18,Z
2175: l.d $f18,Z
2176: l.d $f16,Z9
2177: sub.d $f18,$f18,$f16
2178: s.d $f18,Z9
2179: lw $25,I
2180: addu $25,$25,1
2181: sw $25,I
2182: L.325:
2183: lw $25,I
2184: lw $24,NoTrials
2185: bgt $25,$24,L.327
2186: l.d $f18,Z9
2187: l.d $f16,Zero
2188: c.eq.d $f18,$f16; bc1t L.324
2189: L.327:
2190: lw $25,I
2191: lw $24,NoTrials
2192: bne $25,$24,L.328
2193: l.d $f18,One
2194: l.d $f16,Half
2195: l.d $f10,Three
2196: div.d $f16,$f16,$f10
2197: add.d $f16,$f18,$f16
2198: s.d $f16,Random1
2199: l.d $f10,U2
2200: l.d $f8,U1
2201: add.d $f10,$f10,$f8
2202: add.d $f18,$f10,$f18
2203: s.d $f18,Random2
2204: l.d $f10,Random1
2205: l.d $f8,Random2
2206: mul.d $f6,$f10,$f8
2207: s.d $f6,Z
2208: mul.d $f10,$f8,$f10
2209: s.d $f10,Y
2210: mul.d $f18,$f16,$f18
2211: sub.d $f18,$f18,$f18
2212: s.d $f18,Z9
2213: L.328:
2214: lw $25,I
2215: lw $24,NoTrials
2216: beq $25,$24,L.330
2217: l.d $f18,Z9
2218: l.d $f16,Zero
2219: c.eq.d $f18,$f16; bc1t L.330
2220: li $4,2
2221: la $5,L.332
2222: jal BadCond # int
2223: b L.331
2224: L.330:
2225: la $4,L.333
2226: lw $5,NoTrials
2227: jal printf # int
2228: L.331:
2229: li $25,70
2230: sw $25,Milestone
2231: la $4,L.334
2232: jal printf # int
2233: l.d $f18,Zero
2234: mov.d $f30,$f18
2235: mov.d $f12,$f18
2236: jal sqrt # real
2237: c.eq.d $f30,$f0; bc1f L.337
2238: l.d $f18,Zero
2239: neg.d $f18,$f18
2240: mov.d $f28,$f18
2241: mov.d $f12,$f18
2242: jal sqrt # real
2243: c.eq.d $f28,$f0; bc1f L.337
2244: l.d $f18,One
2245: mov.d $f26,$f18
2246: mov.d $f12,$f18
2247: jal sqrt # real
2248: c.eq.d $f26,$f0; bc1f L.337
2249: li $30,1
2250: b L.338
2251: L.337:
2252: move $30,$0
2253: L.338:
2254: move $4,$0
2255: move $5,$30
2256: la $6,L.336
2257: jal TstCond # int
2258: l.d $f18,Zero
2259: s.d $f18,MinSqEr
2260: s.d $f18,MaxSqEr
2261: s.d $f18,J
2262: l.d $f18,Radix
2263: s.d $f18,X
2264: l.d $f18,U2
2265: s.d $f18,OneUlp
2266: li $4,1
2267: jal SqXMinX # int
2268: l.d $f18,BInvrse
2269: s.d $f18,X
2270: l.d $f16,U1
2271: mul.d $f18,$f18,$f16
2272: s.d $f18,OneUlp
2273: li $4,1
2274: jal SqXMinX # int
2275: l.d $f18,U1
2276: s.d $f18,X
2277: mul.d $f18,$f18,$f18
2278: s.d $f18,OneUlp
2279: li $4,1
2280: jal SqXMinX # int
2281: l.d $f18,J
2282: l.d $f16,Zero
2283: c.eq.d $f18,$f16; bc1t L.339
2284: jal Pause # int
2285: L.339:
2286: la $4,L.341
2287: lw $5,NoTrials
2288: jal printf # int
2289: l.d $f18,Zero
2290: s.d $f18,J
2291: l.d $f18,Two
2292: s.d $f18,X
2293: l.d $f18,Radix
2294: s.d $f18,Y
2295: l.d $f16,One
2296: c.eq.d $f18,$f16; bc1t L.342
2297: L.344:
2298: l.d $f18,Y
2299: s.d $f18,X
2300: l.d $f16,Radix
2301: mul.d $f18,$f16,$f18
2302: s.d $f18,Y
2303: L.345:
2304: l.d $f18,Y
2305: l.d $f16,X
2306: sub.d $f18,$f18,$f16
2307: lw $25,NoTrials
2308: mtc1 $25,$f16; cvt.d.w $f16,$f16
2309: c.lt.d $f18,$f16; bc1t L.344
2310: L.342:
2311: l.d $f18,X
2312: l.d $f16,U2
2313: mul.d $f18,$f18,$f16
2314: s.d $f18,OneUlp
2315: li $25,1
2316: sw $25,I
2317: b L.348
2318: L.347:
2319: l.d $f18,X
2320: l.d $f16,One
2321: add.d $f18,$f18,$f16
2322: s.d $f18,X
2323: li $4,2
2324: jal SqXMinX # int
2325: l.d $f18,J
2326: l.d $f16,Zero
2327: c.le.d $f18,$f16; bc1t L.350
2328: b L.349
2329: L.350:
2330: lw $25,I
2331: addu $25,$25,1
2332: sw $25,I
2333: L.348:
2334: lw $25,I
2335: lw $24,NoTrials
2336: ble $25,$24,L.347
2337: L.349:
2338: la $4,L.352
2339: jal printf # int
2340: li $25,-1
2341: sw $25,I
2342: l.d $f18,BMinusU2
2343: s.d $f18,X
2344: l.d $f18,Radix
2345: s.d $f18,Y
2346: l.d $f16,U2
2347: mul.d $f16,$f18,$f16
2348: add.d $f18,$f18,$f16
2349: s.d $f18,Z
2350: sw $0,NotMonot
2351: sw $0,Monot
2352: b L.354
2353: L.353:
2354: lw $25,I
2355: addu $25,$25,1
2356: sw $25,I
2357: l.d $f12,X
2358: jal sqrt # real
2359: s.d $f0,X
2360: l.d $f12,Y
2361: jal sqrt # real
2362: s.d $f0,Q
2363: l.d $f12,Z
2364: jal sqrt # real
2365: s.d $f0,Z
2366: l.d $f18,X
2367: l.d $f16,Q
2368: c.le.d $f18,$f16; bc1f L.358
2369: l.d $f18,Z
2370: c.le.d $f16,$f18; bc1t L.356
2371: L.358:
2372: li $25,1
2373: sw $25,NotMonot
2374: b L.357
2375: L.356:
2376: l.d $f18,Q
2377: l.d $f16,Half
2378: add.d $f12,$f18,$f16
2379: jal floor # real
2380: s.d $f0,Q
2381: lw $25,I
2382: bgt $25,$0,L.361
2383: l.d $f18,Radix
2384: l.d $f16,Q
2385: mul.d $f16,$f16,$f16
2386: c.eq.d $f18,$f16; bc1f L.359
2387: L.361:
2388: li $25,1
2389: sw $25,Monot
2390: b L.360
2391: L.359:
2392: lw $25,I
2393: ble $25,$0,L.362
2394: lw $25,I
2395: ble $25,1,L.364
2396: li $25,1
2397: sw $25,Monot
2398: b L.363
2399: L.364:
2400: l.d $f18,Y
2401: l.d $f16,BInvrse
2402: mul.d $f18,$f18,$f16
2403: s.d $f18,Y
2404: l.d $f18,Y
2405: l.d $f16,U1
2406: sub.d $f10,$f18,$f16
2407: s.d $f10,X
2408: add.d $f18,$f18,$f16
2409: s.d $f18,Z
2410: b L.363
2411: L.362:
2412: l.d $f18,Q
2413: s.d $f18,Y
2414: l.d $f18,Y
2415: l.d $f16,U2
2416: sub.d $f10,$f18,$f16
2417: s.d $f10,X
2418: add.d $f18,$f18,$f16
2419: s.d $f18,Z
2420: L.363:
2421: L.360:
2422: L.357:
2423: L.354:
2424: lw $25,NotMonot
2425: bne $25,$0,L.366
2426: lw $25,Monot
2427: beq $25,$0,L.353
2428: L.366:
2429: lw $25,Monot
2430: beq $25,$0,L.367
2431: la $4,L.369
2432: jal printf # int
2433: b L.368
2434: L.367:
2435: li $4,2
2436: la $5,L.157
2437: jal BadCond # int
2438: la $4,L.370
2439: l.d $f18,Y
2440: mfc1.d $6,$f18
2441: jal printf # int
2442: L.368:
2443: li $25,80
2444: sw $25,Milestone
2445: l.d $f18,MinSqEr
2446: l.d $f16,Half
2447: add.d $f18,$f18,$f16
2448: s.d $f18,MinSqEr
2449: l.d $f18,MaxSqEr
2450: sub.d $f18,$f18,$f16
2451: s.d $f18,MaxSqEr
2452: l.d $f18,One
2453: l.d $f16,U2
2454: add.d $f12,$f18,$f16
2455: jal sqrt # real
2456: l.d $f18,One
2457: sub.d $f16,$f0,$f18
2458: l.d $f10,U2
2459: div.d $f16,$f16,$f10
2460: s.d $f16,Y
2461: l.d $f16,Y
2462: sub.d $f18,$f16,$f18
2463: l.d $f16,Eight
2464: div.d $f16,$f10,$f16
2465: add.d $f18,$f18,$f16
2466: s.d $f18,SqEr
2467: l.d $f18,SqEr
2468: l.d $f16,MaxSqEr
2469: c.le.d $f18,$f16; bc1t L.371
2470: l.d $f18,SqEr
2471: s.d $f18,MaxSqEr
2472: L.371:
2473: l.d $f18,Y
2474: l.d $f16,U2
2475: l.d $f10,Eight
2476: div.d $f16,$f16,$f10
2477: add.d $f18,$f18,$f16
2478: s.d $f18,SqEr
2479: l.d $f18,SqEr
2480: l.d $f16,MinSqEr
2481: c.lt.d $f18,$f16; bc1f L.373
2482: l.d $f18,SqEr
2483: s.d $f18,MinSqEr
2484: L.373:
2485: l.d $f12,F9
2486: jal sqrt # real
2487: l.d $f18,U2
2488: sub.d $f16,$f0,$f18
2489: l.d $f10,One
2490: sub.d $f18,$f10,$f18
2491: sub.d $f18,$f16,$f18
2492: l.d $f16,U1
2493: div.d $f18,$f18,$f16
2494: s.d $f18,Y
2495: l.d $f18,Y
2496: l.d $f10,Eight
2497: div.d $f16,$f16,$f10
2498: add.d $f18,$f18,$f16
2499: s.d $f18,SqEr
2500: l.d $f18,SqEr
2501: l.d $f16,MaxSqEr
2502: c.le.d $f18,$f16; bc1t L.375
2503: l.d $f18,SqEr
2504: s.d $f18,MaxSqEr
2505: L.375:
2506: l.d $f18,Y
2507: l.d $f16,One
2508: add.d $f18,$f18,$f16
2509: l.d $f16,U1
2510: l.d $f10,Eight
2511: div.d $f16,$f16,$f10
2512: add.d $f18,$f18,$f16
2513: s.d $f18,SqEr
2514: l.d $f18,SqEr
2515: l.d $f16,MinSqEr
2516: c.lt.d $f18,$f16; bc1f L.377
2517: l.d $f18,SqEr
2518: s.d $f18,MinSqEr
2519: L.377:
2520: l.d $f18,U2
2521: s.d $f18,OneUlp
2522: l.d $f18,OneUlp
2523: s.d $f18,X
2524: li $25,1
2525: sw $25,Indx
2526: L.379:
2527: l.d $f18,X
2528: l.d $f16,U1
2529: add.d $f16,$f18,$f16
2530: add.d $f18,$f16,$f18
2531: l.d $f16,F9
2532: add.d $f12,$f18,$f16
2533: jal sqrt # real
2534: s.d $f0,Y
2535: l.d $f18,Y
2536: l.d $f16,U2
2537: sub.d $f18,$f18,$f16
2538: l.d $f10,One
2539: sub.d $f16,$f10,$f16
2540: l.d $f10,X
2541: add.d $f16,$f16,$f10
2542: sub.d $f18,$f18,$f16
2543: l.d $f16,OneUlp
2544: div.d $f18,$f18,$f16
2545: s.d $f18,Y
2546: l.d $f18,U1
2547: sub.d $f18,$f18,$f10
2548: l.d $f8,F9
2549: add.d $f18,$f18,$f8
2550: l.d $f8,Half
2551: mul.d $f18,$f18,$f8
2552: mul.d $f18,$f18,$f10
2553: mul.d $f18,$f18,$f10
2554: div.d $f18,$f18,$f16
2555: s.d $f18,Z
2556: l.d $f18,Y
2557: add.d $f18,$f18,$f8
2558: l.d $f16,Z
2559: add.d $f18,$f18,$f16
2560: s.d $f18,SqEr
2561: l.d $f18,SqEr
2562: l.d $f16,MinSqEr
2563: c.lt.d $f18,$f16; bc1f L.383
2564: l.d $f18,SqEr
2565: s.d $f18,MinSqEr
2566: L.383:
2567: l.d $f18,Y
2568: l.d $f16,Half
2569: sub.d $f18,$f18,$f16
2570: l.d $f16,Z
2571: add.d $f18,$f18,$f16
2572: s.d $f18,SqEr
2573: l.d $f18,SqEr
2574: l.d $f16,MaxSqEr
2575: c.le.d $f18,$f16; bc1t L.385
2576: l.d $f18,SqEr
2577: s.d $f18,MaxSqEr
2578: L.385:
2579: lw $25,Indx
2580: beq $25,1,L.389
2581: bne $25,3,L.387
2582: L.389:
2583: l.d $f12,X
2584: jal Sign # real
2585: mov.d $f30,$f0
2586: l.d $f12,OneUlp
2587: jal sqrt # real
2588: l.d $f18,Eight
2589: l.d $f16,Nine
2590: mul.d $f16,$f16,$f0
2591: div.d $f12,$f18,$f16
2592: jal floor # real
2593: l.d $f18,OneUlp
2594: mul.d $f18,$f18,$f30
2595: mul.d $f18,$f18,$f0
2596: s.d $f18,X
2597: b L.388
2598: L.387:
2599: l.d $f18,U1
2600: s.d $f18,OneUlp
2601: l.d $f18,OneUlp
2602: neg.d $f18,$f18
2603: s.d $f18,X
2604: L.388:
2605: L.380:
2606: lw $25,Indx
2607: addu $25,$25,1
2608: sw $25,Indx
2609: lw $25,Indx
2610: ble $25,3,L.379
2611: li $25,85
2612: sw $25,Milestone
2613: sw $0,SqRWrng
2614: sw $0,Anomaly
2615: sw $0,RSqrt
2616: l.d $f18,Radix
2617: l.d $f16,One
2618: c.eq.d $f18,$f16; bc1t L.390
2619: la $4,L.392
2620: jal printf # int
2621: l.d $f18,Precision
2622: mov.d $f30,$f18
2623: mov.d $f12,$f18
2624: jal floor # real
2625: l.d $f12,Radix
2626: l.d $f18,One
2627: add.d $f18,$f18,$f30
2628: sub.d $f14,$f18,$f0
2629: jal pow # real
2630: l.d $f18,Half
2631: add.d $f12,$f18,$f0
2632: jal floor # real
2633: s.d $f0,D
2634: l.d $f18,D
2635: l.d $f16,Radix
2636: div.d $f16,$f18,$f16
2637: s.d $f16,X
2638: l.d $f16,A1
2639: div.d $f18,$f18,$f16
2640: s.d $f18,Y
2641: l.d $f18,X
2642: mov.d $f30,$f18
2643: mov.d $f12,$f18
2644: jal floor # real
2645: c.eq.d $f30,$f0; bc1f L.395
2646: l.d $f18,Y
2647: mov.d $f28,$f18
2648: mov.d $f12,$f18
2649: jal floor # real
2650: c.eq.d $f28,$f0; bc1t L.393
2651: L.395:
2652: li $25,1
2653: sw $25,Anomaly
2654: b L.394
2655: L.393:
2656: l.d $f18,Zero
2657: s.d $f18,X
2658: l.d $f18,X
2659: s.d $f18,Z2
2660: l.d $f18,One
2661: s.d $f18,Y
2662: l.d $f16,Y
2663: s.d $f16,Y2
2664: l.d $f16,Radix
2665: sub.d $f18,$f16,$f18
2666: s.d $f18,Z1
2667: l.d $f18,Four
2668: l.d $f16,D
2669: mul.d $f18,$f18,$f16
2670: s.d $f18,FourD
2671: L.396:
2672: l.d $f18,Y2
2673: l.d $f16,Z2
2674: c.le.d $f18,$f16; bc1t L.399
2675: l.d $f18,Radix
2676: s.d $f18,Q
2677: l.d $f18,Y
2678: s.d $f18,Y1
2679: L.401:
2680: l.d $f18,Half
2681: l.d $f16,Q
2682: mov.d $f30,$f16
2683: l.d $f10,Y1
2684: div.d $f10,$f16,$f10
2685: sub.d $f12,$f18,$f10
2686: jal floor # real
2687: l.d $f18,Y1
2688: mul.d $f18,$f0,$f18
2689: add.d $f12,$f30,$f18
2690: jal fabs # real
2691: s.d $f0,X1
2692: l.d $f18,Y1
2693: s.d $f18,Q
2694: l.d $f18,X1
2695: s.d $f18,Y1
2696: L.402:
2697: l.d $f18,X1
2698: l.d $f16,Zero
2699: c.le.d $f18,$f16; bc1f L.401
2700: l.d $f18,Q
2701: l.d $f16,One
2702: c.le.d $f18,$f16; bc1f L.404
2703: l.d $f18,Y2
2704: s.d $f18,Z2
2705: l.d $f18,Y
2706: s.d $f18,Z
2707: L.404:
2708: L.399:
2709: l.d $f18,Y
2710: l.d $f16,Two
2711: add.d $f18,$f18,$f16
2712: s.d $f18,Y
2713: l.d $f18,X
2714: l.d $f16,Eight
2715: add.d $f18,$f18,$f16
2716: s.d $f18,X
2717: l.d $f18,Y2
2718: l.d $f16,X
2719: add.d $f18,$f18,$f16
2720: s.d $f18,Y2
2721: l.d $f18,Y2
2722: l.d $f16,FourD
2723: c.lt.d $f18,$f16; bc1t L.406
2724: l.d $f18,Y2
2725: l.d $f16,FourD
2726: sub.d $f18,$f18,$f16
2727: s.d $f18,Y2
2728: L.406:
2729: L.397:
2730: l.d $f18,Y
2731: l.d $f16,D
2732: c.lt.d $f18,$f16; bc1t L.396
2733: l.d $f18,FourD
2734: l.d $f16,Z2
2735: sub.d $f16,$f18,$f16
2736: s.d $f16,X8
2737: l.d $f16,X8
2738: l.d $f10,Z
2739: mul.d $f10,$f10,$f10
2740: add.d $f10,$f16,$f10
2741: div.d $f18,$f10,$f18
2742: s.d $f18,Q
2743: l.d $f18,Eight
2744: div.d $f18,$f16,$f18
2745: s.d $f18,X8
2746: l.d $f18,Q
2747: mov.d $f30,$f18
2748: mov.d $f12,$f18
2749: jal floor # real
2750: c.eq.d $f30,$f0; bc1t L.408
2751: li $25,1
2752: sw $25,Anomaly
2753: b L.409
2754: L.408:
2755: sw $0,Break
2756: L.410:
2757: l.d $f18,Z1
2758: l.d $f16,Z
2759: mul.d $f18,$f18,$f16
2760: s.d $f18,X
2761: l.d $f18,X
2762: mov.d $f30,$f18
2763: l.d $f16,Radix
2764: div.d $f12,$f18,$f16
2765: jal floor # real
2766: l.d $f18,Radix
2767: mul.d $f18,$f0,$f18
2768: sub.d $f18,$f30,$f18
2769: s.d $f18,X
2770: l.d $f18,X
2771: l.d $f16,One
2772: c.eq.d $f18,$f16; bc1f L.413
2773: li $25,1
2774: sw $25,Break
2775: b L.414
2776: L.413:
2777: l.d $f18,Z1
2778: l.d $f16,One
2779: sub.d $f18,$f18,$f16
2780: s.d $f18,Z1
2781: L.414:
2782: L.411:
2783: lw $25,Break
2784: bne $25,$0,L.415
2785: l.d $f18,Z1
2786: l.d $f16,Zero
2787: c.le.d $f18,$f16; bc1f L.410
2788: L.415:
2789: l.d $f18,Z1
2790: l.d $f16,Zero
2791: c.le.d $f18,$f16; bc1f L.416
2792: lw $25,Break
2793: bne $25,$0,L.416
2794: li $25,1
2795: sw $25,Anomaly
2796: b L.417
2797: L.416:
2798: l.d $f18,Z1
2799: l.d $f16,RadixD2
2800: c.le.d $f18,$f16; bc1t L.418
2801: l.d $f18,Z1
2802: l.d $f16,Radix
2803: sub.d $f18,$f18,$f16
2804: s.d $f18,Z1
2805: L.418:
2806: L.420:
2807: jal NewD # int
2808: L.421:
2809: l.d $f18,U2
2810: l.d $f16,D
2811: mul.d $f18,$f18,$f16
2812: l.d $f16,F9
2813: c.lt.d $f18,$f16; bc1t L.420
2814: l.d $f18,D
2815: l.d $f16,Radix
2816: mul.d $f16,$f18,$f16
2817: sub.d $f16,$f16,$f18
2818: l.d $f10,W
2819: sub.d $f18,$f10,$f18
2820: c.eq.d $f16,$f18; bc1t L.423
2821: li $25,1
2822: sw $25,Anomaly
2823: b L.424
2824: L.423:
2825: l.d $f18,D
2826: s.d $f18,Z2
2827: sw $0,I
2828: l.d $f16,One
2829: l.d $f10,Z
2830: add.d $f16,$f16,$f10
2831: l.d $f8,Half
2832: mul.d $f16,$f16,$f8
2833: add.d $f16,$f18,$f16
2834: s.d $f16,Y
2835: add.d $f18,$f18,$f10
2836: l.d $f16,Q
2837: add.d $f18,$f18,$f16
2838: s.d $f18,X
2839: jal SR3750 # int
2840: l.d $f18,D
2841: l.d $f16,One
2842: l.d $f10,Z
2843: sub.d $f16,$f16,$f10
2844: l.d $f8,Half
2845: mul.d $f16,$f16,$f8
2846: add.d $f16,$f18,$f16
2847: add.d $f16,$f16,$f18
2848: s.d $f16,Y
2849: sub.d $f16,$f18,$f10
2850: add.d $f18,$f16,$f18
2851: s.d $f18,X
2852: l.d $f18,X
2853: l.d $f16,Q
2854: add.d $f16,$f18,$f16
2855: add.d $f18,$f16,$f18
2856: s.d $f18,X
2857: jal SR3750 # int
2858: jal NewD # int
2859: l.d $f18,D
2860: l.d $f16,Z2
2861: sub.d $f18,$f18,$f16
2862: l.d $f10,W
2863: sub.d $f16,$f10,$f16
2864: c.eq.d $f18,$f16; bc1t L.425
2865: li $25,1
2866: sw $25,Anomaly
2867: b L.426
2868: L.425:
2869: l.d $f18,D
2870: l.d $f16,Z2
2871: sub.d $f18,$f18,$f16
2872: l.d $f10,One
2873: l.d $f8,Z
2874: sub.d $f10,$f10,$f8
2875: l.d $f6,Half
2876: mul.d $f10,$f10,$f6
2877: add.d $f10,$f16,$f10
2878: add.d $f10,$f18,$f10
2879: s.d $f10,Y
2880: sub.d $f16,$f16,$f8
2881: l.d $f10,Q
2882: add.d $f16,$f16,$f10
2883: add.d $f18,$f18,$f16
2884: s.d $f18,X
2885: jal SR3750 # int
2886: l.d $f18,One
2887: l.d $f16,Z
2888: add.d $f18,$f18,$f16
2889: l.d $f16,Half
2890: mul.d $f18,$f18,$f16
2891: s.d $f18,Y
2892: l.d $f18,Q
2893: s.d $f18,X
2894: jal SR3750 # int
2895: lw $25,I
2896: bne $25,$0,L.427
2897: li $25,1
2898: sw $25,Anomaly
2899: L.427:
2900: L.426:
2901: L.424:
2902: L.417:
2903: L.409:
2904: L.394:
2905: lw $25,I
2906: beq $25,$0,L.431
2907: lw $25,Anomaly
2908: beq $25,$0,L.429
2909: L.431:
2910: move $4,$0
2911: la $5,L.432
2912: jal BadCond # int
2913: la $4,L.433
2914: l.d $f18,W
2915: mfc1.d $6,$f18
2916: jal printf # int
2917: la $4,L.434
2918: jal printf # int
2919: li $25,1
2920: sw $25,SqRWrng
2921: L.429:
2922: L.390:
2923: lw $25,Anomaly
2924: bne $25,$0,L.435
2925: l.d $f18,MinSqEr
2926: l.d $f16,Zero
2927: c.lt.d $f18,$f16; bc1t L.437
2928: l.d $f18,MaxSqEr
2929: c.le.d $f18,$f16; bc1f L.437
2930: li $25,1
2931: sw $25,RSqrt
2932: la $4,L.439
2933: jal printf # int
2934: b L.438
2935: L.437:
2936: l.d $f18,MaxSqEr
2937: l.d $f16,U2
2938: add.d $f18,$f18,$f16
2939: l.d $f10,Half
2940: sub.d $f16,$f16,$f10
2941: c.le.d $f18,$f16; bc1f L.443
2942: l.d $f18,MinSqEr
2943: c.le.d $f18,$f10; bc1f L.443
2944: l.d $f16,Radix
2945: add.d $f18,$f18,$f16
2946: c.lt.d $f18,$f10; bc1f L.440
2947: L.443:
2948: li $25,1
2949: sw $25,SqRWrng
2950: b L.441
2951: L.440:
2952: li $25,2
2953: sw $25,RSqrt
2954: la $4,L.444
2955: jal printf # int
2956: L.441:
2957: L.438:
2958: L.435:
2959: lw $25,SqRWrng
2960: beq $25,$0,L.445
2961: la $4,L.447
2962: jal printf # int
2963: la $4,L.448
2964: l.d $f18,MinSqEr
2965: l.d $f16,Half
2966: sub.d $f18,$f18,$f16
2967: mfc1.d $6,$f18
2968: jal printf # int
2969: la $4,L.449
2970: l.d $f18,Half
2971: l.d $f16,MaxSqEr
2972: add.d $f18,$f18,$f16
2973: mfc1.d $6,$f18
2974: jal printf # int
2975: li $4,1
2976: l.d $f18,MaxSqEr
2977: l.d $f16,MinSqEr
2978: sub.d $f18,$f18,$f16
2979: l.d $f16,Radix
2980: mul.d $f16,$f16,$f16
2981: c.lt.d $f18,$f16; bc1f L.452
2982: li $30,1
2983: b L.453
2984: L.452:
2985: move $30,$0
2986: L.453:
2987: move $5,$30
2988: la $6,L.451
2989: jal TstCond # int
2990: L.445:
2991: li $25,90
2992: sw $25,Milestone
2993: jal Pause # int
2994: la $4,L.454
2995: jal printf # int
2996: sw $0,N
2997: sw $0,I
2998: l.d $f18,Zero
2999: neg.d $f18,$f18
3000: s.d $f18,Z
3001: li $25,3
3002: sw $25,M
3003: sw $0,Break
3004: L.455:
3005: l.d $f18,One
3006: s.d $f18,X
3007: jal SR3980 # int
3008: lw $25,I
3009: bgt $25,10,L.458
3010: li $25,1023
3011: sw $25,I
3012: jal SR3980 # int
3013: L.458:
3014: l.d $f18,Z
3015: l.d $f16,MinusOne
3016: c.eq.d $f18,$f16; bc1f L.460
3017: li $25,1
3018: sw $25,Break
3019: b L.461
3020: L.460:
3021: l.d $f18,MinusOne
3022: s.d $f18,Z
3023: jal PrintIfNPositive # int
3024: sw $0,N
3025: li $25,-4
3026: sw $25,I
3027: L.461:
3028: L.456:
3029: lw $25,Break
3030: beq $25,$0,L.455
3031: jal PrintIfNPositive # int
3032: lw $25,N
3033: sw $25,N1
3034: sw $0,N
3035: l.d $f18,A1
3036: s.d $f18,Z
3037: l.d $f12,W
3038: jal log # real
3039: mov.d $f30,$f0
3040: l.d $f12,A1
3041: jal log # real
3042: l.d $f18,Two
3043: mul.d $f18,$f18,$f30
3044: div.d $f12,$f18,$f0
3045: jal floor # real
3046: trunc.w.d $f2,$f0,$25; mfc1 $25,$f2
3047: sw $25,M
3048: sw $0,Break
3049: L.462:
3050: l.d $f18,Z
3051: s.d $f18,X
3052: li $25,1
3053: sw $25,I
3054: jal SR3980 # int
3055: l.d $f18,Z
3056: l.d $f16,AInvrse
3057: c.eq.d $f18,$f16; bc1f L.465
3058: li $25,1
3059: sw $25,Break
3060: b L.466
3061: L.465:
3062: l.d $f18,AInvrse
3063: s.d $f18,Z
3064: L.466:
3065: L.463:
3066: lw $25,Break
3067: beq $25,$0,L.462
3068: li $25,100
3069: sw $25,Milestone
3070: lw $25,NoTrials
3071: sw $25,M
3072: l.d $f18,Three
3073: s.d $f18,Z
3074: L.467:
3075: l.d $f18,Z
3076: s.d $f18,X
3077: li $25,1
3078: sw $25,I
3079: jal SR3980 # int
3080: L.470:
3081: l.d $f18,Z
3082: l.d $f16,Two
3083: add.d $f18,$f18,$f16
3084: s.d $f18,Z
3085: L.471:
3086: l.d $f18,Z
3087: l.d $f16,Three
3088: mov.d $f30,$f16
3089: div.d $f12,$f18,$f16
3090: jal floor # real
3091: mul.d $f18,$f30,$f0
3092: l.d $f16,Z
3093: c.eq.d $f18,$f16; bc1t L.470
3094: L.468:
3095: l.d $f18,Z
3096: l.d $f16,Eight
3097: l.d $f10,Three
3098: mul.d $f16,$f16,$f10
3099: c.lt.d $f18,$f16; bc1t L.467
3100: lw $25,N
3101: ble $25,$0,L.473
3102: la $4,L.475
3103: jal printf # int
3104: la $4,L.476
3105: jal printf # int
3106: L.473:
3107: jal PrintIfNPositive # int
3108: lw $25,N
3109: lw $24,N1
3110: addu $25,$25,$24
3111: sw $25,N
3112: lw $25,N
3113: bne $25,$0,L.477
3114: la $4,L.479
3115: jal printf # int
3116: L.477:
3117: lw $25,N
3118: ble $25,$0,L.480
3119: jal Pause # int
3120: b L.481
3121: L.480:
3122: la $4,L.44
3123: jal printf # int
3124: L.481:
3125: li $25,110
3126: sw $25,Milestone
3127: la $4,L.482
3128: jal printf # int
3129: l.d $f18,U1
3130: s.d $f18,D
3131: l.d $f18,Precision
3132: mov.d $f30,$f18
3133: mov.d $f12,$f18
3134: jal floor # real
3135: c.eq.d $f30,$f0; bc1t L.483
3136: l.d $f18,BInvrse
3137: s.d $f18,D
3138: l.d $f18,Precision
3139: s.d $f18,X
3140: L.485:
3141: l.d $f18,D
3142: l.d $f16,BInvrse
3143: mul.d $f18,$f18,$f16
3144: s.d $f18,D
3145: l.d $f18,X
3146: l.d $f16,One
3147: sub.d $f18,$f18,$f16
3148: s.d $f18,X
3149: L.486:
3150: l.d $f18,X
3151: l.d $f16,Zero
3152: c.le.d $f18,$f16; bc1f L.485
3153: L.483:
3154: l.d $f18,One
3155: s.d $f18,Y
3156: l.d $f18,D
3157: s.d $f18,Z
3158: L.488:
3159: l.d $f18,Y
3160: s.d $f18,C
3161: l.d $f18,Z
3162: s.d $f18,Y
3163: l.d $f18,Y
3164: mul.d $f18,$f18,$f18
3165: s.d $f18,Z
3166: L.489:
3167: l.d $f18,Y
3168: l.d $f16,Z
3169: c.le.d $f18,$f16; bc1t L.491
3170: add.d $f18,$f16,$f16
3171: c.le.d $f18,$f16; bc1f L.488
3172: L.491:
3173: l.d $f18,C
3174: s.d $f18,Y
3175: l.d $f18,Y
3176: l.d $f16,D
3177: mul.d $f18,$f18,$f16
3178: s.d $f18,Z
3179: L.492:
3180: l.d $f18,Y
3181: s.d $f18,C
3182: l.d $f18,Z
3183: s.d $f18,Y
3184: l.d $f18,Y
3185: l.d $f16,D
3186: mul.d $f18,$f18,$f16
3187: s.d $f18,Z
3188: L.493:
3189: l.d $f18,Y
3190: l.d $f16,Z
3191: c.le.d $f18,$f16; bc1t L.495
3192: add.d $f18,$f16,$f16
3193: c.le.d $f18,$f16; bc1f L.492
3194: L.495:
3195: l.d $f18,Radix
3196: l.d $f16,Two
3197: c.lt.d $f18,$f16; bc1f L.496
3198: l.d $f18,Two
3199: s.d $f18,HInvrse
3200: b L.497
3201: L.496:
3202: l.d $f18,Radix
3203: s.d $f18,HInvrse
3204: L.497:
3205: l.d $f18,One
3206: l.d $f16,HInvrse
3207: div.d $f16,$f18,$f16
3208: s.d $f16,H
3209: l.d $f16,C
3210: div.d $f18,$f18,$f16
3211: s.d $f18,CInvrse
3212: s.d $f16,E0
3213: l.d $f18,E0
3214: l.d $f16,H
3215: mul.d $f18,$f18,$f16
3216: s.d $f18,Z
3217: L.498:
3218: l.d $f18,E0
3219: s.d $f18,Y
3220: l.d $f18,Z
3221: s.d $f18,E0
3222: l.d $f18,E0
3223: l.d $f16,H
3224: mul.d $f18,$f18,$f16
3225: s.d $f18,Z
3226: L.499:
3227: l.d $f18,E0
3228: l.d $f16,Z
3229: c.le.d $f18,$f16; bc1t L.501
3230: add.d $f18,$f16,$f16
3231: c.le.d $f18,$f16; bc1f L.498
3232: L.501:
3233: l.d $f18,E0
3234: s.d $f18,UfThold
3235: l.d $f18,Zero
3236: s.d $f18,E1
3237: s.d $f18,Q
3238: l.d $f18,U2
3239: s.d $f18,E9
3240: l.d $f18,One
3241: l.d $f16,E9
3242: add.d $f18,$f18,$f16
3243: s.d $f18,S
3244: l.d $f18,C
3245: l.d $f16,S
3246: mul.d $f16,$f18,$f16
3247: s.d $f16,D
3248: l.d $f16,D
3249: c.le.d $f16,$f18; bc1f L.502
3250: l.d $f18,Radix
3251: l.d $f16,U2
3252: mul.d $f18,$f18,$f16
3253: s.d $f18,E9
3254: l.d $f18,One
3255: l.d $f16,E9
3256: add.d $f18,$f18,$f16
3257: s.d $f18,S
3258: l.d $f18,C
3259: l.d $f16,S
3260: mul.d $f16,$f18,$f16
3261: s.d $f16,D
3262: l.d $f16,D
3263: c.le.d $f16,$f18; bc1f L.503
3264: move $4,$0
3265: la $5,L.506
3266: jal BadCond # int
3267: l.d $f18,E0
3268: s.d $f18,Underflow
3269: l.d $f18,Zero
3270: s.d $f18,Y1
3271: l.d $f18,Z
3272: s.d $f18,PseudoZero
3273: jal Pause # int
3274: b L.503
3275: L.502:
3276: l.d $f18,D
3277: s.d $f18,Underflow
3278: l.d $f18,Underflow
3279: l.d $f16,H
3280: mul.d $f18,$f18,$f16
3281: s.d $f18,PseudoZero
3282: l.d $f18,Zero
3283: s.d $f18,UfThold
3284: L.507:
3285: l.d $f18,Underflow
3286: s.d $f18,Y1
3287: l.d $f18,PseudoZero
3288: s.d $f18,Underflow
3289: l.d $f18,E1
3290: add.d $f16,$f18,$f18
3291: c.le.d $f16,$f18; bc1f L.510
3292: l.d $f18,Underflow
3293: l.d $f16,HInvrse
3294: mul.d $f18,$f18,$f16
3295: s.d $f18,Y2
3296: l.d $f18,Y1
3297: l.d $f16,Y2
3298: sub.d $f12,$f18,$f16
3299: jal fabs # real
3300: s.d $f0,E1
3301: l.d $f18,Y1
3302: s.d $f18,Q
3303: l.d $f16,UfThold
3304: l.d $f10,Zero
3305: c.eq.d $f16,$f10; bc1f L.512
3306: l.d $f16,Y2
3307: c.eq.d $f18,$f16; bc1t L.512
3308: l.d $f18,Y1
3309: s.d $f18,UfThold
3310: L.512:
3311: L.510:
3312: l.d $f18,PseudoZero
3313: l.d $f16,H
3314: mul.d $f18,$f18,$f16
3315: s.d $f18,PseudoZero
3316: L.508:
3317: l.d $f18,Underflow
3318: l.d $f16,PseudoZero
3319: c.le.d $f18,$f16; bc1t L.514
3320: add.d $f18,$f16,$f16
3321: c.le.d $f18,$f16; bc1f L.507
3322: L.514:
3323: L.503:
3324: l.d $f18,PseudoZero
3325: l.d $f16,Zero
3326: c.eq.d $f18,$f16; bc1t L.515
3327: la $4,L.44
3328: jal printf # int
3329: l.d $f18,PseudoZero
3330: s.d $f18,Z
3331: l.d $f16,Zero
3332: c.le.d $f18,$f16; bc1f L.517
3333: move $4,$0
3334: la $5,L.519
3335: jal BadCond # int
3336: la $4,L.520
3337: jal printf # int
3338: la $4,L.521
3339: l.d $f18,PseudoZero
3340: mfc1.d $6,$f18
3341: jal printf # int
3342: l.d $f18,PseudoZero
3343: neg.d $f18,$f18
3344: s.d $f18,X
3345: l.d $f18,X
3346: l.d $f16,Zero
3347: c.le.d $f18,$f16; bc1f L.518
3348: la $4,L.524
3349: jal printf # int
3350: la $4,L.525
3351: l.d $f18,X
3352: mfc1.d $6,$f18
3353: jal printf # int
3354: b L.518
3355: L.517:
3356: li $4,3
3357: la $5,L.526
3358: jal BadCond # int
3359: la $4,L.527
3360: l.d $f18,PseudoZero
3361: mfc1.d $6,$f18
3362: jal printf # int
3363: L.518:
3364: jal TstPtUf # int
3365: L.515:
3366: li $25,120
3367: sw $25,Milestone
3368: l.d $f18,CInvrse
3369: l.d $f16,Y
3370: mul.d $f16,$f18,$f16
3371: l.d $f10,Y1
3372: mul.d $f18,$f18,$f10
3373: c.le.d $f16,$f18; bc1t L.528
3374: l.d $f18,H
3375: l.d $f16,S
3376: mul.d $f18,$f18,$f16
3377: s.d $f18,S
3378: l.d $f18,Underflow
3379: s.d $f18,E0
3380: L.528:
3381: l.d $f18,E1
3382: l.d $f16,Zero
3383: c.eq.d $f18,$f16; bc1t L.530
3384: l.d $f16,E0
3385: c.eq.d $f18,$f16; bc1t L.530
3386: li $4,2
3387: la $5,L.157
3388: jal BadCond # int
3389: l.d $f18,E1
3390: l.d $f16,E0
3391: c.lt.d $f18,$f16; bc1f L.532
3392: la $4,L.534
3393: jal printf # int
3394: la $4,L.535
3395: jal printf # int
3396: l.d $f18,PseudoZero
3397: l.d $f16,Zero
3398: c.eq.d $f18,$f16; bc1f L.533
3399: l.d $f18,E1
3400: s.d $f18,E0
3401: b L.533
3402: L.532:
3403: la $4,L.538
3404: jal printf # int
3405: la $4,L.539
3406: jal printf # int
3407: L.533:
3408: L.530:
3409: la $4,L.540
3410: l.d $f18,E0
3411: mfc1.d $6,$f18
3412: jal printf # int
3413: l.d $f18,E0
3414: s.d $f18,Z
3415: jal TstPtUf # int
3416: l.d $f18,E0
3417: s.d $f18,Underflow
3418: lw $25,N
3419: bne $25,1,L.541
3420: l.d $f18,Y
3421: s.d $f18,Underflow
3422: L.541:
3423: li $25,4
3424: sw $25,I
3425: l.d $f18,E1
3426: l.d $f16,Zero
3427: c.eq.d $f18,$f16; bc1f L.543
3428: li $25,3
3429: sw $25,I
3430: L.543:
3431: l.d $f18,UfThold
3432: l.d $f16,Zero
3433: c.eq.d $f18,$f16; bc1f L.545
3434: lw $25,I
3435: subu $25,$25,2
3436: sw $25,I
3437: L.545:
3438: li $25,1
3439: sw $25,UfNGrad
3440: lw $25,I
3441: blt $25,1,L.547
3442: bgt $25,4,L.547
3443: sll $25,$25,2
3444: lw $25,L.571-4($25)
3445: j $25
3446: L.571:
3447: .align 2; .word L.549
3448: .align 2; .word L.556
3449: .align 2; .word L.561
3450: .align 2; .word L.562
3451: L.549:
3452: l.d $f18,Underflow
3453: s.d $f18,UfThold
3454: l.d $f18,CInvrse
3455: l.d $f16,Q
3456: mul.d $f16,$f18,$f16
3457: l.d $f10,Y
3458: mul.d $f18,$f18,$f10
3459: l.d $f10,S
3460: mul.d $f18,$f18,$f10
3461: c.eq.d $f16,$f18; bc1t L.550
3462: l.d $f18,Y
3463: s.d $f18,UfThold
3464: move $4,$0
3465: la $5,L.552
3466: jal BadCond # int
3467: la $4,L.553
3468: l.d $f18,UfThold
3469: mfc1.d $6,$f18
3470: jal printf # int
3471: la $4,L.554
3472: l.d $f18,C
3473: mfc1.d $6,$f18
3474: jal printf # int
3475: la $4,L.555
3476: jal printf # int
3477: L.550:
3478: jal Pause # int
3479: b L.548
3480: L.556:
3481: move $4,$0
3482: la $5,L.557
3483: jal BadCond # int
3484: la $4,L.558
3485: jal printf # int
3486: la $4,L.559
3487: l.d $f18,Q
3488: mfc1.d $6,$f18
3489: l.d $f18,Y2
3490: s.d $f18,16($sp)
3491: jal printf # int
3492: l.d $f18,Q
3493: l.d $f16,Y2
3494: sub.d $f12,$f18,$f16
3495: jal fabs # real
3496: la $4,L.560
3497: mfc1.d $6,$f0
3498: jal printf # int
3499: l.d $f18,Q
3500: s.d $f18,UfThold
3501: b L.548
3502: L.561:
3503: l.d $f18,X
3504: s.d $f18,X
3505: b L.548
3506: L.562:
3507: l.d $f18,Q
3508: l.d $f16,UfThold
3509: c.eq.d $f18,$f16; bc1f L.563
3510: l.d $f18,E1
3511: l.d $f10,E0
3512: c.eq.d $f18,$f10; bc1f L.563
3513: l.d $f10,E9
3514: div.d $f18,$f18,$f10
3515: sub.d $f12,$f16,$f18
3516: jal fabs # real
3517: l.d $f18,E1
3518: c.le.d $f0,$f18; bc1f L.563
3519: sw $0,UfNGrad
3520: la $4,L.565
3521: jal printf # int
3522: la $4,L.566
3523: jal printf # int
3524: l.d $f18,E0
3525: l.d $f16,CInvrse
3526: mul.d $f18,$f18,$f16
3527: s.d $f18,Y
3528: l.d $f18,Y
3529: l.d $f10,OneAndHalf
3530: l.d $f8,U2
3531: add.d $f10,$f10,$f8
3532: mul.d $f18,$f18,$f10
3533: s.d $f18,Y
3534: l.d $f18,One
3535: add.d $f18,$f18,$f8
3536: mul.d $f18,$f16,$f18
3537: s.d $f18,X
3538: l.d $f18,Y
3539: l.d $f16,X
3540: div.d $f18,$f18,$f16
3541: s.d $f18,Y
3542: l.d $f18,Y
3543: l.d $f16,E0
3544: c.eq.d $f18,$f16; bc1f L.568
3545: li $30,1
3546: b L.569
3547: L.568:
3548: move $30,$0
3549: L.569:
3550: sw $30,IEEE
3551: L.563:
3552: L.547:
3553: L.548:
3554: lw $25,UfNGrad
3555: beq $25,$0,L.573
3556: la $4,L.44
3557: jal printf # int
3558: la $25,sigfpe
3559: sw $25,sigsave
3560: la $4,ovfl_buf
3561: jal setjmp # int
3562: beq $2,$0,L.575
3563: la $4,L.577
3564: jal printf # int
3565: l.d $f18,H
3566: add.d $f18,$f18,$f18
3567: s.d $f18,R
3568: b L.576
3569: L.575:
3570: l.d $f18,Underflow
3571: l.d $f16,UfThold
3572: div.d $f12,$f18,$f16
3573: jal sqrt # real
3574: s.d $f0,R
3575: L.576:
3576: sw $0,sigsave
3577: l.d $f18,R
3578: l.d $f16,H
3579: c.le.d $f18,$f16; bc1f L.578
3580: l.d $f18,R
3581: l.d $f16,UfThold
3582: mul.d $f16,$f18,$f16
3583: s.d $f16,Z
3584: l.d $f16,Z
3585: l.d $f10,One
3586: l.d $f8,H
3587: mul.d $f18,$f18,$f8
3588: add.d $f8,$f10,$f8
3589: mul.d $f18,$f18,$f8
3590: add.d $f18,$f10,$f18
3591: mul.d $f18,$f16,$f18
3592: s.d $f18,X
3593: b L.579
3594: L.578:
3595: l.d $f18,UfThold
3596: s.d $f18,Z
3597: l.d $f18,Z
3598: l.d $f16,One
3599: l.d $f10,H
3600: mul.d $f8,$f10,$f10
3601: add.d $f10,$f16,$f10
3602: mul.d $f10,$f8,$f10
3603: add.d $f16,$f16,$f10
3604: mul.d $f18,$f18,$f16
3605: s.d $f18,X
3606: L.579:
3607: l.d $f18,X
3608: l.d $f16,Z
3609: c.eq.d $f18,$f16; bc1t L.580
3610: sub.d $f18,$f18,$f16
3611: l.d $f16,Zero
3612: c.eq.d $f18,$f16; bc1f L.580
3613: li $4,3
3614: la $5,L.157
3615: jal BadCond # int
3616: la $4,L.582
3617: l.d $f18,X
3618: mfc1.d $6,$f18
3619: l.d $f18,Z
3620: s.d $f18,16($sp)
3621: jal printf # int
3622: l.d $f18,X
3623: l.d $f16,Z
3624: sub.d $f18,$f18,$f16
3625: s.d $f18,Z9
3626: la $4,L.583
3627: l.d $f18,Z9
3628: mfc1.d $6,$f18
3629: jal printf # int
3630: la $4,L.584
3631: jal printf # int
3632: la $4,L.585
3633: jal printf # int
3634: la $4,L.586
3635: jal printf # int
3636: la $4,L.587
3637: jal printf # int
3638: la $4,L.588
3639: jal printf # int
3640: la $4,L.589
3641: jal printf # int
3642: la $25,sigfpe
3643: sw $25,sigsave
3644: la $4,ovfl_buf
3645: jal setjmp # int
3646: beq $2,$0,L.590
3647: la $4,L.592
3648: jal printf # int
3649: b L.591
3650: L.590:
3651: la $4,L.593
3652: l.d $f18,X
3653: l.d $f16,Z
3654: div.d $f18,$f18,$f16
3655: l.d $f16,Half
3656: sub.d $f18,$f18,$f16
3657: sub.d $f18,$f18,$f16
3658: mfc1.d $6,$f18
3659: jal printf # int
3660: L.591:
3661: sw $0,sigsave
3662: L.580:
3663: L.573:
3664: la $4,L.594
3665: l.d $f18,UfThold
3666: mfc1.d $6,$f18
3667: la $25,L.595
3668: sw $25,16($sp)
3669: jal printf # int
3670: la $4,L.596
3671: jal printf # int
3672: la $4,L.597
3673: jal printf # int
3674: l.d $f18,U1
3675: mul.d $f16,$f18,$f18
3676: s.d $f16,Y2
3677: l.d $f16,Y2
3678: mul.d $f16,$f16,$f16
3679: s.d $f16,Y
3680: l.d $f16,Y
3681: mul.d $f18,$f16,$f18
3682: s.d $f18,Y2
3683: l.d $f18,Y2
3684: l.d $f16,UfThold
3685: c.le.d $f18,$f16; bc1f L.598
3686: l.d $f18,Y
3687: l.d $f16,E0
3688: c.le.d $f18,$f16; bc1t L.600
3689: li $4,2
3690: la $5,L.157
3691: jal BadCond # int
3692: li $25,5
3693: sw $25,I
3694: b L.601
3695: L.600:
3696: li $4,1
3697: la $5,L.157
3698: jal BadCond # int
3699: li $25,4
3700: sw $25,I
3701: L.601:
3702: la $4,L.602
3703: lw $5,I
3704: jal printf # int
3705: L.598:
3706: li $25,130
3707: sw $25,Milestone
3708: l.d $f12,UfThold
3709: jal log # real
3710: mov.d $f30,$f0
3711: l.d $f12,HInvrse
3712: jal log # real
3713: l.d $f18,Half
3714: l.d $f16,TwoForty
3715: mul.d $f16,$f16,$f30
3716: div.d $f16,$f16,$f0
3717: sub.d $f12,$f18,$f16
3718: jal floor # real
3719: neg.d $f18,$f0
3720: l.d $f16,TwoForty
3721: div.d $f18,$f18,$f16
3722: s.d $f18,Y
3723: l.d $f18,Y
3724: add.d $f18,$f18,$f18
3725: s.d $f18,Y2
3726: la $4,L.603
3727: jal printf # int
3728: la $4,L.604
3729: l.d $f18,HInvrse
3730: mfc1.d $6,$f18
3731: l.d $f18,Y
3732: s.d $f18,16($sp)
3733: jal printf # int
3734: la $4,L.605
3735: l.d $f18,HInvrse
3736: mfc1.d $6,$f18
3737: l.d $f18,Y
3738: s.d $f18,16($sp)
3739: jal printf # int
3740: l.d $f12,HInvrse
3741: l.d $f14,Y2
3742: jal pow # real
3743: s.d $f0,V9
3744: la $4,L.606
3745: l.d $f18,V9
3746: mfc1.d $6,$f18
3747: jal printf # int
3748: l.d $f18,V9
3749: l.d $f16,Zero
3750: c.lt.d $f18,$f16; bc1t L.609
3751: l.d $f16,Radix
3752: add.d $f16,$f16,$f16
3753: l.d $f10,E9
3754: add.d $f16,$f16,$f10
3755: l.d $f10,UfThold
3756: mul.d $f16,$f16,$f10
3757: c.le.d $f18,$f16; bc1t L.607
3758: L.609:
3759: li $4,1
3760: la $5,L.610
3761: jal BadCond # int
3762: la $4,L.611
3763: l.d $f18,UfThold
3764: mfc1.d $6,$f18
3765: jal printf # int
3766: b L.608
3767: L.607:
3768: l.d $f18,V9
3769: l.d $f16,UfThold
3770: l.d $f10,One
3771: l.d $f8,E9
3772: add.d $f10,$f10,$f8
3773: mul.d $f16,$f16,$f10
3774: c.le.d $f18,$f16; bc1f L.612
3775: la $4,L.614
3776: jal printf # int
3777: b L.613
3778: L.612:
3779: li $4,2
3780: la $5,L.610
3781: jal BadCond # int
3782: la $4,L.611
3783: l.d $f18,UfThold
3784: mfc1.d $6,$f18
3785: jal printf # int
3786: L.613:
3787: L.608:
3788: li $25,140
3789: sw $25,Milestone
3790: la $4,L.44
3791: jal printf # int
3792: l.d $f18,Zero
3793: s.d $f18,X
3794: li $25,2
3795: sw $25,I
3796: l.d $f16,Two
3797: l.d $f10,Three
3798: mul.d $f16,$f16,$f10
3799: s.d $f16,Y
3800: s.d $f18,Q
3801: sw $0,N
3802: L.615:
3803: l.d $f18,X
3804: s.d $f18,Z
3805: lw $25,I
3806: addu $25,$25,1
3807: sw $25,I
3808: l.d $f18,Y
3809: lw $25,I
3810: addu $25,$25,$25
3811: mtc1 $25,$f16; cvt.d.w $f16,$f16
3812: div.d $f18,$f18,$f16
3813: s.d $f18,Y
3814: l.d $f18,Y
3815: l.d $f16,Q
3816: add.d $f18,$f18,$f16
3817: s.d $f18,R
3818: l.d $f18,Z
3819: l.d $f16,R
3820: add.d $f10,$f18,$f16
3821: s.d $f10,X
3822: l.d $f10,X
3823: sub.d $f18,$f18,$f10
3824: add.d $f18,$f18,$f16
3825: s.d $f18,Q
3826: L.616:
3827: l.d $f18,X
3828: l.d $f16,Z
3829: c.le.d $f18,$f16; bc1f L.615
3830: l.d $f18,OneAndHalf
3831: l.d $f16,One
3832: l.d $f10,Eight
3833: div.d $f16,$f16,$f10
3834: add.d $f16,$f18,$f16
3835: l.d $f10,X
3836: l.d $f8,ThirtyTwo
3837: mul.d $f18,$f18,$f8
3838: div.d $f18,$f10,$f18
3839: add.d $f18,$f16,$f18
3840: s.d $f18,Z
3841: l.d $f18,Z
3842: mul.d $f18,$f18,$f18
3843: s.d $f18,X
3844: l.d $f18,X
3845: mul.d $f18,$f18,$f18
3846: s.d $f18,Exp2
3847: l.d $f18,F9
3848: s.d $f18,X
3849: l.d $f18,X
3850: l.d $f16,U1
3851: sub.d $f18,$f18,$f16
3852: s.d $f18,Y
3853: la $4,L.618
3854: l.d $f18,Exp2
3855: mfc1.d $6,$f18
3856: jal printf # int
3857: li $25,1
3858: sw $25,I
3859: L.619:
3860: l.d $f18,X
3861: l.d $f16,BInvrse
3862: sub.d $f10,$f18,$f16
3863: s.d $f10,Z
3864: l.d $f10,One
3865: add.d $f8,$f18,$f10
3866: l.d $f6,Z
3867: sub.d $f16,$f10,$f16
3868: sub.d $f16,$f6,$f16
3869: div.d $f16,$f8,$f16
3870: s.d $f16,Z
3871: mov.d $f12,$f18
3872: l.d $f14,Z
3873: jal pow # real
3874: l.d $f18,Exp2
3875: sub.d $f18,$f0,$f18
3876: s.d $f18,Q
3877: l.d $f12,Q
3878: jal fabs # real
3879: l.d $f18,TwoForty
3880: l.d $f16,U2
3881: mul.d $f18,$f18,$f16
3882: c.le.d $f0,$f18; bc1t L.623
3883: li $25,1
3884: sw $25,N
3885: l.d $f18,X
3886: l.d $f16,BInvrse
3887: sub.d $f18,$f18,$f16
3888: l.d $f10,One
3889: sub.d $f16,$f10,$f16
3890: sub.d $f18,$f18,$f16
3891: s.d $f18,V9
3892: li $4,2
3893: la $5,L.625
3894: jal BadCond # int
3895: l.d $f12,X
3896: l.d $f14,Z
3897: jal pow # real
3898: la $4,L.626
3899: mfc1.d $6,$f0
3900: jal printf # int
3901: la $4,L.627
3902: l.d $f18,V9
3903: mfc1.d $6,$f18
3904: l.d $f18,Z
3905: s.d $f18,16($sp)
3906: jal printf # int
3907: la $4,L.628
3908: l.d $f18,Q
3909: mfc1.d $6,$f18
3910: jal printf # int
3911: la $4,L.629
3912: jal printf # int
3913: la $4,L.630
3914: jal printf # int
3915: b L.621
3916: L.623:
3917: l.d $f18,Y
3918: l.d $f16,X
3919: sub.d $f16,$f18,$f16
3920: l.d $f10,Two
3921: mul.d $f16,$f16,$f10
3922: add.d $f16,$f16,$f18
3923: s.d $f16,Z
3924: s.d $f18,X
3925: l.d $f18,Z
3926: s.d $f18,Y
3927: l.d $f18,One
3928: l.d $f16,X
3929: l.d $f10,F9
3930: sub.d $f16,$f16,$f10
3931: mul.d $f16,$f16,$f16
3932: add.d $f16,$f18,$f16
3933: s.d $f16,Z
3934: l.d $f16,Z
3935: c.le.d $f16,$f18; bc1t L.631
3936: lw $25,I
3937: lw $24,NoTrials
3938: bge $25,$24,L.631
3939: lw $25,I
3940: addu $25,$25,1
3941: sw $25,I
3942: b L.619
3943: L.631:
3944: l.d $f18,X
3945: l.d $f16,One
3946: c.le.d $f18,$f16; bc1t L.633
3947: lw $25,N
3948: bne $25,$0,L.621
3949: la $4,L.637
3950: jal printf # int
3951: b L.621
3952: L.633:
3953: l.d $f18,One
3954: l.d $f16,U2
3955: add.d $f18,$f18,$f16
3956: s.d $f18,X
3957: add.d $f18,$f16,$f16
3958: s.d $f18,Y
3959: l.d $f18,Y
3960: l.d $f16,X
3961: add.d $f18,$f18,$f16
3962: s.d $f18,Y
3963: li $25,1
3964: sw $25,I
3965: b L.619
3966: L.621:
3967: li $25,150
3968: sw $25,Milestone
3969: la $4,L.638
3970: jal printf # int
3971: sw $0,N
3972: l.d $f18,A1
3973: s.d $f18,Z
3974: l.d $f12,C
3975: jal log # real
3976: mov.d $f30,$f0
3977: l.d $f12,A1
3978: jal log # real
3979: l.d $f18,Half
3980: div.d $f16,$f30,$f0
3981: sub.d $f12,$f18,$f16
3982: jal floor # real
3983: s.d $f0,Q
3984: sw $0,Break
3985: L.639:
3986: l.d $f18,CInvrse
3987: s.d $f18,X
3988: l.d $f12,Z
3989: l.d $f14,Q
3990: jal pow # real
3991: s.d $f0,Y
3992: jal IsYeqX # int
3993: l.d $f18,Q
3994: neg.d $f18,$f18
3995: s.d $f18,Q
3996: l.d $f18,C
3997: s.d $f18,X
3998: l.d $f12,Z
3999: l.d $f14,Q
4000: jal pow # real
4001: s.d $f0,Y
4002: jal IsYeqX # int
4003: l.d $f18,Z
4004: l.d $f16,One
4005: c.lt.d $f18,$f16; bc1f L.642
4006: li $25,1
4007: sw $25,Break
4008: b L.643
4009: L.642:
4010: l.d $f18,AInvrse
4011: s.d $f18,Z
4012: L.643:
4013: L.640:
4014: lw $25,Break
4015: beq $25,$0,L.639
4016: jal PrintIfNPositive # int
4017: lw $25,N
4018: bne $25,$0,L.644
4019: la $4,L.646
4020: jal printf # int
4021: L.644:
4022: la $4,L.44
4023: jal printf # int
4024: li $25,160
4025: sw $25,Milestone
4026: jal Pause # int
4027: la $4,L.647
4028: jal printf # int
4029: la $4,L.648
4030: jal printf # int
4031: l.d $f18,CInvrse
4032: neg.d $f18,$f18
4033: s.d $f18,Y
4034: l.d $f18,HInvrse
4035: l.d $f16,Y
4036: mul.d $f18,$f18,$f16
4037: s.d $f18,V9
4038: la $25,sigfpe
4039: sw $25,sigsave
4040: la $4,ovfl_buf
4041: jal setjmp # int
4042: beq $2,$0,L.649
4043: sw $0,I
4044: l.d $f18,Y
4045: s.d $f18,V9
4046: b L.651
4047: L.649:
4048: L.652:
4049: l.d $f18,Y
4050: s.d $f18,V
4051: l.d $f18,V9
4052: s.d $f18,Y
4053: l.d $f18,HInvrse
4054: l.d $f16,Y
4055: mul.d $f18,$f18,$f16
4056: s.d $f18,V9
4057: L.653:
4058: l.d $f18,V9
4059: l.d $f16,Y
4060: c.lt.d $f18,$f16; bc1t L.652
4061: li $25,1
4062: sw $25,I
4063: L.651:
4064: sw $0,sigsave
4065: l.d $f18,V9
4066: s.d $f18,Z
4067: la $4,L.655
4068: jal printf # int
4069: la $4,L.656
4070: l.d $f18,Y
4071: mfc1.d $6,$f18
4072: jal printf # int
4073: l.d $f18,Y
4074: neg.d $f16,$f18
4075: s.d $f16,V9
4076: l.d $f16,V9
4077: s.d $f16,V0
4078: l.d $f16,V
4079: sub.d $f18,$f16,$f18
4080: l.d $f10,V0
4081: add.d $f16,$f16,$f10
4082: c.eq.d $f18,$f16; bc1f L.657
4083: la $4,L.659
4084: jal printf # int
4085: b L.658
4086: L.657:
4087: la $4,L.660
4088: jal printf # int
4089: li $4,3
4090: la $5,L.661
4091: jal BadCond # int
4092: L.658:
4093: l.d $f18,Z
4094: l.d $f16,Y
4095: c.eq.d $f18,$f16; bc1t L.662
4096: li $4,1
4097: la $5,L.157
4098: jal BadCond # int
4099: la $4,L.664
4100: l.d $f18,Y
4101: mfc1.d $6,$f18
4102: l.d $f18,Z
4103: s.d $f18,16($sp)
4104: jal printf # int
4105: L.662:
4106: lw $25,I
4107: beq $25,$0,L.665
4108: l.d $f18,V
4109: l.d $f16,HInvrse
4110: l.d $f10,U2
4111: mul.d $f8,$f16,$f10
4112: sub.d $f8,$f8,$f16
4113: mul.d $f8,$f18,$f8
4114: s.d $f8,Y
4115: l.d $f8,Y
4116: l.d $f6,One
4117: sub.d $f16,$f6,$f16
4118: mul.d $f16,$f16,$f10
4119: mul.d $f18,$f16,$f18
4120: add.d $f18,$f8,$f18
4121: s.d $f18,Z
4122: l.d $f18,Z
4123: l.d $f16,V0
4124: c.lt.d $f18,$f16; bc1f L.667
4125: l.d $f18,Z
4126: s.d $f18,Y
4127: L.667:
4128: l.d $f18,Y
4129: l.d $f16,V0
4130: c.lt.d $f18,$f16; bc1f L.669
4131: l.d $f18,Y
4132: s.d $f18,V
4133: L.669:
4134: l.d $f18,V0
4135: l.d $f16,V
4136: sub.d $f16,$f18,$f16
4137: c.lt.d $f16,$f18; bc1f L.666
4138: l.d $f18,V0
4139: s.d $f18,V
4140: b L.666
4141: L.665:
4142: l.d $f18,Y
4143: l.d $f16,HInvrse
4144: l.d $f10,U2
4145: mul.d $f8,$f16,$f10
4146: sub.d $f8,$f8,$f16
4147: mul.d $f8,$f18,$f8
4148: s.d $f8,V
4149: l.d $f8,V
4150: l.d $f6,One
4151: sub.d $f16,$f6,$f16
4152: mul.d $f16,$f16,$f10
4153: mul.d $f18,$f16,$f18
4154: add.d $f18,$f8,$f18
4155: s.d $f18,V
4156: L.666:
4157: la $4,L.673
4158: l.d $f18,V
4159: mfc1.d $6,$f18
4160: jal printf # int
4161: lw $25,I
4162: beq $25,$0,L.674
4163: la $4,L.676
4164: l.d $f18,V0
4165: mfc1.d $6,$f18
4166: jal printf # int
4167: b L.675
4168: L.674:
4169: la $4,L.677
4170: jal printf # int
4171: L.675:
4172: l.d $f18,V
4173: l.d $f16,One
4174: mul.d $f18,$f18,$f16
4175: s.d $f18,V9
4176: la $4,L.678
4177: l.d $f18,V9
4178: mfc1.d $6,$f18
4179: jal printf # int
4180: l.d $f18,V
4181: l.d $f16,One
4182: div.d $f18,$f18,$f16
4183: s.d $f18,V9
4184: la $4,L.679
4185: l.d $f18,V9
4186: mfc1.d $6,$f18
4187: jal printf # int
4188: la $4,L.680
4189: jal printf # int
4190: la $4,L.681
4191: jal printf # int
4192: li $25,170
4193: sw $25,Milestone
4194: l.d $f18,V
4195: neg.d $f16,$f18
4196: c.lt.d $f16,$f18; bc1f L.686
4197: l.d $f16,V0
4198: neg.d $f10,$f16
4199: c.lt.d $f10,$f16; bc1f L.686
4200: l.d $f16,UfThold
4201: neg.d $f10,$f16
4202: c.lt.d $f10,$f18; bc1f L.686
4203: c.lt.d $f16,$f18; bc1t L.682
4204: L.686:
4205: move $4,$0
4206: la $5,L.687
4207: jal BadCond # int
4208: la $4,L.688
4209: l.d $f18,V
4210: mfc1.d $6,$f18
4211: l.d $f18,V0
4212: s.d $f18,16($sp)
4213: l.d $f18,UfThold
4214: s.d $f18,24($sp)
4215: jal printf # int
4216: L.682:
4217: li $25,175
4218: sw $25,Milestone
4219: la $4,L.44
4220: jal printf # int
4221: li $25,1
4222: sw $25,Indx
4223: L.689:
4224: lw $25,Indx
4225: beq $25,1,L.695
4226: beq $25,2,L.696
4227: beq $25,3,L.697
4228: b L.693
4229: L.695:
4230: l.d $f18,UfThold
4231: s.d $f18,Z
4232: b L.694
4233: L.696:
4234: l.d $f18,E0
4235: s.d $f18,Z
4236: b L.694
4237: L.697:
4238: l.d $f18,PseudoZero
4239: s.d $f18,Z
4240: L.693:
4241: L.694:
4242: l.d $f18,Z
4243: l.d $f16,Zero
4244: c.eq.d $f18,$f16; bc1t L.698
4245: l.d $f12,Z
4246: jal sqrt # real
4247: s.d $f0,V9
4248: l.d $f18,V9
4249: mul.d $f18,$f18,$f18
4250: s.d $f18,Y
4251: l.d $f18,Y
4252: l.d $f16,One
4253: l.d $f10,Radix
4254: l.d $f8,E9
4255: mul.d $f10,$f10,$f8
4256: sub.d $f8,$f16,$f10
4257: div.d $f8,$f18,$f8
4258: l.d $f6,Z
4259: c.lt.d $f8,$f6; bc1t L.702
4260: add.d $f16,$f16,$f10
4261: mul.d $f16,$f16,$f6
4262: c.le.d $f18,$f16; bc1t L.700
4263: L.702:
4264: l.d $f18,V9
4265: l.d $f16,U1
4266: c.le.d $f18,$f16; bc1t L.703
4267: li $4,1
4268: la $5,L.157
4269: jal BadCond # int
4270: b L.704
4271: L.703:
4272: li $4,2
4273: la $5,L.157
4274: jal BadCond # int
4275: L.704:
4276: la $4,L.705
4277: l.d $f18,Z
4278: mfc1.d $6,$f18
4279: jal printf # int
4280: la $4,L.706
4281: l.d $f18,Y
4282: mfc1.d $6,$f18
4283: jal printf # int
4284: L.700:
4285: L.698:
4286: L.690:
4287: lw $25,Indx
4288: addu $25,$25,1
4289: sw $25,Indx
4290: lw $25,Indx
4291: ble $25,3,L.689
4292: li $25,180
4293: sw $25,Milestone
4294: li $25,1
4295: sw $25,Indx
4296: L.707:
4297: lw $25,Indx
4298: bne $25,1,L.711
4299: l.d $f18,V
4300: s.d $f18,Z
4301: b L.712
4302: L.711:
4303: l.d $f18,V0
4304: s.d $f18,Z
4305: L.712:
4306: l.d $f12,Z
4307: jal sqrt # real
4308: s.d $f0,V9
4309: l.d $f18,One
4310: l.d $f16,Radix
4311: l.d $f10,E9
4312: mul.d $f8,$f16,$f10
4313: sub.d $f8,$f18,$f8
4314: l.d $f6,V9
4315: mul.d $f8,$f8,$f6
4316: s.d $f8,X
4317: l.d $f8,X
4318: mul.d $f8,$f6,$f8
4319: s.d $f8,V9
4320: l.d $f8,V9
4321: l.d $f6,Two
4322: mul.d $f16,$f6,$f16
4323: mul.d $f16,$f16,$f10
4324: sub.d $f18,$f18,$f16
4325: l.d $f16,Z
4326: mul.d $f18,$f18,$f16
4327: c.lt.d $f8,$f18; bc1t L.715
4328: c.le.d $f8,$f16; bc1t L.713
4329: L.715:
4330: l.d $f18,V9
4331: s.d $f18,Y
4332: l.d $f18,X
4333: l.d $f16,W
4334: c.lt.d $f18,$f16; bc1f L.716
4335: li $4,1
4336: la $5,L.157
4337: jal BadCond # int
4338: b L.717
4339: L.716:
4340: li $4,2
4341: la $5,L.157
4342: jal BadCond # int
4343: L.717:
4344: la $4,L.718
4345: l.d $f18,Z
4346: mfc1.d $6,$f18
4347: jal printf # int
4348: la $4,L.719
4349: l.d $f18,Y
4350: mfc1.d $6,$f18
4351: jal printf # int
4352: L.713:
4353: L.708:
4354: lw $25,Indx
4355: addu $25,$25,1
4356: sw $25,Indx
4357: lw $25,Indx
4358: ble $25,2,L.707
4359: li $25,190
4360: sw $25,Milestone
4361: jal Pause # int
4362: l.d $f18,UfThold
4363: l.d $f16,V
4364: mul.d $f18,$f18,$f16
4365: s.d $f18,X
4366: l.d $f18,Radix
4367: mul.d $f18,$f18,$f18
4368: s.d $f18,Y
4369: l.d $f18,X
4370: l.d $f16,Y
4371: mul.d $f10,$f18,$f16
4372: l.d $f8,One
4373: c.lt.d $f10,$f8; bc1t L.722
4374: c.le.d $f18,$f16; bc1t L.720
4375: L.722:
4376: l.d $f18,X
4377: l.d $f16,Y
4378: mul.d $f10,$f18,$f16
4379: l.d $f8,U1
4380: c.lt.d $f10,$f8; bc1t L.725
4381: div.d $f16,$f16,$f8
4382: c.le.d $f18,$f16; bc1t L.723
4383: L.725:
4384: li $4,2
4385: la $5,L.726
4386: jal BadCond # int
4387: b L.724
4388: L.723:
4389: li $4,3
4390: la $5,L.157
4391: jal BadCond # int
4392: L.724:
4393: la $4,L.727
4394: l.d $f18,X
4395: mfc1.d $6,$f18
4396: la $25,L.728
4397: sw $25,16($sp)
4398: jal printf # int
4399: L.720:
4400: li $25,200
4401: sw $25,Milestone
4402: li $25,1
4403: sw $25,Indx
4404: L.729:
4405: l.d $f18,F9
4406: s.d $f18,X
4407: lw $25,Indx
4408: blt $25,2,L.733
4409: bgt $25,5,L.733
4410: sll $25,$25,2
4411: lw $25,L.740-8($25)
4412: j $25
4413: L.740:
4414: .align 2; .word L.735
4415: .align 2; .word L.736
4416: .align 2; .word L.737
4417: .align 2; .word L.738
4418: L.735:
4419: l.d $f18,One
4420: l.d $f16,U2
4421: add.d $f18,$f18,$f16
4422: s.d $f18,X
4423: b L.734
4424: L.736:
4425: l.d $f18,V
4426: s.d $f18,X
4427: b L.734
4428: L.737:
4429: l.d $f18,UfThold
4430: s.d $f18,X
4431: b L.734
4432: L.738:
4433: l.d $f18,Radix
4434: s.d $f18,X
4435: L.733:
4436: L.734:
4437: l.d $f18,X
4438: s.d $f18,Y
4439: la $25,sigfpe
4440: sw $25,sigsave
4441: la $4,ovfl_buf
4442: jal setjmp # int
4443: beq $2,$0,L.742
4444: la $4,L.744
4445: l.d $f18,X
4446: mfc1.d $6,$f18
4447: jal printf # int
4448: b L.743
4449: L.742:
4450: l.d $f18,Y
4451: l.d $f16,X
4452: div.d $f18,$f18,$f16
4453: l.d $f16,Half
4454: sub.d $f18,$f18,$f16
4455: sub.d $f18,$f18,$f16
4456: s.d $f18,V9
4457: l.d $f18,V9
4458: l.d $f16,Zero
4459: c.eq.d $f18,$f16; bc1f L.745
4460: b L.730
4461: L.745:
4462: l.d $f18,V9
4463: l.d $f16,U1
4464: neg.d $f16,$f16
4465: c.eq.d $f18,$f16; bc1f L.747
4466: lw $25,Indx
4467: bge $25,5,L.747
4468: li $4,3
4469: la $5,L.157
4470: jal BadCond # int
4471: b L.748
4472: L.747:
4473: li $4,1
4474: la $5,L.157
4475: jal BadCond # int
4476: L.748:
4477: la $4,L.749
4478: l.d $f18,X
4479: mfc1.d $6,$f18
4480: jal printf # int
4481: la $4,L.750
4482: l.d $f18,V9
4483: mfc1.d $6,$f18
4484: jal printf # int
4485: L.743:
4486: sw $0,sigsave
4487: L.730:
4488: lw $25,Indx
4489: addu $25,$25,1
4490: sw $25,Indx
4491: lw $25,Indx
4492: ble $25,5,L.729
4493: li $25,210
4494: sw $25,Milestone
4495: l.d $f18,Zero
4496: s.d $f18,MyZero
4497: la $4,L.44
4498: jal printf # int
4499: la $4,L.751
4500: jal printf # int
4501: la $25,sigfpe
4502: sw $25,sigsave
4503: la $4,L.752
4504: jal printf # int
4505: la $4,ovfl_buf
4506: jal setjmp # int
4507: bne $2,$0,L.753
4508: la $4,L.755
4509: l.d $f18,One
4510: l.d $f16,MyZero
4511: div.d $f18,$f18,$f16
4512: mfc1.d $6,$f18
4513: jal printf # int
4514: L.753:
4515: sw $0,sigsave
4516: la $25,sigfpe
4517: sw $25,sigsave
4518: la $4,L.756
4519: jal printf # int
4520: la $4,ovfl_buf
4521: jal setjmp # int
4522: bne $2,$0,L.757
4523: la $4,L.755
4524: l.d $f18,Zero
4525: l.d $f16,MyZero
4526: div.d $f18,$f18,$f16
4527: mfc1.d $6,$f18
4528: jal printf # int
4529: L.757:
4530: sw $0,sigsave
4531: li $25,220
4532: sw $25,Milestone
4533: jal Pause # int
4534: la $4,L.44
4535: jal printf # int
4536: move $30,$0
4537: L.764:
4538: sll $25,$30,2
4539: lw $25,ErrCnt($25)
4540: beq $25,$0,L.768
4541: la $4,L.770
4542: sll $25,$30,2
4543: lw $5,L.759($25)
4544: lw $6,ErrCnt($25)
4545: jal printf # int
4546: L.768:
4547: L.765:
4548: addu $30,$30,1
4549: blt $30,4,L.764
4550: la $4,L.44
4551: jal printf # int
4552: lw $25,ErrCnt
4553: lw $24,ErrCnt+4
4554: addu $25,$25,$24
4555: lw $24,ErrCnt+8
4556: addu $25,$25,$24
4557: lw $24,ErrCnt+12
4558: addu $25,$25,$24
4559: ble $25,$0,L.771
4560: lw $25,ErrCnt
4561: lw $24,ErrCnt+4
4562: addu $25,$25,$24
4563: lw $24,ErrCnt+8
4564: addu $25,$25,$24
4565: bne $25,$0,L.776
4566: lw $25,ErrCnt+12
4567: ble $25,$0,L.776
4568: la $4,L.781
4569: jal printf # int
4570: la $4,L.782
4571: jal printf # int
4572: L.776:
4573: lw $25,ErrCnt
4574: lw $24,ErrCnt+4
4575: addu $25,$25,$24
4576: bne $25,$0,L.783
4577: lw $25,ErrCnt+8
4578: ble $25,$0,L.783
4579: la $4,L.787
4580: jal printf # int
4581: la $4,L.788
4582: jal printf # int
4583: L.783:
4584: lw $25,ErrCnt
4585: lw $24,ErrCnt+4
4586: addu $25,$25,$24
4587: ble $25,$0,L.789
4588: la $4,L.792
4589: jal printf # int
4590: la $4,L.793
4591: jal printf # int
4592: L.789:
4593: lw $25,ErrCnt
4594: ble $25,$0,L.772
4595: la $4,L.796
4596: jal printf # int
4597: la $4,L.797
4598: jal printf # int
4599: b L.772
4600: L.771:
4601: la $4,L.798
4602: jal printf # int
4603: lw $25,RMult
4604: bne $25,1,L.803
4605: lw $25,RDiv
4606: bne $25,1,L.803
4607: lw $25,RAddSub
4608: bne $25,1,L.803
4609: lw $25,RSqrt
4610: beq $25,1,L.799
4611: L.803:
4612: la $4,L.804
4613: jal printf # int
4614: b L.800
4615: L.799:
4616: l.d $f18,StickyBit
4617: l.d $f16,One
4618: c.lt.d $f18,$f16; bc1t L.805
4619: l.d $f18,Radix
4620: l.d $f10,Two
4621: sub.d $f10,$f18,$f10
4622: l.d $f8,Nine
4623: sub.d $f18,$f18,$f8
4624: sub.d $f18,$f18,$f16
4625: mul.d $f18,$f10,$f18
4626: l.d $f16,Zero
4627: c.eq.d $f18,$f16; bc1f L.805
4628: la $4,L.807
4629: jal printf # int
4630: la $4,L.808
4631: jal printf # int
4632: l.d $f18,Radix
4633: l.d $f16,Two
4634: c.eq.d $f18,$f16; bc1f L.809
4635: l.d $f18,Precision
4636: l.d $f10,Four
4637: l.d $f8,Three
4638: mul.d $f10,$f10,$f8
4639: mul.d $f16,$f10,$f16
4640: sub.d $f16,$f18,$f16
4641: l.d $f10,TwentySeven
4642: sub.d $f18,$f18,$f10
4643: sub.d $f18,$f18,$f10
4644: l.d $f10,One
4645: add.d $f18,$f18,$f10
4646: mul.d $f18,$f16,$f18
4647: l.d $f16,Zero
4648: c.eq.d $f18,$f16; bc1f L.809
4649: la $4,L.811
4650: jal printf # int
4651: b L.810
4652: L.809:
4653: la $4,L.812
4654: jal printf # int
4655: L.810:
4656: lw $25,IEEE
4657: beq $25,$0,L.813
4658: la $4,L.815
4659: jal printf # int
4660: b L.814
4661: L.813:
4662: la $4,L.816
4663: jal printf # int
4664: la $4,L.817
4665: jal printf # int
4666: L.814:
4667: L.805:
4668: la $4,L.818
4669: jal printf # int
4670: L.800:
4671: L.772:
4672: lw $25,fpecount
4673: beq $25,$0,L.819
4674: la $4,L.821
4675: lw $5,fpecount
4676: jal printf # int
4677: L.819:
4678: la $4,L.822
4679: jal printf # int
4680: L.6:
4681: l.d $f26,32($sp)
4682: l.d $f28,40($sp)
4683: l.d $f30,48($sp)
4684: lw $30,56($sp)
4685: lw $31,60($sp)
4686: addu $sp,$sp,64
4687: j $31
4688: .end main
4689: .globl Sign
4690: .text
4691: .align 2; .ent Sign
4692: Sign:
4693: $fp3=0
4694: .frame $sp,0,$31
4695: l.d $f18,L.7
4696: c.lt.d $f12,$f18; bc1t L.848
4697: l.d $f16,L.8
4698: b L.849
4699: L.848:
4700: l.d $f16,L.850
4701: L.849:
4702: mov.d $f0,$f16
4703: L.846:
4704: j $31
4705: .end Sign
4706: .globl Pause
4707: .text
4708: .align 2; .ent Pause
4709: Pause:
4710: $fp4=24
4711: .frame $sp,24,$31
4712: addu $sp,$sp,-24
4713: .mask 0x80000000,-8
4714: sw $31,16($sp)
4715: la $4,L.852
4716: lw $5,Milestone
4717: jal printf # int
4718: la $4,L.853
4719: lw $5,PageNo
4720: jal printf # int
4721: lw $25,Milestone
4722: addu $25,$25,1
4723: sw $25,Milestone
4724: lw $25,PageNo
4725: addu $25,$25,1
4726: sw $25,PageNo
4727: L.851:
4728: lw $31,16($sp)
4729: addu $sp,$sp,24
4730: j $31
4731: .end Pause
4732: .globl TstCond
4733: .text
4734: .align 2; .ent TstCond
4735: TstCond:
4736: $fp5=24
4737: .frame $sp,24,$31
4738: addu $sp,$sp,-24
4739: .mask 0x80000000,-8
4740: sw $31,16($sp)
4741: sw $4,24($sp)
4742: sw $5,28($sp)
4743: sw $6,32($sp)
4744: lw $25,$fp5+4($sp)
4745: bne $25,$0,L.855
4746: lw $4,$fp5+0($sp)
4747: lw $5,$fp5+8($sp)
4748: jal BadCond # int
4749: la $4,L.815
4750: jal printf # int
4751: L.855:
4752: L.854:
4753: lw $31,16($sp)
4754: addu $sp,$sp,24
4755: j $31
4756: .end TstCond
4757: .data; .align 2; L.858:.word L.859
4758: .word L.860
4759: .word L.861
4760: .word L.862
4761: .text
4762: .globl BadCond
4763: .text
4764: .align 2; .ent BadCond
4765: BadCond:
4766: $fp6=24
4767: .frame $sp,24,$31
4768: addu $sp,$sp,-24
4769: .mask 0xc0000000,-4
4770: sw $30,16($sp)
4771: sw $31,20($sp)
4772: move $30,$4
4773: sw $5,28($sp)
4774: sll $25,$30,2
4775: lw $24,ErrCnt($25)
4776: addu $24,$24,1
4777: sw $24,ErrCnt($25)
4778: la $4,L.863
4779: sll $25,$30,2
4780: lw $5,L.858($25)
4781: lw $6,$fp6+4($sp)
4782: jal printf # int
4783: L.857:
4784: lw $30,16($sp)
4785: lw $31,20($sp)
4786: addu $sp,$sp,24
4787: j $31
4788: .end BadCond
4789: .globl Random
4790: .text
4791: .align 2; .ent Random
4792: Random:
4793: $fp7=40
4794: .frame $sp,40,$31
4795: addu $sp,$sp,-40
4796: .fmask 0xf0000000,-16
4797: s.d $f28,16($sp)
4798: s.d $f30,24($sp)
4799: .mask 0x80000000,-8
4800: sw $31,32($sp)
4801: l.d $f18,Random1
4802: l.d $f16,Random9
4803: add.d $f30,$f18,$f16
4804: mul.d $f28,$f30,$f30
4805: mul.d $f28,$f28,$f28
4806: mul.d $f30,$f30,$f28
4807: mov.d $f12,$f30
4808: jal floor # real
4809: sub.d $f28,$f30,$f0
4810: l.d $f18,L.865
4811: mul.d $f18,$f18,$f30
4812: add.d $f18,$f28,$f18
4813: s.d $f18,Random1
4814: l.d $f0,Random1
4815: L.864:
4816: l.d $f28,16($sp)
4817: l.d $f30,24($sp)
4818: lw $31,32($sp)
4819: addu $sp,$sp,40
4820: j $31
4821: .end Random
4822: .globl SqXMinX
4823: .text
4824: .align 2; .ent SqXMinX
4825: SqXMinX:
4826: $fp8=56
4827: .frame $sp,56,$31
4828: addu $sp,$sp,-56
4829: .fmask 0xc0000000,-24
4830: s.d $f30,32($sp)
4831: .mask 0x80000000,-16
4832: sw $31,40($sp)
4833: sw $4,56($sp)
4834: l.d $f18,X
4835: l.d $f16,BInvrse
4836: mul.d $f30,$f18,$f16
4837: sub.d $f16,$f18,$f30
4838: s.d $f16,$fp8-8($sp)
4839: mul.d $f12,$f18,$f18
4840: jal sqrt # real
4841: sub.d $f18,$f0,$f30
4842: l.d $f16,$fp8-8($sp)
4843: sub.d $f18,$f18,$f16
4844: l.d $f16,OneUlp
4845: div.d $f18,$f18,$f16
4846: s.d $f18,SqEr
4847: l.d $f18,SqEr
4848: l.d $f16,Zero
4849: c.eq.d $f18,$f16; bc1t L.867
4850: l.d $f18,SqEr
4851: l.d $f16,MinSqEr
4852: c.lt.d $f18,$f16; bc1f L.869
4853: l.d $f18,SqEr
4854: s.d $f18,MinSqEr
4855: L.869:
4856: l.d $f18,SqEr
4857: l.d $f16,MaxSqEr
4858: c.le.d $f18,$f16; bc1t L.871
4859: l.d $f18,SqEr
4860: s.d $f18,MaxSqEr
4861: L.871:
4862: l.d $f18,J
4863: l.d $f16,L.8
4864: add.d $f18,$f18,$f16
4865: s.d $f18,J
4866: lw $4,$fp8+0($sp)
4867: la $5,L.44
4868: jal BadCond # int
4869: la $4,L.873
4870: l.d $f18,X
4871: mul.d $f16,$f18,$f18
4872: mfc1.d $6,$f16
4873: s.d $f18,16($sp)
4874: l.d $f18,OneUlp
4875: l.d $f16,SqEr
4876: mul.d $f18,$f18,$f16
4877: s.d $f18,24($sp)
4878: jal printf # int
4879: la $4,L.874
4880: jal printf # int
4881: L.867:
4882: L.866:
4883: l.d $f30,32($sp)
4884: lw $31,40($sp)
4885: addu $sp,$sp,56
4886: j $31
4887: .end SqXMinX
4888: .globl NewD
4889: .text
4890: .align 2; .ent NewD
4891: NewD:
4892: $fp9=24
4893: .frame $sp,24,$31
4894: addu $sp,$sp,-24
4895: .mask 0x80000000,-8
4896: sw $31,16($sp)
4897: l.d $f18,Z1
4898: l.d $f16,Q
4899: mul.d $f18,$f18,$f16
4900: s.d $f18,X
4901: l.d $f18,Half
4902: l.d $f16,X
4903: l.d $f10,Radix
4904: div.d $f16,$f16,$f10
4905: sub.d $f12,$f18,$f16
4906: jal floor # real
4907: l.d $f18,Radix
4908: mul.d $f16,$f0,$f18
4909: l.d $f10,X
4910: add.d $f16,$f16,$f10
4911: s.d $f16,X
4912: l.d $f16,Q
4913: l.d $f10,X
4914: l.d $f8,Z
4915: mul.d $f6,$f10,$f8
4916: sub.d $f16,$f16,$f6
4917: div.d $f16,$f16,$f18
4918: mul.d $f6,$f10,$f10
4919: l.d $f4,D
4920: div.d $f18,$f4,$f18
4921: mul.d $f18,$f6,$f18
4922: add.d $f18,$f16,$f18
4923: s.d $f18,Q
4924: l.d $f18,Two
4925: mul.d $f18,$f18,$f10
4926: mul.d $f18,$f18,$f4
4927: sub.d $f18,$f8,$f18
4928: s.d $f18,Z
4929: l.d $f18,Z
4930: l.d $f16,Zero
4931: c.le.d $f18,$f16; bc1f L.876
4932: l.d $f18,Z
4933: neg.d $f18,$f18
4934: s.d $f18,Z
4935: l.d $f18,Z1
4936: neg.d $f18,$f18
4937: s.d $f18,Z1
4938: L.876:
4939: l.d $f18,Radix
4940: l.d $f16,D
4941: mul.d $f18,$f18,$f16
4942: s.d $f18,D
4943: L.875:
4944: lw $31,16($sp)
4945: addu $sp,$sp,24
4946: j $31
4947: .end NewD
4948: .globl SR3750
4949: .text
4950: .align 2; .ent SR3750
4951: SR3750:
4952: $fp10=24
4953: .frame $sp,24,$31
4954: addu $sp,$sp,-24
4955: .mask 0x80000000,-8
4956: sw $31,16($sp)
4957: l.d $f18,X
4958: l.d $f16,Radix
4959: sub.d $f10,$f18,$f16
4960: l.d $f8,Z2
4961: sub.d $f16,$f8,$f16
4962: c.lt.d $f10,$f16; bc1t L.879
4963: sub.d $f18,$f18,$f8
4964: l.d $f16,W
4965: sub.d $f16,$f16,$f8
4966: c.le.d $f18,$f16; bc1f L.879
4967: lw $25,I
4968: addu $25,$25,1
4969: sw $25,I
4970: l.d $f18,X
4971: l.d $f16,D
4972: mul.d $f12,$f18,$f16
4973: jal sqrt # real
4974: s.d $f0,X2
4975: l.d $f18,X2
4976: l.d $f16,Z2
4977: sub.d $f18,$f18,$f16
4978: l.d $f10,Y
4979: sub.d $f16,$f10,$f16
4980: sub.d $f18,$f18,$f16
4981: s.d $f18,Y2
4982: l.d $f18,X8
4983: l.d $f16,Half
4984: sub.d $f10,$f10,$f16
4985: div.d $f18,$f18,$f10
4986: s.d $f18,X2
4987: l.d $f18,X2
4988: mul.d $f10,$f16,$f18
4989: mul.d $f10,$f10,$f18
4990: sub.d $f18,$f18,$f10
4991: s.d $f18,X2
4992: l.d $f18,Y2
4993: add.d $f18,$f18,$f16
4994: l.d $f10,X2
4995: sub.d $f16,$f16,$f10
4996: add.d $f18,$f18,$f16
4997: s.d $f18,SqEr
4998: l.d $f18,SqEr
4999: l.d $f16,MinSqEr
5000: c.lt.d $f18,$f16; bc1f L.881
5001: l.d $f18,SqEr
5002: s.d $f18,MinSqEr
5003: L.881:
5004: l.d $f18,Y2
5005: l.d $f16,X2
5006: sub.d $f18,$f18,$f16
5007: s.d $f18,SqEr
5008: l.d $f18,SqEr
5009: l.d $f16,MaxSqEr
5010: c.le.d $f18,$f16; bc1t L.883
5011: l.d $f18,SqEr
5012: s.d $f18,MaxSqEr
5013: L.883:
5014: L.879:
5015: L.878:
5016: lw $31,16($sp)
5017: addu $sp,$sp,24
5018: j $31
5019: .end SR3750
5020: .globl IsYeqX
5021: .text
5022: .align 2; .ent IsYeqX
5023: IsYeqX:
5024: $fp11=32
5025: .frame $sp,32,$31
5026: addu $sp,$sp,-32
5027: .mask 0x80000000,-8
5028: sw $31,24($sp)
5029: l.d $f18,Y
5030: l.d $f16,X
5031: c.eq.d $f18,$f16; bc1t L.886
5032: lw $25,N
5033: bgt $25,$0,L.888
5034: l.d $f18,Z
5035: l.d $f16,Zero
5036: c.eq.d $f18,$f16; bc1f L.890
5037: l.d $f18,Q
5038: c.le.d $f18,$f16; bc1f L.890
5039: la $4,L.892
5040: jal printf # int
5041: b L.891
5042: L.890:
5043: li $4,2
5044: la $5,L.893
5045: jal BadCond # int
5046: L.891:
5047: la $4,L.894
5048: l.d $f18,Z
5049: mfc1.d $6,$f18
5050: l.d $f18,Q
5051: s.d $f18,16($sp)
5052: jal printf # int
5053: la $4,L.895
5054: l.d $f18,Y
5055: mfc1.d $6,$f18
5056: jal printf # int
5057: la $4,L.896
5058: l.d $f18,X
5059: mfc1.d $6,$f18
5060: jal printf # int
5061: la $4,L.897
5062: l.d $f18,Y
5063: l.d $f16,X
5064: sub.d $f18,$f18,$f16
5065: mfc1.d $6,$f18
5066: jal printf # int
5067: L.888:
5068: lw $25,N
5069: addu $25,$25,1
5070: sw $25,N
5071: L.886:
5072: L.885:
5073: lw $31,24($sp)
5074: addu $sp,$sp,32
5075: j $31
5076: .end IsYeqX
5077: .globl SR3980
5078: .text
5079: .align 2; .ent SR3980
5080: SR3980:
5081: $fp12=24
5082: .frame $sp,24,$31
5083: addu $sp,$sp,-24
5084: .mask 0x80000000,-8
5085: sw $31,16($sp)
5086: L.899:
5087: lw $25,I
5088: mtc1 $25,$f18; cvt.d.w $f18,$f18
5089: s.d $f18,Q
5090: l.d $f12,Z
5091: l.d $f14,Q
5092: jal pow # real
5093: s.d $f0,Y
5094: jal IsYeqX # int
5095: lw $25,I
5096: addu $25,$25,1
5097: sw $25,I
5098: lw $24,M
5099: ble $25,$24,L.902
5100: b L.901
5101: L.902:
5102: l.d $f18,Z
5103: l.d $f16,X
5104: mul.d $f18,$f18,$f16
5105: s.d $f18,X
5106: L.900:
5107: l.d $f18,X
5108: l.d $f16,W
5109: c.lt.d $f18,$f16; bc1t L.899
5110: L.901:
5111: L.898:
5112: lw $31,16($sp)
5113: addu $sp,$sp,24
5114: j $31
5115: .end SR3980
5116: .globl PrintIfNPositive
5117: .text
5118: .align 2; .ent PrintIfNPositive
5119: PrintIfNPositive:
5120: $fp13=24
5121: .frame $sp,24,$31
5122: addu $sp,$sp,-24
5123: .mask 0x80000000,-8
5124: sw $31,16($sp)
5125: lw $25,N
5126: ble $25,$0,L.905
5127: la $4,L.907
5128: lw $5,N
5129: jal printf # int
5130: L.905:
5131: L.904:
5132: lw $31,16($sp)
5133: addu $sp,$sp,24
5134: j $31
5135: .end PrintIfNPositive
5136: .globl TstPtUf
5137: .text
5138: .align 2; .ent TstPtUf
5139: TstPtUf:
5140: $fp14=24
5141: .frame $sp,24,$31
5142: addu $sp,$sp,-24
5143: .mask 0x80000000,-8
5144: sw $31,16($sp)
5145: sw $0,N
5146: l.d $f18,Z
5147: l.d $f16,Zero
5148: c.eq.d $f18,$f16; bc1t L.909
5149: la $4,L.911
5150: jal printf # int
5151: la $4,L.912
5152: jal printf # int
5153: la $25,sigfpe
5154: sw $25,sigsave
5155: la $4,ovfl_buf
5156: jal setjmp # int
5157: beq $2,$0,L.913
5158: b L.915
5159: L.913:
5160: l.d $f18,Z
5161: add.d $f16,$f18,$f18
5162: div.d $f18,$f16,$f18
5163: s.d $f18,Q9
5164: la $4,L.916
5165: l.d $f18,Q9
5166: mfc1.d $6,$f18
5167: jal printf # int
5168: l.d $f18,Q9
5169: l.d $f16,Two
5170: sub.d $f12,$f18,$f16
5171: jal fabs # real
5172: l.d $f18,Radix
5173: l.d $f16,U2
5174: mul.d $f18,$f18,$f16
5175: c.lt.d $f0,$f18; bc1f L.917
5176: la $4,L.919
5177: jal printf # int
5178: la $4,L.920
5179: jal printf # int
5180: b L.918
5181: L.917:
5182: l.d $f18,Q9
5183: l.d $f16,One
5184: c.lt.d $f18,$f16; bc1t L.923
5185: l.d $f16,Two
5186: c.le.d $f18,$f16; bc1t L.921
5187: L.923:
5188: L.915:
5189: li $25,1
5190: sw $25,N
5191: lw $25,ErrCnt+4
5192: addu $25,$25,1
5193: sw $25,ErrCnt+4
5194: la $4,L.926
5195: jal printf # int
5196: b L.922
5197: L.921:
5198: li $25,1
5199: sw $25,N
5200: lw $25,ErrCnt+8
5201: addu $25,$25,1
5202: sw $25,ErrCnt+8
5203: la $4,L.929
5204: jal printf # int
5205: L.922:
5206: L.918:
5207: sw $0,sigsave
5208: l.d $f18,Z
5209: l.d $f16,One
5210: mul.d $f10,$f18,$f16
5211: s.d $f10,V9
5212: l.d $f10,V9
5213: s.d $f10,Random1
5214: mul.d $f10,$f16,$f18
5215: s.d $f10,V9
5216: l.d $f10,V9
5217: s.d $f10,Random2
5218: div.d $f16,$f18,$f16
5219: s.d $f16,V9
5220: l.d $f16,Random1
5221: c.eq.d $f18,$f16; bc1f L.930
5222: l.d $f16,Random2
5223: c.eq.d $f18,$f16; bc1f L.930
5224: l.d $f16,V9
5225: c.eq.d $f18,$f16; bc1f L.930
5226: lw $25,N
5227: ble $25,$0,L.931
5228: jal Pause # int
5229: b L.931
5230: L.930:
5231: li $25,1
5232: sw $25,N
5233: li $4,2
5234: la $5,L.934
5235: jal BadCond # int
5236: la $4,L.935
5237: l.d $f18,Z
5238: mfc1.d $6,$f18
5239: jal printf # int
5240: l.d $f18,Z
5241: l.d $f16,Random1
5242: c.eq.d $f18,$f16; bc1t L.936
5243: la $4,L.938
5244: l.d $f18,Random1
5245: mfc1.d $6,$f18
5246: jal printf # int
5247: L.936:
5248: l.d $f18,Z
5249: l.d $f16,Random2
5250: c.eq.d $f18,$f16; bc1t L.939
5251: l.d $f18,Random1
5252: c.eq.d $f16,$f18; bc1t L.939
5253: la $4,L.941
5254: l.d $f18,Random2
5255: mfc1.d $6,$f18
5256: jal printf # int
5257: L.939:
5258: l.d $f18,Z
5259: l.d $f16,V9
5260: c.eq.d $f18,$f16; bc1t L.942
5261: la $4,L.944
5262: l.d $f18,V9
5263: mfc1.d $6,$f18
5264: jal printf # int
5265: L.942:
5266: l.d $f18,Random2
5267: l.d $f16,Random1
5268: c.eq.d $f18,$f16; bc1t L.945
5269: lw $25,ErrCnt+8
5270: addu $25,$25,1
5271: sw $25,ErrCnt+8
5272: li $4,2
5273: la $5,L.949
5274: jal BadCond # int
5275: la $4,L.950
5276: l.d $f18,Random2
5277: mfc1.d $6,$f18
5278: jal printf # int
5279: la $4,L.951
5280: l.d $f18,Random1
5281: mfc1.d $6,$f18
5282: jal printf # int
5283: L.945:
5284: jal Pause # int
5285: L.931:
5286: L.909:
5287: L.908:
5288: lw $31,16($sp)
5289: addu $sp,$sp,24
5290: j $31
5291: .end TstPtUf
5292: .globl notify
5293: .text
5294: .align 2; .ent notify
5295: notify:
5296: $fp15=24
5297: .frame $sp,24,$31
5298: addu $sp,$sp,-24
5299: .mask 0x80000000,-8
5300: sw $31,16($sp)
5301: sw $4,24($sp)
5302: la $4,L.953
5303: lw $5,$fp15+0($sp)
5304: jal printf # int
5305: la $4,L.954
5306: jal printf # int
5307: L.952:
5308: lw $31,16($sp)
5309: addu $sp,$sp,24
5310: j $31
5311: .end notify
5312: .globl msglist
5313: .text
5314: .align 2; .ent msglist
5315: msglist:
5316: $fp16=24
5317: .frame $sp,24,$31
5318: addu $sp,$sp,-24
5319: .mask 0xc0000000,-4
5320: sw $30,16($sp)
5321: sw $31,20($sp)
5322: move $30,$4
5323: b L.957
5324: L.956:
5325: la $4,L.959
5326: move $25,$30
5327: addu $30,$25,4
5328: lw $5,($25)
5329: jal printf # int
5330: L.957:
5331: lw $25,($30)
5332: bne $25,$0,L.956
5333: L.955:
5334: lw $30,16($sp)
5335: lw $31,20($sp)
5336: addu $sp,$sp,24
5337: j $31
5338: .end msglist
5339: .data; .align 2; L.961:.word L.962
5340: .word L.963
5341: .word L.964
5342: .word L.965
5343: .word L.966
5344: .word L.967
5345: .word L.968
5346: .word L.969
5347: .word L.970
5348: .word 0x0
5349: .text
5350: .globl Instructions
5351: .text
5352: .align 2; .ent Instructions
5353: Instructions:
5354: $fp17=24
5355: .frame $sp,24,$31
5356: addu $sp,$sp,-24
5357: .mask 0x80000000,-8
5358: sw $31,16($sp)
5359: la $4,L.961
5360: jal msglist # int
5361: L.960:
5362: lw $31,16($sp)
5363: addu $sp,$sp,24
5364: j $31
5365: .end Instructions
5366: .data; .align 2; L.972:.word L.973
5367: .word L.974
5368: .word L.975
5369: .word L.976
5370: .word L.977
5371: .word L.978
5372: .word L.979
5373: .word L.980
5374: .word L.981
5375: .word L.982
5376: .word L.983
5377: .word L.984
5378: .word L.985
5379: .word L.986
5380: .word 0x0
5381: .text
5382: .globl Heading
5383: .text
5384: .align 2; .ent Heading
5385: Heading:
5386: $fp18=24
5387: .frame $sp,24,$31
5388: addu $sp,$sp,-24
5389: .mask 0x80000000,-8
5390: sw $31,16($sp)
5391: la $4,L.972
5392: jal msglist # int
5393: L.971:
5394: lw $31,16($sp)
5395: addu $sp,$sp,24
5396: j $31
5397: .end Heading
5398: .data; .align 2; L.988:.word L.989
5399: .word L.990
5400: .word L.991
5401: .word L.992
5402: .word L.993
5403: .word L.994
5404: .word L.995
5405: .word L.996
5406: .word L.997
5407: .word L.998
5408: .word L.999
5409: .word L.1000
5410: .word L.1001
5411: .word L.1002
5412: .word L.1003
5413: .word L.1004
5414: .word L.1005
5415: .word L.1006
5416: .word L.1007
5417: .word 0x0
5418: .text
5419: .globl Characteristics
5420: .text
5421: .align 2; .ent Characteristics
5422: Characteristics:
5423: $fp19=24
5424: .frame $sp,24,$31
5425: addu $sp,$sp,-24
5426: .mask 0x80000000,-8
5427: sw $31,16($sp)
5428: la $4,L.988
5429: jal msglist # int
5430: L.987:
5431: lw $31,16($sp)
5432: addu $sp,$sp,24
5433: j $31
5434: .end Characteristics
5435: .data; .align 2; L.1009:.word L.1010
5436: .word L.1011
5437: .word L.1012
5438: .word L.1013
5439: .word L.1014
5440: .word L.1015
5441: .word L.1016
5442: .word L.1017
5443: .word L.1018
5444: .word L.1019
5445: .word L.1020
5446: .word L.1021
5447: .word L.1022
5448: .word L.1023
5449: .word L.1024
5450: .word L.1025
5451: .word L.1026
5452: .word 0x0
5453: .text
5454: .globl History
5455: .text
5456: .align 2; .ent History
5457: History:
5458: $fp20=24
5459: .frame $sp,24,$31
5460: addu $sp,$sp,-24
5461: .mask 0x80000000,-8
5462: sw $31,16($sp)
5463: la $4,L.1009
5464: jal msglist # int
5465: L.1008:
5466: lw $31,16($sp)
5467: addu $sp,$sp,24
5468: j $31
5469: .end History
5470: .globl pow
5471: .text
5472: .align 2; .ent pow
5473: pow:
5474: $fp21=72
5475: .frame $sp,72,$31
5476: addu $sp,$sp,-72
5477: .fmask 0xfc000000,-40
5478: s.d $f26,16($sp)
5479: s.d $f28,24($sp)
5480: s.d $f30,32($sp)
5481: .mask 0xc0800000,-24
5482: sw $23,40($sp)
5483: sw $30,44($sp)
5484: sw $31,48($sp)
5485: mov.d $f30,$f12
5486: mov.d $f28,$f14
5487: move $23,$0
5488: sw $0,$fp21-8($sp)
5489: l.d $f18,L.7
5490: c.eq.d $f28,$f18; bc1f L.1028
5491: l.d $f0,L.8
5492: b L.1027
5493: L.1028:
5494: l.d $f18,L.1033
5495: c.lt.d $f28,$f18; bc1t L.1032
5496: l.d $f18,L.1034
5497: c.le.d $f28,$f18; bc1t L.1030
5498: L.1032:
5499: l.d $f18,L.850
5500: c.eq.d $f30,$f18; bc1t L.1030
5501: mov.d $f12,$f30
5502: jal log # real
5503: mul.d $f12,$f28,$f0
5504: jal exp # real
5505: b L.1027
5506: L.1030:
5507: l.d $f18,L.7
5508: c.lt.d $f28,$f18; bc1f L.1035
5509: neg.d $f28,$f28
5510: li $25,1
5511: sw $25,$fp21-8($sp)
5512: L.1035:
5513: mov.d $f12,$f28
5514: la $6,$fp21-16($sp)
5515: jal modf # real
5516: mov.d $f28,$f0
5517: l.d $f18,L.7
5518: c.eq.d $f28,$f18; bc1t L.1037
5519: mov.d $f12,$f30
5520: jal log # real
5521: mul.d $f12,$f28,$f0
5522: jal exp # real
5523: mov.d $f26,$f0
5524: b L.1038
5525: L.1037:
5526: l.d $f26,L.8
5527: L.1038:
5528: mov.d $f12,$f30
5529: la $6,$fp21-4($sp)
5530: jal frexp # real
5531: mov.d $f30,$f0
5532: l.d $f18,$fp21-16($sp)
5533: trunc.w.d $f2,$f18,$25; mfc1 $25,$f2
5534: move $30,$25
5535: beq $25,$0,L.1039
5536: L.1041:
5537: and $25,$30,1
5538: beq $25,$0,L.1045
5539: mul.d $f26,$f26,$f30
5540: lw $25,$fp21-4($sp)
5541: addu $23,$23,$25
5542: L.1045:
5543: sra $25,$30,1
5544: move $30,$25
5545: bne $25,$0,L.1047
5546: b L.1043
5547: L.1047:
5548: mul.d $f30,$f30,$f30
5549: lw $25,$fp21-4($sp)
5550: sll $25,$25,1
5551: sw $25,$fp21-4($sp)
5552: l.d $f18,L.1051
5553: c.lt.d $f30,$f18; bc1f L.1041
5554: l.d $f18,L.1052
5555: mul.d $f30,$f18,$f30
5556: lw $25,$fp21-4($sp)
5557: subu $25,$25,1
5558: sw $25,$fp21-4($sp)
5559: b L.1041
5560: L.1043:
5561: L.1039:
5562: lw $25,$fp21-8($sp)
5563: beq $25,$0,L.1053
5564: l.d $f18,L.8
5565: div.d $f26,$f18,$f26
5566: negu $23,$23
5567: L.1053:
5568: mov.d $f12,$f26
5569: move $6,$23
5570: jal ldexp # real
5571: L.1027:
5572: l.d $f26,16($sp)
5573: l.d $f28,24($sp)
5574: l.d $f30,32($sp)
5575: lw $23,40($sp)
5576: lw $30,44($sp)
5577: lw $31,48($sp)
5578: addu $sp,$sp,72
5579: j $31
5580: .end pow
5581: .globl UfNGrad
5582: .comm UfNGrad,4
5583: .globl SqRWrng
5584: .comm SqRWrng,4
5585: .globl IEEE
5586: .comm IEEE,4
5587: .globl Anomaly
5588: .comm Anomaly,4
5589: .globl Monot
5590: .comm Monot,4
5591: .globl NotMonot
5592: .comm NotMonot,4
5593: .globl Done
5594: .comm Done,4
5595: .globl Break
5596: .comm Break,4
5597: .globl RSqrt
5598: .comm RSqrt,4
5599: .globl RAddSub
5600: .comm RAddSub,4
5601: .globl RDiv
5602: .comm RDiv,4
5603: .globl RMult
5604: .comm RMult,4
5605: .globl GAddSub
5606: .comm GAddSub,4
5607: .globl GDiv
5608: .comm GDiv,4
5609: .globl GMult
5610: .comm GMult,4
5611: .globl N1
5612: .comm N1,4
5613: .globl N
5614: .comm N,4
5615: .globl M
5616: .comm M,4
5617: .globl PageNo
5618: .comm PageNo,4
5619: .globl Milestone
5620: .comm Milestone,4
5621: .globl fpecount
5622: .comm fpecount,4
5623: .globl ErrCnt
5624: .comm ErrCnt,16
5625: .globl Z9
5626: .comm Z9,8
5627: .globl Z2
5628: .comm Z2,8
5629: .globl Z1
5630: .comm Z1,8
5631: .globl PseudoZero
5632: .comm PseudoZero,8
5633: .globl Z
5634: .comm Z,8
5635: .globl Random2
5636: .comm Random2,8
5637: .globl Y2
5638: .comm Y2,8
5639: .globl Y1
5640: .comm Y1,8
5641: .globl Y
5642: .comm Y,8
5643: .globl Random1
5644: .comm Random1,8
5645: .globl X8
5646: .comm X8,8
5647: .globl X2
5648: .comm X2,8
5649: .globl X1
5650: .comm X1,8
5651: .globl X
5652: .comm X,8
5653: .globl W
5654: .comm W,8
5655: .globl V9
5656: .comm V9,8
5657: .globl V0
5658: .comm V0,8
5659: .globl V
5660: .comm V,8
5661: .globl U2
5662: .comm U2,8
5663: .globl U1
5664: .comm U1,8
5665: .globl UfThold
5666: .comm UfThold,8
5667: .globl OneUlp
5668: .comm OneUlp,8
5669: .globl S
5670: .comm S,8
5671: .globl Underflow
5672: .comm Underflow,8
5673: .globl T
5674: .comm T,8
5675: .globl Random9
5676: .comm Random9,8
5677: .globl R
5678: .comm R,8
5679: .globl Q9
5680: .comm Q9,8
5681: .globl Q
5682: .comm Q,8
5683: .globl Precision
5684: .comm Precision,8
5685: .globl MyZero
5686: .comm MyZero,8
5687: .globl J
5688: .comm J,8
5689: .globl StickyBit
5690: .comm StickyBit,8
5691: .globl I
5692: .comm I,4
5693: .globl HInvrse
5694: .comm HInvrse,8
5695: .globl H
5696: .comm H,8
5697: .globl F9
5698: .comm F9,8
5699: .globl F6
5700: .comm F6,8
5701: .globl Third
5702: .comm Third,8
5703: .globl E9
5704: .comm E9,8
5705: .globl MaxSqEr
5706: .comm MaxSqEr,8
5707: .globl SqEr
5708: .comm SqEr,8
5709: .globl MinSqEr
5710: .comm MinSqEr,8
5711: .globl E3
5712: .comm E3,8
5713: .globl Exp2
5714: .comm Exp2,8
5715: .globl E1
5716: .comm E1,8
5717: .globl E0
5718: .comm E0,8
5719: .globl FourD
5720: .comm FourD,8
5721: .globl D
5722: .comm D,8
5723: .globl CInvrse
5724: .comm CInvrse,8
5725: .globl C
5726: .comm C,8
5727: .globl A1
5728: .comm A1,8
5729: .globl AInvrse
5730: .comm AInvrse,8
5731: .globl ch
5732: .comm ch,8
5733: .globl Indx
5734: .comm Indx,4
5735: .globl BMinusU2
5736: .comm BMinusU2,8
5737: .globl RadixD2
5738: .comm RadixD2,8
5739: .globl BInvrse
5740: .comm BInvrse,8
5741: .globl Radix
5742: .comm Radix,8
5743: .globl sigsave
5744: .comm sigsave,4
5745: .globl ovfl_buf
5746: .comm ovfl_buf,112
5747: .extern _iob 0
5748: .rdata
5749: .align 3; L.1052:.word 0x40000000
5750: .word 0x0
5751: .align 3; L.1051:.word 0x3fe00000
5752: .word 0x0
5753: .align 3; L.1034:.word 0x40913000
5754: .word 0x0
5755: .align 3; L.1033:.word 0xc0913000
5756: .word 0x0
5757: L.1026:.ascii "see source comments for more history.\000"
5758: L.1025:.ascii "BASIC version of this program (C) 1983 by Prof. W. M. Kahan;\000"
5759: L.1024:.ascii "as used by certain early WANG machines.\012\000"
5760: L.1023:.ascii "floating-point numbers, but also allows logarithmic encoding\000"
5761: L.1022:.ascii "\012The program is based upon a conventional radix representatio"
5762: .ascii "n for\000"
5763: L.1021:.ascii "of pathologies, and to say how well the arithmetic is implemente"
5764: .ascii "d.\000"
5765: L.1020:.ascii "of the arithmetic, this program tries to cope with a wider varie"
5766: .ascii "ty\000"
5767: L.1019:.ascii "the Radix, Precision and range (over/underflow thresholds)\000"
5768: L.1018:.ascii "W. J. Cody and W. Waite. Although both programs try to discover\000"
5769: L.1017:.ascii "book `Software Manual for the Elementary Functions' (1980) by\000"
5770: L.1016:.ascii "program called `MACHAR', which can be found at the end of the\000"
5771: L.1015:.ascii "The diagnostic capabilities of this program go beyond an earlier"
5772: .ascii "\000"
5773: L.1014:.ascii "Failures may confound subsequent diagnoses.\012\000"
5774: L.1013:.ascii " FAILUREs, like 2+2 == 5 .\000"
5775: L.1012:.ascii " Serious DEFECTs, like lack of a guard digit, and\000"
5776: L.1011:.ascii " FLAWs, like lack of a sticky bit,\000"
5777: L.1010:.ascii "The program attempts to discriminate among\000"
5778: L.1007:.ascii " Decimal-Binary conversion is NOT YET tested for accuracy.\000"
5779: L.1006:.ascii " Extra-precise subexpressions are revealed but NOT YET teste"
5780: .ascii "d.\000"
5781: L.1005:.ascii " Sqrt is tested. Y^X is not tested.\000"
5782: L.1004:.ascii "\011and for contamination with pseudo-zeros.\000"
5783: L.1003:.ascii " Comparisions are checked for consistency with subtraction\000"
5784: L.1002:.ascii " V0 tells, roughly, whether Infinity is represented.\000"
5785: L.1001:.ascii " V = an overflow threshold, roughly.\000"
5786: L.1000:.ascii " E0 and PseudoZero tell whether underflow is abrupt, gradual"
5787: .ascii ", or fuzzy.\000"
5788: L.999:.ascii " UnderflowThreshold = an underflow threshold.\000"
5789: L.998:.ascii " Whether a Sticky Bit used correctly for rounding.\000"
5790: L.997:.ascii "\011for Mult., Div., Add/Subt. and Sqrt.\000"
5791: L.996:.ascii " Whether arithmetic is chopped, correctly rounded, or someth"
5792: .ascii "ing else\000"
5793: L.995:.ascii " Adequacy of guard digits for Mult., Div. and Subt.\000"
5794: L.994:.ascii " U1 = 1/Radix^Precision = One Ulp of numbers a little less t"
5795: .ascii "han 1.0 .\000"
5796: L.993:.ascii "\011(OneUlpnit in the Last Place) of 1.000xxx .\000"
5797: L.992:.ascii " U2 = Radix/Radix^Precision = One Ulp\000"
5798: L.991:.ascii " Precision = number of significant digits carried.\000"
5799: L.990:.ascii " Radix = 1, 2, 4, 8, 10, 16, 100, 256 ...\000"
5800: L.989:.ascii "Running this program should reveal these characteristics:\000"
5801: L.986:.ascii "\011Other relevant compiler options:\000"
5802: L.985:.ascii "\011Optimization level:\012\000"
5803: L.984:.ascii "\011Compiler:\012\000"
5804: L.983:.ascii "\011Computer:\012\000"
5805: L.982:.ascii "\011Version:\01110 February 1989;\000"
5806: L.981:.ascii "\011Precision:\011double;\000"
5807: L.980:.ascii "In doing so, please include the following information:\000"
5808: L.979:.ascii "\011San Francisco, CA 94143-0704, USA\012\000"
5809: L.978:.ascii "\011University of California\000"
5810: L.977:.ascii "\011Computer Center U-76\000"
5811: L.976:.ascii "\011Richard Karpinski\000"
5812: L.975:.ascii "Please send suggestions and interesting results to\000"
5813: L.974:.ascii "cope with unanticipated and newly uncovered arithmetic pathologi"
5814: .ascii "es.\012\000"
5815: L.973:.ascii "Users are invited to help debug and augment this program so it w"
5816: .ascii "ill\000"
5817: L.970:.ascii "Answer questions with Y, y, N or n (unless otherwise indicated)."
5818: .ascii "\012\000"
5819: L.969:.ascii "amend it to make further progress.\012\000"
5820: L.968:.ascii "program anyway to see how many milestones it passes, and then\000"
5821: L.967:.ascii "warning. If persuasion avails naught, don't despair but run thi"
5822: .ascii "s\000"
5823: L.966:.ascii "to persevere with a surrogate value after, perhaps, displaying s"
5824: .ascii "ome\000"
5825: L.965:.ascii "error like Over/Underflow or Division by Zero occurs, but rather"
5826: .ascii "\000"
5827: L.964:.ascii "try to persuade the computer NOT to terminate execution when an\000"
5828: L.963:.ascii " `END OF TEST',\012\000"
5829: L.962:.ascii "Lest this program stop prematurely, i.e. before displaying\012\000"
5830: L.959:.byte 37,115,10,0
5831: L.954:.ascii " PLEASE NOTIFY KARPINKSI!\012\000"
5832: L.953:.ascii "%s test appears to be inconsistent...\012\000"
5833: L.951:.ascii "\011differs from Z * 1 = %.17e\012\000"
5834: L.950:.ascii "\011Comparison alleges that 1 * Z = %.17e\012\000"
5835: L.949:.ascii "Multiplication does not commute!\012\000"
5836: L.944:.ascii "Z / 1 = %.17e\012\000"
5837: L.941:.ascii "1 * Z == %g\012\000"
5838: L.938:.ascii "Z * 1 = %.17e \000"
5839: L.935:.ascii "%.17e\012\011compares different from \000"
5840: L.934:.ascii "What prints as Z = \000"
5841: L.929:.ascii "This is a DEFECT!\012\000"
5842: L.926:.ascii "This is a VERY SERIOUS DEFECT!\012\000"
5843: L.920:.ascii " has NOT just been signaled.\012\000"
5844: L.919:.ascii "This is O.K., provided Over/Underflow\000"
5845: L.916:.ascii "What the machine gets for (Z + Z) / Z is %.17e .\012\000"
5846: L.912:.ascii "(Z + Z) / Z should be safe.\012\000"
5847: L.911:.ascii "Since comparison denies Z = 0, evaluating \000"
5848: L.907:.ascii "Similar discrepancies have occurred %d times.\012\000"
5849: L.897:.ascii "\011\011they differ by %.17e .\012\000"
5850: L.896:.ascii "\011which compared unequal to correct %.17e ;\012\000"
5851: L.895:.ascii "\011yielded %.17e;\012\000"
5852: L.894:.ascii "\011(%.17e) ^ (%.17e)\012\000"
5853: L.893:.ascii "computing\012\000"
5854: L.892:.ascii "WARNING: computing\012\000"
5855: L.874:.ascii "\011instead of correct value 0 .\012\000"
5856: L.873:.ascii "sqrt( %.17e) - %.17e = %.17e\012\000"
5857: .align 3; L.865:.word 0x3ed4f8b5
5858: .word 0x88e368f0
5859: L.863:.ascii "%s: %s\000"
5860: L.862:.ascii "FLAW\000"
5861: L.861:.ascii "DEFECT\000"
5862: L.860:.ascii "SERIOUS DEFECT\000"
5863: L.859:.ascii "FAILURE\000"
5864: L.853:.ascii " Page: %d\012\012\000"
5865: L.852:.ascii "\012Diagnosis resumes after milestone Number %d\000"
5866: .align 3; L.850:.word 0xbff00000
5867: .word 0x0
5868: L.822:.ascii "END OF TEST.\012\000"
5869: L.821:.ascii "\012A total of %d floating point exceptions were registered.\012"
5870: .ascii "\000"
5871: L.818:.ascii "The arithmetic diagnosed appears to be Excellent!\012\000"
5872: L.817:.ascii " during Gradual Underflow.\012\000"
5873: L.816:.ascii ",\012except for possibly Double Rounding\000"
5874: L.815:.byte 46,10,0
5875: L.812:.ascii "854\000"
5876: L.811:.ascii "754\000"
5877: L.808:.ascii "the proposed IEEE standard P\000"
5878: L.807:.ascii "Rounding appears to conform to \000"
5879: L.804:.ascii "The arithmetic diagnosed seems Satisfactory.\012\000"
5880: L.798:.ascii "No failures, defects nor flaws have been discovered.\012\000"
5881: L.797:.ascii " program's subsequent diagnoses.\012\000"
5882: L.796:.ascii "Potentially fatal FAILURE may have spoiled this\000"
5883: L.793:.ascii "unacceptable Serious Defects.\012\000"
5884: L.792:.ascii "The arithmetic diagnosed has \000"
5885: L.788:.ascii "despite inconvenient Defects.\012\000"
5886: L.787:.ascii "The arithmetic diagnosed may be Acceptable\012\000"
5887: L.782:.ascii "Satisfactory though flawed.\012\000"
5888: L.781:.ascii "The arithmetic diagnosed seems \000"
5889: L.770:.ascii "The number of %-29s %d.\012\000"
5890: L.763:.ascii "FLAWs discovered =\000"
5891: L.762:.ascii "DEFECTs discovered =\000"
5892: L.761:.ascii "SERIOUS DEFECTs discovered =\000"
5893: L.760:.ascii "FAILUREs encountered =\000"
5894: L.756:.ascii "\012 Trying to compute 0 / 0 produces ...\000"
5895: L.755:.ascii " %.7e .\012\000"
5896: L.752:.ascii " Trying to compute 1 / 0 produces ...\000"
5897: L.751:.ascii "What message and/or values does Division by Zero produce?\012\000"
5898: L.750:.ascii " instead, X / X - 1/2 - 1/2 = %.17e .\012\000"
5899: L.749:.ascii " X / X differs from 1 when X = %.17e\012\000"
5900: L.744:.ascii " X / X traps when X = %g\012\000"
5901: L.728:.ascii "is too far from 1.\012\000"
5902: L.727:.ascii " unbalanced range; UfThold * V = %.17e\012\011%s\012\000"
5903: L.726:.ascii "Badly\000"
5904: L.719:.ascii " is too far from sqrt(Z) ^ 2 (%.17e) .\012\000"
5905: L.718:.ascii "Comparison alleges that Z = %17e\012\000"
5906: L.706:.ascii " is too far from sqrt(Z) ^ 2 = %.17e .\012\000"
5907: L.705:.ascii "Comparison alleges that what prints as Z = %.17e\012\000"
5908: L.688:.ascii "+-%g, +-%g\012and +-%g are confused by Overflow.\000"
5909: L.687:.ascii "Comparisons involving \000"
5910: L.681:.ascii "above is a DEFECT.\012\000"
5911: L.680:.ascii "Any overflow signal separating this * from the one\012\000"
5912: L.679:.ascii " nor for V / 1 = %.17e .\012\000"
5913: L.678:.ascii "No Overflow should be signaled for V * 1 = %.17e\012\000"
5914: L.677:.ascii "There is no saturation value because the system traps on overflo"
5915: .ascii "w.\012\000"
5916: L.676:.ascii "Overflow saturates at V0 = %.17e .\012\000"
5917: L.673:.ascii "Overflow threshold is V = %.17e .\012\000"
5918: L.664:.ascii "overflow past %.17e\012\011shrinks to %.17e .\012\000"
5919: L.661:.ascii "-(-Y) differs from Y.\012\000"
5920: L.660:.ascii "finds a \000"
5921: L.659:.ascii "Seems O.K.\012\000"
5922: L.656:.ascii "Trying it on Y = %.17e .\012\000"
5923: L.655:.ascii "Can `Z = -Y' overflow?\012\000"
5924: L.648:.ascii "This may generate an error.\012\000"
5925: L.647:.ascii "Searching for Overflow threshold:\012\000"
5926: L.646:.ascii " ... no discrepancies found.\012\000"
5927: L.638:.ascii "Testing powers Z^Q at four nearly extreme values.\012\000"
5928: L.637:.ascii "Accuracy seems adequate.\012\000"
5929: L.630:.ascii "\011calculations involving tiny interest rates.\012\000"
5930: L.629:.ascii "\011This much error may spoil financial\012\000"
5931: L.628:.ascii "\011differs from correct value by %.17e .\012\000"
5932: L.627:.ascii "\011(1 + (%.17e) ^ (%.17e);\012\000"
5933: L.626:.ascii " %.17e for\012\000"
5934: L.625:.ascii "Calculated\000"
5935: L.618:.ascii "Testing X^((X + 1) / (X - 1)) vs. exp(2) = %.17e as X -> 1.\012\000"
5936: L.614:.ascii "This computed value is O.K.\012\000"
5937: L.611:.ascii " threshold = %.17e .\012\000"
5938: L.610:.ascii "this is not between 0 and underflow\012\000"
5939: L.606:.ascii "actually calculating yields: %.17e .\012\000"
5940: L.605:.ascii "should afflict the expression\012\011(%.17e) ^ (%.17e);\012\000"
5941: L.604:.ascii "UfThold = (%.17e) ^ (%.17e)\012only underflow \000"
5942: L.603:.ascii "Since underflow occurs below the threshold\012\000"
5943: L.602:.ascii "Range is too narrow; U1^%d Underflows.\012\000"
5944: L.597:.ascii "merely roundoff.\012\000"
5945: L.596:.ascii "calculation may suffer larger Relative error than \000"
5946: L.595:.ascii " below which\000"
5947: L.594:.ascii "The Underflow threshold is %.17e, %s\012\000"
5948: L.593:.ascii "X / Z = 1 + %g .\012\000"
5949: L.592:.ascii "X / Z fails!\012\000"
5950: L.589:.ascii "encounter Division by Zero although actually\012\000"
5951: L.588:.ascii " ... (f(X) - f(Z)) / (X - Z) ...\012\000"
5952: L.587:.ascii " if (X == Z) ... else\000"
5953: L.586:.ascii "confusion when innocent statements like\012\000"
5954: L.585:.ascii "this is a SERIOUS DEFECT\012that causes \000"
5955: L.584:.ascii " Should this NOT signal Underflow, \000"
5956: L.583:.ascii "yet X - Z yields %.17e .\012\000"
5957: L.582:.ascii "X = %.17e\012\011is not equal to Z = %.17e .\012\000"
5958: L.577:.ascii "Underflow / UfThold failed!\012\000"
5959: L.566:.ascii "(roundoff in UfThold) < E0.\012\000"
5960: L.565:.ascii "Underflow is gradual; it incurs Absolute Error =\012\000"
5961: L.560:.ascii "|Q - Y| = %.17e .\012\000"
5962: L.559:.ascii "print out as Q = %.17e, Y = %.17e .\012\000"
5963: L.558:.ascii "Q == Y while denying that |Q - Y| == 0; these values\012\000"
5964: L.557:.ascii "Underflow confuses Comparison, which alleges that\012\000"
5965: L.555:.ascii " or else multiplication gets too many last digits wrong.\012\000"
5966: L.554:.ascii " coming down from %.17e\012\000"
5967: L.553:.ascii "approach a threshold = %.17e\012\000"
5968: L.552:.ascii "Either accuracy deteriorates as numbers\012\000"
5969: L.540:.ascii "Smallest strictly positive number found is E0 = %g .\012\000"
5970: L.539:.ascii " threshold than products.\012\000"
5971: L.538:.ascii "Difference underflows at a higher\000"
5972: L.535:.ascii " threshold than differences.\012\000"
5973: L.534:.ascii "Products underflow at a higher\000"
5974: L.527:.ascii "value PseudoZero that prints out as %g .\012\000"
5975: L.526:.ascii "Underflow can stick at an allegedly positive\012\000"
5976: L.525:.ascii "positive, isn't; it prints out as %g .\012\000"
5977: L.524:.ascii "But -PseudoZero, which should be\012\000"
5978: L.521:.ascii "PseudoZero that prints out as: %g .\012\000"
5979: L.520:.ascii "allegedly negative value\012\000"
5980: L.519:.ascii "Positive expressions can underflow to an\012\000"
5981: L.506:.ascii "multiplication gets too many last digits wrong.\012\000"
5982: L.482:.ascii "Seeking Underflow thresholds UfThold and E0.\012\000"
5983: L.479:.ascii "... no discrepancis found.\012\000"
5984: L.476:.ascii "\011involving interest rates.\012\000"
5985: L.475:.ascii "Errors like this may invalidate financial calculations\012\000"
5986: L.454:.ascii "Testing powers Z^i for small Integers Z and i.\012\000"
5987: L.451:.ascii "sqrt gets too many last digits wrong\000"
5988: L.449:.ascii "to %.7e ulps.\012\000"
5989: L.448:.ascii "Observed errors run from %.7e \000"
5990: L.447:.ascii "Square root is neither chopped nor correctly rounded.\012\000"
5991: L.444:.ascii "Square root appears to be chopped.\012\000"
5992: L.439:.ascii "Square root appears to be correctly rounded.\012\000"
5993: L.434:.ascii " fails test whether sqrt rounds or chops.\012\000"
5994: L.433:.ascii "Radix^Precision = %.7e\012\000"
5995: L.432:.ascii "Anomalous arithmetic with Integer < \000"
5996: L.392:.ascii "Testing whether sqrt is rounded or chopped.\012\000"
5997: L.370:.ascii "sqrt(X) is non-monotonic for X near %.7e .\012\000"
5998: L.369:.ascii "sqrt has passed a test for Monotonicity.\012\000"
5999: L.352:.ascii "Test for sqrt monotonicity.\012\000"
6000: L.341:.ascii "Testing if sqrt(X * X) == X for %d Integers X.\012\000"
6001: L.336:.ascii "Square root of 0.0, -0.0 or 1.0 wrong\000"
6002: L.334:.ascii "\012Running test of square root(x).\012\000"
6003: L.333:.ascii " No failures found in %d integer pairs.\012\000"
6004: L.332:.ascii "X * Y == Y * X trial fails.\012\000"
6005: .align 3; L.323:.word 0x40080000
6006: .word 0x0
6007: L.322:.ascii "Testing on %d random pairs.\012\000"
6008: L.321:.ascii "Does Multiplication commute? \000"
6009: L.318:.ascii "lack(s) of guard digits or failure(s) to correctly round or chop"
6010: .ascii "\012(noted above) count as one flaw in the final tally below\000"
6011: L.316:.ascii "Sticky bit used incorrectly or not at all.\012\000"
6012: L.315:.ascii "Sticky bit apparently used correctly.\012\000"
6013: L.298:.ascii "Checking for sticky bit.\012\000"
6014: L.295:.ascii "(X - Y) + (Y - X) is non zero!\012\000"
6015: L.292:.ascii "Addition/Subtraction neither rounds nor chops.\012\000"
6016: L.291:.ascii "Add/Subtract\000"
6017: L.288:.ascii "Addition/Subtraction appears to round correctly.\012\000"
6018: L.281:.ascii "Add/Subtract appears to be chopped.\012\000"
6019: L.276:.ascii "Incomplete carry-propagation in Addition\000"
6020: L.272:.ascii "Radix * ( 1 / Radix ) differs from 1\000"
6021: L.270:.ascii "/ is neither chopped nor correctly rounded.\012\000"
6022: L.267:.ascii "Division appears to chop.\012\000"
6023: L.264:.ascii "Division\000"
6024: L.261:.ascii "Division appears to round correctly.\012\000"
6025: L.256:.ascii "Multiplication\000"
6026: L.253:.ascii "* is neither chopped nor correctly rounded.\012\000"
6027: L.252:.ascii "Multiplication appears to chop.\012\000"
6028: L.249:.ascii "Multiplication appears to round correctly.\012\000"
6029: L.239:.ascii "X * (1/X) differs from 1\000"
6030: L.220:.ascii "Checking rounding on multiply, divide and add/subtract.\012\000"
6031: L.219:.ascii " *, /, and - appear to have guard digits, as they should.\012"
6032: .ascii "\000"
6033: L.216:.ascii " ... if (X == 1.0) {.....} else {.../(X-1.0)...}\012\000"
6034: L.215:.ascii " such precautions against division by zero as\012\000"
6035: L.214:.ascii " subtraction yields (1-U1) - 1 = 0 , thereby vitiating\012\000"
6036: L.213:.ascii "comparison alleges (1-U1) < 1 although\012\000"
6037: L.210:.ascii "- lacks Guard Digit, so cancellation is obscured\000"
6038: L.205:.ascii "* and/or / gets too many last digits wrong\000"
6039: L.201:.ascii "Computed value of 1/1.000..1 >= 1\000"
6040: L.199:.ascii "Division lacks a Guard Digit, so X/1 != X\000"
6041: L.194:.ascii "Division lacks a Guard Digit, so error can exceed 1 ulp\012or 1"
6042: .ascii "/3 and 3/9 and 9/27 may disagree\000"
6043: L.190:.ascii "* gets too many final digits wrong.\012\000"
6044: L.188:.ascii "* lacks a Guard Digit, so 1*X != X\000"
6045: L.185:.ascii "\012Checking for guard digit in *, /, and -.\012\000"
6046: L.184:.ascii "Subtraction appears to be normalized, as it should be.\000"
6047: L.179:.ascii "Subtraction is not normalized X=Y,X+Z != Y+Z!\000"
6048: L.175:.ascii "roughly %g extra significant decimals.\012\000"
6049: L.174:.ascii "precisely with about %g extra B-digits, i.e.\012\000"
6050: L.173:.ascii "Some subexpressions appear to be calculated extra\012\000"
6051: L.167:.ascii "of an\012extra-precision\000"
6052: L.166:.ascii "Z1 = %.7e, or Z2 = %.7e \000"
6053: L.165:.ascii ", or exact rational arithmetic a result\012\000"
6054: L.164:.ascii "Because of unusual Radix = %f\000"
6055: L.160:.ascii "\011U2 = %.7e, Z2 - U2 = %.7e\012\000"
6056: L.159:.ascii "\011U1 = %.7e, Z1 - U1 = %.7e\012\000"
6057: L.158:.ascii "Precision\000"
6058: L.157:.byte 0
6059: L.150:.ascii "That feature is not tested further by this program.\012\000"
6060: L.145:.ascii "Possibly some part of this\000"
6061: L.144:.ascii "by extra-precise evaluation of arithmetic subexpressions.\012\000"
6062: L.143:.ascii "are symptoms of inconsistencies introduced\012\000"
6063: L.142:.ascii "respectively %.7e, %.7e, %.7e,\012\000"
6064: L.141:.ascii "Disagreements among the values X1, Y1, Z1,\012\000"
6065: L.119:.ascii "Precision worse than 5 decimal figures \000"
6066: L.117:.ascii "The number of significant digits of the Radix is %f .\012\000"
6067: L.116:.ascii "logarithmic encoding has precision characterized solely by U1.\012"
6068: .ascii "\000"
6069: L.113:.ascii "of significant digits but, by itself, this is a minor flaw.\012\000"
6070: L.112:.ascii "Precision cannot be characterized by an Integer number\012\000"
6071: L.99:.ascii "Comparison is fuzzy,X=1 but X-1/2-1/2 != 0\000"
6072: L.95:.ascii "(1-U1)-1/2 < 1/2 is FALSE, prog. fails?\000"
6073: .align 3; L.93:.word 0x40240000
6074: .word 0x0
6075: L.88:.ascii "Radix is not as good as 2 or 10\000"
6076: L.84:.ascii "Radix is too big: roundoff problems\000"
6077: L.82:.ascii "MYSTERY: recalculated Radix = %.7e .\012\000"
6078: L.81:.ascii "Radix confirmed.\012\000"
6079: .align 3; L.78:.word 0x3f847ae1
6080: .word 0x47ae147a
6081: L.77:.ascii "gets better closest relative separation U1 = %.7e .\012\000"
6082: L.76:.ascii "confirms closest relative separation U1 .\012\000"
6083: L.61:.ascii "Recalculating radix and precision\012 \000"
6084: L.60:.ascii "Closest relative separation found is U1 = %.7e .\012\012\000"
6085: L.54:.ascii "Radix = %f .\012\000"
6086: L.45:.ascii "Searching for Radix and Precision.\012\000"
6087: L.44:.byte 10,0
6088: L.43:.ascii "-1, 0, 1/2, 1, 2, 3, 4, 5, 9, 27, 32 & 240 are O.K.\012\000"
6089: L.38:.ascii "5 != 4+1, 240/3 != 80, 240/4 != 60, or 240/5 != 48\000"
6090: L.34:.ascii "9 != 3*3, 27 != 9*3, 32 != 8*4, or 32-27-4-1 != 0\000"
6091: L.30:.ascii "1/2 + (-1) + 1/2 != 0\000"
6092: L.26:.ascii "-1+1 != 0, (-1)+abs(1) != 0, or -1+(-1)*(-1) != 0\000"
6093: L.22:.ascii "3 != 2+1, 4 != 3+1, 4+2*(-2) != 0, or 4-3-1 != 0\000"
6094: .align 3; L.20:.word 0x3f50624d
6095: .word 0xd2f1a9fb
6096: L.19:.ascii "Comparison alleges that -0.0 is Non-zero!\012\000"
6097: L.14:.ascii "0+0 != 0, 1-1 != 0, 1 <= 0, or 1+1 != 2\000"
6098: L.12:.ascii "Program is now RUNNING tests on small integers:\012\000"
6099: .align 3; L.8:.word 0x3ff00000
6100: .word 0x0
6101: .align 3; L.7:.word 0x0
6102: .word 0x0
6103: L.2:.ascii "\012* * * FLOATING-POINT ERROR * * *\012\000"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.