ELF(@44 (!p44T4T444@@@@@LLL((( /lib/ld-linux.so.3GNU    aZh KȄ@nԄ zutx S(<42 libm.so.6logsqrtfloorpow_Jv_RegisterClasses__gmon_start__libc.so.6longjmpprintfstdoutfflushabortsignalreadexit_setjmp__libc_start_mainGLIBC_2.4 ii Aii HLPTX\`d h l p t x|-M>Ѝ-PƏʌƏʌƏʌƏʌƏʌƏʌƏʌxƏʌpƏʌhƏʌ`ƏʌXƏʌPƏʌHƏʌ@$  --0-"|@"D-0 0S3/OD 0S00/0S/ 0S/H -LM d `0000TL0D00S 40$ 00#8 p--LPM#?H$?#44{{7{3$k{{6{3$k{{6{3#k{{6{#x3{{7{t#`3k{{&{`X3D#k{{&{H034#k{{&{03#k{k&2{k&2{{&{#43{G{{ 3"k{{{3"k{{6{"00"00"00"0 0"00"00 ]&"b&"g&"l&"T"00P( , 1{k71{Gk 82k{Gk61{Gk 2!k{k 1{k71{Gk 0,0 ,!"!P1{G{{1{@{\!X1000d`!<T!0$ 0 00{Gk0{k&|0{k6d0{Gk /X0P k{Gk60{Gk6,0{Gk !?MbP? ##h#$000 0  " 4 ,0k{Gk63{Gk 03#k{k63{Gk %3#k{k63{Gk 3{k|3{k63{Gk X3k{k&H3{k6L3{Gk 040 4"!2#k{k62{k62{Gk00"!" 00 8 t2k{k&h2{Gk 1P2H"k{k&@2{Gk &,2{k7$2{Gk  2"k{k&1{Gk 1!k{Gk61{Gk62{Gk61{Gk 080 8!t! < x1!k{k6t1{Gk kL1X!k{k&,1{k&,1{k&41{Gk Z1 k{[0k{k&0{{&Gk51{Gk G0 k{[0 k{k&0{{&Gk50{Gk 30x k{[X0H k{k&D0{{&Gk5t0{Gk L$$$$%8%<%h  `%0<0 <T  X00Sdkhilg` X0p t0{{7{0 k{{6{0 k{G{6{0 k{G{6{0{k0{k60{kJ !1! 1(10!k{{6{D!H1{{7{@D1\!k{G{6{\1p!k{Gk x1!k{kJ!11 1k{Gk"#30,3x#k{{6{`\3#k{{&{,@3@#k{{6{3$#k{Gk63{Gk 3"k{{{2"k{{&{2 xt"d2"2X"2L"02\<2<"k{{{,<2P"k{G{6{@2"k{G{6{"1{{7{1!k{G{6{{1!k{kJ!1!11!k{[&t1!k{k&1{{&{5{Ph1H!k{{6{801H!k{G{6{@1!k{k1!k{k0 k{{{0 k{G{6{ 0{{7{|0 k{G{6{xt0` k{{6{{X0| k{kJ? p%%x8 %%hH4 0 H0X804 k{[&t0H k{k&X0{{&{5{x0 k{G{6{0 k{{6{0 k{G{6{0 k{{6{0!k{k 1 !k{k1{Gz?$@x,&@&h&&&&'8'x' ''hh(H(l(((((),)8)T)p)))) xHX)$* $000 k{{{0 k{{6 Q@0p 1| k{G{6k1{k&0{kJ@!0P1@0;Dh1{Gk0`!k{Gk ki1!k{Gk _1 Z`1!k{k&1{k&1{k&1{k0S0C$"("00028"k{k@2{G[6L2T"k{{Gk5l2{[&p2x"k{{G{5{{,"$202D"k{[&2X"k{k&h2{{&k52{k62{G{6{2"k{k2"k{k4H3H#k{[P3`#k{{Gk5t3{[&x3#k{{G{5{;TH#33#k{;3#k{K3#k{[&3#k{k&3{{&{5G[44$k{{{5G[3848$k{{{5{3P$k{kh4$k{k`$(444$k{[&4$k{k&4{{&k5{Fk74{k6{Fk74{{6{4$k{k4$k{k %4T58%k{[&d5L%k{k&\5{{&k55{Gk65{{6{5H%k{k`5|%k{k5%k{Gk5%k{Gk-  60 @ 2H0L.P3 T6$&k{Gk l6@&k{Gk \6\&k{Gk 6&k{Gk6&k{Gk6&k{k6&k{k(,7'k{G{6{L 0878'k{G{6{p eh7p'k{k|7'k{k7 '7 7'k{Gk7(k{k6 8 (k{{{(484(k{{{D8D(k{k`(h8`Ht8~ AG{{H8u A{{+SHk A{{+Swu##00 4#k{k:\#3k{k&{{{3#k{{6{3#k{G{6{3#k{{6{3#k{G{6{3#k{Gk00"T3\#k{Gk .,(2"k{{&{2"k{{&{l2"k{G{6{2"k{Gk62{G{6{2"k{Gk62{G{6{X2"k{{6{t`20"k{{&{2@"k{{&{,82!k{G{6{ 1"k{k&{F{7{T1!k{G{6{1!k{k&{F{7{t1x!k{Gk61{{&{L1P!k{Gk6t1{{&{T1d!k{Gk T81D!k{Gk L1$!k{Gk D1!k{Gk <l 00?$@T*(|***+4+\+++`,H<,hp,,,-` <-|-p--h  00 4l08 k{{&{X0X k{{6{px0t k{[60k{{&G{5k0{G{6{0 k{G{6{0 k{G[60k{{&G{5k1{G{6{ H 1!k{k 01(!k{k0H0 H "l1l!k{G{6{1!k{{6{1!k{{{1!k{G{6{2("k{{{@2@"k{{{2"k{G{6{$t2"k{{{HL2H"k{G{6{ L t2d"k{Gk 2"k{Gk 2"k{Gk 0L0 L#.l3#k{{{3#k{G{6{ $38#k{Gk6<3{G{6{Lt3H#k{{6{Xl3#k{{{x3#k{G{6{3#k{Gk 3#k{Gk 3#k{Gk d$00t$00$,TX4,$k{k6{{{PX4h$k{Gk6x4{G{6{x4l$k{k0S0C8%4$k{G{6{4$k{k&5{{6{4$%k{{&{ 5@%k{{&{$5\%k{{{X85x%k{{{`5h%k{G{6{x5%k{G{6{ P 5%k{Gk 5%k{Gk 0P0 P|&k 6&k{G{6{<6&k{G{6{,X64&k{G{6{<|6H&k{G{6{`6&k{G{6{t6|&k{G{6{6('k{Gk 6H'k{Gk 6&k{Gk 6&k{Gk '00'00'7t'k{Gk7'k{Gk6l7{kxv t$80S 080S<80SHfL((00X`(00h(00p(00x`8|(k{{{(8(00(8x(88(k{{{8:@0;D8{Gk (T 0T 08 )k{Gk 89D)k{k0T 0T90St|9h)k{{6{90Sl9)k{Gk )99)k{{{)9):*009)k{k&:{G{6{:*k{Gk00d*Zd@:p*k{Gk000d*:p:|*k{{{:0S:*k{{6{:*k{G{6{;*k{G{6{;*k{{6{ ;+k{Gk6D;{{&{,<;T+k{{&{PT;`+k{G{6{dh;|+k{G{6{;+k{{&{;+k{k6;{{&{;+k{G{6{;,k{G{6{ <+k{Gk (<,k{Gk D<<,k{Gk \<\,k{k<,k{k6<{{&{<,k{Gk6<{G{6{=,k{k6<{{6{(=-k{Gk6,={{&{,0 ,=,-k{k6{F{7{hT=l-k{{&{l=-k{{&{|=-k{G{6{=-k{Gk6={{6{ =-k{k6={k6{F{7{ >.k{k6,>{{&{<H>D.k{{&{\`>h.k{G{6{tx>x.k{G{6{>p.k{Gk ->.k{Gk %>.k{Gk >.k{Gk ?.k{Gk 0?0/k{Gk H/00P@X?P/k{k6X?{Gk 3?t/k{kJ+?/k{k6?{Gk ?/k{kJ?/k{k6?{Gk l?l/k{kJT/00LODL4?0S?0S I?/-00|?.k{{6{`?.k{G{6{$?.k{k6>{{6{>.k{{{>`.k{Gk6P>{G{6{>8.k{Gk60>{{{>.k{k6 >{{{tp>T.k{G{6{`\>@.k{G{6{,(>-k{{{>-k{k6{F{7{p=-k{Gk6={{6{=L-k{kʼ=0-k{kʌ=-k{kl=,k{k`D=,k{{{L(=,k{G{6{ =,k{{6{ = -k{G{6{{{{>.k{{{(>+@0;D@>{GkT.00 `.00`l>l.k{{&{|^n>.k{{ Q @0;D>{k&{F{7{x>x.k{Gk `.00TP>D.k{G{6{4>0S(>(.k{k>.k{k=0S-00=-k{k=-k{G{6{5=-k{k&={kp=H-k{k&\={G[6X=L-k{G{6G[ -00(-=T.00X< .k{k68>{k&<{{6{<-k{k6>{{6{]<-k{Gk6={k&|<{k6p<{{6{@\<-k{Gk6H<{{6{<.k{k6<{{6{8 <,k{G[6;+k{G{6G[+009;+k{G[6;,k{Gk6<{k&;{{6{5{Tp;x+k{G[6h;,k{Gk6 ={{6{5{;P,k{k6h<{{&{*< <<0S*00 <0S :0S  : *00x:0S;:`*k{k J|:D*k{kd*00\ 'H:*k{[6 :\+k{G{6[:<+k{k 9)k{k6;{kJ)00)00 90S" 9*k{G{6 +S:l)k{{6t +SP9H)k{G[68k{{&[0S0C0) *Z00  *00 *00)8{G{{(00(00l(l8090 Sʰ)80(9(k{Gk  (00P)t8`)0070SDH(900)00),8X75 AX9{&8. A{ Q?@0;D{:0\'00H'8(00 p8'k{Gk '00@(p760S(d000'D700(|8&7(00 7D(k{{6{70(k{{ Q@0;D 8{k&7{Gk 7'k{k&X7{k80Spl 7D&00070S870S# L@'n00%T75@0;D5{GkP%87 %50,5'k{{&{4$k{G{6{4$k{k4&4%4|%6&5%5k{{&{5%k{k5{k75{kʜ%5\5,$k{{&{$l5`%,5 L5#k{{&{45%k{k4{k74{kx3<%k{kJ$5$@3T83$k{{{$3#k{{{`$38L4$k{{&{L$04$$44#k{{&{3#k{k3{k73{k $3D#T20$D2#@22#k{{6{2"k{{&{2"k{k-h1!k{{&{x1D#k{{6{d2T"k{{&{1H"k{kI X"2!<1!d2 "$1 2 "k{{&{"0!1!|11{k71{k 1"k{{&{h 1!k{G{6{{D"11H k{Gk 0!k{Gkx (hX222pH303T333334L4h44 44545\55556(6H6l6666 7(7d7777 8@88`8@88889@9\999h999 :@:x()T:|:::;8(;<;8H;h;;8% `hH;P0@;;(hx x1x|1(!k{{&{@1!k{k1{k71{k&1 k{Gk2x!2 2!k{kX: \@2d !T2{G{{1`!k{k <1  2 | !x002"k{[&2"k{{&[ 2"k{{&{"22,"k{Gk'3"k{GkD3"k{kJGE3"k{Gk 0#364T3 0|#h3' #|320S#3#004L#k{Gk #003x#k{Gk #300C0d$00400CS񟗜HPd#44#k{[&4X$k{k& 5{{&G[H$48sd4@ H5H P.p`ddd$4x 4$k{G{6{+S$4V$4Q4%k{Gk I5%k{Gk AP 6d%k{k{F{7k,6{k20&00LP6\&k{{&{5%k{k66{{&{5%k{k66{{&{PT6%k{{{p6&k{Gk00060S \X6& JP ,Ox&07{{7{ H7&k{{ Q!@0&&006'k{kp6 'k{{&{7'k{[&6'k{{6k%6{k67{{&{'t7 8k{[&@70(k{{6k%X7{k6$8{{&{h78(k{GkF7X(k{Gk67{Gk ;h'8 7(k{G{6{8   (80P $  `80)k{k9{Gk6$9{G{6T +S)00)l90p  x | H)8k{{&{)d9k{{&{x90)k{{&{9|)k{k9)k{k *00(,*008:8 u)00DZPJ:[ A9{&L:T Ak{F{7 Qc@0;DGk:{{{*:{{7{ Q*:  J*:  C A 6P *00G+ ;0$;$+ (@0*@+00:L  #:0+k{k t;{k7|;{k6|;{k& ;{k;  h;+k{k6;{k&t;{kJ <  ,00 +<,00<<<,k{{&{ ,P<$,00,$<T,X<000tx p< 00:k{{{<,k{{6{<,k{{6{<,k{Gk6={{6{<,k{k <4-k{k@={[6P=P-k{k&{{{5{8-0=k{{&{p-T=k{{&{h-=|=-k{G{6{=  s-00=-k{G{6{ =-k{[6=-k{Gk6{F{7{{(N>. M AH>{G{6{T>{[\>\.k{{&[-x.00lx>.k{G[6>.k{G{6G{5{>. $@0 0$.>T L>L D@Y88>8.k{Gk6,>{k&>{{6{ .>-==-k{G{6k'={{6{=-k{k =-0Q-=000op=x-k{kh=0S\ 4<=L-k{{6{-4={{7{<,k{{6{,00I-00 ,00,<L< A< Ak{F{7 Q@0P,,00T,<<<(, @0$,,<{G{{,4<;+ w@0+;+k{kJ+00+;;0SP;0S \ Zx,00 T R4+l;{G{{l;+k{{&{ ,<0 8P *00+:+:*;:*k{{&{h;*k{kJ*00+00T*0; @:  +,:{G{{|*:`:*k{G[6L:T*k{{6G[ 8 0 (9)k{Gk `)9 90SD \9x)k{k&9{Gk69{{&{$49p)k{Gk649{k&X9{k&8{{6{8D)k{kJ(88)k{kJ(88(k{Gk68{kJ!(88d(k{k&8{Gk6$8{{&{h 8\(k{Gk6 8{k&7{k&88{{6{(8D v70S 8( nkt7'k{{&{X8 `H7t'k{{{,8 USQT(00x7{Gkl7{kJ`7{GkT7{kJl7{Gk$7{kJH7'k{kJ,Ɵ60  '000'00$70Sq70d0 d R d0Sd R d0S %x6%p6%`65L'k{GkD5@0\&x%P6k{{&{`l6%k{k&{Fk7{k05{kJ6%k{k&5{k64{k&4{kJ5%k{kIxE4H 4< d%`5000%00@%00450Sc$50S,$4$x44d@0$h5$k{k&{Fk74{{&{4#k{{&{3%k{k&,4{k&{Fk7p3{k&D4{k04L#k{k4# 4(3#k{kJ2 ;2 7#3000#00,3"k{{&{"4k{{&{p2h"k{k&h2{kJH2@"k{k!(2 "k{k&2{k J1"k{k1{kJ!t20p "00t"00h20Sx!|1H200CS    @H1X!k{{6{ !l1 !1 p2 0!10P 0 0 k{k0{Gk60{G{6{L1"k{Gk 0{Gk$1{Gk 10S{"z<<D<l<hh0<<< =0=P=h======>(>l>>>??4?x8Hd???? @@(@T@()p@(@@@(AHAhAAA8AAA8%B0BPB|BBBB C0CphCCC  CCCC D(D\DD1 1  00$!(1000 00!0 \`dhd1p |10YS 10yS 1! P01!k{{+S!002P 20YS 020yS ,2D" HLP1\"k{{h+Sp"00|2 0(0 (0Sʄ2( 1S "((0!(00(0 ~2"0 20 2 00S43#0 300S,3 0STaX_L3P#00Sh30SڈRP3#00SڬGE30Sq?=l:30S 30S30S30S'V 4#k{kL4$k{G[604@$k{Gk6,4{G{6k%84{Gk 8tx|4t$k{Gk 4$k{k&4{k&{F[74$k{Gk64{Gk64{{6k%4{Gk 40S 50S ,5,4$KKp -LM K0K{{4 $@K ( $@K $ KK? -LMpl0t0K P0PH0H0 ,0000$ 0000 KDDD -LM   0Sj KC -LM  4, 0101 0 T K 4E 0-LM1!k{{6K{0 K0Kk K{{&{0K 0K0k{{&{0 K0Kk{{& K{0KP K%@0;D0K{F{7{H Kk {k&0K0{{6{0K0h㈵>P -L,M 0K1!k{{&{0 Kt!0K0k{G{6{\AP1k{{& Q A0 K0{Gk60K0{Gk61{{{1!k{Gk40 k{kJ 00 k{k 0 0k{{6{EX0k{[&H0H0@ k{{&00{@+S8K?@0 H08%= 1* and/or / gets too many last digits wrong- lacks Guard Digit, so cancellation is obscuredcomparison alleges (1-U1) < 1 although subtraction yields (1-U1) - 1 = 0 , thereby vitiating such precautions against division by zero as ... if (X == 1.0) {.....} else {.../(X-1.0)...} *, /, and - appear to have guard digits, as they should. Checking rounding on multiply, divide and add/subtract. X * (1/X) differs from 1Multiplication appears to round correctly. Multiplication appears to chop. * is neither chopped nor correctly rounded. MultiplicationDivision appears to round correctly. DivisionDivision appears to chop. / is neither chopped nor correctly rounded. Radix * ( 1 / Radix ) differs from 1Incomplete carry-propagation in AdditionAdd/Subtract appears to be chopped. Addition/Subtraction appears to round correctly. Add/SubtractAddition/Subtraction neither rounds nor chops. (X - Y) + (Y - X) is non zero! Checking for sticky bit. Sticky bit apparently used correctly. Sticky bit used incorrectly or not at all. lack(s) of guard digits or failure(s) to correctly round or chop (noted above) count as one flaw in the final tally belowDoes Multiplication commute? Testing on %d random pairs. X * Y == Y * X trial fails. No failures found in %d integer pairs. Running test of square root(x). Square root of 0.0, -0.0 or 1.0 wrongTesting if sqrt(X * X) == X for %d Integers X. Test for sqrt monotonicity. sqrt has passed a test for Monotonicity. sqrt(X) is non-monotonic for X near %.7e . Testing whether sqrt is rounded or chopped. Anomalous arithmetic with Integer < Radix^Precision = %.7e fails test whether sqrt rounds or chops. Square root appears to be correctly rounded. Square root appears to be chopped. Square root is neither chopped nor correctly rounded. Observed errors run from %.7e to %.7e ulps. sqrt gets too many last digits wrongTesting powers Z^i for small Integers Z and i. Errors like this may invalidate financial calculations involving interest rates. ... no discrepancies found. Seeking Underflow thresholds UfThold and E0. multiplication gets too many last digits wrong. Positive expressions can underflow to an allegedly negative value PseudoZero that prints out as: %g . But -PseudoZero, which should be positive, isn't; it prints out as %g . Underflow can stick at an allegedly positive value PseudoZero that prints out as %g . Products underflow at a higher threshold than differences. Difference underflows at a higher threshold than products. Smallest strictly positive number found is E0 = %g . Either accuracy deteriorates as numbers approach a threshold = %.17e coming down from %.17e or else multiplication gets too many last digits wrong. Underflow confuses Comparison, which alleges that Q == Y while denying that |Q - Y| == 0; these values print out as Q = %.17e, Y = %.17e . |Q - Y| = %.17e . Underflow is gradual; it incurs Absolute Error = (roundoff in UfThold) < E0. Underflow / UfThold failed! X = %.17e is not equal to Z = %.17e . yet X - Z yields %.17e . Should this NOT signal Underflow, this is a SERIOUS DEFECT that causes confusion when innocent statements like if (X == Z) ... else ... (f(X) - f(Z)) / (X - Z) ... encounter Division by Zero although actually X / Z fails! X / Z = 1 + %g . below whichThe Underflow threshold is %.17e, %s calculation may suffer larger Relative error than merely roundoff. Range is too narrow; U1^%d Underflows. Since underflow occurs below the threshold UfThold = (%.17e) ^ (%.17e) only underflow should afflict the expression (%.17e) ^ (%.17e); actually calculating yields:trap on underflow. %.17e . This computed value is O.K. this is not between 0 and underflow threshold = %.17e . Testing X^((X + 1) / (X - 1)) vs. exp(2) = %.17e as X -> 1. Calculated %.17e for (1 + (%.17e) ^ (%.17e); differs from correct value by %.17e . This much error may spoil financial calculations involving tiny interest rates. Accuracy seems adequate. Testing powers Z^Q at four nearly extreme values. ... no discrepancies found. Searching for Overflow threshold: This may generate an error. Can `Z = -Y' overflow? Trying it on Y = %.17e . Seems O.K. finds a -(-Y) differs from Y. overflow past %.17e shrinks to %.17e . Overflow threshold is V = %.17e . Overflow saturates at V0 = %.17e . There is no saturation value because the system traps on overflow. No Overflow should be signaled for V * 1 = %.17e nor for V / 1 = %.17e . Any overflow signal separating this * from the one above is a DEFECT. Comparisons involving +-%g, +-%g and +-%g are confused by Overflow.Comparison alleges that what prints as Z = %.17e is too far from sqrt(Z) ^ 2 = %.17e . Comparison alleges that Z = %17e is too far from sqrt(Z) ^ 2 (%.17e) . Badlyis too far from 1. unbalanced range; UfThold * V = %.17e %s X / X traps when X = %g X / X differs from 1 when X = %.17e instead, X / X - 1/2 - 1/2 = %.17e . What message and/or values does Division by Zero produce? This can interupt your program. You can skip this part if you wish. Do you wish to compute 1 / 0? Trying to compute 1 / 0 produces ... Do you wish to compute 0 / 0? Trying to compute 0 / 0 produces ... %.7e . O.K. The number of %-29s %d. The arithmetic diagnosed seems Satisfactory though flawed. The arithmetic diagnosed may be Acceptable despite inconvenient Defects. The arithmetic diagnosed has unacceptable Serious Defects. Potentially fatal FAILURE may have spoiled this program's subsequent diagnoses. No failures, defects nor flaws have been discovered. The arithmetic diagnosed seems Satisfactory. Rounding appears to conform to the proposed IEEE standard P754854. , except for possibly Double Rounding during Gradual Underflow. The arithmetic diagnosed appears to be Excellent! A total of %d floating point exceptions were registered. END OF TEST. To continue, press RETURN Diagnosis resumes after milestone Number %d Page: %d FAILURESERIOUS DEFECTDEFECTFLAW%s: %ssqrt( %.17e) - %.17e = %.17e instead of correct value 0 . WARNING: computing computing (%.17e) ^ (%.17e) yielded %.17e; which compared unequal to correct %.17e ; they differ by %.17e . Similar discrepancies have occurred %d times. Since comparison denies Z = 0, evaluating (Z + Z) / Z should be safe. What the machine gets for (Z + Z) / Z is %.17e . This is O.K., provided Over/Underflow has NOT just been signaled. This is a VERY SERIOUS DEFECT! This is a DEFECT! What prints as Z = %.17e compares different from Z * 1 = %.17e 1 * Z == %g Z / 1 = %.17e Multiplication does not commute! Comparison alleges that 1 * Z = %.17e differs from Z * 1 = %.17e %s test appears to be inconsistent... PLEASE NOTIFY KARPINKSI! %s Lest this program stop prematurely, i.e. before displaying `END OF TEST', try to persuade the computer NOT to terminate execution when anerror like Over/Underflow or Division by Zero occurs, but ratherto persevere with a surrogate value after, perhaps, displaying somewarning. If persuasion avails naught, don't despair but run thisprogram anyway to see how many milestones it passes, and thenamend it to make further progress. Answer questions with Y, y, N or n (unless otherwise indicated). Users are invited to help debug and augment this program so it willcope with unanticipated and newly uncovered arithmetic pathologies. Please send suggestions and interesting results to Richard Karpinski Computer Center U-76 University of California San Francisco, CA 94143-0704, USA In doing so, please include the following information: Precision: double; Version: 10 February 1989; Computer: Compiler: Optimization level: Other relevant compiler options:Running this program should reveal these characteristics: Radix = 1, 2, 4, 8, 10, 16, 100, 256 ... Precision = number of significant digits carried. U2 = Radix/Radix^Precision = One Ulp (OneUlpnit in the Last Place) of 1.000xxx . U1 = 1/Radix^Precision = One Ulp of numbers a little less than 1.0 . Adequacy of guard digits for Mult., Div. and Subt. Whether arithmetic is chopped, correctly rounded, or something else for Mult., Div., Add/Subt. and Sqrt. Whether a Sticky Bit used correctly for rounding. UnderflowThreshold = an underflow threshold. E0 and PseudoZero tell whether underflow is abrupt, gradual, or fuzzy. V = an overflow threshold, roughly. V0 tells, roughly, whether Infinity is represented. Comparisions are checked for consistency with subtraction and for contamination with pseudo-zeros. Sqrt is tested. Y^X is not tested. Extra-precise subexpressions are revealed but NOT YET tested. Decimal-Binary conversion is NOT YET tested for accuracy.The program attempts to discriminate among FLAWs, like lack of a sticky bit, Serious DEFECTs, like lack of a guard digit, and FAILUREs, like 2+2 == 5 .Failures may confound subsequent diagnoses. The diagnostic capabilities of this program go beyond an earlierprogram called `MACHAR', which can be found at the end of thebook `Software Manual for the Elementary Functions' (1980) byW. J. Cody and W. Waite. Although both programs try to discoverthe Radix, Precision and range (over/underflow thresholds)of the arithmetic, this program tries to cope with a wider varietyof pathologies, and to say how well the arithmetic is implemented. The program is based upon a conventional radix representation forfloating-point numbers, but also allows logarithmic encodingas used by certain early WANG machines. BASIC version of this program (C) 1983 by Prof. W. M. Kahan;see source comments for more history. 1A p "@DH؁ <poooL??@@@@ @"@;@@@n@?,#D#d#|# EE$E,E\HHHH0ItIIIJ`JJJ K4KLKhKKKKKL L$LHLLLLMHMMMN@NxNNN$O`OOOOA, IK P@"` ` jp! }(0| 8@ H " PX "  `" hp  !x$@H ,17@PUWZ_` gioxt|!P x#"$| '4 HP! X(<j4{~8  initfini.c/home/kl/cs2005q3-2_toolchain/gcc/glibc/work/glibc_build/csu/crti.Scall_gmon_start$a$dabi-note.Sinit.c/home/kl/cs2005q3-2_toolchain/gcc/glibc/work/glibc_build/csu/crtn.Scrtstuff.c__JCR_LIST__completed.0__do_global_dtors_aux__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entryparanoia.cmsg.0msg.1instr.2head.3chars.4hist.5elf-init.c__FRAME_END____JCR_END___DYNAMIC__fini_array_end__fini_array_start__init_array_end_GLOBAL_OFFSET_TABLE___init_array_startfflush@@GLIBC_2.4sqrt@@GLIBC_2.4DNstdout@@GLIBC_2.4E9BInvrseU1Random1Z2Two__exidx_endThirtyTwoGMult_bss_end__abort@@GLIBC_2.4F9SqRWrngE0ErrCntPauseSqXMinXBreakAInvrseU2QUnderflowY2Four__bss_start____dso_handleThirdX2BMinusU2__libc_csu_finiN1__libc_start_main@@GLIBC_2.4sigsaveRAddSubYQ9IndxGDiv__exidx_startMyZeroFourDTS_initnotifylongjmp@@GLIBC_2.4signal@@GLIBC_2.4SR3750GAddSubV9Jovfl_bufCVIsYeqXRadixD2__bss_end__MinusOneMinSqEr_startNineCInvrseRMultRandomThreeX1MilestoneStickyBitRandom9E1TstPtUfWZero__libc_csu_initPrecisionEightInstructions__bss_startlog@@GLIBC_2.4MonotOneUlpmainOneAndHalfUfNGradHsigfpe__end__MaxSqErHistoryExp2Random2data_start_finiNewDRCharacteristicsZRDivSR3980Z1TstCondHalfRadixTwoFortyexit@@GLIBC_2.4DoneIF6FiveBadCondMRSqrtfpecount_edataread@@GLIBC_2.4_endOnePageNoIEEENoTrialsTwentySeven_setjmp@@GLIBC_2.4V0msglistHInvrseY1PseudoZeropow@@GLIBC_2.4Anomaly_IO_stdin_usedNotMonotchX8Sign__data_start_Jv_RegisterClassesUfTholdHeadingprintf@@GLIBC_2.4floor@@GLIBC_2.4A1PrintIfNPositiveSqErZ9XE3__gmon_start__