summaryrefslogtreecommitdiffstats
path: root/private/fp32/tran/alpha/logs.s
diff options
context:
space:
mode:
Diffstat (limited to 'private/fp32/tran/alpha/logs.s')
-rw-r--r--private/fp32/tran/alpha/logs.s956
1 files changed, 956 insertions, 0 deletions
diff --git a/private/fp32/tran/alpha/logs.s b/private/fp32/tran/alpha/logs.s
new file mode 100644
index 000000000..bd6c33d7a
--- /dev/null
+++ b/private/fp32/tran/alpha/logs.s
@@ -0,0 +1,956 @@
+// TITLE("Alpha AXP Natural Logarithm")
+//++
+//
+// Copyright (c) 1993, 1994 Digital Equipment Corporation
+//
+// Module Name:
+//
+// log.s
+//
+// Abstract:
+//
+// This module implements a high-performance Alpha AXP specific routine
+// for IEEE double format natural logarithm.
+//
+// Author:
+//
+// Martha Jaffe
+//
+// Environment:
+//
+// User mode.
+//
+// Revision History:
+//
+// Thomas Van Baak (tvb) 7-Feb-1994
+//
+// Adapted for NT.
+//
+//--
+
+#include "ksalpha.h"
+
+//
+// Define DPML exception record for NT.
+//
+
+ .struct 0
+ErErr: .space 4 // error code
+ErCxt: .space 4 // context
+ErPlat: .space 4 // platform
+ErEnv: .space 4 // environment
+ErRet: .space 4 // return value pointer
+ErName: .space 4 // function name
+ErType: .space 8 // flags and fill
+ErVal: .space 8 // return value
+ErArg0: .space 8 // arg 0
+ErArg1: .space 8 // arg 1
+ErArg2: .space 8 // arg 2
+ErArg3: .space 8 // arg 3
+DpmlExceptionLength:
+
+//
+// Define stack frame.
+//
+
+ .struct 0
+Temp: .space 8 // save argument
+ExRec: .space DpmlExceptionLength // exception record
+ .space 0 // for 16-byte stack alignment
+FrameLength:
+
+//
+// Define lower and upper 32-bit parts of 64-bit double.
+//
+
+#define LowPart 0x0
+#define HighPart 0x4
+
+ SBTTL("Natural Log")
+
+//++
+//
+// double
+// log (
+// IN double x
+// )
+//
+// Routine Description:
+//
+// This function returns the natural log of the given double argument.
+//
+// Arguments:
+//
+// x (f16) - Supplies the argument value.
+//
+// Return Value:
+//
+// The double log result is returned as the function value in f0.
+//
+//--
+
+ NESTED_ENTRY(log, FrameLength, ra)
+
+ lda sp, -FrameLength(sp) // allocate stack frame
+ mov ra, t7 // save return address
+
+ PROLOGUE_END
+
+ stt f16, Temp(sp)
+ ldl t1, Temp + HighPart(sp)
+ lda t0, _log_table
+ ldah v0, 0x3fee(zero)
+ subl t1, v0, v0
+ ldt f1, 0(t0)
+ ldah t2, 3(zero)
+ cmpult v0, t2, v0
+ bne v0, 80f
+
+ sra t1, 20, v0
+ sra t1, 8, t2
+ cpyse f1, f16, f10
+ subl v0, 1, t4
+ lda t5, 0x7fe(zero)
+ lda t3, 0xfe0(zero)
+ cmpult t4, t5, t4
+ and t2, t3, t2
+ beq t4, 10f
+
+ lda t6, 0x3ff(zero)
+ subl v0, t6, t6
+ br zero, 70f
+
+//
+// abnormal x
+//
+
+10: ldah t5, -0x8000(zero)
+ ldah t4, 0x7ff0(zero)
+ and t1, t5, t5
+ and t1, t4, v0
+ beq t5, 50f
+
+ lda t6, logName
+ bne v0, 30f
+
+ ldah v0, 0x800(zero)
+ ldt f10, Two53
+ lda v0, 0x31(v0)
+ cpyse f10, f16, f0
+ subt f0, f10, f0
+ fbne f0, 20f
+
+//
+// call exception dispatcher log(zero)
+//
+
+ stt f16, ExRec + ErArg0(sp)
+ stl t6, ExRec + ErName(sp)
+ stl v0, ExRec + ErErr(sp)
+ lda v0, ExRec(sp)
+ bsr ra, __dpml_exception
+ ldt f0, 0(v0)
+ br zero, done
+
+//
+// call exception dispatcher log(neg)
+//
+
+20: ldah ra, 0x800(zero)
+ stt f16, ExRec + ErArg0(sp)
+ lda t6, logName
+ stl t6, ExRec + ErName(sp)
+ lda ra, 0x30(ra)
+ stl ra, ExRec + ErErr(sp)
+ lda v0, ExRec(sp)
+ bsr ra, __dpml_exception
+ ldt f0, 0(v0)
+ br zero, done
+
+//
+// check for nan
+//
+
+30: stt f16, Temp(sp)
+ ldl ra, Temp(sp)
+ ldah v0, 0x10(zero)
+ ldl t2, Temp + HighPart(sp)
+ lda v0, -1(v0)
+ and t2, v0, v0
+ bis v0, ra, v0
+ and t2, t4, t6
+ cmpult zero, v0, v0
+ cmpeq t6, t4, t4
+ beq t4, 40f
+
+ and t4, v0, t4
+ bne t4, retarg
+
+//
+// call exception dispatcher log(neg)
+//
+
+40: ldah ra, 0x800(zero)
+ stt f16, ExRec + ErArg0(sp)
+ lda t6, logName
+ stl t6, ExRec + ErName(sp)
+ lda ra, 0x30(ra)
+ stl ra, ExRec + ErErr(sp)
+ lda v0, ExRec(sp)
+ bsr ra, __dpml_exception
+ ldt f16, 0(v0)
+
+
+retarg: cpys f16, f16, f0
+ br zero, done
+
+
+//
+// check for denorm
+//
+
+50: ldah t4, 0x7ff0(zero)
+ and t1, t4, t1
+ bne t1, retarg
+
+ ldah t2, 0x800(zero)
+ ldt f10, Two53
+ lda t2, 0x31(t2)
+ lda ra, logName
+ cpyse f10, f16, f0
+ lda v0, ExRec(sp)
+ subt f0, f10, f11
+ fbne f11, 60f
+
+//
+// call exception dispatcher log(zero)
+//
+
+ stt f16, ExRec + ErArg0(sp)
+ stl t2, ExRec + ErErr(sp)
+ stl ra, ExRec + ErName(sp)
+ bsr ra, __dpml_exception
+ ldt f0, 0(v0)
+ br zero, done
+
+//
+// fix up denorms
+//
+
+60: stt f11, Temp(sp)
+ cpyse f1, f11, f10
+ ldl t1, Temp + HighPart(sp)
+ lda t2, 0x832(zero)
+ sra t1, 8, t5
+ sra t1, 20, t1
+ and t5, t3, t3
+ subl t1, t2, t6
+ mov t3, t2
+
+//
+// rejoin normal path
+//
+
+70: addl t0, t2, t2
+ ldt f1, 0x98(t0) // load away from 1 coefs
+ ldt f16, 0xd8(t2) // LOG_F_TABLE_TWOP
+ ldt f0, 0xe0(t2)
+ stq t6, Temp(sp)
+ subt f10, f16, f10
+ ldt f16, Temp(sp)
+ ldt f12, 0x90(t0)
+ ldt f15, 0x88(t0) // POLY_ADDRESS_TWOP_AWAY
+ cvtqt f16, f16
+ ldt f17, 0xa0(t0)
+ mult f10, f0, f0
+ ldt f10, 0xa8(t0)
+ mult f0, f0, f11
+ mult f1, f0, f1
+ mult f10, f0, f10
+ mult f11, f11, f13
+ mult f11, f0, f14
+ addt f12, f1, f1
+ ldt f12, 0xd0(t0) // LOG2_LO_TWOP
+ mult f11, f15, f11
+ addt f17, f10, f10
+ ldt f15, 0xf0(t2)
+ ldt f17, 0xe8(t2)
+ mult f12, f16, f12
+ mult f13, f0, f13
+ mult f14, f1, f1
+ ldt f14, 0xc8(t0) // LOG2_HI_TWOP
+ addt f12, f15, f12
+ mult f13, f10, f10
+ addt f11, f1, f1
+ mult f16, f14, f14
+ addt f12, f0, f0
+ addt f1, f10, f1
+ addt f14, f17, f14
+ addt f0, f1, f0
+ addt f0, f14, f0
+ br zero, done
+
+//
+// near one case
+//
+
+80: subt f16, f1, f1
+ ldt f10, 0x18(t0) // load near 1 poly coefs
+ ldt f14, 0x28(t0)
+ ldt f21, 0x20(t0)
+ ldt f16, Two29
+ ldt f19, 0x38(t0) // LOG2_LO_ONEP
+ mult f1, f1, f15
+ mult f1, f10, f10
+ mult f1, f14, f14
+ cpys f1, f16, f18
+ ldt f16, 0x10(t0)
+ cpys f1, f1, f20
+ mult f1, f19, f19
+ mult f15, f1, f13
+ mult f15, f15, f11
+ addt f10, f16, f10
+ addt f14, f21, f14
+ ldt f16, 0x30(t0) // LOG2_HI_ONEP
+ ldt f21, 0x48(t0)
+ addt f20, f18, f20
+ mult f15, f13, f17
+ mult f11, f1, f12
+ mult f13, f11, f0
+ mult f11, f15, f15
+ mult f13, f10, f10
+ ldt f13, 0x58(t0)
+ addt f19, f16, f16
+ ldt f19, 0x40(t0) // LOG_F_TABLE_ONEP
+ mult f1, f21, f21
+ mult f17, f14, f14
+ mult f12, f11, f12
+ ldt f17, 0x50(t0)
+ mult f15, f1, f15
+ mult f1, f13, f13
+ subt f20, f18, f18
+ mult f0, f16, f0
+ addt f21, f19, f19
+ ldt f21, Half
+ addt f10, f14, f10
+ mult f15, f11, f11
+ addt f13, f17, f13
+ subt f1, f18, f20
+ addt f1, f18, f16
+ mult f12, f19, f12
+ addt f10, f0, f0
+ mult f18, f18, f18
+ mult f11, f13, f11
+ mult f16, f20, f16
+ addt f0, f12, f0
+ mult f18, f21, f18
+ mult f16, f21, f16
+ addt f0, f11, f0
+ subt f1, f18, f1
+ subt f0, f16, f0
+ addt f0, f1, f0
+
+//
+// Return with result in f0.
+//
+
+done:
+ lda sp, FrameLength(sp) // deallocate stack frame
+ ret zero, (t7) // return through saved ra in t7
+
+ .end log
+
+ .align 3
+ .rdata
+
+//
+// Define floating point constants.
+//
+
+Half: .double 0.5
+
+One: .double 1.0
+
+Two29: .double 536870912.0 // 2^29
+
+Two53: .double 9007199254740992.0 // 2^53
+
+//
+// Function name for dpml_exception.
+//
+
+logName:
+ .ascii "log\0"
+
+
+//
+// log data table
+//
+
+ .align 3
+
+_log_table:
+
+ // 1.0 in working precision
+
+ .double 1.0000000000000000e+000
+
+ // poly coeffs near 1
+
+ .double -5.0000000000000000e-001
+ .double 3.3333333333333581e-001
+ .double -2.5000000000000555e-001
+ .double 1.9999999999257809e-001
+ .double -1.6666666665510016e-001
+ .double 1.4285715095862653e-001
+ .double -1.2500001025849336e-001
+ .double 1.1110711557933650e-001
+ .double -9.9995589399147614e-002
+ .double 9.1816350893696136e-002
+ .double -8.4241019625172817e-002
+
+ // poly coeffs quotient, near 1
+
+ .double 8.3333333333333953e-002
+ .double 1.2499999999536091e-002
+ .double 2.2321429837356640e-003
+ .double 4.3401216971065997e-004
+ .double 8.9664418510783172e-005
+
+ // poly coeffs away from 1
+
+ .double -5.0000000000000000e-001
+ .double 3.3333333331462339e-001
+ .double -2.4999999997583292e-001
+ .double 2.0000326978572527e-001
+ .double -1.6666993645814179e-001
+
+ // poly coeffs quotient, away from 1
+
+ .double 8.3333333333334911e-002
+ .double 1.2499999967659360e-002
+ .double 2.2323547997135616e-003
+
+ // log of 2 in hi and lo parts
+
+ .double 6.9314718055989033e-001
+ .double 5.4979230187083712e-014
+
+ // Table of F, 1/F, and hi and lo log of F; (128 * 4 entries)
+
+ .double 1.0039062500000000e+000
+ .double 9.9610894941634243e-001
+ .double 3.8986404156275967e-003
+ .double 2.9726346900928951e-014
+ .double 1.0117187500000000e+000
+ .double 9.8841698841698844e-001
+ .double 1.1650617220084314e-002
+ .double -1.0903974971735932e-013
+ .double 1.0195312500000000e+000
+ .double 9.8084291187739459e-001
+ .double 1.9342962843211353e-002
+ .double -8.0418538505225864e-014
+ .double 1.0273437500000000e+000
+ .double 9.7338403041825095e-001
+ .double 2.6976587698300136e-002
+ .double -9.8060505168431766e-014
+ .double 1.0351562500000000e+000
+ .double 9.6603773584905661e-001
+ .double 3.4552381506728125e-002
+ .double -6.8391397423287774e-014
+ .double 1.0429687500000000e+000
+ .double 9.5880149812734083e-001
+ .double 4.2071213920735318e-002
+ .double -4.8263140005511282e-014
+ .double 1.0507812500000000e+000
+ .double 9.5167286245353155e-001
+ .double 4.9533935122326511e-002
+ .double -4.9880309107981426e-014
+ .double 1.0585937500000000e+000
+ .double 9.4464944649446492e-001
+ .double 5.6941376400118315e-002
+ .double 2.0109399435564958e-014
+ .double 1.0664062500000000e+000
+ .double 9.3772893772893773e-001
+ .double 6.4294350705495162e-002
+ .double -9.7905185119902161e-014
+ .double 1.0742187500000000e+000
+ .double 9.3090909090909091e-001
+ .double 7.1593653186937445e-002
+ .double 7.1373082253431780e-014
+ .double 1.0820312500000000e+000
+ .double 9.2418772563176899e-001
+ .double 7.8840061707751374e-002
+ .double 2.4650189061766119e-014
+ .double 1.0898437500000000e+000
+ .double 9.1756272401433692e-001
+ .double 8.6034337341743594e-002
+ .double 5.9559229876256426e-014
+ .double 1.0976562500000000e+000
+ .double 9.1103202846975084e-001
+ .double 9.3177224854116503e-002
+ .double 6.6787085171628983e-014
+ .double 1.1054687500000000e+000
+ .double 9.0459363957597172e-001
+ .double 1.0026945316371894e-001
+ .double -4.3786376170783979e-014
+ .double 1.1132812500000000e+000
+ .double 8.9824561403508774e-001
+ .double 1.0731173578915332e-001
+ .double -6.5266788027310712e-014
+ .double 1.1210937500000000e+000
+ .double 8.9198606271777003e-001
+ .double 1.1430477128010352e-001
+ .double -4.4889533522386993e-014
+ .double 1.1289062500000000e+000
+ .double 8.8581314878892736e-001
+ .double 1.2124924363297396e-001
+ .double -1.0427241278273008e-013
+ .double 1.1367187500000000e+000
+ .double 8.7972508591065290e-001
+ .double 1.2814582269197672e-001
+ .double -4.6680314039457961e-014
+ .double 1.1445312500000000e+000
+ .double 8.7372013651877134e-001
+ .double 1.3499516453748583e-001
+ .double 1.8996158041578768e-014
+ .double 1.1523437500000000e+000
+ .double 8.6779661016949150e-001
+ .double 1.4179791186029433e-001
+ .double -3.6984595066970968e-014
+ .double 1.1601562500000000e+000
+ .double 8.6195286195286192e-001
+ .double 1.4855469432313839e-001
+ .double -1.2491548980751600e-015
+ .double 1.1679687500000000e+000
+ .double 8.5618729096989965e-001
+ .double 1.5526612891108016e-001
+ .double 4.3792508292406054e-014
+ .double 1.1757812500000000e+000
+ .double 8.5049833887043191e-001
+ .double 1.6193282026938505e-001
+ .double -7.1793900192956773e-014
+ .double 1.1835937500000000e+000
+ .double 8.4488448844884489e-001
+ .double 1.6855536102980295e-001
+ .double 3.7143977541704719e-015
+ .double 1.1914062500000000e+000
+ .double 8.3934426229508197e-001
+ .double 1.7513433212775453e-001
+ .double 9.4615165806650815e-014
+ .double 1.1992187500000000e+000
+ .double 8.3387622149837137e-001
+ .double 1.8167030310769405e-001
+ .double -5.9375063333847015e-014
+ .double 1.2070312500000000e+000
+ .double 8.2847896440129454e-001
+ .double 1.8816383241824042e-001
+ .double -5.7430783932007560e-014
+ .double 1.2148437500000000e+000
+ .double 8.2315112540192925e-001
+ .double 1.9461546769957749e-001
+ .double 9.4165381457182504e-014
+ .double 1.2226562500000000e+000
+ .double 8.1789137380191690e-001
+ .double 2.0102574606062262e-001
+ .double -3.1881849375437737e-014
+ .double 1.2304687500000000e+000
+ .double 8.1269841269841270e-001
+ .double 2.0739519434596332e-001
+ .double 1.0726867577289733e-013
+ .double 1.2382812500000000e+000
+ .double 8.0757097791798105e-001
+ .double 2.1372432939779173e-001
+ .double -7.3595801864405143e-014
+ .double 1.2460937500000000e+000
+ .double 8.0250783699059558e-001
+ .double 2.2001365830533359e-001
+ .double -5.1496672341414078e-014
+ .double 1.2539062500000000e+000
+ .double 7.9750778816199375e-001
+ .double 2.2626367865041175e-001
+ .double 4.1641267302872263e-014
+ .double 1.2617187500000000e+000
+ .double 7.9256965944272451e-001
+ .double 2.3247487874300532e-001
+ .double 8.8745072979746316e-014
+ .double 1.2695312500000000e+000
+ .double 7.8769230769230769e-001
+ .double 2.3864773785021498e-001
+ .double -3.9970509095301341e-014
+ .double 1.2773437500000000e+000
+ .double 7.8287461773700306e-001
+ .double 2.4478272641772492e-001
+ .double -3.3999811083618331e-014
+ .double 1.2851562500000000e+000
+ .double 7.7811550151975684e-001
+ .double 2.5088030628580782e-001
+ .double 1.5973663463624904e-015
+ .double 1.2929687500000000e+000
+ .double 7.7341389728096677e-001
+ .double 2.5694093089759917e-001
+ .double -9.8748030159663917e-014
+ .double 1.3007812500000000e+000
+ .double 7.6876876876876876e-001
+ .double 2.6296504550077771e-001
+ .double 1.0364636459896663e-013
+ .double 1.3085937500000000e+000
+ .double 7.6417910447761195e-001
+ .double 2.6895308734560786e-001
+ .double -1.0389630784002988e-013
+ .double 1.3164062500000000e+000
+ .double 7.5964391691394662e-001
+ .double 2.7490548587275043e-001
+ .double 4.8816703646769986e-014
+ .double 1.3242187500000000e+000
+ .double 7.5516224188790559e-001
+ .double 2.8082266290084590e-001
+ .double 4.1886091378637011e-014
+ .double 1.3320312500000000e+000
+ .double 7.5073313782991202e-001
+ .double 2.8670503280386583e-001
+ .double 8.8481096040068212e-014
+ .double 1.3398437500000000e+000
+ .double 7.4635568513119532e-001
+ .double 2.9255300268641804e-001
+ .double -4.0599978860151284e-014
+ .double 1.3476562500000000e+000
+ .double 7.4202898550724639e-001
+ .double 2.9836697255177569e-001
+ .double 2.1592693741973491e-014
+ .double 1.3554687500000000e+000
+ .double 7.3775216138328525e-001
+ .double 3.0414733546740536e-001
+ .double -1.0863828679707913e-013
+ .double 1.3632812500000000e+000
+ .double 7.3352435530085958e-001
+ .double 3.0989447772276435e-001
+ .double 1.0033796982039214e-013
+ .double 1.3710937500000000e+000
+ .double 7.2934472934472938e-001
+ .double 3.1560877898641593e-001
+ .double -1.1259274624680829e-013
+ .double 1.3789062500000000e+000
+ .double 7.2521246458923516e-001
+ .double 3.2129061245382218e-001
+ .double -8.7885427699715446e-014
+ .double 1.3867187500000000e+000
+ .double 7.2112676056338032e-001
+ .double 3.2694034499581903e-001
+ .double 3.4288400126669462e-014
+ .double 1.3945312500000000e+000
+ .double 7.1708683473389356e-001
+ .double 3.3255833730004269e-001
+ .double 3.3906861336722287e-014
+ .double 1.4023437500000000e+000
+ .double 7.1309192200557103e-001
+ .double 3.3814494400871808e-001
+ .double -1.6869501228130390e-015
+ .double 1.4101562500000000e+000
+ .double 7.0914127423822715e-001
+ .double 3.4370051385326406e-001
+ .double 5.4388883298990648e-014
+ .double 1.4179687500000000e+000
+ .double 7.0523415977961434e-001
+ .double 3.4922538978526063e-001
+ .double 2.7672711265736626e-014
+ .double 1.4257812500000000e+000
+ .double 7.0136986301369864e-001
+ .double 3.5471990910286877e-001
+ .double 6.0259386391812782e-014
+ .double 1.4335937500000000e+000
+ .double 6.9754768392370570e-001
+ .double 3.6018440357497639e-001
+ .double 3.1410128435793507e-014
+ .double 1.4414062500000000e+000
+ .double 6.9376693766937669e-001
+ .double 3.6561919956102429e-001
+ .double -5.9577094649293112e-014
+ .double 1.4492187500000000e+000
+ .double 6.9002695417789761e-001
+ .double 3.7102461812787624e-001
+ .double -3.5739377400104385e-015
+ .double 1.4570312500000000e+000
+ .double 6.8632707774798929e-001
+ .double 3.7640097516418791e-001
+ .double 6.5153983564591272e-014
+ .double 1.4648437500000000e+000
+ .double 6.8266666666666664e-001
+ .double 3.8174858149091051e-001
+ .double -6.2170323645733908e-014
+ .double 1.4726562500000000e+000
+ .double 6.7904509283819625e-001
+ .double 3.8706774296838375e-001
+ .double 6.4533411753084866e-014
+ .double 1.4804687500000000e+000
+ .double 6.7546174142480209e-001
+ .double 3.9235876060297414e-001
+ .double -1.1027121477530621e-013
+ .double 1.4882812500000000e+000
+ .double 6.7191601049868765e-001
+ .double 3.9762193064711937e-001
+ .double 1.9118699266850969e-014
+ .double 1.4960937500000000e+000
+ .double 6.6840731070496084e-001
+ .double 4.0285754470119173e-001
+ .double -1.0821299887954718e-013
+ .double 1.5039062500000000e+000
+ .double 6.6493506493506493e-001
+ .double 4.0806588980831293e-001
+ .double -9.1183133506522949e-014
+ .double 1.5117187500000000e+000
+ .double 6.6149870801033595e-001
+ .double 4.1324724855030581e-001
+ .double -8.6481461319862886e-014
+ .double 1.5195312500000000e+000
+ .double 6.5809768637532129e-001
+ .double 4.1840189913887116e-001
+ .double 1.2659153984938316e-014
+ .double 1.5273437500000000e+000
+ .double 6.5473145780051156e-001
+ .double 4.2353011550585506e-001
+ .double -5.1769120694201545e-014
+ .double 1.5351562500000000e+000
+ .double 6.5139949109414763e-001
+ .double 4.2863216738965093e-001
+ .double 4.7829207034065312e-014
+ .double 1.5429687500000000e+000
+ .double 6.4810126582278482e-001
+ .double 4.3370832042160146e-001
+ .double -4.2063037733589860e-014
+ .double 1.5507812500000000e+000
+ .double 6.4483627204030225e-001
+ .double 4.3875883620762579e-001
+ .double 2.1468971783400094e-015
+ .double 1.5585937500000000e+000
+ .double 6.4160401002506262e-001
+ .double 4.4378397241030143e-001
+ .double -4.4932834403337654e-016
+ .double 1.5664062500000000e+000
+ .double 6.3840399002493764e-001
+ .double 4.4878398282708076e-001
+ .double -7.4052432293450566e-014
+ .double 1.5742187500000000e+000
+ .double 6.3523573200992556e-001
+ .double 4.5375911746714337e-001
+ .double -2.2862495308664916e-014
+ .double 1.5820312500000000e+000
+ .double 6.3209876543209875e-001
+ .double 4.5870962262688408e-001
+ .double 9.2581114645991212e-014
+ .double 1.5898437500000000e+000
+ .double 6.2899262899262898e-001
+ .double 4.6363574096312732e-001
+ .double -9.4805444680453647e-014
+ .double 1.5976562500000000e+000
+ .double 6.2591687041564792e-001
+ .double 4.6853771156315815e-001
+ .double 8.1115771640052352e-014
+ .double 1.6054687500000000e+000
+ .double 6.2287104622871048e-001
+ .double 4.7341577001657242e-001
+ .double 9.9707744046996850e-014
+ .double 1.6132812500000000e+000
+ .double 6.1985472154963683e-001
+ .double 4.7827014848144245e-001
+ .double 2.7832864616306362e-014
+ .double 1.6210937500000000e+000
+ .double 6.1686746987951813e-001
+ .double 4.8310107575116490e-001
+ .double -2.9076236446386640e-014
+ .double 1.6289062500000000e+000
+ .double 6.1390887290167862e-001
+ .double 4.8790877731926230e-001
+ .double -2.3325742005188250e-014
+ .double 1.6367187500000000e+000
+ .double 6.1097852028639621e-001
+ .double 4.9269347544259290e-001
+ .double -1.7642921490304046e-014
+ .double 1.6445312500000000e+000
+ .double 6.0807600950118768e-001
+ .double 4.9745538920274157e-001
+ .double 7.7370898042138569e-014
+ .double 1.6523437500000000e+000
+ .double 6.0520094562647753e-001
+ .double 5.0219473456672858e-001
+ .double -1.3090194780543625e-014
+ .double 1.6601562500000000e+000
+ .double 6.0235294117647054e-001
+ .double 5.0691172444476251e-001
+ .double 9.1841537361323107e-014
+ .double 1.6679687500000000e+000
+ .double 5.9953161592505855e-001
+ .double 5.1160656874913002e-001
+ .double -6.7941049953303914e-014
+ .double 1.6757812500000000e+000
+ .double 5.9673659673659674e-001
+ .double 5.1627947444853817e-001
+ .double -8.3670880082996502e-014
+ .double 1.6835937500000000e+000
+ .double 5.9396751740139209e-001
+ .double 5.2093064562427571e-001
+ .double -9.0399770141535103e-014
+ .double 1.6914062500000000e+000
+ .double 5.9122401847575057e-001
+ .double 5.2556028352296380e-001
+ .double -3.6428968707830412e-014
+ .double 1.6992187500000000e+000
+ .double 5.8850574712643677e-001
+ .double 5.3016858660907928e-001
+ .double 4.2333597202652293e-014
+ .double 1.7070312500000000e+000
+ .double 5.8581235697940504e-001
+ .double 5.3475575061611380e-001
+ .double -8.6125310374957207e-014
+ .double 1.7148437500000000e+000
+ .double 5.8314350797266512e-001
+ .double 5.3932196859568649e-001
+ .double -7.7610404204187166e-014
+ .double 1.7226562500000000e+000
+ .double 5.8049886621315194e-001
+ .double 5.4386743096733881e-001
+ .double -5.5287539987057404e-014
+ .double 1.7304687500000000e+000
+ .double 5.7787810383747173e-001
+ .double 5.4839232556560091e-001
+ .double -2.7750502668562431e-014
+ .double 1.7382812500000000e+000
+ .double 5.7528089887640455e-001
+ .double 5.5289683768660325e-001
+ .double 7.4488995702366880e-014
+ .double 1.7460937500000000e+000
+ .double 5.7270693512304249e-001
+ .double 5.5738115013400602e-001
+ .double 3.3666963248598655e-016
+ .double 1.7539062500000000e+000
+ .double 5.7015590200445432e-001
+ .double 5.6184544326265495e-001
+ .double 3.6864628681746405e-014
+ .double 1.7617187500000000e+000
+ .double 5.6762749445676275e-001
+ .double 5.6628989502314653e-001
+ .double -3.0655228485481327e-014
+ .double 1.7695312500000000e+000
+ .double 5.6512141280353201e-001
+ .double 5.7071468100343736e-001
+ .double 3.4181893084806535e-014
+ .double 1.7773437500000000e+000
+ .double 5.6263736263736264e-001
+ .double 5.7511997447136309e-001
+ .double 2.4846950587975989e-014
+ .double 1.7851562500000000e+000
+ .double 5.6017505470459517e-001
+ .double 5.7950594641465614e-001
+ .double -1.3912911733001039e-014
+ .double 1.7929687500000000e+000
+ .double 5.5773420479302838e-001
+ .double 5.8387276558096346e-001
+ .double 1.9219300209816174e-014
+ .double 1.8007812500000000e+000
+ .double 5.5531453362255967e-001
+ .double 5.8822059851718222e-001
+ .double -9.6181860936898864e-014
+ .double 1.8085937500000000e+000
+ .double 5.5291576673866094e-001
+ .double 5.9254960960674907e-001
+ .double -7.7473812531053051e-014
+ .double 1.8164062500000000e+000
+ .double 5.5053763440860215e-001
+ .double 5.9685996110783890e-001
+ .double -4.5062309859097483e-014
+ .double 1.8242187500000000e+000
+ .double 5.4817987152034264e-001
+ .double 6.0115181318928990e-001
+ .double 4.4939791960264390e-014
+ .double 1.8320312500000000e+000
+ .double 5.4584221748400852e-001
+ .double 6.0542532396675597e-001
+ .double -3.9078848156752539e-014
+ .double 1.8398437500000000e+000
+ .double 5.4352441613588109e-001
+ .double 6.0968064953681278e-001
+ .double 4.2493638957603774e-014
+ .double 1.8476562500000000e+000
+ .double 5.4122621564482032e-001
+ .double 6.1391794401242805e-001
+ .double -5.7559595156051101e-014
+ .double 1.8554687500000000e+000
+ .double 5.3894736842105262e-001
+ .double 6.1813735955502125e-001
+ .double 5.7485347680567445e-014
+ .double 1.8632812500000000e+000
+ .double 5.3668763102725370e-001
+ .double 6.2233904640879700e-001
+ .double -1.8261498866916553e-014
+ .double 1.8710937500000000e+000
+ .double 5.3444676409185798e-001
+ .double 6.2652315293144056e-001
+ .double -8.7803627974403551e-014
+ .double 1.8789062500000000e+000
+ .double 5.3222453222453225e-001
+ .double 6.3068982562617748e-001
+ .double 2.1224639414045291e-014
+ .double 1.8867187500000000e+000
+ .double 5.3002070393374745e-001
+ .double 6.3483920917292380e-001
+ .double 8.6410153425250818e-014
+ .double 1.8945312500000000e+000
+ .double 5.2783505154639176e-001
+ .double 6.3897144645784465e-001
+ .double 7.6071821668420202e-014
+ .double 1.9023437500000000e+000
+ .double 5.2566735112936347e-001
+ .double 6.4308667860314017e-001
+ .double -1.1285622521565641e-013
+ .double 1.9101562500000000e+000
+ .double 5.2351738241308798e-001
+ .double 6.4718504499523988e-001
+ .double 6.9672514647224776e-014
+ .double 1.9179687500000000e+000
+ .double 5.2138492871690423e-001
+ .double 6.5126668331504334e-001
+ .double -8.5234246813161544e-014
+ .double 1.9257812500000000e+000
+ .double 5.1926977687626774e-001
+ .double 6.5533172956315866e-001
+ .double -3.1028217233522746e-014
+ .double 1.9335937500000000e+000
+ .double 5.1717171717171717e-001
+ .double 6.5938031808923370e-001
+ .double -1.0587069463342906e-013
+ .double 1.9414062500000000e+000
+ .double 5.1509054325955739e-001
+ .double 6.6341258161696715e-001
+ .double 9.9105859809946792e-014
+ .double 1.9492187500000000e+000
+ .double 5.1302605210420837e-001
+ .double 6.6742865127184814e-001
+ .double 1.0805094338364667e-013
+ .double 1.9570312500000000e+000
+ .double 5.1097804391217561e-001
+ .double 6.7142865660525786e-001
+ .double 4.4466890378487691e-014
+ .double 1.9648437500000000e+000
+ .double 5.0894632206759438e-001
+ .double 6.7541272562016275e-001
+ .double 1.3985026783782165e-014
+ .double 1.9726562500000000e+000
+ .double 5.0693069306930694e-001
+ .double 6.7938098479589826e-001
+ .double -1.0090714198118343e-013
+ .double 1.9804687500000000e+000
+ .double 5.0493096646942803e-001
+ .double 6.8333355911158833e-001
+ .double 3.2359204011502443e-014
+ .double 1.9882812500000000e+000
+ .double 5.0294695481335949e-001
+ .double 6.8727057207092912e-001
+ .double 3.1147551503113092e-014
+ .double 1.9960937500000000e+000
+ .double 5.0097847358121328e-001
+ .double 6.9119214572424426e-001
+ .double -1.0229682936814195e-013
+
+//
+// End of table.
+//