|
|
1.1 ! root 1: .data ! 2: .globl _Zero ! 3: .align 2; _Zero:.long 0x0,0x0 ! 4: .globl _Half ! 5: .align 2; _Half:.long 0x3fe00000,0x0 ! 6: .globl _One ! 7: .align 2; _One:.long 0x3ff00000,0x0 ! 8: .globl _Two ! 9: .align 2; _Two:.long 0x40000000,0x0 ! 10: .globl _Three ! 11: .align 2; _Three:.long 0x40080000,0x0 ! 12: .globl _Four ! 13: .align 2; _Four:.long 0x40100000,0x0 ! 14: .globl _Five ! 15: .align 2; _Five:.long 0x40140000,0x0 ! 16: .globl _Eight ! 17: .align 2; _Eight:.long 0x40200000,0x0 ! 18: .globl _Nine ! 19: .align 2; _Nine:.long 0x40220000,0x0 ! 20: .globl _TwentySeven ! 21: .align 2; _TwentySeven:.long 0x403b0000,0x0 ! 22: .globl _ThirtyTwo ! 23: .align 2; _ThirtyTwo:.long 0x40400000,0x0 ! 24: .globl _TwoForty ! 25: .align 2; _TwoForty:.long 0x406e0000,0x0 ! 26: .globl _MinusOne ! 27: .align 2; _MinusOne:.long 0xbff00000,0x0 ! 28: .globl _OneAndHalf ! 29: .align 2; _OneAndHalf:.long 0x3ff80000,0x0 ! 30: .globl _NoTrials ! 31: .align 2; _NoTrials:.long 20 ! 32: .text ! 33: .globl _sigfpe ! 34: .align 2 ! 35: _sigfpe:link a6,#-8 ! 36: addql #1,_fpecount:l ! 37: movl #L2,sp@ ! 38: jbsr _printf:l ! 39: movl #__iob+20,sp@ ! 40: jbsr _fflush:l ! 41: tstl _sigsave:l; jeq L4 ! 42: movl #8,sp@ ! 43: movl _sigsave:l,sp@(4) ! 44: jbsr _signal:l ! 45: clrl _sigsave:l ! 46: movl #_ovfl_buf,sp@ ! 47: movl #1,sp@(4) ! 48: jbsr _longjmp:l ! 49: L4: ! 50: jbsr _abort:l ! 51: L1: ! 52: unlk a6 ! 53: rts ! 54: .data ! 55: .align 2; L762:.long L763 ! 56: .long L764 ! 57: .long L765 ! 58: .long L766 ! 59: .text ! 60: .globl _main ! 61: .align 2 ! 62: _main:link a6,#-144 ! 63: fmovemx #0xff,a6@(-100) ! 64: moveml #0x498,a6@(-116) ! 65: movl #L7,sp@ ! 66: movl #L8,sp@(4) ! 67: movl #L9,sp@(8) ! 68: lea a6@(-4),a2 ! 69: movl a2,sp@(12) ! 70: jbsr _ieee_flags:l ! 71: fmoved L10:l,fp3 ! 72: fmoved fp3,_Zero:l ! 73: fmoved L11:l,fp3 ! 74: fmoved fp3,_One:l ! 75: fmoved _One:l,fp3 ! 76: fmovex fp3,fp2; faddx fp3,fp2 ! 77: fmoved fp2,_Two:l ! 78: fmoved _Two:l,fp2 ! 79: fmovex fp2,fp7 ! 80: fmovex fp2,fp1; faddx fp3,fp1 ! 81: fmoved fp1,_Three:l ! 82: fmoved _Three:l,fp1 ! 83: fmovex fp1,fp0; faddx fp3,fp0 ! 84: fmoved fp0,_Four:l ! 85: fmoved _Four:l,fp0 ! 86: fmovex fp0,fp2; faddx fp3,fp2 ! 87: fmoved fp2,_Five:l ! 88: fmovex fp0,fp2; faddx fp0,fp2 ! 89: fmoved fp2,_Eight:l ! 90: fmovex fp1,fp2; fmulx fp1,fp2 ! 91: fmoved fp2,_Nine:l ! 92: fmoved _Nine:l,fp2 ! 93: fmulx fp1,fp2 ! 94: fmoved fp2,_TwentySeven:l ! 95: fmovex fp0,fp2; fmuld _Eight:l,fp2 ! 96: fmoved fp2,_ThirtyTwo:l ! 97: fmovex fp0,fp2; fmuld _Five:l,fp2 ! 98: fmulx fp1,fp2 ! 99: fmulx fp0,fp2 ! 100: fmoved fp2,_TwoForty:l ! 101: fnegx fp3,fp2 ! 102: fmoved fp2,_MinusOne:l ! 103: fmovex fp3,fp2; fdivx fp7,fp2 ! 104: fmoved fp2,_Half:l ! 105: faddd _Half:l,fp3 ! 106: fmoved fp3,_OneAndHalf:l ! 107: clrl _ErrCnt:l ! 108: clrl _ErrCnt+4:l ! 109: clrl _ErrCnt+8:l ! 110: clrl _ErrCnt+12:l ! 111: movl #1,_PageNo:l ! 112: clrl _Milestone:l ! 113: movl #8,sp@ ! 114: movl #_sigfpe,sp@(4) ! 115: jbsr _signal:l ! 116: jbsr _Instructions:l ! 117: jbsr _Pause:l ! 118: jbsr _Heading:l ! 119: jbsr _Pause:l ! 120: jbsr _Characteristics:l ! 121: jbsr _Pause:l ! 122: jbsr _History:l ! 123: jbsr _Pause:l ! 124: movl #7,_Milestone:l ! 125: movl #L15,sp@ ! 126: jbsr _printf:l ! 127: movl #0,sp@ ! 128: fmoved _Zero:l,fp3 ! 129: fmovex fp3,fp2; faddx fp3,fp2 ! 130: fcmpx fp3,fp2; fjne L18 ! 131: fmoved _One:l,fp2 ! 132: fmovex fp2,fp1; fsubx fp2,fp1 ! 133: fcmpx fp3,fp1; fjne L18 ! 134: fcmpx fp3,fp2; fjle L18 ! 135: fmovex fp2,fp3; faddx fp2,fp3 ! 136: fcmpd _Two:l,fp3; fjne L18 ! 137: movl #1,d7 ! 138: jra L19 ! 139: L18: ! 140: clrl d7 ! 141: L19: ! 142: movl d7,sp@(4) ! 143: movl #L17,sp@(8) ! 144: jbsr _TstCond:l ! 145: fnegd _Zero:l,fp3 ! 146: fmoved fp3,_Z:l ! 147: fmoved _Z:l,fp3 ! 148: fcmpd L10:l,fp3; fjeq L20 ! 149: addql #1,_ErrCnt:l ! 150: movl #L22,sp@ ! 151: jbsr _printf:l ! 152: fmoved L23:l,fp3 ! 153: fmoved fp3,_U1:l ! 154: fmoved L11:l,fp3 ! 155: fmoved fp3,_Radix:l ! 156: jbsr _TstPtUf:l ! 157: L20: ! 158: movl #0,sp@ ! 159: fmoved _Three:l,fp3 ! 160: fmoved _Two:l,fp2 ! 161: fmovex fp2,fp7 ! 162: fmoved _One:l,fp1 ! 163: fmovex fp1,fp6 ! 164: fmovex fp2,fp0; faddx fp1,fp0 ! 165: fcmpx fp0,fp3; fjne L26 ! 166: fmoved _Four:l,fp0 ! 167: fmovex fp3,fp2; faddx fp1,fp2 ! 168: fcmpx fp2,fp0; fjne L26 ! 169: fnegx fp7,fp2 ! 170: fmovex fp7,fp1; fmulx fp2,fp1 ! 171: fmovex fp0,fp2; faddx fp1,fp2 ! 172: fmoved _Zero:l,fp1 ! 173: fcmpx fp1,fp2; fjne L26 ! 174: fmovex fp0,fp2; fsubx fp3,fp2 ! 175: fmovex fp2,fp3; fsubx fp6,fp3 ! 176: fcmpx fp1,fp3; fjne L26 ! 177: movl #1,d7 ! 178: jra L27 ! 179: L26: ! 180: clrl d7 ! 181: L27: ! 182: movl d7,sp@(4) ! 183: movl #L25,sp@(8) ! 184: jbsr _TstCond:l ! 185: fmoved _MinusOne:l,fp3 ! 186: fmoved L10:l,fp2 ! 187: fmoved _One:l,fp1 ! 188: fsubx fp1,fp2 ! 189: fcmpx fp2,fp3; fjne L30 ! 190: fmovex fp3,fp2; faddx fp1,fp2 ! 191: fmoved _Zero:l,fp0 ! 192: fcmpx fp0,fp2; fjne L30 ! 193: fmovex fp1,fp2; faddx fp3,fp2 ! 194: fcmpx fp0,fp2; fjne L30 ! 195: fmoved fp1,sp@(0) ! 196: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 197: faddx fp0,fp3 ! 198: fmoved _Zero:l,fp2 ! 199: fcmpx fp2,fp3; fjne L30 ! 200: fmoved _MinusOne:l,fp3 ! 201: fmovex fp3,fp1; fmulx fp3,fp1 ! 202: faddx fp1,fp3 ! 203: fcmpx fp2,fp3; fjne L30 ! 204: movl #1,d7 ! 205: jra L31 ! 206: L30: ! 207: clrl d7 ! 208: L31: ! 209: movl #0,sp@ ! 210: movl d7,sp@(4) ! 211: movl #L29,sp@(8) ! 212: jbsr _TstCond:l ! 213: movl #0,sp@ ! 214: fmoved _Half:l,fp3 ! 215: fmovex fp3,fp2; faddd _MinusOne:l,fp2 ! 216: faddx fp3,fp2 ! 217: fcmpd _Zero:l,fp2; fjne L34 ! 218: movl #1,d7 ! 219: jra L35 ! 220: L34: ! 221: clrl d7 ! 222: L35: ! 223: movl d7,sp@(4) ! 224: movl #L33,sp@(8) ! 225: jbsr _TstCond:l ! 226: movl #10,_Milestone:l ! 227: movl #0,sp@ ! 228: fmoved _Nine:l,fp3 ! 229: fmoved _Three:l,fp2 ! 230: fmovex fp2,fp1; fmulx fp2,fp1 ! 231: fcmpx fp1,fp3; fjne L38 ! 232: fmoved _TwentySeven:l,fp1 ! 233: fmulx fp2,fp3 ! 234: fcmpx fp3,fp1; fjne L38 ! 235: fmoved _Eight:l,fp3 ! 236: fmoved _Four:l,fp2 ! 237: fmovex fp2,fp0; faddx fp2,fp0 ! 238: fcmpx fp0,fp3; fjne L38 ! 239: fmoved _ThirtyTwo:l,fp0 ! 240: fmulx fp2,fp3 ! 241: fcmpx fp3,fp0; fjne L38 ! 242: fmovex fp0,fp3; fsubx fp1,fp3 ! 243: fsubx fp2,fp3 ! 244: fsubd _One:l,fp3 ! 245: fcmpd _Zero:l,fp3; fjne L38 ! 246: movl #1,d7 ! 247: jra L39 ! 248: L38: ! 249: clrl d7 ! 250: L39: ! 251: movl d7,sp@(4) ! 252: movl #L37,sp@(8) ! 253: jbsr _TstCond:l ! 254: movl #0,sp@ ! 255: fmoved _Five:l,fp3 ! 256: fmovex fp3,fp7 ! 257: fmoved _Four:l,fp2 ! 258: fmovex fp2,fp1; faddd _One:l,fp1 ! 259: fcmpx fp1,fp3; fjne L42 ! 260: fmoved _TwoForty:l,fp1 ! 261: fmovex fp1,fp5 ! 262: fmovex fp2,fp0; fmulx fp3,fp0 ! 263: fmoved _Three:l,fp3 ! 264: fmovex fp3,fp6 ! 265: fmulx fp3,fp0 ! 266: fmulx fp2,fp0 ! 267: fcmpx fp0,fp1; fjne L42 ! 268: fmovex fp1,fp0; fdivx fp3,fp0 ! 269: fmovex fp2,fp3; fmulx fp2,fp3 ! 270: fmulx fp7,fp3 ! 271: fsubx fp3,fp0 ! 272: fmoved _Zero:l,fp3 ! 273: fcmpx fp3,fp0; fjne L42 ! 274: fmovex fp1,fp0; fdivx fp2,fp0 ! 275: fmovex fp7,fp1; fmulx fp6,fp1 ! 276: fmulx fp2,fp1 ! 277: fsubx fp1,fp0 ! 278: fcmpx fp3,fp0; fjne L42 ! 279: fmovex fp5,fp1; fdivx fp7,fp1 ! 280: fmovex fp2,fp0; fmulx fp6,fp0 ! 281: fmulx fp2,fp0 ! 282: fmovex fp1,fp2; fsubx fp0,fp2 ! 283: fcmpx fp3,fp2; fjne L42 ! 284: movl #1,d7 ! 285: jra L43 ! 286: L42: ! 287: clrl d7 ! 288: L43: ! 289: movl d7,sp@(4) ! 290: movl #L41,sp@(8) ! 291: jbsr _TstCond:l ! 292: tstl _ErrCnt:l; jne L44 ! 293: movl #L46,sp@ ! 294: jbsr _printf:l ! 295: movl #L47,sp@ ! 296: jbsr _printf:l ! 297: L44: ! 298: movl #L48,sp@ ! 299: jbsr _printf:l ! 300: fmoved _One:l,fp3 ! 301: fmoved fp3,_W:l ! 302: L49: ! 303: fmoved _W:l,fp3 ! 304: fmovex fp3,fp2; faddx fp3,fp2 ! 305: fmoved fp2,_W:l ! 306: fmoved _W:l,fp3 ! 307: fmoved _One:l,fp2 ! 308: fmovex fp3,fp1; faddx fp2,fp1 ! 309: fmoved fp1,_Y:l ! 310: fmoved _Y:l,fp1 ! 311: fsubx fp3,fp1 ! 312: fmoved fp1,_Z:l ! 313: fmoved _Z:l,fp3 ! 314: fsubx fp2,fp3 ! 315: fmoved fp3,_Y:l ! 316: L50: ! 317: fmoved _Y:l,fp3 ! 318: fmoved fp3,sp@(0) ! 319: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 320: fmoved _MinusOne:l,fp3 ! 321: faddx fp0,fp3 ! 322: fcmpd _Zero:l,fp3; fjlt L49 ! 323: fmoved _Zero:l,fp3 ! 324: fmoved fp3,_Precision:l ! 325: fmoved _One:l,fp3 ! 326: fmoved fp3,_Y:l ! 327: L52: ! 328: fmoved _W:l,fp3 ! 329: fmoved _Y:l,fp2 ! 330: fmovex fp3,fp1; faddx fp2,fp1 ! 331: fmoved fp1,_Radix:l ! 332: fmovex fp2,fp1; faddx fp2,fp1 ! 333: fmoved fp1,_Y:l ! 334: fmoved _Radix:l,fp2 ! 335: fsubx fp3,fp2 ! 336: fmoved fp2,_Radix:l ! 337: L53: ! 338: fmoved _Radix:l,fp3 ! 339: fcmpd _Zero:l,fp3; fjeq L52 ! 340: fmoved _Radix:l,fp3 ! 341: fcmpd _Two:l,fp3; fjge L55 ! 342: fmoved _One:l,fp3 ! 343: fmoved fp3,_Radix:l ! 344: L55: ! 345: movl #L57,sp@ ! 346: fmoved _Radix:l,fp3 ! 347: fmoved fp3,sp@(4) ! 348: jbsr _printf:l ! 349: fmoved _Radix:l,fp3 ! 350: fcmpd L11:l,fp3; fjeq L58 ! 351: fmoved _One:l,fp3 ! 352: fmoved fp3,_W:l ! 353: L60: ! 354: fmoved _Precision:l,fp3 ! 355: fmoved _One:l,fp2 ! 356: faddx fp2,fp3 ! 357: fmoved fp3,_Precision:l ! 358: fmoved _W:l,fp3 ! 359: fmuld _Radix:l,fp3 ! 360: fmoved fp3,_W:l ! 361: fmoved _W:l,fp3 ! 362: faddx fp2,fp3 ! 363: fmoved fp3,_Y:l ! 364: L61: ! 365: fmoved _Y:l,fp3 ! 366: fsubd _W:l,fp3 ! 367: fcmpd _One:l,fp3; fjeq L60 ! 368: L58: ! 369: fmoved _One:l,fp3 ! 370: fdivd _W:l,fp3 ! 371: fmoved fp3,_U1:l ! 372: fmoved _Radix:l,fp3 ! 373: fmoved _U1:l,fp2 ! 374: fmulx fp2,fp3 ! 375: fmoved fp3,_U2:l ! 376: movl #L63,sp@ ! 377: fmoved fp2,sp@(4) ! 378: jbsr _printf:l ! 379: movl #L64,sp@ ! 380: jbsr _printf:l ! 381: fmoved _Radix:l,fp3 ! 382: fmoved fp3,_E0:l ! 383: fmoved _U1:l,fp3 ! 384: fmoved fp3,_E1:l ! 385: fmoved _U2:l,fp3 ! 386: fmoved fp3,_E9:l ! 387: fmoved _Precision:l,fp3 ! 388: fmoved fp3,_E3:l ! 389: fmoved _Four:l,fp3 ! 390: fdivd _Three:l,fp3 ! 391: fmoved fp3,_X:l ! 392: fmoved _X:l,fp3 ! 393: fsubd _One:l,fp3 ! 394: fmoved fp3,_Third:l ! 395: fmoved _Half:l,fp3 ! 396: fmoved _Third:l,fp2 ! 397: fsubx fp2,fp3 ! 398: fmoved fp3,_F6:l ! 399: fmoved _F6:l,fp3 ! 400: fmovex fp3,fp1; faddx fp3,fp1 ! 401: fmoved fp1,_X:l ! 402: fmoved _X:l,fp3 ! 403: fsubx fp2,fp3 ! 404: fmoved fp3,sp@(0) ! 405: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 406: fmoved fp0,_X:l ! 407: fmoved _X:l,fp3 ! 408: fcmpd _U2:l,fp3; fjge L65 ! 409: fmoved _U2:l,fp3 ! 410: fmoved fp3,_X:l ! 411: L65: ! 412: L67: ! 413: fmoved _X:l,fp3 ! 414: fmoved fp3,_U2:l ! 415: fmoved _Half:l,fp3 ! 416: fmoved _U2:l,fp2 ! 417: fmulx fp2,fp3 ! 418: fmoved _ThirtyTwo:l,fp1 ! 419: fmulx fp2,fp1 ! 420: fmulx fp2,fp1 ! 421: faddx fp1,fp3 ! 422: fmoved fp3,_Y:l ! 423: fmoved _One:l,fp3 ! 424: fmovex fp3,fp2; faddd _Y:l,fp2 ! 425: fmoved fp2,_Y:l ! 426: fmoved _Y:l,fp2 ! 427: fsubx fp3,fp2 ! 428: fmoved fp2,_X:l ! 429: L68: ! 430: fmoved _U2:l,fp3 ! 431: fmoved _X:l,fp2 ! 432: fcmpx fp2,fp3; fjle L70 ! 433: fcmpd _Zero:l,fp2; fjgt L67 ! 434: L70: ! 435: fmoved _Two:l,fp3 ! 436: fdivd _Three:l,fp3 ! 437: fmoved fp3,_X:l ! 438: fmoved _X:l,fp3 ! 439: fmoved _Half:l,fp2 ! 440: fsubx fp2,fp3 ! 441: fmoved fp3,_F6:l ! 442: fmoved _F6:l,fp3 ! 443: fmovex fp3,fp1; faddx fp3,fp1 ! 444: fmoved fp1,_Third:l ! 445: fmoved _Third:l,fp1 ! 446: fsubx fp2,fp1 ! 447: fmoved fp1,_X:l ! 448: fmoved _X:l,fp2 ! 449: faddx fp3,fp2 ! 450: fmoved fp2,sp@(0) ! 451: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 452: fmoved fp0,_X:l ! 453: fmoved _X:l,fp3 ! 454: fcmpd _U1:l,fp3; fjge L71 ! 455: fmoved _U1:l,fp3 ! 456: fmoved fp3,_X:l ! 457: L71: ! 458: L73: ! 459: fmoved _X:l,fp3 ! 460: fmoved fp3,_U1:l ! 461: fmoved _Half:l,fp3 ! 462: fmoved _U1:l,fp2 ! 463: fmovex fp3,fp1; fmulx fp2,fp1 ! 464: fmoved _ThirtyTwo:l,fp0 ! 465: fmulx fp2,fp0 ! 466: fmulx fp2,fp0 ! 467: fmovex fp1,fp2; faddx fp0,fp2 ! 468: fmoved fp2,_Y:l ! 469: fmovex fp3,fp2; fsubd _Y:l,fp2 ! 470: fmoved fp2,_Y:l ! 471: fmovex fp3,fp2; faddd _Y:l,fp2 ! 472: fmoved fp2,_X:l ! 473: fmovex fp3,fp2; fsubd _X:l,fp2 ! 474: fmoved fp2,_Y:l ! 475: faddd _Y:l,fp3 ! 476: fmoved fp3,_X:l ! 477: L74: ! 478: fmoved _U1:l,fp3 ! 479: fmoved _X:l,fp2 ! 480: fcmpx fp2,fp3; fjle L76 ! 481: fcmpd _Zero:l,fp2; fjgt L73 ! 482: L76: ! 483: fmoved _U1:l,fp3 ! 484: fcmpd _E1:l,fp3; fjne L77 ! 485: movl #L79,sp@ ! 486: jbsr _printf:l ! 487: jra L78 ! 488: L77: ! 489: movl #L80,sp@ ! 490: fmoved _U1:l,fp3 ! 491: fmoved fp3,sp@(4) ! 492: jbsr _printf:l ! 493: L78: ! 494: fmoved _One:l,fp3 ! 495: fmoved _U1:l,fp2 ! 496: fdivx fp2,fp3 ! 497: fmoved fp3,_W:l ! 498: fmoved _Half:l,fp3 ! 499: fmovex fp3,fp1; fsubx fp2,fp1 ! 500: faddx fp3,fp1 ! 501: fmoved fp1,_F9:l ! 502: fmoved _U2:l,fp3 ! 503: fdivx fp2,fp3 ! 504: faddd L81:l,fp3 ! 505: fmoved fp3,sp@(0) ! 506: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 507: fmoved fp0,_Radix:l ! 508: fmoved _Radix:l,fp3 ! 509: fcmpd _E0:l,fp3; fjne L82 ! 510: movl #L84,sp@ ! 511: jbsr _printf:l ! 512: jra L83 ! 513: L82: ! 514: movl #L85,sp@ ! 515: fmoved _Radix:l,fp3 ! 516: fmoved fp3,sp@(4) ! 517: jbsr _printf:l ! 518: L83: ! 519: movl #2,sp@ ! 520: fmoved _Radix:l,fp3 ! 521: fmoved _Eight:l,fp2 ! 522: fmovex fp2,fp1; faddx fp2,fp1 ! 523: fcmpx fp1,fp3; fjgt L88 ! 524: movl #1,d7 ! 525: jra L89 ! 526: L88: ! 527: clrl d7 ! 528: L89: ! 529: movl d7,sp@(4) ! 530: movl #L87,sp@(8) ! 531: jbsr _TstCond:l ! 532: movl #3,sp@ ! 533: fmoved _Radix:l,fp3 ! 534: fcmpd _Two:l,fp3; fjeq L95 ! 535: fcmpd L96:l,fp3; fjeq L95 ! 536: fcmpd _One:l,fp3; fjne L92 ! 537: L95: ! 538: movl #1,d7 ! 539: jra L93 ! 540: L92: ! 541: clrl d7 ! 542: L93: ! 543: movl d7,sp@(4) ! 544: movl #L91,sp@(8) ! 545: jbsr _TstCond:l ! 546: movl #20,_Milestone:l ! 547: movl #0,sp@ ! 548: fmoved _F9:l,fp3 ! 549: fmoved _Half:l,fp2 ! 550: fsubx fp2,fp3 ! 551: fcmpx fp2,fp3; fjge L99 ! 552: movl #1,d7 ! 553: jra L100 ! 554: L99: ! 555: clrl d7 ! 556: L100: ! 557: movl d7,sp@(4) ! 558: movl #L98,sp@(8) ! 559: jbsr _TstCond:l ! 560: fmoved _F9:l,fp3 ! 561: fmoved fp3,_X:l ! 562: movl #1,_I:l ! 563: fmoved _X:l,fp3 ! 564: fmoved _Half:l,fp2 ! 565: fsubx fp2,fp3 ! 566: fmoved fp3,_Y:l ! 567: fmoved _Y:l,fp3 ! 568: fsubx fp2,fp3 ! 569: fmoved fp3,_Z:l ! 570: movl #0,sp@ ! 571: fmoved _X:l,fp3 ! 572: fcmpd _One:l,fp3; fjne L105 ! 573: fmoved _Z:l,fp3 ! 574: fcmpd _Zero:l,fp3; fjne L103 ! 575: L105: ! 576: movl #1,d7 ! 577: jra L104 ! 578: L103: ! 579: clrl d7 ! 580: L104: ! 581: movl d7,sp@(4) ! 582: movl #L102,sp@(8) ! 583: jbsr _TstCond:l ! 584: fmoved _One:l,fp3 ! 585: fmoved _U2:l,fp2 ! 586: fmovex fp3,fp1; faddx fp2,fp1 ! 587: fmoved fp1,_X:l ! 588: clrl _I:l ! 589: movl #25,_Milestone:l ! 590: fmoved _Radix:l,fp1 ! 591: fmovex fp1,fp0; fsubx fp3,fp0 ! 592: fmoved fp0,_BMinusU2:l ! 593: fmoved _BMinusU2:l,fp0 ! 594: fsubx fp2,fp0 ! 595: fmovex fp0,fp2; faddx fp3,fp2 ! 596: fmoved fp2,_BMinusU2:l ! 597: fcmpx fp3,fp1; fjeq L106 ! 598: fmoved _U1:l,fp3 ! 599: fmoved fp3,sp@(0) ! 600: jbsr _log:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 601: fmovex fp0,fp7 ! 602: fmoved _Radix:l,fp3 ! 603: fmoved fp3,sp@(0) ! 604: jbsr _log:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 605: fnegd _TwoForty:l,fp3 ! 606: fmulx fp7,fp3 ! 607: fdivx fp0,fp3 ! 608: fmoved fp3,_X:l ! 609: fmoved _Half:l,fp3 ! 610: faddd _X:l,fp3 ! 611: fmoved fp3,sp@(0) ! 612: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 613: fmoved fp0,_Y:l ! 614: fmoved _X:l,fp3 ! 615: fsubd _Y:l,fp3 ! 616: fmoved fp3,sp@(0) ! 617: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 618: fmovex fp0,fp3; fmuld _Four:l,fp3 ! 619: fcmpd _One:l,fp3; fjge L108 ! 620: fmoved _Y:l,fp3 ! 621: fmoved fp3,_X:l ! 622: L108: ! 623: fmoved _X:l,fp3 ! 624: fdivd _TwoForty:l,fp3 ! 625: fmoved fp3,_Precision:l ! 626: fmoved _Half:l,fp3 ! 627: faddd _Precision:l,fp3 ! 628: fmoved fp3,sp@(0) ! 629: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 630: fmoved fp0,_Y:l ! 631: fmoved _Precision:l,fp3 ! 632: fsubd _Y:l,fp3 ! 633: fmoved fp3,sp@(0) ! 634: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 635: fmovex fp0,fp3; fmuld _TwoForty:l,fp3 ! 636: fcmpd _Half:l,fp3; fjge L110 ! 637: fmoved _Y:l,fp3 ! 638: fmoved fp3,_Precision:l ! 639: L110: ! 640: L106: ! 641: fmoved _Precision:l,fp3 ! 642: fmoved fp3,sp@(0) ! 643: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 644: fcmpx fp0,fp3; fjne L114 ! 645: fmoved _Radix:l,fp3 ! 646: fcmpd _One:l,fp3; fjne L112 ! 647: L114: ! 648: movl #L115,sp@ ! 649: jbsr _printf:l ! 650: movl #L116,sp@ ! 651: jbsr _printf:l ! 652: L112: ! 653: fmoved _Radix:l,fp3 ! 654: fcmpd _One:l,fp3; fjne L117 ! 655: movl #L119,sp@ ! 656: jbsr _printf:l ! 657: jra L118 ! 658: L117: ! 659: movl #L120,sp@ ! 660: fmoved _Precision:l,fp3 ! 661: fmoved fp3,sp@(4) ! 662: jbsr _printf:l ! 663: L118: ! 664: movl #1,sp@ ! 665: fmoved _U2:l,fp3 ! 666: fmoved _Nine:l,fp2 ! 667: fmulx fp2,fp3 ! 668: fmulx fp2,fp3 ! 669: fmuld _TwoForty:l,fp3 ! 670: fcmpd _One:l,fp3; fjge L123 ! 671: movl #1,d7 ! 672: jra L124 ! 673: L123: ! 674: clrl d7 ! 675: L124: ! 676: movl d7,sp@(4) ! 677: movl #L122,sp@(8) ! 678: jbsr _TstCond:l ! 679: movl #30,_Milestone:l ! 680: fmoved _Four:l,fp3 ! 681: fmoved _Three:l,fp2 ! 682: fmovex fp3,fp1; fdivx fp2,fp1 ! 683: fmoved _One:l,fp0 ! 684: fsubx fp0,fp1 ! 685: fdivx fp3,fp0 ! 686: fmovex fp1,fp3; fsubx fp0,fp3 ! 687: fmulx fp2,fp3 ! 688: fsubx fp0,fp3 ! 689: fmoved fp3,sp@(0) ! 690: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 691: fmoved fp0,_X:l ! 692: L125: ! 693: fmoved _X:l,fp3 ! 694: fmoved fp3,_Z2:l ! 695: fmoved _One:l,fp3 ! 696: fmoved _Half:l,fp2 ! 697: fmoved _Z2:l,fp1 ! 698: fmulx fp1,fp2 ! 699: fmoved _ThirtyTwo:l,fp0 ! 700: fmulx fp1,fp0 ! 701: fmulx fp1,fp0 ! 702: faddx fp0,fp2 ! 703: fmovex fp3,fp1; faddx fp2,fp1 ! 704: fmovex fp1,fp2; fsubx fp3,fp2 ! 705: fmoved fp2,_X:l ! 706: L126: ! 707: fmoved _Z2:l,fp3 ! 708: fmoved _X:l,fp2 ! 709: fcmpx fp2,fp3; fjle L128 ! 710: fcmpd _Zero:l,fp2; fjgt L125 ! 711: L128: ! 712: fmoved _Three:l,fp3 ! 713: fmoved _Four:l,fp2 ! 714: fmovex fp3,fp1; fdivx fp2,fp1 ! 715: fmoved _Two:l,fp0 ! 716: fdivx fp3,fp0 ! 717: fsubx fp0,fp1 ! 718: fmulx fp3,fp1 ! 719: fmoved _One:l,fp3 ! 720: fdivx fp2,fp3 ! 721: fmovex fp1,fp2; fsubx fp3,fp2 ! 722: fmoved fp2,sp@(0) ! 723: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 724: fmoved fp0,_Z:l ! 725: fmoved fp0,_Y:l ! 726: fmoved fp0,_X:l ! 727: L129: ! 728: fmoved _Z:l,fp3 ! 729: fmoved fp3,_Z1:l ! 730: fmoved _One:l,fp3 ! 731: fdivd _Two:l,fp3 ! 732: fmoved _Half:l,fp2 ! 733: fmoved _Z1:l,fp1 ! 734: fmulx fp1,fp2 ! 735: fmoved _ThirtyTwo:l,fp0 ! 736: fmulx fp1,fp0 ! 737: fmulx fp1,fp0 ! 738: faddx fp0,fp2 ! 739: fmovex fp3,fp1; fsubx fp2,fp1 ! 740: fmovex fp1,fp2; faddx fp3,fp2 ! 741: fmovex fp3,fp1; fsubx fp2,fp1 ! 742: fmovex fp1,fp2; faddx fp3,fp2 ! 743: fmoved fp2,_Z:l ! 744: L130: ! 745: fmoved _Z1:l,fp3 ! 746: fmoved _Z:l,fp2 ! 747: fcmpx fp2,fp3; fjle L132 ! 748: fcmpd _Zero:l,fp2; fjgt L129 ! 749: L132: ! 750: L133: ! 751: L136: ! 752: fmoved _Y:l,fp3 ! 753: fmoved fp3,_Y1:l ! 754: fmoved _Half:l,fp3 ! 755: fmoved _Y1:l,fp2 ! 756: fmovex fp3,fp1; fmulx fp2,fp1 ! 757: fmoved _ThirtyTwo:l,fp0 ! 758: fmulx fp2,fp0 ! 759: fmulx fp2,fp0 ! 760: fmovex fp1,fp2; faddx fp0,fp2 ! 761: fmovex fp3,fp1; fsubx fp2,fp1 ! 762: fmovex fp1,fp2; faddx fp3,fp2 ! 763: fmovex fp3,fp1; fsubx fp2,fp1 ! 764: fmovex fp1,fp2; faddx fp3,fp2 ! 765: fmoved fp2,_Y:l ! 766: L137: ! 767: fmoved _Y1:l,fp3 ! 768: fmoved _Y:l,fp2 ! 769: fcmpx fp2,fp3; fjle L139 ! 770: fcmpd _Zero:l,fp2; fjgt L136 ! 771: L139: ! 772: fmoved _X:l,fp3 ! 773: fmoved fp3,_X1:l ! 774: fmoved _Half:l,fp3 ! 775: fmoved _X1:l,fp2 ! 776: fmulx fp2,fp3 ! 777: fmoved _ThirtyTwo:l,fp1 ! 778: fmulx fp2,fp1 ! 779: fmulx fp2,fp1 ! 780: faddx fp1,fp3 ! 781: fmoved _F9:l,fp2 ! 782: fsubx fp2,fp3 ! 783: faddx fp2,fp3 ! 784: fmoved fp3,_X:l ! 785: L134: ! 786: fmoved _X1:l,fp3 ! 787: fmoved _X:l,fp2 ! 788: fcmpx fp2,fp3; fjle L140 ! 789: fcmpd _Zero:l,fp2; fjgt L133 ! 790: L140: ! 791: fmoved _X1:l,fp3 ! 792: fcmpd _Y1:l,fp3; fjne L143 ! 793: fcmpd _Z1:l,fp3; fjeq L141 ! 794: L143: ! 795: movl #1,sp@ ! 796: movl #L144,sp@(4) ! 797: jbsr _BadCond:l ! 798: movl #L145,sp@ ! 799: fmoved _X1:l,fp3 ! 800: fmoved fp3,sp@(4) ! 801: fmoved _Y1:l,fp3 ! 802: fmoved fp3,sp@(12) ! 803: fmoved _Z1:l,fp3 ! 804: fmoved fp3,sp@(20) ! 805: jbsr _printf:l ! 806: movl #L146,sp@ ! 807: jbsr _printf:l ! 808: movl #L147,sp@ ! 809: jbsr _printf:l ! 810: movl #L148,sp@ ! 811: jbsr _notify:l ! 812: fmoved _X1:l,fp3 ! 813: fmoved _U1:l,fp2 ! 814: fcmpx fp2,fp3; fjeq L152 ! 815: fmoved _Y1:l,fp3 ! 816: fcmpx fp2,fp3; fjeq L152 ! 817: fmoved _Z1:l,fp3 ! 818: fcmpx fp2,fp3; fjne L142 ! 819: L152: ! 820: movl #L153,sp@ ! 821: jbsr _printf:l ! 822: jra L142 ! 823: L141: ! 824: fmoved _Z1:l,fp3 ! 825: fcmpd _U1:l,fp3; fjne L156 ! 826: fmoved _Z2:l,fp3 ! 827: fcmpd _U2:l,fp3; fjeq L154 ! 828: L156: ! 829: fmoved _Z1:l,fp3 ! 830: fcmpd _U1:l,fp3; fjge L159 ! 831: fmoved _Z2:l,fp3 ! 832: fcmpd _U2:l,fp3; fjlt L157 ! 833: L159: ! 834: movl #0,sp@ ! 835: movl #L160,sp@(4) ! 836: jbsr _BadCond:l ! 837: movl #L161,sp@ ! 838: jbsr _notify:l ! 839: movl #L162,sp@ ! 840: fmoved _U1:l,fp3 ! 841: fmoved fp3,sp@(4) ! 842: fmoved _Z1:l,fp2 ! 843: fsubx fp3,fp2 ! 844: fmoved fp2,sp@(12) ! 845: jbsr _printf:l ! 846: movl #L163,sp@ ! 847: fmoved _U2:l,fp3 ! 848: fmoved fp3,sp@(4) ! 849: fmoved _Z2:l,fp2 ! 850: fsubx fp3,fp2 ! 851: fmoved fp2,sp@(12) ! 852: jbsr _printf:l ! 853: jra L158 ! 854: L157: ! 855: fmoved _Z1:l,fp3 ! 856: fmoved _Zero:l,fp2 ! 857: fcmpx fp2,fp3; fjle L166 ! 858: fmoved _Z2:l,fp3 ! 859: fcmpx fp2,fp3; fjgt L164 ! 860: L166: ! 861: movl #L167,sp@ ! 862: fmoved _Radix:l,fp3 ! 863: fmoved fp3,sp@(4) ! 864: jbsr _printf:l ! 865: movl #L168,sp@ ! 866: jbsr _printf:l ! 867: movl #L169,sp@ ! 868: fmoved _Z1:l,fp3 ! 869: fmoved fp3,sp@(4) ! 870: fmoved _Z2:l,fp3 ! 871: fmoved fp3,sp@(12) ! 872: jbsr _printf:l ! 873: movl #L170,sp@ ! 874: jbsr _notify:l ! 875: L164: ! 876: fmoved _Z1:l,fp3 ! 877: fcmpd _Z2:l,fp3; fjne L173 ! 878: fcmpd _Zero:l,fp3; fjle L171 ! 879: L173: ! 880: fmoved _Z1:l,fp3 ! 881: fdivd _U1:l,fp3 ! 882: fmoved fp3,_X:l ! 883: fmoved _Z2:l,fp3 ! 884: fdivd _U2:l,fp3 ! 885: fmoved fp3,_Y:l ! 886: fmoved _Y:l,fp3 ! 887: fcmpd _X:l,fp3; fjle L174 ! 888: fmoved _Y:l,fp3 ! 889: fmoved fp3,_X:l ! 890: L174: ! 891: fmoved _X:l,fp3 ! 892: fmoved fp3,sp@(0) ! 893: jbsr _log:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 894: fnegx fp0,fp3 ! 895: fmoved fp3,_Q:l ! 896: movl #L176,sp@ ! 897: jbsr _printf:l ! 898: fmoved _Radix:l,fp3 ! 899: fmoved fp3,sp@(0) ! 900: jbsr _log:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 901: movl #L177,sp@ ! 902: fmoved _Q:l,fp3 ! 903: fdivx fp0,fp3 ! 904: fmoved fp3,sp@(4) ! 905: jbsr _printf:l ! 906: fmoved L96:l,fp3 ! 907: fmoved fp3,sp@(0) ! 908: jbsr _log:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 909: movl #L178,sp@ ! 910: fmoved _Q:l,fp3 ! 911: fdivx fp0,fp3 ! 912: fmoved fp3,sp@(4) ! 913: jbsr _printf:l ! 914: L171: ! 915: movl #L153,sp@ ! 916: jbsr _printf:l ! 917: L158: ! 918: L154: ! 919: L142: ! 920: jbsr _Pause:l ! 921: movl #35,_Milestone:l ! 922: fmoved _Radix:l,fp3 ! 923: fcmpd _Two:l,fp3; fjlt L179 ! 924: fmoved _W:l,fp3 ! 925: fmoved _Radix:l,fp2 ! 926: fmovex fp2,fp1; fmulx fp2,fp1 ! 927: fdivx fp1,fp3 ! 928: fmoved fp3,_X:l ! 929: fmoved _X:l,fp3 ! 930: fmovex fp3,fp2; faddd _One:l,fp2 ! 931: fmoved fp2,_Y:l ! 932: fmoved _Y:l,fp2 ! 933: fsubx fp3,fp2 ! 934: fmoved fp2,_Z:l ! 935: fmoved _Z:l,fp3 ! 936: fmovex fp3,fp2; faddd _U2:l,fp2 ! 937: fmoved fp2,_T:l ! 938: fmoved _T:l,fp2 ! 939: fsubx fp3,fp2 ! 940: fmoved fp2,_X:l ! 941: movl #0,sp@ ! 942: fmoved _X:l,fp3 ! 943: fcmpd _U2:l,fp3; fjne L183 ! 944: movl #1,d7 ! 945: jra L184 ! 946: L183: ! 947: clrl d7 ! 948: L184: ! 949: movl d7,sp@(4) ! 950: movl #L182,sp@(8) ! 951: jbsr _TstCond:l ! 952: fmoved _X:l,fp3 ! 953: fcmpd _U2:l,fp3; fjne L185 ! 954: movl #L187,sp@ ! 955: jbsr _printf:l ! 956: L185: ! 957: L179: ! 958: movl #L188,sp@ ! 959: jbsr _printf:l ! 960: fmoved _F9:l,fp3 ! 961: fmoved _One:l,fp2 ! 962: fmovex fp2,fp7 ! 963: fmovex fp3,fp1; fmulx fp2,fp1 ! 964: fmoved fp1,_Y:l ! 965: fmovex fp2,fp1; fmulx fp3,fp1 ! 966: fmoved fp1,_Z:l ! 967: fmoved _Half:l,fp1 ! 968: fsubx fp1,fp3 ! 969: fmoved fp3,_X:l ! 970: fmoved _Y:l,fp3 ! 971: fsubx fp1,fp3 ! 972: fmoved _X:l,fp0 ! 973: fsubx fp0,fp3 ! 974: fmoved fp3,_Y:l ! 975: fmoved _Z:l,fp3 ! 976: fsubx fp1,fp3 ! 977: fsubx fp0,fp3 ! 978: fmoved fp3,_Z:l ! 979: fmoved _U2:l,fp3 ! 980: fmovex fp2,fp1; faddx fp3,fp1 ! 981: fmoved fp1,_X:l ! 982: fmoved _X:l,fp1 ! 983: fmoved _Radix:l,fp0 ! 984: fmovex fp1,fp2; fmulx fp0,fp2 ! 985: fmoved fp2,_T:l ! 986: fmovex fp0,fp2; fmulx fp1,fp2 ! 987: fmoved fp2,_R:l ! 988: fmoved _T:l,fp2 ! 989: fsubx fp0,fp2 ! 990: fmoved fp2,_X:l ! 991: fmoved _X:l,fp2 ! 992: fmovex fp0,fp1; fmulx fp3,fp1 ! 993: fmovex fp2,fp3; fsubx fp1,fp3 ! 994: fmoved fp3,_X:l ! 995: fmoved _R:l,fp3 ! 996: fsubx fp0,fp3 ! 997: fmoved fp3,_T:l ! 998: fmoved _T:l,fp3 ! 999: fsubx fp1,fp3 ! 1000: fmoved fp3,_T:l ! 1001: fmoved _X:l,fp3 ! 1002: fmovex fp0,fp2; fsubx fp7,fp2 ! 1003: fmulx fp2,fp3 ! 1004: fmoved fp3,_X:l ! 1005: fmoved _T:l,fp3 ! 1006: fmulx fp2,fp3 ! 1007: fmoved fp3,_T:l ! 1008: fmoved _X:l,fp3 ! 1009: fmoved _Zero:l,fp2 ! 1010: fcmpx fp2,fp3; fjne L189 ! 1011: fmoved _Y:l,fp3 ! 1012: fcmpx fp2,fp3; fjne L189 ! 1013: fmoved _Z:l,fp3 ! 1014: fcmpx fp2,fp3; fjne L189 ! 1015: fmoved _T:l,fp3 ! 1016: fcmpx fp2,fp3; fjne L189 ! 1017: movl #1,_GMult:l ! 1018: jra L190 ! 1019: L189: ! 1020: clrl _GMult:l ! 1021: movl #1,sp@ ! 1022: clrl sp@(4) ! 1023: movl #L191,sp@(8) ! 1024: jbsr _TstCond:l ! 1025: L190: ! 1026: fmoved _Radix:l,fp3 ! 1027: fmuld _U2:l,fp3 ! 1028: fmoved fp3,_Z:l ! 1029: fmoved _One:l,fp3 ! 1030: fmoved _Z:l,fp2 ! 1031: faddx fp2,fp3 ! 1032: fmoved fp3,_X:l ! 1033: fmoved _X:l,fp3 ! 1034: fmovex fp3,fp1; faddx fp2,fp1 ! 1035: fmovex fp3,fp2; fmulx fp3,fp2 ! 1036: fmovex fp1,fp3; fsubx fp2,fp3 ! 1037: fmoved fp3,sp@(0) ! 1038: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 1039: fmoved _U2:l,fp3 ! 1040: fmovex fp0,fp2; fsubx fp3,fp2 ! 1041: fmoved fp2,_Y:l ! 1042: fmoved _One:l,fp2 ! 1043: fsubx fp3,fp2 ! 1044: fmoved fp2,_X:l ! 1045: fmoved _X:l,fp2 ! 1046: fmovex fp2,fp1; fsubx fp3,fp1 ! 1047: fmovex fp2,fp3; fmulx fp2,fp3 ! 1048: fmovex fp1,fp2; fsubx fp3,fp2 ! 1049: fmoved fp2,sp@(0) ! 1050: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 1051: fmovex fp0,fp3; fsubd _U1:l,fp3 ! 1052: fmoved fp3,_Z:l ! 1053: movl #0,sp@ ! 1054: fmoved _Y:l,fp3 ! 1055: fmoved _Zero:l,fp2 ! 1056: fcmpx fp2,fp3; fjgt L194 ! 1057: fmoved _Z:l,fp3 ! 1058: fcmpx fp2,fp3; fjgt L194 ! 1059: movl #1,d7 ! 1060: jra L195 ! 1061: L194: ! 1062: clrl d7 ! 1063: L195: ! 1064: movl d7,sp@(4) ! 1065: movl #L193,sp@(8) ! 1066: jbsr _TstCond:l ! 1067: fmoved _One:l,fp3 ! 1068: fmoved _U2:l,fp2 ! 1069: fmovex fp3,fp1; fsubx fp2,fp1 ! 1070: fmoved fp1,_Y:l ! 1071: fmovex fp3,fp1; faddx fp2,fp1 ! 1072: fmoved fp1,_X:l ! 1073: fmovex fp3,fp2; fdivd _Y:l,fp2 ! 1074: fmoved fp2,_Z:l ! 1075: fmoved _Z:l,fp2 ! 1076: fsubd _X:l,fp2 ! 1077: fmoved fp2,_Y:l ! 1078: fmoved _Three:l,fp2 ! 1079: fdivx fp2,fp3 ! 1080: fmoved fp3,_X:l ! 1081: fmoved _Nine:l,fp3 ! 1082: fdivx fp3,fp2 ! 1083: fmoved fp2,_Z:l ! 1084: fmoved _X:l,fp2 ! 1085: fmoved _Z:l,fp1 ! 1086: fsubx fp1,fp2 ! 1087: fmoved fp2,_X:l ! 1088: fdivd _TwentySeven:l,fp3 ! 1089: fmoved fp3,_T:l ! 1090: fmovex fp1,fp3; fsubd _T:l,fp3 ! 1091: fmoved fp3,_Z:l ! 1092: movl #2,sp@ ! 1093: fmoved _X:l,fp3 ! 1094: fmoved _Zero:l,fp2 ! 1095: fcmpx fp2,fp3; fjne L198 ! 1096: fmoved _Y:l,fp3 ! 1097: fcmpx fp2,fp3; fjne L198 ! 1098: fmoved _Z:l,fp3 ! 1099: fcmpx fp2,fp3; fjne L198 ! 1100: movl #1,d7 ! 1101: jra L199 ! 1102: L198: ! 1103: clrl d7 ! 1104: L199: ! 1105: movl d7,sp@(4) ! 1106: movl #L197,sp@(8) ! 1107: jbsr _TstCond:l ! 1108: fmoved _F9:l,fp3 ! 1109: fmoved _One:l,fp2 ! 1110: fmovex fp3,fp1; fdivx fp2,fp1 ! 1111: fmoved fp1,_Y:l ! 1112: fmoved _Half:l,fp1 ! 1113: fsubx fp1,fp3 ! 1114: fmoved fp3,_X:l ! 1115: fmoved _Y:l,fp3 ! 1116: fsubx fp1,fp3 ! 1117: fsubd _X:l,fp3 ! 1118: fmoved fp3,_Y:l ! 1119: fmovex fp2,fp3; faddd _U2:l,fp3 ! 1120: fmoved fp3,_X:l ! 1121: fmoved _X:l,fp3 ! 1122: fmovex fp3,fp1; fdivx fp2,fp1 ! 1123: fmoved fp1,_T:l ! 1124: fmoved _T:l,fp2 ! 1125: fsubx fp3,fp2 ! 1126: fmoved fp2,_X:l ! 1127: fmoved _X:l,fp3 ! 1128: fmoved _Zero:l,fp2 ! 1129: fcmpx fp2,fp3; fjne L200 ! 1130: fmoved _Y:l,fp3 ! 1131: fcmpx fp2,fp3; fjne L200 ! 1132: fmoved _Z:l,fp3 ! 1133: fcmpx fp2,fp3; fjne L200 ! 1134: movl #1,_GDiv:l ! 1135: jra L201 ! 1136: L200: ! 1137: clrl _GDiv:l ! 1138: movl #1,sp@ ! 1139: clrl sp@(4) ! 1140: movl #L202,sp@(8) ! 1141: jbsr _TstCond:l ! 1142: L201: ! 1143: fmoved _One:l,fp3 ! 1144: fmovex fp3,fp2; faddd _U2:l,fp2 ! 1145: fdivx fp2,fp3 ! 1146: fmoved fp3,_X:l ! 1147: fmoved _X:l,fp3 ! 1148: fmoved _Half:l,fp2 ! 1149: fsubx fp2,fp3 ! 1150: fsubx fp2,fp3 ! 1151: fmoved fp3,_Y:l ! 1152: movl #1,sp@ ! 1153: fmoved _Y:l,fp3 ! 1154: fcmpd _Zero:l,fp3; fjge L205 ! 1155: movl #1,d7 ! 1156: jra L206 ! 1157: L205: ! 1158: clrl d7 ! 1159: L206: ! 1160: movl d7,sp@(4) ! 1161: movl #L204,sp@(8) ! 1162: jbsr _TstCond:l ! 1163: fmoved _One:l,fp3 ! 1164: fmoved _U2:l,fp2 ! 1165: fmovex fp3,fp1; fsubx fp2,fp1 ! 1166: fmoved fp1,_X:l ! 1167: fmoved _Radix:l,fp1 ! 1168: fmovex fp1,fp0; fmulx fp2,fp0 ! 1169: faddx fp0,fp3 ! 1170: fmoved fp3,_Y:l ! 1171: fmoved _X:l,fp3 ! 1172: fmovex fp3,fp2; fmulx fp1,fp2 ! 1173: fmoved fp2,_Z:l ! 1174: fmoved _Y:l,fp2 ! 1175: fmovex fp2,fp0; fmulx fp1,fp0 ! 1176: fmoved fp0,_T:l ! 1177: fmoved _Z:l,fp0 ! 1178: fdivx fp1,fp0 ! 1179: fmoved fp0,_R:l ! 1180: fmoved _T:l,fp0 ! 1181: fdivx fp1,fp0 ! 1182: fmoved fp0,_StickyBit:l ! 1183: fmoved _R:l,fp1 ! 1184: fsubx fp3,fp1 ! 1185: fmoved fp1,_X:l ! 1186: fmoved _StickyBit:l,fp3 ! 1187: fsubx fp2,fp3 ! 1188: fmoved fp3,_Y:l ! 1189: movl #0,sp@ ! 1190: fmoved _X:l,fp3 ! 1191: fmoved _Zero:l,fp2 ! 1192: fcmpx fp2,fp3; fjne L209 ! 1193: fmoved _Y:l,fp3 ! 1194: fcmpx fp2,fp3; fjne L209 ! 1195: movl #1,d7 ! 1196: jra L210 ! 1197: L209: ! 1198: clrl d7 ! 1199: L210: ! 1200: movl d7,sp@(4) ! 1201: movl #L208,sp@(8) ! 1202: jbsr _TstCond:l ! 1203: fmoved _One:l,fp3 ! 1204: fmoved _U1:l,fp2 ! 1205: fmovex fp3,fp1; fsubx fp2,fp1 ! 1206: fmoved fp1,_Y:l ! 1207: fmovex fp3,fp1; fsubd _F9:l,fp1 ! 1208: fmoved fp1,_X:l ! 1209: fsubd _Y:l,fp3 ! 1210: fmoved fp3,_Y:l ! 1211: fmoved _Radix:l,fp3 ! 1212: fmoved _U2:l,fp1 ! 1213: fmovex fp3,fp0; fsubx fp1,fp0 ! 1214: fmoved fp0,_T:l ! 1215: fmovex fp3,fp0; fsubd _BMinusU2:l,fp0 ! 1216: fmoved fp0,_Z:l ! 1217: fsubd _T:l,fp3 ! 1218: fmoved fp3,_T:l ! 1219: fmoved _X:l,fp3 ! 1220: fcmpx fp2,fp3; fjne L211 ! 1221: fmoved _Y:l,fp3 ! 1222: fcmpx fp2,fp3; fjne L211 ! 1223: fmoved _Z:l,fp3 ! 1224: fcmpx fp1,fp3; fjne L211 ! 1225: fmoved _T:l,fp3 ! 1226: fcmpx fp1,fp3; fjne L211 ! 1227: movl #1,_GAddSub:l ! 1228: jra L212 ! 1229: L211: ! 1230: clrl _GAddSub:l ! 1231: movl #1,sp@ ! 1232: clrl sp@(4) ! 1233: movl #L213,sp@(8) ! 1234: jbsr _TstCond:l ! 1235: L212: ! 1236: fmoved _F9:l,fp3 ! 1237: fmoved _One:l,fp2 ! 1238: fcmpx fp2,fp3; fjeq L214 ! 1239: fsubx fp2,fp3 ! 1240: fcmpd _Zero:l,fp3; fjlt L214 ! 1241: movl #1,sp@ ! 1242: movl #L216,sp@(4) ! 1243: jbsr _BadCond:l ! 1244: movl #L217,sp@ ! 1245: jbsr _printf:l ! 1246: movl #L218,sp@ ! 1247: jbsr _printf:l ! 1248: movl #L219,sp@ ! 1249: jbsr _printf:l ! 1250: L214: ! 1251: cmpl #1,_GMult:l; jne L220 ! 1252: cmpl #1,_GDiv:l; jne L220 ! 1253: cmpl #1,_GAddSub:l; jne L220 ! 1254: movl #L222,sp@ ! 1255: jbsr _printf:l ! 1256: L220: ! 1257: movl #40,_Milestone:l ! 1258: jbsr _Pause:l ! 1259: movl #L223,sp@ ! 1260: jbsr _printf:l ! 1261: clrl _RMult:l ! 1262: clrl _RDiv:l ! 1263: clrl _RAddSub:l ! 1264: fmoved _Radix:l,fp3 ! 1265: fmoved _Two:l,fp2 ! 1266: fdivx fp2,fp3 ! 1267: fmoved fp3,_RadixD2:l ! 1268: fmoved fp2,_A1:l ! 1269: clrl _Done:l ! 1270: L224: ! 1271: fmoved _Radix:l,fp3 ! 1272: fmoved fp3,_AInvrse:l ! 1273: L227: ! 1274: fmoved _AInvrse:l,fp3 ! 1275: fmoved fp3,_X:l ! 1276: fdivd _A1:l,fp3 ! 1277: fmoved fp3,_AInvrse:l ! 1278: L228: ! 1279: fmoved _AInvrse:l,fp3 ! 1280: fmoved fp3,sp@(0) ! 1281: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 1282: fcmpd _AInvrse:l,fp0; fjeq L227 ! 1283: fmoved _X:l,fp3 ! 1284: fcmpd _One:l,fp3; fjeq L233 ! 1285: fmoved _A1:l,fp3 ! 1286: fcmpd _Three:l,fp3; fjle L231 ! 1287: L233: ! 1288: movl #1,d7 ! 1289: jra L232 ! 1290: L231: ! 1291: clrl d7 ! 1292: L232: ! 1293: movl d7,_Done:l ! 1294: tstl _Done:l; jne L234 ! 1295: fmoved _Nine:l,fp3 ! 1296: faddd _One:l,fp3 ! 1297: fmoved fp3,_A1:l ! 1298: L234: ! 1299: L225: ! 1300: tstl _Done:l; jeq L224 ! 1301: fmoved _X:l,fp3 ! 1302: fcmpd _One:l,fp3; fjne L236 ! 1303: fmoved _Radix:l,fp3 ! 1304: fmoved fp3,_A1:l ! 1305: L236: ! 1306: fmoved _One:l,fp3 ! 1307: fmoved _A1:l,fp2 ! 1308: fdivx fp2,fp3 ! 1309: fmoved fp3,_AInvrse:l ! 1310: fmoved fp2,_X:l ! 1311: fmoved _AInvrse:l,fp3 ! 1312: fmoved fp3,_Y:l ! 1313: clrl _Done:l ! 1314: L238: ! 1315: fmoved _X:l,fp3 ! 1316: fmuld _Y:l,fp3 ! 1317: fsubd _Half:l,fp3 ! 1318: fmoved fp3,_Z:l ! 1319: movl #0,sp@ ! 1320: fmoved _Z:l,fp3 ! 1321: fcmpd _Half:l,fp3; fjne L243 ! 1322: movl #1,d7 ! 1323: jra L244 ! 1324: L243: ! 1325: clrl d7 ! 1326: L244: ! 1327: movl d7,sp@(4) ! 1328: movl #L242,sp@(8) ! 1329: jbsr _TstCond:l ! 1330: fmoved _X:l,fp3 ! 1331: fcmpd _Radix:l,fp3; fjne L246 ! 1332: movl #1,d7 ! 1333: jra L247 ! 1334: L246: ! 1335: clrl d7 ! 1336: L247: ! 1337: movl d7,_Done:l ! 1338: fmoved _Radix:l,fp3 ! 1339: fmoved fp3,_X:l ! 1340: fmoved _One:l,fp3 ! 1341: fdivd _X:l,fp3 ! 1342: fmoved fp3,_Y:l ! 1343: L239: ! 1344: tstl _Done:l; jeq L238 ! 1345: fmoved _One:l,fp3 ! 1346: fmoved _U2:l,fp2 ! 1347: fmovex fp2,fp6 ! 1348: fmovex fp3,fp1; faddx fp2,fp1 ! 1349: fmoved fp1,_Y2:l ! 1350: fsubx fp2,fp3 ! 1351: fmoved fp3,_Y1:l ! 1352: fmoved _OneAndHalf:l,fp3 ! 1353: fmovex fp3,fp7 ! 1354: fmovex fp3,fp1; fsubx fp2,fp1 ! 1355: fmoved fp1,_X:l ! 1356: fmovex fp3,fp1; faddx fp2,fp1 ! 1357: fmoved fp1,_Y:l ! 1358: fmoved _X:l,fp1 ! 1359: fmovex fp1,fp0; fsubx fp2,fp0 ! 1360: fmoved _Y2:l,fp3 ! 1361: fmovex fp3,fp5 ! 1362: fmulx fp3,fp0 ! 1363: fmoved fp0,_Z:l ! 1364: fmoved _Y:l,fp0 ! 1365: fmoved _Y1:l,fp2 ! 1366: fmovex fp0,fp3; fmulx fp2,fp3 ! 1367: fmoved fp3,_T:l ! 1368: fmoved _Z:l,fp3 ! 1369: fsubx fp1,fp3 ! 1370: fmoved fp3,_Z:l ! 1371: fmoved _T:l,fp3 ! 1372: fsubx fp1,fp3 ! 1373: fmoved fp3,_T:l ! 1374: fmovex fp1,fp3; fmulx fp5,fp3 ! 1375: fmoved fp3,_X:l ! 1376: fmovex fp0,fp3; faddx fp6,fp3 ! 1377: fmulx fp2,fp3 ! 1378: fmoved fp3,_Y:l ! 1379: fmoved _X:l,fp3 ! 1380: fsubx fp7,fp3 ! 1381: fmoved fp3,_X:l ! 1382: fmoved _Y:l,fp3 ! 1383: fsubx fp7,fp3 ! 1384: fmoved fp3,_Y:l ! 1385: fmoved _X:l,fp3 ! 1386: fmoved _Zero:l,fp2 ! 1387: fcmpx fp2,fp3; fjne L248 ! 1388: fmoved _Y:l,fp3 ! 1389: fcmpx fp2,fp3; fjne L248 ! 1390: fmoved _Z:l,fp3 ! 1391: fcmpx fp2,fp3; fjne L248 ! 1392: fmoved _T:l,fp3 ! 1393: fcmpx fp2,fp3; fjgt L248 ! 1394: fmoved _OneAndHalf:l,fp3 ! 1395: fmovex fp3,fp7 ! 1396: fmoved _U2:l,fp2 ! 1397: fmovex fp3,fp1; faddx fp2,fp1 ! 1398: fmoved _Y2:l,fp0 ! 1399: fmovex fp0,fp6 ! 1400: fmovex fp1,fp3; fmulx fp0,fp3 ! 1401: fmoved fp3,_X:l ! 1402: fmovex fp7,fp3; fsubx fp2,fp3 ! 1403: fmovex fp3,fp0; fsubx fp2,fp0 ! 1404: fmoved fp0,_Y:l ! 1405: faddx fp2,fp1 ! 1406: fmoved fp1,_Z:l ! 1407: fmoved _Y1:l,fp1 ! 1408: fmovex fp1,fp5 ! 1409: fmulx fp1,fp3 ! 1410: fmoved fp3,_T:l ! 1411: fmoved _X:l,fp3 ! 1412: fmoved _Z:l,fp0 ! 1413: fmovex fp0,fp1; faddx fp2,fp1 ! 1414: fmovex fp1,fp4 ! 1415: fsubx fp1,fp3 ! 1416: fmoved fp3,_X:l ! 1417: fmoved _Y:l,fp3 ! 1418: fmovex fp3,fp1; fmulx fp5,fp1 ! 1419: fmoved fp1,_StickyBit:l ! 1420: fmovex fp0,fp1; fmulx fp6,fp1 ! 1421: fmoved fp1,_S:l ! 1422: fmoved _T:l,fp1 ! 1423: fsubx fp3,fp1 ! 1424: fmoved fp1,_T:l ! 1425: fmovex fp2,fp1; fsubx fp3,fp1 ! 1426: fmovex fp1,fp3; faddd _StickyBit:l,fp3 ! 1427: fmoved fp3,_Y:l ! 1428: fmoved _S:l,fp3 ! 1429: fmovex fp4,fp1; faddx fp2,fp1 ! 1430: fsubx fp1,fp3 ! 1431: fmoved fp3,_Z:l ! 1432: fmovex fp6,fp3; faddx fp2,fp3 ! 1433: fmulx fp5,fp3 ! 1434: fmoved fp3,_StickyBit:l ! 1435: fmovex fp6,fp3; fmulx fp5,fp3 ! 1436: fmoved fp3,_Y1:l ! 1437: fmoved _StickyBit:l,fp3 ! 1438: fsubx fp6,fp3 ! 1439: fmoved fp3,_StickyBit:l ! 1440: fmoved _Y1:l,fp3 ! 1441: fmoved _Half:l,fp2 ! 1442: fsubx fp2,fp3 ! 1443: fmoved fp3,_Y1:l ! 1444: fmoved _X:l,fp3 ! 1445: fmoved _Zero:l,fp1 ! 1446: fcmpx fp1,fp3; fjne L250 ! 1447: fmoved _Y:l,fp3 ! 1448: fcmpx fp1,fp3; fjne L250 ! 1449: fmoved _Z:l,fp3 ! 1450: fcmpx fp1,fp3; fjne L250 ! 1451: fmoved _T:l,fp3 ! 1452: fcmpx fp1,fp3; fjne L250 ! 1453: fmoved _StickyBit:l,fp3 ! 1454: fcmpx fp1,fp3; fjne L250 ! 1455: fmoved _Y1:l,fp3 ! 1456: fcmpx fp2,fp3; fjne L250 ! 1457: movl #1,_RMult:l ! 1458: movl #L252,sp@ ! 1459: jbsr _printf:l ! 1460: jra L251 ! 1461: L250: ! 1462: fmoved _X:l,fp3 ! 1463: fmoved _U2:l,fp2 ! 1464: faddx fp2,fp3 ! 1465: fmoved _Zero:l,fp1 ! 1466: fcmpx fp1,fp3; fjne L253 ! 1467: fmoved _Y:l,fp3 ! 1468: fcmpx fp1,fp3; fjge L253 ! 1469: fmoved _Z:l,fp3 ! 1470: faddx fp2,fp3 ! 1471: fcmpx fp1,fp3; fjne L253 ! 1472: fmoved _T:l,fp3 ! 1473: fcmpx fp1,fp3; fjge L253 ! 1474: fmoved _StickyBit:l,fp3 ! 1475: faddx fp2,fp3 ! 1476: fcmpx fp1,fp3; fjne L253 ! 1477: fmoved _Y1:l,fp3 ! 1478: fcmpd _Half:l,fp3; fjge L253 ! 1479: movl #2,_RMult:l ! 1480: movl #L255,sp@ ! 1481: jbsr _printf:l ! 1482: jra L254 ! 1483: L253: ! 1484: movl #L256,sp@ ! 1485: jbsr _printf:l ! 1486: L254: ! 1487: L251: ! 1488: cmpl #1,_RMult:l; jne L249 ! 1489: tstl _GMult:l; jne L249 ! 1490: movl #L259,sp@ ! 1491: jbsr _notify:l ! 1492: jra L249 ! 1493: L248: ! 1494: movl #L256,sp@ ! 1495: jbsr _printf:l ! 1496: L249: ! 1497: movl #45,_Milestone:l ! 1498: fmoved _One:l,fp3 ! 1499: fmoved _U2:l,fp2 ! 1500: fmovex fp3,fp1; faddx fp2,fp1 ! 1501: fmoved fp1,_Y2:l ! 1502: fsubx fp2,fp3 ! 1503: fmoved fp3,_Y1:l ! 1504: fmoved _OneAndHalf:l,fp3 ! 1505: fmovex fp3,fp6 ! 1506: fmovex fp3,fp1; faddx fp2,fp1 ! 1507: fmovex fp1,fp7 ! 1508: fmovex fp1,fp0; faddx fp2,fp0 ! 1509: fmoved fp0,_Z:l ! 1510: fmoved _Z:l,fp0 ! 1511: fmoved _Y2:l,fp1 ! 1512: fmovex fp1,fp5 ! 1513: fmovex fp0,fp3; fdivx fp1,fp3 ! 1514: fmoved fp3,_X:l ! 1515: fmovex fp6,fp3; fsubx fp2,fp3 ! 1516: fsubx fp2,fp3 ! 1517: fmoved fp3,_T:l ! 1518: fmoved _T:l,fp3 ! 1519: fmovex fp3,fp4 ! 1520: fmovex fp3,fp1; fsubx fp2,fp1 ! 1521: fmoved _Y1:l,fp3 ! 1522: fdivx fp3,fp1 ! 1523: fmoved fp1,_Y:l ! 1524: fmovex fp0,fp1; faddx fp2,fp1 ! 1525: fdivx fp5,fp1 ! 1526: fmoved fp1,_Z:l ! 1527: fmoved _X:l,fp1 ! 1528: fsubx fp6,fp1 ! 1529: fmoved fp1,_X:l ! 1530: fmoved _Y:l,fp1 ! 1531: fsubx fp4,fp1 ! 1532: fmoved fp1,_Y:l ! 1533: fmovex fp4,fp1; fdivx fp3,fp1 ! 1534: fmoved fp1,_T:l ! 1535: fmoved _Z:l,fp3 ! 1536: fsubx fp7,fp3 ! 1537: fmoved fp3,_Z:l ! 1538: fmovex fp2,fp3; fsubx fp6,fp3 ! 1539: faddd _T:l,fp3 ! 1540: fmoved fp3,_T:l ! 1541: fmoved _X:l,fp3 ! 1542: fmoved _Zero:l,fp2 ! 1543: fcmpx fp2,fp3; fjgt L260 ! 1544: fmoved _Y:l,fp3 ! 1545: fcmpx fp2,fp3; fjgt L260 ! 1546: fmoved _Z:l,fp3 ! 1547: fcmpx fp2,fp3; fjgt L260 ! 1548: fmoved _T:l,fp3 ! 1549: fcmpx fp2,fp3; fjgt L260 ! 1550: fmoved _OneAndHalf:l,fp3 ! 1551: fmoved _Y2:l,fp2 ! 1552: fmovex fp2,fp7 ! 1553: fmovex fp3,fp1; fdivx fp2,fp1 ! 1554: fmoved fp1,_X:l ! 1555: fmoved _U2:l,fp1 ! 1556: fmovex fp1,fp6 ! 1557: fmovex fp3,fp0; fsubx fp1,fp0 ! 1558: fmoved fp0,_Y:l ! 1559: fmovex fp3,fp0; faddx fp1,fp0 ! 1560: fmoved fp0,_Z:l ! 1561: fmoved _X:l,fp0 ! 1562: fmoved _Y:l,fp2 ! 1563: fsubx fp2,fp0 ! 1564: fmoved fp0,_X:l ! 1565: fmoved _Y1:l,fp0 ! 1566: fmovex fp3,fp1; fdivx fp0,fp1 ! 1567: fmoved fp1,_T:l ! 1568: fdivx fp0,fp2 ! 1569: fmoved fp2,_Y:l ! 1570: fmoved _T:l,fp2 ! 1571: fmoved _Z:l,fp1 ! 1572: fmovex fp1,fp0; faddx fp6,fp0 ! 1573: fsubx fp0,fp2 ! 1574: fmoved fp2,_T:l ! 1575: fmoved _Y:l,fp2 ! 1576: fsubx fp1,fp2 ! 1577: fmoved fp2,_Y:l ! 1578: fmovex fp1,fp2; fdivx fp7,fp2 ! 1579: fmoved fp2,_Z:l ! 1580: fmovex fp7,fp2; faddx fp6,fp2 ! 1581: fdivx fp7,fp2 ! 1582: fmoved fp2,_Y1:l ! 1583: fmoved _Z:l,fp2 ! 1584: fsubx fp3,fp2 ! 1585: fmoved fp2,_Z:l ! 1586: fmoved _Y1:l,fp3 ! 1587: fsubx fp7,fp3 ! 1588: fmoved fp3,_Y2:l ! 1589: fmoved _F9:l,fp3 ! 1590: fmovex fp3,fp2; fsubd _U1:l,fp2 ! 1591: fdivx fp3,fp2 ! 1592: fmoved fp2,_Y1:l ! 1593: fmoved _X:l,fp2 ! 1594: fmoved _Zero:l,fp1 ! 1595: fcmpx fp1,fp2; fjne L262 ! 1596: fmoved _Y:l,fp2 ! 1597: fcmpx fp1,fp2; fjne L262 ! 1598: fmoved _Z:l,fp2 ! 1599: fcmpx fp1,fp2; fjne L262 ! 1600: fmoved _T:l,fp2 ! 1601: fcmpx fp1,fp2; fjne L262 ! 1602: fmoved _Y2:l,fp2 ! 1603: fcmpx fp1,fp2; fjne L262 ! 1604: fcmpx fp1,fp2; fjne L262 ! 1605: fmoved _Y1:l,fp2 ! 1606: fmoved _Half:l,fp1 ! 1607: fsubx fp1,fp2 ! 1608: fsubx fp1,fp3 ! 1609: fcmpx fp3,fp2; fjne L262 ! 1610: movl #1,_RDiv:l ! 1611: movl #L264,sp@ ! 1612: jbsr _printf:l ! 1613: tstl _GDiv:l; jne L263 ! 1614: movl #L267,sp@ ! 1615: jbsr _notify:l ! 1616: jra L263 ! 1617: L262: ! 1618: fmoved _X:l,fp3 ! 1619: fmoved _Zero:l,fp2 ! 1620: fcmpx fp2,fp3; fjge L268 ! 1621: fmoved _Y:l,fp3 ! 1622: fcmpx fp2,fp3; fjge L268 ! 1623: fmoved _Z:l,fp3 ! 1624: fcmpx fp2,fp3; fjge L268 ! 1625: fmoved _T:l,fp3 ! 1626: fcmpx fp2,fp3; fjge L268 ! 1627: fmoved _Y2:l,fp3 ! 1628: fcmpx fp2,fp3; fjge L268 ! 1629: fmoved _Y1:l,fp3 ! 1630: fmoved _Half:l,fp2 ! 1631: fsubx fp2,fp3 ! 1632: fmoved _F9:l,fp1 ! 1633: fsubx fp2,fp1 ! 1634: fcmpx fp1,fp3; fjge L268 ! 1635: movl #2,_RDiv:l ! 1636: movl #L270,sp@ ! 1637: jbsr _printf:l ! 1638: L268: ! 1639: L263: ! 1640: L260: ! 1641: tstl _RDiv:l; jne L271 ! 1642: movl #L273,sp@ ! 1643: jbsr _printf:l ! 1644: L271: ! 1645: fmoved _One:l,fp3 ! 1646: fdivd _Radix:l,fp3 ! 1647: fmoved fp3,_BInvrse:l ! 1648: movl #0,sp@ ! 1649: fmoved _BInvrse:l,fp3 ! 1650: fmuld _Radix:l,fp3 ! 1651: fmoved _Half:l,fp2 ! 1652: fsubx fp2,fp3 ! 1653: fcmpx fp2,fp3; fjne L276 ! 1654: movl #1,d7 ! 1655: jra L277 ! 1656: L276: ! 1657: clrl d7 ! 1658: L277: ! 1659: movl d7,sp@(4) ! 1660: movl #L275,sp@(8) ! 1661: jbsr _TstCond:l ! 1662: movl #50,_Milestone:l ! 1663: movl #0,sp@ ! 1664: fmoved _F9:l,fp3 ! 1665: faddd _U1:l,fp3 ! 1666: fmoved _Half:l,fp2 ! 1667: fsubx fp2,fp3 ! 1668: fcmpx fp2,fp3; fjne L280 ! 1669: fmoved _BMinusU2:l,fp3 ! 1670: faddd _U2:l,fp3 ! 1671: fmoved _One:l,fp2 ! 1672: fsubx fp2,fp3 ! 1673: fmoved _Radix:l,fp1 ! 1674: fsubx fp2,fp1 ! 1675: fcmpx fp1,fp3; fjne L280 ! 1676: movl #1,d7 ! 1677: jra L281 ! 1678: L280: ! 1679: clrl d7 ! 1680: L281: ! 1681: movl d7,sp@(4) ! 1682: movl #L279,sp@(8) ! 1683: jbsr _TstCond:l ! 1684: fmoved _One:l,fp3 ! 1685: fmoved _U1:l,fp2 ! 1686: fmovex fp2,fp1; fmulx fp2,fp1 ! 1687: fmovex fp3,fp2; fsubx fp1,fp2 ! 1688: fmoved fp2,_X:l ! 1689: fmoved _U2:l,fp2 ! 1690: fmovex fp3,fp1; fsubx fp2,fp1 ! 1691: fmulx fp1,fp2 ! 1692: fmovex fp3,fp1; faddx fp2,fp1 ! 1693: fmoved fp1,_Y:l ! 1694: fmoved _F9:l,fp2 ! 1695: fmoved _Half:l,fp1 ! 1696: fsubx fp1,fp2 ! 1697: fmoved fp2,_Z:l ! 1698: fmoved _X:l,fp2 ! 1699: fsubx fp1,fp2 ! 1700: fsubd _Z:l,fp2 ! 1701: fmoved fp2,_X:l ! 1702: fmoved _Y:l,fp2 ! 1703: fsubx fp3,fp2 ! 1704: fmoved fp2,_Y:l ! 1705: fmoved _X:l,fp3 ! 1706: fmoved _Zero:l,fp2 ! 1707: fcmpx fp2,fp3; fjne L282 ! 1708: fmoved _Y:l,fp3 ! 1709: fcmpx fp2,fp3; fjne L282 ! 1710: movl #2,_RAddSub:l ! 1711: movl #L284,sp@ ! 1712: jbsr _printf:l ! 1713: L282: ! 1714: cmpl #1,_GAddSub:l; jne L285 ! 1715: fmoved _Half:l,fp3 ! 1716: fmoved _U2:l,fp2 ! 1717: fmovex fp3,fp1; faddx fp2,fp1 ! 1718: fmulx fp2,fp1 ! 1719: fmoved fp1,_X:l ! 1720: fsubx fp2,fp3 ! 1721: fmulx fp2,fp3 ! 1722: fmoved fp3,_Y:l ! 1723: fmoved _One:l,fp3 ! 1724: fmovex fp3,fp1; faddd _X:l,fp1 ! 1725: fmoved fp1,_X:l ! 1726: fmovex fp3,fp1; faddd _Y:l,fp1 ! 1727: fmoved fp1,_Y:l ! 1728: fmovex fp3,fp1; faddx fp2,fp1 ! 1729: fmovex fp1,fp2; fsubd _X:l,fp2 ! 1730: fmoved fp2,_X:l ! 1731: fsubd _Y:l,fp3 ! 1732: fmoved fp3,_Y:l ! 1733: fmoved _X:l,fp3 ! 1734: fmoved _Zero:l,fp2 ! 1735: fcmpx fp2,fp3; fjne L287 ! 1736: fmoved _Y:l,fp3 ! 1737: fcmpx fp2,fp3; fjne L287 ! 1738: fmoved _Half:l,fp3 ! 1739: fmoved _U2:l,fp2 ! 1740: fmovex fp3,fp1; faddx fp2,fp1 ! 1741: fmoved _U1:l,fp0 ! 1742: fmulx fp0,fp1 ! 1743: fmoved fp1,_X:l ! 1744: fsubx fp2,fp3 ! 1745: fmulx fp0,fp3 ! 1746: fmoved fp3,_Y:l ! 1747: fmoved _One:l,fp3 ! 1748: fmovex fp3,fp2; fsubd _X:l,fp2 ! 1749: fmoved fp2,_X:l ! 1750: fmovex fp3,fp2; fsubd _Y:l,fp2 ! 1751: fmoved fp2,_Y:l ! 1752: fmoved _F9:l,fp2 ! 1753: fsubd _X:l,fp2 ! 1754: fmoved fp2,_X:l ! 1755: fsubd _Y:l,fp3 ! 1756: fmoved fp3,_Y:l ! 1757: fmoved _X:l,fp3 ! 1758: fmoved _Zero:l,fp2 ! 1759: fcmpx fp2,fp3; fjne L289 ! 1760: fmoved _Y:l,fp3 ! 1761: fcmpx fp2,fp3; fjne L289 ! 1762: movl #1,_RAddSub:l ! 1763: movl #L291,sp@ ! 1764: jbsr _printf:l ! 1765: tstl _GAddSub:l; jne L286 ! 1766: movl #L294,sp@ ! 1767: jbsr _notify:l ! 1768: jra L286 ! 1769: L289: ! 1770: movl #L295,sp@ ! 1771: jbsr _printf:l ! 1772: jra L286 ! 1773: L287: ! 1774: movl #L295,sp@ ! 1775: jbsr _printf:l ! 1776: jra L286 ! 1777: L285: ! 1778: movl #L295,sp@ ! 1779: jbsr _printf:l ! 1780: L286: ! 1781: fmoved _One:l,fp3 ! 1782: fmoved fp3,_S:l ! 1783: fmoved _Half:l,fp2 ! 1784: fmovex fp3,fp1; faddx fp2,fp1 ! 1785: fmovex fp2,fp0; fmulx fp1,fp0 ! 1786: fmovex fp3,fp1; faddx fp0,fp1 ! 1787: fmoved fp1,_X:l ! 1788: faddd _U2:l,fp3 ! 1789: fmulx fp2,fp3 ! 1790: fmoved fp3,_Y:l ! 1791: fmoved _X:l,fp3 ! 1792: fmoved _Y:l,fp2 ! 1793: fmovex fp3,fp1; fsubx fp2,fp1 ! 1794: fmoved fp1,_Z:l ! 1795: fsubx fp3,fp2 ! 1796: fmoved fp2,_T:l ! 1797: fmoved _Z:l,fp3 ! 1798: faddd _T:l,fp3 ! 1799: fmoved fp3,_StickyBit:l ! 1800: fmoved _StickyBit:l,fp3 ! 1801: fcmpd _Zero:l,fp3; fjeq L296 ! 1802: fmoved _Zero:l,fp3 ! 1803: fmoved fp3,_S:l ! 1804: movl #3,sp@ ! 1805: movl #L298,sp@(4) ! 1806: jbsr _BadCond:l ! 1807: L296: ! 1808: fmoved _Zero:l,fp3 ! 1809: fmoved fp3,_StickyBit:l ! 1810: cmpl #1,_GMult:l; jne L299 ! 1811: cmpl #1,_GDiv:l; jne L299 ! 1812: cmpl #1,_GAddSub:l; jne L299 ! 1813: cmpl #1,_RMult:l; jne L299 ! 1814: cmpl #1,_RDiv:l; jne L299 ! 1815: cmpl #1,_RAddSub:l; jne L299 ! 1816: fmoved _RadixD2:l,fp3 ! 1817: fmoved fp3,sp@(0) ! 1818: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 1819: fcmpd _RadixD2:l,fp0; fjne L299 ! 1820: movl #L301,sp@ ! 1821: jbsr _printf:l ! 1822: fmoved _Half:l,fp3 ! 1823: fmovex fp3,fp2; faddd _U1:l,fp2 ! 1824: fmoved _U2:l,fp1 ! 1825: fmulx fp1,fp2 ! 1826: fmoved fp2,_X:l ! 1827: fmulx fp1,fp3 ! 1828: fmoved fp3,_Y:l ! 1829: fmoved _One:l,fp3 ! 1830: fmovex fp3,fp2; faddd _Y:l,fp2 ! 1831: fmoved fp2,_Z:l ! 1832: fmovex fp3,fp2; faddd _X:l,fp2 ! 1833: fmoved fp2,_T:l ! 1834: fmoved _Z:l,fp2 ! 1835: fsubx fp3,fp2 ! 1836: fcmpd _Zero:l,fp2; fjgt L302 ! 1837: fmoved _T:l,fp2 ! 1838: fsubx fp3,fp2 ! 1839: fcmpx fp1,fp2; fjlt L302 ! 1840: fmoved _T:l,fp3 ! 1841: fmovex fp3,fp2; faddd _Y:l,fp2 ! 1842: fmoved fp2,_Z:l ! 1843: fmoved _Z:l,fp2 ! 1844: fmovex fp2,fp1; fsubd _X:l,fp1 ! 1845: fmoved fp1,_Y:l ! 1846: fsubx fp3,fp2 ! 1847: fcmpd _U2:l,fp2; fjlt L304 ! 1848: fmoved _Y:l,fp2 ! 1849: fsubx fp3,fp2 ! 1850: fcmpd _Zero:l,fp2; fjne L304 ! 1851: fmoved _Half:l,fp3 ! 1852: fmoved _U1:l,fp2 ! 1853: fmovex fp3,fp1; faddx fp2,fp1 ! 1854: fmulx fp2,fp1 ! 1855: fmoved fp1,_X:l ! 1856: fmulx fp2,fp3 ! 1857: fmoved fp3,_Y:l ! 1858: fmoved _One:l,fp3 ! 1859: fmovex fp3,fp2; fsubd _Y:l,fp2 ! 1860: fmoved fp2,_Z:l ! 1861: fmovex fp3,fp2; fsubd _X:l,fp2 ! 1862: fmoved fp2,_T:l ! 1863: fmoved _Z:l,fp2 ! 1864: fsubx fp3,fp2 ! 1865: fmoved _Zero:l,fp3 ! 1866: fcmpx fp3,fp2; fjne L306 ! 1867: fmoved _T:l,fp2 ! 1868: fsubd _F9:l,fp2 ! 1869: fcmpx fp3,fp2; fjne L306 ! 1870: fmoved _Half:l,fp3 ! 1871: fmoved _U1:l,fp2 ! 1872: fsubx fp2,fp3 ! 1873: fmulx fp2,fp3 ! 1874: fmoved fp3,_Z:l ! 1875: fmoved _F9:l,fp3 ! 1876: fmovex fp3,fp1; fsubd _Z:l,fp1 ! 1877: fmoved fp1,_T:l ! 1878: fmovex fp3,fp1; fsubd _Y:l,fp1 ! 1879: fmoved fp1,_Q:l ! 1880: fmoved _T:l,fp1 ! 1881: fsubx fp3,fp1 ! 1882: fmoved _Zero:l,fp0 ! 1883: fcmpx fp0,fp1; fjne L308 ! 1884: fsubx fp2,fp3 ! 1885: fsubd _Q:l,fp3 ! 1886: fcmpx fp0,fp3; fjne L308 ! 1887: fmoved _One:l,fp3 ! 1888: fmoved _U2:l,fp2 ! 1889: fmovex fp2,fp7 ! 1890: fmovex fp3,fp1; faddx fp2,fp1 ! 1891: fmoved _OneAndHalf:l,fp0 ! 1892: fmulx fp0,fp1 ! 1893: fmoved fp1,_Z:l ! 1894: fmovex fp0,fp1; faddx fp2,fp1 ! 1895: fsubd _Z:l,fp1 ! 1896: faddx fp2,fp1 ! 1897: fmoved fp1,_T:l ! 1898: fmoved _Half:l,fp1 ! 1899: fmoved _Radix:l,fp0 ! 1900: fdivx fp0,fp1 ! 1901: fmovex fp3,fp2; faddx fp1,fp2 ! 1902: fmoved fp2,_X:l ! 1903: fmovex fp0,fp2; fmulx fp7,fp2 ! 1904: faddx fp2,fp3 ! 1905: fmoved fp3,_Y:l ! 1906: fmoved _X:l,fp3 ! 1907: fmovex fp3,fp1; fmuld _Y:l,fp1 ! 1908: fmoved fp1,_Z:l ! 1909: fmoved _T:l,fp1 ! 1910: fmoved _Zero:l,fp0 ! 1911: fcmpx fp0,fp1; fjne L310 ! 1912: faddx fp2,fp3 ! 1913: fsubd _Z:l,fp3 ! 1914: fcmpx fp0,fp3; fjne L310 ! 1915: fmoved _Radix:l,fp3 ! 1916: fcmpd _Two:l,fp3; fjeq L312 ! 1917: fmoved _Two:l,fp3 ! 1918: fmovex fp3,fp2; faddd _U2:l,fp2 ! 1919: fmoved fp2,_X:l ! 1920: fmoved _X:l,fp2 ! 1921: fdivx fp3,fp2 ! 1922: fmoved fp2,_Y:l ! 1923: fmoved _Y:l,fp3 ! 1924: fsubd _One:l,fp3 ! 1925: fcmpd _Zero:l,fp3; fjne L313 ! 1926: fmoved _S:l,fp3 ! 1927: fmoved fp3,_StickyBit:l ! 1928: jra L313 ! 1929: L312: ! 1930: fmoved _S:l,fp3 ! 1931: fmoved fp3,_StickyBit:l ! 1932: L313: ! 1933: L310: ! 1934: L308: ! 1935: L306: ! 1936: L304: ! 1937: L302: ! 1938: L299: ! 1939: fmoved _StickyBit:l,fp3 ! 1940: fcmpd _One:l,fp3; fjne L316 ! 1941: movl #L318,sp@ ! 1942: jbsr _printf:l ! 1943: jra L317 ! 1944: L316: ! 1945: movl #L319,sp@ ! 1946: jbsr _printf:l ! 1947: L317: ! 1948: movl #3,sp@ ! 1949: tstl _GMult:l; jeq L322 ! 1950: tstl _GDiv:l; jeq L322 ! 1951: tstl _GAddSub:l; jeq L322 ! 1952: tstl _RMult:l; jeq L322 ! 1953: tstl _RDiv:l; jeq L322 ! 1954: tstl _RAddSub:l; jeq L322 ! 1955: movl #1,d7 ! 1956: jra L323 ! 1957: L322: ! 1958: clrl d7 ! 1959: L323: ! 1960: movl d7,sp@(4) ! 1961: movl #L321,sp@(8) ! 1962: jbsr _TstCond:l ! 1963: movl #60,_Milestone:l ! 1964: movl #L47,sp@ ! 1965: jbsr _printf:l ! 1966: movl #L324,sp@ ! 1967: jbsr _printf:l ! 1968: movl #L325,sp@ ! 1969: movl _NoTrials:l,sp@(4) ! 1970: jbsr _printf:l ! 1971: fmoved L326:l,fp3 ! 1972: fmoved fp3,sp@(0) ! 1973: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 1974: fmoved fp0,_Random9:l ! 1975: fmoved _Third:l,fp3 ! 1976: fmoved fp3,_Random1:l ! 1977: movl #1,_I:l ! 1978: L327: ! 1979: jbsr _Random:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 1980: fmoved fp0,_X:l ! 1981: jbsr _Random:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 1982: fmoved fp0,_Y:l ! 1983: fmoved _Y:l,fp3 ! 1984: fmoved _X:l,fp2 ! 1985: fmovex fp3,fp1; fmulx fp2,fp1 ! 1986: fmoved fp1,_Z9:l ! 1987: fmulx fp3,fp2 ! 1988: fmoved fp2,_Z:l ! 1989: fmoved _Z:l,fp3 ! 1990: fsubd _Z9:l,fp3 ! 1991: fmoved fp3,_Z9:l ! 1992: addql #1,_I:l ! 1993: L328: ! 1994: movl _I:l,d4 ! 1995: cmpl _NoTrials:l,d4; jgt L330 ! 1996: fmoved _Z9:l,fp3 ! 1997: fcmpd _Zero:l,fp3; fjeq L327 ! 1998: L330: ! 1999: movl _I:l,d4 ! 2000: cmpl _NoTrials:l,d4; jne L331 ! 2001: fmoved _One:l,fp3 ! 2002: fmoved _Half:l,fp2 ! 2003: fdivd _Three:l,fp2 ! 2004: fmovex fp3,fp1; faddx fp2,fp1 ! 2005: fmoved fp1,_Random1:l ! 2006: fmoved _U2:l,fp2 ! 2007: faddd _U1:l,fp2 ! 2008: faddx fp3,fp2 ! 2009: fmovex fp2,fp7 ! 2010: fmoved fp2,_Random2:l ! 2011: fmoved _Random1:l,fp3 ! 2012: fmoved _Random2:l,fp0 ! 2013: fmovex fp3,fp2; fmulx fp0,fp2 ! 2014: fmoved fp2,_Z:l ! 2015: fmovex fp0,fp2; fmulx fp3,fp2 ! 2016: fmoved fp2,_Y:l ! 2017: fmovex fp1,fp3; fmulx fp7,fp3 ! 2018: fmovex fp3,fp2; fsubx fp3,fp2 ! 2019: fmoved fp2,_Z9:l ! 2020: L331: ! 2021: movl _I:l,d4 ! 2022: cmpl _NoTrials:l,d4; jeq L333 ! 2023: fmoved _Z9:l,fp3 ! 2024: fcmpd _Zero:l,fp3; fjeq L333 ! 2025: movl #2,sp@ ! 2026: movl #L335,sp@(4) ! 2027: jbsr _BadCond:l ! 2028: jra L334 ! 2029: L333: ! 2030: movl #L336,sp@ ! 2031: movl _NoTrials:l,sp@(4) ! 2032: jbsr _printf:l ! 2033: L334: ! 2034: movl #70,_Milestone:l ! 2035: movl #L337,sp@ ! 2036: jbsr _printf:l ! 2037: fmoved _Zero:l,fp3 ! 2038: fmoved fp3,sp@(0) ! 2039: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2040: fcmpx fp0,fp3; fjne L340 ! 2041: fnegd _Zero:l,fp3 ! 2042: fmoved fp3,sp@(0) ! 2043: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2044: fcmpx fp0,fp3; fjne L340 ! 2045: fmoved _One:l,fp3 ! 2046: fmoved fp3,sp@(0) ! 2047: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2048: fcmpx fp0,fp3; fjne L340 ! 2049: movl #1,d7 ! 2050: jra L341 ! 2051: L340: ! 2052: clrl d7 ! 2053: L341: ! 2054: movl #0,sp@ ! 2055: movl d7,sp@(4) ! 2056: movl #L339,sp@(8) ! 2057: jbsr _TstCond:l ! 2058: fmoved _Zero:l,fp3 ! 2059: fmoved fp3,_MinSqEr:l ! 2060: fmoved fp3,_MaxSqEr:l ! 2061: fmoved fp3,_J:l ! 2062: fmoved _Radix:l,fp3 ! 2063: fmoved fp3,_X:l ! 2064: fmoved _U2:l,fp3 ! 2065: fmoved fp3,_OneUlp:l ! 2066: movl #1,sp@ ! 2067: jbsr _SqXMinX:l ! 2068: fmoved _BInvrse:l,fp3 ! 2069: fmoved fp3,_X:l ! 2070: fmuld _U1:l,fp3 ! 2071: fmoved fp3,_OneUlp:l ! 2072: movl #1,sp@ ! 2073: jbsr _SqXMinX:l ! 2074: fmoved _U1:l,fp3 ! 2075: fmoved fp3,_X:l ! 2076: fmovex fp3,fp2; fmulx fp3,fp2 ! 2077: fmoved fp2,_OneUlp:l ! 2078: movl #1,sp@ ! 2079: jbsr _SqXMinX:l ! 2080: fmoved _J:l,fp3 ! 2081: fcmpd _Zero:l,fp3; fjeq L342 ! 2082: jbsr _Pause:l ! 2083: L342: ! 2084: movl #L344,sp@ ! 2085: movl _NoTrials:l,sp@(4) ! 2086: jbsr _printf:l ! 2087: fmoved _Zero:l,fp3 ! 2088: fmoved fp3,_J:l ! 2089: fmoved _Two:l,fp3 ! 2090: fmoved fp3,_X:l ! 2091: fmoved _Radix:l,fp3 ! 2092: fmoved fp3,_Y:l ! 2093: fcmpd _One:l,fp3; fjeq L345 ! 2094: L347: ! 2095: fmoved _Y:l,fp3 ! 2096: fmoved fp3,_X:l ! 2097: fmoved _Radix:l,fp2 ! 2098: fmulx fp3,fp2 ! 2099: fmoved fp2,_Y:l ! 2100: L348: ! 2101: fmoved _Y:l,fp3 ! 2102: fsubd _X:l,fp3 ! 2103: movl _NoTrials:l,d4 ! 2104: fcmpl d4,fp3; fjlt L347 ! 2105: L345: ! 2106: fmoved _X:l,fp3 ! 2107: fmuld _U2:l,fp3 ! 2108: fmoved fp3,_OneUlp:l ! 2109: movl #1,_I:l ! 2110: jra L351 ! 2111: L350: ! 2112: fmoved _X:l,fp3 ! 2113: faddd _One:l,fp3 ! 2114: fmoved fp3,_X:l ! 2115: movl #2,sp@ ! 2116: jbsr _SqXMinX:l ! 2117: fmoved _J:l,fp3 ! 2118: fcmpd _Zero:l,fp3; fjle L353 ! 2119: jra L352 ! 2120: L353: ! 2121: addql #1,_I:l ! 2122: L351: ! 2123: movl _I:l,d4 ! 2124: cmpl _NoTrials:l,d4; jle L350 ! 2125: L352: ! 2126: movl #L355,sp@ ! 2127: jbsr _printf:l ! 2128: movl #-1,_I:l ! 2129: fmoved _BMinusU2:l,fp3 ! 2130: fmoved fp3,_X:l ! 2131: fmoved _Radix:l,fp3 ! 2132: fmoved fp3,_Y:l ! 2133: fmovex fp3,fp2; fmuld _U2:l,fp2 ! 2134: faddx fp2,fp3 ! 2135: fmoved fp3,_Z:l ! 2136: clrl _NotMonot:l ! 2137: clrl _Monot:l ! 2138: jra L357 ! 2139: L356: ! 2140: addql #1,_I:l ! 2141: fmoved _X:l,fp3 ! 2142: fmoved fp3,sp@(0) ! 2143: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2144: fmoved fp0,_X:l ! 2145: fmoved _Y:l,fp3 ! 2146: fmoved fp3,sp@(0) ! 2147: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2148: fmoved fp0,_Q:l ! 2149: fmoved _Z:l,fp3 ! 2150: fmoved fp3,sp@(0) ! 2151: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2152: fmoved fp0,_Z:l ! 2153: fmoved _X:l,fp3 ! 2154: fmoved _Q:l,fp2 ! 2155: fcmpx fp2,fp3; fjgt L361 ! 2156: fcmpd _Z:l,fp2; fjle L359 ! 2157: L361: ! 2158: movl #1,_NotMonot:l ! 2159: jra L360 ! 2160: L359: ! 2161: fmoved _Q:l,fp3 ! 2162: faddd _Half:l,fp3 ! 2163: fmoved fp3,sp@(0) ! 2164: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2165: fmoved fp0,_Q:l ! 2166: tstl _I:l; jgt L364 ! 2167: fmoved _Radix:l,fp3 ! 2168: fmoved _Q:l,fp2 ! 2169: fmovex fp2,fp1; fmulx fp2,fp1 ! 2170: fcmpx fp1,fp3; fjne L362 ! 2171: L364: ! 2172: movl #1,_Monot:l ! 2173: jra L363 ! 2174: L362: ! 2175: tstl _I:l; jle L365 ! 2176: cmpl #1,_I:l; jle L367 ! 2177: movl #1,_Monot:l ! 2178: jra L366 ! 2179: L367: ! 2180: fmoved _Y:l,fp3 ! 2181: fmuld _BInvrse:l,fp3 ! 2182: fmoved fp3,_Y:l ! 2183: fmoved _Y:l,fp3 ! 2184: fmoved _U1:l,fp2 ! 2185: fmovex fp3,fp1; fsubx fp2,fp1 ! 2186: fmoved fp1,_X:l ! 2187: faddx fp2,fp3 ! 2188: fmoved fp3,_Z:l ! 2189: jra L366 ! 2190: L365: ! 2191: fmoved _Q:l,fp3 ! 2192: fmoved fp3,_Y:l ! 2193: fmoved _Y:l,fp3 ! 2194: fmoved _U2:l,fp2 ! 2195: fmovex fp3,fp1; fsubx fp2,fp1 ! 2196: fmoved fp1,_X:l ! 2197: faddx fp2,fp3 ! 2198: fmoved fp3,_Z:l ! 2199: L366: ! 2200: L363: ! 2201: L360: ! 2202: L357: ! 2203: tstl _NotMonot:l; jne L369 ! 2204: tstl _Monot:l; jeq L356 ! 2205: L369: ! 2206: tstl _Monot:l; jeq L370 ! 2207: movl #L372,sp@ ! 2208: jbsr _printf:l ! 2209: jra L371 ! 2210: L370: ! 2211: movl #2,sp@ ! 2212: movl #L160,sp@(4) ! 2213: jbsr _BadCond:l ! 2214: movl #L373,sp@ ! 2215: fmoved _Y:l,fp3 ! 2216: fmoved fp3,sp@(4) ! 2217: jbsr _printf:l ! 2218: L371: ! 2219: movl #80,_Milestone:l ! 2220: fmoved _MinSqEr:l,fp3 ! 2221: fmoved _Half:l,fp2 ! 2222: faddx fp2,fp3 ! 2223: fmoved fp3,_MinSqEr:l ! 2224: fmoved _MaxSqEr:l,fp3 ! 2225: fsubx fp2,fp3 ! 2226: fmoved fp3,_MaxSqEr:l ! 2227: fmoved _One:l,fp3 ! 2228: faddd _U2:l,fp3 ! 2229: fmoved fp3,sp@(0) ! 2230: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2231: fmoved _One:l,fp3 ! 2232: fmovex fp0,fp2; fsubx fp3,fp2 ! 2233: fmoved _U2:l,fp1 ! 2234: fdivx fp1,fp2 ! 2235: fmoved fp2,_Y:l ! 2236: fmoved _Y:l,fp2 ! 2237: fsubx fp3,fp2 ! 2238: fmovex fp1,fp3; fdivd _Eight:l,fp3 ! 2239: faddx fp3,fp2 ! 2240: fmoved fp2,_SqEr:l ! 2241: fmoved _SqEr:l,fp3 ! 2242: fcmpd _MaxSqEr:l,fp3; fjle L374 ! 2243: fmoved _SqEr:l,fp3 ! 2244: fmoved fp3,_MaxSqEr:l ! 2245: L374: ! 2246: fmoved _Y:l,fp3 ! 2247: fmoved _U2:l,fp2 ! 2248: fdivd _Eight:l,fp2 ! 2249: faddx fp2,fp3 ! 2250: fmoved fp3,_SqEr:l ! 2251: fmoved _SqEr:l,fp3 ! 2252: fcmpd _MinSqEr:l,fp3; fjge L376 ! 2253: fmoved _SqEr:l,fp3 ! 2254: fmoved fp3,_MinSqEr:l ! 2255: L376: ! 2256: fmoved _F9:l,fp3 ! 2257: fmoved fp3,sp@(0) ! 2258: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2259: fmoved _U2:l,fp3 ! 2260: fmovex fp0,fp2; fsubx fp3,fp2 ! 2261: fmoved _One:l,fp1 ! 2262: fsubx fp3,fp1 ! 2263: fmovex fp2,fp3; fsubx fp1,fp3 ! 2264: fmoved _U1:l,fp2 ! 2265: fdivx fp2,fp3 ! 2266: fmoved fp3,_Y:l ! 2267: fmoved _Y:l,fp3 ! 2268: fdivd _Eight:l,fp2 ! 2269: faddx fp2,fp3 ! 2270: fmoved fp3,_SqEr:l ! 2271: fmoved _SqEr:l,fp3 ! 2272: fcmpd _MaxSqEr:l,fp3; fjle L378 ! 2273: fmoved _SqEr:l,fp3 ! 2274: fmoved fp3,_MaxSqEr:l ! 2275: L378: ! 2276: fmoved _Y:l,fp3 ! 2277: faddd _One:l,fp3 ! 2278: fmoved _U1:l,fp2 ! 2279: fdivd _Eight:l,fp2 ! 2280: faddx fp2,fp3 ! 2281: fmoved fp3,_SqEr:l ! 2282: fmoved _SqEr:l,fp3 ! 2283: fcmpd _MinSqEr:l,fp3; fjge L380 ! 2284: fmoved _SqEr:l,fp3 ! 2285: fmoved fp3,_MinSqEr:l ! 2286: L380: ! 2287: fmoved _U2:l,fp3 ! 2288: fmoved fp3,_OneUlp:l ! 2289: fmoved _OneUlp:l,fp3 ! 2290: fmoved fp3,_X:l ! 2291: movl #1,_Indx:l ! 2292: L382: ! 2293: fmoved _X:l,fp3 ! 2294: fmovex fp3,fp2; faddd _U1:l,fp2 ! 2295: faddx fp3,fp2 ! 2296: fmovex fp2,fp3; faddd _F9:l,fp3 ! 2297: fmoved fp3,sp@(0) ! 2298: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2299: fmoved fp0,_Y:l ! 2300: fmoved _Y:l,fp3 ! 2301: fmoved _U2:l,fp2 ! 2302: fsubx fp2,fp3 ! 2303: fmoved _One:l,fp1 ! 2304: fsubx fp2,fp1 ! 2305: fmoved _X:l,fp2 ! 2306: faddx fp2,fp1 ! 2307: fsubx fp1,fp3 ! 2308: fmoved _OneUlp:l,fp1 ! 2309: fdivx fp1,fp3 ! 2310: fmoved fp3,_Y:l ! 2311: fmoved _U1:l,fp3 ! 2312: fsubx fp2,fp3 ! 2313: faddd _F9:l,fp3 ! 2314: fmoved _Half:l,fp0 ! 2315: fmulx fp0,fp3 ! 2316: fmulx fp2,fp3 ! 2317: fmulx fp2,fp3 ! 2318: fdivx fp1,fp3 ! 2319: fmoved fp3,_Z:l ! 2320: fmoved _Y:l,fp3 ! 2321: faddx fp0,fp3 ! 2322: faddd _Z:l,fp3 ! 2323: fmoved fp3,_SqEr:l ! 2324: fmoved _SqEr:l,fp3 ! 2325: fcmpd _MinSqEr:l,fp3; fjge L386 ! 2326: fmoved _SqEr:l,fp3 ! 2327: fmoved fp3,_MinSqEr:l ! 2328: L386: ! 2329: fmoved _Y:l,fp3 ! 2330: fsubd _Half:l,fp3 ! 2331: faddd _Z:l,fp3 ! 2332: fmoved fp3,_SqEr:l ! 2333: fmoved _SqEr:l,fp3 ! 2334: fcmpd _MaxSqEr:l,fp3; fjle L388 ! 2335: fmoved _SqEr:l,fp3 ! 2336: fmoved fp3,_MaxSqEr:l ! 2337: L388: ! 2338: movl _Indx:l,d4 ! 2339: cmpl #1,d4; jeq L392 ! 2340: cmpl #3,d4; jne L390 ! 2341: L392: ! 2342: fmoved _X:l,fp3 ! 2343: fmoved fp3,sp@(0) ! 2344: jbsr _Sign:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2345: fmovex fp0,fp7 ! 2346: fmoved _OneUlp:l,fp3 ! 2347: fmoved fp3,sp@(0) ! 2348: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2349: fmoved _Eight:l,fp3 ! 2350: fmoved _Nine:l,fp2 ! 2351: fmulx fp0,fp2 ! 2352: fdivx fp2,fp3 ! 2353: fmoved fp3,sp@(0) ! 2354: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2355: fmoved _OneUlp:l,fp3 ! 2356: fmulx fp7,fp3 ! 2357: fmulx fp0,fp3 ! 2358: fmoved fp3,_X:l ! 2359: jra L391 ! 2360: L390: ! 2361: fmoved _U1:l,fp3 ! 2362: fmoved fp3,_OneUlp:l ! 2363: fnegd _OneUlp:l,fp3 ! 2364: fmoved fp3,_X:l ! 2365: L391: ! 2366: L383: ! 2367: addql #1,_Indx:l ! 2368: cmpl #3,_Indx:l; jle L382 ! 2369: movl #85,_Milestone:l ! 2370: clrl _SqRWrng:l ! 2371: clrl _Anomaly:l ! 2372: clrl _RSqrt:l ! 2373: fmoved _Radix:l,fp3 ! 2374: fcmpd _One:l,fp3; fjeq L393 ! 2375: movl #L395,sp@ ! 2376: jbsr _printf:l ! 2377: fmoved _Precision:l,fp3 ! 2378: fmoved fp3,sp@(0) ! 2379: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2380: fmoved _Radix:l,fp2 ! 2381: fmoved fp2,sp@(0) ! 2382: fmoved _One:l,fp2 ! 2383: faddx fp3,fp2 ! 2384: fmovex fp2,fp3; fsubx fp0,fp3 ! 2385: fmoved fp3,sp@(8) ! 2386: jbsr _pow:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2387: fmoved _Half:l,fp3 ! 2388: faddx fp0,fp3 ! 2389: fmoved fp3,sp@(0) ! 2390: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2391: fmoved fp0,_D:l ! 2392: fmoved _D:l,fp3 ! 2393: fmovex fp3,fp2; fdivd _Radix:l,fp2 ! 2394: fmoved fp2,_X:l ! 2395: fdivd _A1:l,fp3 ! 2396: fmoved fp3,_Y:l ! 2397: fmoved _X:l,fp3 ! 2398: fmoved fp3,sp@(0) ! 2399: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2400: fcmpx fp0,fp3; fjne L398 ! 2401: fmoved _Y:l,fp3 ! 2402: fmoved fp3,sp@(0) ! 2403: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2404: fcmpx fp0,fp3; fjeq L396 ! 2405: L398: ! 2406: movl #1,_Anomaly:l ! 2407: jra L397 ! 2408: L396: ! 2409: fmoved _Zero:l,fp3 ! 2410: fmoved fp3,_X:l ! 2411: fmoved _X:l,fp3 ! 2412: fmoved fp3,_Z2:l ! 2413: fmoved _One:l,fp3 ! 2414: fmoved fp3,_Y:l ! 2415: fmoved _Y:l,fp2 ! 2416: fmoved fp2,_Y2:l ! 2417: fmoved _Radix:l,fp2 ! 2418: fsubx fp3,fp2 ! 2419: fmoved fp2,_Z1:l ! 2420: fmoved _Four:l,fp3 ! 2421: fmuld _D:l,fp3 ! 2422: fmoved fp3,_FourD:l ! 2423: L399: ! 2424: fmoved _Y2:l,fp3 ! 2425: fcmpd _Z2:l,fp3; fjle L402 ! 2426: fmoved _Radix:l,fp3 ! 2427: fmoved fp3,_Q:l ! 2428: fmoved _Y:l,fp3 ! 2429: fmoved fp3,_Y1:l ! 2430: L404: ! 2431: fmoved _Half:l,fp3 ! 2432: fmoved _Q:l,fp2 ! 2433: fmovex fp2,fp1; fdivd _Y1:l,fp1 ! 2434: fsubx fp1,fp3 ! 2435: fmoved fp3,sp@(0) ! 2436: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2437: fmovex fp0,fp3; fmuld _Y1:l,fp3 ! 2438: faddx fp3,fp2 ! 2439: fmoved fp2,sp@(0) ! 2440: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2441: fmoved fp0,_X1:l ! 2442: fmoved _Y1:l,fp3 ! 2443: fmoved fp3,_Q:l ! 2444: fmoved _X1:l,fp3 ! 2445: fmoved fp3,_Y1:l ! 2446: L405: ! 2447: fmoved _X1:l,fp3 ! 2448: fcmpd _Zero:l,fp3; fjgt L404 ! 2449: fmoved _Q:l,fp3 ! 2450: fcmpd _One:l,fp3; fjgt L407 ! 2451: fmoved _Y2:l,fp3 ! 2452: fmoved fp3,_Z2:l ! 2453: fmoved _Y:l,fp3 ! 2454: fmoved fp3,_Z:l ! 2455: L407: ! 2456: L402: ! 2457: fmoved _Y:l,fp3 ! 2458: faddd _Two:l,fp3 ! 2459: fmoved fp3,_Y:l ! 2460: fmoved _X:l,fp3 ! 2461: faddd _Eight:l,fp3 ! 2462: fmoved fp3,_X:l ! 2463: fmoved _Y2:l,fp3 ! 2464: faddd _X:l,fp3 ! 2465: fmoved fp3,_Y2:l ! 2466: fmoved _Y2:l,fp3 ! 2467: fcmpd _FourD:l,fp3; fjlt L409 ! 2468: fmoved _Y2:l,fp3 ! 2469: fsubd _FourD:l,fp3 ! 2470: fmoved fp3,_Y2:l ! 2471: L409: ! 2472: L400: ! 2473: fmoved _Y:l,fp3 ! 2474: fcmpd _D:l,fp3; fjlt L399 ! 2475: fmoved _FourD:l,fp3 ! 2476: fmovex fp3,fp2; fsubd _Z2:l,fp2 ! 2477: fmoved fp2,_X8:l ! 2478: fmoved _X8:l,fp2 ! 2479: fmoved _Z:l,fp1 ! 2480: fmovex fp1,fp0; fmulx fp1,fp0 ! 2481: fmovex fp2,fp1; faddx fp0,fp1 ! 2482: fdivx fp3,fp1 ! 2483: fmoved fp1,_Q:l ! 2484: fmovex fp2,fp3; fdivd _Eight:l,fp3 ! 2485: fmoved fp3,_X8:l ! 2486: fmoved _Q:l,fp3 ! 2487: fmoved fp3,sp@(0) ! 2488: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2489: fcmpx fp0,fp3; fjeq L411 ! 2490: movl #1,_Anomaly:l ! 2491: jra L412 ! 2492: L411: ! 2493: clrl _Break:l ! 2494: L413: ! 2495: fmoved _Z1:l,fp3 ! 2496: fmuld _Z:l,fp3 ! 2497: fmoved fp3,_X:l ! 2498: fmoved _X:l,fp3 ! 2499: fmovex fp3,fp2; fdivd _Radix:l,fp2 ! 2500: fmoved fp2,sp@(0) ! 2501: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2502: fmovex fp0,fp2; fmuld _Radix:l,fp2 ! 2503: fsubx fp2,fp3 ! 2504: fmoved fp3,_X:l ! 2505: fmoved _X:l,fp3 ! 2506: fcmpd _One:l,fp3; fjne L416 ! 2507: movl #1,_Break:l ! 2508: jra L417 ! 2509: L416: ! 2510: fmoved _Z1:l,fp3 ! 2511: fsubd _One:l,fp3 ! 2512: fmoved fp3,_Z1:l ! 2513: L417: ! 2514: L414: ! 2515: tstl _Break:l; jne L418 ! 2516: fmoved _Z1:l,fp3 ! 2517: fcmpd _Zero:l,fp3; fjgt L413 ! 2518: L418: ! 2519: fmoved _Z1:l,fp3 ! 2520: fcmpd _Zero:l,fp3; fjgt L419 ! 2521: tstl _Break:l; jne L419 ! 2522: movl #1,_Anomaly:l ! 2523: jra L420 ! 2524: L419: ! 2525: fmoved _Z1:l,fp3 ! 2526: fcmpd _RadixD2:l,fp3; fjle L421 ! 2527: fmoved _Z1:l,fp3 ! 2528: fsubd _Radix:l,fp3 ! 2529: fmoved fp3,_Z1:l ! 2530: L421: ! 2531: L423: ! 2532: jbsr _NewD:l ! 2533: L424: ! 2534: fmoved _U2:l,fp3 ! 2535: fmuld _D:l,fp3 ! 2536: fcmpd _F9:l,fp3; fjlt L423 ! 2537: fmoved _D:l,fp3 ! 2538: fmovex fp3,fp2; fmuld _Radix:l,fp2 ! 2539: fsubx fp3,fp2 ! 2540: fmoved _W:l,fp1 ! 2541: fsubx fp3,fp1 ! 2542: fcmpx fp1,fp2; fjeq L426 ! 2543: movl #1,_Anomaly:l ! 2544: jra L427 ! 2545: L426: ! 2546: fmoved _D:l,fp3 ! 2547: fmoved fp3,_Z2:l ! 2548: clrl _I:l ! 2549: fmoved _One:l,fp2 ! 2550: fmoved _Z:l,fp1 ! 2551: faddx fp1,fp2 ! 2552: fmuld _Half:l,fp2 ! 2553: fmovex fp3,fp0; faddx fp2,fp0 ! 2554: fmoved fp0,_Y:l ! 2555: faddx fp1,fp3 ! 2556: faddd _Q:l,fp3 ! 2557: fmoved fp3,_X:l ! 2558: jbsr _SR3750:l ! 2559: fmoved _D:l,fp3 ! 2560: fmoved _One:l,fp2 ! 2561: fmoved _Z:l,fp1 ! 2562: fsubx fp1,fp2 ! 2563: fmuld _Half:l,fp2 ! 2564: fmovex fp3,fp0; faddx fp2,fp0 ! 2565: fmovex fp0,fp2; faddx fp3,fp2 ! 2566: fmoved fp2,_Y:l ! 2567: fmovex fp3,fp2; fsubx fp1,fp2 ! 2568: faddx fp3,fp2 ! 2569: fmoved fp2,_X:l ! 2570: fmoved _X:l,fp3 ! 2571: fmovex fp3,fp2; faddd _Q:l,fp2 ! 2572: faddx fp3,fp2 ! 2573: fmoved fp2,_X:l ! 2574: jbsr _SR3750:l ! 2575: jbsr _NewD:l ! 2576: fmoved _D:l,fp3 ! 2577: fmoved _Z2:l,fp2 ! 2578: fsubx fp2,fp3 ! 2579: fmoved _W:l,fp1 ! 2580: fsubx fp2,fp1 ! 2581: fcmpx fp1,fp3; fjeq L428 ! 2582: movl #1,_Anomaly:l ! 2583: jra L429 ! 2584: L428: ! 2585: fmoved _D:l,fp3 ! 2586: fmoved _Z2:l,fp2 ! 2587: fsubx fp2,fp3 ! 2588: fmoved _One:l,fp1 ! 2589: fmoved _Z:l,fp0 ! 2590: fmovex fp0,fp7 ! 2591: fsubx fp0,fp1 ! 2592: fmuld _Half:l,fp1 ! 2593: fmovex fp2,fp0; faddx fp1,fp0 ! 2594: fmovex fp3,fp1; faddx fp0,fp1 ! 2595: fmoved fp1,_Y:l ! 2596: fsubx fp7,fp2 ! 2597: faddd _Q:l,fp2 ! 2598: faddx fp2,fp3 ! 2599: fmoved fp3,_X:l ! 2600: jbsr _SR3750:l ! 2601: fmoved _One:l,fp3 ! 2602: faddd _Z:l,fp3 ! 2603: fmuld _Half:l,fp3 ! 2604: fmoved fp3,_Y:l ! 2605: fmoved _Q:l,fp3 ! 2606: fmoved fp3,_X:l ! 2607: jbsr _SR3750:l ! 2608: tstl _I:l; jne L430 ! 2609: movl #1,_Anomaly:l ! 2610: L430: ! 2611: L429: ! 2612: L427: ! 2613: L420: ! 2614: L412: ! 2615: L397: ! 2616: tstl _I:l; jeq L434 ! 2617: tstl _Anomaly:l; jeq L432 ! 2618: L434: ! 2619: movl #0,sp@ ! 2620: movl #L435,sp@(4) ! 2621: jbsr _BadCond:l ! 2622: movl #L436,sp@ ! 2623: fmoved _W:l,fp3 ! 2624: fmoved fp3,sp@(4) ! 2625: jbsr _printf:l ! 2626: movl #L437,sp@ ! 2627: jbsr _printf:l ! 2628: movl #1,_SqRWrng:l ! 2629: L432: ! 2630: L393: ! 2631: tstl _Anomaly:l; jne L438 ! 2632: fmoved _MinSqEr:l,fp3 ! 2633: fmoved _Zero:l,fp2 ! 2634: fcmpx fp2,fp3; fjlt L440 ! 2635: fmoved _MaxSqEr:l,fp3 ! 2636: fcmpx fp2,fp3; fjgt L440 ! 2637: movl #1,_RSqrt:l ! 2638: movl #L442,sp@ ! 2639: jbsr _printf:l ! 2640: jra L441 ! 2641: L440: ! 2642: fmoved _MaxSqEr:l,fp3 ! 2643: fmoved _U2:l,fp2 ! 2644: faddx fp2,fp3 ! 2645: fmoved _Half:l,fp1 ! 2646: fsubx fp1,fp2 ! 2647: fcmpx fp2,fp3; fjgt L446 ! 2648: fmoved _MinSqEr:l,fp3 ! 2649: fcmpx fp1,fp3; fjgt L446 ! 2650: faddd _Radix:l,fp3 ! 2651: fcmpx fp1,fp3; fjge L443 ! 2652: L446: ! 2653: movl #1,_SqRWrng:l ! 2654: jra L444 ! 2655: L443: ! 2656: movl #2,_RSqrt:l ! 2657: movl #L447,sp@ ! 2658: jbsr _printf:l ! 2659: L444: ! 2660: L441: ! 2661: L438: ! 2662: tstl _SqRWrng:l; jeq L448 ! 2663: movl #L450,sp@ ! 2664: jbsr _printf:l ! 2665: movl #L451,sp@ ! 2666: fmoved _MinSqEr:l,fp3 ! 2667: fsubd _Half:l,fp3 ! 2668: fmoved fp3,sp@(4) ! 2669: jbsr _printf:l ! 2670: movl #L452,sp@ ! 2671: fmoved _Half:l,fp3 ! 2672: faddd _MaxSqEr:l,fp3 ! 2673: fmoved fp3,sp@(4) ! 2674: jbsr _printf:l ! 2675: movl #1,sp@ ! 2676: fmoved _MaxSqEr:l,fp3 ! 2677: fsubd _MinSqEr:l,fp3 ! 2678: fmoved _Radix:l,fp2 ! 2679: fmovex fp2,fp1; fmulx fp2,fp1 ! 2680: fcmpx fp1,fp3; fjge L455 ! 2681: movl #1,d7 ! 2682: jra L456 ! 2683: L455: ! 2684: clrl d7 ! 2685: L456: ! 2686: movl d7,sp@(4) ! 2687: movl #L454,sp@(8) ! 2688: jbsr _TstCond:l ! 2689: L448: ! 2690: movl #90,_Milestone:l ! 2691: jbsr _Pause:l ! 2692: movl #L457,sp@ ! 2693: jbsr _printf:l ! 2694: clrl _N:l ! 2695: clrl _I:l ! 2696: fnegd _Zero:l,fp3 ! 2697: fmoved fp3,_Z:l ! 2698: movl #3,_M:l ! 2699: clrl _Break:l ! 2700: L458: ! 2701: fmoved _One:l,fp3 ! 2702: fmoved fp3,_X:l ! 2703: jbsr _SR3980:l ! 2704: cmpl #10,_I:l; jgt L461 ! 2705: movl #1023,_I:l ! 2706: jbsr _SR3980:l ! 2707: L461: ! 2708: fmoved _Z:l,fp3 ! 2709: fcmpd _MinusOne:l,fp3; fjne L463 ! 2710: movl #1,_Break:l ! 2711: jra L464 ! 2712: L463: ! 2713: fmoved _MinusOne:l,fp3 ! 2714: fmoved fp3,_Z:l ! 2715: jbsr _PrintIfNPositive:l ! 2716: clrl _N:l ! 2717: movl #-4,_I:l ! 2718: L464: ! 2719: L459: ! 2720: tstl _Break:l; jeq L458 ! 2721: jbsr _PrintIfNPositive:l ! 2722: movl _N:l,_N1:l ! 2723: clrl _N:l ! 2724: fmoved _A1:l,fp3 ! 2725: fmoved fp3,_Z:l ! 2726: fmoved _W:l,fp3 ! 2727: fmoved fp3,sp@(0) ! 2728: jbsr _log:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2729: fmovex fp0,fp7 ! 2730: fmoved _A1:l,fp3 ! 2731: fmoved fp3,sp@(0) ! 2732: jbsr _log:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2733: fmoved _Two:l,fp3 ! 2734: fmulx fp7,fp3 ! 2735: fdivx fp0,fp3 ! 2736: fmoved fp3,sp@(0) ! 2737: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2738: fintrzx fp0,fp0; fmovel fp0,d4 ! 2739: movl d4,_M:l ! 2740: clrl _Break:l ! 2741: L465: ! 2742: fmoved _Z:l,fp3 ! 2743: fmoved fp3,_X:l ! 2744: movl #1,_I:l ! 2745: jbsr _SR3980:l ! 2746: fmoved _Z:l,fp3 ! 2747: fcmpd _AInvrse:l,fp3; fjne L468 ! 2748: movl #1,_Break:l ! 2749: jra L469 ! 2750: L468: ! 2751: fmoved _AInvrse:l,fp3 ! 2752: fmoved fp3,_Z:l ! 2753: L469: ! 2754: L466: ! 2755: tstl _Break:l; jeq L465 ! 2756: movl #100,_Milestone:l ! 2757: movl _NoTrials:l,_M:l ! 2758: fmoved _Three:l,fp3 ! 2759: fmoved fp3,_Z:l ! 2760: L470: ! 2761: fmoved _Z:l,fp3 ! 2762: fmoved fp3,_X:l ! 2763: movl #1,_I:l ! 2764: jbsr _SR3980:l ! 2765: L473: ! 2766: fmoved _Z:l,fp3 ! 2767: faddd _Two:l,fp3 ! 2768: fmoved fp3,_Z:l ! 2769: L474: ! 2770: fmoved _Z:l,fp3 ! 2771: fmoved _Three:l,fp2 ! 2772: fdivx fp2,fp3 ! 2773: fmoved fp3,sp@(0) ! 2774: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2775: fmovex fp2,fp3; fmulx fp0,fp3 ! 2776: fcmpd _Z:l,fp3; fjeq L473 ! 2777: L471: ! 2778: fmoved _Z:l,fp3 ! 2779: fmoved _Eight:l,fp2 ! 2780: fmuld _Three:l,fp2 ! 2781: fcmpx fp2,fp3; fjlt L470 ! 2782: tstl _N:l; jle L476 ! 2783: movl #L478,sp@ ! 2784: jbsr _printf:l ! 2785: movl #L479,sp@ ! 2786: jbsr _printf:l ! 2787: L476: ! 2788: jbsr _PrintIfNPositive:l ! 2789: movl _N:l,d4 ! 2790: addl _N1:l,d4 ! 2791: movl d4,_N:l ! 2792: tstl _N:l; jne L480 ! 2793: movl #L482,sp@ ! 2794: jbsr _printf:l ! 2795: L480: ! 2796: tstl _N:l; jle L483 ! 2797: jbsr _Pause:l ! 2798: jra L484 ! 2799: L483: ! 2800: movl #L47,sp@ ! 2801: jbsr _printf:l ! 2802: L484: ! 2803: movl #110,_Milestone:l ! 2804: movl #L485,sp@ ! 2805: jbsr _printf:l ! 2806: fmoved _U1:l,fp3 ! 2807: fmoved fp3,_D:l ! 2808: fmoved _Precision:l,fp3 ! 2809: fmoved fp3,sp@(0) ! 2810: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2811: fcmpx fp0,fp3; fjeq L486 ! 2812: fmoved _BInvrse:l,fp3 ! 2813: fmoved fp3,_D:l ! 2814: fmoved _Precision:l,fp3 ! 2815: fmoved fp3,_X:l ! 2816: L488: ! 2817: fmoved _D:l,fp3 ! 2818: fmuld _BInvrse:l,fp3 ! 2819: fmoved fp3,_D:l ! 2820: fmoved _X:l,fp3 ! 2821: fsubd _One:l,fp3 ! 2822: fmoved fp3,_X:l ! 2823: L489: ! 2824: fmoved _X:l,fp3 ! 2825: fcmpd _Zero:l,fp3; fjgt L488 ! 2826: L486: ! 2827: fmoved _One:l,fp3 ! 2828: fmoved fp3,_Y:l ! 2829: fmoved _D:l,fp3 ! 2830: fmoved fp3,_Z:l ! 2831: L491: ! 2832: fmoved _Y:l,fp3 ! 2833: fmoved fp3,_C:l ! 2834: fmoved _Z:l,fp3 ! 2835: fmoved fp3,_Y:l ! 2836: fmoved _Y:l,fp3 ! 2837: fmovex fp3,fp2; fmulx fp3,fp2 ! 2838: fmoved fp2,_Z:l ! 2839: L492: ! 2840: fmoved _Y:l,fp3 ! 2841: fmoved _Z:l,fp2 ! 2842: fcmpx fp2,fp3; fjle L494 ! 2843: fmovex fp2,fp3; faddx fp2,fp3 ! 2844: fcmpx fp2,fp3; fjgt L491 ! 2845: L494: ! 2846: fmoved _C:l,fp3 ! 2847: fmoved fp3,_Y:l ! 2848: fmoved _Y:l,fp3 ! 2849: fmuld _D:l,fp3 ! 2850: fmoved fp3,_Z:l ! 2851: L495: ! 2852: fmoved _Y:l,fp3 ! 2853: fmoved fp3,_C:l ! 2854: fmoved _Z:l,fp3 ! 2855: fmoved fp3,_Y:l ! 2856: fmoved _Y:l,fp3 ! 2857: fmuld _D:l,fp3 ! 2858: fmoved fp3,_Z:l ! 2859: L496: ! 2860: fmoved _Y:l,fp3 ! 2861: fmoved _Z:l,fp2 ! 2862: fcmpx fp2,fp3; fjle L498 ! 2863: fmovex fp2,fp3; faddx fp2,fp3 ! 2864: fcmpx fp2,fp3; fjgt L495 ! 2865: L498: ! 2866: fmoved _Radix:l,fp3 ! 2867: fcmpd _Two:l,fp3; fjge L499 ! 2868: fmoved _Two:l,fp3 ! 2869: fmoved fp3,_HInvrse:l ! 2870: jra L500 ! 2871: L499: ! 2872: fmoved _Radix:l,fp3 ! 2873: fmoved fp3,_HInvrse:l ! 2874: L500: ! 2875: fmoved _One:l,fp3 ! 2876: fmovex fp3,fp2; fdivd _HInvrse:l,fp2 ! 2877: fmoved fp2,_H:l ! 2878: fmoved _C:l,fp2 ! 2879: fdivx fp2,fp3 ! 2880: fmoved fp3,_CInvrse:l ! 2881: fmoved fp2,_E0:l ! 2882: fmoved _E0:l,fp3 ! 2883: fmuld _H:l,fp3 ! 2884: fmoved fp3,_Z:l ! 2885: L501: ! 2886: fmoved _E0:l,fp3 ! 2887: fmoved fp3,_Y:l ! 2888: fmoved _Z:l,fp3 ! 2889: fmoved fp3,_E0:l ! 2890: fmoved _E0:l,fp3 ! 2891: fmuld _H:l,fp3 ! 2892: fmoved fp3,_Z:l ! 2893: L502: ! 2894: fmoved _E0:l,fp3 ! 2895: fmoved _Z:l,fp2 ! 2896: fcmpx fp2,fp3; fjle L504 ! 2897: fmovex fp2,fp3; faddx fp2,fp3 ! 2898: fcmpx fp2,fp3; fjgt L501 ! 2899: L504: ! 2900: fmoved _E0:l,fp3 ! 2901: fmoved fp3,_UfThold:l ! 2902: fmoved _Zero:l,fp3 ! 2903: fmoved fp3,_E1:l ! 2904: fmoved fp3,_Q:l ! 2905: fmoved _U2:l,fp3 ! 2906: fmoved fp3,_E9:l ! 2907: fmoved _One:l,fp3 ! 2908: faddd _E9:l,fp3 ! 2909: fmoved fp3,_S:l ! 2910: fmoved _C:l,fp3 ! 2911: fmovex fp3,fp2; fmuld _S:l,fp2 ! 2912: fmoved fp2,_D:l ! 2913: fmoved _D:l,fp2 ! 2914: fcmpx fp3,fp2; fjgt L505 ! 2915: fmoved _Radix:l,fp3 ! 2916: fmuld _U2:l,fp3 ! 2917: fmoved fp3,_E9:l ! 2918: fmoved _One:l,fp3 ! 2919: faddd _E9:l,fp3 ! 2920: fmoved fp3,_S:l ! 2921: fmoved _C:l,fp3 ! 2922: fmovex fp3,fp2; fmuld _S:l,fp2 ! 2923: fmoved fp2,_D:l ! 2924: fmoved _D:l,fp2 ! 2925: fcmpx fp3,fp2; fjgt L506 ! 2926: movl #0,sp@ ! 2927: movl #L509,sp@(4) ! 2928: jbsr _BadCond:l ! 2929: fmoved _E0:l,fp3 ! 2930: fmoved fp3,_Underflow:l ! 2931: fmoved _Zero:l,fp3 ! 2932: fmoved fp3,_Y1:l ! 2933: fmoved _Z:l,fp3 ! 2934: fmoved fp3,_PseudoZero:l ! 2935: jbsr _Pause:l ! 2936: jra L506 ! 2937: L505: ! 2938: fmoved _D:l,fp3 ! 2939: fmoved fp3,_Underflow:l ! 2940: fmoved _Underflow:l,fp3 ! 2941: fmuld _H:l,fp3 ! 2942: fmoved fp3,_PseudoZero:l ! 2943: fmoved _Zero:l,fp3 ! 2944: fmoved fp3,_UfThold:l ! 2945: L510: ! 2946: fmoved _Underflow:l,fp3 ! 2947: fmoved fp3,_Y1:l ! 2948: fmoved _PseudoZero:l,fp3 ! 2949: fmoved fp3,_Underflow:l ! 2950: fmoved _E1:l,fp3 ! 2951: fmovex fp3,fp2; faddx fp3,fp2 ! 2952: fcmpx fp3,fp2; fjgt L513 ! 2953: fmoved _Underflow:l,fp3 ! 2954: fmuld _HInvrse:l,fp3 ! 2955: fmoved fp3,_Y2:l ! 2956: fmoved _Y1:l,fp3 ! 2957: fsubd _Y2:l,fp3 ! 2958: fmoved fp3,sp@(0) ! 2959: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 2960: fmoved fp0,_E1:l ! 2961: fmoved _Y1:l,fp3 ! 2962: fmoved fp3,_Q:l ! 2963: fmoved _UfThold:l,fp2 ! 2964: fcmpd _Zero:l,fp2; fjne L515 ! 2965: fcmpd _Y2:l,fp3; fjeq L515 ! 2966: fmoved _Y1:l,fp3 ! 2967: fmoved fp3,_UfThold:l ! 2968: L515: ! 2969: L513: ! 2970: fmoved _PseudoZero:l,fp3 ! 2971: fmuld _H:l,fp3 ! 2972: fmoved fp3,_PseudoZero:l ! 2973: L511: ! 2974: fmoved _Underflow:l,fp3 ! 2975: fmoved _PseudoZero:l,fp2 ! 2976: fcmpx fp2,fp3; fjle L517 ! 2977: fmovex fp2,fp3; faddx fp2,fp3 ! 2978: fcmpx fp2,fp3; fjgt L510 ! 2979: L517: ! 2980: L506: ! 2981: fmoved _PseudoZero:l,fp3 ! 2982: fcmpd _Zero:l,fp3; fjeq L518 ! 2983: movl #L47,sp@ ! 2984: jbsr _printf:l ! 2985: fmoved _PseudoZero:l,fp3 ! 2986: fmoved fp3,_Z:l ! 2987: fcmpd _Zero:l,fp3; fjgt L520 ! 2988: movl #0,sp@ ! 2989: movl #L522,sp@(4) ! 2990: jbsr _BadCond:l ! 2991: movl #L523,sp@ ! 2992: jbsr _printf:l ! 2993: movl #L524,sp@ ! 2994: fmoved _PseudoZero:l,fp3 ! 2995: fmoved fp3,sp@(4) ! 2996: jbsr _printf:l ! 2997: fnegd _PseudoZero:l,fp3 ! 2998: fmoved fp3,_X:l ! 2999: fmoved _X:l,fp3 ! 3000: fcmpd _Zero:l,fp3; fjgt L521 ! 3001: movl #L527,sp@ ! 3002: jbsr _printf:l ! 3003: movl #L528,sp@ ! 3004: fmoved _X:l,fp3 ! 3005: fmoved fp3,sp@(4) ! 3006: jbsr _printf:l ! 3007: jra L521 ! 3008: L520: ! 3009: movl #3,sp@ ! 3010: movl #L529,sp@(4) ! 3011: jbsr _BadCond:l ! 3012: movl #L530,sp@ ! 3013: fmoved _PseudoZero:l,fp3 ! 3014: fmoved fp3,sp@(4) ! 3015: jbsr _printf:l ! 3016: L521: ! 3017: jbsr _TstPtUf:l ! 3018: L518: ! 3019: movl #120,_Milestone:l ! 3020: fmoved _CInvrse:l,fp3 ! 3021: fmovex fp3,fp2; fmuld _Y:l,fp2 ! 3022: fmuld _Y1:l,fp3 ! 3023: fcmpx fp3,fp2; fjle L531 ! 3024: fmoved _H:l,fp3 ! 3025: fmuld _S:l,fp3 ! 3026: fmoved fp3,_S:l ! 3027: fmoved _Underflow:l,fp3 ! 3028: fmoved fp3,_E0:l ! 3029: L531: ! 3030: fmoved _E1:l,fp3 ! 3031: fcmpd _Zero:l,fp3; fjeq L533 ! 3032: fcmpd _E0:l,fp3; fjeq L533 ! 3033: movl #2,sp@ ! 3034: movl #L160,sp@(4) ! 3035: jbsr _BadCond:l ! 3036: fmoved _E1:l,fp3 ! 3037: fcmpd _E0:l,fp3; fjge L535 ! 3038: movl #L537,sp@ ! 3039: jbsr _printf:l ! 3040: movl #L538,sp@ ! 3041: jbsr _printf:l ! 3042: fmoved _PseudoZero:l,fp3 ! 3043: fcmpd _Zero:l,fp3; fjne L536 ! 3044: fmoved _E1:l,fp3 ! 3045: fmoved fp3,_E0:l ! 3046: jra L536 ! 3047: L535: ! 3048: movl #L541,sp@ ! 3049: jbsr _printf:l ! 3050: movl #L542,sp@ ! 3051: jbsr _printf:l ! 3052: L536: ! 3053: L533: ! 3054: movl #L543,sp@ ! 3055: fmoved _E0:l,fp3 ! 3056: fmoved fp3,sp@(4) ! 3057: jbsr _printf:l ! 3058: fmoved _E0:l,fp3 ! 3059: fmoved fp3,_Z:l ! 3060: jbsr _TstPtUf:l ! 3061: fmoved _E0:l,fp3 ! 3062: fmoved fp3,_Underflow:l ! 3063: cmpl #1,_N:l; jne L544 ! 3064: fmoved _Y:l,fp3 ! 3065: fmoved fp3,_Underflow:l ! 3066: L544: ! 3067: movl #4,_I:l ! 3068: fmoved _E1:l,fp3 ! 3069: fcmpd _Zero:l,fp3; fjne L546 ! 3070: movl #3,_I:l ! 3071: L546: ! 3072: fmoved _UfThold:l,fp3 ! 3073: fcmpd _Zero:l,fp3; fjne L548 ! 3074: subql #2,_I:l ! 3075: L548: ! 3076: movl #1,_UfNGrad:l ! 3077: movl _I:l,d4 ! 3078: cmpl #1,d4; jlt L550 ! 3079: cmpl #4,d4; jgt L550 ! 3080: movl @(L574-4:l,d4:l:4),a2 ! 3081: jra a2@ ! 3082: L574: ! 3083: .align 2; .long L552 ! 3084: .align 2; .long L559 ! 3085: .align 2; .long L564 ! 3086: .align 2; .long L565 ! 3087: L552: ! 3088: fmoved _Underflow:l,fp3 ! 3089: fmoved fp3,_UfThold:l ! 3090: fmoved _CInvrse:l,fp3 ! 3091: fmovex fp3,fp2; fmuld _Q:l,fp2 ! 3092: fmuld _Y:l,fp3 ! 3093: fmuld _S:l,fp3 ! 3094: fcmpx fp3,fp2; fjeq L553 ! 3095: fmoved _Y:l,fp3 ! 3096: fmoved fp3,_UfThold:l ! 3097: movl #0,sp@ ! 3098: movl #L555,sp@(4) ! 3099: jbsr _BadCond:l ! 3100: movl #L556,sp@ ! 3101: fmoved _UfThold:l,fp3 ! 3102: fmoved fp3,sp@(4) ! 3103: jbsr _printf:l ! 3104: movl #L557,sp@ ! 3105: fmoved _C:l,fp3 ! 3106: fmoved fp3,sp@(4) ! 3107: jbsr _printf:l ! 3108: movl #L558,sp@ ! 3109: jbsr _printf:l ! 3110: L553: ! 3111: jbsr _Pause:l ! 3112: jra L551 ! 3113: L559: ! 3114: movl #0,sp@ ! 3115: movl #L560,sp@(4) ! 3116: jbsr _BadCond:l ! 3117: movl #L561,sp@ ! 3118: jbsr _printf:l ! 3119: movl #L562,sp@ ! 3120: fmoved _Q:l,fp3 ! 3121: fmoved fp3,sp@(4) ! 3122: fmoved _Y2:l,fp3 ! 3123: fmoved fp3,sp@(12) ! 3124: jbsr _printf:l ! 3125: fmoved _Q:l,fp3 ! 3126: fsubd _Y2:l,fp3 ! 3127: fmoved fp3,sp@(0) ! 3128: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3129: movl #L563,sp@ ! 3130: fmoved fp0,sp@(4) ! 3131: jbsr _printf:l ! 3132: fmoved _Q:l,fp3 ! 3133: fmoved fp3,_UfThold:l ! 3134: jra L551 ! 3135: L564: ! 3136: fmoved _X:l,fp3 ! 3137: fmoved fp3,_X:l ! 3138: jra L551 ! 3139: L565: ! 3140: fmoved _Q:l,fp3 ! 3141: fmoved _UfThold:l,fp2 ! 3142: fcmpx fp2,fp3; fjne L566 ! 3143: fmoved _E1:l,fp3 ! 3144: fcmpd _E0:l,fp3; fjne L566 ! 3145: fdivd _E9:l,fp3 ! 3146: fsubx fp3,fp2 ! 3147: fmoved fp2,sp@(0) ! 3148: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3149: fcmpd _E1:l,fp0; fjgt L566 ! 3150: clrl _UfNGrad:l ! 3151: movl #L568,sp@ ! 3152: jbsr _printf:l ! 3153: movl #L569,sp@ ! 3154: jbsr _printf:l ! 3155: fmoved _E0:l,fp3 ! 3156: fmoved _CInvrse:l,fp2 ! 3157: fmulx fp2,fp3 ! 3158: fmoved fp3,_Y:l ! 3159: fmoved _Y:l,fp3 ! 3160: fmoved _OneAndHalf:l,fp1 ! 3161: fmoved _U2:l,fp0 ! 3162: faddx fp0,fp1 ! 3163: fmulx fp1,fp3 ! 3164: fmoved fp3,_Y:l ! 3165: fmoved _One:l,fp3 ! 3166: faddx fp0,fp3 ! 3167: fmulx fp3,fp2 ! 3168: fmoved fp2,_X:l ! 3169: fmoved _Y:l,fp3 ! 3170: fdivd _X:l,fp3 ! 3171: fmoved fp3,_Y:l ! 3172: fmoved _Y:l,fp3 ! 3173: fcmpd _E0:l,fp3; fjne L571 ! 3174: movl #1,d7 ! 3175: jra L572 ! 3176: L571: ! 3177: clrl d7 ! 3178: L572: ! 3179: movl d7,_IEEE:l ! 3180: L566: ! 3181: L550: ! 3182: L551: ! 3183: tstl _UfNGrad:l; jeq L576 ! 3184: movl #L47,sp@ ! 3185: jbsr _printf:l ! 3186: movl #_sigfpe,_sigsave:l ! 3187: movl #_ovfl_buf,sp@ ! 3188: jbsr _setjmp:l ! 3189: tstl d0; jeq L578 ! 3190: movl #L580,sp@ ! 3191: jbsr _printf:l ! 3192: fmoved _H:l,fp3 ! 3193: fmovex fp3,fp2; faddx fp3,fp2 ! 3194: fmoved fp2,_R:l ! 3195: jra L579 ! 3196: L578: ! 3197: fmoved _Underflow:l,fp3 ! 3198: fdivd _UfThold:l,fp3 ! 3199: fmoved fp3,sp@(0) ! 3200: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3201: fmoved fp0,_R:l ! 3202: L579: ! 3203: clrl _sigsave:l ! 3204: fmoved _R:l,fp3 ! 3205: fcmpd _H:l,fp3; fjgt L581 ! 3206: fmoved _R:l,fp3 ! 3207: fmovex fp3,fp2; fmuld _UfThold:l,fp2 ! 3208: fmoved fp2,_Z:l ! 3209: fmoved _Z:l,fp2 ! 3210: fmovex fp2,fp7 ! 3211: fmoved _One:l,fp1 ! 3212: fmoved _H:l,fp0 ! 3213: fmulx fp0,fp3 ! 3214: fmovex fp1,fp2; faddx fp0,fp2 ! 3215: fmulx fp2,fp3 ! 3216: fmovex fp1,fp2; faddx fp3,fp2 ! 3217: fmovex fp7,fp3; fmulx fp2,fp3 ! 3218: fmoved fp3,_X:l ! 3219: jra L582 ! 3220: L581: ! 3221: fmoved _UfThold:l,fp3 ! 3222: fmoved fp3,_Z:l ! 3223: fmoved _Z:l,fp3 ! 3224: fmovex fp3,fp7 ! 3225: fmoved _One:l,fp2 ! 3226: fmoved _H:l,fp1 ! 3227: fmovex fp1,fp0; fmulx fp1,fp0 ! 3228: fmovex fp2,fp3; faddx fp1,fp3 ! 3229: fmovex fp0,fp1; fmulx fp3,fp1 ! 3230: fmovex fp2,fp3; faddx fp1,fp3 ! 3231: fmovex fp7,fp2; fmulx fp3,fp2 ! 3232: fmoved fp2,_X:l ! 3233: L582: ! 3234: fmoved _X:l,fp3 ! 3235: fmoved _Z:l,fp2 ! 3236: fcmpx fp2,fp3; fjeq L583 ! 3237: fsubx fp2,fp3 ! 3238: fcmpd _Zero:l,fp3; fjne L583 ! 3239: movl #3,sp@ ! 3240: movl #L160,sp@(4) ! 3241: jbsr _BadCond:l ! 3242: movl #L585,sp@ ! 3243: fmoved _X:l,fp3 ! 3244: fmoved fp3,sp@(4) ! 3245: fmoved _Z:l,fp3 ! 3246: fmoved fp3,sp@(12) ! 3247: jbsr _printf:l ! 3248: fmoved _X:l,fp3 ! 3249: fsubd _Z:l,fp3 ! 3250: fmoved fp3,_Z9:l ! 3251: movl #L586,sp@ ! 3252: fmoved _Z9:l,fp3 ! 3253: fmoved fp3,sp@(4) ! 3254: jbsr _printf:l ! 3255: movl #L587,sp@ ! 3256: jbsr _printf:l ! 3257: movl #L588,sp@ ! 3258: jbsr _printf:l ! 3259: movl #L589,sp@ ! 3260: jbsr _printf:l ! 3261: movl #L590,sp@ ! 3262: jbsr _printf:l ! 3263: movl #L591,sp@ ! 3264: jbsr _printf:l ! 3265: movl #L592,sp@ ! 3266: jbsr _printf:l ! 3267: movl #_sigfpe,_sigsave:l ! 3268: movl #_ovfl_buf,sp@ ! 3269: jbsr _setjmp:l ! 3270: tstl d0; jeq L593 ! 3271: movl #L595,sp@ ! 3272: jbsr _printf:l ! 3273: jra L594 ! 3274: L593: ! 3275: movl #L596,sp@ ! 3276: fmoved _X:l,fp3 ! 3277: fdivd _Z:l,fp3 ! 3278: fmoved _Half:l,fp2 ! 3279: fsubx fp2,fp3 ! 3280: fsubx fp2,fp3 ! 3281: fmoved fp3,sp@(4) ! 3282: jbsr _printf:l ! 3283: L594: ! 3284: clrl _sigsave:l ! 3285: L583: ! 3286: L576: ! 3287: movl #L597,sp@ ! 3288: fmoved _UfThold:l,fp3 ! 3289: fmoved fp3,sp@(4) ! 3290: movl #L598,sp@(12) ! 3291: jbsr _printf:l ! 3292: movl #L599,sp@ ! 3293: jbsr _printf:l ! 3294: movl #L600,sp@ ! 3295: jbsr _printf:l ! 3296: fmoved _U1:l,fp3 ! 3297: fmovex fp3,fp2; fmulx fp3,fp2 ! 3298: fmoved fp2,_Y2:l ! 3299: fmoved _Y2:l,fp2 ! 3300: fmovex fp2,fp1; fmulx fp2,fp1 ! 3301: fmoved fp1,_Y:l ! 3302: fmoved _Y:l,fp2 ! 3303: fmulx fp3,fp2 ! 3304: fmoved fp2,_Y2:l ! 3305: fmoved _Y2:l,fp3 ! 3306: fcmpd _UfThold:l,fp3; fjgt L601 ! 3307: fmoved _Y:l,fp3 ! 3308: fcmpd _E0:l,fp3; fjle L603 ! 3309: movl #2,sp@ ! 3310: movl #L160,sp@(4) ! 3311: jbsr _BadCond:l ! 3312: movl #5,_I:l ! 3313: jra L604 ! 3314: L603: ! 3315: movl #1,sp@ ! 3316: movl #L160,sp@(4) ! 3317: jbsr _BadCond:l ! 3318: movl #4,_I:l ! 3319: L604: ! 3320: movl #L605,sp@ ! 3321: movl _I:l,sp@(4) ! 3322: jbsr _printf:l ! 3323: L601: ! 3324: movl #130,_Milestone:l ! 3325: fmoved _UfThold:l,fp3 ! 3326: fmoved fp3,sp@(0) ! 3327: jbsr _log:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3328: fmovex fp0,fp7 ! 3329: fmoved _HInvrse:l,fp3 ! 3330: fmoved fp3,sp@(0) ! 3331: jbsr _log:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3332: fmoved _Half:l,fp3 ! 3333: fmoved _TwoForty:l,fp2 ! 3334: fmulx fp7,fp2 ! 3335: fdivx fp0,fp2 ! 3336: fsubx fp2,fp3 ! 3337: fmoved fp3,sp@(0) ! 3338: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3339: fnegx fp0,fp3 ! 3340: fdivd _TwoForty:l,fp3 ! 3341: fmoved fp3,_Y:l ! 3342: fmoved _Y:l,fp3 ! 3343: fmovex fp3,fp2; faddx fp3,fp2 ! 3344: fmoved fp2,_Y2:l ! 3345: movl #L606,sp@ ! 3346: jbsr _printf:l ! 3347: movl #L607,sp@ ! 3348: fmoved _HInvrse:l,fp3 ! 3349: fmoved fp3,sp@(4) ! 3350: fmoved _Y:l,fp3 ! 3351: fmoved fp3,sp@(12) ! 3352: jbsr _printf:l ! 3353: movl #L608,sp@ ! 3354: fmoved _HInvrse:l,fp3 ! 3355: fmoved fp3,sp@(4) ! 3356: fmoved _Y:l,fp3 ! 3357: fmoved fp3,sp@(12) ! 3358: jbsr _printf:l ! 3359: fmoved _HInvrse:l,fp3 ! 3360: fmoved fp3,sp@(0) ! 3361: fmoved _Y2:l,fp3 ! 3362: fmoved fp3,sp@(8) ! 3363: jbsr _pow:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3364: fmoved fp0,_V9:l ! 3365: movl #L609,sp@ ! 3366: fmoved _V9:l,fp3 ! 3367: fmoved fp3,sp@(4) ! 3368: jbsr _printf:l ! 3369: fmoved _V9:l,fp3 ! 3370: fcmpd _Zero:l,fp3; fjlt L612 ! 3371: fmoved _Radix:l,fp2 ! 3372: fmovex fp2,fp1; faddx fp2,fp1 ! 3373: fmovex fp1,fp2; faddd _E9:l,fp2 ! 3374: fmuld _UfThold:l,fp2 ! 3375: fcmpx fp2,fp3; fjle L610 ! 3376: L612: ! 3377: movl #1,sp@ ! 3378: movl #L613,sp@(4) ! 3379: jbsr _BadCond:l ! 3380: movl #L614,sp@ ! 3381: fmoved _UfThold:l,fp3 ! 3382: fmoved fp3,sp@(4) ! 3383: jbsr _printf:l ! 3384: jra L611 ! 3385: L610: ! 3386: fmoved _V9:l,fp3 ! 3387: fmoved _UfThold:l,fp2 ! 3388: fmoved _One:l,fp1 ! 3389: faddd _E9:l,fp1 ! 3390: fmulx fp1,fp2 ! 3391: fcmpx fp2,fp3; fjgt L615 ! 3392: movl #L617,sp@ ! 3393: jbsr _printf:l ! 3394: jra L616 ! 3395: L615: ! 3396: movl #2,sp@ ! 3397: movl #L613,sp@(4) ! 3398: jbsr _BadCond:l ! 3399: movl #L614,sp@ ! 3400: fmoved _UfThold:l,fp3 ! 3401: fmoved fp3,sp@(4) ! 3402: jbsr _printf:l ! 3403: L616: ! 3404: L611: ! 3405: movl #140,_Milestone:l ! 3406: movl #L47,sp@ ! 3407: jbsr _printf:l ! 3408: fmoved _Zero:l,fp3 ! 3409: fmoved fp3,_X:l ! 3410: movl #2,_I:l ! 3411: fmoved _Two:l,fp2 ! 3412: fmuld _Three:l,fp2 ! 3413: fmoved fp2,_Y:l ! 3414: fmoved fp3,_Q:l ! 3415: clrl _N:l ! 3416: L618: ! 3417: fmoved _X:l,fp3 ! 3418: fmoved fp3,_Z:l ! 3419: addql #1,_I:l ! 3420: fmoved _Y:l,fp3 ! 3421: movl _I:l,d4 ! 3422: movl d4,d3; addl d4,d3 ! 3423: fdivl d3,fp3 ! 3424: fmoved fp3,_Y:l ! 3425: fmoved _Y:l,fp3 ! 3426: faddd _Q:l,fp3 ! 3427: fmoved fp3,_R:l ! 3428: fmoved _Z:l,fp3 ! 3429: fmoved _R:l,fp2 ! 3430: fmovex fp3,fp1; faddx fp2,fp1 ! 3431: fmoved fp1,_X:l ! 3432: fsubd _X:l,fp3 ! 3433: faddx fp2,fp3 ! 3434: fmoved fp3,_Q:l ! 3435: L619: ! 3436: fmoved _X:l,fp3 ! 3437: fcmpd _Z:l,fp3; fjgt L618 ! 3438: fmoved _OneAndHalf:l,fp3 ! 3439: fmoved _One:l,fp2 ! 3440: fdivd _Eight:l,fp2 ! 3441: fmovex fp3,fp1; faddx fp2,fp1 ! 3442: fmoved _X:l,fp2 ! 3443: fmuld _ThirtyTwo:l,fp3 ! 3444: fdivx fp3,fp2 ! 3445: fmovex fp1,fp3; faddx fp2,fp3 ! 3446: fmoved fp3,_Z:l ! 3447: fmoved _Z:l,fp3 ! 3448: fmovex fp3,fp2; fmulx fp3,fp2 ! 3449: fmoved fp2,_X:l ! 3450: fmoved _X:l,fp3 ! 3451: fmovex fp3,fp2; fmulx fp3,fp2 ! 3452: fmoved fp2,_Exp2:l ! 3453: fmoved _F9:l,fp3 ! 3454: fmoved fp3,_X:l ! 3455: fmoved _X:l,fp3 ! 3456: fsubd _U1:l,fp3 ! 3457: fmoved fp3,_Y:l ! 3458: movl #L621,sp@ ! 3459: fmoved _Exp2:l,fp3 ! 3460: fmoved fp3,sp@(4) ! 3461: jbsr _printf:l ! 3462: movl #1,_I:l ! 3463: L622: ! 3464: fmoved _X:l,fp3 ! 3465: fmovex fp3,fp7 ! 3466: fmoved _BInvrse:l,fp2 ! 3467: fmovex fp3,fp1; fsubx fp2,fp1 ! 3468: fmoved fp1,_Z:l ! 3469: fmoved _One:l,fp1 ! 3470: fmovex fp3,fp0; faddx fp1,fp0 ! 3471: fmoved _Z:l,fp3 ! 3472: fsubx fp2,fp1 ! 3473: fsubx fp1,fp3 ! 3474: fmovex fp0,fp2; fdivx fp3,fp2 ! 3475: fmoved fp2,_Z:l ! 3476: fmoved fp7,sp@(0) ! 3477: fmoved _Z:l,fp3 ! 3478: fmoved fp3,sp@(8) ! 3479: jbsr _pow:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3480: fmovex fp0,fp3; fsubd _Exp2:l,fp3 ! 3481: fmoved fp3,_Q:l ! 3482: fmoved _Q:l,fp3 ! 3483: fmoved fp3,sp@(0) ! 3484: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3485: fmoved _TwoForty:l,fp3 ! 3486: fmuld _U2:l,fp3 ! 3487: fcmpx fp3,fp0; fjle L626 ! 3488: movl #1,_N:l ! 3489: fmoved _X:l,fp3 ! 3490: fmoved _BInvrse:l,fp2 ! 3491: fsubx fp2,fp3 ! 3492: fmoved _One:l,fp1 ! 3493: fsubx fp2,fp1 ! 3494: fsubx fp1,fp3 ! 3495: fmoved fp3,_V9:l ! 3496: movl #2,sp@ ! 3497: movl #L628,sp@(4) ! 3498: jbsr _BadCond:l ! 3499: fmoved _X:l,fp3 ! 3500: fmoved fp3,sp@(0) ! 3501: fmoved _Z:l,fp3 ! 3502: fmoved fp3,sp@(8) ! 3503: jbsr _pow:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3504: movl #L629,sp@ ! 3505: fmoved fp0,sp@(4) ! 3506: jbsr _printf:l ! 3507: movl #L630,sp@ ! 3508: fmoved _V9:l,fp3 ! 3509: fmoved fp3,sp@(4) ! 3510: fmoved _Z:l,fp3 ! 3511: fmoved fp3,sp@(12) ! 3512: jbsr _printf:l ! 3513: movl #L631,sp@ ! 3514: fmoved _Q:l,fp3 ! 3515: fmoved fp3,sp@(4) ! 3516: jbsr _printf:l ! 3517: movl #L632,sp@ ! 3518: jbsr _printf:l ! 3519: movl #L633,sp@ ! 3520: jbsr _printf:l ! 3521: jra L624 ! 3522: L626: ! 3523: fmoved _Y:l,fp3 ! 3524: fmovex fp3,fp2; fsubd _X:l,fp2 ! 3525: fmuld _Two:l,fp2 ! 3526: faddx fp3,fp2 ! 3527: fmoved fp2,_Z:l ! 3528: fmoved fp3,_X:l ! 3529: fmoved _Z:l,fp3 ! 3530: fmoved fp3,_Y:l ! 3531: fmoved _One:l,fp3 ! 3532: fmoved _X:l,fp2 ! 3533: fsubd _F9:l,fp2 ! 3534: fmovex fp2,fp1; fmulx fp2,fp1 ! 3535: fmovex fp3,fp2; faddx fp1,fp2 ! 3536: fmoved fp2,_Z:l ! 3537: fmoved _Z:l,fp2 ! 3538: fcmpx fp3,fp2; fjle L634 ! 3539: movl _I:l,d4 ! 3540: cmpl _NoTrials:l,d4; jge L634 ! 3541: addql #1,_I:l ! 3542: jra L622 ! 3543: L634: ! 3544: fmoved _X:l,fp3 ! 3545: fcmpd _One:l,fp3; fjle L636 ! 3546: tstl _N:l; jne L624 ! 3547: movl #L640,sp@ ! 3548: jbsr _printf:l ! 3549: jra L624 ! 3550: L636: ! 3551: fmoved _One:l,fp3 ! 3552: fmoved _U2:l,fp2 ! 3553: faddx fp2,fp3 ! 3554: fmoved fp3,_X:l ! 3555: fmovex fp2,fp3; faddx fp2,fp3 ! 3556: fmoved fp3,_Y:l ! 3557: fmoved _Y:l,fp3 ! 3558: faddd _X:l,fp3 ! 3559: fmoved fp3,_Y:l ! 3560: movl #1,_I:l ! 3561: jra L622 ! 3562: L624: ! 3563: movl #150,_Milestone:l ! 3564: movl #L641,sp@ ! 3565: jbsr _printf:l ! 3566: clrl _N:l ! 3567: fmoved _A1:l,fp3 ! 3568: fmoved fp3,_Z:l ! 3569: fmoved _C:l,fp3 ! 3570: fmoved fp3,sp@(0) ! 3571: jbsr _log:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3572: fmovex fp0,fp7 ! 3573: fmoved _A1:l,fp3 ! 3574: fmoved fp3,sp@(0) ! 3575: jbsr _log:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3576: fmoved _Half:l,fp3 ! 3577: fmovex fp7,fp2; fdivx fp0,fp2 ! 3578: fsubx fp2,fp3 ! 3579: fmoved fp3,sp@(0) ! 3580: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3581: fmoved fp0,_Q:l ! 3582: clrl _Break:l ! 3583: L642: ! 3584: fmoved _CInvrse:l,fp3 ! 3585: fmoved fp3,_X:l ! 3586: fmoved _Z:l,fp3 ! 3587: fmoved fp3,sp@(0) ! 3588: fmoved _Q:l,fp3 ! 3589: fmoved fp3,sp@(8) ! 3590: jbsr _pow:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3591: fmoved fp0,_Y:l ! 3592: jbsr _IsYeqX:l ! 3593: fnegd _Q:l,fp3 ! 3594: fmoved fp3,_Q:l ! 3595: fmoved _C:l,fp3 ! 3596: fmoved fp3,_X:l ! 3597: fmoved _Z:l,fp3 ! 3598: fmoved fp3,sp@(0) ! 3599: fmoved _Q:l,fp3 ! 3600: fmoved fp3,sp@(8) ! 3601: jbsr _pow:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3602: fmoved fp0,_Y:l ! 3603: jbsr _IsYeqX:l ! 3604: fmoved _Z:l,fp3 ! 3605: fcmpd _One:l,fp3; fjge L645 ! 3606: movl #1,_Break:l ! 3607: jra L646 ! 3608: L645: ! 3609: fmoved _AInvrse:l,fp3 ! 3610: fmoved fp3,_Z:l ! 3611: L646: ! 3612: L643: ! 3613: tstl _Break:l; jeq L642 ! 3614: jbsr _PrintIfNPositive:l ! 3615: tstl _N:l; jne L647 ! 3616: movl #L649,sp@ ! 3617: jbsr _printf:l ! 3618: L647: ! 3619: movl #L47,sp@ ! 3620: jbsr _printf:l ! 3621: movl #160,_Milestone:l ! 3622: jbsr _Pause:l ! 3623: movl #L650,sp@ ! 3624: jbsr _printf:l ! 3625: movl #L651,sp@ ! 3626: jbsr _printf:l ! 3627: fnegd _CInvrse:l,fp3 ! 3628: fmoved fp3,_Y:l ! 3629: fmoved _HInvrse:l,fp3 ! 3630: fmuld _Y:l,fp3 ! 3631: fmoved fp3,_V9:l ! 3632: movl #_sigfpe,_sigsave:l ! 3633: movl #_ovfl_buf,sp@ ! 3634: jbsr _setjmp:l ! 3635: tstl d0; jeq L652 ! 3636: clrl _I:l ! 3637: fmoved _Y:l,fp3 ! 3638: fmoved fp3,_V9:l ! 3639: jra L654 ! 3640: L652: ! 3641: L655: ! 3642: fmoved _Y:l,fp3 ! 3643: fmoved fp3,_V:l ! 3644: fmoved _V9:l,fp3 ! 3645: fmoved fp3,_Y:l ! 3646: fmoved _HInvrse:l,fp3 ! 3647: fmuld _Y:l,fp3 ! 3648: fmoved fp3,_V9:l ! 3649: L656: ! 3650: fmoved _V9:l,fp3 ! 3651: fcmpd _Y:l,fp3; fjlt L655 ! 3652: movl #1,_I:l ! 3653: L654: ! 3654: clrl _sigsave:l ! 3655: fmoved _V9:l,fp3 ! 3656: fmoved fp3,_Z:l ! 3657: movl #L658,sp@ ! 3658: jbsr _printf:l ! 3659: movl #L659,sp@ ! 3660: fmoved _Y:l,fp3 ! 3661: fmoved fp3,sp@(4) ! 3662: jbsr _printf:l ! 3663: fmoved _Y:l,fp3 ! 3664: fnegx fp3,fp2 ! 3665: fmoved fp2,_V9:l ! 3666: fmoved _V9:l,fp2 ! 3667: fmoved fp2,_V0:l ! 3668: fmoved _V:l,fp2 ! 3669: fmovex fp2,fp1; fsubx fp3,fp1 ! 3670: fmovex fp2,fp3; faddd _V0:l,fp3 ! 3671: fcmpx fp3,fp1; fjne L660 ! 3672: movl #L662,sp@ ! 3673: jbsr _printf:l ! 3674: jra L661 ! 3675: L660: ! 3676: movl #L663,sp@ ! 3677: jbsr _printf:l ! 3678: movl #3,sp@ ! 3679: movl #L664,sp@(4) ! 3680: jbsr _BadCond:l ! 3681: L661: ! 3682: fmoved _Z:l,fp3 ! 3683: fcmpd _Y:l,fp3; fjeq L665 ! 3684: movl #1,sp@ ! 3685: movl #L160,sp@(4) ! 3686: jbsr _BadCond:l ! 3687: movl #L667,sp@ ! 3688: fmoved _Y:l,fp3 ! 3689: fmoved fp3,sp@(4) ! 3690: fmoved _Z:l,fp3 ! 3691: fmoved fp3,sp@(12) ! 3692: jbsr _printf:l ! 3693: L665: ! 3694: tstl _I:l; jeq L668 ! 3695: fmoved _V:l,fp3 ! 3696: fmoved _HInvrse:l,fp2 ! 3697: fmoved _U2:l,fp1 ! 3698: fmovex fp1,fp7 ! 3699: fmovex fp2,fp0; fmulx fp1,fp0 ! 3700: fsubx fp2,fp0 ! 3701: fmovex fp3,fp1; fmulx fp0,fp1 ! 3702: fmoved fp1,_Y:l ! 3703: fmoved _Y:l,fp1 ! 3704: fmoved _One:l,fp0 ! 3705: fsubx fp2,fp0 ! 3706: fmovex fp0,fp2; fmulx fp7,fp2 ! 3707: fmulx fp3,fp2 ! 3708: fmovex fp1,fp3; faddx fp2,fp3 ! 3709: fmoved fp3,_Z:l ! 3710: fmoved _Z:l,fp3 ! 3711: fcmpd _V0:l,fp3; fjge L670 ! 3712: fmoved _Z:l,fp3 ! 3713: fmoved fp3,_Y:l ! 3714: L670: ! 3715: fmoved _Y:l,fp3 ! 3716: fcmpd _V0:l,fp3; fjge L672 ! 3717: fmoved _Y:l,fp3 ! 3718: fmoved fp3,_V:l ! 3719: L672: ! 3720: fmoved _V0:l,fp3 ! 3721: fmovex fp3,fp2; fsubd _V:l,fp2 ! 3722: fcmpx fp3,fp2; fjge L669 ! 3723: fmoved _V0:l,fp3 ! 3724: fmoved fp3,_V:l ! 3725: jra L669 ! 3726: L668: ! 3727: fmoved _Y:l,fp3 ! 3728: fmoved _HInvrse:l,fp2 ! 3729: fmoved _U2:l,fp1 ! 3730: fmovex fp1,fp7 ! 3731: fmovex fp2,fp0; fmulx fp1,fp0 ! 3732: fsubx fp2,fp0 ! 3733: fmovex fp3,fp1; fmulx fp0,fp1 ! 3734: fmoved fp1,_V:l ! 3735: fmoved _V:l,fp1 ! 3736: fmoved _One:l,fp0 ! 3737: fsubx fp2,fp0 ! 3738: fmovex fp0,fp2; fmulx fp7,fp2 ! 3739: fmulx fp3,fp2 ! 3740: fmovex fp1,fp3; faddx fp2,fp3 ! 3741: fmoved fp3,_V:l ! 3742: L669: ! 3743: movl #L676,sp@ ! 3744: fmoved _V:l,fp3 ! 3745: fmoved fp3,sp@(4) ! 3746: jbsr _printf:l ! 3747: tstl _I:l; jeq L677 ! 3748: movl #L679,sp@ ! 3749: fmoved _V0:l,fp3 ! 3750: fmoved fp3,sp@(4) ! 3751: jbsr _printf:l ! 3752: jra L678 ! 3753: L677: ! 3754: movl #L680,sp@ ! 3755: jbsr _printf:l ! 3756: L678: ! 3757: fmoved _V:l,fp3 ! 3758: fmuld _One:l,fp3 ! 3759: fmoved fp3,_V9:l ! 3760: movl #L681,sp@ ! 3761: fmoved _V9:l,fp3 ! 3762: fmoved fp3,sp@(4) ! 3763: jbsr _printf:l ! 3764: fmoved _V:l,fp3 ! 3765: fdivd _One:l,fp3 ! 3766: fmoved fp3,_V9:l ! 3767: movl #L682,sp@ ! 3768: fmoved _V9:l,fp3 ! 3769: fmoved fp3,sp@(4) ! 3770: jbsr _printf:l ! 3771: movl #L683,sp@ ! 3772: jbsr _printf:l ! 3773: movl #L684,sp@ ! 3774: jbsr _printf:l ! 3775: movl #170,_Milestone:l ! 3776: fmoved _V:l,fp3 ! 3777: fnegx fp3,fp2 ! 3778: fcmpx fp3,fp2; fjge L689 ! 3779: fmoved _V0:l,fp2 ! 3780: fnegx fp2,fp1 ! 3781: fcmpx fp2,fp1; fjge L689 ! 3782: fmoved _UfThold:l,fp2 ! 3783: fnegx fp2,fp1 ! 3784: fcmpx fp3,fp1; fjge L689 ! 3785: fcmpx fp3,fp2; fjlt L685 ! 3786: L689: ! 3787: movl #0,sp@ ! 3788: movl #L690,sp@(4) ! 3789: jbsr _BadCond:l ! 3790: movl #L691,sp@ ! 3791: fmoved _V:l,fp3 ! 3792: fmoved fp3,sp@(4) ! 3793: fmoved _V0:l,fp3 ! 3794: fmoved fp3,sp@(12) ! 3795: fmoved _UfThold:l,fp3 ! 3796: fmoved fp3,sp@(20) ! 3797: jbsr _printf:l ! 3798: L685: ! 3799: movl #175,_Milestone:l ! 3800: movl #L47,sp@ ! 3801: jbsr _printf:l ! 3802: movl #1,_Indx:l ! 3803: L692: ! 3804: movl _Indx:l,d4 ! 3805: cmpl #1,d4; jeq L698 ! 3806: cmpl #2,d4; jeq L699 ! 3807: cmpl #3,d4; jeq L700 ! 3808: jra L696 ! 3809: L698: ! 3810: fmoved _UfThold:l,fp3 ! 3811: fmoved fp3,_Z:l ! 3812: jra L697 ! 3813: L699: ! 3814: fmoved _E0:l,fp3 ! 3815: fmoved fp3,_Z:l ! 3816: jra L697 ! 3817: L700: ! 3818: fmoved _PseudoZero:l,fp3 ! 3819: fmoved fp3,_Z:l ! 3820: L696: ! 3821: L697: ! 3822: fmoved _Z:l,fp3 ! 3823: fcmpd _Zero:l,fp3; fjeq L701 ! 3824: fmoved _Z:l,fp3 ! 3825: fmoved fp3,sp@(0) ! 3826: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3827: fmoved fp0,_V9:l ! 3828: fmoved _V9:l,fp3 ! 3829: fmovex fp3,fp2; fmulx fp3,fp2 ! 3830: fmoved fp2,_Y:l ! 3831: fmoved _Y:l,fp3 ! 3832: fmoved _One:l,fp2 ! 3833: fmovex fp2,fp7 ! 3834: fmoved _Radix:l,fp1 ! 3835: fmuld _E9:l,fp1 ! 3836: fmovex fp2,fp0; fsubx fp1,fp0 ! 3837: fmovex fp3,fp2; fdivx fp0,fp2 ! 3838: fmoved _Z:l,fp0 ! 3839: fcmpx fp0,fp2; fjlt L705 ! 3840: fmovex fp7,fp2; faddx fp1,fp2 ! 3841: fmulx fp0,fp2 ! 3842: fcmpx fp2,fp3; fjle L703 ! 3843: L705: ! 3844: fmoved _V9:l,fp3 ! 3845: fcmpd _U1:l,fp3; fjle L706 ! 3846: movl #1,sp@ ! 3847: movl #L160,sp@(4) ! 3848: jbsr _BadCond:l ! 3849: jra L707 ! 3850: L706: ! 3851: movl #2,sp@ ! 3852: movl #L160,sp@(4) ! 3853: jbsr _BadCond:l ! 3854: L707: ! 3855: movl #L708,sp@ ! 3856: fmoved _Z:l,fp3 ! 3857: fmoved fp3,sp@(4) ! 3858: jbsr _printf:l ! 3859: movl #L709,sp@ ! 3860: fmoved _Y:l,fp3 ! 3861: fmoved fp3,sp@(4) ! 3862: jbsr _printf:l ! 3863: L703: ! 3864: L701: ! 3865: L693: ! 3866: addql #1,_Indx:l ! 3867: cmpl #3,_Indx:l; jle L692 ! 3868: movl #180,_Milestone:l ! 3869: movl #1,_Indx:l ! 3870: L710: ! 3871: cmpl #1,_Indx:l; jne L714 ! 3872: fmoved _V:l,fp3 ! 3873: fmoved fp3,_Z:l ! 3874: jra L715 ! 3875: L714: ! 3876: fmoved _V0:l,fp3 ! 3877: fmoved fp3,_Z:l ! 3878: L715: ! 3879: fmoved _Z:l,fp3 ! 3880: fmoved fp3,sp@(0) ! 3881: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 3882: fmoved fp0,_V9:l ! 3883: fmoved _One:l,fp3 ! 3884: fmoved _Radix:l,fp2 ! 3885: fmoved _E9:l,fp1 ! 3886: fmovex fp1,fp7 ! 3887: fmovex fp2,fp0; fmulx fp1,fp0 ! 3888: fmovex fp3,fp1; fsubx fp0,fp1 ! 3889: fmoved _V9:l,fp0 ! 3890: fmulx fp0,fp1 ! 3891: fmoved fp1,_X:l ! 3892: fmovex fp0,fp1; fmuld _X:l,fp1 ! 3893: fmoved fp1,_V9:l ! 3894: fmoved _V9:l,fp1 ! 3895: fmoved _Two:l,fp0 ! 3896: fmulx fp2,fp0 ! 3897: fmovex fp0,fp2; fmulx fp7,fp2 ! 3898: fsubx fp2,fp3 ! 3899: fmoved _Z:l,fp2 ! 3900: fmulx fp2,fp3 ! 3901: fcmpx fp3,fp1; fjlt L718 ! 3902: fcmpx fp2,fp1; fjle L716 ! 3903: L718: ! 3904: fmoved _V9:l,fp3 ! 3905: fmoved fp3,_Y:l ! 3906: fmoved _X:l,fp3 ! 3907: fcmpd _W:l,fp3; fjge L719 ! 3908: movl #1,sp@ ! 3909: movl #L160,sp@(4) ! 3910: jbsr _BadCond:l ! 3911: jra L720 ! 3912: L719: ! 3913: movl #2,sp@ ! 3914: movl #L160,sp@(4) ! 3915: jbsr _BadCond:l ! 3916: L720: ! 3917: movl #L721,sp@ ! 3918: fmoved _Z:l,fp3 ! 3919: fmoved fp3,sp@(4) ! 3920: jbsr _printf:l ! 3921: movl #L722,sp@ ! 3922: fmoved _Y:l,fp3 ! 3923: fmoved fp3,sp@(4) ! 3924: jbsr _printf:l ! 3925: L716: ! 3926: L711: ! 3927: addql #1,_Indx:l ! 3928: cmpl #2,_Indx:l; jle L710 ! 3929: movl #190,_Milestone:l ! 3930: jbsr _Pause:l ! 3931: fmoved _UfThold:l,fp3 ! 3932: fmuld _V:l,fp3 ! 3933: fmoved fp3,_X:l ! 3934: fmoved _Radix:l,fp3 ! 3935: fmovex fp3,fp2; fmulx fp3,fp2 ! 3936: fmoved fp2,_Y:l ! 3937: fmoved _X:l,fp3 ! 3938: fmoved _Y:l,fp2 ! 3939: fmovex fp3,fp1; fmulx fp2,fp1 ! 3940: fcmpd _One:l,fp1; fjlt L725 ! 3941: fcmpx fp2,fp3; fjle L723 ! 3942: L725: ! 3943: fmoved _X:l,fp3 ! 3944: fmoved _Y:l,fp2 ! 3945: fmovex fp3,fp1; fmulx fp2,fp1 ! 3946: fmoved _U1:l,fp0 ! 3947: fcmpx fp0,fp1; fjlt L728 ! 3948: fdivx fp0,fp2 ! 3949: fcmpx fp2,fp3; fjle L726 ! 3950: L728: ! 3951: movl #2,sp@ ! 3952: movl #L729,sp@(4) ! 3953: jbsr _BadCond:l ! 3954: jra L727 ! 3955: L726: ! 3956: movl #3,sp@ ! 3957: movl #L160,sp@(4) ! 3958: jbsr _BadCond:l ! 3959: L727: ! 3960: movl #L730,sp@ ! 3961: fmoved _X:l,fp3 ! 3962: fmoved fp3,sp@(4) ! 3963: movl #L731,sp@(12) ! 3964: jbsr _printf:l ! 3965: L723: ! 3966: movl #200,_Milestone:l ! 3967: movl #1,_Indx:l ! 3968: L732: ! 3969: fmoved _F9:l,fp3 ! 3970: fmoved fp3,_X:l ! 3971: movl _Indx:l,d4 ! 3972: cmpl #2,d4; jlt L736 ! 3973: cmpl #5,d4; jgt L736 ! 3974: movl @(L743-8:l,d4:l:4),a2 ! 3975: jra a2@ ! 3976: L743: ! 3977: .align 2; .long L738 ! 3978: .align 2; .long L739 ! 3979: .align 2; .long L740 ! 3980: .align 2; .long L741 ! 3981: L738: ! 3982: fmoved _One:l,fp3 ! 3983: faddd _U2:l,fp3 ! 3984: fmoved fp3,_X:l ! 3985: jra L737 ! 3986: L739: ! 3987: fmoved _V:l,fp3 ! 3988: fmoved fp3,_X:l ! 3989: jra L737 ! 3990: L740: ! 3991: fmoved _UfThold:l,fp3 ! 3992: fmoved fp3,_X:l ! 3993: jra L737 ! 3994: L741: ! 3995: fmoved _Radix:l,fp3 ! 3996: fmoved fp3,_X:l ! 3997: L736: ! 3998: L737: ! 3999: fmoved _X:l,fp3 ! 4000: fmoved fp3,_Y:l ! 4001: movl #_sigfpe,_sigsave:l ! 4002: movl #_ovfl_buf,sp@ ! 4003: jbsr _setjmp:l ! 4004: tstl d0; jeq L745 ! 4005: movl #L747,sp@ ! 4006: fmoved _X:l,fp3 ! 4007: fmoved fp3,sp@(4) ! 4008: jbsr _printf:l ! 4009: jra L746 ! 4010: L745: ! 4011: fmoved _Y:l,fp3 ! 4012: fdivd _X:l,fp3 ! 4013: fmoved _Half:l,fp2 ! 4014: fsubx fp2,fp3 ! 4015: fsubx fp2,fp3 ! 4016: fmoved fp3,_V9:l ! 4017: fmoved _V9:l,fp3 ! 4018: fcmpd _Zero:l,fp3; fjne L748 ! 4019: jra L733 ! 4020: L748: ! 4021: fmoved _V9:l,fp3 ! 4022: fnegd _U1:l,fp2 ! 4023: fcmpx fp2,fp3; fjne L750 ! 4024: cmpl #5,_Indx:l; jge L750 ! 4025: movl #3,sp@ ! 4026: movl #L160,sp@(4) ! 4027: jbsr _BadCond:l ! 4028: jra L751 ! 4029: L750: ! 4030: movl #1,sp@ ! 4031: movl #L160,sp@(4) ! 4032: jbsr _BadCond:l ! 4033: L751: ! 4034: movl #L752,sp@ ! 4035: fmoved _X:l,fp3 ! 4036: fmoved fp3,sp@(4) ! 4037: jbsr _printf:l ! 4038: movl #L753,sp@ ! 4039: fmoved _V9:l,fp3 ! 4040: fmoved fp3,sp@(4) ! 4041: jbsr _printf:l ! 4042: L746: ! 4043: clrl _sigsave:l ! 4044: L733: ! 4045: addql #1,_Indx:l ! 4046: cmpl #5,_Indx:l; jle L732 ! 4047: movl #210,_Milestone:l ! 4048: fmoved _Zero:l,fp3 ! 4049: fmoved fp3,_MyZero:l ! 4050: movl #L47,sp@ ! 4051: jbsr _printf:l ! 4052: movl #L754,sp@ ! 4053: jbsr _printf:l ! 4054: movl #_sigfpe,_sigsave:l ! 4055: movl #L755,sp@ ! 4056: jbsr _printf:l ! 4057: movl #_ovfl_buf,sp@ ! 4058: jbsr _setjmp:l ! 4059: tstl d0; jne L756 ! 4060: movl #L758,sp@ ! 4061: fmoved _One:l,fp3 ! 4062: fdivd _MyZero:l,fp3 ! 4063: fmoved fp3,sp@(4) ! 4064: jbsr _printf:l ! 4065: L756: ! 4066: clrl _sigsave:l ! 4067: movl #_sigfpe,_sigsave:l ! 4068: movl #L759,sp@ ! 4069: jbsr _printf:l ! 4070: movl #_ovfl_buf,sp@ ! 4071: jbsr _setjmp:l ! 4072: tstl d0; jne L760 ! 4073: movl #L758,sp@ ! 4074: fmoved _Zero:l,fp3 ! 4075: fdivd _MyZero:l,fp3 ! 4076: fmoved fp3,sp@(4) ! 4077: jbsr _printf:l ! 4078: L760: ! 4079: clrl _sigsave:l ! 4080: movl #220,_Milestone:l ! 4081: jbsr _Pause:l ! 4082: movl #L47,sp@ ! 4083: jbsr _printf:l ! 4084: clrl d7 ! 4085: L767: ! 4086: tstl @(_ErrCnt:l,d7:l:4); jeq L771 ! 4087: movl #L773,sp@ ! 4088: movl @(L762:l,d7:l:4),sp@(4) ! 4089: movl @(_ErrCnt:l,d7:l:4),sp@(8) ! 4090: jbsr _printf:l ! 4091: L771: ! 4092: L768: ! 4093: addql #1,d7 ! 4094: cmpl #4,d7; jlt L767 ! 4095: movl #L47,sp@ ! 4096: jbsr _printf:l ! 4097: movl _ErrCnt:l,d4 ! 4098: addl _ErrCnt+4:l,d4 ! 4099: addl _ErrCnt+8:l,d4 ! 4100: addl _ErrCnt+12:l,d4 ! 4101: tstl d4; jle L774 ! 4102: movl _ErrCnt:l,d4 ! 4103: addl _ErrCnt+4:l,d4 ! 4104: addl _ErrCnt+8:l,d4 ! 4105: tstl d4; jne L779 ! 4106: tstl _ErrCnt+12:l; jle L779 ! 4107: movl #L784,sp@ ! 4108: jbsr _printf:l ! 4109: movl #L785,sp@ ! 4110: jbsr _printf:l ! 4111: L779: ! 4112: movl _ErrCnt:l,d4 ! 4113: addl _ErrCnt+4:l,d4 ! 4114: tstl d4; jne L786 ! 4115: tstl _ErrCnt+8:l; jle L786 ! 4116: movl #L790,sp@ ! 4117: jbsr _printf:l ! 4118: movl #L791,sp@ ! 4119: jbsr _printf:l ! 4120: L786: ! 4121: movl _ErrCnt:l,d4 ! 4122: addl _ErrCnt+4:l,d4 ! 4123: tstl d4; jle L792 ! 4124: movl #L795,sp@ ! 4125: jbsr _printf:l ! 4126: movl #L796,sp@ ! 4127: jbsr _printf:l ! 4128: L792: ! 4129: tstl _ErrCnt:l; jle L775 ! 4130: movl #L799,sp@ ! 4131: jbsr _printf:l ! 4132: movl #L800,sp@ ! 4133: jbsr _printf:l ! 4134: jra L775 ! 4135: L774: ! 4136: movl #L801,sp@ ! 4137: jbsr _printf:l ! 4138: cmpl #1,_RMult:l; jne L806 ! 4139: cmpl #1,_RDiv:l; jne L806 ! 4140: cmpl #1,_RAddSub:l; jne L806 ! 4141: cmpl #1,_RSqrt:l; jeq L802 ! 4142: L806: ! 4143: movl #L807,sp@ ! 4144: jbsr _printf:l ! 4145: jra L803 ! 4146: L802: ! 4147: fmoved _StickyBit:l,fp3 ! 4148: fmoved _One:l,fp2 ! 4149: fcmpx fp2,fp3; fjlt L808 ! 4150: fmoved _Radix:l,fp3 ! 4151: fmovex fp3,fp1; fsubd _Two:l,fp1 ! 4152: fsubd _Nine:l,fp3 ! 4153: fsubx fp2,fp3 ! 4154: fmovex fp1,fp2; fmulx fp3,fp2 ! 4155: fcmpd _Zero:l,fp2; fjne L808 ! 4156: movl #L810,sp@ ! 4157: jbsr _printf:l ! 4158: movl #L811,sp@ ! 4159: jbsr _printf:l ! 4160: fmoved _Radix:l,fp3 ! 4161: fmoved _Two:l,fp2 ! 4162: fcmpx fp2,fp3; fjne L812 ! 4163: fmoved _Precision:l,fp3 ! 4164: fmoved _Four:l,fp1 ! 4165: fmuld _Three:l,fp1 ! 4166: fmulx fp2,fp1 ! 4167: fmovex fp3,fp2; fsubx fp1,fp2 ! 4168: fmoved _TwentySeven:l,fp1 ! 4169: fsubx fp1,fp3 ! 4170: fsubx fp1,fp3 ! 4171: faddd _One:l,fp3 ! 4172: fmulx fp3,fp2 ! 4173: fcmpd _Zero:l,fp2; fjne L812 ! 4174: movl #L814,sp@ ! 4175: jbsr _printf:l ! 4176: jra L813 ! 4177: L812: ! 4178: movl #L815,sp@ ! 4179: jbsr _printf:l ! 4180: L813: ! 4181: tstl _IEEE:l; jeq L816 ! 4182: movl #L818,sp@ ! 4183: jbsr _printf:l ! 4184: jra L817 ! 4185: L816: ! 4186: movl #L819,sp@ ! 4187: jbsr _printf:l ! 4188: movl #L820,sp@ ! 4189: jbsr _printf:l ! 4190: L817: ! 4191: L808: ! 4192: movl #L821,sp@ ! 4193: jbsr _printf:l ! 4194: L803: ! 4195: L775: ! 4196: tstl _fpecount:l; jeq L822 ! 4197: movl #L824,sp@ ! 4198: movl _fpecount:l,sp@(4) ! 4199: jbsr _printf:l ! 4200: L822: ! 4201: movl #L825,sp@ ! 4202: jbsr _printf:l ! 4203: L6: ! 4204: moveml a6@(-116),#0x498 ! 4205: fmovemx a6@(-100),#0xff ! 4206: unlk a6 ! 4207: rts ! 4208: .globl _Sign ! 4209: .align 2 ! 4210: _Sign:link a6,#-36 ! 4211: fmovemx #0x91,a6@(-36) ! 4212: fmoved a6@(8),fp3 ! 4213: fcmpd L10:l,fp3; fjlt L863 ! 4214: fmoved L11:l,fp7 ! 4215: jra L864 ! 4216: L863: ! 4217: fmoved L865:l,fp7 ! 4218: L864: ! 4219: fmovex fp7,fp0 ! 4220: L861: ! 4221: fmoved fp0,sp@-; movl sp@+,d0; movl sp@+,d1 ! 4222: fmovemx a6@(-36),#0x91 ! 4223: unlk a6 ! 4224: rts ! 4225: .globl _Pause ! 4226: .align 2 ! 4227: _Pause:link a6,#-8 ! 4228: movl #L867,sp@ ! 4229: movl _Milestone:l,sp@(4) ! 4230: jbsr _printf:l ! 4231: movl #L868,sp@ ! 4232: movl _PageNo:l,sp@(4) ! 4233: jbsr _printf:l ! 4234: addql #1,_Milestone:l ! 4235: addql #1,_PageNo:l ! 4236: L866: ! 4237: unlk a6 ! 4238: rts ! 4239: .globl _TstCond ! 4240: .align 2 ! 4241: _TstCond:link a6,#-8 ! 4242: tstl a6@(12); jne L870 ! 4243: movl a6@(8),sp@ ! 4244: movl a6@(16),sp@(4) ! 4245: jbsr _BadCond:l ! 4246: movl #L818,sp@ ! 4247: jbsr _printf:l ! 4248: L870: ! 4249: L869: ! 4250: unlk a6 ! 4251: rts ! 4252: .data ! 4253: .align 2; L873:.long L874 ! 4254: .long L875 ! 4255: .long L876 ! 4256: .long L877 ! 4257: .text ! 4258: .globl _BadCond ! 4259: .align 2 ! 4260: _BadCond:link a6,#-20 ! 4261: moveml #0x480,a6@(-8) ! 4262: movl a6@(8),d7 ! 4263: lea @(_ErrCnt:l,d7:l:4),a2 ! 4264: addql #1,a2@ ! 4265: movl #L878,sp@ ! 4266: movl @(L873:l,d7:l:4),sp@(4) ! 4267: movl a6@(12),sp@(8) ! 4268: jbsr _printf:l ! 4269: L872: ! 4270: moveml a6@(-8),#0x480 ! 4271: unlk a6 ! 4272: rts ! 4273: .globl _Random ! 4274: .align 2 ! 4275: _Random:link a6,#-68 ! 4276: fmovemx #0xb3,a6@(-60) ! 4277: fmoved _Random1:l,fp3 ! 4278: faddd _Random9:l,fp3 ! 4279: fmovex fp3,fp7 ! 4280: fmovex fp7,fp3; fmulx fp7,fp3 ! 4281: fmovex fp3,fp6 ! 4282: fmovex fp6,fp3; fmulx fp6,fp3 ! 4283: fmovex fp3,fp6 ! 4284: fmovex fp7,fp3; fmulx fp6,fp3 ! 4285: fmovex fp3,fp7 ! 4286: fmoved fp7,sp@(0) ! 4287: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 4288: fmovex fp7,fp3; fsubx fp0,fp3 ! 4289: fmovex fp3,fp6 ! 4290: fmoved L880:l,fp3 ! 4291: fmulx fp7,fp3 ! 4292: fmovex fp6,fp2; faddx fp3,fp2 ! 4293: fmoved fp2,_Random1:l ! 4294: fmoved _Random1:l,fp0 ! 4295: L879: ! 4296: fmoved fp0,sp@-; movl sp@+,d0; movl sp@+,d1 ! 4297: fmovemx a6@(-60),#0xb3 ! 4298: unlk a6 ! 4299: rts ! 4300: .globl _SqXMinX ! 4301: .align 2 ! 4302: _SqXMinX:link a6,#-84 ! 4303: fmovemx #0xb1,a6@(-56) ! 4304: fmoved _X:l,fp3 ! 4305: fmovex fp3,fp2; fmuld _BInvrse:l,fp2 ! 4306: fmovex fp2,fp7 ! 4307: fmovex fp3,fp2; fsubx fp7,fp2 ! 4308: fmoved fp2,a6@(-8) ! 4309: fmovex fp3,fp2; fmulx fp3,fp2 ! 4310: fmoved fp2,sp@(0) ! 4311: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 4312: fmovex fp0,fp3; fsubx fp7,fp3 ! 4313: fsubd a6@(-8),fp3 ! 4314: fdivd _OneUlp:l,fp3 ! 4315: fmoved fp3,_SqEr:l ! 4316: fmoved _SqEr:l,fp3 ! 4317: fcmpd _Zero:l,fp3; fjeq L882 ! 4318: fmoved _SqEr:l,fp3 ! 4319: fcmpd _MinSqEr:l,fp3; fjge L884 ! 4320: fmoved _SqEr:l,fp3 ! 4321: fmoved fp3,_MinSqEr:l ! 4322: L884: ! 4323: fmoved _SqEr:l,fp3 ! 4324: fcmpd _MaxSqEr:l,fp3; fjle L886 ! 4325: fmoved _SqEr:l,fp3 ! 4326: fmoved fp3,_MaxSqEr:l ! 4327: L886: ! 4328: fmoved _J:l,fp3 ! 4329: faddd L11:l,fp3 ! 4330: fmoved fp3,_J:l ! 4331: movl a6@(8),sp@ ! 4332: movl #L47,sp@(4) ! 4333: jbsr _BadCond:l ! 4334: movl #L888,sp@ ! 4335: fmoved _X:l,fp3 ! 4336: fmovex fp3,fp2; fmulx fp3,fp2 ! 4337: fmoved fp2,sp@(4) ! 4338: fmoved fp3,sp@(12) ! 4339: fmoved _OneUlp:l,fp3 ! 4340: fmuld _SqEr:l,fp3 ! 4341: fmoved fp3,sp@(20) ! 4342: jbsr _printf:l ! 4343: movl #L889,sp@ ! 4344: jbsr _printf:l ! 4345: L882: ! 4346: L881: ! 4347: fmovemx a6@(-56),#0xb1 ! 4348: unlk a6 ! 4349: rts ! 4350: .globl _NewD ! 4351: .align 2 ! 4352: _NewD:link a6,#-92 ! 4353: fmovemx #0xf7,a6@(-84) ! 4354: fmoved _Z1:l,fp3 ! 4355: fmuld _Q:l,fp3 ! 4356: fmoved fp3,_X:l ! 4357: fmoved _Half:l,fp3 ! 4358: fmoved _X:l,fp2 ! 4359: fdivd _Radix:l,fp2 ! 4360: fsubx fp2,fp3 ! 4361: fmoved fp3,sp@(0) ! 4362: jbsr _floor:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 4363: fmoved _Radix:l,fp3 ! 4364: fmovex fp3,fp7 ! 4365: fmovex fp0,fp2; fmulx fp3,fp2 ! 4366: faddd _X:l,fp2 ! 4367: fmoved fp2,_X:l ! 4368: fmoved _Q:l,fp2 ! 4369: fmoved _X:l,fp1 ! 4370: fmovex fp1,fp5 ! 4371: fmoved _Z:l,fp0 ! 4372: fmovex fp0,fp6 ! 4373: fmovex fp1,fp3; fmulx fp0,fp3 ! 4374: fsubx fp3,fp2 ! 4375: fmovex fp2,fp3; fdivx fp7,fp3 ! 4376: fmovex fp1,fp2; fmulx fp1,fp2 ! 4377: fmoved _D:l,fp0 ! 4378: fmovex fp0,fp1; fdivx fp7,fp1 ! 4379: fmulx fp1,fp2 ! 4380: faddx fp2,fp3 ! 4381: fmoved fp3,_Q:l ! 4382: fmoved _Two:l,fp3 ! 4383: fmulx fp5,fp3 ! 4384: fmulx fp0,fp3 ! 4385: fmovex fp6,fp2; fsubx fp3,fp2 ! 4386: fmoved fp2,_Z:l ! 4387: fmoved _Z:l,fp3 ! 4388: fcmpd _Zero:l,fp3; fjgt L891 ! 4389: fnegd _Z:l,fp3 ! 4390: fmoved fp3,_Z:l ! 4391: fnegd _Z1:l,fp3 ! 4392: fmoved fp3,_Z1:l ! 4393: L891: ! 4394: fmoved _Radix:l,fp3 ! 4395: fmuld _D:l,fp3 ! 4396: fmoved fp3,_D:l ! 4397: L890: ! 4398: fmovemx a6@(-84),#0xf7 ! 4399: unlk a6 ! 4400: rts ! 4401: .globl _SR3750 ! 4402: .align 2 ! 4403: _SR3750:link a6,#-68 ! 4404: fmovemx #0xf1,a6@(-60) ! 4405: fmoved _X:l,fp3 ! 4406: fmovex fp3,fp7 ! 4407: fmoved _Radix:l,fp2 ! 4408: fmovex fp3,fp1; fsubx fp2,fp1 ! 4409: fmoved _Z2:l,fp0 ! 4410: fmovex fp0,fp3; fsubx fp2,fp3 ! 4411: fcmpx fp3,fp1; fjlt L897 ! 4412: fmovex fp7,fp3; fsubx fp0,fp3 ! 4413: fmoved _W:l,fp2 ! 4414: fsubx fp0,fp2 ! 4415: fcmpx fp2,fp3; fjgt L897 ! 4416: addql #1,_I:l ! 4417: fmoved _X:l,fp3 ! 4418: fmuld _D:l,fp3 ! 4419: fmoved fp3,sp@(0) ! 4420: jbsr _sqrt:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 4421: fmoved fp0,_X2:l ! 4422: fmoved _X2:l,fp3 ! 4423: fmoved _Z2:l,fp2 ! 4424: fsubx fp2,fp3 ! 4425: fmoved _Y:l,fp1 ! 4426: fmovex fp1,fp0; fsubx fp2,fp0 ! 4427: fsubx fp0,fp3 ! 4428: fmoved fp3,_Y2:l ! 4429: fmoved _X8:l,fp3 ! 4430: fmoved _Half:l,fp2 ! 4431: fsubx fp2,fp1 ! 4432: fdivx fp1,fp3 ! 4433: fmoved fp3,_X2:l ! 4434: fmoved _X2:l,fp3 ! 4435: fmovex fp2,fp1; fmulx fp3,fp1 ! 4436: fmulx fp3,fp1 ! 4437: fsubx fp1,fp3 ! 4438: fmoved fp3,_X2:l ! 4439: fmoved _Y2:l,fp3 ! 4440: faddx fp2,fp3 ! 4441: fsubd _X2:l,fp2 ! 4442: faddx fp2,fp3 ! 4443: fmoved fp3,_SqEr:l ! 4444: fmoved _SqEr:l,fp3 ! 4445: fcmpd _MinSqEr:l,fp3; fjge L899 ! 4446: fmoved _SqEr:l,fp3 ! 4447: fmoved fp3,_MinSqEr:l ! 4448: L899: ! 4449: fmoved _Y2:l,fp3 ! 4450: fsubd _X2:l,fp3 ! 4451: fmoved fp3,_SqEr:l ! 4452: fmoved _SqEr:l,fp3 ! 4453: fcmpd _MaxSqEr:l,fp3; fjle L901 ! 4454: fmoved _SqEr:l,fp3 ! 4455: fmoved fp3,_MaxSqEr:l ! 4456: L901: ! 4457: L897: ! 4458: L896: ! 4459: fmovemx a6@(-60),#0xf1 ! 4460: unlk a6 ! 4461: rts ! 4462: .globl _IsYeqX ! 4463: .align 2 ! 4464: _IsYeqX:link a6,#-44 ! 4465: fmovemx #0x30,a6@(-24) ! 4466: fmoved _Y:l,fp3 ! 4467: fcmpd _X:l,fp3; fjeq L905 ! 4468: tstl _N:l; jgt L907 ! 4469: fmoved _Z:l,fp3 ! 4470: fmoved _Zero:l,fp2 ! 4471: fcmpx fp2,fp3; fjne L909 ! 4472: fmoved _Q:l,fp3 ! 4473: fcmpx fp2,fp3; fjgt L909 ! 4474: movl #L911,sp@ ! 4475: jbsr _printf:l ! 4476: jra L910 ! 4477: L909: ! 4478: movl #2,sp@ ! 4479: movl #L912,sp@(4) ! 4480: jbsr _BadCond:l ! 4481: L910: ! 4482: movl #L913,sp@ ! 4483: fmoved _Z:l,fp3 ! 4484: fmoved fp3,sp@(4) ! 4485: fmoved _Q:l,fp3 ! 4486: fmoved fp3,sp@(12) ! 4487: jbsr _printf:l ! 4488: movl #L914,sp@ ! 4489: fmoved _Y:l,fp3 ! 4490: fmoved fp3,sp@(4) ! 4491: jbsr _printf:l ! 4492: movl #L915,sp@ ! 4493: fmoved _X:l,fp3 ! 4494: fmoved fp3,sp@(4) ! 4495: jbsr _printf:l ! 4496: movl #L916,sp@ ! 4497: fmoved _Y:l,fp3 ! 4498: fsubd _X:l,fp3 ! 4499: fmoved fp3,sp@(4) ! 4500: jbsr _printf:l ! 4501: L907: ! 4502: addql #1,_N:l ! 4503: L905: ! 4504: L904: ! 4505: fmovemx a6@(-24),#0x30 ! 4506: unlk a6 ! 4507: rts ! 4508: .globl _SR3980 ! 4509: .align 2 ! 4510: _SR3980:link a6,#-44 ! 4511: fmovemx #0x90,a6@(-24) ! 4512: moveml #0x10,a6@(-28) ! 4513: L918: ! 4514: movl _I:l,d4 ! 4515: fmovel d4,fp3 ! 4516: fmoved fp3,_Q:l ! 4517: fmoved _Z:l,fp3 ! 4518: fmoved fp3,sp@(0) ! 4519: fmoved _Q:l,fp3 ! 4520: fmoved fp3,sp@(8) ! 4521: jbsr _pow:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 4522: fmoved fp0,_Y:l ! 4523: jbsr _IsYeqX:l ! 4524: movl _I:l,d4 ! 4525: addql #1,d4 ! 4526: movl d4,_I:l ! 4527: cmpl _M:l,d4; jle L921 ! 4528: jra L920 ! 4529: L921: ! 4530: fmoved _Z:l,fp3 ! 4531: fmuld _X:l,fp3 ! 4532: fmoved fp3,_X:l ! 4533: L919: ! 4534: fmoved _X:l,fp3 ! 4535: fcmpd _W:l,fp3; fjlt L918 ! 4536: L920: ! 4537: L917: ! 4538: moveml a6@(-28),#0x10 ! 4539: fmovemx a6@(-24),#0x90 ! 4540: unlk a6 ! 4541: rts ! 4542: .globl _PrintIfNPositive ! 4543: .align 2 ! 4544: _PrintIfNPositive:link a6,#-8 ! 4545: tstl _N:l; jle L924 ! 4546: movl #L926,sp@ ! 4547: movl _N:l,sp@(4) ! 4548: jbsr _printf:l ! 4549: L924: ! 4550: L923: ! 4551: unlk a6 ! 4552: rts ! 4553: .globl _TstPtUf ! 4554: .align 2 ! 4555: _TstPtUf:link a6,#-64 ! 4556: fmovemx #0xf0,a6@(-48) ! 4557: moveml #0x10,a6@(-52) ! 4558: clrl _N:l ! 4559: fmoved _Z:l,fp3 ! 4560: fcmpd _Zero:l,fp3; fjeq L928 ! 4561: movl #L930,sp@ ! 4562: jbsr _printf:l ! 4563: movl #L931,sp@ ! 4564: jbsr _printf:l ! 4565: movl #_sigfpe,_sigsave:l ! 4566: movl #_ovfl_buf,sp@ ! 4567: jbsr _setjmp:l ! 4568: tstl d0; jeq L932 ! 4569: jra L934 ! 4570: L932: ! 4571: fmoved _Z:l,fp3 ! 4572: fmovex fp3,fp2; faddx fp3,fp2 ! 4573: fdivx fp3,fp2 ! 4574: fmoved fp2,_Q9:l ! 4575: movl #L935,sp@ ! 4576: fmoved _Q9:l,fp3 ! 4577: fmoved fp3,sp@(4) ! 4578: jbsr _printf:l ! 4579: fmoved _Q9:l,fp3 ! 4580: fsubd _Two:l,fp3 ! 4581: fmoved fp3,sp@(0) ! 4582: jbsr _fabs:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 4583: fmoved _Radix:l,fp3 ! 4584: fmuld _U2:l,fp3 ! 4585: fcmpx fp3,fp0; fjge L936 ! 4586: movl #L938,sp@ ! 4587: jbsr _printf:l ! 4588: movl #L939,sp@ ! 4589: jbsr _printf:l ! 4590: jra L937 ! 4591: L936: ! 4592: fmoved _Q9:l,fp3 ! 4593: fcmpd _One:l,fp3; fjlt L942 ! 4594: fcmpd _Two:l,fp3; fjle L940 ! 4595: L942: ! 4596: L934: ! 4597: movl #1,_N:l ! 4598: movl _ErrCnt+4:l,d4 ! 4599: addql #1,d4 ! 4600: movl d4,_ErrCnt+4:l ! 4601: movl #L945,sp@ ! 4602: jbsr _printf:l ! 4603: jra L941 ! 4604: L940: ! 4605: movl #1,_N:l ! 4606: movl _ErrCnt+8:l,d4 ! 4607: addql #1,d4 ! 4608: movl d4,_ErrCnt+8:l ! 4609: movl #L948,sp@ ! 4610: jbsr _printf:l ! 4611: L941: ! 4612: L937: ! 4613: clrl _sigsave:l ! 4614: fmoved _Z:l,fp3 ! 4615: fmoved _One:l,fp2 ! 4616: fmovex fp3,fp1; fmulx fp2,fp1 ! 4617: fmoved fp1,_V9:l ! 4618: fmoved _V9:l,fp1 ! 4619: fmoved fp1,_Random1:l ! 4620: fmovex fp2,fp1; fmulx fp3,fp1 ! 4621: fmoved fp1,_V9:l ! 4622: fmoved _V9:l,fp1 ! 4623: fmoved fp1,_Random2:l ! 4624: fmovex fp3,fp1; fdivx fp2,fp1 ! 4625: fmoved fp1,_V9:l ! 4626: fcmpd _Random1:l,fp3; fjne L949 ! 4627: fcmpd _Random2:l,fp3; fjne L949 ! 4628: fcmpd _V9:l,fp3; fjne L949 ! 4629: tstl _N:l; jle L950 ! 4630: jbsr _Pause:l ! 4631: jra L950 ! 4632: L949: ! 4633: movl #1,_N:l ! 4634: movl #2,sp@ ! 4635: movl #L953,sp@(4) ! 4636: jbsr _BadCond:l ! 4637: movl #L954,sp@ ! 4638: fmoved _Z:l,fp3 ! 4639: fmoved fp3,sp@(4) ! 4640: jbsr _printf:l ! 4641: fmoved _Z:l,fp3 ! 4642: fcmpd _Random1:l,fp3; fjeq L955 ! 4643: movl #L957,sp@ ! 4644: fmoved _Random1:l,fp3 ! 4645: fmoved fp3,sp@(4) ! 4646: jbsr _printf:l ! 4647: L955: ! 4648: fmoved _Z:l,fp3 ! 4649: fmoved _Random2:l,fp2 ! 4650: fcmpx fp2,fp3; fjeq L958 ! 4651: fcmpd _Random1:l,fp2; fjeq L958 ! 4652: movl #L960,sp@ ! 4653: fmoved _Random2:l,fp3 ! 4654: fmoved fp3,sp@(4) ! 4655: jbsr _printf:l ! 4656: L958: ! 4657: fmoved _Z:l,fp3 ! 4658: fcmpd _V9:l,fp3; fjeq L961 ! 4659: movl #L963,sp@ ! 4660: fmoved _V9:l,fp3 ! 4661: fmoved fp3,sp@(4) ! 4662: jbsr _printf:l ! 4663: L961: ! 4664: fmoved _Random2:l,fp3 ! 4665: fcmpd _Random1:l,fp3; fjeq L964 ! 4666: movl _ErrCnt+8:l,d4 ! 4667: addql #1,d4 ! 4668: movl d4,_ErrCnt+8:l ! 4669: movl #2,sp@ ! 4670: movl #L968,sp@(4) ! 4671: jbsr _BadCond:l ! 4672: movl #L969,sp@ ! 4673: fmoved _Random2:l,fp3 ! 4674: fmoved fp3,sp@(4) ! 4675: jbsr _printf:l ! 4676: movl #L970,sp@ ! 4677: fmoved _Random1:l,fp3 ! 4678: fmoved fp3,sp@(4) ! 4679: jbsr _printf:l ! 4680: L964: ! 4681: jbsr _Pause:l ! 4682: L950: ! 4683: L928: ! 4684: L927: ! 4685: moveml a6@(-52),#0x10 ! 4686: fmovemx a6@(-48),#0xf0 ! 4687: unlk a6 ! 4688: rts ! 4689: .globl _notify ! 4690: .align 2 ! 4691: _notify:link a6,#-8 ! 4692: movl #L972,sp@ ! 4693: movl a6@(8),sp@(4) ! 4694: jbsr _printf:l ! 4695: movl #L973,sp@ ! 4696: jbsr _printf:l ! 4697: L971: ! 4698: unlk a6 ! 4699: rts ! 4700: .globl _msglist ! 4701: .align 2 ! 4702: _msglist:link a6,#-16 ! 4703: moveml #0x2400,a6@(-8) ! 4704: movl a6@(8),a5 ! 4705: jra L976 ! 4706: L975: ! 4707: movl #L978,sp@ ! 4708: movl a5,a2 ! 4709: lea a2@(4),a5 ! 4710: movl a2@,sp@(4) ! 4711: jbsr _printf:l ! 4712: L976: ! 4713: tstl a5@; jne L975 ! 4714: L974: ! 4715: moveml a6@(-8),#0x2400 ! 4716: unlk a6 ! 4717: rts ! 4718: .data ! 4719: .align 2; L980:.long L981 ! 4720: .long L982 ! 4721: .long L983 ! 4722: .long L984 ! 4723: .long L985 ! 4724: .long L986 ! 4725: .long L987 ! 4726: .long L988 ! 4727: .long L989 ! 4728: .long 0x0 ! 4729: .text ! 4730: .globl _Instructions ! 4731: .align 2 ! 4732: _Instructions:link a6,#-4 ! 4733: movl #L980,sp@ ! 4734: jbsr _msglist:l ! 4735: L979: ! 4736: unlk a6 ! 4737: rts ! 4738: .data ! 4739: .align 2; L991:.long L992 ! 4740: .long L993 ! 4741: .long L994 ! 4742: .long L995 ! 4743: .long L996 ! 4744: .long L997 ! 4745: .long L998 ! 4746: .long L999 ! 4747: .long L1000 ! 4748: .long L1001 ! 4749: .long L1002 ! 4750: .long L1003 ! 4751: .long L1004 ! 4752: .long L1005 ! 4753: .long 0x0 ! 4754: .text ! 4755: .globl _Heading ! 4756: .align 2 ! 4757: _Heading:link a6,#-4 ! 4758: movl #L991,sp@ ! 4759: jbsr _msglist:l ! 4760: L990: ! 4761: unlk a6 ! 4762: rts ! 4763: .data ! 4764: .align 2; L1007:.long L1008 ! 4765: .long L1009 ! 4766: .long L1010 ! 4767: .long L1011 ! 4768: .long L1012 ! 4769: .long L1013 ! 4770: .long L1014 ! 4771: .long L1015 ! 4772: .long L1016 ! 4773: .long L1017 ! 4774: .long L1018 ! 4775: .long L1019 ! 4776: .long L1020 ! 4777: .long L1021 ! 4778: .long L1022 ! 4779: .long L1023 ! 4780: .long L1024 ! 4781: .long L1025 ! 4782: .long L1026 ! 4783: .long 0x0 ! 4784: .text ! 4785: .globl _Characteristics ! 4786: .align 2 ! 4787: _Characteristics:link a6,#-4 ! 4788: movl #L1007,sp@ ! 4789: jbsr _msglist:l ! 4790: L1006: ! 4791: unlk a6 ! 4792: rts ! 4793: .data ! 4794: .align 2; L1028:.long L1029 ! 4795: .long L1030 ! 4796: .long L1031 ! 4797: .long L1032 ! 4798: .long L1033 ! 4799: .long L1034 ! 4800: .long L1035 ! 4801: .long L1036 ! 4802: .long L1037 ! 4803: .long L1038 ! 4804: .long L1039 ! 4805: .long L1040 ! 4806: .long L1041 ! 4807: .long L1042 ! 4808: .long L1043 ! 4809: .long L1044 ! 4810: .long L1045 ! 4811: .long 0x0 ! 4812: .text ! 4813: .globl _History ! 4814: .align 2 ! 4815: _History:link a6,#-4 ! 4816: movl #L1028,sp@ ! 4817: jbsr _msglist:l ! 4818: L1027: ! 4819: unlk a6 ! 4820: rts ! 4821: .globl _pow ! 4822: .align 2 ! 4823: _pow:link a6,#-104 ! 4824: fmovemx #0x97,a6@(-76) ! 4825: moveml #0x4d0,a6@(-92) ! 4826: fmoved a6@(8),fp7 ! 4827: fmoved a6@(16),fp6 ! 4828: clrl d6 ! 4829: clrl a6@(-8) ! 4830: fcmpd L10:l,fp6; fjne L1047 ! 4831: fmoved L11:l,fp0 ! 4832: jra L1046 ! 4833: L1047: ! 4834: fcmpd L1052:l,fp6; fjlt L1051 ! 4835: fcmpd L1053:l,fp6; fjle L1049 ! 4836: L1051: ! 4837: fcmpd L865:l,fp7; fjeq L1049 ! 4838: fmoved fp7,sp@(0) ! 4839: jbsr _log:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 4840: fmovex fp6,fp3; fmulx fp0,fp3 ! 4841: fmoved fp3,sp@(0) ! 4842: jbsr _exp:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 4843: jra L1046 ! 4844: L1049: ! 4845: fcmpd L10:l,fp6; fjge L1054 ! 4846: fnegx fp6,fp3 ! 4847: fmovex fp3,fp6 ! 4848: movl #1,a6@(-8) ! 4849: L1054: ! 4850: fmoved fp6,sp@(0) ! 4851: lea a6@(-16),a2 ! 4852: movl a2,sp@(8) ! 4853: jbsr _modf:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 4854: fmovex fp0,fp6 ! 4855: fcmpd L10:l,fp6; fjeq L1056 ! 4856: fmoved fp7,sp@(0) ! 4857: jbsr _log:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 4858: fmovex fp6,fp3; fmulx fp0,fp3 ! 4859: fmoved fp3,sp@(0) ! 4860: jbsr _exp:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 4861: fmovex fp0,fp5 ! 4862: jra L1057 ! 4863: L1056: ! 4864: fmoved L11:l,fp5 ! 4865: L1057: ! 4866: fmoved fp7,sp@(0) ! 4867: lea a6@(-4),a2 ! 4868: movl a2,sp@(8) ! 4869: jbsr _frexp:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 4870: fmovex fp0,fp7 ! 4871: fmoved a6@(-16),fp3 ! 4872: fintrzx fp3,fp0; fmovel fp0,d4 ! 4873: movl d4,d7 ! 4874: tstl d4; jeq L1058 ! 4875: L1060: ! 4876: movl d7,d4; andl #1,d4 ! 4877: tstl d4; jeq L1064 ! 4878: fmovex fp5,fp3; fmulx fp7,fp3 ! 4879: fmovex fp3,fp5 ! 4880: movl d6,d4; addl a6@(-4),d4 ! 4881: movl d4,d6 ! 4882: L1064: ! 4883: movl d7,d4; asrl #1,d4 ! 4884: movl d4,d7 ! 4885: tstl d4; jne L1066 ! 4886: jra L1062 ! 4887: L1066: ! 4888: fmovex fp7,fp3; fmulx fp7,fp3 ! 4889: fmovex fp3,fp7 ! 4890: movl a6@(-4),d4 ! 4891: asll #1,d4 ! 4892: movl d4,a6@(-4) ! 4893: fcmpd L1070:l,fp7; fjge L1060 ! 4894: fmoved L1071:l,fp3 ! 4895: fmulx fp7,fp3 ! 4896: fmovex fp3,fp7 ! 4897: subql #1,a6@(-4) ! 4898: jra L1060 ! 4899: L1062: ! 4900: L1058: ! 4901: tstl a6@(-8); jeq L1072 ! 4902: fmoved L11:l,fp3 ! 4903: fdivx fp5,fp3 ! 4904: fmovex fp3,fp5 ! 4905: movl d6,d4; negl d4 ! 4906: movl d4,d6 ! 4907: L1072: ! 4908: fmoved fp5,sp@(0) ! 4909: movl d6,sp@(8) ! 4910: jbsr _ldexp:l; movl d1,sp@-; movl d0,sp@-; fmoved sp@+,fp0 ! 4911: L1046: ! 4912: fmoved fp0,sp@-; movl sp@+,d0; movl sp@+,d1 ! 4913: moveml a6@(-92),#0x4d0 ! 4914: fmovemx a6@(-76),#0x97 ! 4915: unlk a6 ! 4916: rts ! 4917: .bss ! 4918: .globl _UfNGrad ! 4919: .comm _UfNGrad,4 ! 4920: .globl _SqRWrng ! 4921: .comm _SqRWrng,4 ! 4922: .globl _IEEE ! 4923: .comm _IEEE,4 ! 4924: .globl _Anomaly ! 4925: .comm _Anomaly,4 ! 4926: .globl _Monot ! 4927: .comm _Monot,4 ! 4928: .globl _NotMonot ! 4929: .comm _NotMonot,4 ! 4930: .globl _Done ! 4931: .comm _Done,4 ! 4932: .globl _Break ! 4933: .comm _Break,4 ! 4934: .globl _RSqrt ! 4935: .comm _RSqrt,4 ! 4936: .globl _RAddSub ! 4937: .comm _RAddSub,4 ! 4938: .globl _RDiv ! 4939: .comm _RDiv,4 ! 4940: .globl _RMult ! 4941: .comm _RMult,4 ! 4942: .globl _GAddSub ! 4943: .comm _GAddSub,4 ! 4944: .globl _GDiv ! 4945: .comm _GDiv,4 ! 4946: .globl _GMult ! 4947: .comm _GMult,4 ! 4948: .globl _N1 ! 4949: .comm _N1,4 ! 4950: .globl _N ! 4951: .comm _N,4 ! 4952: .globl _M ! 4953: .comm _M,4 ! 4954: .globl _PageNo ! 4955: .comm _PageNo,4 ! 4956: .globl _Milestone ! 4957: .comm _Milestone,4 ! 4958: .globl _fpecount ! 4959: .comm _fpecount,4 ! 4960: .globl _ErrCnt ! 4961: .comm _ErrCnt,16 ! 4962: .globl _Z9 ! 4963: .comm _Z9,8 ! 4964: .globl _Z2 ! 4965: .comm _Z2,8 ! 4966: .globl _Z1 ! 4967: .comm _Z1,8 ! 4968: .globl _PseudoZero ! 4969: .comm _PseudoZero,8 ! 4970: .globl _Z ! 4971: .comm _Z,8 ! 4972: .globl _Random2 ! 4973: .comm _Random2,8 ! 4974: .globl _Y2 ! 4975: .comm _Y2,8 ! 4976: .globl _Y1 ! 4977: .comm _Y1,8 ! 4978: .globl _Y ! 4979: .comm _Y,8 ! 4980: .globl _Random1 ! 4981: .comm _Random1,8 ! 4982: .globl _X8 ! 4983: .comm _X8,8 ! 4984: .globl _X2 ! 4985: .comm _X2,8 ! 4986: .globl _X1 ! 4987: .comm _X1,8 ! 4988: .globl _X ! 4989: .comm _X,8 ! 4990: .globl _W ! 4991: .comm _W,8 ! 4992: .globl _V9 ! 4993: .comm _V9,8 ! 4994: .globl _V0 ! 4995: .comm _V0,8 ! 4996: .globl _V ! 4997: .comm _V,8 ! 4998: .globl _U2 ! 4999: .comm _U2,8 ! 5000: .globl _U1 ! 5001: .comm _U1,8 ! 5002: .globl _UfThold ! 5003: .comm _UfThold,8 ! 5004: .globl _OneUlp ! 5005: .comm _OneUlp,8 ! 5006: .globl _S ! 5007: .comm _S,8 ! 5008: .globl _Underflow ! 5009: .comm _Underflow,8 ! 5010: .globl _T ! 5011: .comm _T,8 ! 5012: .globl _Random9 ! 5013: .comm _Random9,8 ! 5014: .globl _R ! 5015: .comm _R,8 ! 5016: .globl _Q9 ! 5017: .comm _Q9,8 ! 5018: .globl _Q ! 5019: .comm _Q,8 ! 5020: .globl _Precision ! 5021: .comm _Precision,8 ! 5022: .globl _MyZero ! 5023: .comm _MyZero,8 ! 5024: .globl _J ! 5025: .comm _J,8 ! 5026: .globl _StickyBit ! 5027: .comm _StickyBit,8 ! 5028: .globl _I ! 5029: .comm _I,4 ! 5030: .globl _HInvrse ! 5031: .comm _HInvrse,8 ! 5032: .globl _H ! 5033: .comm _H,8 ! 5034: .globl _F9 ! 5035: .comm _F9,8 ! 5036: .globl _F6 ! 5037: .comm _F6,8 ! 5038: .globl _Third ! 5039: .comm _Third,8 ! 5040: .globl _E9 ! 5041: .comm _E9,8 ! 5042: .globl _MaxSqEr ! 5043: .comm _MaxSqEr,8 ! 5044: .globl _SqEr ! 5045: .comm _SqEr,8 ! 5046: .globl _MinSqEr ! 5047: .comm _MinSqEr,8 ! 5048: .globl _E3 ! 5049: .comm _E3,8 ! 5050: .globl _Exp2 ! 5051: .comm _Exp2,8 ! 5052: .globl _E1 ! 5053: .comm _E1,8 ! 5054: .globl _E0 ! 5055: .comm _E0,8 ! 5056: .globl _FourD ! 5057: .comm _FourD,8 ! 5058: .globl _D ! 5059: .comm _D,8 ! 5060: .globl _CInvrse ! 5061: .comm _CInvrse,8 ! 5062: .globl _C ! 5063: .comm _C,8 ! 5064: .globl _A1 ! 5065: .comm _A1,8 ! 5066: .globl _AInvrse ! 5067: .comm _AInvrse,8 ! 5068: .globl _ch ! 5069: .comm _ch,8 ! 5070: .globl _Indx ! 5071: .comm _Indx,4 ! 5072: .globl _BMinusU2 ! 5073: .comm _BMinusU2,8 ! 5074: .globl _RadixD2 ! 5075: .comm _RadixD2,8 ! 5076: .globl _BInvrse ! 5077: .comm _BInvrse,8 ! 5078: .globl _Radix ! 5079: .comm _Radix,8 ! 5080: .globl _sigsave ! 5081: .comm _sigsave,4 ! 5082: .globl _ovfl_buf ! 5083: .comm _ovfl_buf,232 ! 5084: .text ! 5085: .align 2; L1071:.long 0x40000000,0x0 ! 5086: .align 2; L1070:.long 0x3fe00000,0x0 ! 5087: .align 2; L1053:.long 0x40913000,0x0 ! 5088: .align 2; L1052:.long 0xc0913000,0x0 ! 5089: .align 2; L1045:.ascii "see source comments for more history.\000" ! 5090: .align 2; L1044:.ascii "BASIC version of this program (C) 1983 by Prof. W. M. Kahan;\000" ! 5091: .align 2; L1043:.ascii "as used by certain early WANG machines.\012\000" ! 5092: .align 2; L1042:.ascii "floating-point numbers, but also allows logarithmic encoding\000" ! 5093: .align 2; L1041:.ascii "\012The program is based upon a conventional radix representatio" ! 5094: .ascii "n for\000" ! 5095: .align 2; L1040:.ascii "of pathologies, and to say how well the arithmetic is implemente" ! 5096: .ascii "d.\000" ! 5097: .align 2; L1039:.ascii "of the arithmetic, this program tries to cope with a wider varie" ! 5098: .ascii "ty\000" ! 5099: .align 2; L1038:.ascii "the Radix, Precision and range (over/underflow thresholds)\000" ! 5100: .align 2; L1037:.ascii "W. J. Cody and W. Waite. Although both programs try to discover\000" ! 5101: .align 2; L1036:.ascii "book `Software Manual for the Elementary Functions' (1980) by\000" ! 5102: .align 2; L1035:.ascii "program called `MACHAR', which can be found at the end of the\000" ! 5103: .align 2; L1034:.ascii "The diagnostic capabilities of this program go beyond an earlier" ! 5104: .ascii "\000" ! 5105: .align 2; L1033:.ascii "Failures may confound subsequent diagnoses.\012\000" ! 5106: .align 2; L1032:.ascii " FAILUREs, like 2+2 == 5 .\000" ! 5107: .align 2; L1031:.ascii " Serious DEFECTs, like lack of a guard digit, and\000" ! 5108: .align 2; L1030:.ascii " FLAWs, like lack of a sticky bit,\000" ! 5109: .align 2; L1029:.ascii "The program attempts to discriminate among\000" ! 5110: .align 2; L1026:.ascii " Decimal-Binary conversion is NOT YET tested for accuracy.\000" ! 5111: .align 2; L1025:.ascii " Extra-precise subexpressions are revealed but NOT YET teste" ! 5112: .ascii "d.\000" ! 5113: .align 2; L1024:.ascii " Sqrt is tested. Y^X is not tested.\000" ! 5114: .align 2; L1023:.ascii "\011and for contamination with pseudo-zeros.\000" ! 5115: .align 2; L1022:.ascii " Comparisions are checked for consistency with subtraction\000" ! 5116: .align 2; L1021:.ascii " V0 tells, roughly, whether Infinity is represented.\000" ! 5117: .align 2; L1020:.ascii " V = an overflow threshold, roughly.\000" ! 5118: .align 2; L1019:.ascii " E0 and PseudoZero tell whether underflow is abrupt, gradual" ! 5119: .ascii ", or fuzzy.\000" ! 5120: .align 2; L1018:.ascii " UnderflowThreshold = an underflow threshold.\000" ! 5121: .align 2; L1017:.ascii " Whether a Sticky Bit used correctly for rounding.\000" ! 5122: .align 2; L1016:.ascii "\011for Mult., Div., Add/Subt. and Sqrt.\000" ! 5123: .align 2; L1015:.ascii " Whether arithmetic is chopped, correctly rounded, or someth" ! 5124: .ascii "ing else\000" ! 5125: .align 2; L1014:.ascii " Adequacy of guard digits for Mult., Div. and Subt.\000" ! 5126: .align 2; L1013:.ascii " U1 = 1/Radix^Precision = One Ulp of numbers a little less t" ! 5127: .ascii "han 1.0 .\000" ! 5128: .align 2; L1012:.ascii "\011(OneUlpnit in the Last Place) of 1.000xxx .\000" ! 5129: .align 2; L1011:.ascii " U2 = Radix/Radix^Precision = One Ulp\000" ! 5130: .align 2; L1010:.ascii " Precision = number of significant digits carried.\000" ! 5131: .align 2; L1009:.ascii " Radix = 1, 2, 4, 8, 10, 16, 100, 256 ...\000" ! 5132: .align 2; L1008:.ascii "Running this program should reveal these characteristics:\000" ! 5133: .align 2; L1005:.ascii "\011Other relevant compiler options:\000" ! 5134: .align 2; L1004:.ascii "\011Optimization level:\012\000" ! 5135: .align 2; L1003:.ascii "\011Compiler:\012\000" ! 5136: .align 2; L1002:.ascii "\011Computer:\012\000" ! 5137: .align 2; L1001:.ascii "\011Version:\01110 February 1989;\000" ! 5138: .align 2; L1000:.ascii "\011Precision:\011double;\000" ! 5139: .align 2; L999:.ascii "In doing so, please include the following information:\000" ! 5140: .align 2; L998:.ascii "\011San Francisco, CA 94143-0704, USA\012\000" ! 5141: .align 2; L997:.ascii "\011University of California\000" ! 5142: .align 2; L996:.ascii "\011Computer Center U-76\000" ! 5143: .align 2; L995:.ascii "\011Richard Karpinski\000" ! 5144: .align 2; L994:.ascii "Please send suggestions and interesting results to\000" ! 5145: .align 2; L993:.ascii "cope with unanticipated and newly uncovered arithmetic pathologi" ! 5146: .ascii "es.\012\000" ! 5147: .align 2; L992:.ascii "Users are invited to help debug and augment this program so it w" ! 5148: .ascii "ill\000" ! 5149: .align 2; L989:.ascii "Answer questions with Y, y, N or n (unless otherwise indicated)." ! 5150: .ascii "\012\000" ! 5151: .align 2; L988:.ascii "amend it to make further progress.\012\000" ! 5152: .align 2; L987:.ascii "program anyway to see how many milestones it passes, and then\000" ! 5153: .align 2; L986:.ascii "warning. If persuasion avails naught, don't despair but run thi" ! 5154: .ascii "s\000" ! 5155: .align 2; L985:.ascii "to persevere with a surrogate value after, perhaps, displaying s" ! 5156: .ascii "ome\000" ! 5157: .align 2; L984:.ascii "error like Over/Underflow or Division by Zero occurs, but rather" ! 5158: .ascii "\000" ! 5159: .align 2; L983:.ascii "try to persuade the computer NOT to terminate execution when an\000" ! 5160: .align 2; L982:.ascii " `END OF TEST',\012\000" ! 5161: .align 2; L981:.ascii "Lest this program stop prematurely, i.e. before displaying\012\000" ! 5162: .align 2; L978:.byte 37,115,10,0 ! 5163: .align 2; L973:.ascii " PLEASE NOTIFY KARPINKSI!\012\000" ! 5164: .align 2; L972:.ascii "%s test appears to be inconsistent...\012\000" ! 5165: .align 2; L970:.ascii "\011differs from Z * 1 = %.17e\012\000" ! 5166: .align 2; L969:.ascii "\011Comparison alleges that 1 * Z = %.17e\012\000" ! 5167: .align 2; L968:.ascii "Multiplication does not commute!\012\000" ! 5168: .align 2; L963:.ascii "Z / 1 = %.17e\012\000" ! 5169: .align 2; L960:.ascii "1 * Z == %g\012\000" ! 5170: .align 2; L957:.ascii "Z * 1 = %.17e \000" ! 5171: .align 2; L954:.ascii "%.17e\012\011compares different from \000" ! 5172: .align 2; L953:.ascii "What prints as Z = \000" ! 5173: .align 2; L948:.ascii "This is a DEFECT!\012\000" ! 5174: .align 2; L945:.ascii "This is a VERY SERIOUS DEFECT!\012\000" ! 5175: .align 2; L939:.ascii " has NOT just been signaled.\012\000" ! 5176: .align 2; L938:.ascii "This is O.K., provided Over/Underflow\000" ! 5177: .align 2; L935:.ascii "What the machine gets for (Z + Z) / Z is %.17e .\012\000" ! 5178: .align 2; L931:.ascii "(Z + Z) / Z should be safe.\012\000" ! 5179: .align 2; L930:.ascii "Since comparison denies Z = 0, evaluating \000" ! 5180: .align 2; L926:.ascii "Similar discrepancies have occurred %d times.\012\000" ! 5181: .align 2; L916:.ascii "\011\011they differ by %.17e .\012\000" ! 5182: .align 2; L915:.ascii "\011which compared unequal to correct %.17e ;\012\000" ! 5183: .align 2; L914:.ascii "\011yielded %.17e;\012\000" ! 5184: .align 2; L913:.ascii "\011(%.17e) ^ (%.17e)\012\000" ! 5185: .align 2; L912:.ascii "computing\012\000" ! 5186: .align 2; L911:.ascii "WARNING: computing\012\000" ! 5187: .align 2; L889:.ascii "\011instead of correct value 0 .\012\000" ! 5188: .align 2; L888:.ascii "sqrt( %.17e) - %.17e = %.17e\012\000" ! 5189: .align 2; L880:.long 0x3ed4f8b5,0x88e368f0 ! 5190: .align 2; L878:.ascii "%s: %s\000" ! 5191: .align 2; L877:.ascii "FLAW\000" ! 5192: .align 2; L876:.ascii "DEFECT\000" ! 5193: .align 2; L875:.ascii "SERIOUS DEFECT\000" ! 5194: .align 2; L874:.ascii "FAILURE\000" ! 5195: .align 2; L868:.ascii " Page: %d\012\012\000" ! 5196: .align 2; L867:.ascii "\012Diagnosis resumes after milestone Number %d\000" ! 5197: .align 2; L865:.long 0xbff00000,0x0 ! 5198: .align 2; L825:.ascii "END OF TEST.\012\000" ! 5199: .align 2; L824:.ascii "\012A total of %d floating point exceptions were registered.\012" ! 5200: .ascii "\000" ! 5201: .align 2; L821:.ascii "The arithmetic diagnosed appears to be Excellent!\012\000" ! 5202: .align 2; L820:.ascii " during Gradual Underflow.\012\000" ! 5203: .align 2; L819:.ascii ",\012except for possibly Double Rounding\000" ! 5204: .align 2; L818:.byte 46,10,0 ! 5205: .align 2; L815:.ascii "854\000" ! 5206: .align 2; L814:.ascii "754\000" ! 5207: .align 2; L811:.ascii "the proposed IEEE standard P\000" ! 5208: .align 2; L810:.ascii "Rounding appears to conform to \000" ! 5209: .align 2; L807:.ascii "The arithmetic diagnosed seems Satisfactory.\012\000" ! 5210: .align 2; L801:.ascii "No failures, defects nor flaws have been discovered.\012\000" ! 5211: .align 2; L800:.ascii " program's subsequent diagnoses.\012\000" ! 5212: .align 2; L799:.ascii "Potentially fatal FAILURE may have spoiled this\000" ! 5213: .align 2; L796:.ascii "unacceptable Serious Defects.\012\000" ! 5214: .align 2; L795:.ascii "The arithmetic diagnosed has \000" ! 5215: .align 2; L791:.ascii "despite inconvenient Defects.\012\000" ! 5216: .align 2; L790:.ascii "The arithmetic diagnosed may be Acceptable\012\000" ! 5217: .align 2; L785:.ascii "Satisfactory though flawed.\012\000" ! 5218: .align 2; L784:.ascii "The arithmetic diagnosed seems \000" ! 5219: .align 2; L773:.ascii "The number of %-29s %d.\012\000" ! 5220: .align 2; L766:.ascii "FLAWs discovered =\000" ! 5221: .align 2; L765:.ascii "DEFECTs discovered =\000" ! 5222: .align 2; L764:.ascii "SERIOUS DEFECTs discovered =\000" ! 5223: .align 2; L763:.ascii "FAILUREs encountered =\000" ! 5224: .align 2; L759:.ascii "\012 Trying to compute 0 / 0 produces ...\000" ! 5225: .align 2; L758:.ascii " %.7e .\012\000" ! 5226: .align 2; L755:.ascii " Trying to compute 1 / 0 produces ...\000" ! 5227: .align 2; L754:.ascii "What message and/or values does Division by Zero produce?\012\000" ! 5228: .align 2; L753:.ascii " instead, X / X - 1/2 - 1/2 = %.17e .\012\000" ! 5229: .align 2; L752:.ascii " X / X differs from 1 when X = %.17e\012\000" ! 5230: .align 2; L747:.ascii " X / X traps when X = %g\012\000" ! 5231: .align 2; L731:.ascii "is too far from 1.\012\000" ! 5232: .align 2; L730:.ascii " unbalanced range; UfThold * V = %.17e\012\011%s\012\000" ! 5233: .align 2; L729:.ascii "Badly\000" ! 5234: .align 2; L722:.ascii " is too far from sqrt(Z) ^ 2 (%.17e) .\012\000" ! 5235: .align 2; L721:.ascii "Comparison alleges that Z = %17e\012\000" ! 5236: .align 2; L709:.ascii " is too far from sqrt(Z) ^ 2 = %.17e .\012\000" ! 5237: .align 2; L708:.ascii "Comparison alleges that what prints as Z = %.17e\012\000" ! 5238: .align 2; L691:.ascii "+-%g, +-%g\012and +-%g are confused by Overflow.\000" ! 5239: .align 2; L690:.ascii "Comparisons involving \000" ! 5240: .align 2; L684:.ascii "above is a DEFECT.\012\000" ! 5241: .align 2; L683:.ascii "Any overflow signal separating this * from the one\012\000" ! 5242: .align 2; L682:.ascii " nor for V / 1 = %.17e .\012\000" ! 5243: .align 2; L681:.ascii "No Overflow should be signaled for V * 1 = %.17e\012\000" ! 5244: .align 2; L680:.ascii "There is no saturation value because the system traps on overflo" ! 5245: .ascii "w.\012\000" ! 5246: .align 2; L679:.ascii "Overflow saturates at V0 = %.17e .\012\000" ! 5247: .align 2; L676:.ascii "Overflow threshold is V = %.17e .\012\000" ! 5248: .align 2; L667:.ascii "overflow past %.17e\012\011shrinks to %.17e .\012\000" ! 5249: .align 2; L664:.ascii "-(-Y) differs from Y.\012\000" ! 5250: .align 2; L663:.ascii "finds a \000" ! 5251: .align 2; L662:.ascii "Seems O.K.\012\000" ! 5252: .align 2; L659:.ascii "Trying it on Y = %.17e .\012\000" ! 5253: .align 2; L658:.ascii "Can `Z = -Y' overflow?\012\000" ! 5254: .align 2; L651:.ascii "This may generate an error.\012\000" ! 5255: .align 2; L650:.ascii "Searching for Overflow threshold:\012\000" ! 5256: .align 2; L649:.ascii " ... no discrepancies found.\012\000" ! 5257: .align 2; L641:.ascii "Testing powers Z^Q at four nearly extreme values.\012\000" ! 5258: .align 2; L640:.ascii "Accuracy seems adequate.\012\000" ! 5259: .align 2; L633:.ascii "\011calculations involving tiny interest rates.\012\000" ! 5260: .align 2; L632:.ascii "\011This much error may spoil financial\012\000" ! 5261: .align 2; L631:.ascii "\011differs from correct value by %.17e .\012\000" ! 5262: .align 2; L630:.ascii "\011(1 + (%.17e) ^ (%.17e);\012\000" ! 5263: .align 2; L629:.ascii " %.17e for\012\000" ! 5264: .align 2; L628:.ascii "Calculated\000" ! 5265: .align 2; L621:.ascii "Testing X^((X + 1) / (X - 1)) vs. exp(2) = %.17e as X -> 1.\012\000" ! 5266: .align 2; L617:.ascii "This computed value is O.K.\012\000" ! 5267: .align 2; L614:.ascii " threshold = %.17e .\012\000" ! 5268: .align 2; L613:.ascii "this is not between 0 and underflow\012\000" ! 5269: .align 2; L609:.ascii "actually calculating yields: %.17e .\012\000" ! 5270: .align 2; L608:.ascii "should afflict the expression\012\011(%.17e) ^ (%.17e);\012\000" ! 5271: .align 2; L607:.ascii "UfThold = (%.17e) ^ (%.17e)\012only underflow \000" ! 5272: .align 2; L606:.ascii "Since underflow occurs below the threshold\012\000" ! 5273: .align 2; L605:.ascii "Range is too narrow; U1^%d Underflows.\012\000" ! 5274: .align 2; L600:.ascii "merely roundoff.\012\000" ! 5275: .align 2; L599:.ascii "calculation may suffer larger Relative error than \000" ! 5276: .align 2; L598:.ascii " below which\000" ! 5277: .align 2; L597:.ascii "The Underflow threshold is %.17e, %s\012\000" ! 5278: .align 2; L596:.ascii "X / Z = 1 + %g .\012\000" ! 5279: .align 2; L595:.ascii "X / Z fails!\012\000" ! 5280: .align 2; L592:.ascii "encounter Division by Zero although actually\012\000" ! 5281: .align 2; L591:.ascii " ... (f(X) - f(Z)) / (X - Z) ...\012\000" ! 5282: .align 2; L590:.ascii " if (X == Z) ... else\000" ! 5283: .align 2; L589:.ascii "confusion when innocent statements like\012\000" ! 5284: .align 2; L588:.ascii "this is a SERIOUS DEFECT\012that causes \000" ! 5285: .align 2; L587:.ascii " Should this NOT signal Underflow, \000" ! 5286: .align 2; L586:.ascii "yet X - Z yields %.17e .\012\000" ! 5287: .align 2; L585:.ascii "X = %.17e\012\011is not equal to Z = %.17e .\012\000" ! 5288: .align 2; L580:.ascii "Underflow / UfThold failed!\012\000" ! 5289: .align 2; L569:.ascii "(roundoff in UfThold) < E0.\012\000" ! 5290: .align 2; L568:.ascii "Underflow is gradual; it incurs Absolute Error =\012\000" ! 5291: .align 2; L563:.ascii "|Q - Y| = %.17e .\012\000" ! 5292: .align 2; L562:.ascii "print out as Q = %.17e, Y = %.17e .\012\000" ! 5293: .align 2; L561:.ascii "Q == Y while denying that |Q - Y| == 0; these values\012\000" ! 5294: .align 2; L560:.ascii "Underflow confuses Comparison, which alleges that\012\000" ! 5295: .align 2; L558:.ascii " or else multiplication gets too many last digits wrong.\012\000" ! 5296: .align 2; L557:.ascii " coming down from %.17e\012\000" ! 5297: .align 2; L556:.ascii "approach a threshold = %.17e\012\000" ! 5298: .align 2; L555:.ascii "Either accuracy deteriorates as numbers\012\000" ! 5299: .align 2; L543:.ascii "Smallest strictly positive number found is E0 = %g .\012\000" ! 5300: .align 2; L542:.ascii " threshold than products.\012\000" ! 5301: .align 2; L541:.ascii "Difference underflows at a higher\000" ! 5302: .align 2; L538:.ascii " threshold than differences.\012\000" ! 5303: .align 2; L537:.ascii "Products underflow at a higher\000" ! 5304: .align 2; L530:.ascii "value PseudoZero that prints out as %g .\012\000" ! 5305: .align 2; L529:.ascii "Underflow can stick at an allegedly positive\012\000" ! 5306: .align 2; L528:.ascii "positive, isn't; it prints out as %g .\012\000" ! 5307: .align 2; L527:.ascii "But -PseudoZero, which should be\012\000" ! 5308: .align 2; L524:.ascii "PseudoZero that prints out as: %g .\012\000" ! 5309: .align 2; L523:.ascii "allegedly negative value\012\000" ! 5310: .align 2; L522:.ascii "Positive expressions can underflow to an\012\000" ! 5311: .align 2; L509:.ascii "multiplication gets too many last digits wrong.\012\000" ! 5312: .align 2; L485:.ascii "Seeking Underflow thresholds UfThold and E0.\012\000" ! 5313: .align 2; L482:.ascii "... no discrepancis found.\012\000" ! 5314: .align 2; L479:.ascii "\011involving interest rates.\012\000" ! 5315: .align 2; L478:.ascii "Errors like this may invalidate financial calculations\012\000" ! 5316: .align 2; L457:.ascii "Testing powers Z^i for small Integers Z and i.\012\000" ! 5317: .align 2; L454:.ascii "sqrt gets too many last digits wrong\000" ! 5318: .align 2; L452:.ascii "to %.7e ulps.\012\000" ! 5319: .align 2; L451:.ascii "Observed errors run from %.7e \000" ! 5320: .align 2; L450:.ascii "Square root is neither chopped nor correctly rounded.\012\000" ! 5321: .align 2; L447:.ascii "Square root appears to be chopped.\012\000" ! 5322: .align 2; L442:.ascii "Square root appears to be correctly rounded.\012\000" ! 5323: .align 2; L437:.ascii " fails test whether sqrt rounds or chops.\012\000" ! 5324: .align 2; L436:.ascii "Radix^Precision = %.7e\012\000" ! 5325: .align 2; L435:.ascii "Anomalous arithmetic with Integer < \000" ! 5326: .align 2; L395:.ascii "Testing whether sqrt is rounded or chopped.\012\000" ! 5327: .align 2; L373:.ascii "sqrt(X) is non-monotonic for X near %.7e .\012\000" ! 5328: .align 2; L372:.ascii "sqrt has passed a test for Monotonicity.\012\000" ! 5329: .align 2; L355:.ascii "Test for sqrt monotonicity.\012\000" ! 5330: .align 2; L344:.ascii "Testing if sqrt(X * X) == X for %d Integers X.\012\000" ! 5331: .align 2; L339:.ascii "Square root of 0.0, -0.0 or 1.0 wrong\000" ! 5332: .align 2; L337:.ascii "\012Running test of square root(x).\012\000" ! 5333: .align 2; L336:.ascii " No failures found in %d integer pairs.\012\000" ! 5334: .align 2; L335:.ascii "X * Y == Y * X trial fails.\012\000" ! 5335: .align 2; L326:.long 0x40080000,0x0 ! 5336: .align 2; L325:.ascii "Testing on %d random pairs.\012\000" ! 5337: .align 2; L324:.ascii "Does Multiplication commute? \000" ! 5338: .align 2; L321:.ascii "lack(s) of guard digits or failure(s) to correctly round or chop" ! 5339: .ascii "\012(noted above) count as one flaw in the final tally below\000" ! 5340: .align 2; L319:.ascii "Sticky bit used incorrectly or not at all.\012\000" ! 5341: .align 2; L318:.ascii "Sticky bit apparently used correctly.\012\000" ! 5342: .align 2; L301:.ascii "Checking for sticky bit.\012\000" ! 5343: .align 2; L298:.ascii "(X - Y) + (Y - X) is non zero!\012\000" ! 5344: .align 2; L295:.ascii "Addition/Subtraction neither rounds nor chops.\012\000" ! 5345: .align 2; L294:.ascii "Add/Subtract\000" ! 5346: .align 2; L291:.ascii "Addition/Subtraction appears to round correctly.\012\000" ! 5347: .align 2; L284:.ascii "Add/Subtract appears to be chopped.\012\000" ! 5348: .align 2; L279:.ascii "Incomplete carry-propagation in Addition\000" ! 5349: .align 2; L275:.ascii "Radix * ( 1 / Radix ) differs from 1\000" ! 5350: .align 2; L273:.ascii "/ is neither chopped nor correctly rounded.\012\000" ! 5351: .align 2; L270:.ascii "Division appears to chop.\012\000" ! 5352: .align 2; L267:.ascii "Division\000" ! 5353: .align 2; L264:.ascii "Division appears to round correctly.\012\000" ! 5354: .align 2; L259:.ascii "Multiplication\000" ! 5355: .align 2; L256:.ascii "* is neither chopped nor correctly rounded.\012\000" ! 5356: .align 2; L255:.ascii "Multiplication appears to chop.\012\000" ! 5357: .align 2; L252:.ascii "Multiplication appears to round correctly.\012\000" ! 5358: .align 2; L242:.ascii "X * (1/X) differs from 1\000" ! 5359: .align 2; L223:.ascii "Checking rounding on multiply, divide and add/subtract.\012\000" ! 5360: .align 2; L222:.ascii " *, /, and - appear to have guard digits, as they should.\012" ! 5361: .ascii "\000" ! 5362: .align 2; L219:.ascii " ... if (X == 1.0) {.....} else {.../(X-1.0)...}\012\000" ! 5363: .align 2; L218:.ascii " such precautions against division by zero as\012\000" ! 5364: .align 2; L217:.ascii " subtraction yields (1-U1) - 1 = 0 , thereby vitiating\012\000" ! 5365: .align 2; L216:.ascii "comparison alleges (1-U1) < 1 although\012\000" ! 5366: .align 2; L213:.ascii "- lacks Guard Digit, so cancellation is obscured\000" ! 5367: .align 2; L208:.ascii "* and/or / gets too many last digits wrong\000" ! 5368: .align 2; L204:.ascii "Computed value of 1/1.000..1 >= 1\000" ! 5369: .align 2; L202:.ascii "Division lacks a Guard Digit, so X/1 != X\000" ! 5370: .align 2; L197:.ascii "Division lacks a Guard Digit, so error can exceed 1 ulp\012or 1" ! 5371: .ascii "/3 and 3/9 and 9/27 may disagree\000" ! 5372: .align 2; L193:.ascii "* gets too many final digits wrong.\012\000" ! 5373: .align 2; L191:.ascii "* lacks a Guard Digit, so 1*X != X\000" ! 5374: .align 2; L188:.ascii "\012Checking for guard digit in *, /, and -.\012\000" ! 5375: .align 2; L187:.ascii "Subtraction appears to be normalized, as it should be.\000" ! 5376: .align 2; L182:.ascii "Subtraction is not normalized X=Y,X+Z != Y+Z!\000" ! 5377: .align 2; L178:.ascii "roughly %g extra significant decimals.\012\000" ! 5378: .align 2; L177:.ascii "precisely with about %g extra B-digits, i.e.\012\000" ! 5379: .align 2; L176:.ascii "Some subexpressions appear to be calculated extra\012\000" ! 5380: .align 2; L170:.ascii "of an\012extra-precision\000" ! 5381: .align 2; L169:.ascii "Z1 = %.7e, or Z2 = %.7e \000" ! 5382: .align 2; L168:.ascii ", or exact rational arithmetic a result\012\000" ! 5383: .align 2; L167:.ascii "Because of unusual Radix = %f\000" ! 5384: .align 2; L163:.ascii "\011U2 = %.7e, Z2 - U2 = %.7e\012\000" ! 5385: .align 2; L162:.ascii "\011U1 = %.7e, Z1 - U1 = %.7e\012\000" ! 5386: .align 2; L161:.ascii "Precision\000" ! 5387: .align 2; L160:.byte 0 ! 5388: .align 2; L153:.ascii "That feature is not tested further by this program.\012\000" ! 5389: .align 2; L148:.ascii "Possibly some part of this\000" ! 5390: .align 2; L147:.ascii "by extra-precise evaluation of arithmetic subexpressions.\012\000" ! 5391: .align 2; L146:.ascii "are symptoms of inconsistencies introduced\012\000" ! 5392: .align 2; L145:.ascii "respectively %.7e, %.7e, %.7e,\012\000" ! 5393: .align 2; L144:.ascii "Disagreements among the values X1, Y1, Z1,\012\000" ! 5394: .align 2; L122:.ascii "Precision worse than 5 decimal figures \000" ! 5395: .align 2; L120:.ascii "The number of significant digits of the Radix is %f .\012\000" ! 5396: .align 2; L119:.ascii "logarithmic encoding has precision characterized solely by U1.\012" ! 5397: .ascii "\000" ! 5398: .align 2; L116:.ascii "of significant digits but, by itself, this is a minor flaw.\012\000" ! 5399: .align 2; L115:.ascii "Precision cannot be characterized by an Integer number\012\000" ! 5400: .align 2; L102:.ascii "Comparison is fuzzy,X=1 but X-1/2-1/2 != 0\000" ! 5401: .align 2; L98:.ascii "(1-U1)-1/2 < 1/2 is FALSE, prog. fails?\000" ! 5402: .align 2; L96:.long 0x40240000,0x0 ! 5403: .align 2; L91:.ascii "Radix is not as good as 2 or 10\000" ! 5404: .align 2; L87:.ascii "Radix is too big: roundoff problems\000" ! 5405: .align 2; L85:.ascii "MYSTERY: recalculated Radix = %.7e .\012\000" ! 5406: .align 2; L84:.ascii "Radix confirmed.\012\000" ! 5407: .align 2; L81:.long 0x3f847ae1,0x47ae147a ! 5408: .align 2; L80:.ascii "gets better closest relative separation U1 = %.7e .\012\000" ! 5409: .align 2; L79:.ascii "confirms closest relative separation U1 .\012\000" ! 5410: .align 2; L64:.ascii "Recalculating radix and precision\012 \000" ! 5411: .align 2; L63:.ascii "Closest relative separation found is U1 = %.7e .\012\012\000" ! 5412: .align 2; L57:.ascii "Radix = %f .\012\000" ! 5413: .align 2; L48:.ascii "Searching for Radix and Precision.\012\000" ! 5414: .align 2; L47:.byte 10,0 ! 5415: .align 2; L46:.ascii "-1, 0, 1/2, 1, 2, 3, 4, 5, 9, 27, 32 & 240 are O.K.\012\000" ! 5416: .align 2; L41:.ascii "5 != 4+1, 240/3 != 80, 240/4 != 60, or 240/5 != 48\000" ! 5417: .align 2; L37:.ascii "9 != 3*3, 27 != 9*3, 32 != 8*4, or 32-27-4-1 != 0\000" ! 5418: .align 2; L33:.ascii "1/2 + (-1) + 1/2 != 0\000" ! 5419: .align 2; L29:.ascii "-1+1 != 0, (-1)+abs(1) != 0, or -1+(-1)*(-1) != 0\000" ! 5420: .align 2; L25:.ascii "3 != 2+1, 4 != 3+1, 4+2*(-2) != 0, or 4-3-1 != 0\000" ! 5421: .align 2; L23:.long 0x3f50624d,0xd2f1a9fb ! 5422: .align 2; L22:.ascii "Comparison alleges that -0.0 is Non-zero!\012\000" ! 5423: .align 2; L17:.ascii "0+0 != 0, 1-1 != 0, 1 <= 0, or 1+1 != 2\000" ! 5424: .align 2; L15:.ascii "Program is now RUNNING tests on small integers:\012\000" ! 5425: .align 2; L11:.long 0x3ff00000,0x0 ! 5426: .align 2; L10:.long 0x0,0x0 ! 5427: .align 2; L9:.ascii "double\000" ! 5428: .align 2; L8:.ascii "precision\000" ! 5429: .align 2; L7:.ascii "set\000" ! 5430: .align 2; L2:.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.