(original) (raw)
%!PS-Adobe-2.0 %%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software %%Title: cg96.dvi %%Pages: 10 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%DocumentFonts: Times-Roman Courier Times-Bold Times-Italic Helvetica %%+ Symbol %%EndComments %DVIPSCommandLine: dvips -D600 -o cg96.ps cg96.dvi %DVIPSParameters: dpi=600, compressed, comments removed %DVIPSSource: TeX output 1996.02.15:1246 %%BeginProcSet: texc.pro /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{ statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{ pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get} B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{ rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv} B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} {adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] }if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail} B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{ 3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{ 3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end %%EndProcSet %%BeginProcSet: texps.pro TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2 index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict end definefont 3 -1 roll makefont /setfont load]cvx def}def /ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def /ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def end %%EndProcSet %%BeginProcSet: special.pro TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ /CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ 10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type /dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{itransform lineto} }{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp {pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin /magscale false def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial {CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath }N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ /SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet TeXDict begin 40258431 52099146 1000 600 600 (cg96.dvi) @start /Fa 198[33 33 3[33 33 33 33 33 48[{}7 66.666664 /Times-Bold rf /Fb 1 50 df49 D E /Fc 171[37 1[40 1[33 1[43 1[37 2[20 43 2[37 1[40 67[{}9 59.999973 /Times-Roman rf /Fd 133[33 37 37 1[37 37 21 29 25 37 37 37 37 58 21 2[21 37 37 25 33 37 33 37 33 11[54 46 42 50 1[42 54 54 66 46 2[25 1[54 42 46 54 50 50 54 7[37 37 37 37 37 37 37 37 37 37 21 19 25 19 2[25 25 40[{}56 75.000000 /Times-Roman rf /Fe 4 99 df<1307D90FC01338011F147C16FC5CA2013F 1301A202005BA2491303A2017E5CA201FE1307A2495CA20001140FA2495C17800003021F 13C016C149EC8180A20007EC3F836D017F130016034B5A3A0FFC03CF869039FE070F8E90 39DFFE07FC9039C3F801F0D81FC0C9FCA25BA2123FA290CAFCA25AA2127EA212FEA25A12 382A327FA02E>22 D67 D97 D<133FEA1FFFA25B1200A35BA21201A25BA21203A25BA21207A2EBE0F8EBE3 FF390FEF07809038FC03C001F813E0EBF001D81FE013F013C0138015F8123FA21300A248 130315F0127EA2140700FE14E05AA2EC0FC0A2EC1F80007C14005C147E003C137C003E5B 381E01F0380F07C06CB4C7FCEA00FC1D357EB321>I E /Ff 135[37 54 37 42 21 37 25 42 42 42 42 62 17 2[17 42 42 21 42 42 37 42 42 12[46 13[46 4[50 18[21 25 3[25 25 40[{}29 75.000000 /Helvetica rf /Fg 2 62 df<140EB3A2B812E0A3C7000EC8FCB3A22B2B7D A333>43 D<007FB712C0B812E0A2CBFCABB812E0A26C16C02B117D9633>61 D E /Fh 4 81 df<1430147014E0EB01C01303EB0780EB0F00A2131E5BA25B13F85B1201 5B1203A2485AA3485AA3121F90C7FCA25AA3123EA2127EA6127C12FCB3A2127C127EA612 3EA2123FA37EA27F120FA36C7EA36C7EA212017F12007F13787FA27F7FA2EB0780EB03C0 1301EB00E0147014301462738226>0 D<12C07E12707E123C7E7EA26C7E6C7EA26C7E7F 12007F1378137CA27FA37FA31480130FA214C0A31307A214E0A6130314F0B3A214E01307 A614C0A2130FA31480A2131F1400A3133EA35BA2137813F85B12015B485AA2485A48C7FC A2121E5A12385A5A5A14627C8226>I<12F0B3B3B2043674811C>12 D80 D E /Fi 167[38 50 1[38 32 30 35 1[30 38 38 47 32 2[18 38 2[32 1[35 1[38 65[{}16 53.333282 /Times-Roman rf /Fj 81[33 51[33 33 33 48 33 37 18 33 22 37 37 37 37 55 15 33 1[15 37 37 18 37 37 33 37 37 9[63 44 48 41 44 2[44 52 48 55 37 2[18 48 1[41 44 48 48 44 44 5[18 3[37 1[37 37 37 37 37 37 18 18 22 18 4[15 39[{}57 66.666664 /Helvetica rf /Fk 199[21 21 21 21 21 21 21 21 49[{}8 41.666668 /Times-Roman rf /Fl 3 64 df<17011707173F17FF1603160F163F4BB5FC 1507153F92B6FC1407143F49B7FC131F90B8FC120FB9FCA2120FC6FC131F1301EB003F14 071400153F15071501ED003F160F16031600173F1707170130247E9153>27 D<1460A414F0A4497EA3497EA4497EA3497EA3497FA3497FA2497FA390B57EA24880A348 80A24880A24880A2481580A24815C0A34815E0A2B712F0243092D053>54 D63 D E /Fm 168[44 1[34 28 26 31 2[34 1[41 8[34 2[34 65[{}9 46.666592 /Times-Roman rf /Fn 2 127 df<007FB812F8B912FCB3B3B26C17F83638 7BB741>4 D<4AB4FC021F13F091387E00FCD901E0130FD90780EB03C0011EC812F00138 15384981498148488148480138EB038048C7007CEB01C000061600000E17E04817700018 17300038173800301718010790383801C026700F80903803E01C006001E0010F130C02F0 131F26E007F890383FC00E26C001FE9038FF00069039007F39FC91381FFFF002031380DA 00FEC7FCA2913803FF80021F13F091387F39FC903901FE38FF26E007F890383FC00E2660 0FF090381FE00C02E0130F007001800103131C26300700903801C01890C7007CC7FC0038 173800181730001C17706C17E0000617C0000716016C6C0138EB03806C6C90C7EA07006C 6C150E01705D6D5D011E15F0D90780EB03C0D901E0010FC7FCD9007E13FC91381FFFF002 0190C8FC37387BB041>126 D E /Fo 1 107 df<12E0B3B3B3AD034378B114>106 D E /Fp 2 116 df<1338137CA2137813701300A7EA0780EA1FC0EA38E01230EA60F0EA C1E0A3EA03C0A3EA0780A2EA0F0013041306EA1E0CA21318121CEA1E70EA0FE0EA07800F 237DA116>105 D115 D E /Fq 2 62 df43 D<007FB712F8B812FCA2CBFCADB812FCA26C16F82E137C9937> 61 D E /Fr 12 122 df<1780EE03C0160FEE3F80EEFE00ED03F8ED0FE0ED3F8003FEC7 FCEC03F8EC0FE0EC3F8002FEC8FCEB03F8EB0FE0EB3F8001FEC9FCEA03F8EA0FE0EA3F80 00FECAFC12F812FEEA3F80EA0FE0EA03F8EA00FEEB3F80EB0FE0EB03F8EB00FEEC3F80EC 0FE0EC03F8EC00FEED3F80ED0FE0ED03F8ED00FEEE3F80EE0FC01603EE00802A2B7AA537 >60 D81 D101 D<14FCEB03FF90380F839C90381F01BC013E13FCEB7C 005B1201485A15F8485A1401120F01C013F0A21403121F018013E0A21407A215C0A2000F 130F141F0007EB3F80EBC07F3803E1FF3800FF9F90383E1F0013005CA2143EA2147E0038 137C00FC13FC5C495A38F807E038F00F80D87FFEC7FCEA1FF81E2C7E9D22>103 D<131FEA03FFA2EA003FA2133EA2137EA2137CA213FCA25BA21201143F9038F1FFC09038 F3C1F03803FF0001FC7F5BA2485A5BA25B000F13015D1380A2001F13035D1300140748EC C04016C0003E130F1580007E148191381F0180007C1403ED070000FCEB0F06151E48EB07 F80070EB01E0222F7DAD29>I<3907C007E0391FE03FF83918F8783E393879E01E39307B 801F38707F00126013FEEAE0FC12C05B00815C0001143E5BA20003147E157C5B15FC0007 ECF8081618EBC00115F0000F1538913803E0300180147016E0001F010113C015E390C7EA FF00000E143E251F7E9D2B>110 D<90387C01F89038FE07FE3901CF8E0F3A03879C0780 D907B813C0000713F000069038E003E0EB0FC0000E1380120CA2D8081F130712001400A2 49130F16C0133EA2017EEB1F80A2017C14005D01FC133E5D15FC6D485A3901FF03E09038 FB87C0D9F1FFC7FCEBF0FC000390C8FCA25BA21207A25BA2120FA2EAFFFCA2232B829D24 >112 D<903807E03090381FF87090387C1CF0EBF80D3801F00F3903E007E0EA07C0000F 1303381F800715C0EA3F00A248130F007E1480A300FE131F481400A35C143E5A147E007C 13FE5C1301EA3E07EA1F0E380FFCF8EA03F0C7FC13015CA313035CA21307A2EBFFFEA21C 2B7D9D20>I<3807C01F390FF07FC0391CF8E0E0383879C138307B8738707F07EA607E13 FC00E0EB03804848C7FCA2128112015BA21203A25BA21207A25BA2120FA25BA2121FA290 C8FC120E1B1F7E9D20>II<013F 137C9038FFC1FF3A01C1E383803A0380F703C0390700F60F000E13FE4813FC12180038EC 0700003049C7FCA2EA200100005BA313035CA301075B5D14C000385CD87C0F130600FC14 0E011F130C011B131C39F03BE038D8707113F0393FE0FFC0260F803FC7FC221F7E9D28> 120 DI E /Fs 81[33 52[29 29 44 29 33 18 26 26 33 33 33 33 48 18 29 1[18 33 33 18 29 33 29 33 33 7[37 1[55 41 48 37 33 41 48 41 48 44 55 1[44 1[22 48 48 41 41 48 44 1[41 6[22 7[33 4[22 45[{}49 66.666664 /Times-Italic rf /Ft 19 123 df61 D<4AB4FC021F13E091387E01F8903901F8007ED907E0131FD90F80EB0F8049C7EA07 C0137E49EC03E0485A4915F0484814011207485A4915F8121F90C8FC5A17F0007E1503A4 007CED07E012FC17C0160F1780161F007C1600163E007E157E003E017C5BD901FE5B3A1F 038701F09039070387C03A0F86018F80D807C6019FC7FCD803F613FC3900FF03F090393F FFC006EB07FDD90001130E6F5A163C6F5AEDFFF85E6E5B5E6F5A033EC7FC2D347DA834> 81 D<013FB512E016FC903901FC007F4AEB0F80EE07C0010315E016035C17F01307EE07 E05CA2010FEC0FC017804AEB1F00163E011F14F8ED07F091B51280A290393F800FE0ED03 F002007F15015BA2137EA201FE1303A2495CA20001160817184914E017380003EDF070B5 D8C00113E0923800FFC0C9EA3F002D297DA732>I<000FB712E05A9039800FE007D81E00 9038C001C05A0038011F1300123000705C00601501023F148012E0481400A2C74890C7FC A2147EA214FEA25CA21301A25CA21303A25CA21307A25CA2130FA25CA2131F001FB57EA2 2B287DA727>84 D98 D<15F8141FA2EC01F0A2 1403A215E0A21407A215C0A2140FEB1F8F90387FCF80EBF0EF3803C03FEA0780390F001F 00A2001E5B123E003C133E127C147E5A147CA214FC5AECF830A3903801F060A2EA780301 0E13C0393C1CF980381FF07F3907C01E001D297CA723>100 DI103 D<133EEA07FEA2EA007CA213FCA25BA21201A25BA2120314FCEBE3FF9038EF0780D807FC 13C0EBF00313E0A2EA0FC014071380A2121FEC0F801300A248EB1F00A2003E1406143E12 7EEC7C0C127C151800FCEB3C30157048EB1FE00070EB0F801F297CA727>I<130E131F5B A2133E131C90C7FCA7EA03E0487EEA0C78EA187C1230A212605B12C0A2EA01F0A3485AA2 485AA2EBC180EA0F81A2381F0300A213066C5A131CEA07F06C5A11287DA617>I<1407EC 0F80141FA21500140E91C7FCA7EB03E0EB07F8EB0C3C1318EB303E136013C0A248485AA2 C7FCA25CA4495AA4495AA4495AA4495AA21238D87C1FC7FC12FC133E485AEA70F8EA7FE0 EA1F80193380A61B>I<3B07801FC007E03B0FE07FF01FF83B18F0E0F8783C3B30F1807C E03E903AFB007D801ED860FEEB3F005B49133E00C14A133E5B1201A24848495BA35F4848 485A1830EE01F0A23C0F8003E003E060A218C0933801E180271F0007C013E3933800FF00 000E6D48137C341B7D993B>109 D<3907801FC0390FE07FF03918F0E0F83930F1807CEB FB00D860FE133C5B5B00C1147C5B1201A248485BA34A5AEA07C01660EC03E0A23A0F8007 C0C0A2EDC180913803C300D81F0013C7EC01FE000EEB00F8231B7D9929>I<9038F007C0 3901FC1FF039031E78780006EBE03C90381FC01C000CEB801E14005B0018141F133E1200 137E153E137CA213FC157C5B1578000114F0A2EC01E0EC03C03903FC07809038FE1F00EB E7FCEBE1F0D807E0C7FCA25BA2120FA25B121FEAFFF8A22025809922>112 DI<131C133EA25BA45BA4485AB512E0A2 3801F000485AA4485AA4485AA448C7FC1460A214C0123EEB0180EB0300EA1E06EA1F1CEA 0FF8EA03E013267EA419>116 D<90387C03C03901FF0FF03907079C30390E03B078000C EBF0F8001813E1123015F0396007C0E015001200A2495AA449C7FC15301238007C1460EA FC3E15C0EAF87E39F06F03803970C70700383F83FE381F01F81D1B7D9926>120 DI<01 3E13C0137F9038FF818048EBC3004813FF380701FE3806000C00045BC75A5C5CEB038001 06C7FC5B5B5B5B9038C00180EA038039060003005C380FF81E381FFFFE38383FFC38601F F86D5A38C007C01A1B7D9920>I E /Fu 4 102 df0 D<13E0EA01F0EA03F8A3EA07F0A313E0A2120F13C0A3EA1F80A21300A25A123EA35AA312 7812F8A25A12100D1E7D9F13>48 D100 DI E /Fv 80[42 52[32 37 37 55 37 42 23 32 32 1[42 42 42 60 23 2[23 42 42 23 37 42 37 42 42 12[46 42 6[46 5[51 19[42 3[21 28 21 2[28 28 40[{}34 83.333336 /Times-Italic rf /Fw 135[42 1[42 46 28 1[37 1[46 42 46 69 23 46 1[23 46 42 28 37 46 37 1[42 3[28 1[28 4[60 1[55 4[65 1[78 1[65 1[32 4[60 1[55 60 10[42 42 42 42 42 42 42 1[21 1[21 2[28 28 40[{}41 83.333336 /Times-Bold rf /Fx 203[25 25 25 25 49[{}4 50.000000 /Times-Roman rf /Fy 6 94 df<146014E0EB01C0EB0380EB07 00130E131E5B5BA25B485AA2485AA212075B120F90C7FCA25A121EA2123EA35AA65AB212 7CA67EA3121EA2121F7EA27F12077F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01 C0EB00E01460135278BD20>40 D<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378 A2137C133C133E131EA2131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A2 5B131EA2133E133C137C1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD 20>I<15301578B3A6007FB812F8B912FCA26C17F8C80078C8FCB3A6153036367BAF41> 43 D<007FB812F8B912FCA3CCFCAEB912FCA36C17F836167B9F41>61 D91 D93 D E /Fz 29 123 df15 D<121C127FEAFF80A5EA7F00121C0909798817>58 D<121C127FEAFF80A213C0A3127F12 1C1200A412011380A2120313005A1206120E5A5A5A12600A19798817>I<150C151E153E A2153C157CA2157815F8A215F01401A215E01403A215C01407A21580140FA215005CA214 1E143EA2143C147CA2147814F8A25C1301A25C1303A2495AA25C130FA291C7FC5BA2131E 133EA2133C137CA2137813F8A25B1201A25B1203A25B1207A25B120FA290C8FC5AA2121E 123EA2123C127CA2127812F8A25A12601F537BBD2A>61 D<1760177017F01601A21603A2 1607160FA24C7EA216331673166316C3A2ED0183A2ED0303150683150C160115181530A2 1560A215C014011580DA03007FA202061300140E140C5C021FB5FC5CA20260C7FC5C8349 5A8349C8FC1306A25BA25B13385B01F01680487E000716FFB56C013F13FF5EA2383C7DBB 3E>65 D<9339FF8001C0030F13E0037F9038F80380913A01FF807E07913A07F8000F0FDA 1FE0EB079FDA3F80903803BF0002FFC76CB4FCD901FC80495A4948157E495A495A494815 3E017F163C49C9FC5B1201484816385B1207485A1830121F4993C7FCA2485AA3127F5BA3 12FF90CCFCA41703A25F1706A26C160E170C171C5F6C7E5F001F5E6D4A5A6C6C4A5A1607 6C6C020EC8FC6C6C143C6C6C5C6CB4495A90393FE00FC0010FB5C9FC010313FC9038007F C03A3D7CBA3B>67 D<4BB4FC031F13F09238FE01FC913903F0007EDA07C0EB1F80DA1F80 EB0FC0023EC7EA07E002FCEC03F0495A4948EC01F8495A4948EC00FC495A013F16FE49C9 FC13FE187F485A12035B12075B120F4916FF121FA2485AA34848ED01FEA448C9EA03FCA3 EF07F8A218F0170F18E0171F18C0EF3F807EEF7F0017FEDA07C05B6C90391FF001F89039 80383803001F496C485A9139E00C0FE0260FC0C0EB1F80D807E1D90E3FC7FC0280137ED8 03F1EB07F8D801F95C3A007FC00FC0903A3FE07F0003903807FFFE0100018F5BDA000F13 06170E171E705A177CEEC1F816FF5FA25F5F6F5B6F48C7FCED00F8384B7CBA42>81 D<0103B612F849EDFF8018E0903B0007F8001FF84BEB03FCEF00FE020F157FA24BEC3F80 A2021F16C0A25DA2143FF07F805DA2027FEDFF006092C7485A4D5A4A4A5A4D5A4AEC1F80 057FC7FC0101EC07F891B612E094C8FC9139FC000FC00103EC03F0707E4A6D7E83130717 7E5C177F010F5D5F5CA2011F1401A25CA2133F16034A4A1360A2017F17E019C091C71401 496C01011480B61503933900FE0700EF7E0ECAEA1FFCEF07F03B3B7DB83F>I<0003B812 FEA25A903AF8003FC00101C0913880007E4848163C90C7007F141C121E001C92C7FCA248 5CA200305C007017180060130112E0485CA21403C716005DA21407A25DA2140FA25DA214 1FA25DA2143FA25DA2147FA292C9FCA25CA25CA21301A25CA21303A25CEB0FFC003FB6FC 5AA237397EB831>84 D<147E903803FF8090390FC1C38090391F00EFC0017E137F49133F 485A4848EB1F8012075B000F143F48481400A2485A5D007F147E90C7FCA215FE485C5AA2 14015D48150CA21403EDF01C16181407007C1538007E010F1330003E131F027B13706C01 E113E03A0F83C0F9C03A03FF007F80D800FCEB1F0026267DA42C>97 D<133FEA1FFFA3C67E137EA313FE5BA312015BA312035BA31207EBE0FCEBE3FF9038E707 C0390FFE03E09038F801F001F013F8EBE000485A15FC5BA2123F90C7FCA214015A127EA2 140312FE4814F8A2140715F05AEC0FE0A215C0EC1F80143F00781400007C137E5C383C01 F86C485A380F07C06CB4C7FCEA01FC1E3B7CB924>II<163FED1FFFA3ED007F167EA216 FEA216FCA21501A216F8A21503A216F0A21507A2027E13E0903803FF8790380FC1CF9038 1F00EF017EEB7FC049133F485A4848131F000715805B000F143F485A1600485A5D127F90 C7127EA215FE5A485CA21401A248ECF80CA21403161CEDF0181407007C1538007E010F13 30003E131F027B13706C01E113E03A0F83C0F9C03A03FF007F80D800FCEB1F00283B7DB9 2B>II<16F8ED03FEED0F8792381F0F80ED3E3F167F157CA215FC1700161C4A48 C7FCA414035DA414075DA20107B512F0A39026000FE0C7FC5DA4141F5DA4143F92C8FCA4 5C147EA514FE5CA413015CA4495AA45C1307A25C121E123F387F8F80A200FF90C9FC131E 12FEEA7C3CEA7878EA1FF0EA07C0294C7CBA29>III<14E0EB03F8A21307A314F0EB01C090C7FCAB13F8EA03FEEA070F000E1380121C121812 381230EA701F1260133F00E0130012C05BEA007EA213FE5B1201A25B12035BA200071318 13E01438000F133013C01470EB806014E014C01381EB838038078700EA03FEEA00F81539 7EB71D>I<150FED3F80A2157FA31600151C92C7FCABEC0F80EC3FE0ECF0F0903801C0F8 49487E14005B130E130C131CEB1801133801305BA2EB0003A25DA21407A25DA2140FA25D A2141FA25DA2143FA292C7FCA25CA2147EA214FEA25CA21301001E5B123F387F83F0A238 FF87E0495A00FE5BD87C1FC8FCEA707EEA3FF8EA0FC0214981B722>I109 DI<90390F8003F090391FE00FFC903939F03C1F903A70F8700F80 903AE0FDE007C09038C0FF80030013E00001491303018015F05CEA038113015CA2D80003 1407A25CA20107140FA24A14E0A2010F141F17C05CEE3F80131FEE7F004A137E16FE013F 5C6E485A4B5A6E485A90397F700F80DA383FC7FC90387E1FFCEC07E001FEC9FCA25BA212 01A25BA21203A25B1207B512C0A32C3583A42A>112 D<02FC13C0903803FF0190380F83 8390383F01C790397E00EF8049137F485A4848133F000715005B485A001F5C157E485AA2 007F14FE90C75AA3481301485CA31403485CA314075D140F127C141F007E495A003E137F 381F01EF380F839F3903FF1F80EA00FC1300143F92C7FCA35C147EA314FE5C130190387F FFF0A322357DA425>I<3903E001F83907F807FE390E3C1E07391C3E381F3A183F703F80 0038EBE07F0030EBC0FF00705B00601500EC007E153CD8E07F90C7FCEAC07EA2120013FE 5BA312015BA312035BA312075BA3120F5BA3121F5B0007C9FC21267EA425>I116 D<01F816F0D803FE9138E001F8 D8070F903801F003000ED9800314FC121C12180038020713010030EDE000D8701F167C12 60030F143CD8E03F163800C001005B5BD8007E131F183001FE5C5B033F14700001176049 91C7FCA218E000034A14C049137E17011880170318005F03FE1306170E000101015C01F8 01BF5B3B00FC039F8070903A7E0F0FC0E0903A1FFC03FFC0902703F0007FC7FC36267EA4 3B>119 D<903907E001F090391FF807FC9039783E0E0F9039E01F1C1FD801C09038383F 803A03800FF07F0100EBE0FF5A000E4A1300000C157E021F133C001C4AC7FC1218A2C712 3FA292C8FCA25CA2147EA214FEA24A130CA20101141C001E1518003F5BD87F8114380183 5C00FF1560010714E03AFE0E7C01C0D87C1C495A2778383E0FC7FC391FF00FFC3907C003 F029267EA42F>I<13F8D803FE1470D8070F14F8000EEB8001121C121800381403003015 F0EA701F1260013F130700E0010013E012C05BD8007E130F16C013FE5B151F000115805B A2153F000315005BA25D157EA315FE5D1401000113033800F80790387C1FF8EB3FF9EB0F E1EB00035DA2000E1307D83F805B007F495AA24A5A92C7FCEB003E007C5B00705B6C485A 381E07C06CB4C8FCEA01FC25367EA429>II E /FA 171[36 32 2[32 9[32 16[29 29 29 29 29 29 48[{}10 58.333336 /Times-Roman rf /FB 69[29 8[33 2[37 3[29 47[29 33 33 48 33 33 18 26 22 33 33 33 33 52 18 33 1[18 33 33 22 29 33 29 33 29 3[22 1[22 1[48 48 63 48 48 41 37 44 1[37 48 48 59 41 48 26 22 48 48 37 41 48 44 44 48 5[18 18 33 33 33 33 33 33 33 33 33 33 1[17 22 17 2[22 22 22 39[{}73 66.666664 /Times-Roman rf /FC 18 107 df<007FB81280B912C0A26C17803204799641>0 D<121C127FEAFF80A5EA7F00 121C0909799917>I<0060150600F8150F6C151F007E153F6C157E6C6C14FC6C6CEB01F8 6C6CEB03F06C6CEB07E06C6CEB0FC06C6CEB1F80017EEB3F006D137E6D6C5A90380FC1F8 903807E3F0903803F7E06DB45A6D5B6EC7FCA24A7E497F903803F7E0903807E3F090380F C1F890381F80FC90383F007E017E7F49EB1F804848EB0FC04848EB07E04848EB03F04848 EB01F84848EB00FC48C8127E007E153F48151F48150F00601506282874A841>I<153015 78B3A6007FB812F8B912FCA26C17F8C80078C8FCB3A3007FB812F8B912FCA26C17F83636 7BB641>6 D8 DII20 D<127012FCB4FCEA7FC0EA1F F0EA07FCEA01FF38007FC0EB1FF0EB07FCEB01FF9038007FC0EC1FF0EC07FCEC01FF9138 007FC0ED1FF0ED07FCED01FF9238007FC0EE1FF0EE07FCEE01FF9338007FC0171F177F93 3801FF80933807FC00EE1FF0EE7FC04B48C7FCED07FCED1FF0ED7FC04A48C8FCEC07FCEC 1FF0EC7FC04948C9FCEB07FCEB1FF0EB7FC04848CAFCEA07FCEA1FF0EA7FC048CBFC12FC 1270CCFCAD007FB81280B912C0A26C1780324279B441>I24 D<153CA2157C157815F84A5A5D14034A5A4A5A4ACBFC5C4A B812FE91BAFC5B5BD907C0CBFCEB1F80017FCCFC13FCEA07F8EA1FE0EAFF80A2EA1FE0EA 07F8C67E137FEB1F80EB07C06DBAFC7F7F6E17FE6ECBFC806E7E6E7E6E7E1401816E7E15 78157C153CA2482E7BAB53>40 D49 D<0370EBFF80912601E00713E0912603C01F13F891260F007F7F021E9038F03FFE913A78 03C00FFF9139F0078003494848486C1380902603C01E7F902607803EEC7FC049485A011E 49143F013E17E0494848141FEBF8035D2601F007150F00035CEBE00F00075CD9C01EC8FC 000F131C49C9FC121FA248CA13C0A348171F1980127EA2183F00FE1800A2183E187E187C 18FC6017016C5F4D5A6017076C6C4B5A4DC7FC171E6D5D6C6C5D5F6D4A5A6C6CEC03806C 6C020FC8FC01FF143E6C01C013F86C9038F807E06C90B512806C6C49C9FC011F13F00103 13803B3D7BBA42>79 D<126012F0B3B3B3B3A5B512F014F8A26C13F0155272BD25>98 D<14301478B3B3B3B3A5387FFFF8B5FCA26C13F015527FBD25>I<387FFFF0B512F8A214 F000F0C7FCB3B3B3B3A51260155272BD25>I<387FFFF0B512F8A27EC71278B3B3B3B3A5 143015527FBD25>I<126012F0B3B3B3B3A91260045377BD17>106 D E /FD 134[50 2[50 55 33 39 44 1[55 50 55 83 28 55 1[28 55 50 33 44 55 44 55 50 9[100 4[72 1[61 6[39 2[61 2[72 1[72 10[50 50 50 50 50 50 3[33 45[{}35 100.000000 /Times-Bold rf /FE 138[50 1[50 50 4[50 2[50 4[50 50 50 34[50 17[50 46[{}10 83.333336 /Courier rf /FF 185[63 70[{}1 83.333336 /Symbol rf /FG 69[37 10[46 46 3[37 47[37 42 42 60 42 42 23 32 28 42 42 42 42 65 23 42 23 23 42 42 28 37 42 37 42 37 3[28 1[28 1[60 1[78 60 60 51 46 55 1[46 60 60 74 51 60 1[28 60 60 46 51 60 55 55 60 1[37 3[23 23 42 42 42 42 42 42 42 42 42 42 23 21 28 21 47 1[28 28 28 1[69 37[{}76 83.333336 /Times-Roman rf /FH 136[72 1[50 28 1[33 2[50 50 2[50 1[28 50 2[44 50 44 1[44 13[55 66 7[39 74[{}16 100.000000 /Times-Roman rf /FI 137[71 71 39 55 47 1[71 71 71 110 39 2[39 1[71 1[63 71 63 71 63 14[94 1[78 8[102 78 4[102 19[47 45[{}23 141.666672 /Times-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%EndSetup %%Page: 1 1 1 0 bop 429 186 a FI(Rob)m(ust)35 b(Adapti)l(v)n(e)f(Floating-Point)h (Geometric)f(Predicates)1384 419 y FH(Jonathan)24 b(Richard)h(She)n (wchuk)1474 507 y FG(School)19 b(of)h(Computer)f(Science)1486 599 y(Carne)o(gie)h(Mellon)f(Uni)n(v)o(ersity)1426 692 y(Pittsb)n(ur)o(gh,)f(Pennsylv)n(ania)h(15213)1601 785 y FE(jrs@cs.cmu.edu)-150 1088 y FD(Abstract)-67 1209 y FG(F)o(ast)25 b(C)g(implementations)d(of)i(four)f(geometric)g (predicates,)h(the)-150 1302 y(2D)g(and)g(3D)g(orientation)e(and)h (incircle)h(tests,)i(are)e(publicly)f(a)n(v)n(ail-)-150 1394 y(able.)60 b(Their)30 b(inputs)g(are)h(ordinary)d(single)i(or)h (double)e(precision)-150 1487 y(\257oating-point)f(numbers.)59 b(The)o(y)29 b(o)n(we)h(their)h(speed)f(to)g(tw)o(o)h(fea-)-150 1579 y(tures.)55 b(First,)31 b(the)o(y)d(emplo)o(y)g(ne)n(w)g(f)o(ast)i (algorithms)d(for)h(arbitrary)-150 1672 y(precision)22 b(arithmetic)g(that)h(ha)n(v)o(e)f(a)h(strong)f(adv)n(antage)f(o)o(v)o (er)g(other)-150 1765 y(softw)o(are)i(techniques)g(in)g(computations)f (that)i(manipulate)e(v)n(alues)-150 1857 y(of)i(e)o(xtended)e(b)n(ut)i (small)g(precision.)40 b(Second,)24 b(the)o(y)f(are)h(adapti)n(v)o(e;) -150 1950 y(their)j(running)f(time)i(depends)e(on)i(the)f(de)o(gree)g (of)g(uncertainty)f(of)-150 2043 y(the)h(result,)h(and)f(is)h(usually)e (small.)50 b(These)27 b(algorithms)f(w)o(ork)g(on)-150 2135 y(computers)34 b(whose)h(\257oating-point)f(arithmetic)g(uses)j (radix)d(tw)o(o)-150 2228 y(and)e(e)o(xact)h(rounding,)g(including)f (machines)g(that)h(comply)e(with)-150 2321 y(the)25 b(IEEE)f(754)g (\257oating-point)e(standard.)42 b(T)m(imings)24 b(of)h(the)g(pred-) -150 2413 y(icates,)32 b(in)e(isolation)f(and)g(embedded)f(in)i(2D)f (and)g(3D)h(Delaunay)-150 2506 y(triangulation)18 b(programs,)g(v)o (erify)h(their)h(ef)n(fecti)n(v)o(eness.)-150 2642 y FD(1)99 b(Intr)n(oduction)-67 2762 y FG(Algorithms)20 b(that)i(mak)o(e)f(decisions)g(based)g(on)h(geometric)e(tests,)-150 2855 y(such)15 b(as)g(determining)e(which)i(side)g(of)f(a)i(line)f(a)g (point)f(f)o(alls)i(on,)f(often)-150 2948 y(f)o(ail)24 b(when)g(the)g(tests)h(return)d(f)o(alse)j(answers)f(because)f(of)h (roundof)n(f)-150 3040 y(error)-5 b(.)28 b(The)19 b(easiest)i(solution) d(to)i(man)o(y)e(of)h(these)g(rob)n(ustness)g(prob-)-150 3133 y(lems)j(is)g(to)f(use)h(softw)o(are)f(implementations)e(of)i(e)o (xact)g(arithmetic,)-150 3226 y(albeit)14 b(often)f(at)h(great)f(e)o (xpense.)26 b(The)13 b(goal)h(of)f(impro)o(ving)e(the)j(speed)-150 3318 y(of)27 b(correct)g(geometric)f(calculations)h(has)h(recei)n(v)o (ed)e(much)g(recent)-150 3411 y(attention,)j(b)n(ut)f(the)g(most)g (promising)f(proposals)g(tak)o(e)h(inte)o(ger)f(or)-150 3504 y(rational)22 b(inputs,)h(typically)f(of)h(small)g(precision.)36 b(These)23 b(methods)-150 3596 y(do)e(not)h(appear)e(to)i(be)g(usable)f (if)h(it)g(is)h(con)m(v)o(enient)c(or)i(necessary)g(to)-150 3689 y(use)f(ordinary)e(\257oating-point)g(inputs.)-67 3801 y(This)53 b(paper)e(describes)h(tw)o(o)h(techniques)e(for)h (implement-)-150 3894 y(ing)c(f)o(ast)g(e)o(xact)g(\(or)f(e)o(xtended)f (precision\))h(geometric)f(calcu-)-150 3986 y(lations,)i(and)42 b(demonstrates)f(them)h(with)h(implementations)e(of)-150 4079 y(four)46 b(commonly)g(used)h(geometric)f(predicates,)53 b(the)48 b(2D)f(and)-150 4172 y(3D)34 b(orientation)e(and)h(incircle)g (tests,)38 b(a)n(v)n(ailable)c(on)f(the)h(W)-7 b(eb)34 b(at)-150 4264 y(\252http://www)-5 b(.cs.cmu.edu/)p FC(\030)p FG(quak)o(e/ro)o(b)n(ust.h)o(tml\272.)34 b(The)24 b(orienta-)-150 4357 y(tion)e(test)g(determines)f(whether)g(a)h(point)f(lies)i(to)f (the)g(left)g(of,)g(to)g(the)p -150 4417 801 4 v -150 4494 a FB(Supported)14 b(in)f(part)g(by)f(the)h(Natural)h(Sciences)h (and)e(Engineering)h(Research)h(Council)-150 4567 y(of)23 b(Canada)i(under)f(a)f(1967)g(Science)i(and)f(Engineering)h (Scholarship)g(and)f(by)f(the)-150 4641 y(National)c(Science)h(F)o (oundation)f(under)f(Grant)f(ASC-9318163.)2049 1088 y FG(right)e(of,)h(or)f(on)g(a)g(line)h(or)f(plane;)h(it)g(is)h(an)e (important)f(predicate)g(used)2049 1181 y(in)25 b(man)o(y)e(\(perhaps)f (most\))j(geometric)e(algorithms.)40 b(The)24 b(incircle)2049 1274 y(test)i(determines)f(whether)f(a)i(point)e(lies)j(inside,)f (outside,)g(or)f(on)g(a)2049 1366 y(circle)f(or)g(sphere,)h(and)f(is)h (used)f(for)g(Delaunay)f(triangulation)f([8].)2049 1459 y(Ine)o(xact)e(v)o(ersions)h(of)g(these)h(tests)h(are)e(vulnerable)f (to)i(roundof)n(f)d(er)n(-)2049 1552 y(ror)m(,)i(and)h(the)g(wrong)f (answers)h(the)o(y)g(produce)e(can)i(cause)g(geomet-)2049 1644 y(ric)30 b(algorithms)f(to)i(hang,)g(crash,)h(or)e(produce)e (incorrect)h(output.)2049 1737 y(Although)j(e)o(xact)i(arithmetic)f (banishes)g(these)h(dif)n(\256culties,)j(it)e(is)2049 1830 y(common)16 b(to)i(hear)g(reports)f(of)h(implementations)e(being)h (slo)n(wed)h(by)2049 1922 y(f)o(actors)23 b(of)h(ten)g(or)f(more)g(as)i (a)f(consequence.)38 b(F)o(or)23 b(these)h(reasons,)2049 2015 y(computational)17 b(geometry)g(is)j(an)f(important)e(arena)i(for) f(e)n(v)n(aluating)2049 2108 y(e)o(xtended)g(precision)h(arithmetic)h (schemes.)2132 2225 y(The)j(\256rst)h(technique)e(is)i(a)g(set)g(of)f (algorithms,)g(se)n(v)o(eral)g(of)g(them)2049 2318 y(ne)n(w)-5 b(,)18 b(for)f(performing)f(arbitrary)g(precision)h(arithmetic.)28 b(The)o(y)17 b(dif-)2049 2410 y(fer)28 b(from)g(traditional)f(methods)g (in)i(tw)o(o)f(w)o(ays.)55 b(First,)31 b(the)o(y)c(gain)2049 2503 y(speed)19 b(by)h(relaxing)e(the)i(usual)f(requirement)f(that)i(e) o(xtended)d(preci-)2049 2596 y(sion)h(numbers)e(be)i(normalized)d(to)j (\256x)o(ed)f(digit)h(positions.)28 b(Second,)2049 2688 y(there)15 b(is)h(no)e(cost)i(to)f(con)m(v)o(ert)e(\257oating-point)g (numbers)g(to)i(a)h(special-)2049 2781 y(ized)22 b(e)o(xtended)e (precision)h(format.)33 b(The)21 b(method)g(has)h(its)h(greatest)2049 2874 y(adv)n(antage)k(in)h(computations)f(that)h(process)g(v)n(alues)g (of)h(e)o(xtended)2049 2966 y(b)n(ut)e(small)h(precision)e(\(se)n(v)o (eral)g(hundred)f(or)i(thousand)e(bits\),)k(and)2049 3059 y(seems)g(ideal)f(for)g(computational)e(geometry)-5 b(.)52 b(The)29 b(method)e(w)o(as)2049 3152 y(lar)o(gely)g(de)n(v)o (eloped)e(by)j(Priest)g([12)o(,)g(13)o(],)i(who)e(designed)e(similar) 2049 3244 y(algorithms)19 b(that)h(run)f(on)h(a)h(wide)f(v)n(ariety)f (of)h(\257oating-point)d(archi-)2049 3337 y(tectures,)g(with)g(dif)n (ferent)d(radices)j(and)f(rounding)e(beha)n(vior)-5 b(.)26 b(I)17 b(ha)n(v)o(e)2049 3430 y(made)34 b(signi\256cant)h(speed)g (impro)o(v)o(ements)d(by)j(relaxing)f(Priest')-5 b(s)2049 3522 y(normalization)14 b(requirement)h(and)h(optimizing)f(for)h(radix) g(tw)o(o)g(with)2049 3615 y(e)o(xact)26 b(rounding.)44 b(This)26 b(specialization)f(is)i(justi\256ed)f(by)g(the)g(wide)2049 3708 y(acceptance)19 b(of)h(the)g(IEEE)g(754)f(\257oating-point)f (standard.)2132 3825 y(The)27 b(second)g(technique)f(is)j(to)f(e)o (xploit)f(features)g(of)g(the)h(predi-)2049 3918 y(cates)21 b(that)g(frequently)e(mak)o(e)h(it)i(possible)f(for)f(them)g(to)h (return)f(cor)n(-)2049 4010 y(rect)h(answers)h(without)e(completing)g (an)h(e)o(xact)g(computation.)30 b(The)2049 4103 y(orientation)g(and)h (incircle)g(tests)i(e)n(v)n(aluate)e(the)g(sign)h(of)f(a)h(matrix)2049 4196 y(determinant.)41 b(It)25 b(is)g(signi\256cant)f(that)h(only)f (the)h(sign,)g(and)f(not)h(the)2049 4288 y(magnitude,)i(of)f(the)h (determinant)f(is)h(needed.)49 b(F)o(ortune)25 b(and)i(V)-9 b(an)2049 4381 y(W)j(yk)21 b([5)o(])g(tak)o(e)f(adv)n(antage)f(of)h (this)i(f)o(act)e(by)h(using)f(a)h(\257oating-point)2049 4474 y(\256lter:)43 b(the)27 b(determinant)e(is)j(\256rst)g(e)n(v)n (aluated)d(approximately)-5 b(,)25 b(and)2049 4566 y(only)i(if)h(forw)o (ard)e(error)g(analysis)i(indicates)f(that)h(the)g(sign)f(of)h(the)2049 4659 y(approximate)c(result)i(cannot)f(be)h(trusted)g(does)g(one)g(use) g(an)g(e)o(xact)2049 4752 y(test.)i(I)15 b(carry)f(their)g(suggestion)f (to)i(its)h(logical)e(e)o(xtreme)f(by)h(comput-)2049 4844 y(ing)h(a)g(sequence)f(of)h(successi)n(v)o(ely)f(more)g(accurate)g (approximations)2049 4937 y(to)26 b(the)g(determinant,)f(stopping)f (only)h(when)g(the)h(accurac)o(y)e(of)i(the)2049 5030 y(sign)g(is)h(assured.)47 b(T)-7 b(o)26 b(reduce)f(computation)f(time,) k(each)e(approx-)2049 5122 y(imation)e(reuses)h(a)g(pre)n(vious,)f (less)i(accurate)e(computation)f(if)i(it)h(is)2049 5215 y(economical)20 b(to)h(do)g(so.)33 b(This)21 b(adapti)n(v)o(e)f (approach)f(is)j(described)e(in)2049 5308 y(Section)k(4,)i(and)e(its)i (application)d(to)h(the)h(orientation)e(and)h(incircle)p eop %%Page: 2 2 2 1 bop -150 83 a FG(tests)21 b(is)g(described)e(in)i(Section)f(5.)-150 224 y FD(2)99 b(Related)26 b(W)-7 b(ork)-67 350 y FG(There)49 b(are)h(se)n(v)o(eral)g(e)o(xact)g(arithmetic)f(schemes)h(designed)-150 443 y(speci\256cally)27 b(for)g(computational)d(geometry;)29 b(most)e(are)h(methods)-150 535 y(of)19 b(e)o(xactly)g(e)n(v)n (aluating)f(the)i(sign)f(of)h(a)g(determinant.)27 b(Clarkson)19 b([3)o(])-150 628 y(proposes)k(an)h(algorithm)f(for)h(using)g (\257oating-point)e(arithmetic)h(to)-150 721 y(e)n(v)n(aluate)f(the)h (sign)g(of)f(the)h(determinant)e(of)h(a)i(small)f(matrix)f(of)h(in-) -150 813 y(te)o(gers.)45 b(A)26 b(v)n(ariant)f(of)g(the)h(modi\256ed)e (Gram-Schmidt)g(procedure)-150 906 y(is)d(used)f(to)g(impro)o(v)o(e)d (the)j(conditioning)e(of)h(the)h(matrix,)f(so)i(that)f(the)-150 999 y(determinant)k(can)h(subsequently)f(be)i(e)n(v)n(aluated)e(safely) h(by)h(Gaus-)-150 1091 y(sian)16 b(elimination.)27 b(The)16 b(53)g(bits)g(of)g(signi\256cand)f(a)n(v)n(ailable)h(in)g(IEEE)-150 1184 y(double)f(precision)g(numbers)g(are)h(suf)n(\256cient)g(to)g (operate)f(on)h(10)10 b FC(\002)g FG(10)-150 1277 y(matrices)32 b(of)h(32-bit)e(inte)o(gers.)66 b(Clarkson')-5 b(s)32 b(algorithm)f(is)i(natu-)-150 1369 y(rally)25 b(adapti)n(v)o(e;)i(its)g (running)c(time)j(is)g(small)h(for)d(matrices)i(whose)-150 1462 y(determinants)19 b(are)h(not)g(near)f(zero)856 1432 y FA(1)888 1462 y FG(.)-67 1580 y(Recently)-5 b(,)30 b(A)-6 b(vnaim,)30 b(Boissonnat,)g(De)n(villers,)h(Preparata,)f(and) -150 1672 y(Yvinec)20 b([1)o(])h(proposed)d(an)j(algorithm)e(to)h(e)n (v)n(aluate)g(signs)h(of)f(deter)n(-)-150 1765 y(minants)k(of)f(2)e FC(\002)f FG(2)k(and)g(3)c FC(\002)g FG(3)k(matrices)g(of)g Fz(p)p FG(-bit)g(inte)o(gers)f(using)-150 1858 y(only)c Fz(p)h FG(and)g Fy(\()p Fz(p)d Fy(+)h FG(1)p Fy(\))p FG(-bit)h(arithmetic,)g(respecti)n(v)o(ely)-5 b(.)27 b(Surprisingly)-5 b(,)-150 1950 y(this)24 b(is)h(suf)n(\256cient)e(e)n (v)o(en)f(to)i(implement)e(the)i(insphere)e(test)i(\(which)-150 2043 y(is)32 b(normally)e(written)i(as)g(a)g(4)24 b FC(\002)h FG(4)31 b(or)g(5)25 b FC(\002)f FG(5)32 b(determinant\),)g(b)n(ut)-150 2135 y(with)d(a)g(handicap)f(in)h(bit)g(comple)o(xity;)i(53-bit)d (double)g(precision)-150 2228 y(arithmetic)21 b(is)h(suf)n(\256cient)f (to)h(correctly)e(perform)g(the)h(insphere)g(test)-150 2321 y(on)f(points)g(ha)n(ving)f(24-bit)g(inte)o(ger)g(coordinates.)-67 2438 y(F)o(ortune)26 b(and)g(V)-9 b(an)27 b(W)-6 b(yk)27 b([5)o(,)h(6)o(])g(propose)d(a)j(more)e(general)g(ap-)-150 2531 y(proach)f(\(not)i(speci\256c)g(to)g(determinants,)g(or)g(e)n(v)o (en)f(to)h(predicates\))-150 2624 y(that)38 b(represents)f(inte)o(gers) g(using)h(a)g(standard)f(e)o(xact)g(arithmetic)-150 2716 y(technique)20 b(with)i(digits)g(of)f(radix)g(2)898 2686 y FA(23)982 2716 y FG(stored)g(as)h(double)f(precision)-150 2809 y(\257oating-point)k(v)n(alues.)51 b(\(53-bit)27 b(double)f(precision)g(signi\256cands)-150 2902 y(mak)o(e)j(it)i (possible)e(to)h(add)f(se)n(v)o(eral)g(products)f(of)i(23-bit)e(inte)o (gers)-150 2994 y(before)16 b(it)i(becomes)f(necessary)f(to)i (normalize.\))26 b(Rather)18 b(than)f(use)g(a)-150 3087 y(general-purpose)i(arbitrary)i(precision)h(library)-5 b(,)21 b(the)o(y)h(ha)n(v)o(e)g(de)n(v)o(el-)-150 3180 y(oped)16 b(LN,)h(an)g(e)o(xpression)f(compiler)g(that)h(writes)h(code) e(to)i(e)n(v)n(aluate)-150 3272 y(a)32 b(speci\256c)f(e)o(xpression)f (e)o(xactly)-5 b(.)61 b(The)32 b(size)g(of)f(the)g(operands)f(is)-150 3365 y(arbitrary)-5 b(,)23 b(b)n(ut)i(is)g(\256x)o(ed)f(when)f(LN)i (generates)e(a)i(C++)g(implemen-)-150 3458 y(tation)32 b(of)g(the)g(e)o(xpression.)63 b(An)32 b(e)o(xpression)f(can)h(thus)g (be)g(used)-150 3550 y(to)27 b(generate)f(se)n(v)o(eral)h(functions,)g (each)f(for)h(ar)o(guments)e(of)i(dif)n(fer)n(-)-150 3643 y(ent)g(bit)g(lengths.)49 b(Because)27 b(the)g(e)o(xpression)f (and)g(the)h(bit)g(lengths)-150 3735 y(of)f(all)g(operands)f(are)g(kno) n(wn)g(in)h(adv)n(ance,)g(LN)g(can)g(tune)f(the)h(e)o(x-)-150 3828 y(act)18 b(arithmetic)f(aggressi)n(v)o(ely)-5 b(,)16 b(eliminating)h(loops,)h(function)e(calls,)-150 3921 y(and)k(memory)e(management.)28 b(The)20 b(running)e(time)j(of)f(the)g (function)-150 4013 y(thus)26 b(produced)e(depends)h(on)h(the)h(bit)f (comple)o(xity)f(of)h(the)g(inputs.)-150 4106 y(F)o(ortune)14 b(and)g(V)-9 b(an)14 b(W)-6 b(yk)14 b(rep)o(ort)f(an)h(o)o(rd)o(er)n (-o)o(f-m)o(agn)o(itud)o(e)g(spee)o(d)g(im)o(-)-150 4199 y(pro)o(v)o(ement)e(o)o(v)o(er)h(the)i(use)g(of)f(libraries)h(\(for)e (equal)h(bit)h(comple)o(xity\).)-150 4291 y(Furthermore,)k(the)j(e)o (xpression)e(compiler)g(garners)g(another)g(speed)-150 4384 y(impro)o(v)o(ement)c(by)i(installing)g(\257oating-point)f (\256lters)i(where)n(v)o(er)e(ap-)-150 4477 y(propriate,)h(calculating) h(static)i(error)e(bounds)g(automatically)-5 b(.)-67 4594 y(Karasick,)37 b(Lieber)m(,)f(and)d(Nackman)g([9)o(])i(report)d (their)i(e)o(xperi-)-150 4687 y(ences)22 b(optimizing)e(a)i(method)e (for)h(determinant)f(e)n(v)n(aluation)g(using)-150 4780 y(rational)27 b(inputs.)52 b(Their)28 b(approach)d(reduces)i(the)h(bit) h(comple)o(xity)p -150 4851 801 4 v -60 4906 a Fx(1)-30 4929 y FB(The)13 b(method)h(presented)h(in)e(Clarkson')l(s)i(paper)g (does)e(not)h(w)o(ork)g(correctly)h(if)f(the)-150 5003 y(determinant)25 b(is)c(e)o(xactly)j(zero,)g(b)o(ut)e(Clarkson)h (\(personal)g(communication\))i(notes)-150 5076 y(that)15 b(it)e(is)h(easily)h(\256x)o(ed.)23 b(\252By)14 b(k)o(eeping)h(track)g (of)e(the)h(scaling)i(done)e(by)f(the)h(algorithm,)-150 5149 y(an)19 b(upper)h(bound)g(can)f(be)h(maintained)h(for)e(the)h (magnitude)h(of)e(the)h(determinant)i(of)-150 5223 y(the)d(matrix.)29 b(When)18 b(that)h(upper)g(bound)g(drops)g(belo)n(w)g(one,)g(the)g (determinant)i(must)-150 5296 y(be)c(zero,)h(since)g(the)g(matrix)g (entries)g(are)g(inte)o(gers,)h(and)e(the)h(algorithm)h(can)f(stop.)-5 b(\272)2049 83 y FG(of)18 b(the)g(inputs)g(by)g(performing)d (arithmetic)j(on)g(interv)n(als)f(\(with)i(lo)n(w)2049 176 y(precision)h(bounds\))f(rather)h(than)h(e)o(xact)f(v)n(alues.)32 b(The)20 b(determinant)2049 268 y(thus)35 b(e)n(v)n(aluated)f(is)i (also)f(an)g(interv)n(al;)42 b(if)35 b(it)h(contains)f(zero,)j(the)2049 361 y(precision)22 b(is)i(increased)e(and)h(the)g(determinant)f(ree)n (v)n(aluated.)36 b(The)2049 454 y(procedure)17 b(is)k(repeated)d(until) h(the)h(interv)n(al)f(does)g(not)h(contain)e(zero)2049 546 y(\(or)23 b(contains)h(only)f(zero\),)h(and)f(the)h(sign)g(of)g (the)g(result)g(is)h(certain.)2049 639 y(Their)d(approach)e(is)k(thus)e (adapti)n(v)o(e,)f(although)g(it)i(does)g(not)f(appear)2049 732 y(to)e(use)h(the)f(results)h(of)e(one)h(iteration)g(to)g(speed)g (the)g(ne)o(xt.)2132 842 y(Because)32 b(the)h(Clarkson)e(and)h(A)-6 b(vnaim)31 b(et)h(al.)h(algorithms)e(are)2049 935 y(ef)n(fecti)n(v)o (ely)25 b(restricted)h(to)g(lo)n(w)h(precision)e(inte)o(ger)g (coordinates,)h(I)2049 1028 y(do)14 b(not)f(compare)g(their)g (performance)e(with)k(that)f(of)f(my)h(algorithms,)2049 1120 y(though)22 b(theirs)j(may)e(be)h(f)o(aster)-5 b(.)42 b(Floating-point)22 b(inputs)h(are)h(more)2049 1213 y(dif)n(\256cult)h (to)h(w)o(ork)f(with)g(than)g(inte)o(ger)g(inputs,)h(partly)f(because)g (of)2049 1305 y(the)32 b(potential)e(for)h(the)h(bit)f(comple)o(xity)f (of)h(intermediate)f(v)n(alues)2049 1398 y(to)e(gro)n(w)g(more)f (quickly)-5 b(.)51 b(\(The)28 b(Karasick)g(et)g(al.)h(algorithm)d(also) 2049 1491 y(suf)n(fers)16 b(this)h(dif)n(\256culty)-5 b(,)16 b(and)g(is)i(probably)d(not)h(competiti)n(v)o(e)f(against)2049 1583 y(the)25 b(other)f(techniques)g(discussed)h(here,)h(although)d(it) j(may)e(be)i(the)2049 1676 y(best)h(e)o(xisting)g(alternati)n(v)o(e)e (for)i(algorithms)f(that)h(require)e(rational)2049 1769 y(numbers,)f(such)g(as)h(those)f(computing)e(e)o(xact)i(line)h (intersections.\))2049 1861 y(When)i(it)i(is)f(necessary)f(for)g(an)g (algorithm)f(to)i(use)g(\257oating-point)2049 1954 y(coordinates,)14 b(the)h(aforementioned)c(methods)j(are)g(not)h(currently)e(an)2049 2047 y(option)k(\(although)f(it)j(might)f(be)g(possible)g(to)g(adapt)g (them)g(using)g(the)2049 2139 y(techniques)13 b(of)g(Section)g(3\).)23 b(I)13 b(am)g(not)g(a)o(w)o(are)g(of)g(an)o(y)g(prior)f(literatu)o(re) 2049 2232 y(on)18 b(e)o(xact)g(determinant)f(e)n(v)n(aluation)g(that)i (considers)f(\257oating-point)2049 2325 y(operands.)2049 2459 y FD(3)99 b(Arbitrary)26 b(Pr)n(ecision)f(Floating-P)n(oint)2049 2578 y Fw(3.1)82 b(Backgr)o(ound)2132 2697 y FG(Most)31 b(modern)e(processors)g(support)h(\257oating-point)e(numbers)2049 2802 y(of)h(the)h(form)f FC(\006)p FG(signi\256cand)21 b FC(\002)j FG(2)3055 2772 y(e)o(xponent)3361 2802 y(.)59 b(The)29 b(signi\256cand)g(is)2049 2895 y(represented)e(by)i(a)h Fz(p)p FG(-bit)e(binary)g(number)g(of)g(the)i(form)e Fz(b:bbb)14 b(:)g(:)g(:)2049 2988 y FG(\(where)26 b(each)h Fz(b)h FG(denotes)e(a)i(single)f(bit\),)i(plus)e(one)f(additional)g (bit)2049 3080 y(for)c(the)h(sign.)36 b(This)23 b(paper)f(does)g(not)g (address)h(issues)g(of)f(o)o(v)o(er\257o)n(w)2049 3173 y(and)c(under\257o)n(w)-5 b(,)16 b(so)i(I)h(allo)n(w)f(the)g(e)o (xponent)e(to)j(be)f(an)g(inte)o(ger)f(in)i(the)2049 3266 y(range)d Fy([)p FC(\0001)p Fz(;)e FC(1)p Fy(])p FG(.)28 b(\(F)o(ortunately)-5 b(,)15 b(man)o(y)g(applications)h(ha)n(v) o(e)g(inputs)2049 3358 y(that)22 b(f)o(all)h(within)f(a)g (circumscribed)e(e)o(xponent)g(range)h(and)h(will)h(not)2049 3451 y(o)o(v)o(er\257o)n(w)34 b(or)i(under\257o)n(w)-5 b(.\))73 b(See)36 b(the)g(surv)o(e)o(y)e(by)i(Goldber)o(g)d([7)o(])2049 3544 y(for)25 b(a)h(detailed)f(e)o(xplanation)e(of)j(\257oating-point)d (storage)i(formats,)2049 3636 y(particularly)18 b(the)j(IEEE)e(754)h (standard.)2132 3747 y(Most)48 b(arbitrary)e(precision)g(libraries)h (store)h(numbers)e(in)h(a)2049 3840 y Fv(multiple-digit)15 b FG(format,)h(consisting)f(of)h(a)h(sequence)e(of)h(digits)g(\(usu-) 2049 3932 y(ally)22 b(of)g(lar)o(ge)f(radix,)h(lik)o(e)g(2)2878 3902 y FA(32)2940 3932 y FG(\))g(coupled)e(with)j(a)f(single)g(e)o (xponent.)2049 4025 y(A)h(freely)f(a)n(v)n(ailable)g(e)o(xample)f(of)h (the)h(multiple-digit)d(approach)h(is)2049 4118 y(Baile)o(y')-5 b(s)15 b(MPFUN)h(package)d([2)o(],)j(a)g(sophisticated)e(portable)f (multi-)2049 4210 y(precision)k(library)h(that)g(uses)h(digits)g(of)f (machine-dependent)c(radix)2049 4303 y(\(usually)19 b(2)2379 4273 y FA(24)2441 4303 y FG(\))h(stored)g(as)h(single)f(precision)f (\257oating-point)e(v)n(alues.)2049 4395 y(An)27 b(alternati)n(v)o(e)f (is)i(the)f Fv(multiple-term)f FG(format,)h(wherein)f(a)i(num-)2049 4488 y(ber)e(is)i(e)o(xpressed)d(as)i(a)g(sum)f(of)h(ordinary)d (\257oating-point)g(w)o(ords,)2049 4581 y(each)k(with)g(its)h(o)n(wn)e (signi\256cand)g(and)h(e)o(xponent)d([12)o(].)53 b(This)28 b(ap-)2049 4673 y(proach)d(has)j(the)e(adv)n(antage)f(that)i(the)g (result)g(of)g(an)g(addition)e(lik)o(e)2049 4766 y(2)2091 4736 y FA(300)2199 4766 y Fy(+)16 b FG(2)2322 4736 y Fu(\000)p FA(300)2485 4766 y FG(\(which)i(may)h(well)h(arise)g(in)g(a)g (determinant)d(compu-)2049 4859 y(tation)28 b(with)h(machine)e (precision)g(\257oating-point)f(inputs\))h(can)i(be)2049 4951 y(stored)d(in)g(tw)o(o)h(w)o(ords)f(of)g(memory)-5 b(,)25 b(whereas)h(the)g(multiple-digit)2049 5044 y(approach)16 b(will)j(use)f(at)g(least)h(601)e(bits)i(to)f(store)g(the)g(sum,)g(and) f(incur)2049 5137 y(a)27 b(corresponding)d(speed)j(penalty)f(when)g (performing)e(arithmetic)2049 5229 y(with)c(it.)2132 5340 y(F)o(or)d(the)g(algorithms)f(herein,)h(each)g(arbitrary)f (precision)g(v)n(alue)h(is)p eop %%Page: 3 3 3 2 bop -150 83 a FG(e)o(xpressed)20 b(as)j(an)f Fv(e)n(xpansion)728 53 y FA(2)781 83 y Fz(x)k Fy(=)f Fz(x)991 95 y Ft(n)1056 83 y Fy(+)19 b FC(\001)14 b(\001)g(\001)19 b Fy(+)g Fz(x)1387 95 y FA(2)1440 83 y Fy(+)g Fz(x)1571 95 y FA(1)1605 83 y FG(,)j(where)-150 176 y(each)k Fz(x)76 188 y Ft(i)131 176 y FG(is)i(called)e(a)h Fv(component)d FG(of)j Fz(x)g FG(and)f(is)h(represented)e(by)h(a)-150 268 y(\257oating-point)14 b(v)n(alue)h(with)h(a)g Fz(p)p FG(-bit)g(signi\256cand.)26 b(T)-7 b(o)16 b(impose)g(some)-150 361 y(structure)k(on)g(e)o (xpansions,)f(the)o(y)h(are)h(required)e(to)i(be)g Fv(nono)o(verlap-) -150 454 y(ping)14 b FG(and)g(ordered)g(by)f(mag)o(nitu)o(de)h(\()o Fz(x)954 466 y Ft(n)1008 454 y FG(lar)o(gest,)g Fz(x)1311 466 y FA(1)1358 454 y FG(smallest\).)27 b(T)-7 b(w)o(o)-150 546 y(\257oating-point)20 b(v)n(alues)h Fz(x)i FG(and)f Fz(y)j FG(are)d(nono)o(v)o(erlapping)17 b(if)23 b(the)f(least)-150 639 y(signi\256cant)e(nonzero)d(bit)k(of)e Fz(x)i FG(is)g(more)e (signi\256cant)h(than)g(the)g(most)-150 732 y(signi\256cant)25 b(nonzero)f(bit)i(of)g Fz(y)s FG(,)h(or)f(vice-v)o(ersa;)h(for)e (instance,)i(the)-150 824 y(binary)22 b(v)n(alues)h(1100)f(and)h FC(\000)p FG(10)p Fz(:)p FG(1)f(are)h(nono)o(v)o(erlapping,)c(whereas) -150 917 y(101)h(and)g(10)h(o)o(v)o(erlap)491 887 y FA(3)521 917 y FG(.)32 b(The)20 b(number)f(zero)h(does)h(not)g(o)o(v)o(erlap)d (an)o(y)-150 1010 y(number)-5 b(.)52 b(An)28 b(e)o(xpansion)e(is)j (nono)o(v)o(erlapping)23 b(if)29 b(all)f(its)h(compo-)-150 1102 y(nents)19 b(are)h(mutually)e(nono)o(v)o(erlapping.)24 b(Note)c(that)f(a)h(number)e(may)-150 1195 y(be)d(represented)e(by)h (man)o(y)g(possible)g(nono)o(v)o(erlapping)c(e)o(xpansions;)-150 1287 y(consider)19 b(1100)d Fy(+)i FC(\000)p FG(10)p Fz(:)p FG(1)j Fy(=)i FG(1001)16 b Fy(+)h FG(0)p Fz(:)p FG(1)23 b Fy(=)f FG(1000)16 b Fy(+)i FG(1)g Fy(+)f FG(0)p Fz(:)p FG(1.)29 b(A)-150 1380 y(nono)o(v)o(erlapping)22 b(e)o(xpansion)i(is)j(desirable)f(because)g(it)h(is)g(easy)f(to)-150 1473 y(determine)h(its)i(sign)g(\(tak)o(e)f(the)g(sign)g(of)g(the)h (lar)o(gest)e(component\))-150 1565 y(or)i(to)h(produce)e(a)i(crude)f (approximation)d(of)j(its)i(v)n(alue)e(\(tak)o(e)h(the)-150 1658 y(lar)o(gest)20 b(component\).)-67 1776 y(Multiple-term)e (algorithms)g(can)h(be)h(f)o(aster)f(than)g(multiple-digit)-150 1868 y(algorithms)30 b(because)g(the)h(latter)g(require)e(e)o(xpensi)n (v)o(e)g(normaliza-)-150 1961 y(tion)19 b(of)f(results)h(to)g(\256x)o (ed)f(digit)h(positions,)f(whereas)g(multiple-term)-150 2054 y(algorithms)k(can)h(allo)n(w)h(the)f(boundaries)e(between)i (terms)g(to)h(w)o(an-)-150 2146 y(der)g(freely)-5 b(.)39 b(Boundaries)22 b(are)i(still)h(enforced,)e(b)n(ut)h(can)g(f)o(all)g (at)g(an)o(y)-150 2239 y(bit)h(position.)42 b(In)24 b(addition,)h(it)g (usually)f(tak)o(es)h(time)g(to)g(con)m(v)o(ert)e(an)-150 2332 y(ordinary)31 b(\257oating-point)f(number)h(to)i(the)g(internal)f (format)g(of)g(a)-150 2424 y(multiple-digit)24 b(library)-5 b(,)26 b(whereas)g(that)g(number)e Fv(is)k FG(an)e(e)o(xpansion)-150 2517 y(of)j(length)g(one.)56 b(Con)m(v)o(ersion)27 b(o)o(v)o(erhead)g (can)i(be)g(signi\256cant)g(for)-150 2610 y(small)21 b(e)o(xtended)d(precision)h(calculations.)-67 2727 y(The)25 b(central)f(conceptual)g(dif)n(ference)f(between)h(standard)g(mul-)-150 2820 y(tiple-digit)d(algorithms)h(and)f(the)i(algorithms)e(described)g (herein)h(is)-150 2912 y(that)k(the)g(former)e(perform)g(e)o(xact)h (arithmetic)g(by)g(k)o(eeping)g(the)g(bit)-150 3005 y(comple)o(xity)13 b(of)h(operands)f(small)i(enough)e(to)i(a)n(v)n(oid)g(roundof)n(f)c (error)m(,)-150 3098 y(whereas)24 b(the)g(latter)g(allo)n(w)g(roundof)n (f)d(to)j(occur)m(,)f(then)g(account)g(for)-150 3190 y(it)18 b(after)f(the)g(f)o(act.)29 b(T)-7 b(o)17 b(measure)f(roundof)n (f)f(quickly)h(and)g(correctly)-5 b(,)16 b(a)-150 3283 y(certain)j(standard)g(of)g(accurac)o(y)f(is)j(required)d(from)h(the)g (processor')-5 b(s)-150 3376 y(\257oating-point)30 b(units.)64 b(The)32 b(algorithms)e(presented)h(herein)g(rely)-150 3468 y(on)f(the)g(assumption)f(that)h(addition,)i(subtraction,)f(and)e (multipli-)-150 3561 y(cation)c(are)g(performed)d(with)j Fv(e)n(xact)g(r)l(ounding)p FG(.)42 b(This)26 b(means)e(that)-150 3654 y(if)j(the)h(e)o(xact)e(result)i(can)f(be)g(stored)g(in)g(a)h Fz(p)p FG(-bit)e(signi\256cand,)i(then)-150 3746 y(the)e(e)o(xact)g (result)g(is)h(produced;)g(if)f(it)h(cannot,)f(then)g(it)h(is)g (rounded)-150 3839 y(to)22 b(the)g(nearest)g Fz(p)p FG(-bit)f (\257oating-point)f(v)n(alue)h(\(with)h(ties)g(brok)o(en)f(ar)n(-)-150 3932 y(bitrarily\).)65 b(F)o(or)33 b(instance,)i(in)e(four)n(-bit)e (arithmetic)h(the)g(product)-150 4024 y(111)21 b FC(\002)h FG(101)32 b Fy(=)g FG(100011)25 b(is)j(rounded)d(to)j(1)p Fz(:)p FG(001)20 b FC(\002)i FG(2)1432 3994 y FA(5)1465 4024 y FG(.)51 b(Through-)-150 4117 y(out)36 b(this)g(paper)m(,)j(the)d (symbols)f FC(\010)p FG(,)40 b FC(\011)p FG(,)g(and)c FC(\012)g FG(represent)f Fz(p)p FG(-bit)-150 4210 y(\257oating-point)23 b(addition,)i(subtraction,)g(and)g(multiplication)f(with)-150 4302 y(e)o(xact)e(rounding.)33 b(A)23 b(number)d(is)k(said)e(to)h(be)f Fv(e)n(xpr)m(essible)h(in)f Fz(p)h Fv(bits)-150 4395 y FG(if)j(it)g(can)f(be)g(e)o(xpressed)f(with)i(a)g Fz(p)p FG(-bit)f(signi\256cand,)g Fv(not)g FG(counting)-150 4487 y(the)20 b(sign)g(bit)h(or)f(the)g(e)o(xponent.)-67 4605 y(Algorithms)j(for)g(addition)g(and)h(multiplication)e(of)i(e)o (xpansions)-150 4698 y(follo)n(w)-5 b(.)28 b(The)20 b(\(rather)e (lengthy\))g(proofs)h(of)h(all)g(theorems)f(are)h(omit-)-150 4790 y(ted,)30 b(b)n(ut)f(are)f(a)n(v)n(ailable)g(in)h(a)g(full-length) d(v)o(ersion)h(of)h(this)h(paper)-5 b(.)p -150 4862 801 4 v -60 4917 a Fx(2)-30 4940 y FB(Note)29 b(that)g(this)g(de\256nition) i(of)d Fs(e)o(xpansion)i FB(is)e(slightly)i(dif)n(ferent)h(from)d(that) -150 5013 y(used)22 b(by)f(Priest)h([12];)i(whereas)e(Priest)g (requires)h(that)f(the)g(e)o(xponents)h(of)e(an)o(y)h(tw)o(o)-150 5087 y(components)14 b(of)f(an)g(e)o(xpansion)i(dif)n(fer)f(by)f(at)h (least)g Fr(p)p FB(,)e(no)h(such)g(requirement)i(is)e(made)-150 5160 y(here.)-60 5216 y Fx(3)-30 5239 y FB(F)o(ormally)l(,)26 b Fr(x)e FB(and)g Fr(y)j FB(are)e(nono)o(v)o(erlapping)i(if)e(there)g (e)o(xist)h(inte)o(gers)g Fr(r)g FB(and)e Fr(s)-150 5312 y FB(such)17 b(that)i Fr(x)g Fq(=)g Fr(r)r FB(2)305 5289 y Fp(s)355 5312 y FB(and)f Fo(j)p Fr(y)r Fo(j)h Fr(<)g FB(2)671 5289 y Fp(s)705 5312 y FB(,)d(or)h Fr(y)22 b Fq(=)d Fr(r)r FB(2)1008 5289 y Fp(s)1058 5312 y FB(and)f Fo(j)p Fr(x)p Fo(j)g Fr(<)i FB(2)1377 5289 y Fp(s)1410 5312 y FB(.)2049 83 y FG(Theorems)f(3)h(and)g(6)g(are)g(the)g(k)o(e)o (y)g(ne)n(w)g(results.)2049 209 y Fw(3.2)82 b(Addition)2132 335 y FG(An)19 b(important)f(basic)h(operation)e(in)i(all)h(the)f (algorithms)f(for)g(per)n(-)2049 427 y(forming)30 b(arithmetic)h(with)h (e)o(xpansions)e(is)j(the)f(addition)f(of)g(tw)o(o)2049 520 y Fz(p)p FG(-bit)26 b(v)n(alues)f(to)h(form)f(a)i(nono)o(v)o (erlapping)21 b(e)o(xpansion)j(\(of)h(length)2049 613 y(tw)o(o\).)k(T)-7 b(w)o(o)21 b(such)e(algorithms)g(follo)n(w)-5 b(.)2049 730 y Fw(Theor)o(em)20 b(1)g(\(Dekk)o(er)h([4)o(]\))41 b Fv(Let)20 b Fz(a)h Fv(and)e Fz(b)h Fv(be)f Fz(p)p Fv(-bit)h (\257oating-point)2049 823 y(number)o(s)26 b(suc)o(h)f(that)h FC(j)p Fz(a)p FC(j)31 b(\025)g(j)p Fz(b)p FC(j)p Fv(.)47 b(Then)26 b(the)g(following)f(algorithm)2049 916 y(will)32 b(pr)l(oduce)e(a)h(nono)o(verlapping)d(e)n(xpansion)i Fz(x)25 b Fy(+)f Fz(y)34 b Fv(suc)o(h)d(that)2049 1008 y Fz(a)19 b Fy(+)g Fz(b)25 b Fy(=)g Fz(x)20 b Fy(+)f Fz(y)s Fv(,)j(wher)m(e)g Fz(x)h Fv(is)f(an)g(appr)l(oximation)d(to)j Fz(a)e Fy(+)e Fz(b)k Fv(and)f Fz(y)2049 1101 y Fv(r)m(epr)m(esents)f (the)h(r)l(oundof)o(f)d(err)l(or)k(in)e(the)g(calculation)e(of)j Fz(x)p Fv(.)204 b Fn(\004)2650 1191 y FG(F)-5 b FB(AST)f FG(-T)p FB(W)o(O)p FG(-S)p FB(UM)p Fy(\()p Fz(a;)14 b(b)p Fy(\))2650 1284 y FG(1)178 b Fz(x)24 b FC(\()f Fz(a)18 b FC(\010)g Fz(b)2650 1376 y FG(2)178 b Fz(b)2906 1404 y FG(virtual)3150 1376 y FC(\()23 b Fz(x)c FC(\011)f Fz(a)2650 1470 y FG(3)178 b Fz(y)26 b FC(\()d Fz(b)18 b FC(\011)g Fz(b)3216 1497 y FG(virtual)2650 1563 y(4)178 b Fw(r)o(etur)o(n)20 b Fy(\()p Fz(x;)14 b(y)s Fy(\))2132 1680 y FG(Note)36 b(that)g(the)f(outputs)g Fz(x)i FG(and)e Fz(y)k FG(do)d Fv(not)f FG(necessarily)g(ha)n(v)o(e)2049 1772 y(the)23 b(same)h(sign.)39 b(T)-7 b(w)o(o-term)22 b(subtraction)g(\(\252F)-5 b FB(AST)f FG(-T)p FB(W)o(O)p FG(-D)p FB(IFF)p FG(\272\))22 b(is)2049 1865 y(implemented)c(by)i(the)g (sequence)f Fz(x)24 b FC(\()f Fz(a)18 b FC(\011)g Fz(b)p FG(;)c Fz(b)3485 1892 y FG(virtual)3728 1865 y FC(\()23 b Fz(a)c FC(\011)e Fz(x)p FG(;)2049 1958 y Fz(y)26 b FC(\()d Fz(b)2258 1985 y FG(virtual)2497 1958 y FC(\011)18 b Fz(b)p FG(.)2132 2075 y(The)29 b(dif)n(\256culty)f(with)i(using)f(F) -5 b FB(AST)f FG(-T)p FB(W)o(O)p FG(-S)p FB(UM)29 b FG(is)h(the)f (require-)2049 2168 y(ment)35 b(that)g FC(j)p Fz(a)p FC(j)44 b(\025)f(j)p Fz(b)p FC(j)p FG(.)75 b(If)35 b(the)g(relati)n(v)o (e)f(sizes)i(of)f Fz(a)h FG(and)e Fz(b)i FG(are)2049 2260 y(unkno)n(wn,)19 b(a)j(comparison)d(is)j(required)e(to)h(order)g (the)g(addends)f(be-)2049 2353 y(fore)13 b(in)m(v)n(oking)f(F)-5 b FB(AST)f FG(-T)p FB(W)o(O)p FG(-S)p FB(UM)p FG(.)26 b(In)14 b(practice,)g(it)g(is)h(f)o(aster)f(on)g(most)2049 2446 y(processors)19 b(to)i(use)f(the)g(follo)n(wing)f(algorithm.)2049 2563 y Fw(Theor)o(em)h(2)g(\(Knuth)g([10)o(]\))41 b Fv(Let)19 b Fz(a)f Fv(and)g Fz(b)g Fv(be)g Fz(p)p Fv(-bit)g(\257oating-point)2049 2656 y(number)o(s,)29 b(wher)m(e)g Fz(p)k FC(\025)g FG(3)p Fv(.)53 b(Then)27 b(the)h(following)f(algorithm)g(will)2049 2749 y(pr)l(oduce)16 b(a)g(nono)o(verlapping)e(e)n(xpansion)h Fz(x)c Fy(+)g Fz(y)19 b Fv(suc)o(h)d(that)h Fz(a)11 b Fy(+)g Fz(b)21 b Fy(=)2049 2841 y Fz(x)e Fy(+)f Fz(y)s Fv(.)1722 b Fn(\004)2470 2931 y FG(T)p FB(W)o(O)p FG(-S)p FB(UM)p Fy(\()p Fz(a;)14 b(b)p Fy(\))2470 3023 y FG(1)178 b Fz(x)24 b FC(\()f Fz(a)18 b FC(\010)g Fz(b)2470 3116 y FG(2)178 b Fz(b)2726 3143 y FG(virtual)2970 3116 y FC(\()23 b Fz(x)c FC(\011)f Fz(a)2470 3209 y FG(3)178 b Fz(a)2734 3236 y FG(virtual)2978 3209 y FC(\()23 b Fz(x)c FC(\011)f Fz(b)3269 3236 y FG(virtual)2470 3302 y(4)178 b Fz(b)2726 3329 y FG(roundof)n(f)3041 3302 y FC(\()23 b Fz(b)18 b FC(\011)g Fz(b)3320 3329 y FG(virtual)2470 3395 y(5)178 b Fz(a)2734 3423 y FG(roundof)n(f)3050 3395 y FC(\()23 b Fz(a)18 b FC(\011)g Fz(a)3345 3423 y FG(virtual)2470 3489 y(6)178 b Fz(y)26 b FC(\()d Fz(a)2907 3516 y FG(roundof)n(f)3218 3489 y FC(\010)18 b Fz(b)3337 3516 y FG(roundof)n(f)2470 3581 y(7)178 b Fw(r)o(etur)o(n)20 b Fy(\()p Fz(x;)14 b(y)s Fy(\))2132 3698 y FG(T)-7 b(w)o(o-term)34 b(subtraction)g (\(\252T)p FB(W)o(O)p FG(-D)p FB(IFF)p FG(\272\))g(is)j(implemented)c (by)2049 3791 y(the)h(sequence)f Fz(x)42 b FC(\()g Fz(a)26 b FC(\011)g Fz(b)p FG(;)14 b Fz(b)3008 3818 y FG(virtual)3270 3791 y FC(\()42 b Fz(a)26 b FC(\011)f Fz(x)p FG(;)35 b Fz(a)3704 3818 y FG(virtual)3967 3791 y FC(\()2049 3884 y Fz(x)23 b FC(\010)f Fz(b)2242 3911 y FG(virtual)2463 3884 y(;)14 b Fz(b)2536 3911 y FG(roundof)n(f)2862 3884 y FC(\()33 b Fz(b)3014 3911 y FG(virtual)3258 3884 y FC(\011)22 b Fz(b)p FG(;)28 b Fz(a)3476 3911 y FG(roundof)n(f)3802 3884 y FC(\()34 b Fz(a)22 b FC(\011)2049 3976 y Fz(a)2093 4003 y FG(virtual)2314 3976 y(;)14 b Fz(y)25 b FC(\()f Fz(a)2568 4003 y FG(roundof)n(f)2878 3976 y FC(\010)18 b Fz(b)2997 4003 y FG(roundof)n(f)3290 3976 y(.)2132 4094 y(Ha)n(ving)13 b(established)g(ho)n(w)g(to)g(add)g(tw)o(o)f Fz(p)p FG(-b)o(it)h(v)n(a)o(lues,)8 b(I)13 b(turn)g(to)g(the)2049 4186 y(topic)20 b(of)h(ho)n(w)f(to)g(add)g(tw)o(o)h(arbitrary)e (precision)h(v)n(alues)g(e)o(xpressed)2049 4279 y(as)25 b(e)o(xpansions.)40 b(The)25 b(algorithm)e(L)p FB(INEAR)p FG(-E)p FB(XP)-6 b(ANSION)p FG(-S)p FB(UM)23 b FG(be-)2049 4372 y(lo)n(w)d(sums)h(tw)o(o)f(e)o(xpansions)f(in)h(linear)g(time.) 2132 4489 y(A)e(complicating)d(characteristic)i(of)g(the)g(algorithm)e (is)k(that)e(there)2049 4582 y(may)27 b(be)g(spurious)f(zero)g (components)f(scattered)i(throughout)d(the)2049 4675 y(output)35 b(e)o(xpansion,)j(e)n(v)o(en)d(if)h(no)g(zeros)g(are)g (present)f(in)i(the)f(in-)2049 4767 y(put)d(e)o(xpansions.)68 b(F)o(or)33 b(instance,)k(gi)n(v)o(en)32 b(the)h(input)g(e)o(xpansions) 2049 4860 y(1111)24 b Fy(+)h FG(0)p Fz(:)p FG(1001)31 b(and)i(1100)23 b Fy(+)j FG(0)p Fz(:)p FG(1,)35 b(in)f(four)n(-bit)d (arithmetic)i(the)2049 4952 y(output)25 b(e)o(xpansion)f(is)j(11100)19 b Fy(+)i FG(0)g Fy(+)g FG(0)g Fy(+)h FG(0)p Fz(:)p FG(0001.)44 b(Interspersed)2049 5045 y(zeros)26 b(in)h(input)e(e)o(xpansions)g(do)h (no)g(harm)f(e)o(xcept)g(to)i(slo)n(w)g(do)n(wn)2049 5138 y(arithmetic,)36 b(b)n(ut)e(this)g(slo)n(wdo)n(wn)f(escalates)h (quickly)f(as)h(e)o(xpan-)2049 5230 y(sions)21 b(gro)n(w)-5 b(.)29 b(It)21 b(is)g(important)f(for)f(L)p FB(INEAR)p FG(-E)p FB(XP)-6 b(ANSION)p FG(-S)p FB(UM)20 b FG(and)2049 5323 y(S)p FB(CALE)p FG(-E)p FB(XP)-6 b(ANSION)19 b FG(to)i(perform)d Fv(zer)l(o)j(elimination)p FG(,)e(outputting)f(a)p eop %%Page: 4 4 4 3 bop -3 196 213 7 v -3 395 7 200 v 47 282 a FA(T)p Fm(WO)50 347 y FA(S)p Fm(UM)p 203 395 V -3 402 213 7 v 495 196 V 495 395 7 200 v 545 282 a FA(T)p Fm(WO)548 347 y FA(S)p Fm(UM)p 701 395 V 495 402 213 7 v 993 196 V 993 395 7 200 v 1043 282 a FA(T)p Fm(WO)1046 347 y FA(S)p Fm(UM)p 1199 395 V 993 402 213 7 v 1491 196 V 1491 395 7 200 v 1539 250 a FA(F)m Fm(AST)1541 315 y FA(T)p Fm(WO)1544 379 y FA(S)p Fm(UM)p 1697 395 V 1491 402 213 7 v 246 495 V 246 694 7 200 v 294 549 a FA(F)m Fm(AST)296 614 y FA(T)p Fm(WO)299 678 y FA(S)p Fm(UM)p 452 694 V 246 701 213 7 v 744 495 V 744 694 7 200 v 792 549 a FA(F)m Fm(AST)794 614 y FA(T)p Fm(WO)797 678 y FA(S)p Fm(UM)p 950 694 V 744 701 213 7 v 1242 495 V 1242 694 7 200 v 1290 549 a FA(F)m Fm(AST)1292 614 y FA(T)p Fm(WO)1295 678 y FA(S)p Fm(UM)p 1448 694 V 1242 701 213 7 v 1794 299 7 250 v 1697 302 100 7 v 1697 299 a Fl(\033)p 1594 199 7 150 v 1598 199 a(?)p 1345 498 7 449 v 1349 498 a(?)p 847 498 V -582 w(?)p 349 498 V -581 w(?)1768 7 y Ft(g)1800 15 y Fk(1)1569 7 y Ft(g)1601 15 y Fk(2)1320 7 y Ft(g)1352 15 y Fk(3)822 7 y Ft(g)854 15 y Fk(4)324 7 y Ft(g)356 16 y Fk(5)p 1199 302 299 7 v 1199 299 a Fl(\033)p 701 302 V -581 w(\033)p 203 302 V -581 w(\033)p -96 302 100 7 v 1410 263 a Ft(Q)1462 271 y Fk(2)912 263 y Ft(Q)964 271 y Fk(3)413 263 y Ft(Q)465 271 y Fk(4)-85 263 y Ft(Q)-33 272 y Fk(5)p -99 797 7 499 v -96 797 a Fl(?)p 50 797 7 399 v 66 w(?)p 349 797 7 100 v 216 w(?)p 847 797 V 415 w(?)p 1345 797 V 416 w(?)-128 862 y Ft(h)-89 871 y Fk(5)22 863 y Ft(h)61 871 y Fk(4)320 863 y Ft(h)359 871 y Fk(3)819 863 y Ft(h)858 871 y Fk(2)1317 863 y Ft(h)1356 871 y Fk(1)p 1594 598 7 200 v 1448 601 150 7 v 1448 598 a Fl(\033)p 1046 598 7 200 v 950 601 100 7 v -581 w(\033)p 548 598 7 200 v 452 601 100 7 v -581 w(\033)1470 654 y Ft(q)1500 662 y Fk(2)972 654 y Ft(q)1002 662 y Fk(3)474 654 y Ft(q)504 662 y Fk(4)-24 654 y Ft(q)6 663 y Fk(5)p 1149 601 V 1146 598 7 200 v 1149 482 a Fl(6)p 651 601 100 7 v 648 598 7 200 v -581 w(6)p 153 601 100 7 v 150 598 7 200 v -581 w(6)1162 663 y Ft(R)1212 671 y Fk(3)664 663 y Ft(R)714 671 y Fk(4)165 663 y Ft(R)215 672 y Fk(5)-150 1003 y FG(Figure)25 b(1:)40 b Fj(Oper)o(ation)23 b(of)g FB(L)p Fi(INEAR)p FB(-E)p Fi(XP)-5 b(ANSION)p FB(-S)p Fi(UM)p Fj(.)41 b(The)22 b(e)n(xpansions)h Fr(g)-150 1077 y Fj(and)13 b Fr(h)g Fj(are)h(illustr)o(ated)g(with)g(their)f (most)i(signi\256cant)e(components)i(on)e(the)h(left.)-150 1150 y Fr(Q)-94 1160 y Fp(i)-52 1150 y Fq(+)j Fr(q)52 1160 y Fp(i)97 1150 y Fj(maintains)j(an)f(appro)n(ximate)i(r)q(unning)e (total.)30 b(The)19 b FB(F)l Fi(AST)-5 b FB(-T)p Fi(W)o(O)p FB(-S)p Fi(UM)-150 1223 y Fj(oper)o(ations)21 b(in)f(the)g(bottom)i(ro) o(w)e(e)n(xist)h(to)f(clip)g(a)g(high-order)g(bit)h(off)g(each)f Fr(q)1825 1233 y Fp(i)-150 1297 y Fj(ter)r(m,)f(if)g(necessar)r(y)-7 b(,)20 b(bef)n(ore)f(outputting)g(it.)-150 1560 y FG(component)c(\(and) i(incrementing)e(an)i(array)g(inde)o(x\))f(only)g(if)i(it)g(is)h(not) -150 1653 y(zero.)51 b(F)o(or)28 b(simplicity)-5 b(,)28 b(v)o(ersions)f(without)g(zero)g(elimination)g(are)-150 1746 y(presented)19 b(here,)g(b)n(ut)h(my)g(implementations)f (eliminate)g(zeros.)-67 1863 y(Priest)36 b([12)o(])g(presents)f(a)h (similar)g(algorithm)e(\(for)h(processors)-150 1956 y(with)30 b(arbitrary)e(\257oating-point)f(radix\))i(that)h(guarantees)e(that)i (the)-150 2048 y(components)21 b(of)h(the)h(output)f(e)o(xpansion)f(o)o (v)o(erlap)f(by)j(at)g(most)g(one)-150 2141 y(digit)f(\(i.e.)g(one)g (bit)h(in)f(binary)f(arithmetic\).)35 b(An)22 b(e)o(xpensi)n(v)o(e)f (renor)n(-)-150 2234 y(malization)h(step)h(is)h(required)d(afterw)o (ard)h(to)h(remo)o(v)o(e)e(the)i(o)o(v)o(erlap.)-150 2326 y(By)15 b(contrast,)g(my)f(algorithm)f(al)o(w)o(ays)i(produces)e (a)i(nono)o(v)o(erlapping)-150 2419 y(e)o(xpansion,)j(and)h(no)h (renormalization)d(is)k(needed.)28 b(The)19 b(algorithm)-150 2512 y(tak)o(es)h(adv)n(antage)d(of)i(binary)f(arithmetic)h(and)g(e)o (xact)g(rounding,)e(b)n(ut)-150 2604 y(does)j(not)g(follo)n(w)f (directly)h(from)f(Priest')-5 b(s)21 b(results.)-150 2722 y Fw(Theor)o(em)f(3)41 b Fv(Let)21 b Fz(e)i Fy(=)553 2660 y Fh(P)640 2680 y Ft(m)640 2747 y(i)p Fg(=)p FA(1)762 2722 y Fz(e)801 2734 y Ft(i)849 2722 y Fv(and)d Fz(f)32 b Fy(=)1156 2660 y Fh(P)1243 2680 y Ft(n)1243 2747 y(i)p Fg(=)p FA(1)1365 2722 y Fz(f)1406 2734 y Ft(i)1454 2722 y Fv(be)21 b(nono)o(ver)n(-)-150 2815 y(lapping)29 b(e)n(xpansions)g (of)i Fz(m)g Fv(and)f Fz(n)h(p)p Fv(-bit)g(components,)g(r)m(espec-) -150 2907 y(tively)-5 b(,)36 b(wher)m(e)c Fz(p)40 b FC(\025)f FG(3)32 b Fv(and)g(the)g(components)e(of)i(both)g Fz(e)g Fv(and)f Fz(f)-150 3000 y Fv(ar)m(e)e(or)m(der)m(ed)e(by)h(incr)m (easing)g(ma)o(gnitude)o(.)52 b(The)28 b(following)g(algo-)-150 3093 y(rithm)d(will)g(pr)l(oduce)e(a)i(nono)o(verlapping)c(e)n (xpansion)h Fz(h)j Fv(suc)o(h)f(that)-150 3196 y Fz(h)f Fy(=)9 3133 y Fh(P)96 3154 y Ft(m)p Fg(+)p Ft(n)96 3221 y(i)p Fg(=)p FA(1)265 3196 y Fz(h)313 3208 y Ft(i)364 3196 y Fy(=)f Fz(e)16 b Fy(+)g Fz(f)9 b Fv(,)19 b(wher)m(e)g(the)g (components)f(of)h Fz(h)g Fv(ar)m(e)h(also)-150 3288 y(in)27 b(or)m(der)f(of)h(incr)m(easing)e(ma)o(gnitude)o(,)i(e)n(xcept) f(that)g(any)g(of)h(the)g Fz(h)1824 3300 y Ft(i)-150 3381 y Fv(may)20 b(be)g(zer)l(o.)1518 b Fn(\004)-6 3471 y FG(L)p FB(INEAR)p FG(-E)p FB(XP)-6 b(ANSION)p FG(-S)p FB(UM)p Fy(\()p Fz(e;)14 b(f)9 b Fy(\))-6 3564 y FG(1)178 b(Mer)o(ge)19 b Fz(e)i FG(and)e Fz(f)30 b FG(into)20 b(a)g(single)g(sequence)g Fz(g)s FG(,)385 3656 y(in)g(order)f(of)h (nondecreasing)d(magnitude)-6 3749 y(2)178 b Fy(\()p Fz(Q)312 3761 y FA(2)346 3749 y Fz(;)14 b(q)420 3761 y FA(2)453 3749 y Fy(\))23 b FC(\()g FG(F)-5 b FB(AST)f FG(-T)p FB(W)o(O)p FG(-S)p FB(UM)o Fy(\()p Fz(g)1216 3761 y FA(2)1249 3749 y Fz(;)14 b(g)1326 3761 y FA(1)1359 3749 y Fy(\))-6 3842 y FG(3)178 b Fw(f)n(or)20 b Fz(i)j FC(\()g FG(3)d Fw(to)g Fz(m)e Fy(+)g Fz(n)-6 3934 y FG(4)349 b Fy(\()p Fz(R)480 3946 y Ft(i)508 3934 y Fz(;)14 b(h)593 3946 y Ft(i)p Fu(\000)p FA(2)701 3934 y Fy(\))23 b FC(\()g FG(F)-5 b FB(AST)f FG(-T)p FB(W)o(O)p FG(-S)p FB(UM)o Fy(\()p Fz(g)1464 3946 y Ft(i)1492 3934 y Fz(;)14 b(q)1566 3946 y Ft(i)p Fu(\000)p FA(1)1674 3934 y Fy(\))-6 4027 y FG(5)349 b Fy(\()p Fz(Q)483 4039 y Ft(i)510 4027 y Fz(;)14 b(q)584 4039 y Ft(i)612 4027 y Fy(\))23 b FC(\()g FG(T)p FB(W)o(O)p FG(-S)p FB(UM)p Fy(\()p Fz(Q)1213 4039 y Ft(i)p Fu(\000)p FA(1)1321 4027 y Fz(;)14 b(R)1421 4039 y Ft(i)1449 4027 y Fy(\))-6 4120 y FG(6)178 b Fz(h)262 4132 y Ft(m)p Fg(+)p Ft(n)p Fu(\000)p FA(1)521 4120 y FC(\()23 b Fz(q)664 4132 y Ft(m)p Fg(+)p Ft(n)-6 4212 y FG(7)178 b Fz(h)262 4224 y Ft(m)p Fg(+)p Ft(n)440 4212 y FC(\()24 b Fz(Q)613 4224 y Ft(m)p Fg(+)p Ft(n)-6 4305 y FG(8)178 b Fw(r)o(etur)o(n)20 b Fz(h)-67 4423 y(Q)-1 4435 y Ft(i)49 4423 y Fy(+)j Fz(q)174 4435 y Ft(i)230 4423 y FG(is)29 b(an)f(approximate)e(sum)i(of)f(the)h(\256rst)h Fz(i)f FG(terms)h(of)e Fz(g)s FG(;)-150 4515 y(see)j(Figure)e(1.)57 b(It)29 b(is)h(possible)f(to)h(remo)o(v)o(e)d(the)i(F)-5 b FB(AST)f FG(-T)p FB(W)o(O)p FG(-S)p FB(UM)-150 4608 y FG(operation)21 b(from)h(the)i(loop,)f(yielding)f(an)h(algorithm)e (that)j(requires)-150 4701 y(only)h(six)i(\257oating-point)d (operations)g(per)i(iteration,)h(b)n(ut)f(the)g(pre-)-150 4793 y(conditions)i(for)h(correct)f(beha)n(vior)g(are)h(too)g(comple)o (x)e(to)j(e)o(xplain)-150 4886 y(here.)-150 5012 y Fw(3.3)82 b(Multiplication)-67 5138 y FG(The)29 b(basic)g(multiplication)f (algorithm)g(computes)g(a)h(nono)o(v)o(er)n(-)-150 5230 y(lapping)24 b(e)o(xpansion)g(equal)h(to)h(the)g(product)d(of)j(tw)o(o) g Fz(p)p FG(-bit)f(v)n(alues.)-150 5323 y(The)e(multiplication)f(is)i (performed)c(by)j(splitting)g(each)g(v)n(alue)g(into)p 3786 173 190 7 v 3786 349 7 177 v 3825 248 a FA(T)p Fm(WO)3817 312 y FA(P)p Fm(R)n(OD)p 3969 349 V 3786 356 190 7 v 3434 173 V 3434 349 7 177 v 3473 248 a FA(T)p Fm(WO)3465 312 y FA(P)p Fm(R)n(OD)p 3617 349 V 3434 356 190 7 v 2906 173 V 2906 349 7 177 v 2945 248 a FA(T)p Fm(WO)2937 312 y FA(P)p Fm(R)n(OD)p 3089 349 V 2906 356 190 7 v 2378 173 V 2378 349 7 177 v 2417 248 a FA(T)p Fm(WO)2409 312 y FA(P)p Fm(R)n(OD)p 2561 349 V 2378 356 190 7 v 3878 176 7 133 v 3881 176 a Fl(?)p 3526 176 V -435 w(?)p 2998 176 V -611 w(?)p 2470 176 V -611 w(?)3853 8 y Ft(e)3884 16 y Fk(1)3501 8 y Ft(e)3532 16 y Fk(2)2973 8 y Ft(e)3004 16 y Fk(3)2445 8 y Ft(e)2476 16 y Fk(4)p 3969 267 45 7 v 3969 264 a Fl(\033)p 3617 267 V -434 w(\033)p 3089 267 V -611 w(\033)p 2561 267 V -611 w(\033)4025 284 y Ft(b)-381 b(b)-557 b(b)g(b)p 3749 267 V 3265 267 177 7 v 2737 267 V 2209 267 V 3277 412 a(T)3316 420 y Fk(2)2749 411 y Ft(T)2788 419 y Fk(3)2221 412 y Ft(T)2260 420 y Fk(4)p 3746 528 7 265 v 3262 440 7 177 v 3265 440 a Fl(?)p 2734 440 V -611 w(?)p 2206 440 V -611 w(?)p 3526 440 7 89 v 1237 w(?)p 2998 440 V -611 w(?)p 2470 440 V -611 w(?)3548 410 y Ft(t)3573 418 y Fk(2)3020 409 y Ft(t)3045 417 y Fk(3)2492 410 y Ft(t)2517 418 y Fk(4)p 3434 437 190 7 v 3434 613 7 177 v 3473 512 a FA(T)p Fm(WO)3476 576 y FA(S)p Fm(UM)p 3617 613 V 3434 620 190 7 v 2906 437 V 2906 613 7 177 v 2945 512 a FA(T)p Fm(WO)2947 576 y FA(S)p Fm(UM)p 3089 613 V 2906 620 190 7 v 2378 437 V 2378 613 7 177 v 2417 512 a FA(T)p Fm(WO)2419 576 y FA(S)p Fm(UM)p 2561 613 V 2378 620 190 7 v 3170 437 V 3170 613 7 177 v 3207 479 a FA(F)m Fm(AST)3209 544 y FA(T)p Fm(WO)3212 609 y FA(S)p Fm(UM)p 3353 613 V 3170 620 190 7 v 2642 437 V 2642 613 7 177 v 2679 479 a FA(F)m Fm(AST)2681 544 y FA(T)p Fm(WO)2683 609 y FA(S)p Fm(UM)p 2825 613 V 2642 620 190 7 v 2114 437 V 2114 613 7 177 v 2151 479 a FA(F)m Fm(AST)2153 544 y FA(T)p Fm(WO)2155 609 y FA(S)p Fm(UM)p 2297 613 V 2114 620 190 7 v 3617 531 133 7 v 3617 528 a Fl(\033)p 3353 531 89 7 v -347 w(\033)p 3089 531 V -347 w(\033)p 2825 531 V -347 w(\033)p 2561 531 V -347 w(\033)p 2297 531 V -347 w(\033)p 2077 531 45 7 v 3623 498 a Ft(Q)3675 506 y Fk(2)3359 498 y Ft(Q)3411 506 y Fk(3)3095 498 y Ft(Q)3147 506 y Fk(4)2830 498 y Ft(Q)2882 507 y Fk(5)2566 498 y Ft(Q)2618 506 y Fk(6)2302 498 y Ft(Q)2354 506 y Fk(7)2038 498 y Ft(Q)2090 506 y Fk(8)p 3878 704 7 353 v 3881 704 a Fl(?)p 3526 704 7 89 v -435 w(?)p 3262 704 V -347 w(?)p 2998 704 V -347 w(?)p 2734 704 V -347 w(?)p 2470 704 V -347 w(?)p 2206 704 V -347 w(?)p 2074 704 7 177 v -215 w(?)3849 764 y Ft(h)3888 772 y Fk(1)3497 764 y Ft(h)3536 772 y Fk(2)3233 764 y Ft(h)3272 772 y Fk(3)2969 764 y Ft(h)3008 772 y Fk(4)2705 763 y Ft(h)2744 772 y Fk(5)2441 764 y Ft(h)2480 772 y Fk(6)2177 764 y Ft(h)2216 772 y Fk(7)2045 764 y Ft(h)2084 772 y Fk(8)2049 904 y FG(Figure)23 b(2:)36 b Fj(Oper)o(ation)21 b(of)g FB(S)p Fi(CALE)p FB(-E)p Fi(XP)-5 b(ANSION)p Fj(.)36 b(The)21 b(e)n(xpansions)g Fr(e)g Fj(and)f Fr(h)2049 978 y Fj(are)e(illustr)o(ated)h(with)g(their) g(most)g(signi\256cant)g(components)g(on)f(the)h(left.)2049 1241 y FG(tw)o(o)c(halv)o(es)e(with)i(half)f(the)g(precision,)g(then)g (performing)d(four)i(e)o(xact)2049 1334 y(multiplications)j(on)h(these) h(fragments.)27 b(The)17 b(trick)g(is)i(to)e(\256nd)h(a)g(w)o(ay)2049 1427 y(to)i(split)h(a)g(\257oating-point)d(v)n(alue)h(in)h(tw)o(o.)2049 1544 y Fw(Theor)o(em)g(4)g(\(Dekk)o(er)h([4)o(]\))41 b Fv(Let)48 b Fz(a)g Fv(be)g(a)g Fz(p)p Fv(-bit)f(\257oating-point)2049 1637 y(number)-9 b(,)33 b(wher)m(e)f Fz(p)39 b FC(\025)f FG(3)p Fv(.)64 b(The)31 b(following)g(algorithm)g(will)i(pr)l(o-)2049 1730 y(duce)16 b(a)h FC(b)2329 1693 y Ft(p)p 2329 1710 35 4 v 2332 1758 a FA(2)2373 1730 y FC(c)p Fv(-bit)g(value)f Fz(a)2784 1757 y FG(hi)2870 1730 y Fv(and)g(a)h(nono)o(verlapping)d Fy(\()p FC(d)3693 1693 y Ft(p)p 3693 1710 V 3696 1758 a FA(2)3737 1730 y FC(e)d(\000)g FG(1)p Fy(\))p Fv(-bit)2049 1822 y(value)20 b Fz(a)2294 1850 y FG(lo)2383 1822 y Fv(suc)o(h)g(that)g FC(j)p Fz(a)2772 1850 y FG(hi)2840 1822 y FC(j)j(\025)g(j)p Fz(a)3041 1850 y FG(lo)3110 1822 y FC(j)e Fv(and)e Fz(a)k Fy(=)f Fz(a)3497 1850 y FG(hi)3584 1822 y Fy(+)d Fz(a)3712 1850 y FG(lo)3780 1822 y Fv(.)184 b Fn(\004)2579 1923 y FG(S)p FB(PLIT)p Fy(\()p Fz(a)p Fy(\))2579 2025 y FG(1)178 b Fz(c)23 b FC(\()g Fy(\()p FG(2)3038 1995 y Fu(d)p Ft(p=)p FA(2)p Fu(e)3218 2025 y Fy(+)18 b FG(1)p Fy(\))h FC(\012)f Fz(a)2579 2118 y FG(2)178 b Fz(a)2843 2145 y FG(big)2976 2118 y FC(\()23 b Fz(c)18 b FC(\011)g Fz(a)2579 2228 y FG(3)178 b Fz(a)2843 2255 y FG(hi)2934 2228 y FC(\()23 b Fz(c)c FC(\011)f Fz(a)3222 2255 y FG(big)2579 2338 y(4)178 b Fz(a)2843 2365 y FG(lo)2934 2338 y FC(\()23 b Fz(a)c FC(\011)f Fz(a)3230 2365 y FG(hi)2579 2431 y(5)178 b Fw(r)o(etur)o(n)19 b Fy(\()p Fz(a)3123 2458 y FG(hi)3192 2431 y Fz(;)14 b(a)3273 2458 y FG(lo)3342 2431 y Fy(\))2132 2548 y FG(The)24 b(claim)h(may)f(seem)h(absurd.)41 b(After)24 b(all,)j Fz(a)3520 2575 y FG(hi)3613 2548 y(and)d Fz(a)3802 2575 y FG(lo)3896 2548 y(ha)n(v)o(e)2049 2640 y(only)h Fz(p)d FC(\000)f FG(1)27 b(bits)g(of)f(signi\256cand)f(between)g(them;) k(ho)n(w)d(can)g(the)o(y)2049 2733 y(carry)g(all)h(the)g(information)d (of)i(a)h Fz(p)p FG(-bit)g(signi\256cand?)47 b(The)26 b(secret)2049 2826 y(is)h(hidden)e(in)h(the)g(sign)g(bit)g(of)g Fz(a)3022 2853 y FG(lo)3091 2826 y(.)47 b(F)o(or)26 b(instance,)h(the)f (se)n(v)o(en-bit)2049 2918 y(number)12 b(1001001)g(can)i(be)g(split)h (into)f(the)g(three-bit)f(terms)h(1010000)2049 3011 y(and)27 b FC(\000)p FG(111.)48 b(This)28 b(property)d(is)j(fortunate,)f (because)f(e)n(v)o(en)h(if)g Fz(p)h FG(is)2049 3104 y(odd,)23 b(as)i(it)f(is)h(in)f(IEEE)f(754)g(double)f(precision)h(arithmetic,)h Fz(a)g FG(can)2049 3196 y(be)c(split)h(into)f(tw)o(o)g FC(b)2653 3159 y Ft(p)p 2653 3177 V 2656 3225 a FA(2)2697 3196 y FC(c)p FG(-bit)g(v)n(alues.)2132 3314 y(Multiplication)14 b(is)j(performed)c(by)i(splitting)g Fz(a)h FG(and)f Fz(b)p FG(.)28 b(The)15 b(prod-)2049 3407 y(ucts)g Fz(a)2242 3434 y FG(hi)2311 3407 y Fz(b)2347 3434 y FG(hi)2415 3407 y(,)i Fz(a)2497 3434 y FG(lo)2565 3407 y Fz(b)2601 3434 y FG(hi)2670 3407 y(,)f Fz(a)2751 3434 y FG(hi)2820 3407 y Fz(b)2856 3434 y FG(lo)2924 3407 y(,)h(and)d Fz(a)3141 3434 y FG(lo)3210 3407 y Fz(b)3246 3434 y FG(lo)3330 3407 y(can)h(each)g(be)g(computed)2049 3499 y(e)o(xactly)k(by)h(the)f (\257oating-point)f(unit,)h(producing)f(four)g(v)n(alues.)29 b(By)2049 3592 y(subtracting)17 b(them)i(from)f Fz(a)d FC(\012)g Fz(b)k FG(in)g(a)g(proper)f(order)m(,)f(one)h(is)i(assured) 2049 3685 y(the)28 b(subtractions)e(are)i(e)o(xact)f(and)g(the)g (result)h(is)g(the)g(roundof)n(f)d(er)n(-)2049 3777 y(ror)e(of)f (computing)f Fz(a)f FC(\012)g Fz(b)p FG(.)38 b(Dekk)o(er)22 b([4])h(attrib)n(utes)g(the)g(follo)n(wing)2049 3870 y(method)c(to)h(G.)h(W)-8 b(.)21 b(V)-9 b(eltkamp.)2049 3987 y Fw(Theor)o(em)20 b(5)g(\(V)-8 b(eltkamp\))40 b Fv(Let)27 b Fz(a)g Fv(and)e Fz(b)h Fv(be)g Fz(p)p Fv(-bit)g (\257oating-point)2049 4080 y(number)o(s,)15 b(wher)m(e)h Fz(p)22 b FC(\025)h FG(4)p Fv(.)28 b(The)15 b(following)f(algorithm)g (will)i(pr)l(oduce)2049 4173 y(a)29 b(nono)o(verlapping)d(e)n(xpansion) i Fz(x)c Fy(+)f Fz(y)32 b Fv(suc)o(h)d(that)g Fz(ab)35 b Fy(=)g Fz(x)24 b Fy(+)f Fz(y)s Fv(.)3985 4265 y Fn(\004)2484 4338 y FG(T)p FB(W)o(O)p FG(-P)p FB(R)m(ODUCT)p Fy(\()p Fz(a;)14 b(b)p Fy(\))2484 4431 y FG(1)178 b Fz(x)23 b FC(\()g Fz(a)c FC(\012)f Fz(b)2484 4524 y FG(2)178 b Fy(\()p Fz(a)2780 4551 y FG(hi)2849 4524 y Fz(;)14 b(a)2930 4551 y FG(lo)2998 4524 y Fy(\))23 b(=)g FG(S)p FB(PLIT)o Fy(\()p Fz(a)p Fy(\))2484 4617 y FG(3)178 b Fy(\()p Fz(b)2772 4644 y FG(hi)2840 4617 y Fz(;)14 b(b)2913 4644 y FG(lo)2982 4617 y Fy(\))23 b(=)g FG(S)p FB(PLIT)o Fy(\()p Fz(b)p Fy(\))2484 4709 y FG(4)178 b Fz(er)r(r)2819 4721 y FA(1)2876 4709 y FC(\()23 b Fz(x)c FC(\011)f Fy(\()p Fz(a)3207 4737 y FG(hi)3294 4709 y FC(\012)g Fz(b)3413 4737 y FG(hi)3481 4709 y Fy(\))2484 4802 y FG(5)178 b Fz(er)r(r)2819 4814 y FA(2)2876 4802 y FC(\()23 b Fz(er)r(r)3097 4814 y FA(1)3149 4802 y FC(\011)18 b Fy(\()p Fz(a)3308 4829 y FG(lo)3396 4802 y FC(\012)g Fz(b)3515 4829 y FG(hi)3583 4802 y Fy(\))2484 4895 y FG(6)178 b Fz(er)r(r)2819 4907 y FA(3)2876 4895 y FC(\()23 b Fz(er)r(r)3097 4907 y FA(2)3149 4895 y FC(\011)18 b Fy(\()p Fz(a)3308 4922 y FG(hi)3396 4895 y FC(\012)g Fz(b)3515 4922 y FG(lo)3583 4895 y Fy(\))2484 4988 y FG(7)178 b Fz(y)25 b FC(\()e Fy(\()p Fz(a)2952 5015 y FG(lo)3040 4988 y FC(\012)18 b Fz(b)3159 5015 y FG(lo)3227 4988 y Fy(\))h FC(\011)f Fz(er)r(r)3476 5000 y FA(3)2484 5080 y FG(8)178 b Fw(r)o(etur)o(n)19 b Fy(\()p Fz(x;)14 b(y)s Fy(\))2132 5197 y FG(The)28 b(follo)n(wing)f(algorithm,)h(which)g (multiplies)g(an)h(e)o(xpansion)2049 5290 y(by)20 b(a)g (\257oating-point)e(v)n(alue,)h(is)j(ne)n(w)-5 b(.)p eop %%Page: 5 5 5 4 bop -150 83 a Fw(Theor)o(em)20 b(6)41 b Fv(Let)21 b Fz(e)h Fy(=)551 21 y Fh(P)639 41 y Ft(m)639 108 y(i)p Fg(=)p FA(1)760 83 y Fz(e)799 95 y Ft(i)847 83 y Fv(be)e(an)f(or)m(der) m(ed)g(nono)o(verlapping)-150 176 y(e)n(xpansion)i(of)i Fz(m)g(p)p Fv(-bit)f(components,)f(and)g(let)i Fz(b)g Fv(be)f(a)h Fz(p)p Fv(-bit)f(value)-150 268 y(wher)m(e)k Fz(p)k FC(\025)g FG(4)p Fv(.)45 b(Then)25 b(the)h(following)f (algorithm)f(will)j(pr)l(oduce)d(a)-150 375 y(nono)o(verlapping)e(e)n (xpansion)j Fz(h)h Fv(suc)o(h)g(that)f Fz(h)31 b Fy(=)1345 312 y Fh(P)1432 333 y FA(2)p Ft(m)1432 399 y(i)p Fg(=)p FA(1)1554 375 y Fz(h)1602 387 y Ft(i)1660 375 y Fy(=)g Fz(be)p Fv(,)-150 467 y(wher)m(e)f Fz(h)g Fv(is)h(also)e(or)m(der)m (ed,)i(e)n(xcept)f(that)f(any)g(of)h(the)f Fz(h)1546 479 y Ft(i)1604 467 y Fv(may)h(be)-150 560 y(zer)l(o.)g(\(See)20 b(F)l(igur)m(e)g(2.\))1251 b Fn(\004)-68 650 y FG(S)p FB(CALE)p FG(-E)p FB(XP)-6 b(ANSION)p Fy(\()p Fz(e;)14 b(b)p Fy(\))-68 743 y FG(1)178 b Fy(\()p Fz(Q)250 755 y FA(2)283 743 y Fz(;)14 b(h)368 755 y FA(1)401 743 y Fy(\))23 b FC(\()e FG(T)p FB(W)o(O)p FG(-P)p FB(R)m(ODUCT)p Fy(\()p Fz(e)1136 755 y FA(1)1169 743 y Fz(;)14 b(b)p Fy(\))-68 835 y FG(2)178 b Fw(f)n(or)20 b Fz(i)i FC(\()h FG(2)e Fw(to)f Fz(m)-68 928 y FG(3)348 b Fy(\()p Fz(T)403 940 y Ft(i)431 928 y Fz(;)14 b(t)498 940 y Ft(i)525 928 y Fy(\))24 b FC(\()c FG(T)p FB(W)o(O)p FG(-P)p FB(R)m(ODUCT)p Fy(\()p Fz(e)1260 940 y Ft(i)1288 928 y Fz(;)14 b(b)p Fy(\))-68 1021 y FG(4)348 b Fy(\()p Fz(Q)420 1033 y FA(2)p Ft(i)p Fu(\000)p FA(1)558 1021 y Fz(;)14 b(h)643 1033 y FA(2)p Ft(i)p Fu(\000)p FA(2)780 1021 y Fy(\))23 b FC(\()e FG(T)p FB(W)o(O)p FG(-S)p FB(UM)p Fy(\()p Fz(Q)1379 1033 y FA(2)p Ft(i)p Fu(\000)p FA(2)1516 1021 y Fz(;)14 b(t)1583 1033 y Ft(i)1611 1021 y Fy(\))-68 1113 y FG(5)348 b Fy(\()p Fz(Q)420 1125 y FA(2)p Ft(i)477 1113 y Fz(;)14 b(h)562 1125 y FA(2)p Ft(i)p Fu(\000)p FA(1)699 1113 y Fy(\))24 b FC(\()c FG(F)-5 b FB(AST)f FG(-T)p FB(W)o(O)p FG(-S)p FB(UM)p Fy(\()p Fz(T)1470 1125 y Ft(i)1497 1113 y Fz(;)14 b(Q)1600 1125 y FA(2)p Ft(i)p Fu(\000)p FA(1)1737 1113 y Fy(\))-68 1206 y FG(6)178 b Fz(h)200 1218 y FA(2)p Ft(m)315 1206 y FC(\()23 b Fz(Q)487 1218 y FA(2)p Ft(m)-68 1299 y FG(7)178 b Fw(r)o(etur)o(n)20 b Fz(h)-150 1422 y Fw(3.4)82 b(A)n(ppr)o(oximation)-67 1545 y FG(The)24 b(sign)h(of)g(an)f(e)o(xpansion)f(can)i(be)f(identi\256ed)g(by)h(e)o (xamining)-150 1637 y(its)20 b(lar)o(gest)f(component,)e(b)n(ut)i(that) g(component)e(may)i(be)g(a)h(poor)e(ap-)-150 1730 y(proximation)13 b(to)i(the)g(v)n(alue)g(of)g(the)g(whole)g(e)o(xpansion;)g(it)h(may)e (carry)-150 1823 y(as)28 b(little)g(as)g(one)f(bit)g(of)g (signi\256cance.)50 b(Such)27 b(a)g(component)e(may)-150 1915 y(result,)d(for)f(instance,)g(from)g(cancellation)f(during)g(the)i (subtraction)-150 2008 y(of)e(tw)o(o)g(nearly-equal)e(e)o(xpansions.) -67 2123 y(An)c(A)p FB(PPR)m(O)m(XIMA)-7 b(TE)14 b FG(procedure)d(is)k (de\256ned)e(that)h(sums)g(an)f(e)o(xpan-)-150 2216 y(sion')-5 b(s)17 b(components)e(in)i(order)e(from)h(smallest)i(to)f(lar)o(gest.) 27 b(Because)-150 2308 y(of)f(the)h(nono)o(v)o(erlapping)22 b(property)-5 b(,)26 b(A)p FB(PPR)m(O)m(XIMA)-7 b(TE)27 b FG(produces)e(an)-150 2401 y(approximation)h(ha)n(ving)j(error)f (less)j(than)e(the)h(magnitude)d(of)j(the)-150 2493 y(least)21 b(signi\256cant)f(bit)g(of)g(the)g(approximation')-5 b(s)18 b(signi\256cand.)-150 2632 y FD(4)99 b(Adapti)o(v)o(e)26 b(Pr)n(ecision)f(Arithmetic)-67 2755 y FG(Exact)15 b(arithmetic)g(is)h (e)o(xpensi)n(v)o(e,)f(and)g(should)f(be)i(a)n(v)n(oided)e(when)-150 2848 y(possible.)38 b(The)23 b(\257oating-point)e(\256lter)j(suggested) e(by)h(F)o(ortune)f(and)-150 2941 y(V)-9 b(an)33 b(W)-6 b(yk)34 b([5)o(],)j(which)c(tries)i(to)e(v)o(erify)g(the)g(correctness) g(of)h(the)-150 3033 y(approximate)21 b(result)i(\(using)f(error)g (analysis\))h(before)f(resorting)f(to)-150 3126 y(e)o(xact)26 b(arithmetic,)h(is)g(quite)f(ef)n(fecti)n(v)o(e.)47 b(If)26 b(the)h(e)o(xact)f(test)h(is)g(only)-150 3218 y(needed)i(occasionally) -5 b(,)31 b(an)f(application)f(can)h(be)g(made)f(rob)n(ust)h(at)-150 3311 y(only)22 b(a)i(small)g(cost)f(in)g(speed.)38 b(One)23 b(might)g(hope)f(to)h(impro)o(v)o(e)e(this)-150 3404 y(idea)13 b(by)g(computing)g(a)f(seque)o(nce)g(of)g(se)n(v)n(eral)g (incr)o(easing)o(ly)g(accur)o(ate)-150 3496 y(results,)18 b(testing)f(each)g(one)g(in)h(turn)e(for)h(accurac)o(y)-5 b(.)26 b(Alas,)19 b(whene)n(v)o(er)-150 3589 y(an)28 b(e)o(xact)f(result)h(is)h(required,)e(one)h(suf)n(fers)f(both)g(the)h (cost)g(of)g(the)-150 3682 y(e)o(xact)g(computation)f(and)h(the)h (additional)e(b)n(urden)g(of)i(computing)-150 3774 y(se)n(v)o(eral)34 b(approximate)d(results)k(in)f(adv)n(ance.)70 b(F)o(ortunately)-5 b(,)35 b(it)g(is)-150 3867 y(sometimes)30 b(possible)g(to)h(use)f (intermediate)f(results)i(as)g(stepping)-150 3960 y(stones)i(to)g(more) e(accurate)h(results;)39 b(w)o(ork)32 b(already)g(done)f(is)j(not)-150 4052 y(discarded)19 b(b)n(ut)h(is)h(re\256ned.)-150 4175 y Fw(4.1)82 b(Making)20 b(Arithmetic)g(Adapti)o(v)o(e)-67 4299 y FG(F)-5 b FB(AST)f FG(-T)p FB(W)o(O)p FG(-S)p FB(UM)p FG(,)14 b(T)p FB(W)o(O)p FG(-S)p FB(UM)p FG(,)h(and)e(T)p FB(W)o(O)p FG(-P)p FB(R)m(ODUCT)i FG(each)e(ha)n(v)o(e)-150 4391 y(the)28 b(feature)e(that)i(the)o(y)f(can)h(be)f(brok)o(en)f(into) i(tw)o(o)g(parts:)44 b(Line)28 b(1,)-150 4484 y(which)i(computes)g(an)h (approximate)e(result,)k(and)d(the)h(remaining)-150 4577 y(lines,)h(which)c(calculate)h(the)h(roundof)n(f)c(error)-5 b(.)55 b(The)29 b(latter)m(,)i(more)-150 4669 y(e)o(xpensi)n(v)o(e)15 b(calculation)h(can)h(be)g(delayed)f(until)h(it)h(is)g(needed,)e(if)i (it)g(is)-150 4762 y(e)n(v)o(er)j(needed)g(at)h(all.)35 b(In)22 b(this)h(sense,)f(these)g(routines)f(can)h(be)g(made)-150 4855 y Fv(adaptive)p FG(,)16 b(so)g(that)h(the)o(y)f(only)g(produce)e (as)j(much)f(of)g(the)h(result)f(as)i(is)-150 4947 y(needed.)33 b(I)22 b(describe)f(here)g(ho)n(w)g(to)h(achie)n(v)o(e)e(the)i(same)g (ef)n(fect)f(with)-150 5040 y(more)e(general)g(e)o(xpressions.)-67 5155 y(An)o(y)33 b(e)o(xpression)g(composed)f(of)i(addition,)h (subtraction,)h(and)-150 5247 y(multiplication)29 b(operations)f(can)i (be)g(calculated)g(adapti)n(v)o(ely)e(in)i(a)-150 5340 y(manner)13 b(that)h(de\256nes)h(a)f(natural)g(sequence)f(of)h (intermediate)f(results)2179 491 y @beginspecial 0 @llx 0 @lly 402 @urx 253 @ury 936 @rwi @setspecial %%BeginDocument: distance.eps /$F2psDict 200 dict def F2psDictbeginF2psDict begin F2psDictbeginF2psDict /mtrx matrix put /col-1 {} def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save -54.0 755.0 translate 1 -1 scale /clp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /l {lineto} bind def /m {moveto} bind def /n {newpath} bind def /s {stroke} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def F2psBegin10setmiterlimit0.060000.06000sc30.000slwF2psBegin 10 setmiterlimit 0.06000 0.06000 sc 30.000 slw % Polyline n 2399 9900 m 2186 9688 l gs col0 s gr % Polyline n 2400 9899 m 2613 10111 l gs col0 s gr % Polyline n 2400 9899 m 2613 9687 l gs col0 s gr % Ellipse n 2400 9900 300 300 0 360 DrawEllipse gs col0 s gr 15.000 slw % Polyline n 1500 10800 m 2250 10200 l gs col0 s gr n 2062.59 10273.09 m 2250.00 10200.00 l 2137.55 10366.79 l 2063.09 10350.43 l 2062.59 10273.09 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3300 10800 m 2550 10200 l gs col0 s gr n 2662.45 10366.79 m 2550.00 10200.00 l 2737.41 10273.09 l 2737.91 10350.43 l 2662.45 10366.79 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline n 6000 9901 m 5787 10113 l gs col0 s gr % Polyline n 6000 9901 m 5787 9689 l gs col0 s gr % Polyline n 6001 9900 m 6214 10112 l gs col0 s gr % Polyline n 6001 9900 m 6214 9688 l gs col0 s gr % Ellipse n 6001 9901 300 300 0 360 DrawEllipse gs col0 s gr 15.000 slw % Polyline n 5101 10801 m 5851 10201 l gs col0 s gr n 5663.59 10274.09 m 5851.00 10201.00 l 5738.55 10367.79 l 5664.09 10351.43 l 5663.59 10274.09 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6901 10801 m 6151 10201 l gs col0 s gr n 6263.45 10367.79 m 6151.00 10201.00 l 6338.41 10274.09 l 6338.91 10351.43 l 6263.45 10367.79 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Ellipse n 4202 8702 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 3902 8702 m 4502 8702 l gs col0 s gr % Polyline n 4202 8402 m 4202 9002 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 901 12376 m gs 1 -1 sc (a) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 1126 12526 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 5401 12376 m gs 1 -1 sc (b) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 5626 12526 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 1801 12376 m gs 1 -1 sc (b) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 2026 12526 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 4501 12376 m gs 1 -1 sc (a) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 4726 12526 m gs 1 -1 sc (y) col0 show gr % Polyline n 2399 9900 m 2186 10112 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 2701 12376 m gs 1 -1 sc (a) col0 show gr 15.000 slw % Polyline n 6000 9600 m 4350 9000 l gs col0 s gr n 4509.94 9122.00 m 4350.00 9000.00 l 4550.94 9009.23 l 4576.05 9082.52 l 4509.94 9122.00 l clp gs 0.00 setgray ef gr gs col0 s gr /Times-Roman findfont 360.00 scalefont setfont 2926 12526 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 3601 12376 m gs 1 -1 sc (b) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 3826 12526 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 7201 12376 m gs 1 -1 sc (b) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 7426 12526 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 6301 12376 m gs 1 -1 sc (a) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 6526 12526 m gs 1 -1 sc (y) col0 show gr 30.000 slw % Ellipse n 3301 11101 300 300 0 360 DrawEllipse gs col0 s gr % Ellipse n 5101 11101 300 300 0 360 DrawEllipse gs col0 s gr % Ellipse n 6901 11101 300 300 0 360 DrawEllipse gs col0 s gr % Ellipse n 1500 11100 300 300 0 360 DrawEllipse gs col0 s gr 15.000 slw % Polyline n 1050 12000 m 1350 11400 l gs col0 s gr n 1210.47 11544.90 m 1350.00 11400.00 l 1317.80 11598.56 l 1243.17 11615.16 l 1210.47 11544.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1950 12000 m 1650 11400 l gs col0 s gr n 1682.20 11598.56 m 1650.00 11400.00 l 1789.53 11544.90 l 1757.83 11615.16 l 1682.20 11598.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2851 12001 m 3151 11401 l gs col0 s gr n 3011.47 11545.90 m 3151.00 11401.00 l 3118.80 11599.56 l 3044.17 11616.16 l 3011.47 11545.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3751 12001 m 3451 11401 l gs col0 s gr n 3483.20 11599.56 m 3451.00 11401.00 l 3590.53 11545.90 l 3558.83 11616.16 l 3483.20 11599.56 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline n 3001 11101 m 3601 11101 l gs col0 s gr 15.000 slw % Polyline n 4651 12001 m 4951 11401 l gs col0 s gr n 4811.47 11545.90 m 4951.00 11401.00 l 4918.80 11599.56 l 4844.17 11616.16 l 4811.47 11545.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5551 12001 m 5251 11401 l gs col0 s gr n 5283.20 11599.56 m 5251.00 11401.00 l 5390.53 11545.90 l 5358.83 11616.16 l 5283.20 11599.56 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline n 4801 11101 m 5401 11101 l gs col0 s gr 15.000 slw % Polyline n 6451 12001 m 6751 11401 l gs col0 s gr n 6611.47 11545.90 m 6751.00 11401.00 l 6718.80 11599.56 l 6644.17 11616.16 l 6611.47 11545.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7351 12001 m 7051 11401 l gs col0 s gr n 7083.20 11599.56 m 7051.00 11401.00 l 7190.53 11545.90 l 7158.83 11616.16 l 7083.20 11599.56 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline n 6601 11101 m 7201 11101 l gs col0 s gr % Polyline n 1200 11100 m 1800 11100 l gs col0 s gr 15.000 slw % Polyline n 2400 9600 m 4050 9000 l gs col0 s gr n 3849.06 9009.23 m 4050.00 9000.00 l 3890.06 9122.00 l 3824.95 9082.52 l 3849.06 9009.23 l clp gs 0.00 setgray ef gr gs col0 s gr F2psBegin10setmiterlimit0.060000.06000sc30.000slwF2psEnd restore %%EndDocument @endspecial 981 w @beginspecial 0 @llx 0 @lly 408 @urx 186 @ury 936 @rwi @setspecial %%BeginDocument: undistance.eps /$F2psDict 200 dict def F2psDictbeginF2psDict begin F2psDictbeginF2psDict /mtrx matrix put /col-1 {} def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save -49.0 688.0 translate 1 -1 scale /clp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /l {lineto} bind def /m {moveto} bind def /n {newpath} bind def /s {stroke} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def F2psBegin10setmiterlimit0.060000.06000sc30.000slwF2psBegin 10 setmiterlimit 0.06000 0.06000 sc 30.000 slw % Polyline n 2399 9900 m 2186 9688 l gs col0 s gr % Polyline n 2400 9899 m 2613 10111 l gs col0 s gr % Polyline n 2400 9899 m 2613 9687 l gs col0 s gr % Ellipse n 2400 9900 300 300 0 360 DrawEllipse gs col0 s gr 15.000 slw % Polyline n 1500 10800 m 2250 10200 l gs col0 s gr n 2062.59 10273.09 m 2250.00 10200.00 l 2137.55 10366.79 l 2063.09 10350.43 l 2062.59 10273.09 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3300 10800 m 2550 10200 l gs col0 s gr n 2662.45 10366.79 m 2550.00 10200.00 l 2737.41 10273.09 l 2737.91 10350.43 l 2662.45 10366.79 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline n 6000 9901 m 5787 10113 l gs col0 s gr % Polyline n 6000 9901 m 5787 9689 l gs col0 s gr % Polyline n 6001 9900 m 6214 10112 l gs col0 s gr % Polyline n 6001 9900 m 6214 9688 l gs col0 s gr % Ellipse n 6001 9901 300 300 0 360 DrawEllipse gs col0 s gr 15.000 slw % Polyline n 5101 10801 m 5851 10201 l gs col0 s gr n 5663.59 10274.09 m 5851.00 10201.00 l 5738.55 10367.79 l 5664.09 10351.43 l 5663.59 10274.09 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6901 10801 m 6151 10201 l gs col0 s gr n 6263.45 10367.79 m 6151.00 10201.00 l 6338.41 10274.09 l 6338.91 10351.43 l 6263.45 10367.79 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Ellipse n 4202 8702 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 3902 8702 m 4502 8702 l gs col0 s gr % Polyline n 4202 8402 m 4202 9002 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 1351 11251 m gs 1 -1 sc (+) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 1726 11251 m gs 1 -1 sc (y) col0 show gr % Polyline n 2399 9900 m 2186 10112 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 827 11252 m gs 1 -1 sc (x) col0 show gr 15.000 slw % Polyline n 6000 9600 m 4350 9000 l gs col0 s gr n 4509.94 9122.00 m 4350.00 9000.00 l 4550.94 9009.23 l 4576.05 9082.52 l 4509.94 9122.00 l clp gs 0.00 setgray ef gr gs col0 s gr /Times-Roman findfont 360.00 scalefont setfont 1125 11400 m gs 1 -1 sc (1) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 1950 11400 m gs 1 -1 sc (1) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 3226 11251 m gs 1 -1 sc (+) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 3601 11251 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 2702 11252 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 2925 11400 m gs 1 -1 sc (1) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 3825 11400 m gs 1 -1 sc (1) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 4951 11251 m gs 1 -1 sc (+) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 5326 11251 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 5551 11401 m gs 1 -1 sc (2) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 4427 11252 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 4727 11402 m gs 1 -1 sc (2) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 6826 11251 m gs 1 -1 sc (+) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 7201 11251 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 7426 11401 m gs 1 -1 sc (2) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 6302 11252 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 6602 11402 m gs 1 -1 sc (2) col0 show gr % Polyline n 2400 9600 m 4050 9000 l gs col0 s gr n 3849.06 9009.23 m 4050.00 9000.00 l 3890.06 9122.00 l 3824.95 9082.52 l 3849.06 9009.23 l clp gs 0.00 setgray ef gr gs col0 s gr F2psBegin10setmiterlimit0.060000.06000sc30.000slwF2psEnd restore %%EndDocument @endspecial 2553 584 a(\(a\))826 b(\(b\))2300 1778 y @beginspecial 0 @llx 0 @lly 830 @urx 648 @ury 1800 @rwi @setspecial %%BeginDocument: adapt3.eps /$F2psDict 200 dict def F2psDictbeginF2psDict begin F2psDictbeginF2psDict /mtrx matrix put /col-1 {} def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save -27.0 755.0 translate 1 -1 scale /clp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /l {lineto} bind def /m {moveto} bind def /n {newpath} bind def /s {stroke} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def F2psBegin10setmiterlimit0.060000.06000sc/Times−Romanfindfont360.00scalefontsetfont135212527mgs1−1sc(1)col0showgr/Times−Romanfindfont480.00scalefontsetfont210412379mgs1−1sc(x)col0showgr/Times−Romanfindfont360.00scalefontsetfont232712527mgs1−1sc(1)col0showgr/Times−Romanfindfont480.00scalefontsetfont292912379mgs1−1sc(x)col0showgr/Times−Romanfindfont360.00scalefontsetfont322912529mgs1−1sc(2)col0showgr/Times−Romanfindfont480.00scalefontsetfont570312378mgs1−1sc(y)col0showgr/Times−Romanfindfont360.00scalefontsetfont592712527mgs1−1sc(1)col0showgr/Times−Romanfindfont480.00scalefontsetfont750312378mgs1−1sc(y)col0showgr/Times−Romanfindfont360.00scalefontsetfont772812528mgs1−1sc(2)col0showgr/Times−Romanfindfont480.00scalefontsetfont390412379mgs1−1sc(x)col0showgr/Times−Romanfindfont360.00scalefontsetfont420412529mgs1−1sc(2)col0showgr/Times−Romanfindfont480.00scalefontsetfont487912379mgs1−1sc(x)col0showgr/Times−Romanfindfont360.00scalefontsetfont510212527mgs1−1sc(1)col0showgr/Times−Romanfindfont480.00scalefontsetfont667912379mgs1−1sc(x)col0showgr/Times−Romanfindfont360.00scalefontsetfont697912529mgs1−1sc(2)col0showgr/Times−Romanfindfont480.00scalefontsetfont832912379mgs1−1sc(y)col0showgr/Times−Romanfindfont360.00scalefontsetfont855312528mgs1−1sc(1)col0showgr/Times−Romanfindfont480.00scalefontsetfont930412379mgs1−1sc(y)col0showgr/Times−Romanfindfont360.00scalefontsetfont952812528mgs1−1sc(1)col0showgr/Times−Romanfindfont480.00scalefontsetfont1012912379mgs1−1sc(y)col0showgr/Times−Romanfindfont360.00scalefontsetfont1035412529mgs1−1sc(2)col0showgr/Times−Romanfindfont480.00scalefontsetfont1110412379mgs1−1sc(y)col0showgr/Times−Romanfindfont360.00scalefontsetfont1132912529mgs1−1sc(2)col0showgr/Times−Boldfindfont480.00scalefontsetfont4517201mgs1−1sc(C)col0showgr/Times−Boldfindfont360.00scalefontsetfont8267351mgs1−1sc(1)col0showgr/Times−Boldfindfont360.00scalefontsetfont17274952mgs1−1sc(2)col0showgr/Times−Boldfindfont480.00scalefontsetfont13524802mgs1−1sc(C)col0showgr/Times−Boldfindfont360.00scalefontsetfont36774952mgs1−1sc(2)col0showgr/Times−Boldfindfont480.00scalefontsetfont33024802mgs1−1sc(A)col0showgr/Times−Boldfindfont360.00scalefontsetfont32272251mgs1−1sc(3)col0showgr/Times−Boldfindfont480.00scalefontsetfont28522101mgs1−1sc(C)col0showgr/Times−Boldfindfont360.00scalefontsetfont78032253mgs1−1sc(4)col0showgr/Times−Boldfindfont360.00scalefontsetfont67522252mgs1−1sc(3)col0showgr/Times−Boldfindfont480.00scalefontsetfont74282103mgs1−1sc(C)col0showgr/Times−Boldfindfont480.00scalefontsetfont70512101mgs1−1sc(=)col0showgr/Times−Boldfindfont480.00scalefontsetfont63772102mgs1−1sc(A)col0showgr60.000slwF2psBegin 10 setmiterlimit 0.06000 0.06000 sc /Times-Roman findfont 360.00 scalefont setfont 1352 12527 m gs 1 -1 sc (1) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 2104 12379 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 2327 12527 m gs 1 -1 sc (1) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 2929 12379 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 3229 12529 m gs 1 -1 sc (2) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 5703 12378 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 5927 12527 m gs 1 -1 sc (1) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 7503 12378 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 7728 12528 m gs 1 -1 sc (2) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 3904 12379 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 4204 12529 m gs 1 -1 sc (2) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 4879 12379 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 5102 12527 m gs 1 -1 sc (1) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 6679 12379 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 6979 12529 m gs 1 -1 sc (2) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 8329 12379 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 8553 12528 m gs 1 -1 sc (1) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 9304 12379 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 9528 12528 m gs 1 -1 sc (1) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 10129 12379 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 10354 12529 m gs 1 -1 sc (2) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 11104 12379 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 11329 12529 m gs 1 -1 sc (2) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 451 7201 m gs 1 -1 sc (C) col0 show gr /Times-Bold findfont 360.00 scalefont setfont 826 7351 m gs 1 -1 sc (1) col0 show gr /Times-Bold findfont 360.00 scalefont setfont 1727 4952 m gs 1 -1 sc (2) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 1352 4802 m gs 1 -1 sc (C) col0 show gr /Times-Bold findfont 360.00 scalefont setfont 3677 4952 m gs 1 -1 sc (2) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 3302 4802 m gs 1 -1 sc (A) col0 show gr /Times-Bold findfont 360.00 scalefont setfont 3227 2251 m gs 1 -1 sc (3) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 2852 2101 m gs 1 -1 sc (C) col0 show gr /Times-Bold findfont 360.00 scalefont setfont 7803 2253 m gs 1 -1 sc (4) col0 show gr /Times-Bold findfont 360.00 scalefont setfont 6752 2252 m gs 1 -1 sc (3) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 7428 2103 m gs 1 -1 sc (C) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 7051 2101 m gs 1 -1 sc (=) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 6377 2102 m gs 1 -1 sc (A) col0 show gr 60.000 slw % Polyline n 1802 11103 m 1589 11315 l gs col0 s gr % Polyline n 1802 11103 m 1589 10891 l gs col0 s gr % Polyline n 1803 11102 m 2016 11314 l gs col0 s gr % Polyline n 1803 11102 m 2016 10890 l gs col0 s gr % Ellipse n 1803 11103 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 3602 11103 m 3389 11315 l gs col0 s gr % Polyline n 3602 11103 m 3389 10891 l gs col0 s gr % Polyline n 3603 11102 m 3816 11314 l gs col0 s gr % Polyline n 3603 11102 m 3816 10890 l gs col0 s gr % Ellipse n 3603 11103 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 5402 11103 m 5189 11315 l gs col0 s gr % Polyline n 5402 11103 m 5189 10891 l gs col0 s gr % Polyline n 5403 11102 m 5616 11314 l gs col0 s gr % Polyline n 5403 11102 m 5616 10890 l gs col0 s gr % Ellipse n 5403 11103 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 7202 11103 m 6989 11315 l gs col0 s gr % Polyline n 7202 11103 m 6989 10891 l gs col0 s gr % Polyline n 7203 11102 m 7416 11314 l gs col0 s gr % Polyline n 7203 11102 m 7416 10890 l gs col0 s gr % Ellipse n 7203 11103 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 9004 11105 m 8791 11317 l gs col0 s gr % Polyline n 9004 11105 m 8791 10893 l gs col0 s gr % Polyline n 9005 11104 m 9218 11316 l gs col0 s gr % Polyline n 9005 11104 m 9218 10892 l gs col0 s gr % Ellipse n 9005 11105 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 10804 11105 m 10591 11317 l gs col0 s gr % Polyline n 10804 11105 m 10591 10893 l gs col0 s gr % Polyline n 10805 11104 m 11018 11316 l gs col0 s gr % Polyline n 10805 11104 m 11018 10892 l gs col0 s gr % Ellipse n 10805 11105 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 2401 9001 m 3001 9001 l 3001 8401 l 2401 8401 l clp gs col0 s gr % Polyline n 2701 8401 m 2701 9001 l gs col0 s gr % Polyline n 2401 8701 m 3001 8701 l gs col0 s gr % Polyline n 6302 8402 m 6302 9002 l gs col0 s gr % Polyline n 6002 9002 m 6602 9002 l 6602 8402 l 6002 8402 l clp gs col0 s gr % Polyline n 6002 8702 m 6602 8702 l gs col0 s gr % Polyline n 9903 8403 m 9903 9003 l gs col0 s gr % Polyline n 9603 9003 m 10203 9003 l 10203 8403 l 9603 8403 l clp gs col0 s gr % Polyline n 9603 8703 m 10203 8703 l gs col0 s gr % Polyline n 4502 6002 m 4502 6602 l gs col0 s gr % Polyline n 4202 6602 m 4802 6602 l 4802 6002 l 4202 6002 l clp gs col0 s gr % Polyline n 4202 6302 m 4802 6302 l gs col0 s gr % Polyline n 1653 6003 m 1653 6603 l gs col0 s gr % Polyline n 1353 6603 m 1953 6603 l 1953 6003 l 1353 6003 l clp gs col0 s gr % Polyline n 1353 6303 m 1953 6303 l gs col0 s gr % Polyline n 3153 3303 m 3153 3903 l gs col0 s gr % Polyline n 2853 3903 m 3453 3903 l 3453 3303 l 2853 3303 l clp gs col0 s gr % Polyline n 2853 3603 m 3453 3603 l gs col0 s gr % Polyline n 7203 3304 m 7203 3904 l gs col0 s gr % Polyline n 6903 3904 m 7503 3904 l 7503 3304 l 6903 3304 l clp gs col0 s gr % Polyline n 6903 3604 m 7503 3604 l gs col0 s gr 30.000 slw % Ellipse n 900 8700 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 900 8400 m 900 9000 l gs col0 s gr % Polyline n 600 8700 m 1200 8700 l gs col0 s gr % Ellipse n 4501 8701 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 4501 8401 m 4501 9001 l gs col0 s gr % Polyline n 4201 8701 m 4801 8701 l gs col0 s gr % Ellipse n 8101 8701 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 8101 8401 m 8101 9001 l gs col0 s gr % Polyline n 7801 8701 m 8401 8701 l gs col0 s gr 60.000 slw % Polyline n 9307 2107 m 9307 2257 l 9607 2257 l 9607 2107 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 10807 2257 m gs 1 -1 sc (Component) col0 show gr % Polyline n 9307 2707 m 9307 2857 l 9607 2857 l 9607 2707 l gs col0 s gr % Polyline n 9607 2707 m 9607 2857 l 9907 2857 l 9907 2707 l gs col0 s gr % Polyline n 9907 2707 m 9907 2857 l 10207 2857 l 10207 2707 l gs col0 s gr % Polyline n 10207 2707 m 10207 2857 l 10507 2857 l 10507 2707 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 10807 2857 m gs 1 -1 sc (Expansion) col0 show gr % Polyline n 9605 3456 m 9392 3668 l gs col0 s gr % Polyline n 9605 3456 m 9392 3244 l gs col0 s gr % Polyline n 9606 3455 m 9819 3667 l gs col0 s gr % Polyline n 9606 3455 m 9819 3243 l gs col0 s gr % Ellipse n 9606 3456 300 300 0 360 DrawEllipse gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 10804 3604 m gs 1 -1 sc (Two-Product) col0 show gr % Polyline n 9608 4058 m 9608 4658 l gs col0 s gr % Polyline n 9308 4658 m 9908 4658 l 9908 4058 l 9308 4058 l clp gs col0 s gr % Polyline n 9308 4358 m 9908 4358 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 10805 4505 m gs 1 -1 sc (Expansion-Sum) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 1129 12379 m gs 1 -1 sc (x) col0 show gr 15.000 slw % Polyline n 9150 1806 m 14252 1806 l 14252 4800 l 9150 4800 l clp gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 6450 12375 m gs 1 -1 sc (2) col0 show gr /Times-Bold findfont 360.00 scalefont setfont 1803 7653 m gs 1 -1 sc (1) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 1428 7503 m gs 1 -1 sc (A) col0 show gr % Polyline n 1351 12001 m 1651 11401 l gs col0 s gr n 1511.47 11545.90 m 1651.00 11401.00 l 1618.80 11599.56 l 1544.17 11616.16 l 1511.47 11545.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2251 12001 m 1951 11401 l gs col0 s gr n 1983.20 11599.56 m 1951.00 11401.00 l 2090.53 11545.90 l 2058.83 11616.16 l 1983.20 11599.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1801 10801 m 1801 10051 l gs col0 s gr n 1741.00 10243.00 m 1801.00 10051.00 l 1861.00 10243.00 l 1801.50 10291.50 l 1741.00 10243.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3152 12002 m 3452 11402 l gs col0 s gr n 3312.47 11546.90 m 3452.00 11402.00 l 3419.80 11600.56 l 3345.17 11617.16 l 3312.47 11546.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4052 12002 m 3752 11402 l gs col0 s gr n 3784.20 11600.56 m 3752.00 11402.00 l 3891.53 11546.90 l 3859.83 11617.16 l 3784.20 11600.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3602 10802 m 3602 10052 l gs col0 s gr n 3542.00 10244.00 m 3602.00 10052.00 l 3662.00 10244.00 l 3602.50 10292.50 l 3542.00 10244.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4952 12002 m 5252 11402 l gs col0 s gr n 5112.47 11546.90 m 5252.00 11402.00 l 5219.80 11600.56 l 5145.17 11617.16 l 5112.47 11546.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5852 12002 m 5552 11402 l gs col0 s gr n 5584.20 11600.56 m 5552.00 11402.00 l 5691.53 11546.90 l 5659.83 11617.16 l 5584.20 11600.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5402 10802 m 5402 10052 l gs col0 s gr n 5342.00 10244.00 m 5402.00 10052.00 l 5462.00 10244.00 l 5402.50 10292.50 l 5342.00 10244.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6752 12002 m 7052 11402 l gs col0 s gr n 6912.47 11546.90 m 7052.00 11402.00 l 7019.80 11600.56 l 6945.17 11617.16 l 6912.47 11546.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7652 12002 m 7352 11402 l gs col0 s gr n 7384.20 11600.56 m 7352.00 11402.00 l 7491.53 11546.90 l 7459.83 11617.16 l 7384.20 11600.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7202 10802 m 7202 10052 l gs col0 s gr n 7142.00 10244.00 m 7202.00 10052.00 l 7262.00 10244.00 l 7202.50 10292.50 l 7142.00 10244.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7201 3301 m 7201 2551 l gs col0 s gr n 7141.00 2743.00 m 7201.00 2551.00 l 7261.00 2743.00 l 7201.50 2791.50 l 7141.00 2743.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4501 4951 m 7051 3901 l gs col0 s gr n 6850.62 3918.62 m 7051.00 3901.00 l 6896.31 4029.58 l 6829.58 3992.88 l 6850.62 3918.62 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9900 7350 m 7351 3901 l gs col0 s gr n 7416.86 4091.07 m 7351.00 3901.00 l 7513.37 4019.75 l 7494.14 4094.51 l 7416.86 4091.07 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 900 8400 m 750 7650 l gs col0 s gr n 728.82 7850.04 m 750.00 7650.00 l 846.49 7826.50 l 797.57 7885.84 l 728.82 7850.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1650 9900 m 750 9000 l gs col0 s gr n 843.34 9178.19 m 750.00 9000.00 l 928.19 9093.34 l 920.21 9170.21 l 843.34 9178.19 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3450 9900 m 1050 9000 l gs col0 s gr n 1208.71 9123.60 m 1050.00 9000.00 l 1250.84 9011.24 l 1275.22 9084.77 l 1208.71 9123.60 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5250 9900 m 4350 9000 l gs col0 s gr n 4443.34 9178.19 m 4350.00 9000.00 l 4528.19 9093.34 l 4520.21 9170.21 l 4443.34 9178.19 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7050 9900 m 4650 9000 l gs col0 s gr n 4808.71 9123.60 m 4650.00 9000.00 l 4850.84 9011.24 l 4875.22 9084.77 l 4808.71 9123.60 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4500 8400 m 4350 7650 l gs col0 s gr n 4328.82 7850.04 m 4350.00 7650.00 l 4446.49 7826.50 l 4397.57 7885.84 l 4328.82 7850.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2701 7351 m 4351 6601 l gs col0 s gr n 4151.38 6625.83 m 4351.00 6601.00 l 4201.04 6735.07 l 4133.01 6700.81 l 4151.38 6625.83 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6301 7351 m 4651 6601 l gs col0 s gr n 4800.96 6735.07 m 4651.00 6601.00 l 4850.62 6625.83 l 4869.99 6700.81 l 4800.96 6735.07 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4502 6002 m 4502 5252 l gs col0 s gr n 4442.00 5444.00 m 4502.00 5252.00 l 4562.00 5444.00 l 4502.50 5492.50 l 4442.00 5444.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4350 7350 m 1800 6600 l gs col0 s gr n 1967.27 6711.74 m 1800.00 6600.00 l 2001.13 6596.61 l 2030.75 6668.22 l 1967.27 6711.74 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2700 7350 m 1500 6600 l gs col0 s gr n 1631.02 6752.64 m 1500.00 6600.00 l 1694.62 6650.88 l 1704.02 6727.70 l 1631.02 6752.64 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1650 6002 m 1650 5252 l gs col0 s gr n 1590.00 5444.00 m 1650.00 5252.00 l 1710.00 5444.00 l 1650.50 5492.50 l 1590.00 5444.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8850 9900 m 7950 9000 l gs col0 s gr n 8043.34 9178.19 m 7950.00 9000.00 l 8128.19 9093.34 l 8120.21 9170.21 l 8043.34 9178.19 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3150 3300 m 3150 2550 l gs col0 s gr n 3090.00 2742.00 m 3150.00 2550.00 l 3210.00 2742.00 l 3150.50 2790.50 l 3090.00 2742.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4500 4950 m 3000 3900 l gs col0 s gr n 3122.88 4059.26 m 3000.00 3900.00 l 3191.70 3960.95 l 3197.12 4038.13 l 3122.88 4059.26 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7950 5850 m 3300 3900 l gs col0 s gr n 3453.86 4029.58 m 3300.00 3900.00 l 3500.26 3918.92 l 3521.83 3993.31 l 3453.86 4029.58 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5402 9752 m 6152 9002 l gs col0 s gr n 5973.81 9095.34 m 6152.00 9002.00 l 6058.66 9180.19 l 5982.79 9172.21 l 5973.81 9095.34 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7202 9752 m 6452 9002 l gs col0 s gr n 6545.34 9180.19 m 6452.00 9002.00 l 6630.19 9095.34 l 6622.21 9172.21 l 6545.34 9180.19 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6302 8402 m 6302 7652 l gs col0 s gr n 6242.00 7844.00 m 6302.00 7652.00 l 6362.00 7844.00 l 6302.50 7892.50 l 6242.00 7844.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1801 9751 m 2551 9001 l gs col0 s gr n 2372.81 9094.34 m 2551.00 9001.00 l 2457.66 9179.19 l 2381.79 9171.21 l 2372.81 9094.34 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3601 9751 m 2851 9001 l gs col0 s gr n 2944.34 9179.19 m 2851.00 9001.00 l 3029.19 9094.34 l 3021.21 9171.21 l 2944.34 9179.19 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2701 8401 m 2701 7651 l gs col0 s gr n 2641.00 7843.00 m 2701.00 7651.00 l 2761.00 7843.00 l 2701.50 7891.50 l 2641.00 7843.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10650 9900 m 8250 9000 l gs col0 s gr n 8408.71 9123.60 m 8250.00 9000.00 l 8450.84 9011.24 l 8475.22 9084.77 l 8408.71 9123.60 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9003 9753 m 9753 9003 l gs col0 s gr n 9574.81 9096.34 m 9753.00 9003.00 l 9659.66 9181.19 l 9583.79 9173.21 l 9574.81 9096.34 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10803 9753 m 10053 9003 l gs col0 s gr n 10146.34 9181.19 m 10053.00 9003.00 l 10231.19 9096.34 l 10223.21 9173.21 l 10146.34 9181.19 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9903 8403 m 9903 7653 l gs col0 s gr n 9843.00 7845.00 m 9903.00 7653.00 l 9963.00 7845.00 l 9903.50 7893.50 l 9843.00 7845.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10354 12004 m 10654 11404 l gs col0 s gr n 10514.47 11548.90 m 10654.00 11404.00 l 10621.80 11602.56 l 10547.17 11619.16 l 10514.47 11548.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 11254 12004 m 10954 11404 l gs col0 s gr n 10986.20 11602.56 m 10954.00 11404.00 l 11093.53 11548.90 l 11061.83 11619.16 l 10986.20 11602.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10804 10804 m 10804 10054 l gs col0 s gr n 10744.00 10246.00 m 10804.00 10054.00 l 10864.00 10246.00 l 10804.50 10294.50 l 10744.00 10246.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8554 12004 m 8854 11404 l gs col0 s gr n 8714.47 11548.90 m 8854.00 11404.00 l 8821.80 11602.56 l 8747.17 11619.16 l 8714.47 11548.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9454 12004 m 9154 11404 l gs col0 s gr n 9186.20 11602.56 m 9154.00 11404.00 l 9293.53 11548.90 l 9261.83 11619.16 l 9186.20 11602.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9004 10804 m 9004 10054 l gs col0 s gr n 8944.00 10246.00 m 9004.00 10054.00 l 9064.00 10246.00 l 9004.50 10294.50 l 8944.00 10246.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8100 8400 m 7950 6150 l gs col0 s gr n 7902.90 6345.57 m 7950.00 6150.00 l 8022.64 6337.58 l 7966.46 6389.97 l 7902.90 6345.57 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 10804 9904 m 10804 10054 l 11104 10054 l 11104 9904 l gs col0 s gr % Polyline n 10504 9904 m 10504 10054 l 10804 10054 l 10804 9904 l gs col0 s gr % Polyline n 9004 9904 m 9004 10054 l 9304 10054 l 9304 9904 l gs col0 s gr % Polyline n 8704 9904 m 8704 10054 l 9004 10054 l 9004 9904 l gs col0 s gr % Polyline n 7202 9902 m 7202 10052 l 7502 10052 l 7502 9902 l gs col0 s gr % Polyline n 6902 9902 m 6902 10052 l 7202 10052 l 7202 9902 l gs col0 s gr % Polyline n 5402 9902 m 5402 10052 l 5702 10052 l 5702 9902 l gs col0 s gr % Polyline n 5102 9902 m 5102 10052 l 5402 10052 l 5402 9902 l gs col0 s gr % Polyline n 3602 9902 m 3602 10052 l 3902 10052 l 3902 9902 l gs col0 s gr % Polyline n 3302 9902 m 3302 10052 l 3602 10052 l 3602 9902 l gs col0 s gr % Polyline n 1801 9901 m 1801 10051 l 2101 10051 l 2101 9901 l gs col0 s gr % Polyline n 1501 9901 m 1501 10051 l 1801 10051 l 1801 9901 l gs col0 s gr % Polyline n 1800 2400 m 1800 2550 l 2100 2550 l 2100 2400 l gs col0 s gr % Polyline n 2100 2400 m 2100 2550 l 2400 2550 l 2400 2400 l gs col0 s gr % Polyline n 2405 2402 m 2405 2552 l 2705 2552 l 2705 2402 l gs col0 s gr % Polyline n 2704 2404 m 2704 2554 l 3004 2554 l 3004 2404 l gs col0 s gr % Polyline n 3004 2404 m 3004 2554 l 3304 2554 l 3304 2404 l gs col0 s gr % Polyline n 3305 2405 m 3305 2555 l 3605 2555 l 3605 2405 l gs col0 s gr % Polyline n 3605 2405 m 3605 2555 l 3905 2555 l 3905 2405 l gs col0 s gr % Polyline n 3903 2403 m 3903 2553 l 4203 2553 l 4203 2403 l gs col0 s gr % Polyline n 4203 2403 m 4203 2553 l 4503 2553 l 4503 2403 l gs col0 s gr % Polyline n 5404 2401 m 5404 2551 l 5704 2551 l 5704 2401 l gs col0 s gr % Polyline n 5703 2403 m 5703 2553 l 6003 2553 l 6003 2403 l gs col0 s gr % Polyline n 6003 2403 m 6003 2553 l 6303 2553 l 6303 2403 l gs col0 s gr % Polyline n 6304 2404 m 6304 2554 l 6604 2554 l 6604 2404 l gs col0 s gr % Polyline n 6902 2402 m 6902 2552 l 7202 2552 l 7202 2402 l gs col0 s gr % Polyline n 6604 2404 m 6604 2554 l 6904 2554 l 6904 2404 l gs col0 s gr % Polyline n 7202 2402 m 7202 2552 l 7502 2552 l 7502 2402 l gs col0 s gr % Polyline n 7503 2403 m 7503 2553 l 7803 2553 l 7803 2403 l gs col0 s gr % Polyline n 7803 2403 m 7803 2553 l 8103 2553 l 8103 2403 l gs col0 s gr % Polyline n 8403 2403 m 8403 2553 l 8703 2553 l 8703 2403 l gs col0 s gr % Polyline n 8103 2403 m 8103 2553 l 8403 2553 l 8403 2403 l gs col0 s gr % Polyline n 8702 2402 m 8702 2552 l 9002 2552 l 9002 2402 l gs col0 s gr % Polyline n 902 5102 m 902 5252 l 1202 5252 l 1202 5102 l gs col0 s gr % Polyline n 1202 5102 m 1202 5252 l 1502 5252 l 1502 5102 l gs col0 s gr % Polyline n 1503 5103 m 1503 5253 l 1803 5253 l 1803 5103 l gs col0 s gr % Polyline n 1803 5103 m 1803 5253 l 2103 5253 l 2103 5103 l gs col0 s gr % Polyline n 2103 5103 m 2103 5253 l 2403 5253 l 2403 5103 l gs col0 s gr % Polyline n 3601 5101 m 3601 5251 l 3901 5251 l 3901 5101 l gs col0 s gr % Polyline n 3301 5101 m 3301 5251 l 3601 5251 l 3601 5101 l gs col0 s gr % Polyline n 3902 5102 m 3902 5252 l 4202 5252 l 4202 5102 l gs col0 s gr % Polyline n 4202 5102 m 4202 5252 l 4502 5252 l 4502 5102 l gs col0 s gr % Polyline n 4502 5102 m 4502 5252 l 4802 5252 l 4802 5102 l gs col0 s gr % Polyline n 4802 5102 m 4802 5252 l 5102 5252 l 5102 5102 l gs col0 s gr % Polyline n 5101 5101 m 5101 5251 l 5401 5251 l 5401 5101 l gs col0 s gr % Polyline n 5401 5101 m 5401 5251 l 5701 5251 l 5701 5101 l gs col0 s gr % Polyline n 5702 7502 m 5702 7652 l 6002 7652 l 6002 7502 l gs col0 s gr % Polyline n 6002 7502 m 6002 7652 l 6302 7652 l 6302 7502 l gs col0 s gr % Polyline n 6302 7502 m 6302 7652 l 6602 7652 l 6602 7502 l gs col0 s gr % Polyline n 6602 7502 m 6602 7652 l 6902 7652 l 6902 7502 l gs col0 s gr % Polyline n 8100 6001 m 8100 6151 l 7800 6151 l 7800 6001 l gs col0 s gr % Polyline n 4500 7500 m 4500 7650 l 4200 7650 l 4200 7500 l gs col0 s gr % Polyline n 2101 7501 m 2101 7651 l 2401 7651 l 2401 7501 l gs col0 s gr % Polyline n 2401 7501 m 2401 7651 l 2701 7651 l 2701 7501 l gs col0 s gr % Polyline n 2701 7501 m 2701 7651 l 3001 7651 l 3001 7501 l gs col0 s gr % Polyline n 3001 7501 m 3001 7651 l 3301 7651 l 3301 7501 l gs col0 s gr % Polyline n 9303 7503 m 9303 7653 l 9603 7653 l 9603 7503 l gs col0 s gr % Polyline n 9603 7503 m 9603 7653 l 9903 7653 l 9903 7503 l gs col0 s gr % Polyline n 9903 7503 m 9903 7653 l 10203 7653 l 10203 7503 l gs col0 s gr % Polyline n 10203 7503 m 10203 7653 l 10503 7653 l 10503 7503 l gs col0 s gr % Polyline n 900 7500 m 900 7650 l 600 7650 l 600 7500 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 4650 12375 m gs 1 -1 sc (2) col0 show gr F2psBegin10setmiterlimit0.060000.06000sc/Times−Romanfindfont360.00scalefontsetfont135212527mgs1−1sc(1)col0showgr/Times−Romanfindfont480.00scalefontsetfont210412379mgs1−1sc(x)col0showgr/Times−Romanfindfont360.00scalefontsetfont232712527mgs1−1sc(1)col0showgr/Times−Romanfindfont480.00scalefontsetfont292912379mgs1−1sc(x)col0showgr/Times−Romanfindfont360.00scalefontsetfont322912529mgs1−1sc(2)col0showgr/Times−Romanfindfont480.00scalefontsetfont570312378mgs1−1sc(y)col0showgr/Times−Romanfindfont360.00scalefontsetfont592712527mgs1−1sc(1)col0showgr/Times−Romanfindfont480.00scalefontsetfont750312378mgs1−1sc(y)col0showgr/Times−Romanfindfont360.00scalefontsetfont772812528mgs1−1sc(2)col0showgr/Times−Romanfindfont480.00scalefontsetfont390412379mgs1−1sc(x)col0showgr/Times−Romanfindfont360.00scalefontsetfont420412529mgs1−1sc(2)col0showgr/Times−Romanfindfont480.00scalefontsetfont487912379mgs1−1sc(x)col0showgr/Times−Romanfindfont360.00scalefontsetfont510212527mgs1−1sc(1)col0showgr/Times−Romanfindfont480.00scalefontsetfont667912379mgs1−1sc(x)col0showgr/Times−Romanfindfont360.00scalefontsetfont697912529mgs1−1sc(2)col0showgr/Times−Romanfindfont480.00scalefontsetfont832912379mgs1−1sc(y)col0showgr/Times−Romanfindfont360.00scalefontsetfont855312528mgs1−1sc(1)col0showgr/Times−Romanfindfont480.00scalefontsetfont930412379mgs1−1sc(y)col0showgr/Times−Romanfindfont360.00scalefontsetfont952812528mgs1−1sc(1)col0showgr/Times−Romanfindfont480.00scalefontsetfont1012912379mgs1−1sc(y)col0showgr/Times−Romanfindfont360.00scalefontsetfont1035412529mgs1−1sc(2)col0showgr/Times−Romanfindfont480.00scalefontsetfont1110412379mgs1−1sc(y)col0showgr/Times−Romanfindfont360.00scalefontsetfont1132912529mgs1−1sc(2)col0showgr/Times−Boldfindfont480.00scalefontsetfont4517201mgs1−1sc(C)col0showgr/Times−Boldfindfont360.00scalefontsetfont8267351mgs1−1sc(1)col0showgr/Times−Boldfindfont360.00scalefontsetfont17274952mgs1−1sc(2)col0showgr/Times−Boldfindfont480.00scalefontsetfont13524802mgs1−1sc(C)col0showgr/Times−Boldfindfont360.00scalefontsetfont36774952mgs1−1sc(2)col0showgr/Times−Boldfindfont480.00scalefontsetfont33024802mgs1−1sc(A)col0showgr/Times−Boldfindfont360.00scalefontsetfont32272251mgs1−1sc(3)col0showgr/Times−Boldfindfont480.00scalefontsetfont28522101mgs1−1sc(C)col0showgr/Times−Boldfindfont360.00scalefontsetfont78032253mgs1−1sc(4)col0showgr/Times−Boldfindfont360.00scalefontsetfont67522252mgs1−1sc(3)col0showgr/Times−Boldfindfont480.00scalefontsetfont74282103mgs1−1sc(C)col0showgr/Times−Boldfindfont480.00scalefontsetfont70512101mgs1−1sc(=)col0showgr/Times−Boldfindfont480.00scalefontsetfont63772102mgs1−1sc(A)col0showgr60.000slwF2psEnd restore %%EndDocument @endspecial 3003 1870 a(\(c\))2049 2038 y(Figure)19 b(3:)29 b Ff(\(a\))20 b(F)n(or)r(m)o(ula)e(f)n(or)h(the)g(square)g(of)h (the)f(distance)f(betw)o(een)2049 2123 y(tw)o(o)32 b(points)f Fe(a)h Ff(and)g Fe(b)p Ff(.)64 b(\(b\))32 b(The)f(lo)o(w)o(est)h(sube)n (xpressions)e(in)i(the)2049 2208 y(tree)17 b(are)g(e)n(xpressed)g(as)h (the)f(sum)i(of)e(an)g(appro)n(ximate)f(v)n(alue)h(and)f(a)2049 2293 y(roundoff)i(error)l(.)28 b(\(c\))20 b(An)g(incremental)e(adaptiv) n(e)g(method)h(f)n(or)h(e)n(v)n(alu-)2049 2378 y(ating)h(the)g(e)n (xpression.)33 b(The)21 b(appro)n(ximations)e Fe(C)3508 2386 y Fx(1)3560 2378 y Ff(through)h Fe(C)3891 2386 y Fx(4)3942 2378 y Ff(are)2049 2463 y(gener)o(ated)d(and)j(tested)f(in)h (tur)r(n.)28 b Fe(C)3090 2471 y Fx(4)3139 2463 y Ff(is)21 b(e)n(xact.)2049 2719 y FG(whose)30 b(accurac)o(y)f(it)i(is)g (appropriate)d(to)j(test.)60 b(Such)30 b(a)h(sequence)2049 2812 y(is)f(most)f(easily)g(described)e(by)h(considering)f(the)i(tree)g (associated)2049 2905 y(with)i(the)g(e)o(xpression,)h(as)g(in)f(Figure) f(3\(a\).)61 b(The)31 b(lea)n(v)o(es)g(of)g(this)2049 2997 y(tree)21 b(represent)g(\257oating-point)e(operands,)g(and)i(its)i (internal)d(nodes)2049 3090 y(represent)g(operations.)31 b(Replace)21 b(each)g(node)f(whose)h(children)f(are)2049 3183 y(both)28 b(lea)n(v)o(es)i(with)f(the)g(sum)g Fz(x)2984 3195 y Ft(i)3036 3183 y Fy(+)23 b Fz(y)3165 3195 y Ft(i)3192 3183 y FG(,)32 b(where)c Fz(x)3524 3195 y Ft(i)3582 3183 y FG(represents)h(the)2049 3275 y(approximate)f(v)n(alue)j(of)f(the)h (sube)o(xpression,)g(and)g Fz(y)3655 3287 y Ft(i)3713 3275 y FG(represents)2049 3368 y(the)14 b(roundof)n(f)d(error)j (incurred)e(while)i(calculating)f Fz(x)3561 3380 y Ft(i)3604 3368 y FG(\(Figure)g(3\(b\)\),)2049 3461 y(then)20 b(e)o(xpand)e(the)i (e)o(xpression)f(to)h(form)f(a)i(polynomial.)2132 3576 y(In)32 b(the)h(e)o(xpanded)d(e)o(xpression,)k(the)f(terms)g (containing)e(man)o(y)2049 3669 y(occurrences)13 b(of)i Fz(y)j FG(v)n(ariables)c(are)h(dominated)e(by)h(terms)h(containing)2049 3761 y(fe)n(wer)23 b(occurrences.)39 b(As)24 b(an)g(e)o(xample,)f (consider)g(the)h(e)o(xpression)2049 3854 y Fy(\()p Fz(a)2125 3866 y Ft(x)2192 3854 y FC(\000)i Fz(b)2319 3866 y Ft(x)2360 3854 y Fy(\))2392 3824 y FA(2)2451 3854 y Fy(+)f(\()p Fz(a)2617 3866 y Ft(y)2683 3854 y FC(\000)g Fz(b)2809 3866 y Ft(y)2848 3854 y Fy(\))2880 3824 y FA(2)2947 3854 y FG(\(Figure)32 b(3\),)j(which)e(calculates)g(the)2049 3947 y(square)24 b(of)f(the)i(distance)f(between)f(tw)o(o)i(points)e (in)i(the)f(plane.)41 b(Set)2049 4039 y Fz(a)2093 4051 y Ft(x)2156 4039 y FC(\000)21 b Fz(b)2278 4051 y Ft(x)2351 4039 y Fy(=)30 b Fz(x)2493 4051 y FA(1)2548 4039 y Fy(+)21 b Fz(y)2675 4051 y FA(1)2735 4039 y FG(and)k Fz(a)2925 4051 y Ft(y)2986 4039 y FC(\000)c Fz(b)3108 4051 y Ft(y)3179 4039 y Fy(=)30 b Fz(x)3321 4051 y FA(2)3376 4039 y Fy(+)22 b Fz(y)3504 4051 y FA(2)3536 4039 y FG(.)47 b(The)25 b(resulting)2049 4132 y(e)o(xpression,)18 b(e)o(xpanded)g(in)i(full,)g (is)2334 4296 y Fy(\()p Fz(x)2413 4262 y FA(2)2413 4317 y(1)2465 4296 y Fy(+)e Fz(x)2595 4262 y FA(2)2595 4317 y(2)2629 4296 y Fy(\))h(+)f(\()p FG(2)p Fz(x)2884 4308 y FA(1)2917 4296 y Fz(y)2958 4308 y FA(1)3009 4296 y Fy(+)g FG(2)p Fz(x)3181 4308 y FA(2)3215 4296 y Fz(y)3256 4308 y FA(2)3289 4296 y Fy(\))g(+)g(\()p Fz(y)3498 4262 y FA(2)3495 4317 y(1)3550 4296 y Fy(+)g Fz(y)3677 4262 y FA(2)3674 4317 y(2)3710 4296 y Fy(\))p Fz(:)2132 4483 y FG(It)27 b(is)g(signi\256cant)g(that)f(each)h Fz(y)3038 4495 y Ft(i)3092 4483 y FG(is)h(small)f(relati)n(v)o(e)e(to)i(its)h (corre-)2049 4576 y(sponding)f Fz(x)2430 4588 y Ft(i)2458 4576 y FG(.)57 b(Exact)29 b(rounding)e(guarantees)h(that)h FC(j)p Fz(y)3688 4588 y Ft(i)3715 4576 y FC(j)36 b(\024)f Fz(\017)p FC(j)p Fz(x)3978 4588 y Ft(i)4006 4576 y FC(j)p FG(,)2049 4669 y(where)29 b Fz(\017)35 b Fy(=)g FG(2)2493 4639 y Fu(\000)p Ft(p)2613 4669 y FG(is)30 b(called)f(the)h Fv(mac)o(hine)e(epsilon)p FG(,)i(and)f(bounds)2049 4761 y(the)20 b Fv(r)m(elative)g(err)l(or)i FG(error)n Fy(\()p Fz(a)c Fn(~)g Fz(b)p Fy(\))p Fz(=)p Fy(\()p Fz(a)g Fn(~)g Fz(b)p Fy(\))i FG(of)g(an)o(y)f(basic)i(\257oating-)2049 4854 y(point)28 b(operation.)54 b(In)29 b(IEEE)g(754)f(double)g (precision)g(arithmetic,)2049 4947 y Fz(\017)23 b Fy(=)f FG(2)2235 4917 y Fu(\000)p FA(53)2349 4947 y FG(;)f(in)f(single)g (precision,)f Fz(\017)k Fy(=)g FG(2)3230 4917 y Fu(\000)p FA(24)3343 4947 y FG(.)2132 5062 y(The)f(e)o(xpanded)f(e)o(xpression)g (abo)o(v)o(e)g(can)i(be)f(di)n(vided)g(into)g(three)2049 5155 y(parts,)g(ha)n(ving)e(magnitudes)g(of)i FC(O)r Fy(\()p FG(1)p Fy(\))p FG(,)h FC(O)r Fy(\()p Fz(\017)p Fy(\))p FG(,)g(and)e FC(O)r Fy(\()p Fz(\017)3701 5125 y FA(2)3735 5155 y Fy(\))p FG(,)h(respec-)2049 5247 y(ti)n(v)o(ely)-5 b(.)39 b(Denote)23 b(these)g(parts)h FF(F)2998 5259 y FA(0)3032 5247 y FG(,)g FF(F)3140 5259 y FA(1)3174 5247 y FG(,)h(and)e FF(F)3427 5259 y FA(2)3461 5247 y FG(.)40 b(More)23 b(generally)-5 b(,)2049 5340 y(for)30 b(an)o(y)f(e)o (xpression)g(e)o(xpanded)e(in)k(this)f(manner)m(,)h(let)g FF(F)3781 5352 y Ft(i)3839 5340 y FG(be)g(the)p eop %%Page: 6 6 6 5 bop -150 83 a FG(sum)18 b(of)g(all)g(products)f(containing)f Fz(i)i FG(of)g(the)g Fz(y)j FG(v)n(ariables,)d(so)g(that)g FF(F)1823 95 y Ft(i)-150 176 y FG(has)i(magnitude)f FC(O)r Fy(\()p Fz(\017)487 146 y Ft(i)515 176 y Fy(\))p FG(.)-67 293 y(One)k(can)g(obtain)f(an)h(approximation)d Fz(A)1137 305 y Ft(j)1196 293 y FG(with)j(error)f(no)h(lar)o(ger)-150 386 y(than)c FC(O)r Fy(\()p Fz(\017)147 356 y Ft(j)182 386 y Fy(\))h FG(by)e(e)o(xactly)h(summing)e(the)i(\256rst)h Fz(j)25 b FG(terms,)19 b FF(F)1540 398 y FA(0)1593 386 y FG(through)-150 479 y FF(F)-87 491 y Ft(j)s Fu(\000)p FA(1)29 479 y FG(.)75 b(The)35 b(sequence)f Fz(A)692 491 y FA(1)726 479 y Fz(;)14 b(A)825 491 y FA(2)858 479 y Fz(;)g(:)g(:)g(:)36 b FG(of)f(increasingly)e(accurate)-150 571 y(approximations)c(can)i(be)g(computed)f(incrementally;)35 b Fz(A)1595 583 y Ft(j)1662 571 y FG(is)e(the)-150 664 y(e)o(xact)19 b(sum)h(of)g Fz(A)355 676 y Ft(j)s Fu(\000)p FA(1)491 664 y FG(and)f FF(F)694 676 y Ft(j)s Fu(\000)p FA(1)811 664 y FG(.)29 b(Members)19 b(of)h(this)g(sequence)f(are)-150 756 y(generated)f(and)i(tested)h(until)f(one)f(is)i(suf)n(\256ciently)f (accurate.)-67 874 y(An)i(impro)o(v)o(ement)d(is)k(based)e(on)h(the)g (observ)n(ation)d(that)j(one)g(can)-150 967 y(obtain)h(an)h (approximation)c(with)k(error)f(no)g(lar)o(ger)g(than)g FC(O)r Fy(\()p Fz(\017)1676 937 y Ft(j)1711 967 y Fy(\))i FG(by)-150 1059 y(adding)k(\(e)o(xactly\))g(to)h Fz(A)589 1071 y Ft(j)s Fu(\000)p FA(1)736 1059 y FG(a)h(correctional)d(term)i (that)h(approxi-)-150 1152 y(mates)23 b FF(F)130 1164 y Ft(j)s Fu(\000)p FA(1)270 1152 y FG(with)f(ordinary)f (\257oating-point)f(arithmetic,)j(to)g(form)-150 1245 y(a)k(ne)n(w)e(approximation)e Fz(C)646 1257 y Ft(j)682 1245 y FG(,)28 b(as)e(illustrated)g(in)g(Figure)g(3\(c\).)46 b(The)-150 1346 y(correctional)23 b(term)i(reduces)f(the)h(error)f (from)g FC(O)r Fy(\()p Fz(\017)1364 1316 y Ft(j)s Fu(\000)p FA(1)1480 1346 y Fy(\))i FG(to)g FC(O)r Fy(\()p Fz(\017)1763 1316 y Ft(j)1798 1346 y Fy(\))p FG(,)-150 1439 y(so)f Fz(C)8 1451 y Ft(j)69 1439 y FG(is)h(nearly)e(as)h(accurate)f(as)i Fz(A)936 1451 y Ft(j)996 1439 y FG(b)n(ut)f(tak)o(es)g(much)f(less)i(w) o(ork)-150 1531 y(to)18 b(compute.)26 b(This)18 b(scheme)f(reuses)h (the)f(w)o(ork)g(done)f(in)i(computing)-150 1624 y(members)e(of)g Fz(A)p FG(,)i(b)n(ut)e(does)h(not)f(reuse)g(the)h(\(much)e(cheaper\))g (correc-)-150 1717 y(tional)24 b(terms.)42 b(Note)24 b(that)h Fz(C)707 1729 y FA(1)740 1717 y FG(,)h(the)f(\256rst)g(v)n (alue)f(computed)e(by)i(this)-150 1809 y(method,)16 b(is)i(an)f (approximation)d(to)k FF(F)955 1821 y FA(0)988 1809 y FG(;)h(if)f Fz(C)1158 1821 y FA(1)1209 1809 y FG(is)g(suf)n (\256ciently)e(accu-)-150 1902 y(rate,)k(it)h(is)h(unnecessary)c(to)j (use)g(an)o(y)e(e)o(xact)h(arithmetic)g(techniques)-150 1995 y(at)27 b(all.)50 b(This)27 b(\256rst)g(test)h(is)f(identical)f (to)h(F)o(ortune)f(and)g(V)-9 b(an)26 b(W)-6 b(yk')h(s)-150 2087 y(\257oating-point)18 b(\256lter)-5 b(.)-67 2205 y(This)35 b(method)f(does)g(more)g(w)o(ork)g(during)f(each)i(stage)g (of)g(the)-150 2297 y(computation)26 b(than)h(the)h(\256rst)h(method,)f (b)n(ut)g(typically)f(terminates)-150 2390 y(one)33 b(stage)g(earlier) -5 b(.)69 b(Although)31 b(the)j(use)f(of)g(correctional)f(terms)-150 2483 y(is)i(slo)n(wer)e(when)h(the)g(e)o(xact)f(result)h(must)g(be)f (computed,)i(it)g(can)-150 2575 y(cause)22 b(a)h(surprising)e(impro)o (v)o(ement)e(in)k(other)e(cases;)j(for)e(instance,)-150 2668 y(the)f(rob)n(ust)f(Delaunay)g(tetrahedralization)e(of)j(points)g (arrayed)e(in)i(a)-150 2761 y(tilted)c(grid)e(\(see)i(Section)f(5.4\))g (tak)o(es)g(twice)h(as)g(long)f(if)h(the)f(estimate)-150 2853 y Fz(C)-91 2865 y FA(2)-40 2853 y FG(is)h(skipped)f(in)h(the)g (orientation)e(and)h(incircle)g(tests,)i(because)f Fz(A)1818 2865 y FA(2)-150 2946 y FG(is)k(much)e(more)h(e)o(xpensi)n(v)o(e)e(to)i (produce.)-67 3063 y(The)26 b(decomposition)e(of)i(an)h(e)o(xpression)e (into)h(an)g(adapti)n(v)o(e)f(se-)-150 3156 y(quence)15 b(as)i(described)e(abo)o(v)o(e)f(could)h(be)h(automated)f(by)h(an)g (LN-lik)o(e)-150 3249 y(e)o(xpression)24 b(compiler)m(,)h(b)n(ut)h(for) f(the)h(predicates)e(described)h(in)h(the)-150 3341 y(ne)o(xt)c (section,)i(I)f(ha)n(v)o(e)f(done)h(the)g(decomposition)d(and)j (written)g(the)-150 3434 y(code)d(manually)-5 b(.)30 b(Note)21 b(that)h(these)f(ideas)g(are)g(not)g(e)o(xclusi)n(v)o(ely)e (ap-)-150 3527 y(plicable)i(to)h(the)g(multiple-term)e(approach)g(to)h (arbitrary)g(precision)-150 3619 y(arithmetic.)64 b(The)o(y)31 b(can)h(w)o(ork)g(with)g(multiple-digit)e(formats)i(as)-150 3712 y(well,)20 b(though)f(the)h(details)h(dif)n(fer)-5 b(.)-150 3853 y FD(5)99 b(Pr)n(edicate)26 b(Implementations)-150 3979 y Fw(5.1)82 b(Orientation)19 b(and)h(Incir)o(cle)-67 4105 y FG(Let)f Fz(a)p FG(,)g Fz(b)p FG(,)g Fz(c)p FG(,)g(and)f Fz(d)h FG(be)f(four)g(points)g(in)h(the)f(plane)g(whose)g(coordi-)-150 4198 y(nates)24 b(are)f(machine-precision)d(\257oating-point)h (numbers.)38 b(De\256ne)-150 4290 y(a)18 b(procedure)c(O)p FB(RIENT)p FG(2D)p Fy(\()p Fz(a;)g(b;)g(c)p Fy(\))j FG(that)g(returns)f (a)i(positi)n(v)o(e)e(v)n(alue)g(if)-150 4383 y(the)i(points)g Fz(a)p FG(,)h Fz(b)p FG(,)g(and)f Fz(c)g FG(are)h(arranged)d(in)j (counterclockwise)c(order)m(,)-150 4476 y(a)28 b(ne)o(gati)n(v)o(e)e(v) n(alue)h(if)h(the)o(y)f(are)h(in)g(clockwise)f(order)m(,)h(and)f(zero)g (if)-150 4568 y(the)o(y)k(are)i(collinear)-5 b(.)64 b(A)33 b(more)e(common)g(\(b)n(ut)h(less)h(symmetric\))-150 4661 y(interpretation)22 b(is)k(that)e(O)p FB(RIENT)p FG(2D)g(returns)g(a)h(positi)n(v)o(e)f(v)n(alue)f(if)i Fz(c)-150 4754 y FG(lies)30 b(to)g(the)f(left)g(of)g(the)h(directed)e (line)h Fz(ab)p FG(;)34 b(for)29 b(this)h(purpose)e(the)-150 4846 y(orientation)18 b(test)k(is)f(used)f(by)f(man)o(y)g(geometric)g (algorithms.)-67 4964 y(De\256ne)30 b(also)g(a)g(procedure)d(I)p FB(N)p FG(C)p FB(IRCLE)p Fy(\()p Fz(a;)14 b(b;)g(c;)g(d)p Fy(\))31 b FG(that)e(returns)-150 5057 y(a)f(positi)n(v)o(e)e(v)n(alue) g(if)i Fz(d)g FG(lies)g(inside)f(the)g(oriented)f(circle)h Fz(abc)p FG(.)50 b(By)-150 5149 y Fv(oriented)20 b(cir)m(cle)p FG(,)i(I)f(mean)f(the)h(unique)f(\(and)g(possibly)g(de)o(generate\)) -150 5242 y(circle)34 b(through)e Fz(a)p FG(,)38 b Fz(b)p FG(,)f(and)d Fz(c)p FG(,)k(with)c(these)g(points)g(occurring)d(in)-150 5334 y(counterclockwise)18 b(order)i(about)g(the)h(circle.)31 b(\(If)20 b(the)h(points)g(occur)2049 83 y(in)36 b(clockwise)g(order)m (,)j(I)p FB(N)p FG(C)p FB(IRCLE)e FG(will)g(re)n(v)o(erse)e(the)h(sign) h(of)f(its)2049 176 y(output,)19 b(as)i(if)g(the)f(circle')-5 b(s)21 b(e)o(xterior)e(were)i(its)g(interior)-5 b(.\))29 b(I)p FB(N)p FG(C)p FB(IRCLE)2049 268 y FG(returns)e(zero)g(if)h(and)g (only)f(if)h(all)g(four)f(points)g(lie)i(on)e(a)h(common)2049 361 y(circle.)2132 478 y(These)c(de\256nitions)g(e)o(xtend)f(to)i (arbitrary)e(dimensions.)41 b(F)o(or)24 b(in-)2049 571 y(stance,)c(O)p FB(RIENT)p FG(3D)p Fy(\()p Fz(a;)14 b(b;)g(c;)g(d)p Fy(\))20 b FG(returns)g(a)g(positi)n(v)o(e)g(v)n(alue)g(if)g Fz(d)i FG(lies)2049 664 y(belo)n(w)30 b(the)g(oriented)f(plane)h (passing)g(through)f Fz(a)p FG(,)k Fz(b)p FG(,)g(and)d Fz(c)p FG(.)60 b(By)2049 756 y Fv(oriented)30 b(plane)p FG(,)i(I)e(mean)g(that)h Fz(a)p FG(,)i Fz(b)p FG(,)g(and)d Fz(c)h FG(appear)e(in)i(counter)n(-)2049 849 y(clockwise)20 b(order)f(when)g(vie)n(wed)h(from)f(abo)o(v)o(e)f(the)j(plane.)2132 966 y(In)c(an)o(y)g(dimension,)g(the)g(orientation)f(and)h(incircle)h (tests)g(may)g(be)2049 1059 y(implemented)g(as)j(matrix)f (determinants.)27 b(F)o(or)20 b(e)o(xample:)2302 1373 y(O)p FB(RIENT)p FG(3D)n Fy(\()p Fz(a;)14 b(b;)g(c;)g(d)p Fy(\))23 b(=)3103 1178 y Fh(\014)3103 1227 y(\014)3103 1277 y(\014)3103 1327 y(\014)3103 1377 y(\014)3103 1427 y(\014)3103 1477 y(\014)3172 1232 y Fz(a)3216 1244 y Ft(x)3341 1232 y Fz(a)3385 1244 y Ft(y)3508 1232 y Fz(a)3552 1244 y Ft(z)3673 1232 y FG(1)3176 1324 y Fz(b)3212 1336 y Ft(x)3345 1324 y Fz(b)3381 1336 y Ft(y)3512 1324 y Fz(b)3548 1336 y Ft(z)3673 1324 y FG(1)3176 1417 y Fz(c)3212 1429 y Ft(x)3345 1417 y Fz(c)3381 1429 y Ft(y)3512 1417 y Fz(c)3548 1429 y Ft(z)3673 1417 y FG(1)3173 1510 y Fz(d)3216 1522 y Ft(x)3341 1510 y Fz(d)3384 1522 y Ft(y)3508 1510 y Fz(d)3551 1522 y Ft(z)3673 1510 y FG(1)3756 1178 y Fh(\014)3756 1227 y(\014)3756 1277 y(\014)3756 1327 y(\014)3756 1377 y(\014)3756 1427 y(\014)3756 1477 y(\014)3953 1373 y FG(\(1\))2455 1798 y Fy(=)2543 1627 y Fh(\014)2543 1677 y(\014)2543 1727 y(\014)2543 1777 y(\014)2543 1827 y(\014)2543 1876 y(\014)2612 1703 y Fz(a)2656 1715 y Ft(x)2716 1703 y FC(\000)18 b Fz(d)2842 1715 y Ft(x)2967 1703 y Fz(a)3011 1715 y Ft(y)3070 1703 y FC(\000)g Fz(d)3196 1715 y Ft(y)3319 1703 y Fz(a)3363 1715 y Ft(z)3419 1703 y FC(\000)g Fz(d)3545 1715 y Ft(z)2616 1795 y Fz(b)2652 1807 y Ft(x)2712 1795 y FC(\000)g Fz(d)2838 1807 y Ft(x)2971 1795 y Fz(b)3007 1807 y Ft(y)3065 1795 y FC(\000)g Fz(d)3191 1807 y Ft(y)3323 1795 y Fz(b)3359 1807 y Ft(z)3415 1795 y FC(\000)g Fz(d)3541 1807 y Ft(z)2616 1888 y Fz(c)2652 1900 y Ft(x)2712 1888 y FC(\000)g Fz(d)2838 1900 y Ft(x)2971 1888 y Fz(c)3007 1900 y Ft(y)3066 1888 y FC(\000)g Fz(d)3192 1900 y Ft(y)3323 1888 y Fz(c)3359 1900 y Ft(z)3415 1888 y FC(\000)g Fz(d)3541 1900 y Ft(z)3625 1627 y Fh(\014)3625 1677 y(\014)3625 1727 y(\014)3625 1777 y(\014)3625 1827 y(\014)3625 1876 y(\014)3953 1798 y FG(\(2\))2181 2206 y(I)p FB(NCIRCLE)p Fy(\()p Fz(a;)c(b;)g(c;)g(d)p Fy(\))23 b(=)2938 1986 y Fh(\014)2938 2036 y(\014)2938 2086 y(\014)2938 2136 y(\014)2938 2186 y(\014)2938 2235 y(\014)2938 2285 y(\014)2938 2335 y(\014)3007 2053 y Fz(a)3051 2065 y Ft(x)3176 2053 y Fz(a)3220 2065 y Ft(y)3342 2053 y Fz(a)3386 2023 y FA(2)3386 2073 y Ft(x)3447 2053 y Fy(+)18 b Fz(a)3574 2023 y FA(2)3574 2073 y Ft(y)3696 2053 y FG(1)3011 2154 y Fz(b)3047 2166 y Ft(x)3180 2154 y Fz(b)3216 2166 y Ft(y)3351 2154 y Fz(b)3387 2124 y FA(2)3387 2174 y Ft(x)3447 2154 y Fy(+)g Fz(b)3566 2124 y FA(2)3566 2174 y Ft(y)3696 2154 y FG(1)3011 2255 y Fz(c)3047 2267 y Ft(x)3180 2255 y Fz(c)3216 2267 y Ft(y)3350 2255 y Fz(c)3386 2225 y FA(2)3386 2275 y Ft(x)3447 2255 y Fy(+)g Fz(c)3566 2225 y FA(2)3566 2275 y Ft(y)3696 2255 y FG(1)3007 2356 y Fz(d)3050 2368 y Ft(x)3176 2356 y Fz(d)3219 2368 y Ft(y)3343 2356 y Fz(d)3386 2326 y FA(2)3386 2376 y Ft(x)3447 2356 y Fy(+)g Fz(d)3573 2326 y FA(2)3573 2376 y Ft(y)3696 2356 y FG(1)3779 1986 y Fh(\014)3779 2036 y(\014)3779 2086 y(\014)3779 2136 y(\014)3779 2186 y(\014)3779 2235 y(\014)3779 2285 y(\014)3779 2335 y(\014)3953 2206 y FG(\(3\))2121 2615 y Fy(=)2208 2445 y Fh(\014)2208 2495 y(\014)2208 2545 y(\014)2208 2595 y(\014)2208 2644 y(\014)2208 2694 y(\014)2277 2518 y Fz(a)2321 2530 y Ft(x)2382 2518 y FC(\000)g Fz(d)2508 2530 y Ft(x)2633 2518 y Fz(a)2677 2530 y Ft(y)2735 2518 y FC(\000)g Fz(d)2861 2530 y Ft(y)2984 2518 y Fy(\()p Fz(a)3060 2530 y Ft(x)3120 2518 y FC(\000)g Fz(d)3246 2530 y Ft(x)3288 2518 y Fy(\))3320 2488 y FA(2)3372 2518 y Fy(+)g(\()p Fz(a)3531 2530 y Ft(y)3590 2518 y FC(\000)g Fz(d)3716 2530 y Ft(y)3756 2518 y Fy(\))3788 2488 y FA(2)2282 2615 y Fz(b)2318 2627 y Ft(x)2377 2615 y FC(\000)g Fz(d)2503 2627 y Ft(x)2637 2615 y Fz(b)2673 2627 y Ft(y)2731 2615 y FC(\000)g Fz(d)2857 2627 y Ft(y)2992 2615 y Fy(\()p Fz(b)3060 2627 y Ft(x)3120 2615 y FC(\000)g Fz(d)3246 2627 y Ft(x)3288 2615 y Fy(\))3320 2585 y FA(2)3372 2615 y Fy(+)g(\()p Fz(b)3523 2627 y Ft(y)3582 2615 y FC(\000)g Fz(d)3708 2627 y Ft(y)3748 2615 y Fy(\))3780 2585 y FA(2)2281 2712 y Fz(c)2317 2724 y Ft(x)2378 2712 y FC(\000)g Fz(d)2504 2724 y Ft(x)2637 2712 y Fz(c)2673 2724 y Ft(y)2731 2712 y FC(\000)g Fz(d)2857 2724 y Ft(y)2992 2712 y Fy(\()p Fz(c)3060 2724 y Ft(x)3120 2712 y FC(\000)g Fz(d)3246 2724 y Ft(x)3288 2712 y Fy(\))3320 2682 y FA(2)3372 2712 y Fy(+)g(\()p Fz(c)3523 2724 y Ft(y)3582 2712 y FC(\000)g Fz(d)3708 2724 y Ft(y)3748 2712 y Fy(\))3780 2682 y FA(2)3863 2445 y Fh(\014)3863 2495 y(\014)3863 2545 y(\014)3863 2595 y(\014)3863 2644 y(\014)3863 2694 y(\014)3953 2615 y FG(\(4\))2132 2882 y(These)d(formulae)e(generalize)h (to)h(other)g(dimensions)f(in)h(the)g(ob)o(vi-)2049 2974 y(ous)20 b(w)o(ay)-5 b(.)29 b(Expressions)18 b(1)j(and)e(2)h(can)g(be)g (sho)n(wn)f(to)h(be)g(equi)n(v)n(alent)2049 3067 y(by)31 b(simple)f(algebraic)g(transformations,)h(as)h(can)f(Expressions)e(3) 2049 3160 y(and)35 b(4.)77 b(These)36 b(equi)n(v)n(alences)e(are)i (unsurprising)e(because)h(one)2049 3252 y(e)o(xpects)27 b(the)h(results)g(of)f(an)o(y)g(orientation)g(or)g(incircle)g(test)i (not)e(to)2049 3345 y(change)16 b(if)h(all)h(the)f(points)f(under)o(go) f(an)i(identical)f(translation)g(in)i(the)2049 3438 y(plane.)28 b(Expression)16 b(2,)j(for)e(instance,)h(follo)n(ws)g(from)f (Expression)f(1)2049 3530 y(by)k(translating)f(each)h(point)f(by)h FC(\000)p Fz(d)p FG(.)2132 3648 y(F)o(or)h(e)o(xact)h(computation,)d (the)j(choice)f(between)g(Expressions)f(1)2049 3740 y(and)26 b(2,)i(or)f(between)f(3)g(and)g(4,)j(is)e(not)g(straightforw)o(ard.)46 b(Expres-)2049 3833 y(sion)33 b(2)g(tak)o(es)g(roughly)d(25\045)j(more) f(time)h(to)g(compute)e(in)i(e)o(xact)2049 3926 y(arithmetic,)38 b(and)c(Expression)g(4)h(tak)o(es)g(about)f(30\045)h(more)f(time)2049 4018 y(than)26 b(Expression)f(3.)48 b(The)26 b(disparity)g(lik)o(ely)g (increases)g(in)h(higher)2049 4111 y(dimensions.)h(Ne)n(v)o(ertheless,) 18 b(the)h(mechanics)f(of)g(error)g(estimation)2049 4204 y(turn)j(the)i(tide)f(in)g(the)g(other)f(direction.)34 b(Important)20 b(as)j(a)f(f)o(ast)h(e)o(xact)2049 4296 y(test)j(is,)g(it)g(is)f(equally)f(important)f(to)i(a)n(v)n(oid)f(e)o (xact)h(tests)h(whene)n(v)o(er)2049 4389 y(possible.)58 b(Expressions)29 b(2)h(and)g(4)g(tend)g(to)g(ha)n(v)o(e)f(smaller)h (errors)2049 4481 y(\(and)25 b(correspondingly)c(smaller)26 b(error)e(estimates\))i(because)f(their)2049 4574 y(errors)19 b(are)g(a)h(function)d(of)i(the)h(relati)n(v)o(e)e(coordinates)g(of)h (the)g(points,)2049 4667 y(whereas)24 b(the)h(errors)e(of)i (Expressions)e(1)i(and)f(3)g(are)h(a)g(function)e(of)2049 4759 y(the)d(absolute)g(coordinates)e(of)i(the)g(points.)2132 4877 y(In)31 b(most)h(geometric)f(applications,)i(the)e(points)h(that)g (serv)o(e)f(as)2049 4969 y(parameters)21 b(to)i(geometric)f(tests)h (tend)g(to)g(be)f(close)h(to)g(each)f(other)-5 b(.)2049 5062 y(Commonly)g(,)24 b(their)g(absolute)g(coordinates)g(are)h(much)e (lar)o(ger)h(than)2049 5155 y(the)33 b(distances)g(between)g(them.)68 b(By)34 b(translating)e(the)h(points)g(so)2049 5247 y(the)o(y)c(lie)i (near)e(the)h(origin,)i(w)o(orking)c(precision)h(is)i(freed)e(for)h (the)2049 5340 y(subsequent)20 b(calculations.)32 b(Hence,)21 b(the)g(errors)g(and)g(error)f(bounds)p eop %%Page: 7 7 7 6 bop -39 1800 a @beginspecial 0 @llx 0 @lly 292 @urx 292 @ury 2160 @rwi @setspecial %%BeginDocument: translate.eps /$F2psDict 200 dict def F2psDictbeginF2psDict begin F2psDictbeginF2psDict /mtrx matrix put /col-1 {} def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save -196.0 380.0 translate 1 -1 scale /clp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /l {lineto} bind def /m {moveto} bind def /n {newpath} bind def /s {stroke} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def F2psBegin10setmiterlimit0.060000.06000scF2psBegin 10 setmiterlimit 0.06000 0.06000 sc % Polyline n 6075 6300 m 6000 5775 l 6225 5475 l 6150 4950 l 6150 4575 l 6375 4500 l 6600 4200 l 6975 4200 l 7425 4425 l 7800 4725 l 8100 4575 l 8100 6300 l clp gs 0.65 setgray ef gr % Polyline n 6825 1500 m 6975 1800 l 6825 2400 l 7125 3075 l 7500 3300 l 8025 3300 l 8100 3450 l 8100 1500 l 6825 1500 l clp gs 0.65 setgray ef gr % Polyline n 3300 4500 m 3525 4500 l 4125 4950 l 4350 4800 l 4425 4500 l 4200 4275 l 4875 4500 l 5175 5025 l 5325 5475 l 4950 5925 l 5100 6300 l 3300 6300 l 3300 4950 l clp gs 0.65 setgray ef gr % Polyline n 3300 3300 m 3675 3225 l 3975 3300 l 4500 3375 l 4950 3450 l 5100 3000 l 5025 2625 l 4575 2175 l 5100 2100 l 4650 1650 l 4800 1500 l 3300 1500 l clp gs 0.65 setgray ef gr % Polyline n 6525 2850 m 6300 3000 l 6300 3450 l 6600 3300 l clp gs 0.65 setgray ef gr % Polyline n 6600 3300 m 6975 3375 l 7125 3075 l clp gs 0.65 setgray ef gr 7.500 slw % Polyline n 4950 3450 m 5175 4050 l gs col0 s gr % Polyline n 5550 3075 m 5550 3750 l gs col0 s gr % Polyline n 5550 3075 m 5925 3450 l gs col0 s gr % Polyline n 5925 3450 m 6300 3825 l gs col0 s gr % Polyline n 6300 3825 m 5850 4200 l gs col0 s gr % Polyline n 5850 4200 m 6375 4500 l gs col0 s gr % Polyline n 6375 4500 m 6300 3825 l gs col0 s gr % Polyline n 5850 4200 m 5775 4800 l gs col0 s gr % Polyline n 5325 4575 m 5175 4050 l gs col0 s gr % Polyline n 5325 4575 m 5775 4800 l gs col0 s gr % Polyline n 5175 4050 m 4875 4500 l gs col0 s gr % Polyline n 4875 4500 m 5325 4575 l gs col0 s gr % Polyline n 5325 4575 m 5175 5025 l gs col0 s gr % Polyline n 5175 5025 m 5775 4800 l gs col0 s gr % Polyline n 5175 5025 m 4875 4500 l gs col0 s gr % Polyline n 4875 4500 m 4425 4125 l gs col0 s gr % Polyline n 4425 4125 m 5175 4050 l gs col0 s gr % Polyline n 4950 3450 m 4500 3375 l gs col0 s gr % Polyline n 4500 3375 m 5175 4050 l gs col0 s gr % Polyline n 4500 3375 m 4425 4125 l gs col0 s gr % Polyline n 4425 4125 m 4200 4275 l gs col0 s gr % Polyline n 4200 4275 m 4500 3375 l gs col0 s gr % Polyline n 4500 3375 m 4350 2700 l gs col0 s gr % Polyline n 4350 2700 m 4575 2175 l gs col0 s gr % Polyline n 4575 2175 m 5475 2400 l gs col0 s gr % Polyline n 5475 2400 m 5550 3075 l gs col0 s gr % Polyline n 5550 3075 m 6075 2775 l gs col0 s gr % Polyline n 6075 2775 m 5925 3450 l gs col0 s gr % Polyline n 5925 3450 m 6300 3450 l gs col0 s gr % Polyline n 6300 3450 m 6300 3825 l gs col0 s gr % Polyline n 6300 3825 m 6600 4200 l gs col0 s gr % Polyline n 6600 4200 m 6375 4500 l gs col0 s gr % Polyline n 4200 4275 m 4875 4500 l gs col0 s gr % Polyline n 5850 5325 m 5775 4800 l gs col0 s gr % Polyline n 5400 6000 m 6000 5775 l gs col0 s gr % Polyline n 5550 5700 m 5550 5700 l gs col0 s gr % Polyline n 5850 5325 m 5400 6000 l gs col0 s gr % Polyline n 5850 5325 m 6000 5775 l gs col0 s gr % Polyline n 5850 5325 m 5175 5025 l gs col0 s gr % Polyline n 6375 4500 m 7050 4950 l gs col0 s gr % Polyline n 6600 4200 m 6525 3675 l gs col0 s gr % Polyline n 6525 3675 m 6300 3825 l gs col0 s gr % Polyline n 6300 3825 m 6600 3300 l gs col0 s gr % Polyline n 6600 3300 m 6525 3675 l gs col0 s gr % Polyline n 6300 3450 m 6600 3300 l gs col0 s gr % Polyline n 6600 3300 m 6075 2775 l gs col0 s gr % Polyline n 6075 2775 m 5475 2400 l gs col0 s gr % Polyline n 5475 2400 m 6225 1650 l gs col0 s gr % Polyline n 5475 2400 m 5250 1725 l gs col0 s gr % Polyline n 5250 1725 m 6225 1650 l gs col0 s gr % Polyline n 5250 1725 m 5475 1500 l gs col0 s gr % Polyline n 5250 1725 m 5025 1500 l gs col0 s gr % Polyline n 5250 1725 m 5100 2100 l gs col0 s gr % Polyline n 5100 2100 m 5475 2400 l gs col0 s gr % Polyline n 5100 2100 m 4575 2175 l gs col0 s gr % Polyline n 4575 2175 m 4650 1650 l gs col0 s gr % Polyline n 4650 1650 m 5100 2100 l gs col0 s gr % Polyline n 5250 1725 m 4650 1650 l gs col0 s gr % Polyline n 4650 1650 m 4800 1500 l gs col0 s gr % Polyline n 4650 1650 m 4425 1500 l gs col0 s gr % Polyline n 4650 1650 m 3900 1800 l gs col0 s gr % Polyline n 3900 1800 m 4050 1500 l gs col0 s gr % Polyline n 3900 1800 m 3450 1500 l gs col0 s gr % Polyline n 3900 1800 m 3450 2250 l gs col0 s gr % Polyline n 3450 2250 m 3300 1650 l gs col0 s gr % Polyline n 3450 2250 m 3975 2175 l gs col0 s gr % Polyline n 3975 2175 m 3900 1800 l gs col0 s gr % Polyline n 3975 2175 m 4650 1650 l gs col0 s gr % Polyline n 4575 2175 m 3975 2175 l gs col0 s gr % Polyline n 3975 2175 m 4350 2700 l gs col0 s gr % Polyline n 3450 2250 m 3300 2550 l gs col0 s gr % Polyline n 3300 2850 m 3675 3225 l gs col0 s gr % Polyline n 3675 3225 m 3300 3150 l gs col0 s gr % Polyline n 3675 3225 m 3300 3300 l gs col0 s gr % Polyline n 3675 3225 m 3525 3825 l gs col0 s gr % Polyline n 3525 3825 m 3300 3600 l gs col0 s gr % Polyline n 3525 3825 m 3300 4275 l gs col0 s gr % Polyline n 3525 3825 m 4200 4275 l gs col0 s gr % Polyline n 4200 4275 m 3525 4500 l gs col0 s gr % Polyline n 3525 4500 m 3525 3825 l gs col0 s gr % Polyline n 3525 4500 m 3300 4500 l gs col0 s gr % Polyline n 3525 4500 m 3300 4950 l gs col0 s gr % Polyline n 3525 4500 m 4125 4950 l gs col0 s gr % Polyline n 4125 4950 m 4200 4275 l gs col0 s gr % Polyline n 4125 4950 m 4425 5700 l gs col0 s gr % Polyline n 4425 5700 m 4350 6300 l gs col0 s gr % Polyline n 5400 6000 m 5625 6300 l gs col0 s gr % Polyline n 6000 5775 m 5775 6300 l gs col0 s gr % Polyline n 4425 5700 m 3900 5325 l gs col0 s gr % Polyline n 3900 5325 m 4125 4950 l gs col0 s gr % Polyline n 3900 5325 m 3300 5175 l gs col0 s gr % Polyline n 3900 5325 m 3300 5850 l gs col0 s gr % Polyline n 3900 5325 m 3975 6000 l gs col0 s gr % Polyline n 3975 6000 m 4425 5700 l gs col0 s gr % Polyline n 3975 6000 m 3300 5850 l gs col0 s gr % Polyline n 3975 6000 m 3300 6150 l gs col0 s gr % Polyline n 3975 6000 m 3675 6300 l gs col0 s gr % Polyline n 3450 6300 m 3300 6225 l gs col0 s gr % Polyline n 3975 6000 m 4200 6300 l gs col0 s gr % Polyline n 4425 5700 m 4575 6300 l gs col0 s gr % Polyline n 5400 6000 m 5250 6300 l gs col0 s gr % Polyline n 6525 5175 m 7050 4950 l gs col0 s gr % Polyline n 6075 2775 m 6825 2400 l gs col0 s gr % Polyline n 6825 2400 m 6600 3300 l gs col0 s gr % Polyline n 6825 2400 m 6225 1650 l gs col0 s gr % Polyline n 6225 1650 m 6000 1500 l gs col0 s gr % Polyline n 6225 1650 m 6525 1500 l gs col0 s gr % Polyline n 6225 1650 m 6975 1800 l gs col0 s gr % Polyline n 6975 1800 m 6825 2400 l gs col0 s gr % Polyline n 6975 1800 m 6825 1500 l gs col0 s gr % Polyline n 6975 1800 m 7275 1500 l gs col0 s gr % Polyline n 6975 1800 m 7200 2100 l gs col0 s gr % Polyline n 7200 2100 m 6825 2400 l gs col0 s gr % Polyline n 6825 2400 m 7125 3075 l gs col0 s gr % Polyline n 7125 3075 m 6600 3300 l gs col0 s gr % Polyline n 6525 3675 m 6900 3825 l gs col0 s gr % Polyline n 6900 3825 m 6600 4200 l gs col0 s gr % Polyline n 6900 3825 m 6600 3300 l gs col0 s gr % Polyline n 6600 3300 m 6975 3375 l gs col0 s gr % Polyline n 4125 4950 m 3825 4875 l gs col0 s gr % Polyline n 3825 4875 m 3900 5325 l gs col0 s gr % Polyline n 3825 4875 m 3525 4500 l gs col0 s gr % Polyline n 6975 3375 m 6900 3825 l gs col0 s gr % Polyline n 6900 3825 m 6975 4200 l gs col0 s gr % Polyline n 6975 4200 m 6600 4200 l gs col0 s gr % Polyline n 6600 4200 m 7050 4425 l gs col0 s gr % Polyline n 7050 4425 m 6975 4200 l gs col0 s gr % Polyline n 6975 4200 m 6975 4200 l gs col0 s gr % Polyline n 6975 4200 m 7200 3675 l gs col0 s gr % Polyline n 7200 3675 m 7200 3675 l gs col0 s gr % Polyline n 7200 3675 m 6900 3825 l gs col0 s gr % Polyline n 7200 3675 m 6975 3375 l gs col0 s gr % Polyline n 6975 3375 m 6975 3375 l gs col0 s gr % Polyline n 6975 3375 m 7125 3075 l gs col0 s gr % Polyline n 7125 3075 m 7200 3675 l gs col0 s gr % Polyline n 7200 3675 m 7500 3300 l gs col0 s gr % Polyline n 7500 3300 m 7500 3300 l gs col0 s gr % Polyline n 7500 3300 m 7125 3075 l gs col0 s gr % Polyline n 7125 3075 m 7125 3075 l gs col0 s gr % Polyline n 7125 3075 m 7425 2550 l gs col0 s gr % Polyline n 7425 2550 m 6825 2400 l gs col0 s gr % Polyline n 7200 2100 m 7425 2550 l gs col0 s gr % Polyline n 7425 2550 m 7650 2850 l gs col0 s gr % Polyline n 7650 2850 m 7125 3075 l gs col0 s gr % Polyline n 7650 2850 m 7500 3300 l gs col0 s gr % Polyline n 7500 3300 m 7650 3825 l gs col0 s gr % Polyline n 7650 3825 m 7200 3675 l gs col0 s gr % Polyline n 6975 4200 m 7650 3825 l gs col0 s gr % Polyline n 7650 3825 m 8025 3300 l gs col0 s gr % Polyline n 8025 3300 m 7650 2850 l gs col0 s gr % Polyline n 7650 2850 m 7875 1950 l gs col0 s gr % Polyline n 7875 1950 m 7425 2550 l gs col0 s gr % Polyline n 7200 2100 m 7875 1950 l gs col0 s gr % Polyline n 7875 1950 m 7500 1575 l gs col0 s gr % Polyline n 7500 1575 m 7200 2100 l gs col0 s gr % Polyline n 6975 1800 m 7275 1650 l gs col0 s gr % Polyline n 7275 1650 m 7200 2100 l gs col0 s gr % Polyline n 7275 1650 m 7350 1500 l gs col0 s gr % Polyline n 7500 1575 m 7425 1500 l gs col0 s gr % Polyline n 7500 1575 m 7650 1500 l gs col0 s gr % Polyline n 7875 1950 m 8100 1650 l gs col0 s gr % Polyline n 8100 1650 m 7875 1500 l gs col0 s gr % Polyline n 8100 1650 m 7500 1575 l gs col0 s gr % Polyline n 7875 1950 m 8100 1875 l gs col0 s gr % Polyline n 7875 1950 m 8100 2400 l gs col0 s gr % Polyline n 7650 2850 m 8100 2550 l gs col0 s gr % Polyline n 8025 3300 m 8025 2775 l gs col0 s gr % Polyline n 8025 2775 m 7650 2850 l gs col0 s gr % Polyline n 8025 2775 m 8100 2625 l gs col0 s gr % Polyline n 8025 2775 m 8100 3000 l gs col0 s gr % Polyline n 8025 3300 m 8100 3300 l gs col0 s gr % Polyline n 8025 3300 m 8100 3450 l gs col0 s gr % Polyline n 7650 3825 m 8100 3600 l gs col0 s gr % Polyline n 7650 3825 m 8100 4200 l gs col0 s gr % Polyline n 7800 4725 m 8100 4200 l gs col0 s gr 30.000 slw % Polyline n 3300 3900 m 8100 3900 l gs col0 s gr 7.500 slw % Polyline n 7800 4725 m 8100 4875 l gs col0 s gr 30.000 slw % Polyline n 5700 1500 m 5700 6300 l gs col0 s gr 7.500 slw % Polyline n 8100 4875 m 7500 5025 l gs col0 s gr % Polyline n 7500 5025 m 7800 4725 l gs col0 s gr % Polyline n 7800 4725 m 7425 4425 l gs col0 s gr % Polyline n 7425 4425 m 7650 3825 l gs col0 s gr % Polyline n 7425 4425 m 6975 4200 l gs col0 s gr % Polyline n 7050 4425 m 7425 4425 l gs col0 s gr % Polyline n 7050 4425 m 7050 4950 l gs col0 s gr % Polyline n 7425 4425 m 7050 4950 l gs col0 s gr % Polyline n 7050 4950 m 7500 5025 l gs col0 s gr % Polyline n 7500 5025 m 7425 4425 l gs col0 s gr % Polyline n 7500 5025 m 7725 5475 l gs col0 s gr % Polyline n 7725 5475 m 8100 4875 l gs col0 s gr % Polyline n 8100 4875 m 8100 5700 l gs col0 s gr % Polyline n 8100 5700 m 7725 5475 l gs col0 s gr % Polyline n 7725 5475 m 7125 5325 l gs col0 s gr % Polyline n 7125 5325 m 7500 5025 l gs col0 s gr % Polyline n 7125 5325 m 7050 4950 l gs col0 s gr % Polyline n 7125 5325 m 6525 5175 l gs col0 s gr % Polyline n 6525 5175 m 6750 5700 l gs col0 s gr % Polyline n 6750 5700 m 7125 5325 l gs col0 s gr % Polyline n 6750 5700 m 6900 6300 l gs col0 s gr % Polyline n 6750 5700 m 7200 5850 l gs col0 s gr % Polyline n 7200 5850 m 7125 5325 l gs col0 s gr % Polyline n 7725 5475 m 7200 5850 l gs col0 s gr % Polyline n 7200 5850 m 6975 6300 l gs col0 s gr % Polyline n 7200 5850 m 7350 6300 l gs col0 s gr % Polyline n 7200 5850 m 7650 5775 l gs col0 s gr % Polyline n 7650 5775 m 7725 5475 l gs col0 s gr % Polyline n 7650 5775 m 8100 5700 l gs col0 s gr % Polyline n 7650 5775 m 8100 6000 l gs col0 s gr % Polyline n 7650 5775 m 7500 6300 l gs col0 s gr % Polyline n 7650 5775 m 7650 6300 l gs col0 s gr % Polyline n 7650 5775 m 7875 6075 l gs col0 s gr % Polyline n 7875 6075 m 7650 6300 l gs col0 s gr % Polyline n 7875 6075 m 7875 6075 l gs col0 s gr % Polyline n 7875 6075 m 8100 6075 l gs col0 s gr % Polyline n 7875 6075 m 8025 6300 l gs col0 s gr % Polyline n 5475 2400 m 5250 2550 l gs col0 s gr % Polyline n 5250 2550 m 5550 3075 l gs col0 s gr % Polyline n 5250 2550 m 4575 2175 l gs col0 s gr % Polyline n 5850 4200 m 5325 4575 l gs col0 s gr % Polyline n 4500 3375 m 4650 3000 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4650 3000 m 4350 2700 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4650 3000 m 4575 2175 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4650 3000 m 5025 2625 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5025 2625 m 4575 2175 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5025 2625 m 5250 2550 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5025 2625 m 5550 3075 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4650 3000 m 4950 3450 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4950 3450 m 5550 3075 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4950 3450 m 5100 3000 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5100 3000 m 5550 3075 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5100 3000 m 5025 2625 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5100 3000 m 4650 3000 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6075 2775 m 6375 2250 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6375 2250 m 6225 1650 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6375 2250 m 6825 2400 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6075 2775 m 6525 2850 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6525 2850 m 6600 3300 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6525 2850 m 6825 2400 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5925 3450 m 6300 3000 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6300 3000 m 6525 2850 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6300 3000 m 6300 3450 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6375 2250 m 6000 2175 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6000 2175 m 6225 1650 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6000 2175 m 6075 2775 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6000 2175 m 5700 2400 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5700 2400 m 6075 2775 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5700 2400 m 5475 2400 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5700 2400 m 6225 1650 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5250 1725 m 5550 1950 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5550 1950 m 5475 2400 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5550 1950 m 6225 1650 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3750 2475 m 3975 2775 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3975 2775 m 3975 3300 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3975 3300 m 3825 3600 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3975 3300 m 4200 3750 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3975 3300 m 4275 3000 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4275 3000 m 3975 2775 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3975 2775 m 4350 2700 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4350 2700 m 4275 3000 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4275 3000 m 4500 3375 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4500 3375 m 3975 3300 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4200 3750 m 4500 3375 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4200 3750 m 4200 4275 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4200 3750 m 3825 3600 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3825 3600 m 4200 4275 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3825 3600 m 3525 3825 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3675 3225 m 3825 3600 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3975 3300 m 3675 3225 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3975 2775 m 3675 3225 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3675 3225 m 3600 2625 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3600 2625 m 3975 2775 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3750 2475 m 4350 2700 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3975 2175 m 3750 2475 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3750 2475 m 3600 2625 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3600 2625 m 3300 2700 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3450 2250 m 3600 2625 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 7500 3300 m 8025 3300 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 7800 4725 m 8100 4575 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4350 4800 m 4650 4950 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4650 4950 m 4725 4575 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4650 4950 m 4950 5175 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4950 5175 m 4650 5550 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4650 5550 m 5325 5475 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5325 5475 m 4950 5925 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4950 5925 m 4650 5550 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4650 5550 m 4425 5700 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4425 5700 m 4950 5175 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4950 5175 m 4425 5175 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4425 5175 m 4425 5700 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4425 5175 m 4125 4950 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4125 4950 m 4350 4800 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4350 4800 m 4425 5175 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4425 5175 m 4650 4950 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4650 4950 m 4425 4500 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4425 4500 m 4350 4800 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4200 4275 m 4425 4500 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4425 4500 m 4725 4575 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4725 4575 m 4875 4500 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4875 4500 m 4425 4500 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4725 4575 m 5175 5025 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5175 5025 m 4650 4950 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4950 5175 m 5175 5025 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5175 5025 m 5325 5475 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5325 5475 m 4950 5175 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5325 5475 m 5850 5325 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5325 5475 m 5400 6000 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5400 6000 m 4950 5925 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4950 5925 m 5100 6300 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4950 5925 m 4800 6300 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 4950 5925 m 4425 5700 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6000 5775 m 6300 6000 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6300 6000 m 6075 6300 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6075 6300 m 6000 5775 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6075 6300 m 6525 6075 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6525 6075 m 6300 6000 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6300 6000 m 6750 5700 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6750 5700 m 6525 6075 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6525 6075 m 6675 6300 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6525 6075 m 6450 6300 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6750 5700 m 6225 5475 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6225 5475 m 6300 6000 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6000 5775 m 6225 5475 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5850 5325 m 6225 5475 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6225 5475 m 6525 5175 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6525 5175 m 6150 4950 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6150 4950 m 6225 5475 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5850 5325 m 6150 4950 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6150 4950 m 5775 4800 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5775 4800 m 6150 4575 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6150 4575 m 6150 4950 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5850 4200 m 6150 4575 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6150 4575 m 6375 4500 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6375 4500 m 6525 5175 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6150 4950 m 6375 4500 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6375 4500 m 6825 4500 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6825 4500 m 7050 4950 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6825 4500 m 7050 4425 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6750 6075 m 6750 5700 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6750 6075 m 6525 6075 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 6750 6075 m 6750 6300 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 7725 5475 m 8025 5325 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 8025 5325 m 8100 5700 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 8025 5325 m 8100 4875 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 7800 4200 m 7425 4425 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 7800 4200 m 7800 4725 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 7650 3825 m 7800 4200 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 7800 4200 m 8100 4200 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5550 3750 m 5925 3450 l gs col0 s gr % Polyline n 6600 4200 m 6825 4500 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3825 4875 m 3300 4950 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 3300 4950 m 3900 5325 l gs 0.65 setgray ef gr gs col0 s gr % Polyline n 5925 3450 m 5850 4200 l 5850 4200 l 5550 3750 l gs col0 s gr % Polyline n 5550 3750 m 5175 4050 l gs col0 s gr % Polyline n 3450 2250 m 3750 2475 l gs col0 s gr % Polyline n 5175 4050 m 5850 4200 l gs col0 s gr % Polyline n 7275 1650 m 7500 1575 l gs col0 s gr % Polyline n 5550 3750 m 4950 3450 l gs col0 s gr % Polyline n 6750 6075 m 6825 6300 l gs col0 s gr % Polyline n 4200 4275 m 4350 4800 l gs col0 s gr F2psBegin10setmiterlimit0.060000.06000scF2psEnd restore %%EndDocument @endspecial -150 1956 a FG(Figure)25 b(4:)39 b Fj(Shaded)22 b(tr)q(iangles)h(can)f(be)h(tr)o(anslated)g(to)g(the)g(or)q(igin)f (without)-150 2030 y(incurr)q(ing)16 b(roundoff)g(error)m(.)26 b(In)16 b(most)h(tr)q(iangulations)o(,)g(such)f(tr)q(iangles)g(are)g (the)-150 2103 y(common)j(case)o(.)-150 2353 y FG(for)i(Expressions)f (2)i(and)f(4)h(are)f(generally)f(much)h(smaller)g(than)g(for)-150 2446 y(Expressions)h(1)h(and)f(3.)37 b(Furthermore,)21 b(the)i(translation)f(can)g(often)-150 2539 y(be)f(done)f(without)g (roundof)n(f)d(error)-5 b(.)31 b(Figure)20 b(4)h(demonstrates)e(a)j(to) o(y)-150 2631 y(problem:)36 b(suppose)24 b(O)p FB(RIENT)p FG(2D)g(is)h(used)g(to)f(\256nd)h(the)f(orientation)-150 2724 y(of)j(each)f(triangle)h(in)g(a)g(triangulation.)48 b(A)28 b(well-kno)n(wn)d(property)-150 2816 y(of)d(\257oating-point)d (arithmetic)i(is)i(that)f(if)g(tw)o(o)g Fz(p)p FG(-bit)g (\257oating-point)-150 2909 y(v)n(alues)k(ha)n(v)o(e)f(the)i(same)f (sign)g(and)g(dif)n(fer)f(by)h(at)g(most)h(a)f(f)o(actor)g(of)-150 3002 y(tw)o(o,)36 b(their)d(dif)n(ference)e(is)j(e)o(xpressible)e(in)h Fz(p)h FG(bits.)68 b(Hence,)35 b(an)o(y)-150 3094 y(shaded)26 b(triangle)h(can)g(be)g(translated)f(so)i(that)f(one)g(of)g(its)h(v)o (ertices)-150 3187 y(lies)d(at)g(the)g(origin)e(without)h(roundof)n(f)d (error;)26 b(the)f(white)f(triangles)-150 3280 y(may)30 b(or)g(may)h(not)f(suf)n(fer)g(from)f(roundof)n(f)f(during)h(such)h (transla-)-150 3372 y(tion.)54 b(If)29 b(the)g(complete)e (triangulation)g(is)i(much)f(lar)o(ger)f(than)i(the)-150 3465 y(portion)e(illustrated,)k(only)c(a)j(small)f(proportion)d(of)i (the)h(triangles)-150 3558 y(\(those)24 b(near)f(a)i(coordinate)d (axis\))i(can)f(suf)n(fer)h(roundof)n(f.)37 b(Because)-150 3650 y(e)o(xact)18 b(translation)f(is)i(the)f(common)e(case,)j(my)e (adapti)n(v)o(e)g(geometric)-150 3743 y(predicates)i(test)i(for)f(and)g (e)o(xploit)f(this)h(case.)-67 3861 y(Once)i(a)h(determinant)e(has)i (been)f(chosen)g(for)g(e)n(v)n(aluation,)f(there)-150 3953 y(are)29 b(se)n(v)o(eral)f(methods)f(to)i(e)n(v)n(aluate)f(it.)55 b(A)29 b(fe)n(w)g(are)g(surv)o(e)o(yed)d(by)-150 4046 y(F)o(ortune)d(and)g(V)-9 b(an)24 b(W)-6 b(yk)24 b([5)o(];)i(only)e (their)f(conclusion)g(is)i(repeated)-150 4139 y(here.)35 b(The)21 b(cheapest)h(method)f(of)h(e)n(v)n(aluating)e(the)i (determinant)f(of)-150 4231 y(a)e(5)14 b FC(\002)h FG(5)k(or)f(smaller) h(matrix)f(seems)h(to)f(be)h(dynamic)e(programming)-150 4335 y(applied)f(to)h(cof)o(actor)f(e)o(xpansion.)26 b(Ev)n(aluate)17 b(the)1294 4268 y Fh(\000)1332 4298 y Ft(d)1335 4363 y FA(2)1366 4268 y Fh(\001)1422 4335 y FG(determinants)-150 4449 y(of)30 b(all)h(2)23 b FC(\002)h FG(2)30 b(minors)g(of)g(the)g(\256rst)h(tw)o(o)g(columns,)g(then)f(the) 1740 4382 y Fh(\000)1778 4412 y Ft(d)1781 4478 y FA(3)1813 4382 y Fh(\001)-150 4542 y FG(determinants)15 b(of)i(all)g(3)11 b FC(\002)g FG(3)16 b(minors)g(of)h(the)f(\256rst)i(tw)o(o)f(columns,)f (and)-150 4635 y(so)21 b(on.)28 b(All)21 b(four)e(of)h(my)g(predicates) f(use)i(this)f(method.)-150 4760 y Fw(5.2)82 b FG(O)p FB(RIENT)p FG(2D)-67 4886 y(My)32 b(implementation)e(of)i(O)p FB(RIENT)p FG(2D)f(computes)g(a)i(sequence)-150 4979 y(of)i(up)f(to)h(four)f(results)h(\(labeled)f(A)h(through)e(D\))i(as)h (illustrated)-150 5072 y(in)28 b(Figure)f(5.)53 b(The)28 b(e)o(xact)f(result)h(D)h(may)e(be)h(as)h(long)e(as)i(sixteen)-150 5164 y(components,)19 b(b)n(ut)h(zero)h(elimination)e(is)j(used,)e(so)i (a)f(length)f(of)g(tw)o(o)-150 5257 y(to)g(six)h(components)d(is)j (more)e(common)g(in)h(practice.)2061 1926 y @beginspecial 0 @llx 0 @lly 861 @urx 830 @ury 2397 @rwi @setspecial %%BeginDocument: orient2d.eps /$F2psDict 200 dict def F2psDictbeginF2psDict begin F2psDictbeginF2psDict /mtrx matrix put /col-1 {} def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save -14.0 954.0 translate 1 -1 scale /clp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /l {lineto} bind def /m {moveto} bind def /n {newpath} bind def /s {stroke} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def F2psBegin10setmiterlimit0.060000.06000sc/Times−Romanfindfont360.00scalefontsetfont300615831mgs1−1sc(x)col0showgr/Times−Romanfindfont480.00scalefontsetfont375815683mgs1−1sc(c)col0showgr/Times−Romanfindfont360.00scalefontsetfont398115831mgs1−1sc(x)col0showgr/Times−Romanfindfont480.00scalefontsetfont458315683mgs1−1sc(b)col0showgr/Times−Romanfindfont360.00scalefontsetfont488315833mgs1−1sc(y)col0showgr/Times−Romanfindfont480.00scalefontsetfont555815683mgs1−1sc(c)col0showgr/Times−Romanfindfont360.00scalefontsetfont585815833mgs1−1sc(y)col0showgr/Times−Romanfindfont480.00scalefontsetfont773415684mgs1−1sc(a)col0showgr/Times−Romanfindfont360.00scalefontsetfont795715832mgs1−1sc(y)col0showgr/Times−Romanfindfont480.00scalefontsetfont855815683mgs1−1sc(c)col0showgr/Times−Romanfindfont360.00scalefontsetfont878215832mgs1−1sc(y)col0showgr/Times−Romanfindfont480.00scalefontsetfont953415684mgs1−1sc(b)col0showgr/Times−Romanfindfont360.00scalefontsetfont983415834mgs1−1sc(x)col0showgr15.000slwF2psBegin 10 setmiterlimit 0.06000 0.06000 sc /Times-Roman findfont 360.00 scalefont setfont 3006 15831 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 3758 15683 m gs 1 -1 sc (c) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 3981 15831 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 4583 15683 m gs 1 -1 sc (b) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 4883 15833 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 5558 15683 m gs 1 -1 sc (c) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 5858 15833 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 7734 15684 m gs 1 -1 sc (a) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 7957 15832 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 8558 15683 m gs 1 -1 sc (c) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 8782 15832 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 9534 15684 m gs 1 -1 sc (b) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 9834 15834 m gs 1 -1 sc (x) col0 show gr 15.000 slw % Ellipse n 4501 6601 150 150 0 360 DrawEllipse gs col0 s gr % Polyline n 4351 6601 m 4651 6601 l gs col0 s gr % Polyline n 4501 6451 m 4501 6751 l gs col0 s gr % Ellipse n 4051 6601 150 150 0 360 DrawEllipse gs col0 s gr % Polyline n 3901 6601 m 4201 6601 l gs col0 s gr % Polyline n 4051 6451 m 4051 6751 l gs col0 s gr % Ellipse n 3601 6601 150 150 0 360 DrawEllipse gs col0 s gr % Polyline n 3451 6601 m 3751 6601 l gs col0 s gr % Polyline n 3601 6451 m 3601 6751 l gs col0 s gr % Ellipse n 3151 6601 150 150 0 360 DrawEllipse gs col0 s gr % Polyline n 3001 6601 m 3301 6601 l gs col0 s gr % Polyline n 3151 6451 m 3151 6751 l gs col0 s gr 30.000 slw % Ellipse n 2552 4502 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 2552 4202 m 2552 4802 l gs col0 s gr % Polyline n 2252 4502 m 2852 4502 l gs col0 s gr % Ellipse n 1802 8702 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 1502 8702 m 2102 8702 l gs col0 s gr % Ellipse n 3001 8701 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 2701 8701 m 3301 8701 l gs col0 s gr % Ellipse n 602 8702 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 302 8702 m 902 8702 l gs col0 s gr % Ellipse n 2252 6602 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 2252 6302 m 2252 6902 l gs col0 s gr % Polyline n 1952 6602 m 2552 6602 l gs col0 s gr 60.000 slw % Polyline n 2704 10504 m 2704 10654 l 3004 10654 l 3004 10504 l gs col0 s gr % Polyline n 3004 10504 m 3004 10654 l 3304 10654 l 3304 10504 l gs col0 s gr % Polyline n 3008 11709 m 2795 11921 l gs col0 s gr % Polyline n 3008 11709 m 2795 11497 l gs col0 s gr % Polyline n 3009 11708 m 3222 11920 l gs col0 s gr % Polyline n 3009 11708 m 3222 11496 l gs col0 s gr % Ellipse n 3009 11709 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 3908 11709 m 3695 11921 l gs col0 s gr % Polyline n 3908 11709 m 3695 11497 l gs col0 s gr % Polyline n 3909 11708 m 4122 11920 l gs col0 s gr % Polyline n 3909 11708 m 4122 11496 l gs col0 s gr % Ellipse n 3909 11709 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 4808 11709 m 4595 11921 l gs col0 s gr % Polyline n 4808 11709 m 4595 11497 l gs col0 s gr % Polyline n 4809 11708 m 5022 11920 l gs col0 s gr % Polyline n 4809 11708 m 5022 11496 l gs col0 s gr % Ellipse n 4809 11709 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 5708 11709 m 5495 11921 l gs col0 s gr % Polyline n 5708 11709 m 5495 11497 l gs col0 s gr % Polyline n 5709 11708 m 5922 11920 l gs col0 s gr % Polyline n 5709 11708 m 5922 11496 l gs col0 s gr % Ellipse n 5709 11709 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 3604 10504 m 3604 10654 l 3904 10654 l 3904 10504 l gs col0 s gr % Polyline n 3904 10504 m 3904 10654 l 4204 10654 l 4204 10504 l gs col0 s gr % Polyline n 4504 10504 m 4504 10654 l 4804 10654 l 4804 10504 l gs col0 s gr % Polyline n 4804 10504 m 4804 10654 l 5104 10654 l 5104 10504 l gs col0 s gr % Polyline n 5404 10504 m 5404 10654 l 5704 10654 l 5704 10504 l gs col0 s gr % Polyline n 5704 10504 m 5704 10654 l 6004 10654 l 6004 10504 l gs col0 s gr % Polyline n 7505 10505 m 7505 10655 l 7805 10655 l 7805 10505 l gs col0 s gr % Polyline n 7805 10505 m 7805 10655 l 8105 10655 l 8105 10505 l gs col0 s gr % Polyline n 8405 10505 m 8405 10655 l 8705 10655 l 8705 10505 l gs col0 s gr % Polyline n 8705 10505 m 8705 10655 l 9005 10655 l 9005 10505 l gs col0 s gr % Polyline n 9305 10505 m 9305 10655 l 9605 10655 l 9605 10505 l gs col0 s gr % Polyline n 9605 10505 m 9605 10655 l 9905 10655 l 9905 10505 l gs col0 s gr % Polyline n 10205 10505 m 10205 10655 l 10505 10655 l 10505 10505 l gs col0 s gr % Polyline n 10505 10505 m 10505 10655 l 10805 10655 l 10805 10505 l gs col0 s gr % Polyline n 10509 11710 m 10296 11922 l gs col0 s gr % Polyline n 10509 11710 m 10296 11498 l gs col0 s gr % Polyline n 10510 11709 m 10723 11921 l gs col0 s gr % Polyline n 10510 11709 m 10723 11497 l gs col0 s gr % Ellipse n 10510 11710 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 9609 11710 m 9396 11922 l gs col0 s gr % Polyline n 9609 11710 m 9396 11498 l gs col0 s gr % Polyline n 9610 11709 m 9823 11921 l gs col0 s gr % Polyline n 9610 11709 m 9823 11497 l gs col0 s gr % Ellipse n 9610 11710 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 8709 11710 m 8496 11922 l gs col0 s gr % Polyline n 8709 11710 m 8496 11498 l gs col0 s gr % Polyline n 8710 11709 m 8923 11921 l gs col0 s gr % Polyline n 8710 11709 m 8923 11497 l gs col0 s gr % Ellipse n 8710 11710 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 7809 11710 m 7596 11922 l gs col0 s gr % Polyline n 7809 11710 m 7596 11498 l gs col0 s gr % Polyline n 7810 11709 m 8023 11921 l gs col0 s gr % Polyline n 7810 11709 m 8023 11497 l gs col0 s gr % Ellipse n 7810 11710 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 7203 9003 m 7803 9003 l 7803 8403 l 7203 8403 l clp gs col0 s gr % Polyline n 7203 8703 m 7803 8703 l gs col0 s gr % Polyline n 5702 9002 m 6302 9002 l 6302 8402 l 5702 8402 l clp gs col0 s gr % Polyline n 5702 8702 m 6302 8702 l gs col0 s gr % Polyline n 4202 9002 m 4802 9002 l 4802 8402 l 4202 8402 l clp gs col0 s gr % Polyline n 4202 8702 m 4802 8702 l gs col0 s gr % Polyline n 4202 7502 m 4202 7652 l 4502 7652 l 4502 7502 l gs col0 s gr % Polyline n 4502 7502 m 4502 7652 l 4802 7652 l 4802 7502 l gs col0 s gr % Polyline n 4802 7502 m 4802 7652 l 5102 7652 l 5102 7502 l gs col0 s gr % Polyline n 3902 7502 m 3902 7652 l 4202 7652 l 4202 7502 l gs col0 s gr % Polyline n 5702 7502 m 5702 7652 l 6002 7652 l 6002 7502 l gs col0 s gr % Polyline n 6002 7502 m 6002 7652 l 6302 7652 l 6302 7502 l gs col0 s gr % Polyline n 5402 7502 m 5402 7652 l 5702 7652 l 5702 7502 l gs col0 s gr % Polyline n 6302 7502 m 6302 7652 l 6602 7652 l 6602 7502 l gs col0 s gr % Polyline n 7203 7503 m 7203 7653 l 7503 7653 l 7503 7503 l gs col0 s gr % Polyline n 7503 7503 m 7503 7653 l 7803 7653 l 7803 7503 l gs col0 s gr % Polyline n 6903 7503 m 6903 7653 l 7203 7653 l 7203 7503 l gs col0 s gr % Polyline n 7803 7503 m 7803 7653 l 8103 7653 l 8103 7503 l gs col0 s gr % Polyline n 8702 7502 m 8702 7652 l 9002 7652 l 9002 7502 l gs col0 s gr % Polyline n 9002 7502 m 9002 7652 l 9302 7652 l 9302 7502 l gs col0 s gr % Polyline n 8402 7502 m 8402 7652 l 8702 7652 l 8702 7502 l gs col0 s gr % Polyline n 9302 7502 m 9302 7652 l 9602 7652 l 9602 7502 l gs col0 s gr % Polyline n 8253 6003 m 8253 6603 l gs col0 s gr % Polyline n 7953 6603 m 8553 6603 l 8553 6003 l 7953 6003 l clp gs col0 s gr % Polyline n 7953 6303 m 8553 6303 l gs col0 s gr % Polyline n 5253 6003 m 5253 6603 l gs col0 s gr % Polyline n 4953 6603 m 5553 6603 l 5553 6003 l 4953 6003 l clp gs col0 s gr % Polyline n 4953 6303 m 5553 6303 l gs col0 s gr % Polyline n 6753 3603 m 6753 4203 l gs col0 s gr % Polyline n 6453 4203 m 7053 4203 l 7053 3603 l 6453 3603 l clp gs col0 s gr % Polyline n 6453 3903 m 7053 3903 l gs col0 s gr % Polyline n 7054 2704 m 7054 2854 l 7354 2854 l 7354 2704 l gs col0 s gr % Polyline n 7354 2704 m 7354 2854 l 7654 2854 l 7654 2704 l gs col0 s gr % Polyline n 6754 2704 m 6754 2854 l 7054 2854 l 7054 2704 l gs col0 s gr % Polyline n 7654 2704 m 7654 2854 l 7954 2854 l 7954 2704 l gs col0 s gr % Polyline n 4655 2705 m 4655 2855 l 4955 2855 l 4955 2705 l gs col0 s gr % Polyline n 4955 2705 m 4955 2855 l 5255 2855 l 5255 2705 l gs col0 s gr % Polyline n 4355 2705 m 4355 2855 l 4655 2855 l 4655 2705 l gs col0 s gr % Polyline n 5255 2705 m 5255 2855 l 5555 2855 l 5555 2705 l gs col0 s gr % Polyline n 5854 2704 m 5854 2854 l 6154 2854 l 6154 2704 l gs col0 s gr % Polyline n 6154 2704 m 6154 2854 l 6454 2854 l 6454 2704 l gs col0 s gr % Polyline n 5554 2704 m 5554 2854 l 5854 2854 l 5854 2704 l gs col0 s gr % Polyline n 6454 2704 m 6454 2854 l 6754 2854 l 6754 2704 l gs col0 s gr % Polyline n 8255 2705 m 8255 2855 l 8555 2855 l 8555 2705 l gs col0 s gr % Polyline n 8555 2705 m 8555 2855 l 8855 2855 l 8855 2705 l gs col0 s gr % Polyline n 7955 2705 m 7955 2855 l 8255 2855 l 8255 2705 l gs col0 s gr % Polyline n 8855 2705 m 8855 2855 l 9155 2855 l 9155 2705 l gs col0 s gr % Polyline n 4354 5104 m 4354 5254 l 4654 5254 l 4654 5104 l gs col0 s gr % Polyline n 4654 5104 m 4654 5254 l 4954 5254 l 4954 5104 l gs col0 s gr % Polyline n 4054 5104 m 4054 5254 l 4354 5254 l 4354 5104 l gs col0 s gr % Polyline n 4954 5104 m 4954 5254 l 5254 5254 l 5254 5104 l gs col0 s gr % Polyline n 5554 5104 m 5554 5254 l 5854 5254 l 5854 5104 l gs col0 s gr % Polyline n 5854 5104 m 5854 5254 l 6154 5254 l 6154 5104 l gs col0 s gr % Polyline n 5254 5104 m 5254 5254 l 5554 5254 l 5554 5104 l gs col0 s gr % Polyline n 6154 5104 m 6154 5254 l 6454 5254 l 6454 5104 l gs col0 s gr % Polyline n 7354 5104 m 7354 5254 l 7654 5254 l 7654 5104 l gs col0 s gr % Polyline n 7654 5104 m 7654 5254 l 7954 5254 l 7954 5104 l gs col0 s gr % Polyline n 7054 5104 m 7054 5254 l 7354 5254 l 7354 5104 l gs col0 s gr % Polyline n 7954 5104 m 7954 5254 l 8254 5254 l 8254 5104 l gs col0 s gr % Polyline n 8554 5104 m 8554 5254 l 8854 5254 l 8854 5104 l gs col0 s gr % Polyline n 8854 5104 m 8854 5254 l 9154 5254 l 9154 5104 l gs col0 s gr % Polyline n 8254 5104 m 8254 5254 l 8554 5254 l 8554 5104 l gs col0 s gr % Polyline n 9154 5104 m 9154 5254 l 9454 5254 l 9454 5104 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 10358 15683 m gs 1 -1 sc (c) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 10583 15833 m gs 1 -1 sc (x) col0 show gr % Ellipse n 3454 14404 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 3154 14404 m 3754 14404 l gs col0 s gr % Ellipse n 5254 14404 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 4954 14404 m 5554 14404 l gs col0 s gr % Ellipse n 8255 14405 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 7955 14405 m 8555 14405 l gs col0 s gr % Ellipse n 10055 14405 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 9755 14405 m 10355 14405 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 2783 15683 m gs 1 -1 sc (a) col0 show gr % Polyline n 8702 8702 m 9302 8702 l gs col0 s gr /Times-Bold findfont 480.00 scalefont setfont 3450 7650 m gs 1 -1 sc (B) col0 show gr % Polyline n 8702 9002 m 9302 9002 l 9302 8402 l 8702 8402 l clp gs col0 s gr % Polyline n 9904 2404 m 9904 2554 l 10204 2554 l 10204 2404 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 11404 2554 m gs 1 -1 sc (Component) col0 show gr % Polyline n 9904 3004 m 9904 3154 l 10204 3154 l 10204 3004 l gs col0 s gr % Polyline n 10204 3004 m 10204 3154 l 10504 3154 l 10504 3004 l gs col0 s gr % Polyline n 10504 3004 m 10504 3154 l 10804 3154 l 10804 3004 l gs col0 s gr % Polyline n 10804 3004 m 10804 3154 l 11104 3154 l 11104 3004 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 11404 3154 m gs 1 -1 sc (Expansion) col0 show gr % Ellipse n 10202 3752 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 9902 3752 m 10502 3752 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 11403 3903 m gs 1 -1 sc (Two-Diff) col0 show gr % Polyline n 10204 4655 m 9991 4867 l gs col0 s gr % Polyline n 10204 4655 m 9991 4443 l gs col0 s gr % Polyline n 10205 4654 m 10418 4866 l gs col0 s gr % Polyline n 10205 4654 m 10418 4442 l gs col0 s gr % Ellipse n 10205 4655 300 300 0 360 DrawEllipse gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 11403 4803 m gs 1 -1 sc (Two-Product) col0 show gr % Polyline n 10206 5256 m 10206 5856 l gs col0 s gr % Polyline n 9906 5856 m 10506 5856 l 10506 5256 l 9906 5256 l clp gs col0 s gr % Polyline n 9906 5556 m 10506 5556 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 11403 5703 m gs 1 -1 sc (Expansion Sum) col0 show gr % Polyline n 9908 6758 m 10508 6758 l 10508 6158 l 9908 6158 l clp gs col0 s gr % Polyline n 9908 6458 m 10508 6458 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 11405 6605 m gs 1 -1 sc (Expansion Diff) col0 show gr 15.000 slw % Polyline n 9753 2103 m 14550 2103 l 14550 6900 l 9753 6900 l clp gs col0 s gr /Times-Roman findfont 360.00 scalefont setfont 2477 11552 m gs 1 -1 sc (1) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 2175 11400 m gs 1 -1 sc (w) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 7277 11552 m gs 1 -1 sc (2) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 6975 11400 m gs 1 -1 sc (w) col0 show gr % Arc n 1937.39 9462.61 287.66 87.49 -177.49 arc gs col0 s gr % Arc n 3437.39 9162.61 287.66 87.49 -177.49 arc gs col0 s gr % Arc n 3137.39 9237.61 287.66 87.49 -177.49 arc gs col0 s gr % Arc n 2237.39 9387.61 287.66 87.49 -177.49 arc gs col0 s gr % Arc n 8262.61 9962.39 287.66 -92.51 2.51 arc gs col0 s gr % Arc n 737.39 9687.61 287.66 87.49 -177.49 arc gs col0 s gr % Arc n 1037.39 9612.61 287.66 87.49 -177.49 arc gs col0 s gr % Arc n 2562.61 10262.39 287.66 -92.51 2.51 arc gs col0 s gr % Arc n 7362.61 10187.39 287.66 -92.51 2.51 arc gs col0 s gr % Arc n 4362.61 9812.39 287.66 -92.51 2.51 arc gs col0 s gr % Arc n 3462.61 10037.39 287.66 -92.51 2.51 arc gs col0 s gr % Arc n 9162.61 9737.39 287.66 -92.51 2.51 arc gs col0 s gr % Polyline n 3005 15305 m 3305 14705 l gs col0 s gr n 3165.47 14849.90 m 3305.00 14705.00 l 3272.80 14903.56 l 3198.17 14920.16 l 3165.47 14849.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3905 15305 m 3605 14705 l gs col0 s gr n 3637.20 14903.56 m 3605.00 14705.00 l 3744.53 14849.90 l 3712.83 14920.16 l 3637.20 14903.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3304 14104 m 3154 13354 l gs col0 s gr n 3132.82 13554.04 m 3154.00 13354.00 l 3250.49 13530.50 l 3201.57 13589.84 l 3132.82 13554.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3604 14104 m 3754 13354 l gs col0 s gr n 3657.51 13530.50 m 3754.00 13354.00 l 3775.18 13554.04 l 3707.43 13589.84 l 3657.51 13530.50 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4806 15306 m 5106 14706 l gs col0 s gr n 4966.47 14850.90 m 5106.00 14706.00 l 5073.80 14904.56 l 4999.17 14921.16 l 4966.47 14850.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5706 15306 m 5406 14706 l gs col0 s gr n 5438.20 14904.56 m 5406.00 14706.00 l 5545.53 14850.90 l 5513.83 14921.16 l 5438.20 14904.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5105 14105 m 4955 13355 l gs col0 s gr n 4933.82 13555.04 m 4955.00 13355.00 l 5051.49 13531.50 l 5002.57 13590.84 l 4933.82 13555.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5405 14105 m 5555 13355 l gs col0 s gr n 5458.51 13531.50 m 5555.00 13355.00 l 5576.18 13555.04 l 5508.43 13590.84 l 5458.51 13531.50 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline [133.3] 0 setdash n 2703 13503 m 4203 13503 l 4203 12903 l 2703 12903 l clp gs col0 s gr [] 0 setdash % Polyline [133.3] 0 setdash n 4503 13503 m 6003 13503 l 6003 12903 l 4503 12903 l clp gs col0 s gr [] 0 setdash 15.000 slw % Polyline n 3153 13053 m 2853 12003 l gs col0 s gr n 2848.06 12204.10 m 2853.00 12003.00 l 2963.44 12171.13 l 2919.43 12234.27 l 2848.06 12204.10 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3153 13053 m 4653 12003 l gs col0 s gr n 4461.30 12063.95 m 4653.00 12003.00 l 4530.12 12162.26 l 4456.88 12141.13 l 4461.30 12063.95 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5553 13053 m 5853 12003 l gs col0 s gr n 5742.56 12171.13 m 5853.00 12003.00 l 5857.94 12204.10 l 5787.57 12234.27 l 5742.56 12171.13 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5553 13053 m 4953 12003 l gs col0 s gr n 4996.16 12199.47 m 4953.00 12003.00 l 5100.35 12139.93 l 5072.57 12211.88 l 4996.16 12199.47 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3753 13053 m 3753 12003 l gs col0 s gr n 3693.00 12195.00 m 3753.00 12003.00 l 3813.00 12195.00 l 3753.50 12243.50 l 3693.00 12195.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3753 13053 m 5553 12003 l gs col0 s gr n 5356.92 12047.92 m 5553.00 12003.00 l 5417.39 12151.57 l 5346.19 12124.43 l 5356.92 12047.92 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4953 13053 m 3153 12003 l gs col0 s gr n 3288.61 12151.57 m 3153.00 12003.00 l 3349.08 12047.92 l 3360.81 12124.43 l 3288.61 12151.57 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4953 13053 m 4053 12003 l gs col0 s gr n 4132.40 12187.82 m 4053.00 12003.00 l 4223.51 12109.73 l 4209.69 12185.72 l 4132.40 12187.82 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7954 13054 m 7654 12004 l gs col0 s gr n 7649.06 12205.10 m 7654.00 12004.00 l 7764.44 12172.13 l 7720.43 12235.27 l 7649.06 12205.10 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7954 13054 m 9454 12004 l gs col0 s gr n 9262.30 12064.95 m 9454.00 12004.00 l 9331.12 12163.26 l 9257.88 12142.13 l 9262.30 12064.95 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10354 13054 m 10654 12004 l gs col0 s gr n 10543.56 12172.13 m 10654.00 12004.00 l 10658.94 12205.10 l 10588.57 12235.27 l 10543.56 12172.13 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10354 13054 m 9754 12004 l gs col0 s gr n 9797.16 12200.47 m 9754.00 12004.00 l 9901.35 12140.93 l 9873.57 12212.88 l 9797.16 12200.47 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8554 13054 m 8554 12004 l gs col0 s gr n 8494.00 12196.00 m 8554.00 12004.00 l 8614.00 12196.00 l 8554.50 12244.50 l 8494.00 12196.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8554 13054 m 10354 12004 l gs col0 s gr n 10157.92 12048.92 m 10354.00 12004.00 l 10218.39 12152.57 l 10147.19 12125.43 l 10157.92 12048.92 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9754 13054 m 7954 12004 l gs col0 s gr n 8089.61 12152.57 m 7954.00 12004.00 l 8150.08 12048.92 l 8161.81 12125.43 l 8089.61 12152.57 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9754 13054 m 8854 12004 l gs col0 s gr n 8933.40 12188.82 m 8854.00 12004.00 l 9024.51 12110.73 l 9010.69 12186.72 l 8933.40 12188.82 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline [133.3] 0 setdash n 7204 10804 m 11104 10804 l 11104 10204 l 7204 10204 l clp gs col0 s gr [] 0 setdash 15.000 slw % Polyline n 7807 15307 m 8107 14707 l gs col0 s gr n 7967.47 14851.90 m 8107.00 14707.00 l 8074.80 14905.56 l 8000.17 14922.16 l 7967.47 14851.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8707 15307 m 8407 14707 l gs col0 s gr n 8439.20 14905.56 m 8407.00 14707.00 l 8546.53 14851.90 l 8514.83 14922.16 l 8439.20 14905.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8106 14106 m 7956 13356 l gs col0 s gr n 7934.82 13556.04 m 7956.00 13356.00 l 8052.49 13532.50 l 8003.57 13591.84 l 7934.82 13556.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8406 14106 m 8556 13356 l gs col0 s gr n 8459.51 13532.50 m 8556.00 13356.00 l 8577.18 13556.04 l 8509.43 13591.84 l 8459.51 13532.50 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9607 15307 m 9907 14707 l gs col0 s gr n 9767.47 14851.90 m 9907.00 14707.00 l 9874.80 14905.56 l 9800.17 14922.16 l 9767.47 14851.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10507 15307 m 10207 14707 l gs col0 s gr n 10239.20 14905.56 m 10207.00 14707.00 l 10346.53 14851.90 l 10314.83 14922.16 l 10239.20 14905.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9906 14106 m 9756 13356 l gs col0 s gr n 9734.82 13556.04 m 9756.00 13356.00 l 9852.49 13532.50 l 9803.57 13591.84 l 9734.82 13556.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10206 14106 m 10356 13356 l gs col0 s gr n 10259.51 13532.50 m 10356.00 13356.00 l 10377.18 13556.04 l 10309.43 13591.84 l 10259.51 13532.50 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline [133.3] 0 setdash n 7504 13504 m 9004 13504 l 9004 12904 l 7504 12904 l clp gs col0 s gr [] 0 setdash % Polyline [133.3] 0 setdash n 9304 13504 m 10804 13504 l 10804 12904 l 9304 12904 l clp gs col0 s gr [] 0 setdash 15.000 slw % Polyline n 3000 10350 m 4350 9000 l gs col0 s gr n 4171.81 9093.34 m 4350.00 9000.00 l 4256.66 9178.19 l 4180.79 9170.21 l 4171.81 9093.34 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7800 10350 m 4650 9000 l gs col0 s gr n 4802.84 9130.78 m 4650.00 9000.00 l 4850.11 9020.48 l 4871.09 9095.04 l 4802.84 9130.78 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3900 10350 m 5850 9000 l gs col0 s gr n 5657.99 9059.96 m 5850.00 9000.00 l 5726.29 9158.62 l 5653.17 9137.11 l 5657.99 9059.96 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8700 10350 m 6150 9000 l gs col0 s gr n 6291.61 9142.86 m 6150.00 9000.00 l 6347.76 9036.81 l 6362.61 9112.79 l 6291.61 9142.86 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4800 10350 m 7350 9000 l gs col0 s gr n 7152.24 9036.81 m 7350.00 9000.00 l 7208.39 9142.86 l 7138.39 9112.79 l 7152.24 9036.81 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9600 10350 m 7650 9000 l gs col0 s gr n 7773.71 9158.62 m 7650.00 9000.00 l 7842.01 9059.96 l 7847.83 9137.11 l 7773.71 9158.62 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5700 10350 m 8850 9000 l gs col0 s gr n 8649.89 9020.48 m 8850.00 9000.00 l 8697.16 9130.78 l 8629.91 9095.04 l 8649.89 9020.48 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10500 10350 m 9150 9000 l gs col0 s gr n 9243.34 9178.19 m 9150.00 9000.00 l 9328.19 9093.34 l 9320.21 9170.21 l 9243.34 9178.19 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6000 7350 m 5400 6600 l gs col0 s gr n 5473.09 6787.41 m 5400.00 6600.00 l 5566.79 6712.45 l 5550.43 6787.91 l 5473.09 6787.41 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4500 7350 m 5100 6600 l gs col0 s gr n 4933.21 6712.45 m 5100.00 6600.00 l 5026.91 6787.41 l 4950.57 6787.91 l 4933.21 6712.45 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7500 7350 m 8100 6600 l gs col0 s gr n 7933.21 6712.45 m 8100.00 6600.00 l 8026.91 6787.41 l 7950.57 6787.91 l 7933.21 6712.45 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9000 7350 m 8400 6600 l gs col0 s gr n 8473.09 6787.41 m 8400.00 6600.00 l 8566.79 6712.45 l 8550.43 6787.91 l 8473.09 6787.41 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline [133.3] 0 setdash n 2403 10803 m 6303 10803 l 6303 10203 l 2403 10203 l clp gs col0 s gr [] 0 setdash 15.000 slw % Polyline n 750 9975 m 2550 9975 l gs col0 s gr % Polyline n 3150 9150 m 3150 9000 l gs col0 s gr n 3090.00 9192.00 m 3150.00 9000.00 l 3210.00 9192.00 l 3150.50 9240.50 l 3090.00 9192.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2850 9225 m 2850 9000 l gs col0 s gr n 2790.00 9192.00 m 2850.00 9000.00 l 2910.00 9192.00 l 2850.50 9240.50 l 2790.00 9192.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1950 9375 m 1950 9000 l gs col0 s gr n 1890.00 9192.00 m 1950.00 9000.00 l 2010.00 9192.00 l 1950.50 9240.50 l 1890.00 9192.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1650 9450 m 1650 9000 l gs col0 s gr n 1590.00 9192.00 m 1650.00 9000.00 l 1710.00 9192.00 l 1650.50 9240.50 l 1590.00 9192.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 750 9600 m 750 9000 l gs col0 s gr n 690.00 9192.00 m 750.00 9000.00 l 810.00 9192.00 l 750.50 9240.50 l 690.00 9192.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 450 9675 m 450 9000 l gs col0 s gr n 390.00 9192.00 m 450.00 9000.00 l 510.00 9192.00 l 450.50 9240.50 l 390.00 9192.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1050 9900 m 7350 9900 l gs col0 s gr % Polyline n 1950 9750 m 3450 9750 l gs col0 s gr % Polyline n 2250 9675 m 8250 9675 l gs col0 s gr % Polyline n 3150 9525 m 4350 9525 l gs col0 s gr % Polyline n 3450 9450 m 9150 9450 l gs col0 s gr % Polyline n 2850 10275 m 2850 10500 l gs col0 s gr % Polyline n 3750 10050 m 3750 10500 l gs col0 s gr % Polyline n 4650 9825 m 4650 10500 l gs col0 s gr % Polyline n 7650 10200 m 7650 10500 l gs col0 s gr % Polyline n 8550 9975 m 8550 10500 l gs col0 s gr % Polyline n 9450 9750 m 9450 10500 l gs col0 s gr % Polyline n 1650 7350 m 2100 6900 l gs col0 s gr n 1921.81 6993.34 m 2100.00 6900.00 l 2006.66 7078.19 l 1930.79 7070.21 l 1921.81 6993.34 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2850 7350 m 2400 6900 l gs col0 s gr n 2493.34 7078.19 m 2400.00 6900.00 l 2578.19 6993.34 l 2570.21 7070.21 l 2493.34 7078.19 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6753 3603 m 6753 2853 l gs col0 s gr n 6693.00 3045.00 m 6753.00 2853.00 l 6813.00 3045.00 l 6753.50 3093.50 l 6693.00 3045.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2100 5250 m 2400 4800 l gs col0 s gr n 2243.57 4926.47 m 2400.00 4800.00 l 2343.42 4993.04 l 2267.37 5000.19 l 2243.57 4926.47 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5250 4950 m 6600 4200 l gs col0 s gr n 6403.02 4240.79 m 6600.00 4200.00 l 6461.30 4345.69 l 6390.70 4317.05 l 6403.02 4240.79 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8250 4950 m 6900 4200 l gs col0 s gr n 7038.70 4345.69 m 6900.00 4200.00 l 7096.98 4240.79 l 7110.30 4317.05 l 7038.70 4345.69 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline [133.3] 0 setdash n 3300 7800 m 9900 7800 l 9900 7200 l 3300 7200 l clp gs col0 s gr [] 0 setdash 7.500 slw % Polyline n 7275 11100 m 7575 10650 l gs col0 s gr % Polyline n 2475 11100 m 2775 10650 l gs col0 s gr 15.000 slw % Polyline n 4950 7500 m 4500 6750 l gs col0 s gr n 4547.33 6945.51 m 4500.00 6750.00 l 4650.23 6883.77 l 4623.98 6956.30 l 4547.33 6945.51 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4650 7500 m 4050 6750 l gs col0 s gr n 4123.09 6937.41 m 4050.00 6750.00 l 4216.79 6862.45 l 4200.43 6937.91 l 4123.09 6937.41 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4350 7425 m 3600 6750 l gs col0 s gr n 3702.57 6923.04 m 3600.00 6750.00 l 3782.85 6833.84 l 3778.89 6911.05 l 3702.57 6923.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4050 7425 m 3150 6750 l gs col0 s gr n 3267.60 6913.20 m 3150.00 6750.00 l 3339.60 6817.20 l 3342.50 6894.50 l 3267.60 6913.20 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4350 6600 m 4125 6600 l gs col0 s gr n 4317.00 6660.00 m 4125.00 6600.00 l 4317.00 6540.00 l 4365.50 6600.50 l 4317.00 6660.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3900 6600 m 3675 6600 l gs col0 s gr n 3867.00 6660.00 m 3675.00 6600.00 l 3867.00 6540.00 l 3915.50 6600.50 l 3867.00 6660.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3450 6600 m 3225 6600 l gs col0 s gr n 3417.00 6660.00 m 3225.00 6600.00 l 3417.00 6540.00 l 3465.50 6600.50 l 3417.00 6660.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3150 6450 m 3000 5550 l gs col0 s gr n 2972.38 5749.25 m 3000.00 5550.00 l 3090.75 5729.52 l 3039.96 5787.23 l 2972.38 5749.25 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3000 5250 m 2700 4800 l gs col0 s gr n 2756.58 4993.04 m 2700.00 4800.00 l 2856.43 4926.47 l 2833.63 5000.19 l 2756.58 4993.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2551 4201 m 2401 3451 l gs col0 s gr n 2379.82 3651.04 m 2401.00 3451.00 l 2497.49 3627.50 l 2448.57 3686.84 l 2379.82 3651.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1801 8401 m 1651 7651 l gs col0 s gr n 1629.82 7851.04 m 1651.00 7651.00 l 1747.49 7827.50 l 1698.57 7886.84 l 1629.82 7851.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3000 8400 m 2850 7650 l gs col0 s gr n 2828.82 7850.04 m 2850.00 7650.00 l 2946.49 7826.50 l 2897.57 7885.84 l 2828.82 7850.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 601 8401 m 451 7651 l gs col0 s gr n 429.82 7851.04 m 451.00 7651.00 l 547.49 7827.50 l 498.57 7886.84 l 429.82 7851.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3004 11404 m 3004 10579 l gs col0 s gr n 2944.00 10771.00 m 3004.00 10579.00 l 3064.00 10771.00 l 3004.50 10819.50 l 2944.00 10771.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3904 11404 m 3904 10579 l gs col0 s gr n 3844.00 10771.00 m 3904.00 10579.00 l 3964.00 10771.00 l 3904.50 10819.50 l 3844.00 10771.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4804 11404 m 4804 10579 l gs col0 s gr n 4744.00 10771.00 m 4804.00 10579.00 l 4864.00 10771.00 l 4804.50 10819.50 l 4744.00 10771.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5704 11404 m 5704 10579 l gs col0 s gr n 5644.00 10771.00 m 5704.00 10579.00 l 5764.00 10771.00 l 5704.50 10819.50 l 5644.00 10771.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7805 11405 m 7805 10580 l gs col0 s gr n 7745.00 10772.00 m 7805.00 10580.00 l 7865.00 10772.00 l 7805.50 10820.50 l 7745.00 10772.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8705 11405 m 8705 10580 l gs col0 s gr n 8645.00 10772.00 m 8705.00 10580.00 l 8765.00 10772.00 l 8705.50 10820.50 l 8645.00 10772.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9605 11405 m 9605 10580 l gs col0 s gr n 9545.00 10772.00 m 9605.00 10580.00 l 9665.00 10772.00 l 9605.50 10820.50 l 9545.00 10772.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10505 11405 m 10505 10580 l gs col0 s gr n 10445.00 10772.00 m 10505.00 10580.00 l 10565.00 10772.00 l 10505.50 10820.50 l 10445.00 10772.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4502 8402 m 4502 7652 l gs col0 s gr n 4442.00 7844.00 m 4502.00 7652.00 l 4562.00 7844.00 l 4502.50 7892.50 l 4442.00 7844.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6002 8402 m 6002 7652 l gs col0 s gr n 5942.00 7844.00 m 6002.00 7652.00 l 6062.00 7844.00 l 6002.50 7892.50 l 5942.00 7844.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7503 8403 m 7503 7653 l gs col0 s gr n 7443.00 7845.00 m 7503.00 7653.00 l 7563.00 7845.00 l 7503.50 7893.50 l 7443.00 7845.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9002 8402 m 9002 7652 l gs col0 s gr n 8942.00 7844.00 m 9002.00 7652.00 l 9062.00 7844.00 l 9002.50 7892.50 l 8942.00 7844.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8253 6003 m 8253 5253 l gs col0 s gr n 8193.00 5445.00 m 8253.00 5253.00 l 8313.00 5445.00 l 8253.50 5493.50 l 8193.00 5445.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5253 6003 m 5253 5253 l gs col0 s gr n 5193.00 5445.00 m 5253.00 5253.00 l 5313.00 5445.00 l 5253.50 5493.50 l 5193.00 5445.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2251 6301 m 2101 5551 l gs col0 s gr n 2079.82 5751.04 m 2101.00 5551.00 l 2197.49 5727.50 l 2148.57 5786.84 l 2079.82 5751.04 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 5405 13205 m 5405 13355 l 5705 13355 l 5705 13205 l gs col0 s gr % Polyline n 4805 13205 m 4805 13355 l 5105 13355 l 5105 13205 l gs col0 s gr % Polyline n 3604 13204 m 3604 13354 l 3904 13354 l 3904 13204 l gs col0 s gr % Polyline n 3004 13204 m 3004 13354 l 3304 13354 l 3304 13204 l gs col0 s gr % Polyline n 7806 13206 m 7806 13356 l 8106 13356 l 8106 13206 l gs col0 s gr % Polyline n 8406 13206 m 8406 13356 l 8706 13356 l 8706 13206 l gs col0 s gr % Polyline n 9606 13206 m 9606 13356 l 9906 13356 l 9906 13206 l gs col0 s gr % Polyline n 10206 13206 m 10206 13356 l 10506 13356 l 10506 13206 l gs col0 s gr % Polyline n 2551 3301 m 2551 3451 l 2251 3451 l 2251 3301 l gs col0 s gr % Polyline n 2251 5401 m 2251 5551 l 1951 5551 l 1951 5401 l gs col0 s gr % Polyline n 2850 5400 m 2850 5550 l 3150 5550 l 3150 5400 l gs col0 s gr % Polyline n 3000 7501 m 3000 7651 l 2700 7651 l 2700 7501 l gs col0 s gr % Polyline n 1801 7502 m 1801 7652 l 1501 7652 l 1501 7502 l gs col0 s gr % Polyline n 601 7502 m 601 7652 l 301 7652 l 301 7502 l gs col0 s gr /Times-Roman findfont 360.00 scalefont setfont 3300 6300 m gs 1 -1 sc (Estimate) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 300 7200 m gs 1 -1 sc (A) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 2250 3000 m gs 1 -1 sc (C) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 6600 2400 m gs 1 -1 sc (D) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 3300 5700 m gs 1 -1 sc (B') col0 show gr F2psBegin10setmiterlimit0.060000.06000sc/Times−Romanfindfont360.00scalefontsetfont300615831mgs1−1sc(x)col0showgr/Times−Romanfindfont480.00scalefontsetfont375815683mgs1−1sc(c)col0showgr/Times−Romanfindfont360.00scalefontsetfont398115831mgs1−1sc(x)col0showgr/Times−Romanfindfont480.00scalefontsetfont458315683mgs1−1sc(b)col0showgr/Times−Romanfindfont360.00scalefontsetfont488315833mgs1−1sc(y)col0showgr/Times−Romanfindfont480.00scalefontsetfont555815683mgs1−1sc(c)col0showgr/Times−Romanfindfont360.00scalefontsetfont585815833mgs1−1sc(y)col0showgr/Times−Romanfindfont480.00scalefontsetfont773415684mgs1−1sc(a)col0showgr/Times−Romanfindfont360.00scalefontsetfont795715832mgs1−1sc(y)col0showgr/Times−Romanfindfont480.00scalefontsetfont855815683mgs1−1sc(c)col0showgr/Times−Romanfindfont360.00scalefontsetfont878215832mgs1−1sc(y)col0showgr/Times−Romanfindfont480.00scalefontsetfont953415684mgs1−1sc(b)col0showgr/Times−Romanfindfont360.00scalefontsetfont983415834mgs1−1sc(x)col0showgr15.000slwF2psEnd restore %%EndDocument @endspecial 2049 2082 a(Figure)32 b(5:)55 b Fj(Adaptiv)n(e)30 b(calculations)e(used)h(b)o(y)f(the)h(2D)g(or)q(ientation)f(test.)2049 2156 y(Dashed)18 b(bo)n(x)n(es)h(represent)g(nodes)f(in)h(the)f(or)q (iginal)g(e)n(xpression)g(tree)o(.)2132 2418 y FG(A,)25 b(B,)h(and)e(C)i(are)f(logical)f(places)h(to)g(test)h(the)f(accurac)o (y)e(of)i(the)2049 2511 y(result)f(before)f(continuing.)40 b(In)24 b(most)g(applications,)g(the)h(majority)2049 2604 y(of)18 b(calls)g(to)g(O)p FB(RIENT)p FG(2D)g(will)g(end)g(with)g (the)f(approximation)e(A.)j(Al-)2049 2696 y(though)e(the)j(four)n (-component)14 b(e)o(xpansion)i(B,)j(lik)o(e)f(A,)h(has)f(an)h(error) 2049 2789 y(of)g FC(O)r Fy(\()p Fz(\017)p Fy(\))p FG(,)i(it)f(is)h(a)f (lik)o(ely)f(stopping)f(point)h(because)g(B)h(is)h(e)o(xact)e(if)h(the) 2049 2882 y(four)d(subtractions)f(at)i(the)g(bottom)e(of)i(the)g(e)o (xpression)e(tree)h(are)h(per)n(-)2049 2974 y(formed)i(without)i (roundof)n(f)d(error)i(\(corresponding)d(to)k(the)g(shaded)2049 3067 y(triangles)32 b(in)i(Figure)e(4\).)67 b(Because)33 b(this)g(is)h(the)f(common)e(case,)2049 3160 y(O)p FB(RIENT)p FG(2D)19 b(e)o(xplicitly)f(tests)i(whether)e(all)i(the)f(roundof)n(f)d (terms)k(are)2049 3252 y(zero.)29 b(The)20 b(corrected)f(estimate)i(C)g (has)g(an)f(error)g(bound)e(of)i FC(O)r Fy(\()p Fz(\017)3963 3222 y FA(2)3997 3252 y Fy(\))p FG(.)2049 3345 y(If)26 b(C)i(is)f(not)g(suf)n(\256ciently)e(accurate,)i(the)g(e)o(xact)f (determinant)f(D)i(is)2049 3438 y(computed.)2132 3555 y(There)13 b(are)g(tw)o(o)h(interesting)e(features)h(of)g(this)h(test,) h(both)e(of)g(which)2049 3648 y(arise)g(because)g(only)g(the)g(sign)g (of)g(the)f(deter)o(min)o(ant)h(is)g(n)o(eede)o(d.)21 b(First,)2049 3740 y(the)i(correctional)f(term)h(added)f(to)h(B)i(to)e (form)g(C)h(is)g(not)f(added)f(e)o(x-)2049 3833 y(actly;)37 b(instead,)d(the)e(A)p FB(PPR)m(O)m(XIMA)-7 b(TE)32 b FG(procedure)d(of)i(Section)g(3.4)2049 3926 y(\256nds)g(an)g (approximation)c(B)2922 3895 y Fu(0)2978 3926 y FG(of)j(B,)i(and)e(the) h(correctional)e(term)2049 4018 y(is)j(added)d(to)j(B)2517 3988 y Fu(0)2572 4018 y FG(with)f(the)g(possibility)f(of)h(roundof)n(f) c(error)-5 b(.)61 b(The)2049 4111 y(consequent)25 b(errors)i(may)f(be)h (of)g(magnitude)e FC(O)r Fy(\()p Fz(\017)p FG(B)q Fy(\))p FG(,)30 b(and)c(w)o(ould)2049 4204 y(normally)19 b(preclude)g (obtaining)f(an)j(error)e(bound)g(of)h FC(O)r Fy(\()p Fz(\017)3746 4173 y FA(2)3779 4204 y Fy(\))p FG(.)31 b(Ho)n(w-)2049 4296 y(e)n(v)o(er)m(,)21 b(the)i(sign)f(of)g(the)h (determinant)d(is)k(only)d(questionable)g(if)h(B)i(is)2049 4389 y(of)29 b(magnitude)e FC(O)r Fy(\()p Fz(\017)p Fy(\))p FG(,)32 b(so)d(an)g FC(O)r Fy(\()p Fz(\017)3092 4359 y FA(2)3126 4389 y Fy(\))h FG(error)d(bound)h(for)g(C)i(can)f(be)2049 4481 y(established.)2132 4599 y(The)14 b(second)g(interesting)g (feature)f(is)h(that,)8 b(if)14 b(C)g(is)g(not)g(suf)n(\256ciently)2049 4691 y(accurate,)i(no)h(more)f(approximations)e(are)i(computed)f (before)g(com-)2049 4784 y(puting)25 b(the)h(e)o(xact)f(determinant.)44 b(T)-7 b(o)26 b(understand)e(why)-5 b(,)26 b(consider)2049 4877 y(three)14 b(collinear)f(points;)j(the)e(determinant)e(de\256ned)h (by)h(these)g(points)2049 4969 y(is)20 b(zero.)29 b(If)19 b(a)h(coordinate)e(of)h(one)g(of)g(these)h(points)f(is)i(perturbed)c (by)2049 5062 y(the)f(least)h(signi\256cant)e(bit)h(of)g(its)h (signi\256cand,)e(the)h(determinant)e(typ-)2049 5155 y(ically)23 b(increases)f(to)h FC(O)r Fy(\()p Fz(\017)p Fy(\))p FG(.)38 b(Hence,)23 b(one)f(might)h(guess)f(that)h(when)2049 5247 y(a)31 b(determinant)e(is)i(no)f(lar)o(ger)f(than)h FC(O)r Fy(\()p Fz(\017)3276 5217 y FA(2)3310 5247 y Fy(\))p FG(,)k(it)d(is)g(probably)d(zero.)2049 5340 y(This)17 b(intuition)f(seems)h(to)g(hold)g(in)g(practice)f(for)g(all)i(four)d (predicates)p eop %%Page: 8 8 8 7 bop -143 3 1988 4 v -145 88 4 85 v 50 63 a Fd(Double)19 b(precision)h(O)p Fc(RIENT)p Fd(2D)e(timings)h(in)g(microseconds)p 1842 88 V -143 92 1988 4 v -145 177 4 85 v 458 151 a(Points)p 693 177 V 99 w(Uniform)p 1050 177 V 100 w(Geometric)p 1465 177 V 138 w(Nearly)p 1842 177 V -145 261 V -93 236 a(Method)p 693 261 V 608 w(Random)p 1050 261 V 134 w(Random)p 1465 261 V 132 w(Collinear)p 1842 261 V -143 265 1988 4 v -145 350 4 85 v -93 324 a(Approximate)h(\(2\))p 693 350 V 464 w(0.15)p 1050 350 V 285 w(0.15)p 1465 350 V 247 w(0.16)p 1842 350 V -145 435 V -93 409 a(Exact)f(\(1\))p 693 435 V 688 w(6.56)p 1050 435 V 285 w(6.89)p 1465 435 V 247 w(6.31)p 1842 435 V -145 520 V -93 494 a(Exact)g(\(2\))p 693 520 V 688 w(8.35)p 1050 520 V 285 w(8.48)p 1465 520 V 247 w(8.13)p 1842 520 V -145 604 V -93 579 a(Exact)g(\(1\),)f(MPFUN)p 693 604 V 355 w(92.85)p 1050 604 V 248 w(94.03)p 1465 604 V 211 w(84.97)p 1842 604 V -143 608 1988 4 v -145 693 4 85 v -93 667 a(Adapti)n(v)o(e)h(A)g(\(2\),)f(approx.)p 693 693 V 253 w(0.28)p 1050 693 V 285 w(0.27)p 1465 693 V 247 w(0.22)p 1842 693 V -145 778 V -93 752 a(Adapti)n(v)o(e)h(B)g (\(2\))p 693 778 V 1050 778 V 1465 778 V 1311 w(1.89)p 1842 778 V -145 863 V -93 837 a(Adapti)n(v)o(e)g(C)g(\(2\))p 693 863 V 1050 863 V 1465 863 V 1311 w(2.14)p 1842 863 V -145 948 V -93 922 a(Adapti)n(v)o(e)g(D)g(\(2\),)f(e)o(xact)p 693 948 V 1050 948 V 1465 948 V 1114 w(8.35)p 1842 948 V -143 951 1988 4 v -145 1036 4 85 v -93 1010 a(LN)g(adapti)n(v)o(e)i (\(2\),)e(approx.)p 693 1036 V 228 w(0.32)p 1050 1036 V 324 w(n/a)p 1465 1036 V 1842 1036 V -145 1121 V -93 1095 a(LN)g(adapti)n(v)o(e)i(\(2\),)e(e)o(xact)p 693 1121 V 1050 1121 V 751 w(n/a)p 1465 1121 V 247 w(4.43)p 1842 1121 V -143 1124 1988 4 v -150 1271 a FG(T)-7 b(able)35 b(1:)59 b Fj(Timings)29 b(f)n(or)i FB(O)p Fi(RIENT)p FB(2D)h Fj(on)e(a)g(DEC)h(3000/700)f(with)g(a)g(225)-150 1345 y(MHz)20 b(Alpha)g(processor)m(.)31 b(All)20 b(deter)r(minants)h (use)f(the)g(2D)g(v)n(ersion)g(of)h(either)-150 1418 y(Expression)f(1)f(or)h(the)g(more)g(stab)o(le)f(Expression)h(2)g(as)f (indicated.)30 b(Timings)-150 1491 y(f)n(or)22 b(the)f(adaptiv)n(e)h (tests)g(are)f(categor)q(iz)o(ed)h(according)f(to)g(which)g(result)h(w) o(as)-150 1565 y(the)16 b(last)g(gener)o(ated.)26 b(Timings)15 b(of)h(Baile)o(y')m(s)f(MPFUN)h(pac)o(kage)f(and)g(F)n(or)s(tune)-150 1638 y(and)j(V)-5 b(an)19 b(W)o(yk')m(s)f(LN)g(pac)o(kage)h(are)f (included)g(f)n(or)h(compar)q(ison.)-150 1902 y FG(considered)14 b(herein,)i(on)f(both)h(random)e(and)h(\252practical\272)g(point)h (sets.)-150 1994 y(Determinants)d(that)i(don')o(t)e(stop)h(with)h (approximation)d(C)j(are)g(nearly)-150 2087 y(al)o(w)o(ays)21 b(zero.)-67 2205 y(The)15 b(error)f(bound)g(for)h(A)g(is)i Fy(\()p FG(3)p Fz(\017)8 b Fy(+)g FG(16)p Fz(\017)1046 2174 y FA(2)1076 2205 y Fy(\))g FC(\012)g Fy(\()p FC(j)p Fz(w)1303 2217 y FA(1)1336 2205 y FC(j)g(\010)g(j)p Fz(w)1522 2217 y FA(2)1555 2205 y FC(j)p Fy(\))p FG(,)17 b(where)-150 2297 y Fz(w)-91 2309 y FA(1)-37 2297 y FG(and)i Fz(w)162 2309 y FA(2)215 2297 y FG(are)h(as)g(indicated)e(in)i(Figure)f(5.)29 b(This)19 b(error)g(bound)e(has)-150 2390 y(the)d(pleasing)g(property)g (that)g(it)g(is)g(zero)f(in)g(the)h(c)o(omm)o(on)f(case)h(th)o(at)g (all)-150 2482 y(three)21 b(input)f(points)g(lie)i(on)f(a)g(horizontal) e(or)i(v)o(ertical)f(line.)32 b(Hence,)-150 2575 y(although)17 b(O)p FB(RIENT)p FG(2D)i(usually)f(resorts)h(to)g(e)o(xact)g (arithmetic)f(when)-150 2668 y(gi)n(v)o(en)c(collinear)g(input)g (points,)h(it)h(only)e(performs)f(the)i(approximate)-150 2760 y(test)21 b(in)f(the)h(tw)o(o)f(cases)h(that)f(occur)f(most)i (commonly)d(in)i(practice.)-67 2878 y(T)-7 b(able)22 b(1)f(lists)j(timings)d(for)g(O)p FB(RIENT)p FG(2D,)g(gi)n(v)o(en)f (random)g(inputs.)-150 2971 y(Observ)o(e)j(that)h(the)g(adapti)n(v)o(e) e(test,)k(when)d(it)i(stops)f(at)h(the)f(approxi-)-150 3063 y(mate)d(result)g(A,)g(tak)o(es)g(nearly)f(twice)i(as)f(long)f(as) i(the)f(approximate)-150 3156 y(test)i(because)e(of)h(the)g(need)f(to)h (compute)f(an)g(error)g(bound.)33 b(The)21 b(ta-)-150 3249 y(ble)d(includes)f(a)h(comparison)d(with)j(Baile)o(y')-5 b(s)18 b(MPFUN)g([2)o(],)g(chosen)-150 3341 y(because)31 b(it)g(is)i(the)e(f)o(astest)h(portable)e(and)g(freely)h(a)n(v)n (ailable)f(arbi-)-150 3434 y(trary)e(precision)h(package)e(I)j(kno)n(w) e(of.)56 b(O)p FB(RIENT)p FG(2D)28 b(coded)g(with)-150 3527 y(my)21 b(\(nonadapti)n(v)o(e\))c(algorithms)j(is)i(roughly)d (thirteen)h(times)h(f)o(aster)-150 3619 y(than)f(O)p FB(RIENT)p FG(2D)f(coded)g(with)i(MPFUN.)-67 3737 y(Also)29 b(included)e(is)j(a)f(comparison)e(with)i(an)g(orientation)e(pred-)-150 3829 y(icate)i(for)f(53-bit)g(inte)o(ger)g(inputs,)i(created)f(by)f(F)o (ortune)g(and)g(V)-9 b(an)-150 3922 y(W)j(yk')h(s)26 b(LN.)g(The)f(LN-generated)e(orientation)h(predicate)g(is)j(quite)-150 4015 y(f)o(ast)22 b(because)e(it)i(tak)o(es)g(adv)n(antage)d(of)i(the)g (f)o(act)h(that)f(it)h(is)g(restricted)-150 4107 y(to)16 b(bounded)e(inte)o(ger)h(inputs.)27 b(My)17 b(e)o(xact)e(tests)j(cost)e (less)h(than)f(twice)-150 4200 y(as)27 b(much)f(as)h(LN')-5 b(s;)30 b(this)d(seems)g(lik)o(e)g(a)g(reasonable)e(price)h(to)g(pay) -150 4293 y(for)20 b(the)g(ability)g(to)g(handle)f(arbitrary)g(e)o (xponents)f(in)i(the)g(input.)-67 4410 y(These)28 b(timings)h(are)f (not)h(the)f(whole)g(story;)33 b(LN')-5 b(s)29 b(static)h(error)-150 4503 y(estimate)21 b(is)h(typically)f(much)f(lar)o(ger)f(than)i(the)g (runtime)f(error)g(esti-)-150 4596 y(mate)f(used)f(for)h(adapti)n(v)o (e)e(stage)i(A,)g(and)f(LN)i(uses)f(only)f(tw)o(o)h(stages)-150 4688 y(of)27 b(adapti)n(vity)-5 b(,)28 b(so)g(the)g(LN-generated)d (predicates)i(are)h(slo)n(wer)f(in)-150 4781 y(some)k(applications,)i (as)g(Section)e(5.4)g(will)h(demonstrate.)62 b(\(It)32 b(is)-150 4873 y(signi\256cant)27 b(that)h(for)g(53-bit)e(inte)o(ger)h (inputs,)i(my)f(multiple-stage)-150 4966 y(predicates)14 b(rarely)g(pass)h(stage)g(B)h(because)e(the)h(initial)g(translation)f (is)-150 5059 y(usually)f(done)g(without)g(roundof)m(f)g(err)o(or)o(;)d (hence,)j(the)g(LN-generated)-150 5151 y(O)p FB(RIENT)p FG(2D)k(often)g(tak)o(es)h(more)f(than)g(twice)i(as)f(long)f(to)h (produce)e(an)-150 5244 y(e)o(xact)k(result.\))29 b(It)20 b(must)h(be)f(emphasized,)e(ho)n(we)n(v)o(er)m(,)g(that)i(these)h(are) -150 5337 y(not)f(inherent)g(dif)n(ferences)f(between)g(LN')-5 b(s)22 b(multiple-digit)d(inte)o(ger)2051 2536 y @beginspecial 0 @llx 0 @lly 907 @urx 1151 @ury 2397 @rwi @setspecial %%BeginDocument: orient3d.eps /$F2psDict 200 dict def F2psDictbeginF2psDict begin F2psDictbeginF2psDict /mtrx matrix put /col-1 {} def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save -86.0 1440.0 translate 1 -1 scale /clp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /l {lineto} bind def /m {moveto} bind def /n {newpath} bind def /s {stroke} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def F2psBegin10setmiterlimit0.060000.06000sc15.000slwF2psBegin 10 setmiterlimit 0.06000 0.06000 sc 15.000 slw % Ellipse n 7126 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 7051 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6976 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6901 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6826 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6751 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6676 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6601 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6526 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6451 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6376 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6301 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6226 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6151 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6076 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6001 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 5926 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 5851 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 5776 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 5701 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 5626 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 5551 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 5476 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 5401 7501 150 150 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr 60.000 slw % Polyline n 9607 18607 m 9607 18757 l 9907 18757 l 9907 18607 l gs col0 s gr % Polyline n 10207 18607 m 10207 18757 l 10507 18757 l 10507 18607 l gs col0 s gr % Polyline n 10507 18607 m 10507 18757 l 10807 18757 l 10807 18607 l gs col0 s gr % Polyline n 12308 18608 m 12308 18758 l 12608 18758 l 12608 18608 l gs col0 s gr % Polyline n 12608 18608 m 12608 18758 l 12908 18758 l 12908 18608 l gs col0 s gr % Polyline n 13208 18608 m 13208 18758 l 13508 18758 l 13508 18608 l gs col0 s gr % Polyline n 13508 18608 m 13508 18758 l 13808 18758 l 13808 18608 l gs col0 s gr % Polyline n 14108 18608 m 14108 18758 l 14408 18758 l 14408 18608 l gs col0 s gr % Polyline n 14408 18608 m 14408 18758 l 14708 18758 l 14708 18608 l gs col0 s gr % Polyline n 15008 18608 m 15008 18758 l 15308 18758 l 15308 18608 l gs col0 s gr % Polyline n 15308 18608 m 15308 18758 l 15608 18758 l 15608 18608 l gs col0 s gr % Polyline n 15312 19813 m 15099 20025 l gs col0 s gr % Polyline n 15312 19813 m 15099 19601 l gs col0 s gr % Polyline n 15313 19812 m 15526 20024 l gs col0 s gr % Polyline n 15313 19812 m 15526 19600 l gs col0 s gr % Ellipse n 15313 19813 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 14412 19813 m 14199 20025 l gs col0 s gr % Polyline n 14412 19813 m 14199 19601 l gs col0 s gr % Polyline n 14413 19812 m 14626 20024 l gs col0 s gr % Polyline n 14413 19812 m 14626 19600 l gs col0 s gr % Ellipse n 14413 19813 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 13512 19813 m 13299 20025 l gs col0 s gr % Polyline n 13512 19813 m 13299 19601 l gs col0 s gr % Polyline n 13513 19812 m 13726 20024 l gs col0 s gr % Polyline n 13513 19812 m 13726 19600 l gs col0 s gr % Ellipse n 13513 19813 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 12612 19813 m 12399 20025 l gs col0 s gr % Polyline n 12612 19813 m 12399 19601 l gs col0 s gr % Polyline n 12613 19812 m 12826 20024 l gs col0 s gr % Polyline n 12613 19812 m 12826 19600 l gs col0 s gr % Ellipse n 12613 19813 300 300 0 360 DrawEllipse gs col0 s gr % Ellipse n 10057 22507 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 9757 22507 m 10357 22507 l gs col0 s gr % Ellipse n 13058 22508 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 12758 22508 m 13358 22508 l gs col0 s gr % Ellipse n 14858 22508 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 14558 22508 m 15158 22508 l gs col0 s gr /Times-Roman findfont 360.00 scalefont setfont 9686 23936 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 9386 23786 m gs 1 -1 sc (c) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 10661 23936 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 10361 23786 m gs 1 -1 sc (d) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 12760 23935 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 12537 23787 m gs 1 -1 sc (b) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 13585 23935 m gs 1 -1 sc (y) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 13361 23786 m gs 1 -1 sc (d) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 14637 23937 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 14337 23787 m gs 1 -1 sc (c) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 15386 23936 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 15161 23786 m gs 1 -1 sc (d) col0 show gr % Polyline n 9308 16508 m 9308 16658 l 9608 16658 l 9608 16508 l gs col0 s gr % Polyline n 9608 16508 m 9608 16658 l 9908 16658 l 9908 16508 l gs col0 s gr % Polyline n 9908 16508 m 9908 16658 l 10208 16658 l 10208 16508 l gs col0 s gr % Polyline n 10208 16508 m 10208 16658 l 10508 16658 l 10508 16508 l gs col0 s gr % Polyline n 10508 16508 m 10508 16658 l 10808 16658 l 10808 16508 l gs col0 s gr % Polyline n 10808 16508 m 10808 16658 l 11108 16658 l 11108 16508 l gs col0 s gr % Polyline n 10206 17106 m 10206 17706 l gs col0 s gr % Polyline n 9906 17706 m 10506 17706 l 10506 17106 l 9906 17106 l clp gs col0 s gr % Polyline n 9906 17406 m 10506 17406 l gs col0 s gr % Polyline n 14108 16508 m 14108 16658 l 14408 16658 l 14408 16508 l gs col0 s gr % Polyline n 14408 16508 m 14408 16658 l 14708 16658 l 14708 16508 l gs col0 s gr % Polyline n 14708 16508 m 14708 16658 l 15008 16658 l 15008 16508 l gs col0 s gr % Polyline n 15008 16508 m 15008 16658 l 15308 16658 l 15308 16508 l gs col0 s gr % Polyline n 15308 16508 m 15308 16658 l 15608 16658 l 15608 16508 l gs col0 s gr % Polyline n 15608 16508 m 15608 16658 l 15908 16658 l 15908 16508 l gs col0 s gr % Polyline n 15006 17106 m 15006 17706 l gs col0 s gr % Polyline n 14706 17706 m 15306 17706 l 15306 17106 l 14706 17106 l clp gs col0 s gr % Polyline n 14706 17406 m 15306 17406 l gs col0 s gr 30.000 slw % Ellipse n 13803 17403 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 13803 17103 m 13803 17703 l gs col0 s gr % Polyline n 13503 17403 m 14103 17403 l gs col0 s gr % Ellipse n 9003 17403 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 9003 17103 m 9003 17703 l gs col0 s gr % Polyline n 8703 17403 m 9303 17403 l gs col0 s gr % Ellipse n 9005 15305 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 8705 15305 m 9305 15305 l gs col0 s gr % Ellipse n 7807 15307 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 7507 15307 m 8107 15307 l gs col0 s gr 60.000 slw % Polyline n 10205 15605 m 10805 15605 l 10805 15005 l 10205 15005 l clp gs col0 s gr % Polyline n 10205 15305 m 10805 15305 l gs col0 s gr % Polyline n 12906 15606 m 13506 15606 l 13506 15006 l 12906 15006 l clp gs col0 s gr % Polyline n 12906 15306 m 13506 15306 l gs col0 s gr % Polyline n 9908 14108 m 9908 14258 l 10208 14258 l 10208 14108 l gs col0 s gr % Polyline n 10208 14108 m 10208 14258 l 10508 14258 l 10508 14108 l gs col0 s gr % Polyline n 10508 14108 m 10508 14258 l 10808 14258 l 10808 14108 l gs col0 s gr % Polyline n 10808 14108 m 10808 14258 l 11108 14258 l 11108 14108 l gs col0 s gr % Polyline n 11409 14109 m 11409 14259 l 11709 14259 l 11709 14109 l gs col0 s gr % Polyline n 11709 14109 m 11709 14259 l 12009 14259 l 12009 14109 l gs col0 s gr % Polyline n 12009 14109 m 12009 14259 l 12309 14259 l 12309 14109 l gs col0 s gr % Polyline n 12309 14109 m 12309 14259 l 12609 14259 l 12609 14109 l gs col0 s gr % Polyline n 12609 14109 m 12609 14259 l 12909 14259 l 12909 14109 l gs col0 s gr % Polyline n 12909 14109 m 12909 14259 l 13209 14259 l 13209 14109 l gs col0 s gr % Polyline n 13209 14109 m 13209 14259 l 13509 14259 l 13509 14109 l gs col0 s gr % Polyline n 13509 14109 m 13509 14259 l 13809 14259 l 13809 14109 l gs col0 s gr % Polyline n 13809 14109 m 13809 14259 l 14109 14259 l 14109 14109 l gs col0 s gr % Polyline n 14109 14109 m 14109 14259 l 14409 14259 l 14409 14109 l gs col0 s gr % Polyline n 14409 14109 m 14409 14259 l 14709 14259 l 14709 14109 l gs col0 s gr % Polyline n 14709 14109 m 14709 14259 l 15009 14259 l 15009 14109 l gs col0 s gr % Ellipse n 8257 22507 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 7957 22507 m 8557 22507 l gs col0 s gr /Times-Roman findfont 360.00 scalefont setfont 7809 23934 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 7586 23786 m gs 1 -1 sc (b) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 8784 23934 m gs 1 -1 sc (x) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 8561 23786 m gs 1 -1 sc (d) col0 show gr % Polyline n 1656 18306 m 1656 18456 l 1956 18456 l 1956 18306 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 3156 18456 m gs 1 -1 sc (Component) col0 show gr % Polyline n 1656 18906 m 1656 19056 l 1956 19056 l 1956 18906 l gs col0 s gr % Polyline n 1956 18906 m 1956 19056 l 2256 19056 l 2256 18906 l gs col0 s gr % Polyline n 2256 18906 m 2256 19056 l 2556 19056 l 2556 18906 l gs col0 s gr % Polyline n 2556 18906 m 2556 19056 l 2856 19056 l 2856 18906 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 3156 19056 m gs 1 -1 sc (Expansion) col0 show gr % Ellipse n 1954 19654 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 1654 19654 m 2254 19654 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 3155 19805 m gs 1 -1 sc (Two-Diff) col0 show gr % Polyline n 1956 20557 m 1743 20769 l gs col0 s gr % Polyline n 1956 20557 m 1743 20345 l gs col0 s gr % Polyline n 1957 20556 m 2170 20768 l gs col0 s gr % Polyline n 1957 20556 m 2170 20344 l gs col0 s gr % Ellipse n 1957 20557 300 300 0 360 DrawEllipse gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 3155 20705 m gs 1 -1 sc (Two-Product) col0 show gr % Polyline n 1655 23555 m 2255 23555 l 2255 22955 l 1655 22955 l clp gs col0 s gr % Polyline n 1652 22952 m 2252 23552 l gs col0 s gr % Polyline n 1652 23552 m 2252 22952 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 3157 23407 m gs 1 -1 sc (Scale-Expansion) col0 show gr % Polyline n 1958 21158 m 1958 21758 l gs col0 s gr % Polyline n 1658 21758 m 2258 21758 l 2258 21158 l 1658 21158 l clp gs col0 s gr % Polyline n 1658 21458 m 2258 21458 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 3155 21605 m gs 1 -1 sc (Expansion-Sum) col0 show gr % Polyline n 1660 22660 m 2260 22660 l 2260 22060 l 1660 22060 l clp gs col0 s gr % Polyline n 1660 22360 m 2260 22360 l gs col0 s gr /Times-Roman findfont 480.00 scalefont setfont 3157 22507 m gs 1 -1 sc (Expansion-Diff) col0 show gr 15.000 slw % Polyline n 1505 18005 m 6601 18005 l 6601 23701 l 1505 23701 l clp gs col0 s gr 30.000 slw % Polyline n 1812 12313 m 1599 12525 l gs col0 s gr % Polyline n 1812 12313 m 1599 12101 l gs col0 s gr % Polyline n 1813 12312 m 2026 12524 l gs col0 s gr % Polyline n 1813 12312 m 2026 12100 l gs col0 s gr % Ellipse n 1813 12313 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 3011 12312 m 2798 12524 l gs col0 s gr % Polyline n 3011 12312 m 2798 12100 l gs col0 s gr % Polyline n 3012 12311 m 3225 12523 l gs col0 s gr % Polyline n 3012 12311 m 3225 12099 l gs col0 s gr % Ellipse n 3012 12312 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 4212 12313 m 3999 12525 l gs col0 s gr % Polyline n 4212 12313 m 3999 12101 l gs col0 s gr % Polyline n 4213 12312 m 4426 12524 l gs col0 s gr % Polyline n 4213 12312 m 4426 12100 l gs col0 s gr % Ellipse n 4213 12313 300 300 0 360 DrawEllipse gs col0 s gr 60.000 slw % Polyline n 6611 11111 m 6611 11261 l 6911 11261 l 6911 11111 l gs col0 s gr % Polyline n 6911 11111 m 6911 11261 l 7211 11261 l 7211 11111 l gs col0 s gr % Polyline n 7211 11111 m 7211 11261 l 7511 11261 l 7511 11111 l gs col0 s gr % Polyline n 7511 11111 m 7511 11261 l 7811 11261 l 7811 11111 l gs col0 s gr % Polyline n 5411 11111 m 5411 11261 l 5711 11261 l 5711 11111 l gs col0 s gr % Polyline n 5711 11111 m 5711 11261 l 6011 11261 l 6011 11111 l gs col0 s gr % Polyline n 6011 11111 m 6011 11261 l 6311 11261 l 6311 11111 l gs col0 s gr % Polyline n 6311 11111 m 6311 11261 l 6611 11261 l 6611 11111 l gs col0 s gr % Polyline n 9312 11112 m 9312 11262 l 9612 11262 l 9612 11112 l gs col0 s gr % Polyline n 9612 11112 m 9612 11262 l 9912 11262 l 9912 11112 l gs col0 s gr % Polyline n 9912 11112 m 9912 11262 l 10212 11262 l 10212 11112 l gs col0 s gr % Polyline n 10212 11112 m 10212 11262 l 10512 11262 l 10512 11112 l gs col0 s gr % Polyline n 8112 11112 m 8112 11262 l 8412 11262 l 8412 11112 l gs col0 s gr % Polyline n 8412 11112 m 8412 11262 l 8712 11262 l 8712 11112 l gs col0 s gr % Polyline n 8712 11112 m 8712 11262 l 9012 11262 l 9012 11112 l gs col0 s gr % Polyline n 9012 11112 m 9012 11262 l 9312 11262 l 9312 11112 l gs col0 s gr % Polyline n 6306 12606 m 6906 12606 l 6906 12006 l 6306 12006 l clp gs col0 s gr % Polyline n 6303 12003 m 6903 12603 l gs col0 s gr % Polyline n 6303 12603 m 6903 12003 l gs col0 s gr % Polyline n 9007 12607 m 9607 12607 l 9607 12007 l 9007 12007 l clp gs col0 s gr % Polyline n 9004 12004 m 9604 12604 l gs col0 s gr % Polyline n 9004 12604 m 9604 12004 l gs col0 s gr % Polyline n 11707 12607 m 12307 12607 l 12307 12007 l 11707 12007 l clp gs col0 s gr % Polyline n 11704 12004 m 12304 12604 l gs col0 s gr % Polyline n 11704 12604 m 12304 12004 l gs col0 s gr % Polyline n 14407 12607 m 15007 12607 l 15007 12007 l 14407 12007 l clp gs col0 s gr % Polyline n 14404 12004 m 15004 12604 l gs col0 s gr % Polyline n 14404 12604 m 15004 12004 l gs col0 s gr % Polyline n 6755 9155 m 6755 9755 l gs col0 s gr % Polyline n 6455 9755 m 7055 9755 l 7055 9155 l 6455 9155 l clp gs col0 s gr % Polyline n 6455 9455 m 7055 9455 l gs col0 s gr 30.000 slw % Ellipse n 4803 5853 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 4803 5553 m 4803 6153 l gs col0 s gr % Polyline n 4503 5853 m 5103 5853 l gs col0 s gr % Ellipse n 1803 9453 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 1803 9153 m 1803 9753 l gs col0 s gr % Polyline n 1503 9453 m 2103 9453 l gs col0 s gr % Ellipse n 3603 9453 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 3603 9153 m 3603 9753 l gs col0 s gr % Polyline n 3303 9453 m 3903 9453 l gs col0 s gr 60.000 slw % Polyline n 9307 18607 m 9307 18757 l 9607 18757 l 9607 18607 l gs col0 s gr % Polyline n 8707 18607 m 8707 18757 l 9007 18757 l 9007 18607 l gs col0 s gr % Polyline n 8407 18607 m 8407 18757 l 8707 18757 l 8707 18607 l gs col0 s gr % Ellipse n 10512 19812 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 10512 19811 m 10725 19599 l gs col0 s gr % Polyline n 10512 19811 m 10725 20023 l gs col0 s gr % Polyline n 10511 19812 m 10298 19600 l gs col0 s gr % Polyline n 10511 19812 m 10298 20024 l gs col0 s gr % Ellipse n 9612 19812 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 9612 19811 m 9825 19599 l gs col0 s gr % Polyline n 9612 19811 m 9825 20023 l gs col0 s gr % Polyline n 9611 19812 m 9398 19600 l gs col0 s gr % Polyline n 9611 19812 m 9398 20024 l gs col0 s gr % Ellipse n 8712 19812 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 8712 19811 m 8925 19599 l gs col0 s gr % Polyline n 8712 19811 m 8925 20023 l gs col0 s gr % Polyline n 8711 19812 m 8498 19600 l gs col0 s gr % Polyline n 8711 19812 m 8498 20024 l gs col0 s gr % Ellipse n 7812 19812 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 7812 19811 m 8025 19599 l gs col0 s gr % Polyline n 7812 19811 m 8025 20023 l gs col0 s gr % Polyline n 7811 19812 m 7598 19600 l gs col0 s gr % Polyline n 7811 19812 m 7598 20024 l gs col0 s gr % Polyline n 7807 18607 m 7807 18757 l 8107 18757 l 8107 18607 l gs col0 s gr 15.000 slw % Polyline n 5251 7501 m 7276 7501 l gs col0 s gr % Polyline n 5401 7351 m 5401 7651 l gs col0 s gr 60.000 slw % Polyline n 12157 5857 m 12157 6457 l gs col0 s gr % Polyline n 11857 6457 m 12457 6457 l 12457 5857 l 11857 5857 l clp gs col0 s gr % Polyline n 11857 6157 m 12457 6157 l gs col0 s gr 15.000 slw % Polyline [100.0] 0 setdash n 6002 10652 m 6002 10802 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 6302 10652 m 6302 10802 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 6602 10652 m 6602 10802 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 6902 10652 m 6902 10802 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 7202 10652 m 7202 10802 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 7502 10652 m 7502 10802 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 7802 10652 m 7802 10802 l gs col0 s gr [] 0 setdash 30.000 slw % Polyline [200.0] 0 setdash n 5702 10802 m 8102 10802 l gs col0 s gr [] 0 setdash % Polyline n 5700 10650 m 5700 10800 l gs col0 s gr % Polyline n 8100 10650 m 8100 10800 l gs col0 s gr 15.000 slw % Polyline [100.0] 0 setdash n 5853 10878 m 5853 11028 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 6153 10878 m 6153 11028 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 6453 10878 m 6453 11028 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 6753 10878 m 6753 11028 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 7053 10878 m 7053 11028 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 7353 10878 m 7353 11028 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 7653 10878 m 7653 11028 l gs col0 s gr [] 0 setdash 30.000 slw % Polyline [200.0] 0 setdash n 5553 11028 m 7953 11028 l gs col0 s gr [] 0 setdash 60.000 slw % Polyline n 7507 18607 m 7507 18757 l 7807 18757 l 7807 18607 l gs col0 s gr 30.000 slw % Polyline n 5551 10876 m 5551 11026 l gs col0 s gr /Times-Bold findfont 360.00 scalefont setfont 11925 5025 m gs 1 -1 sc (192) col0 show gr % Polyline n 7951 10876 m 7951 11026 l gs col0 s gr 15.000 slw % Polyline [100.0] 0 setdash n 8553 10878 m 8553 11028 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 8853 10878 m 8853 11028 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 9153 10878 m 9153 11028 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 9453 10878 m 9453 11028 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 9753 10878 m 9753 11028 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 10053 10878 m 10053 11028 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 10353 10878 m 10353 11028 l gs col0 s gr [] 0 setdash 30.000 slw % Polyline [200.0] 0 setdash n 8253 11028 m 10653 11028 l gs col0 s gr [] 0 setdash % Polyline n 8251 10876 m 8251 11026 l gs col0 s gr % Polyline n 10651 10876 m 10651 11026 l gs col0 s gr 15.000 slw % Polyline [100.0] 0 setdash n 8703 10653 m 8703 10803 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 9003 10653 m 9003 10803 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 9303 10653 m 9303 10803 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 9603 10653 m 9603 10803 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 9903 10653 m 9903 10803 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 10203 10653 m 10203 10803 l gs col0 s gr [] 0 setdash % Polyline [100.0] 0 setdash n 10503 10653 m 10503 10803 l gs col0 s gr [] 0 setdash 30.000 slw % Polyline [200.0] 0 setdash n 8403 10803 m 10803 10803 l gs col0 s gr [] 0 setdash % Polyline n 8401 10651 m 8401 10801 l gs col0 s gr % Polyline n 10801 10651 m 10801 10801 l gs col0 s gr % Polyline [200.0] 0 setdash n 11103 10803 m 13503 10803 l gs col0 s gr [] 0 setdash % Polyline n 11101 10651 m 11101 10801 l gs col0 s gr % Polyline n 13501 10651 m 13501 10801 l gs col0 s gr % Polyline [200.0] 0 setdash n 10954 11029 m 13354 11029 l gs col0 s gr [] 0 setdash % Polyline n 10952 10877 m 10952 11027 l gs col0 s gr % Polyline n 13352 10877 m 13352 11027 l gs col0 s gr % Polyline [200.0] 0 setdash n 13654 11029 m 16054 11029 l gs col0 s gr [] 0 setdash % Polyline n 13652 10877 m 13652 11027 l gs col0 s gr % Polyline n 16052 10877 m 16052 11027 l gs col0 s gr % Polyline [200.0] 0 setdash n 13804 10804 m 16204 10804 l gs col0 s gr [] 0 setdash % Polyline n 13802 10652 m 13802 10802 l gs col0 s gr % Polyline n 16202 10652 m 16202 10802 l gs col0 s gr % Polyline n 1651 10876 m 1651 10951 l gs col0 s gr % Polyline n 1951 10876 m 1951 10951 l gs col0 s gr % Polyline n 1651 11026 m 1751 11026 l gs col0 s gr % Polyline n 1951 11026 m 1851 11026 l gs col0 s gr % Polyline n 1801 10651 m 1801 10726 l gs col0 s gr % Polyline n 2101 10651 m 2101 10726 l gs col0 s gr % Polyline n 1801 10801 m 1901 10801 l gs col0 s gr % Polyline n 2101 10801 m 2001 10801 l gs col0 s gr % Polyline n 3001 10651 m 3001 10726 l gs col0 s gr % Polyline n 3301 10651 m 3301 10726 l gs col0 s gr % Polyline n 3001 10801 m 3101 10801 l gs col0 s gr % Polyline n 3301 10801 m 3201 10801 l gs col0 s gr % Polyline n 2851 10876 m 2851 10951 l gs col0 s gr % Polyline n 3151 10876 m 3151 10951 l gs col0 s gr % Polyline n 2851 11026 m 2951 11026 l gs col0 s gr % Polyline n 3151 11026 m 3051 11026 l gs col0 s gr % Polyline n 4051 10876 m 4051 10951 l gs col0 s gr % Polyline n 4351 10876 m 4351 10951 l gs col0 s gr % Polyline n 4051 11026 m 4151 11026 l gs col0 s gr % Polyline n 4351 11026 m 4251 11026 l gs col0 s gr % Polyline n 4201 10651 m 4201 10726 l gs col0 s gr % Polyline n 4501 10651 m 4501 10726 l gs col0 s gr % Polyline n 4201 10801 m 4301 10801 l gs col0 s gr % Polyline n 4501 10801 m 4401 10801 l gs col0 s gr 60.000 slw % Ellipse n 6159 15309 300 300 0 360 DrawEllipse gs col0 s gr % Polyline n 5859 15309 m 6459 15309 l gs col0 s gr /Times-Roman findfont 360.00 scalefont setfont 5711 16736 m gs 1 -1 sc (z) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 5488 16588 m gs 1 -1 sc (a) col0 show gr /Times-Roman findfont 480.00 scalefont setfont 6463 16588 m gs 1 -1 sc (d) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 6686 16736 m gs 1 -1 sc (z) col0 show gr 15.000 slw % Arc n 13363.61 16413.39 287.66 -92.51 2.51 arc gs col0 s gr % Arc n 12166.61 18291.39 287.66 -92.51 2.51 arc gs col0 s gr % Arc n 10754.01 15773.78 m 10651.00 15601.00 l 10834.06 15684.38 l 10830.30 15761.60 l 10754.01 15773.78 l clp gs 0.00 setgray ef gr gs col0 s gr n 5814.67 21002.17 7250.02 -20.60 -48.16 arcn gs col0 s gr % Arc n 9439.39 15839.61 287.66 87.49 -177.49 arc gs col0 s gr % Arc n 10001.42 15575.84 m 10201.00 15601.00 l 10022.61 15693.95 l 9965.27 15643.87 l 10001.42 15575.84 l clp gs 0.00 setgray ef gr gs col0 s gr n 10715.56 18469.84 2914.62 -179.63 -100.17 arc gs col0 s gr % Arc n 1938.39 13288.61 287.66 87.49 -177.49 arc gs col0 s gr % Arc n 5562.61 13862.39 287.66 -92.51 2.51 arc gs col0 s gr % Arc n 8562.61 13412.39 287.66 -92.51 2.51 arc gs col0 s gr % Arc n 7362.61 13562.39 287.66 -92.51 2.51 arc gs col0 s gr % Arc n 6162.61 13712.39 287.66 -92.51 2.51 arc gs col0 s gr % Arc n 2237.39 12987.61 287.66 87.49 -177.49 arc gs col0 s gr % Arc n 4337.39 13287.61 287.66 87.49 -177.49 arc gs col0 s gr % Arc n 3437.39 12987.61 287.66 87.49 -177.49 arc gs col0 s gr % Arc n 3137.39 13137.61 287.66 87.49 -177.49 arc gs col0 s gr % Arc n 4637.39 12837.61 287.66 87.49 -177.49 arc gs col0 s gr % Arc n 8237.39 17712.61 287.66 87.49 -177.49 arc gs col0 s gr % Polyline n 9609 23409 m 9909 22809 l gs col0 s gr n 9769.47 22953.90 m 9909.00 22809.00 l 9876.80 23007.56 l 9802.17 23024.16 l 9769.47 22953.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10509 23409 m 10209 22809 l gs col0 s gr n 10241.20 23007.56 m 10209.00 22809.00 l 10348.53 22953.90 l 10316.83 23024.16 l 10241.20 23007.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9908 22208 m 9758 21458 l gs col0 s gr n 9736.82 21658.04 m 9758.00 21458.00 l 9854.49 21634.50 l 9805.57 21693.84 l 9736.82 21658.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10208 22208 m 10358 21458 l gs col0 s gr n 10261.51 21634.50 m 10358.00 21458.00 l 10379.18 21658.04 l 10311.43 21693.84 l 10261.51 21634.50 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline [133.3] 0 setdash n 9306 21606 m 10806 21606 l 10806 21006 l 9306 21006 l clp gs col0 s gr [] 0 setdash 15.000 slw % Polyline n 7956 21156 m 7656 20106 l gs col0 s gr n 7651.06 20307.10 m 7656.00 20106.00 l 7766.44 20274.13 l 7722.43 20337.27 l 7651.06 20307.10 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7956 21156 m 9456 20106 l gs col0 s gr n 9264.30 20166.95 m 9456.00 20106.00 l 9333.12 20265.26 l 9259.88 20244.13 l 9264.30 20166.95 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10356 21156 m 10656 20106 l gs col0 s gr n 10545.56 20274.13 m 10656.00 20106.00 l 10660.94 20307.10 l 10590.57 20337.27 l 10545.56 20274.13 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10356 21156 m 9756 20106 l gs col0 s gr n 9799.16 20302.47 m 9756.00 20106.00 l 9903.35 20242.93 l 9875.57 20314.88 l 9799.16 20302.47 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8556 21156 m 8556 20106 l gs col0 s gr n 8496.00 20298.00 m 8556.00 20106.00 l 8616.00 20298.00 l 8556.50 20346.50 l 8496.00 20298.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8556 21156 m 10356 20106 l gs col0 s gr n 10159.92 20150.92 m 10356.00 20106.00 l 10220.39 20254.57 l 10149.19 20227.43 l 10159.92 20150.92 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9756 21156 m 7956 20106 l gs col0 s gr n 8091.61 20254.57 m 7956.00 20106.00 l 8152.08 20150.92 l 8163.81 20227.43 l 8091.61 20254.57 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9756 21156 m 8856 20106 l gs col0 s gr n 8935.40 20290.82 m 8856.00 20106.00 l 9026.51 20212.73 l 9012.69 20288.72 l 8935.40 20290.82 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 12757 21157 m 12457 20107 l gs col0 s gr n 12452.06 20308.10 m 12457.00 20107.00 l 12567.44 20275.13 l 12523.43 20338.27 l 12452.06 20308.10 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 12757 21157 m 14257 20107 l gs col0 s gr n 14065.30 20167.95 m 14257.00 20107.00 l 14134.12 20266.26 l 14060.88 20245.13 l 14065.30 20167.95 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 15157 21157 m 15457 20107 l gs col0 s gr n 15346.56 20275.13 m 15457.00 20107.00 l 15461.94 20308.10 l 15391.57 20338.27 l 15346.56 20275.13 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 15157 21157 m 14557 20107 l gs col0 s gr n 14600.16 20303.47 m 14557.00 20107.00 l 14704.35 20243.93 l 14676.57 20315.88 l 14600.16 20303.47 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 13357 21157 m 13357 20107 l gs col0 s gr n 13297.00 20299.00 m 13357.00 20107.00 l 13417.00 20299.00 l 13357.50 20347.50 l 13297.00 20299.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 13357 21157 m 15157 20107 l gs col0 s gr n 14960.92 20151.92 m 15157.00 20107.00 l 15021.39 20255.57 l 14950.19 20228.43 l 14960.92 20151.92 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 14557 21157 m 12757 20107 l gs col0 s gr n 12892.61 20255.57 m 12757.00 20107.00 l 12953.08 20151.92 l 12964.81 20228.43 l 12892.61 20255.57 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 14557 21157 m 13657 20107 l gs col0 s gr n 13736.40 20291.82 m 13657.00 20107.00 l 13827.51 20213.73 l 13813.69 20289.72 l 13736.40 20291.82 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline [133.3] 0 setdash n 12007 18907 m 15907 18907 l 15907 18307 l 12007 18307 l clp gs col0 s gr [] 0 setdash 15.000 slw % Polyline n 12610 23410 m 12910 22810 l gs col0 s gr n 12770.47 22954.90 m 12910.00 22810.00 l 12877.80 23008.56 l 12803.17 23025.16 l 12770.47 22954.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 13510 23410 m 13210 22810 l gs col0 s gr n 13242.20 23008.56 m 13210.00 22810.00 l 13349.53 22954.90 l 13317.83 23025.16 l 13242.20 23008.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 12909 22209 m 12759 21459 l gs col0 s gr n 12737.82 21659.04 m 12759.00 21459.00 l 12855.49 21635.50 l 12806.57 21694.84 l 12737.82 21659.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 13209 22209 m 13359 21459 l gs col0 s gr n 13262.51 21635.50 m 13359.00 21459.00 l 13380.18 21659.04 l 13312.43 21694.84 l 13262.51 21635.50 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 14410 23410 m 14710 22810 l gs col0 s gr n 14570.47 22954.90 m 14710.00 22810.00 l 14677.80 23008.56 l 14603.17 23025.16 l 14570.47 22954.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 15310 23410 m 15010 22810 l gs col0 s gr n 15042.20 23008.56 m 15010.00 22810.00 l 15149.53 22954.90 l 15117.83 23025.16 l 15042.20 23008.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 14709 22209 m 14559 21459 l gs col0 s gr n 14537.82 21659.04 m 14559.00 21459.00 l 14655.49 21635.50 l 14606.57 21694.84 l 14537.82 21659.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 15009 22209 m 15159 21459 l gs col0 s gr n 15062.51 21635.50 m 15159.00 21459.00 l 15180.18 21659.04 l 15112.43 21694.84 l 15062.51 21635.50 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline [133.3] 0 setdash n 12307 21607 m 13807 21607 l 13807 21007 l 12307 21007 l clp gs col0 s gr [] 0 setdash % Polyline [133.3] 0 setdash n 14107 21607 m 15607 21607 l 15607 21007 l 14107 21007 l clp gs col0 s gr [] 0 setdash % Polyline [133.3] 0 setdash n 7206 18906 m 11106 18906 l 11106 18306 l 7206 18306 l clp gs col0 s gr [] 0 setdash 15.000 slw % Polyline n 7807 19507 m 7802 18752 l gs col0 s gr n 7743.27 18944.39 m 7802.00 18752.00 l 7863.27 18943.60 l 7804.09 18992.49 l 7743.27 18944.39 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8707 19507 m 8702 18752 l gs col0 s gr n 8643.27 18944.39 m 8702.00 18752.00 l 8763.27 18943.60 l 8704.09 18992.49 l 8643.27 18944.39 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9607 19507 m 9602 18752 l gs col0 s gr n 9543.27 18944.39 m 9602.00 18752.00 l 9663.27 18943.60 l 9604.09 18992.49 l 9543.27 18944.39 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10507 19507 m 10502 18752 l gs col0 s gr n 10443.27 18944.39 m 10502.00 18752.00 l 10563.27 18943.60 l 10504.09 18992.49 l 10443.27 18944.39 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 12608 19508 m 12602 18752 l gs col0 s gr n 12543.53 18944.47 m 12602.00 18752.00 l 12663.52 18943.52 l 12604.40 18992.49 l 12543.53 18944.47 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 13508 19508 m 13502 18752 l gs col0 s gr n 13443.53 18944.47 m 13502.00 18752.00 l 13563.52 18943.52 l 13504.40 18992.49 l 13443.53 18944.47 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 14408 19508 m 14402 18752 l gs col0 s gr n 14343.53 18944.47 m 14402.00 18752.00 l 14463.52 18943.52 l 14404.40 18992.49 l 14343.53 18944.47 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 15308 19508 m 15302 18752 l gs col0 s gr n 15243.53 18944.47 m 15302.00 18752.00 l 15363.52 18943.52 l 15304.40 18992.49 l 15243.53 18944.47 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 10208 21308 m 10208 21458 l 10508 21458 l 10508 21308 l gs col0 s gr % Polyline n 9608 21308 m 9608 21458 l 9908 21458 l 9908 21308 l gs col0 s gr % Polyline n 12609 21309 m 12609 21459 l 12909 21459 l 12909 21309 l gs col0 s gr % Polyline n 13209 21309 m 13209 21459 l 13509 21459 l 13509 21309 l gs col0 s gr % Polyline n 14409 21309 m 14409 21459 l 14709 21459 l 14709 21309 l gs col0 s gr % Polyline n 15009 21309 m 15009 21459 l 15309 21459 l 15309 21309 l gs col0 s gr 15.000 slw % Polyline n 8702 18452 m 10052 17702 l gs col0 s gr n 9855.02 17742.79 m 10052.00 17702.00 l 9913.30 17847.69 l 9842.70 17819.05 l 9855.02 17742.79 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9602 18452 m 10202 17702 l gs col0 s gr n 10035.21 17814.45 m 10202.00 17702.00 l 10128.91 17889.41 l 10052.57 17889.91 l 10035.21 17814.45 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10502 18452 m 10352 17702 l gs col0 s gr n 10330.82 17902.04 m 10352.00 17702.00 l 10448.49 17878.50 l 10399.57 17937.84 l 10330.82 17902.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 13502 18452 m 14852 17702 l gs col0 s gr n 14655.02 17742.79 m 14852.00 17702.00 l 14713.30 17847.69 l 14642.70 17819.05 l 14655.02 17742.79 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 14402 18452 m 15002 17702 l gs col0 s gr n 14835.21 17814.45 m 15002.00 17702.00 l 14928.91 17889.41 l 14852.57 17889.91 l 14835.21 17814.45 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 15302 18452 m 15152 17702 l gs col0 s gr n 15130.82 17902.04 m 15152.00 17702.00 l 15248.49 17878.50 l 15199.57 17937.84 l 15130.82 17902.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10202 17097 m 10202 16652 l gs col0 s gr n 10142.00 16844.00 m 10202.00 16652.00 l 10262.00 16844.00 l 10202.50 16892.50 l 10142.00 16844.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 15002 17097 m 15002 16652 l gs col0 s gr n 14942.00 16844.00 m 15002.00 16652.00 l 15062.00 16844.00 l 15002.50 16892.50 l 14942.00 16844.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8552 18602 m 8852 17702 l gs col0 s gr n 8734.36 17865.17 m 8852.00 17702.00 l 8848.21 17903.12 l 8776.61 17930.18 l 8734.36 17865.17 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9452 18602 m 9150 17700 l gs col0 s gr n 9154.06 17901.12 m 9150.00 17700.00 l 9267.85 17863.02 l 9226.70 17928.08 l 9154.06 17901.12 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 13352 18602 m 13652 17702 l gs col0 s gr n 13534.36 17865.17 m 13652.00 17702.00 l 13648.21 17903.12 l 13576.61 17930.18 l 13534.36 17865.17 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 14252 18602 m 13950 17700 l gs col0 s gr n 13954.06 17901.12 m 13950.00 17700.00 l 14067.85 17863.02 l 14026.70 17928.08 l 13954.06 17901.12 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 9002 16502 m 9002 16652 l 8702 16652 l 8702 16502 l gs col0 s gr % Polyline n 13802 16502 m 13802 16652 l 13502 16652 l 13502 16502 l gs col0 s gr 15.000 slw % Polyline n 9002 17102 m 8852 16652 l gs col0 s gr n 8855.79 16853.12 m 8852.00 16652.00 l 8969.64 16815.17 l 8928.39 16880.18 l 8855.79 16853.12 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 13802 17102 m 13652 16652 l gs col0 s gr n 13655.79 16853.12 m 13652.00 16652.00 l 13769.64 16815.17 l 13728.39 16880.18 l 13655.79 16853.12 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 12454 18304 m 12454 18604 l gs col0 s gr % Polyline n 8850 16425 m 8852 15602 l gs col0 s gr n 8791.53 15793.85 m 8852.00 15602.00 l 8911.53 15794.15 l 8851.92 15842.50 l 8791.53 15793.85 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9152 15827 m 9152 15602 l gs col0 s gr n 9092.00 15794.00 m 9152.00 15602.00 l 9212.00 15794.00 l 9152.50 15842.50 l 9092.00 15794.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9002 15002 m 8852 14252 l gs col0 s gr n 8830.82 14452.04 m 8852.00 14252.00 l 8948.49 14428.50 l 8899.57 14487.84 l 8830.82 14452.04 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 9002 14102 m 9002 14252 l 8702 14252 l 8702 14102 l gs col0 s gr 15.000 slw % Polyline n 7806 15006 m 7656 14256 l gs col0 s gr n 7634.82 14456.04 m 7656.00 14256.00 l 7752.49 14432.50 l 7703.57 14491.84 l 7634.82 14456.04 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 7806 14107 m 7806 14257 l 7506 14257 l 7506 14107 l gs col0 s gr 15.000 slw % Polyline n 7651 18601 m 7655 15605 l gs col0 s gr n 7594.74 15796.92 m 7655.00 15605.00 l 7714.74 15797.08 l 7655.18 15845.50 l 7594.74 15796.92 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 15001 16351 m 13351 15601 l gs col0 s gr n 13500.96 15735.07 m 13351.00 15601.00 l 13550.62 15625.83 l 13569.99 15700.81 l 13500.96 15735.07 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10201 16351 m 13051 15601 l gs col0 s gr n 12850.05 15591.84 m 13051.00 15601.00 l 12880.59 15707.89 l 12819.40 15662.58 l 12850.05 15591.84 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10505 15008 m 10500 14253 l gs col0 s gr n 10441.27 14445.39 m 10500.00 14253.00 l 10561.27 14444.60 l 10502.09 14493.49 l 10441.27 14445.39 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline [100.0] 0 setdash n 9602 14402 m 15302 14402 l 15302 13802 l 9602 13802 l clp gs col0 s gr [] 0 setdash 15.000 slw % Polyline n 13206 15009 m 13201 14254 l gs col0 s gr n 13142.27 14446.39 m 13201.00 14254.00 l 13262.27 14445.60 l 13203.09 14494.49 l 13142.27 14446.39 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7808 23408 m 8108 22808 l gs col0 s gr n 7968.47 22952.90 m 8108.00 22808.00 l 8075.80 23006.56 l 8001.17 23023.16 l 7968.47 22952.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8708 23408 m 8408 22808 l gs col0 s gr n 8440.20 23006.56 m 8408.00 22808.00 l 8547.53 22952.90 l 8515.83 23023.16 l 8440.20 23006.56 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8107 22207 m 7957 21457 l gs col0 s gr n 7935.82 21657.04 m 7957.00 21457.00 l 8053.49 21633.50 l 8004.57 21692.84 l 7935.82 21657.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8407 22207 m 8557 21457 l gs col0 s gr n 8460.51 21633.50 m 8557.00 21457.00 l 8578.18 21657.04 l 8510.43 21692.84 l 8460.51 21633.50 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline [133.3] 0 setdash n 7506 21606 m 9006 21606 l 9006 21006 l 7506 21006 l clp gs col0 s gr [] 0 setdash 60.000 slw % Polyline n 8407 21307 m 8407 21457 l 8707 21457 l 8707 21307 l gs col0 s gr % Polyline n 7807 21307 m 7807 21457 l 8107 21457 l 8107 21307 l gs col0 s gr 15.000 slw % Polyline n 1802 12002 m 1652 11252 l gs col0 s gr n 1630.82 11452.04 m 1652.00 11252.00 l 1748.49 11428.50 l 1699.57 11487.84 l 1630.82 11452.04 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 1802 11102 m 1802 11252 l 1502 11252 l 1502 11102 l gs col0 s gr 15.000 slw % Polyline n 3001 12001 m 2851 11251 l gs col0 s gr n 2829.82 11451.04 m 2851.00 11251.00 l 2947.49 11427.50 l 2898.57 11486.84 l 2829.82 11451.04 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 3001 11101 m 3001 11251 l 2701 11251 l 2701 11101 l gs col0 s gr 15.000 slw % Polyline n 4202 12002 m 4052 11252 l gs col0 s gr n 4030.82 11452.04 m 4052.00 11252.00 l 4148.49 11428.50 l 4099.57 11487.84 l 4030.82 11452.04 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 4202 11102 m 4202 11252 l 3902 11252 l 3902 11102 l gs col0 s gr 15.000 slw % Polyline n 1951 13576 m 5550 13575 l gs col0 s gr % Polyline n 10500 13950 m 6750 12600 l gs col0 s gr n 6910.33 12721.49 m 6750.00 12600.00 l 6950.97 12608.58 l 6976.31 12681.79 l 6910.33 12721.49 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 10500 13950 m 9450 12600 l gs col0 s gr n 9520.52 12788.39 m 9450.00 12600.00 l 9615.24 12714.72 l 9597.85 12789.94 l 9520.52 12788.39 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5850 13950 m 11850 12600 l gs col0 s gr n 11649.51 12583.61 m 11850.00 12600.00 l 11675.85 12700.68 l 11616.35 12653.18 l 11649.51 12583.61 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6450 13950 m 14550 12600 l gs col0 s gr n 14350.75 12572.38 m 14550.00 12600.00 l 14370.48 12690.75 l 14313.77 12639.96 l 14350.75 12572.38 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 13200 13950 m 14850 12600 l gs col0 s gr n 14663.41 12675.14 m 14850.00 12600.00 l 14739.39 12768.02 l 14664.75 12752.48 l 14663.41 12675.14 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 13200 13950 m 12150 12600 l gs col0 s gr n 12220.52 12788.39 m 12150.00 12600.00 l 12315.24 12714.72 l 12297.85 12789.94 l 12220.52 12788.39 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5850 13875 m 5850 13950 l gs col0 s gr % Polyline n 8850 13425 m 8850 13950 l gs col0 s gr % Polyline n 1950 12975 m 1950 12600 l gs col0 s gr n 1890.00 12792.00 m 1950.00 12600.00 l 2010.00 12792.00 l 1950.50 12840.50 l 1890.00 12792.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1650 13275 m 1650 12600 l gs col0 s gr n 1590.00 12792.00 m 1650.00 12600.00 l 1710.00 12792.00 l 1650.50 12840.50 l 1590.00 12792.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1950 10500 m 1951 9751 l gs col0 s gr n 1890.74 9942.92 m 1951.00 9751.00 l 2010.74 9943.08 l 1951.18 9991.50 l 1890.74 9942.92 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1800 10500 m 1801 9751 l gs col0 s gr n 1740.74 9942.92 m 1801.00 9751.00 l 1860.74 9943.08 l 1801.18 9991.50 l 1740.74 9942.92 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1650 10500 m 1651 9751 l gs col0 s gr n 1590.74 9942.92 m 1651.00 9751.00 l 1710.74 9943.08 l 1651.18 9991.50 l 1590.74 9942.92 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3225 10500 m 3526 9751 l gs col0 s gr n 3398.73 9906.78 m 3526.00 9751.00 l 3510.08 9951.53 l 3437.01 9974.19 l 3398.73 9906.78 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 10500 m 3451 9751 l gs col0 s gr n 3311.24 9895.67 m 3451.00 9751.00 l 3418.48 9949.51 l 3343.83 9965.99 l 3311.24 9895.67 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2925 10500 m 3376 9676 l gs col0 s gr n 3231.18 9815.62 m 3376.00 9676.00 l 3336.45 9873.23 l 3261.27 9887.03 l 3231.18 9815.62 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3901 10501 m 3676 9751 l gs col0 s gr n 3673.70 9952.14 m 3676.00 9751.00 l 3788.64 9917.66 l 3745.46 9981.38 l 3673.70 9952.14 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4051 10501 m 3751 9751 l gs col0 s gr n 3766.60 9951.55 m 3751.00 9751.00 l 3878.02 9906.98 l 3840.63 9974.33 l 3766.60 9951.55 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4201 10501 m 3826 9676 l gs col0 s gr n 3850.83 9875.62 m 3826.00 9676.00 l 3960.07 9825.96 l 3925.81 9894.99 l 3850.83 9875.62 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 13503 11103 m 13503 11253 l 15903 11253 l 15903 11103 l gs col0 s gr 15.000 slw % Polyline n 6605 12011 m 6600 11256 l gs col0 s gr n 6541.27 11448.39 m 6600.00 11256.00 l 6661.27 11447.60 l 6602.09 11496.49 l 6541.27 11448.39 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9306 12012 m 9301 11257 l gs col0 s gr n 9242.27 11449.39 m 9301.00 11257.00 l 9362.27 11448.60 l 9303.09 11497.49 l 9242.27 11449.39 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 12006 12012 m 12001 11257 l gs col0 s gr n 11942.27 11449.39 m 12001.00 11257.00 l 12062.27 11448.60 l 12003.09 11497.49 l 11942.27 11449.39 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 14706 12012 m 14701 11257 l gs col0 s gr n 14642.27 11449.39 m 14701.00 11257.00 l 14762.27 11448.60 l 14703.09 11497.49 l 14642.27 11449.39 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline [100.0] 0 setdash n 5102 11403 m 16502 11403 l 16502 10352 l 5102 10352 l clp gs col0 s gr [] 0 setdash 15.000 slw % Polyline n 6755 9155 m 6755 8405 l gs col0 s gr n 6695.00 8597.00 m 6755.00 8405.00 l 6815.00 8597.00 l 6755.50 8645.50 l 6695.00 8597.00 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 5555 8255 m 5555 8405 l 7955 8405 l 7955 8255 l gs col0 s gr % Polyline n 10803 11103 m 10803 11253 l 13203 11253 l 13203 11103 l gs col0 s gr 15.000 slw % Polyline n 11850 10500 m 12150 6450 l gs col0 s gr n 12075.98 6637.04 m 12150.00 6450.00 l 12195.65 6645.91 l 12132.77 6689.84 l 12075.98 6637.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 12150 10500 m 12150 6450 l gs col0 s gr n 12090.00 6642.00 m 12150.00 6450.00 l 12210.00 6642.00 l 12150.50 6690.50 l 12090.00 6642.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 12450 10500 m 12150 6450 l gs col0 s gr n 12104.35 6645.91 m 12150.00 6450.00 l 12224.02 6637.04 l 12168.23 6689.84 l 12104.35 6645.91 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 14550 10500 m 12300 6450 l gs col0 s gr n 12340.79 6646.98 m 12300.00 6450.00 l 12445.69 6588.70 l 12417.05 6660.30 l 12340.79 6646.98 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 14850 10500 m 12300 6450 l gs col0 s gr n 12351.53 6644.45 m 12300.00 6450.00 l 12453.07 6580.51 l 12428.38 6653.60 l 12351.53 6644.45 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 15150 10500 m 12300 6450 l gs col0 s gr n 12361.43 6641.55 m 12300.00 6450.00 l 12459.56 6572.49 l 12438.62 6646.77 l 12361.43 6641.55 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9150 10500 m 12000 6450 l gs col0 s gr n 11840.44 6572.49 m 12000.00 6450.00 l 11938.57 6641.55 l 11862.38 6646.77 l 11840.44 6572.49 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9450 10500 m 12000 6450 l gs col0 s gr n 11846.93 6580.51 m 12000.00 6450.00 l 11948.47 6644.45 l 11872.62 6653.60 l 11846.93 6580.51 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9750 10500 m 12000 6450 l gs col0 s gr n 11854.31 6588.70 m 12000.00 6450.00 l 11959.21 6646.98 l 11883.95 6660.30 l 11854.31 6588.70 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6750 7950 m 11850 6450 l gs col0 s gr n 11648.87 6446.61 m 11850.00 6450.00 l 11682.73 6561.74 l 11620.25 6518.22 l 11648.87 6446.61 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6750 7950 m 6300 7650 l gs col0 s gr n 6426.47 7806.43 m 6300.00 7650.00 l 6493.04 7706.58 l 6500.19 7783.63 l 6426.47 7806.43 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5401 7351 m 5250 6750 l gs col0 s gr n 5238.59 6950.83 m 5250.00 6750.00 l 5354.98 6921.59 l 5308.98 6983.27 l 5238.59 6950.83 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 5100 6600 m 5100 6750 l 5400 6750 l 5400 6600 l gs col0 s gr 15.000 slw % Polyline n 3450 8100 m 4651 6151 l gs col0 s gr n 4499.19 6282.98 m 4651.00 6151.00 l 4601.36 6345.93 l 4525.59 6355.82 l 4499.19 6282.98 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5250 6450 m 4951 6151 l gs col0 s gr n 5044.34 6329.19 m 4951.00 6151.00 l 5129.19 6244.34 l 5121.21 6321.21 l 5044.34 6329.19 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4802 5552 m 4651 5101 l gs col0 s gr n 4655.06 5302.12 m 4651.00 5101.00 l 4768.85 5264.02 l 4727.70 5329.08 l 4655.06 5302.12 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 4801 4951 m 4801 5101 l 4501 5101 l 4501 4951 l gs col0 s gr 15.000 slw % Polyline n 1802 9152 m 1652 8402 l gs col0 s gr n 1630.82 8602.04 m 1652.00 8402.00 l 1748.49 8578.50 l 1699.57 8637.84 l 1630.82 8602.04 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 1802 8252 m 1802 8402 l 1502 8402 l 1502 8252 l gs col0 s gr 15.000 slw % Polyline n 3602 9152 m 3452 8402 l gs col0 s gr n 3430.82 8602.04 m 3452.00 8402.00 l 3548.49 8578.50 l 3499.57 8637.84 l 3430.82 8602.04 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 3602 8252 m 3602 8402 l 3302 8402 l 3302 8252 l gs col0 s gr 15.000 slw % Polyline n 6450 10500 m 6600 9750 l gs col0 s gr n 6503.51 9926.50 m 6600.00 9750.00 l 6621.18 9950.04 l 6553.43 9985.84 l 6503.51 9926.50 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6750 10500 m 6750 9750 l gs col0 s gr n 6690.00 9942.00 m 6750.00 9750.00 l 6810.00 9942.00 l 6750.50 9990.50 l 6690.00 9942.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7050 10500 m 6900 9750 l gs col0 s gr n 6878.82 9950.04 m 6900.00 9750.00 l 6996.49 9926.50 l 6947.57 9985.84 l 6878.82 9950.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 12157 5857 m 12157 5107 l gs col0 s gr n 12097.00 5299.00 m 12157.00 5107.00 l 12217.00 5299.00 l 12157.50 5347.50 l 12097.00 5299.00 l clp gs 0.00 setgray ef gr gs col0 s gr 60.000 slw % Polyline n 10957 4957 m 10957 5107 l 13357 5107 l 13357 4957 l gs col0 s gr 15.000 slw % Polyline n 6450 13950 m 9150 12600 l gs col0 s gr n 8951.44 12632.20 m 9150.00 12600.00 l 9005.10 12739.53 l 8935.84 12707.83 l 8951.44 12632.20 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7650 13575 m 7650 13950 l gs col0 s gr % Polyline n 5850 13950 m 6450 12600 l gs col0 s gr n 6317.19 12751.08 m 6450.00 12600.00 l 6426.85 12799.82 l 6353.03 12819.81 l 6317.19 12751.08 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3150 13425 m 6151 13424 l gs col0 s gr % Polyline n 6450 13725 m 6450 13950 l gs col0 s gr % Polyline n 4050 13275 m 4050 12600 l gs col0 s gr n 3990.00 12792.00 m 4050.00 12600.00 l 4110.00 12792.00 l 4050.50 12840.50 l 3990.00 12792.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2250 13275 m 7356 13274 l gs col0 s gr % Polyline n 3150 12975 m 3150 12600 l gs col0 s gr n 3090.00 12792.00 m 3150.00 12600.00 l 3210.00 12792.00 l 3150.50 12840.50 l 3090.00 12792.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2849 13124 m 2850 12600 l gs col0 s gr n 2789.63 12791.89 m 2850.00 12600.00 l 2909.63 12792.11 l 2850.04 12840.50 l 2789.63 12791.89 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4650 13125 m 8550 13125 l gs col0 s gr % Polyline n 4350 12825 m 4350 12600 l gs col0 s gr n 4290.00 12792.00 m 4350.00 12600.00 l 4410.00 12792.00 l 4350.50 12840.50 l 4290.00 12792.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8250 18000 m 12150 18000 l gs col0 s gr % Polyline n 9450 16125 m 13350 16125 l gs col0 s gr % Polyline n 7950 17700 m 7950 15600 l gs col0 s gr n 7890.00 15792.00 m 7950.00 15600.00 l 8010.00 15792.00 l 7950.50 15840.50 l 7890.00 15792.00 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5710 16210 m 6010 15610 l gs col0 s gr n 5870.47 15754.90 m 6010.00 15610.00 l 5977.80 15808.56 l 5903.17 15825.16 l 5870.47 15754.90 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6009 15009 m 5859 14259 l gs col0 s gr n 5837.82 14459.04 m 5859.00 14259.00 l 5955.49 14435.50 l 5906.57 14494.84 l 5837.82 14459.04 l clp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6309 15009 m 6459 14259 l gs col0 s gr n 6362.51 14435.50 m 6459.00 14259.00 l 6480.18 14459.04 l 6412.43 14494.84 l 6362.51 14435.50 l clp gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Polyline [133.3] 0 setdash n 5408 14408 m 6908 14408 l 6908 13808 l 5408 13808 l clp gs col0 s gr [] 0 setdash 60.000 slw % Polyline n 6309 14109 m 6309 14259 l 6609 14259 l 6609 14109 l gs col0 s gr % Polyline n 5709 14109 m 5709 14259 l 6009 14259 l 6009 14109 l gs col0 s gr 15.000 slw % Polyline n 6610 16210 m 6310 15610 l gs col0 s gr n 6342.20 15808.56 m 6310.00 15610.00 l 6449.53 15754.90 l 6417.83 15825.16 l 6342.20 15808.56 l clp gs 0.00 setgray ef gr gs col0 s gr /Times-Bold findfont 480.00 scalefont setfont 1500 7950 m gs 1 -1 sc (A) col0 show gr /Times-Bold findfont 360.00 scalefont setfont 14552 11177 m gs 1 -1 sc (24) col0 show gr /Times-Roman findfont 240.00 scalefont setfont 14927 10727 m gs 1 -1 sc (24) col0 show gr /Times-Roman findfont 240.00 scalefont setfont 14777 10952 m gs 1 -1 sc (24) col0 show gr /Times-Roman findfont 240.00 scalefont setfont 12077 10952 m gs 1 -1 sc (24) col0 show gr /Times-Bold findfont 360.00 scalefont setfont 6604 8329 m gs 1 -1 sc (24) col0 show gr /Times-Bold findfont 360.00 scalefont setfont 11852 11177 m gs 1 -1 sc (24) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 5100 8550 m gs 1 -1 sc (B) col0 show gr /Times-Roman findfont 360.00 scalefont setfont 5701 7201 m gs 1 -1 sc (Estimate) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 4575 6900 m gs 1 -1 sc (B') col0 show gr /Times-Bold findfont 480.00 scalefont setfont 3976 5251 m gs 1 -1 sc (C) col0 show gr /Times-Bold findfont 480.00 scalefont setfont 10501 5251 m gs 1 -1 sc (D) col0 show gr /Times-Roman findfont 240.00 scalefont setfont 12227 10727 m gs 1 -1 sc (24) col0 show gr F2psBegin10setmiterlimit0.060000.06000sc15.000slwF2psEnd restore %%EndDocument @endspecial 2049 2692 a(Figure)32 b(6:)55 b Fj(Adaptiv)n(e)30 b(calculations)e(used)h(b)o(y)f(the)h(3D)g(or)q(ientation)f(test.)2049 2765 y(Bold)22 b(n)o(umbers)h(indicate)f(the)g(length)g(of)h(an)f(e)n (xpansion.)37 b(Only)22 b(par)s(t)g(of)h(the)2049 2839 y(e)n(xpression)d(tree)g(is)g(sho)o(wn;)g(tw)o(o)h(of)f(the)g(three)g (cof)n(actors)h(are)f(omitted,)h(b)o(ut)2049 2912 y(their)e(results)g (appear)f(as)h(dashed)f(components)h(and)f(e)n(xpansions)o(.)2049 3175 y FG(approach)g(and)h(my)h(multiple-term)f(\257oating-point)e (approach;)h(LN)2049 3267 y(could,)24 b(in)g(principle,)f(emplo)o(y)g (the)h(same)h(runtime)d(error)h(estimate)2049 3360 y(and)d(a)g(similar) h(multiple-stage)d(adapti)n(vity)h(scheme.)2049 3486 y Fw(5.3)82 b FG(O)p FB(RIENT)p FG(3D)p Fw(,)19 b FG(I)p FB(N)p FG(C)p FB(IRCLE)p Fw(,)i(and)f FG(I)p FB(N)p FG(S)p FB(PHERE)2132 3612 y FG(Figure)k(6)g(illustrates)h(the)g (implementation)d(of)i(O)p FB(RIENT)p FG(3D.)g(As)2049 3705 y(with)32 b(O)p FB(RIENT)p FG(2D,)g(A)g(is)i(the)e(standard)f (\257oating-point)f(result,)35 b(B)2049 3797 y(is)e(e)o(xact)e(if)h (the)g(subtractions)f(at)h(the)g(bottom)e(of)i(the)g(tree)f(incur)2049 3890 y(no)h(roundof)n(f,)g(C)h(represents)f(a)g(drop)f(in)i(the)f (error)f(bound)g(from)2049 3982 y FC(O)r Fy(\()p Fz(\017)p Fy(\))g FG(to)e FC(O)r Fy(\()p Fz(\017)2474 3952 y FA(2)2508 3982 y Fy(\))p FG(,)j(and)d(D)h(is)h(the)e(e)o(xact)g(determinant.)56 b(The)29 b(error)2049 4075 y(bounds)22 b(are)i(zero)f(if)h(all)g(four)e (input)h(points)g(share)h(the)f(same)h Fz(x)p FG(,)i Fz(y)s FG(,)2049 4168 y(or)17 b Fz(z)t FG(-coordinate,)e(so)j(only)e (the)i(approximate)d(test)j(is)h(needed)d(in)i(the)2049 4260 y(most)i(common)f(cases)h(of)g(coplanarity)-5 b(.)2132 4378 y(T)e(able)33 b(2)g(lists)h(timings)e(for)g(O)p FB(RIENT)p FG(3D,)g(I)p FB(N)p FG(C)p FB(IRCLE)p FG(,)37 b(and)32 b(I)p FB(N)p FG(-)2049 4471 y(S)p FB(PHERE)p FG(,)22 b(gi)n(v)o(en)e(random)f(inputs.)33 b(In)21 b(each)g(case,)h (the)f(error)f(bound)2049 4563 y(for)25 b(A)h(increases)g(the)g(amount) e(of)h(time)h(required)e(to)i(perform)e(the)2049 4656 y(approximate)19 b(test)k(in)f(the)g(adapti)n(v)o(e)e(case)j(by)e(a)h (f)o(actor)g(of)f(2)h(to)g(2)p Fz(:)p FG(5.)2049 4749 y(The)14 b(gap)g(between)f(my)h(e)o(xact)g(algorithms)f(and)h(MPFUN)h (is)h(smaller)2049 4841 y(than)j(in)h(the)g(case)h(of)e(O)p FB(RIENT)p FG(2D,)g(b)n(ut)h(is)h(still)g(a)f(f)o(actor)g(of)f(3)h(to)g (7)p Fz(:)p FG(5.)2132 4959 y(I)p FB(N)p FG(C)p FB(IRCLE)28 b FG(is)h(implemented)d(similarly)h(to)h(O)p FB(RIENT)p FG(3D,)f(as)i(the)2049 5051 y(determinants)23 b(are)i(similar)-5 b(.)45 b(The)24 b(implementation)f(of)i(I)p FB(N)p FG(S)p FB(PHERE)2049 5144 y FG(dif)n(fers)d(from)g(the)h(other)f(three)g (tests)i(in)f(that,)g(due)g(to)g(programmer)2049 5237 y(laziness,)35 b(D)d(is)h(not)e(computed)f(incrementally)g(from)g(B;)j (rather)m(,)2049 5329 y(if)g(C)g(is)g(not)f(accurate)f(enough,)j(D)e (is)i(computed)c(from)h(scratch.)p eop %%Page: 9 9 9 8 bop -143 3 1988 4 v -145 88 4 85 v 50 63 a Fd(Double)19 b(precision)h(O)p Fc(RIENT)p Fd(3D)e(timings)h(in)g(microseconds)p 1842 88 V -143 92 1988 4 v -145 177 4 85 v 458 151 a(Points)p 693 177 V 101 w(Uniform)p 1054 177 V 102 w(Geometric)p 1469 177 V 136 w(Nearly)p 1842 177 V -145 261 V -93 236 a(Method)p 693 261 V 610 w(Random)p 1054 261 V 136 w(Random)p 1469 261 V 132 w(Coplanar)p 1842 261 V -143 265 1988 4 v -145 350 4 85 v -93 324 a(Approximate)h(\(2\))p 693 350 V 468 w(0.25)p 1054 350 V 285 w(0.25)p 1469 350 V 243 w(0.25)p 1842 350 V -145 435 V -93 409 a(Exact)f(\(1\))p 693 435 V 655 w(33.30)p 1054 435 V 248 w(38.54)p 1469 435 V 206 w(32.90)p 1842 435 V -145 520 V -93 494 a(Exact)g(\(2\))p 693 520 V 655 w(42.69)p 1054 520 V 248 w(48.21)p 1469 520 V 206 w(42.41)p 1842 520 V -145 604 V -93 579 a(Exact)g(\(1\),)f (MPFUN)p 693 604 V 322 w(260.51)p 1054 604 V 211 w(262.08)p 1469 604 V 170 w(246.64)p 1842 604 V -143 608 1988 4 v -145 693 4 85 v -93 667 a(Adapti)n(v)o(e)h(A)g(\(2\),)f(approx.)p 693 693 V 257 w(0.61)p 1054 693 V 285 w(0.60)p 1469 693 V 243 w(0.62)p 1842 693 V -145 778 V -93 752 a(Adapti)n(v)o(e)h(B)g (\(2\))p 693 778 V 1054 778 V 1469 778 V 1274 w(12.98)p 1842 778 V -145 863 V -93 837 a(Adapti)n(v)o(e)g(C)g(\(2\))p 693 863 V 1054 863 V 1469 863 V 1274 w(15.59)p 1842 863 V -145 948 V -93 922 a(Adapti)n(v)o(e)g(D)g(\(2\),)f(e)o(xact)p 693 948 V 1054 948 V 1469 948 V 1077 w(27.29)p 1842 948 V -143 951 1988 4 v -145 1036 4 85 v -93 1010 a(LN)g(adapti)n(v)o(e)i (\(2\),)e(approx.)p 693 1036 V 232 w(0.85)p 1054 1036 V 324 w(n/a)p 1469 1036 V 1842 1036 V -145 1121 V -93 1095 a(LN)g(adapti)n(v)o(e)i(\(2\),)e(e)o(xact)p 693 1121 V 1054 1121 V 755 w(n/a)p 1469 1121 V 206 w(18.11)p 1842 1121 V -143 1124 1988 4 v -143 1144 V -145 1229 4 85 v 65 1203 a(Double)i(precision)f(I)p Fc(N)p Fd(C)p Fc(IRCLE)e Fd(timings)i(in)g(microseconds)p 1842 1229 V -143 1232 1988 4 v -145 1317 4 85 v 458 1292 a(Points)p 693 1317 V 101 w(Uniform)p 1054 1317 V 102 w(Geometric)p 1469 1317 V 136 w(Nearly)p 1842 1317 V -145 1402 V -93 1377 a(Method)p 693 1402 V 610 w(Random)p 1054 1402 V 136 w(Random)p 1469 1402 V 160 w(Cocirc.)p 1842 1402 V -143 1405 1988 4 v -145 1490 4 85 v -93 1465 a(Approximate)h(\(4\))p 693 1490 V 468 w(0.31)p 1054 1490 V 285 w(0.28)p 1469 1490 V 243 w(0.30)p 1842 1490 V -145 1575 V -93 1550 a(Exact)f(\(3\))p 693 1575 V 655 w(71.66)p 1054 1575 V 248 w(83.01)p 1469 1575 V 206 w(75.34)p 1842 1575 V -145 1660 V -93 1635 a(Exact)g(\(4\))p 693 1660 V 655 w(91.71)p 1054 1660 V 210 w(118.30)p 1469 1660 V 170 w(104.44)p 1842 1660 V -145 1745 V -93 1720 a(Exact)g(\(3\),)f(MPFUN)p 693 1745 V 322 w(350.77)p 1054 1745 V 211 w(343.61)p 1469 1745 V 170 w(348.55)p 1842 1745 V -143 1748 1988 4 v -145 1833 4 85 v -93 1808 a(Adapti)n(v)o(e)h(A)g(\(4\),)f(approx.)p 693 1833 V 257 w(0.64)p 1054 1833 V 285 w(0.59)p 1469 1833 V 243 w(0.64)p 1842 1833 V -145 1918 V -93 1893 a(Adapti)n(v)o(e)h(B)g(\(4\))p 693 1918 V 1054 1918 V 1469 1918 V 1274 w(44.56)p 1842 1918 V -145 2003 V -93 1978 a(Adapti)n(v)o(e)g(C)g(\(4\))p 693 2003 V 1054 2003 V 1469 2003 V 1274 w(48.80)p 1842 2003 V -145 2088 V -93 2063 a(Adapti)n(v)o(e)g(D)g(\(4\),)f(e)o(xact)p 693 2088 V 1054 2088 V 1469 2088 V 1077 w(78.06)p 1842 2088 V -143 2091 1988 4 v -145 2176 4 85 v -93 2151 a(LN)g(adapti)n(v)o(e)i (\(4\),)e(approx.)p 693 2176 V 232 w(1.33)p 1054 2176 V 324 w(n/a)p 1469 2176 V 1842 2176 V -145 2261 V -93 2236 a(LN)g(adapti)n(v)o(e)i(\(4\),)e(e)o(xact)p 693 2261 V 1054 2261 V 755 w(n/a)p 1469 2261 V 206 w(32.44)p 1842 2261 V -143 2265 1988 4 v -143 2285 V -145 2370 4 85 v 61 2344 a(Double)h(precision)h(I)p Fc(N)p Fd(S)p Fc(PHERE)e Fd(timings)h(in)f(microseconds)p 1842 2370 V -143 2373 1988 4 v -145 2458 4 85 v 458 2432 a(Points)p 693 2458 V 101 w(Uniform)p 1054 2458 V 102 w(Geometric)p 1469 2458 V 136 w(Nearly)p 1842 2458 V -145 2543 V -93 2517 a(Method)p 693 2543 V 610 w(Random)p 1054 2543 V 136 w(Random)p 1469 2543 V 137 w(Cospher)l(.)p 1842 2543 V -143 2546 1988 4 v -145 2631 4 85 v -93 2605 a(Approximate)i(\(4\))p 693 2631 V 468 w(0.93)p 1054 2631 V 285 w(0.95)p 1469 2631 V 243 w(0.93)p 1842 2631 V -145 2716 V -93 2690 a(Exact)f(\(3\))p 693 2716 V 617 w(324.22)p 1054 2716 V 211 w(378.94)p 1469 2716 V 170 w(347.16)p 1842 2716 V -145 2801 V -93 2775 a(Exact)g(\(4\))p 693 2801 V 617 w(374.59)p 1054 2801 V 211 w(480.28)p 1469 2801 V 170 w(414.13)p 1842 2801 V -145 2886 V -93 2860 a(Exact)g(\(3\),)f(MPFUN)p 693 2886 V 266 w(1,017.56)p 1054 2886 V 155 w(1,019.89)p 1469 2886 V 114 w(1,059.87)p 1842 2886 V -143 2889 1988 4 v -145 2974 4 85 v -93 2949 a(Adapti)n(v)o(e)h(A)g(\(4\),)f(approx.)p 693 2974 V 257 w(2.13)p 1054 2974 V 285 w(2.14)p 1469 2974 V 243 w(2.14)p 1842 2974 V -145 3059 V -93 3033 a(Adapti)n(v)o(e)h(B)g(\(4\))p 693 3059 V 1054 3059 V 1469 3059 V 1237 w(166.21)p 1842 3059 V -145 3144 V -93 3118 a(Adapti)n(v)o(e)g(C)g(\(4\))p 693 3144 V 1054 3144 V 1469 3144 V 1237 w(171.74)p 1842 3144 V -145 3229 V -93 3203 a(Adapti)n(v)o(e)g(D)g(\(4\),)f(e)o(xact)p 693 3229 V 1054 3229 V 1469 3229 V 1040 w(463.96)p 1842 3229 V -143 3232 1988 4 v -145 3317 4 85 v -93 3292 a(LN)g(adapti)n(v)o(e)i (\(4\),)e(approx.)p 693 3317 V 232 w(2.35)p 1054 3317 V 324 w(n/a)p 1469 3317 V 1842 3317 V -145 3402 V -93 3376 a(LN)g(adapti)n(v)o(e)i(\(4\),)e(e)o(xact)p 693 3402 V 1054 3402 V 755 w(n/a)p 1469 3402 V 169 w(116.74)p 1842 3402 V -143 3405 1988 4 v -150 3552 a FG(T)-7 b(able)24 b(2:)38 b Fj(Timings)21 b(f)n(or)h FB(O)p Fi(RIENT)p FB(3D)p Fj(,)i FB(I)p Fi(N)p FB(C)p Fi(IRCLE)p Fj(,)i(and)21 b FB(I)p Fi(N)p FB(S)p Fi(PHERE)j Fj(on)d(a)h(DEC)-150 3626 y(3000/700.)k(All)16 b(deter)r(minants)h(are)g(Expression)g(1)g (or)f(3,)i(or)e(the)h(more)g(stab)o(le)-150 3699 y(Expression)i(2)f(or) h(4,)g(as)f(indicated.)-150 3962 y FG(F)o(ortunately)-5 b(,)18 b(C)j(is)g(usually)f(accurate)f(enough.)-150 4088 y Fw(5.4)82 b(T)-6 b(riangulation)-67 4214 y FG(T)f(o)19 b(e)n(v)n(aluate)f(the)h(ef)n(fecti)n(v)o(eness)f(of)g(the)h(adapti)n (v)o(e)f(tests)i(in)f(appli-)-150 4306 y(cations,)28 b(I)g(tested)f(them)g(in)h(tw)o(o)f(of)g(my)g(Delaunay)f(triangulation) -150 4399 y(codes.)i(T)m(riangle)17 b([14)o(])i(is)g(a)f(2D)h(Delaunay) e(triangulator)f(and)i(mesh)-150 4492 y(generator)m(,)h(publicly)h(a)n (v)n(ailable)h(from)f(Netlib,)h(that)g(uses)h(a)g(di)n(vide-)-150 4584 y(and-conquer)i(algorithm)i([11)o(,)i(8)o(].)51 b(Pyramid)27 b(is)h(a)g(3D)g(Delaunay)-150 4677 y(tetrahedralizer)22 b(that)i(uses)g(an)g(incremental)e(algorithm)h([15)n(].)41 b(F)o(or)-150 4770 y(both)22 b(2D)i(and)f(3D,)g(three)f(types)i(of)f (inputs)f(were)i(tested:)36 b(uniform)-150 4862 y(random)14 b(points,)i(points)g(lying)f(\(approximately\))e(on)i(the)h(boundary) -150 4955 y(of)30 b(a)h(circle)g(or)f(sphere,)i(and)e(a)h(square)f(or)g (cubic)g(grid)g(of)g(lattice)-150 5048 y(points,)18 b(tilted)g(so)g(as) h(not)e(to)h(be)g(aligned)f(with)h(the)g(coordinate)e(ax)o(es.)-150 5140 y(The)25 b(latter)g(tw)o(o)h(were)f(chosen)f(for)h(their)g (nastiness.)45 b(The)25 b(lattices)-150 5233 y(ha)n(v)o(e)15 b(been)f(tilted)i(using)f(approximate)e(arithmetic,)i(so)h(the)o(y)f (are)g(not)-150 5326 y(perfectly)g(cubical,)i(and)f(the)h(e)o(xponents) e(of)h(their)h(coordinates)e(v)n(ary)p 2086 35 1927 4 v 2084 120 4 85 v 2350 95 a Fd(2D)k(di)n(vide-and-conquer)j(Delaunay)e (triangulation)p 4011 120 V 2086 124 1927 4 v 2084 209 4 85 v 2816 209 V 2888 183 a(Uniform)p 3214 209 V 125 w(Perimeter)p 3613 209 V 165 w(T)m(ilted)p 4011 209 V 2084 294 V 2816 294 V 2890 268 a(Random)p 3214 294 V 141 w(of)f(Circle)p 3613 294 V 198 w(Grid)p 4011 294 V 2086 297 1927 4 v 2084 382 4 85 v 2136 356 a(Input)g(points)p 2816 382 V 373 w(1,000,000)p 3214 382 V 102 w(1,000,000)p 3613 382 V 101 w(1,000,000)p 4011 382 V 2086 385 1927 4 v 2136 445 a(O)p Fc(RIENT)p Fd(2D)f(calls)p 2086 473 V 2084 558 4 85 v 2136 533 a(Adapti)n(v)o(e)h(A,)g(approx.)p 2816 558 V 125 w(9,497,314)p 3214 558 V 102 w(6,291,742)p 3613 558 V 101 w(9,318,610)p 4011 558 V 2084 643 V 2136 618 a(Adapti)n(v)o(e)g(B)p 2816 643 V 3214 643 V 3613 643 V 1245 w(121,081)p 4011 643 V 2084 728 V 2136 703 a(Adapti)n(v)o(e)g(C)p 2816 728 V 3214 728 V 3613 728 V 1376 w(118)p 4011 728 V 2084 813 V 2136 788 a(Adapti)n(v)o(e)g(D,)g (e)o(xact)p 2816 813 V 3214 813 V 3613 813 V 1253 w(3)p 4011 813 V 2086 816 1927 4 v 2084 901 4 85 v 2136 876 a(A)-6 b(v)o(erage)20 b(time,)e Fe(\026)p Fd(s)p 2816 901 V 389 w(0.32)p 3214 901 V 269 w(0.38)p 3613 901 V 268 w(0.33)p 4011 901 V 2086 905 1927 4 v 2086 925 V 2084 1009 4 85 v 2136 984 a(LN)g(approximate)p 2816 1009 V 241 w(9,497,314)p 3214 1009 V 102 w(2,112,284)p 3613 1009 V 309 w(n/a)p 4011 1009 V 2084 1094 V 2136 1069 a(LN)g(e)o(xact)p 2816 1094 V 3214 1094 V 856 w(4,179,458)p 3613 1094 V 309 w(n/a)p 4011 1094 V 2086 1098 1927 4 v 2084 1183 4 85 v 2136 1157 a(LN)g(a)o(v)o(erage)h(time,)g Fe(\026)p Fd(s)p 2816 1183 V 287 w(0.35)p 3214 1183 V 269 w(3.16)p 3613 1183 V 308 w(n/a)p 4011 1183 V 2086 1186 1927 4 v 2136 1245 a(I)p Fc(N)p Fd(C)p Fc(IRCLE)e Fd(calls)p 2086 1274 V 2084 1359 4 85 v 2136 1334 a(Adapti)n(v)o(e)i (A,)g(approx.)p 2816 1359 V 125 w(7,596,885)p 3214 1359 V 102 w(3,970,796)p 3613 1359 V 101 w(7,201,317)p 4011 1359 V 2084 1444 V 2136 1419 a(Adapti)n(v)o(e)g(B)p 2816 1444 V 3214 1444 V 884 w(50,551)p 3613 1444 V 157 w(176,470)p 4011 1444 V 2084 1529 V 2136 1504 a(Adapti)n(v)o(e)g(C)p 2816 1529 V 3214 1529 V 978 w(120)p 3613 1529 V 324 w(47)p 4011 1529 V 2084 1614 V 2136 1588 a(Adapti)n(v)o(e)g(D,)g(e)o(xact)p 2816 1614 V 3214 1614 V 3613 1614 V 1253 w(4)p 4011 1614 V 2086 1617 1927 4 v 2084 1702 4 85 v 2136 1677 a(A)-6 b(v)o(erage)20 b(time,)e Fe(\026)p Fd(s)p 2816 1702 V 389 w(0.65)p 3214 1702 V 269 w(1.11)p 3613 1702 V 268 w(1.67)p 4011 1702 V 2086 1706 1927 4 v 2086 1725 V 2084 1810 4 85 v 2136 1785 a(LN)g(approximate)p 2816 1810 V 241 w(6,077,062)p 3214 1810 V 363 w(0)p 3613 1810 V 308 w(n/a)p 4011 1810 V 2084 1895 V 2136 1870 a(LN)g(e)o(xact)p 2816 1895 V 457 w(1,519,823)p 3214 1895 V 102 w(4,021,467)p 3613 1895 V 309 w(n/a)p 4011 1895 V 2086 1899 1927 4 v 2084 1984 4 85 v 2136 1958 a(LN)g(a)o(v)o(erage)h(time,)g Fe(\026)p Fd(s)p 2816 1984 V 287 w(7.36)p 3214 1984 V 232 w(32.78)p 3613 1984 V 308 w(n/a)p 4011 1984 V 2086 1987 1927 4 v 2136 2046 a(Program)g(running)h(time,)e(seconds)p 2086 2075 V 2084 2160 4 85 v 2136 2135 a(Approximate)i(v)o(ersion)p 2816 2160 V 268 w(57.3)p 3214 2160 V 269 w(59.9)p 3613 2160 V 268 w(48.3)p 4011 2160 V 2084 2245 V 2136 2220 a(Rob)o(ust)f(v)o(ersion)p 2816 2245 V 452 w(61.7)p 3214 2245 V 269 w(64.7)p 3613 2245 V 268 w(62.2)p 4011 2245 V 2084 2330 V 2136 2304 a(LN)f(rob)o(ust)h(v)o(ersion)p 2816 2330 V 322 w(116.0)p 3214 2330 V 232 w(214.6)p 3613 2330 V 308 w(n/a)p 4011 2330 V 2086 2333 1927 4 v 2049 2480 a FG(T)-7 b(able)16 b(3:)27 b Fj(Statistics)16 b(f)n(or)g(2D)f (divide-and-conquer)f(Delauna)n(y)g(tr)q(iangulation)2049 2554 y(of)19 b(se)n(v)n(er)o(al)g(point)g(sets)o(.)p 2086 2702 V 2084 2786 4 85 v 2395 2761 a Fd(3D)g(incremental)g (Delaunay)h(tetrahedralization)p 4011 2786 V 2086 2790 1927 4 v 2084 2875 4 85 v 2816 2875 V 2888 2849 a(Uniform)p 3214 2875 V 157 w(Surf)o(ace)p 3613 2875 V 197 w(T)m(ilted)p 4011 2875 V 2084 2960 V 2816 2960 V 2890 2934 a(Random)p 3214 2960 V 129 w(of)f(Sphere)p 3613 2960 V 186 w(Grid)p 4011 2960 V 2086 2963 1927 4 v 2084 3048 4 85 v 2136 3022 a(Input)g(points)p 2816 3048 V 467 w(10,000)p 3214 3048 V 194 w(10,000)p 3613 3048 V 195 w(10,000)p 4011 3048 V 2086 3051 1927 4 v 2136 3111 a(O)p Fc(RIENT)p Fd(3D)f(counts)p 2086 3139 V 2084 3224 4 85 v 2136 3199 a(Adapti)n(v)o(e)h(A,)g(approx.)p 2816 3224 V 125 w(2,735,668)p 3214 3224 V 102 w(1,935,978)p 3613 3224 V 101 w(5,542,567)p 4011 3224 V 2084 3309 V 2136 3284 a(Adapti)n(v)o(e)g(B)p 2816 3309 V 3214 3309 V 3613 3309 V 1245 w(602,344)p 4011 3309 V 2084 3394 V 2136 3369 a(Adapti)n(v)o(e)g(C)p 2816 3394 V 3214 3394 V 3613 3394 V 1189 w(1,267,423)p 4011 3394 V 2084 3479 V 2136 3454 a(Adapti)n(v)o(e)g(D,)g(e)o(xact)p 2816 3479 V 3214 3479 V 3613 3479 V 1085 w(28,185)p 4011 3479 V 2086 3483 1927 4 v 2084 3567 4 85 v 2136 3542 a(A)-6 b(v)o(erage)20 b(time,)e Fe(\026)p Fd(s)p 2816 3567 V 389 w(0.72)p 3214 3567 V 269 w(0.72)p 3613 3567 V 268 w(4.12)p 4011 3567 V 2086 3571 1927 4 v 2086 3591 V 2084 3676 4 85 v 2136 3650 a(LN)g(approximate)p 2816 3676 V 241 w(2,735,668)p 3214 3676 V 102 w(1,935,920)p 3613 3676 V 309 w(n/a)p 4011 3676 V 2084 3761 V 2136 3735 a(LN)g(e)o(xact)p 2816 3761 V 3214 3761 V 1080 w(58)p 3613 3761 V 308 w(n/a)p 4011 3761 V 2086 3764 1927 4 v 2084 3849 4 85 v 2136 3823 a(LN)g(a)o(v)o(erage)h(time,)g Fe(\026)p Fd(s)p 2816 3849 V 287 w(0.99)p 3214 3849 V 269 w(1.00)p 3613 3849 V 308 w(n/a)p 4011 3849 V 2086 3852 1927 4 v 2136 3912 a(I)p Fc(N)p Fd(S)p Fc(PHERE)e Fd(counts)p 2086 3940 V 2084 4025 4 85 v 2136 4000 a(Adapti)n(v)o(e)i (A,)g(approx.)p 2816 4025 V 181 w(439,090)p 3214 4025 V 158 w(122,273)p 3613 4025 V 101 w(3,080,312)p 4011 4025 V 2084 4110 V 2136 4085 a(Adapti)n(v)o(e)g(B)p 2816 4110 V 3214 4110 V 847 w(180,383)p 3613 4110 V 157 w(267,162)p 4011 4110 V 2084 4195 V 2136 4170 a(Adapti)n(v)o(e)g(C)p 2816 4195 V 3214 4195 V 922 w(1,667)p 3613 4195 V 156 w(548,063)p 4011 4195 V 2084 4280 V 2136 4255 a(Adapti)n(v)o(e)g(D,)g (e)o(xact)p 2816 4280 V 3214 4280 V 3613 4280 V 4011 4280 V 2086 4283 1927 4 v 2084 4368 4 85 v 2136 4343 a(A)-6 b(v)o(erage)20 b(time,)e Fe(\026)p Fd(s)p 2816 4368 V 389 w(2.23)p 3214 4368 V 232 w(96.45)p 3613 4368 V 231 w(48.12)p 4011 4368 V 2086 4372 1927 4 v 2086 4392 V 2084 4477 4 85 v 2136 4451 a(LN)g(approximate)p 2816 4477 V 297 w(438,194)p 3214 4477 V 158 w(104,616)p 3613 4477 V 309 w(n/a)p 4011 4477 V 2084 4561 V 2136 4536 a(LN)g(e)o(xact)p 2816 4561 V 644 w(896)p 3214 4561 V 157 w(199,707)p 3613 4561 V 309 w(n/a)p 4011 4561 V 2086 4565 1927 4 v 2084 4650 4 85 v 2136 4624 a(LN)g(a)o(v)o(erage)h(time,)g Fe(\026)p Fd(s)p 2816 4650 V 287 w(2.50)p 3214 4650 V 232 w(70.82)p 3613 4650 V 308 w(n/a)p 4011 4650 V 2086 4653 1927 4 v 2136 4712 a(Program)g(running)h(time,)e(seconds)p 2086 4741 V 2084 4826 4 85 v 2136 4801 a(Approximate)i(v)o(ersion)p 2816 4826 V 306 w(4.3)p 3214 4826 V 305 w(3.0)p 3613 4826 V 322 w Fb(1)p 4011 4826 V 2084 4911 V 2136 4886 a Fd(Rob)o(ust)f(v)o(ersion)p 2816 4911 V 490 w(5.8)p 3214 4911 V 268 w(34.1)p 3613 4911 V 231 w(108.5)p 4011 4911 V 2084 4996 V 2136 4971 a(LN)f(rob)o(ust)h(v)o(ersion)p 2816 4996 V 397 w(6.5)p 3214 4996 V 268 w(30.5)p 3613 4996 V 308 w(n/a)p 4011 4996 V 2086 4999 1927 4 v 2049 5147 a FG(T)-7 b(able)17 b(4:)28 b Fj(Statistics)18 b(f)n(or)f(3D)f (incremental)g(Delauna)n(y)f(tetr)o(ahedr)o(alization)j(of)2049 5220 y(se)n(v)n(er)o(al)k(point)g(sets)o(.)36 b(The)21 b(appro)n(ximate)h(code)g(f)n(ailed)f(to)h(ter)r(minate)g(on)g(the)2049 5293 y(tilted)d(g)o(r)q(id)f(input.)p eop %%Page: 10 10 10 9 bop -150 83 a FG(enough)23 b(that)i(LN)g(cannot)f(be)g(used.)43 b(\(I)25 b(could)f(ha)n(v)o(e)g(used)h(perfect)-150 176 y(lattices)k(with)g(53-bit)e(inte)o(ger)h(coordinates,)h(b)n(ut)f(O)p FB(RIENT)p FG(3D)g(and)-150 268 y(I)p FB(N)p FG(S)p FB(PHERE)g FG(w)o(ould)g(ne)n(v)o(er)g(pass)h(stage)g(B;)h(the)e(perturbed)f (lattices)-150 361 y(occasionally)19 b(force)g(the)h(predicates)g(into) g(stage)g(C)h(or)f(D.\))-67 475 y(The)27 b(results)h(for)f(2D,)g (outlined)g(in)g(T)-7 b(able)28 b(3,)h(indicate)e(that)h(the)-150 568 y(four)n(-stage)20 b(predicates)g(add)g(about)g(8\045)i(to)f(the)g (total)g(running)e(time)-150 660 y(for)i(randomly)d(distrib)n(uted)j (input)f(points,)h(mainly)f(because)h(of)g(the)-150 753 y(error)12 b(bound)g(tests.)28 b(F)o(or)13 b(the)g(more)g(dif)n (\256cult)g(point)g(sets,)i(the)f(penalty)-150 846 y(may)25 b(be)h(as)h(great)e(as)i(30\045.)46 b(Of)26 b(course,)g(this)h(penalty) e(applies)g(to)-150 938 y(precisely)13 b(the)g(point)g(sets)g(that)g (are)g(most)g(lik)n(ely)g(to)f(cau)o(se)h(d)o(if)n(\256culties)-150 1031 y(when)20 b(e)o(xact)f(arithmetic)h(is)h(not)f(a)n(v)n(ailable.) -67 1145 y(The)g(results)h(for)f(3D,)g(outlined)g(in)g(T)-7 b(able)21 b(4,)f(are)h(some)n(what)e(less)-150 1238 y(pleasing.)26 b(The)13 b(four)n(-stage)g(predicates)g(add)g(abou)o(t)g(35\045)g(to)g (th)o(e)g(total)-150 1331 y(running)g(time)j(for)f(randomly)e(distrib)n (uted)i(input)f(points;)j(for)e(points)-150 1423 y(distrib)n(uted)35 b(approximately)f(on)i(the)g(surf)o(ace)g(of)g(a)h(sphere,)j(the)-150 1516 y(penalty)14 b(is)g(a)g(f)o(actor)g(of)g(ele)n(v)o(en.)21 b(Ominously)-5 b(,)12 b(ho)n(we)n(v)o(er)m(,)g(the)i(penalty)-150 1608 y(for)20 b(the)g(tilted)h(grid)f(is)h(uncertain,)e(because)h(the)g (tetrahedralization)-150 1701 y(program)c(using)h(approximate)f (arithmetic)h(f)o(ailed)h(to)g(terminate.)28 b(A)-150 1794 y(deb)n(ugger)c(re)n(v)o(ealed)g(that)j(the)f(point)f(location)g (routine)g(w)o(as)i(stuck)-150 1886 y(in)34 b(an)f(in\256nite)h(loop)e (because)h(a)h(geometric)e(inconsistenc)o(y)g(had)-150 1979 y(been)20 b(introduced)e(into)i(the)h(mesh)f(due)g(to)h(roundof)n (f)c(error)-5 b(.)29 b(Rob)n(ust)-150 2072 y(arithmetic)19 b(is)j(not)d(al)o(w)o(ays)i(slo)n(wer)f(after)g(all.)-150 2210 y FD(6)99 b(Conclusions)-67 2332 y FG(As)19 b(Priest)g(points)e (out,)h(multiple-term)e(algorithms)h(can)h(be)g(used)-150 2425 y(to)34 b(implement)f(e)o(xtended)f(\(b)n(ut)i(\256nite\))g (precision)f(arithmetic)g(as)-150 2517 y(well)23 b(as)g(e)o(xact)f (arithmetic;)h(simply)f(compress)g(and)g(then)g(truncate)-150 2610 y(each)28 b(result)h(to)g(a)g(\256x)o(ed)f(number)f(of)h (components.)52 b(Perhaps)29 b(the)-150 2703 y(greatest)f(potential)g (of)g(these)g(algorithms)f(is)i(in)g(pro)o(viding)c(a)k(f)o(ast)-150 2795 y(and)h(simple)h(w)o(ay)g(to)g(e)o(xtend)f(slightly)g(the)h (precision)f(of)g(critical)-150 2888 y(v)n(ariables)e(in)g(numerical)g (algorithms.)52 b(Hence,)30 b(it)g(w)o(ould)d(not)i(be)-150 2981 y(dif)n(\256cult)f(to)h(pro)o(vide)e(a)j(routine)d(that)i(quickly) f(computes)g(the)h(in-)-150 3073 y(tersection)21 b(point)h(of)g(tw)o(o) g(se)o(gments)f(with)i(double)d(precision)h(end-)-150 3166 y(points,)e(correctly)f(rounded)f(to)j(a)g(double)e(precision)g (result.)29 b(Speed)-150 3259 y(considerations)21 b(may)h(mak)o(e)g(it) h(untenable)e(to)i(accomplish)e(this)i(by)-150 3351 y(calling)16 b(a)i(standard)d(e)o(xtended)g(precision)h(library)-5 b(.)26 b(The)17 b(techniques)-150 3444 y(Priest)27 b(and)e(I)h(ha)n(v)o (e)f(de)n(v)o(eloped)e(are)j(simple)g(enough)e(to)i(be)g(coded)-150 3537 y(directly)16 b(in)g(numerical)f(algorithms,)h(a)n(v)n(oiding)f (function)g(call)i(o)o(v)o(er)n(-)-150 3629 y(head)j(and)f(con)m(v)o (ersion)f(costs.)-67 3743 y(A)26 b(useful)f(tool)g(in)h(coding)e(such)h (algorithms)f(w)o(ould)h(be)g(an)g(e)o(x-)-150 3836 y(pression)36 b(compiler)g(similar)h(to)g(F)o(ortune)e(and)i(V)-9 b(an)36 b(W)-6 b(yk')h(s)37 b([5],)-150 3929 y(which)h(con)m(v)o(erts)e(an)j(e) o(xpression)d(into)i(e)o(xact)g(arithmetic)f(code,)-150 4021 y(complete)24 b(with)h(error)f(bound)f(deri)n(v)n(ation)g(and)i (\257oating-point)d(\256l-)-150 4114 y(ters.)31 b(Such)21 b(a)g(tool)f(might)h(e)n(v)o(en)e(be)i(able)g(to)g(automate)e(the)i (process)-150 4207 y(of)26 b(breaking)e(an)h(e)o(xpression)g(into)g (adapti)n(v)o(e)g(stages)h(as)h(described)-150 4299 y(in)20 b(Section)g(4.)-67 4413 y(It)32 b(might)f(be)h(fruitful)f(to)h(e)o (xplore)e(whether)g(the)i(methods)f(de-)-150 4506 y(scribed)h(by)g (Clarkson)g([3)o(])h(and)f(A)-6 b(vnaim)31 b(et)j(al.)e([1])g(can)h(be) f(e)o(x-)-150 4599 y(tended)h(by)h(f)o(ast)h(multiprecision)e(methods)g (to)i(handle)e(arbitrary)-150 4691 y(double)25 b(precision)g (\257oating-point)f(inputs.)46 b(One)26 b(could)g(certainly)-150 4784 y(relax)k(their)h(constraints)f(on)g(the)h(bit)g(comple)o(xity)e (of)h(the)h(inputs;)-150 4877 y(for)i(instance,)k(the)d(method)e(of)i (A)-6 b(vnaim)32 b(et)j(al.)f(could)e(be)i(made)-150 4969 y(to)25 b(perform)e(the)j(I)p FB(N)p FG(S)p FB(PHERE)e FG(test)i(on)f(64-bit)f(inputs)h(using)f(e)o(xpan-)-150 5062 y(sions)k(of)f(length)f(three.)50 b(Unfortunately)-5 b(,)25 b(it)j(is)h(not)e(ob)o(vious)e(ho)n(w)-150 5155 y(to)19 b(adapt)g(these)h(inte)o(ger)n(-based)d(techniques)h(to)h (inputs)g(with)h(wildly)-150 5247 y(dif)n(fering)29 b(e)o(xponents.)61 b(It)32 b(is)g(also)g(not)f(clear)g(whether)g(such)g(hy-)-150 5340 y(brid)16 b(algorithms)f(w)o(ould)h(be)g(f)o(aster)h(than)f (straightforw)o(ard)e(adapti)n(v-)2049 83 y(ity)-5 b(.)45 b(Ne)n(v)o(ertheless,)26 b(Clarkson')-5 b(s)26 b(approach)d(looks)i (promising)f(for)2049 176 y(lar)o(ger)29 b(determinants.)59 b(Although)29 b(my)h(methods)g(w)o(ork)g(well)h(for)2049 268 y(small)24 b(determinants,)g(the)o(y)f(are)h(unlik)o(ely)e(to)j(w)o (ork)e(well)h(for)g(sizes)2049 361 y(much)d(lar)o(ger)f(than)h(5)e FC(\002)f FG(5.)34 b(Ev)o(en)20 b(if)i(one)f(uses)h(Gaussian)f (elimina-)2049 454 y(tion)e(rather)e(than)i(cof)o(actor)e(e)o(xpansion) g(\(an)h(important)g(adjustment)2049 546 y(for)k(lar)o(ger)g(matrices)g ([5)o(,)i(9)o(]\),)f(the)g(adapti)n(vity)e(technique)g(does)i(not)2049 639 y(scale)30 b(well)g(with)g(determinants,)g(because)f(of)g(the)h (lar)o(ge)e(number)2049 732 y(of)c(terms)f(in)h(the)g(e)o(xpanded)e (polynomial.)38 b(Clarkson')-5 b(s)23 b(technique)2049 824 y(may)13 b(be)h(the)g(only)f(economical)g(approach)e(for)j (matrices)f(lar)o(ger)g(than)2049 917 y(10)k FC(\002)h FG(10.)2132 1030 y(Whether)f(or)g(not)g(these)g(issues)h(are)g(resolv)o (ed)d(in)j(the)f(near)g(future,)2049 1122 y(researchers)26 b(can)g(mak)o(e)g(use)h(today)f(of)g(tests)i(for)e(orientation)f(and) 2049 1215 y(incircle)15 b(in)h(tw)o(o)g(and)f(three)g(dimensions)f (that)i(are)f(correct,)g(f)o(ast,)i(and)2049 1308 y(immediately)f (applicable)f(to)j(double)d(precision)h(\257oating-point)f(in-)2049 1400 y(puts.)59 b(I)30 b(in)m(vite)f(w)o(orking)g(computational)e (geometers)i(to)h(try)g(my)2049 1493 y(code)f(in)g(their)g (implementations,)g(and)g(I)g(hope)f(that)i(it)f(will)h(sa)n(v)o(e)2049 1586 y(them)c(from)f(w)o(orrying)g(about)g(rob)n(ustness)h(so)h(the)o (y)e(may)h(concen-)2049 1678 y(trate)20 b(on)g(geometry)-5 b(.)2049 1815 y FD(Refer)n(ences)2082 1908 y FB([1])42 b(Francis)19 b(A)-5 b(vnaim,)19 b(Jean-Daniel)h(Boissonnat,)g(Oli)n (vier)g(De)n(villers,)g(Franco)f(P)-7 b(.)2201 1981 y(Preparata,)30 b(and)d(Mariette)h(Yvinec.)50 b Fs(Evaluating)28 b(Signs)e(of)g (Determinants)2201 2055 y(Using)17 b(Single-Pr)n(ecision)j(Arithmetic)p FB(.)26 b(1995.)2082 2152 y([2])42 b(Da)o(vid)19 b(H.)f(Baile)o(y)l(.) 29 b Fs(A)18 b(Portable)i(High)e(P)-5 b(erformance)20 b(Multipr)n(ecision)i(P)-5 b(ac)o(k-)2201 2225 y(a)o(g)o(e)p FB(.)39 b(T)-5 b(echnical)24 b(Report)g(RNR-90-022,)g(N)n(ASA)d(Ames)h (Research)i(Center)m(,)2201 2298 y(May)18 b(1993.)2082 2395 y([3])42 b(K)n(enneth)31 b(L.)c(Clarkson.)56 b Fs(Safe)29 b(and)g(Ef)o(fective)i(Determinant)g(Evaluation)p FB(.)2201 2469 y(33rd)16 b(Annual)i(Symposium)e(on)g(F)o(oundations)i(of)e (Computer)h(Science,)h(pages)2201 2542 y(387\261395,)g(1992.)2082 2639 y([4])42 b(T)-5 b(.)16 b(J.)f(Dekk)o(er)l(.)25 b Fs(A)16 b(Floating-Point)j(Tec)o(hnique)g(for)e(Extending)h(the)f (Available)2201 2712 y(Pr)n(ecision)p FB(.)25 b(Numerische)18 b(Mathematik)i Fa(18)p FB(:224\261242,)e(1971.)2082 2809 y([5])42 b(Ste)n(v)o(en)27 b(F)o(ortune)f(and)f(Christopher)i(J.)c(V)-7 b(an)25 b(W)-5 b(yk.)44 b Fs(Ef)o(\256cient)27 b(Exact)e(Arith-)2201 2883 y(metic)30 b(for)e(Computational)j(Geometry)p FB(.)55 b(Ninth)29 b(Annual)g(Symposium)g(on)2201 2956 y(Computational)21 b(Geometry)l(,)c(pages)h(163\261172,)g(May)f(1993.)2082 3053 y([6])p 2201 3053 200 4 v 252 w(.)31 b Fs(Static)21 b(Analysis)g(Yields)f(Ef)o(\256cient)i(Exact)e(Inte)m(g)o(er)i (Arithmetic)f(for)2201 3126 y(Computational)d(Geometry)p FB(.)k(T)-5 b(o)13 b(appear)k(in)e(T)n(ransactions)h(on)f(Mathematical) 2201 3199 y(Softw)o(are,)j(1996.)2082 3296 y([7])42 b(Da)o(vid)17 b(Goldber)o(g.)25 b Fs(What)18 b(Every)f(Computer)h(Scientist)h(Should) f(Know)f(About)2201 3370 y(Floating-Point)34 b(Arithmetic)p FB(.)64 b(A)m(CM)31 b(Computing)i(Surv)o(e)o(ys)f Fa(23)p FB(\(1\):5\26148,)2201 3443 y(March)18 b(1991.)2082 3540 y([8])42 b(Leonidas)21 b(J.)d(Guibas)i(and)g(Jor)o(ge)g(Stol\256.)31 b Fs(Primitives)21 b(for)e(the)h(Manipulation)2201 3613 y(of)i(Gener)o(al)h(Subdivisions)h(and)e(the)g(Computation)i(of)e(Vor)m (onoi)g(Dia)o(gr)o(ams)p FB(.)2201 3687 y(A)m(CM)17 b(T)n(ransactions)i (on)e(Graphics)h Fa(4)p FB(\(2\):74\261123,)h(April)f(1985.)2082 3784 y([9])42 b(Michael)22 b(Karasick,)f(Derek)f(Lieber)m(,)h(and)e (Lee)h(R.)e(Nackman.)31 b Fs(Ef)o(\256cient)21 b(De-)2201 3857 y(launay)h(T)l(riangulation)h(Using)e(Rational)h(Arithmetic)p FB(.)34 b(A)m(CM)21 b(T)n(ransactions)2201 3930 y(on)c(Graphics)i Fa(10)p FB(\(1\):71\26191,)f(January)g(1991.)2049 4027 y([10])42 b(Donald)24 b(Ervin)g(Knuth.)41 b Fs(The)23 b(Art)g(of)g(Computer)i(Pr)m(o)o(gr)o(amming:)37 b(Seminu-)2201 4101 y(merical)16 b(Algorithms)p FB(,)g(second)g(edition,)g(v)o(olume)g (2.)j(Addison)d(W)-5 b(esle)o(y)l(,)15 b(1981.)2049 4197 y([11])42 b(D.)25 b(T)-5 b(.)24 b(Lee)i(and)f(B.)g(J.)g(Schachter)l(.) 49 b Fs(T)-5 b(wo)25 b(Algorithms)h(for)g(Constructing)i(a)2201 4271 y(Delaunay)19 b(Triangulation)p FB(.)27 b(Int.)17 b(J.)f(Comput.)h(Inf.)g(Sci.)g Fa(9)p FB(:219\261242,)h(1980.)2049 4368 y([12])42 b(Douglas)18 b(M.)e(Priest.)24 b Fs(Algorithms)17 b(for)g(Arbitr)o(ary)g(Pr)n(ecision)g(Floating)h(Point)2201 4441 y(Arithmetic)p FB(.)38 b(T)-5 b(enth)22 b(Symposium)g(on)f (Computer)i(Arithmetic,)i(pages)d(132\261)2201 4514 y(143,)17 b(1991.)2049 4611 y([13])p 2201 4611 V 252 w(.)i Fs(On)14 b(Pr)m(operties)h(of)f(Floating)i(Point)e(Arithmetics:)25 b(Numerical)16 b(Sta-)2201 4685 y(bility)10 b(and)g(the)g(Cost)h(of)g (Accur)o(at)q(e)g(Compu)q(tat)q(ion)q(s)p FB(.)18 b(Ph.D.)10 b(thesis,)i(Department)2201 4758 y(of)h(Mathematics,)k(Uni)n(v)o (ersity)f(of)d(California)j(at)e(Berk)o(ele)o(y)l(,)i(No)o(v)o(ember)f (1992.)2049 4855 y([14])42 b(Jonathan)28 b(Richard)h(She)n(wchuk.)50 b Fs(T)l(riangle:)45 b(Engineering)28 b(a)f(2D)f(Quality)2201 4928 y(Mesh)19 b(Gener)o(ator)g(and)g(Delaunay)h(T)l(riangulator)p FB(.)30 b(First)18 b(W)-5 b(orkshop)18 b(on)h(Ap-)2201 5002 y(plied)k(Computational)j(Geometry)l(.)c(Association)i(for)e (Computing)h(Machin-)2201 5075 y(ery)l(,)17 b(May)g(1996.)2049 5172 y([15])42 b(Da)o(vid)11 b(F)-5 b(.)11 b(W)-5 b(atson.)15 b Fs(Computing)c(the)g Fr(n)p Fs(-dimensional)g(Del)q(aunay)h(Tesse)q (lla)q(ti)q(on)2201 5245 y(with)h(Application)i(to)d(Vor)m(onoi)g (Polytopes)p FB(.)17 b(Computer)c(Journal)g Fa(24)p FB(:167\261172,) 2201 5319 y(1981.)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF