|
|
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.