29

A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

Embed Size (px)

Citation preview

Page 1: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

� ������������ ����������� ����������������� ! #"$�%���%&$� �����'(�����)���*�,+-�*�* . ��/0��1��32$45���%�� 76

8�9!8 : ��,�$��������� 8 �&;����� 8�9!8=<?>*@�<?@BA*A C��6ED�F$GHD >*>*I

J5KMLON�P�Q�R,NSUT�VXW(Y[Z\T�]^_T`W,a;bc^\deZ�Z\VgfhWji`WkmlW(nVo](p�q�]^\Z\^rW(f!^�],Y�Z�def�V�a;Z\T`W�Z_i`Vg^spt]^\uvWjwW(^�deVgZ�x5]�pcW�^\dyZ\T�z

u5VgZ�d{kB]i`Vg^|W�Z\de]f`a$W(f`}�Z�^|W�f`a\kOV~f`}�Vgf7Z|W���ptY�f`kOZ�de]f`a�]f���]�W(Z�def�n�i�]def7Z0f7Y�uj�`Vg^ra�](p-W(^���deZ�^|W�^\de�yx�T�denTi�^�V�kOd{a�de]f*��dyf`kO�yY`}�def[nj��W(^\nVodef7Z\VgnVg^|a?��SUT�d{a;i`W,k|lW(n,VoptV�W�Z\Y�^�V�a��\���cw7de^\Z�Y`W(�y�ex�Y�f�dyw�Vg^|a�W(�Mi`],^\ZrW(��dy�ezdeZ�x��M�%���;T�denT!i�V~^spt],^�u�W(f�kOV���V�a�i`V�kOd{W��e�yx5],f�w�V�kOZ�],^�a�Y�i`Vg^|kO]u5i�Y�Z�Vg^|a?�B������W,}7w,W�f`kOV�}�W(�yn,]^\deZ�T�u�a?�def�kO�eY`}7def�n�q0q0SUzt�`W,a�V�}�ujY��yZ\dyi��ed�kgW(Z�de],f�W�f`}���Y�W,}�^rW(Z\d�kgW(�y�ex�kO],f7w�Vg^\nVgf7Z5W��en,]^\dyZ\T�u�a�pt],^���W(f�}Z\^rW(f`a�kOVgf`}7Vgf�ZrW(�BptY[f`kOZ\dy],f`a?�*W(f�}��t���cVg�7Z\V~f`asdyw�V�a�Vg� ptz�k|T�V�k|l�dyf�nXW(f`}�}�Vg�[Y�njp�W,k?de�edyZ\dyV�a¡Z�T`W(Z�i�V~^\u5dyZZ\T[VUi`WkmlW(nVUZ�]_�`VUY`a�V�}oW,aMWH^\dyn,]^\],Y�a0asx[asZ�Vgu�def7Z\Vgn^\deZ�x;Z\V�a�Zg�$¢$],f7w�Vg^\Z�def�n;W�i�i��ed�kgW(Z�de]f�i�^�],n,^rW(u�aZ\]X^\Y[f=bcdyZ\T�Z\T[V�asV�^\]Y�Z\dyf�V�aUd�a�p�W,kOdy�edeZrW(Z�V�}j�7x�W(fhW(Y�Z�],u�W�Z\d{k;Z\^|W�f`as��W(Z�],^;i�^\]n,^|W�u!�

SUT�d{a_i`W�i`Vg^o}�V£a\kO^�de�`V�a_Z\T�VX^\]Y�Z\dyf�V�a_def�Z\T[Vji`WkmlW�n,V¤W(f`}¥dyf`kO�yY`}�V�a_}7d{a\k?Y`a\a�de],f�](p;Z�T�VXW(�yn,]z^\dyZ\T�u¦a¡Vgu¤i��e]�x�V�}��`Z\T[Vjdyu5i��eV~ujV?f�ZrW(Z�de],f�Z\V�k|T�f�d���Y[V�aO�`i`Vg^spt]^\u�W�f`kOVo^\V£asY��yZ|a�W(f`}�as]u5VXW(i[i��ed�kgW(zZ\dy],f`a?��§H],ZrW(���yV�W(u5]f�n!Z\T[V5i`Vg^spt]^\u�W�f`kOVX^\V�a�Y��eZra¨d{a�Z�T`W(ZoZ�T�d{a�i`W,k|lW(nV=^�Y�f`a�Y�i�Z\]!��©�Z�deu5V£ap�W,a�Z\Vg^oZ�T`W(f�W�f�],Z�T�Vg^obcd{}7Vg�ex!Y`a�V�}�i`W,k|lW(nV=]f�W!ªH«\¬�¢�b�],^\l[asZrW(Z�de],f-�UW�f`}�deZ�^�Y�f`a�Y�i�Z\]!��©©Z\dyu5V�aBp�W,a�Z\Vg^;Z\T�W(f�Z�T�V�],Z�T�Vg^ci`WkmlW(nV�],f!W5¢$^|Wgx�a�Y�i`Vg^|k?],u5i�Y[Z\Vg^~�

SUT�VoW�Y�Z\T[],^;d{aUbcdeZ�T�Z�T�V­§_®¨¬¤®Hi�i��ydeV�}¤ª¡V�a�V�W(^rkmT¦¯U^|W(f�kmT*�`§�®¨¬7®�®Hu¤V�aUªcV�asV£W(^|k|T!¢$Vgf7Z\Vg^~�°�](±²VgZ�Z;qBdeV~�{}��`¢�®´³���©�,µ��·¶¸ztu�W�de�%¹»º�¼`½[¾�¿7À,Á[Â�Ã�½7Ä»Å�Ã�½[Ä,½¸Å�Æ�ÇÈ��

Page 2: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

É`Ê J5ËMËBÌtÍÎR�Q7N�ÍÎÏ`ÐMLjÏ�Ñ;Ò�ÓMÌÔN�ÍtËMP(Õ7R�ÍtLgÍÎÏ`Ð×Ö­Ï`Ø3ËBÓ*N�Q�N�ÍtÏ`ÐÙ f�V_��Y�V�a�Z\dy],fXZ\T`W�ZUd{a$W��ebcWgx[a0^|W(d�asV�}odef¤}�d�a\kOY`a�asdy],f`a$](p*uXY��yZ\dei[^\V�kOd�asdÚ],fÛkO],u¤i�Y�Z|W�Z\dy],fXd{a0bcT`W(Z

W(i[i��ed�kgW(Z�de],f�a-Ü�Y�asZ\dÚptxXasY`k|T¤W�p�WkOde�ydeZ�x��M«%f�p�WkOZg�7W_f7Y�uj�`Vg^»](pMW�i�i��yd{kgW�Z\de]f`aO�7a�],u5Vc]�pMZ\T�VguCV~f�Z�de^\V~�exi�^rW,kOZ�d{kgW��%��T�W£w�V­a�Y�^sp�WkOV�}5def�^\V£kOVgf7ZUx�V�W�^|aO�

Ù f�Vjdyu5i`],^�Z|W(f7Z�W�^\V�W5](p¡W(i�i[�ed{k~W(Z\dy],f`a_d�aÝdyf!i�Y�^�Vju�W�Z\T�V~u�W(Z�d{kga?�_Þ�T�de�yVXas],u¤VXasZ\dy�e�$}7d{asi[Y�Z\VbcT�VgZ�T�Vg^�WokO]u5i�Y�Z�Vg^$kgW��{kOY���W(Z�de],f¤kgW�f5�`V_Z\T�V;�`Wasd{aU]�p»WÝpt]^\u�W���u�W(Z�T�Vgu�W�Z\d�kgW(�7i�^\]�]�p��`kOVg^�Z|W(dyf��exkO]u5i�Y�ZrW(Z\dy],f`a»kgW(fX�`VHY`a�V�}oZ\]�Vg�7i��e]^\V;kO]f,Ü�V�kOZ�Y�^\V�a$W�f`}�^�V\Ü�V�kOZ»Z\T�]ßasV;Z\T`W�ZUW�^\V;f�],Z�a�],Y�f`}²�¡¬�Y�kmTkO]u5i�Y�ZrW(Z\dy],f`a�kgW�f�Z\T7Y`a�a\Wgw�VXi�Y�^�V5u�W(Z�T�Vgu�W�Z\d�kOdyW(f`a;W=n^\V�W�Zo}�V�W��$](p;Z\dyu5Vo�7x�W(�e�y]�bcdef�n�Z\T[Vguf�]ZoZ\]�bcW,a�Z\V�Z\dyu5VXasV£W(^|k|T�dyf�n�pt],^oi�^�]�](p�ao](p;p�W(��asV�f�],Z�de]f`aO� Ù f3Z\T�V¤],Z\T[Vg^oT`W(f�}���dyZoujY�asZ��`VW,k|l7f�]�bc�eV�}�nV�}�Z\T�W(Z$d p-W�kO],fÜ�V�kOZ\Y[^\Vcd{a$kO]f�à`^�u5V�}¨�7xok?],u5i�Y[Z|W(Z�de]foZ\]�w�Vg^\x­T�denTji[^\V�kOd�asdy],f*�,Z�T�VgfdeZra�wW(�ed�}�deZ�x;d{a*Vg�7Z\^\V~u5Vg�ex��edyl�Vg�ex�� Ù f�V�kgW(f­Vgw�Vgf�Wasl�bcT�d�kmT�d{a*u5]^\VBà`^�u5�excV£asZ|W����ed�asT�V£}��,WcZ\T[Vg],^�VgubcT�]ßasV;�eVgf�nZ\T7x�i�^\]�]�p*T`Wa¸�`VgV~fo^\V�W}�],f��yx��7x�Z�bU]_]^0Z\T[^\VgVci`Vg]i��eVcdyf�Z\T[VcbU],^��{}��],^�W_kO]f,Ü�V�kOZ�Y�^\VZ\T�W(Z;T`W,ac�`VgVgf�def`}7Vgi`Vgf`}�Vgf7Z\�yx5k?],f�à`^�u5V�}o��x¦W�f7Y�uX��V~^�]�p$T�dyn,T�i�^\V£kOd{a�de],f�kO]u5i�Y�ZrW(Z�de],f�amá

¬�],u¤Vci`W(^�Z\d{k?Y��{W�^\�exof[d{kOV;W�i�i��ed�kgW(Z�de]f`a0](pMT�dyn,TXi�^\V�k?d{asdy],f¤kO],u¤i�Y�Z|W�Z\dy],foZ\]­i�Y�^�VHu�W�Z\T�V~u�W(Z�d{kgadef�kO�eY`}7VcZ\T�V�}7d{asi[^\]�](pM]�pMZ\T�VÝ°�Vg^\Z�Vgf`a$kO],fÜ�V�kOZ\Y[^\Vc�7xX®��7°�� Ù }��yx�â~l�]�W(f`}�ã��ßä���ä���Z\V�ª¡dyVg�eV­åæ�,ç�è%�Z\T[V�}7d{asi[^\]�](p¸](p»Z\T�V­¯UVg^�f`asZ�Vgdef¤kO],fÜ�V�kOZ\Y[^\V_dyf�W�i�i�^�](�7deu¦W(Z\dy],f5Z�T�Vg]^\x5�7xjé�W�^\n�WXW(f�}h¢�W�^\i`Vgf7Z\Vg^W(f�}×Z\T�V�^\V�a�],�eY[Z\de]f�](p­Z\T[V×ê\]f�Vgztf�def7Z\T�ë�kO],fÜ�V�kOZ\Y[^\V3åæ���?è%��®ìf�Y[uj�`Vg^o]�p�]Z\T�V~^5Vg�[W(u5i��yV�a¨]�puXY��eZ�dei�^�V�kOdyasdy],f!W�i�i��yd{kgW�Z\de]f`a_def�W(f`W��ex[asd�aO�0W�i�i�^�](�7deu¦W(Z\dy],f!Z�T�Vg],^�x�W(f`}!f7Y�u5Vg^�d{kgW��0W�f`W(�yx�a�d{a�W(^�VW(��as]¤}�V�a�kO^\dy��V£}¦dyf�åí�7�gè%�

Ù f�V!W�^\V�W!def�bcT�d{k|T3ujY��yZ\dyi�^\V�k?dea�de]f�kO]u5i�Y�ZrW(Z�de],f�ajW�^\V�V£asi`V�kOd�W(�e�yx¥Y�asVOptY��;d{a�Z�T�V!a�Z\Y`}7x�]�pu�W�Z\T�Vgu¦W(Z\d�kgW(��kO],f`a�Z|W�f�ZraO�cq�],^;Vg�[W(u5i[�eV��7W(�yZ\T�]Y�n,Th¶0Y��eVg^~îïackO]f`asZrW(f7ZHð�d{ac�`Vg�edyVgw�V�}oZ\]X��V­Z\^rW(f�za\k?Vgf`}�Vgf7Z|W��%�MdeZ�T�W,aof�],Zo�`VgVgf�i�^\]�w�Vgf�Z�T`W(Zoð3d�a�Vgw�Vgf�de^\^rW(Z�de],f�W(�%��SUT�V~^\V5d�aoasdeu¤de�{W�^_denf�],^rW(f`k?V^\V~n�W(^r}�def[n×],Z�T�Vg^�kO��W,a\a�d{kgW��­kO],f`a�Z|W�f�ZraO�­asY`k|T�Wa=�y],n��#W�f`}´ñ�ò��0��W�f`}�W��{as]3^�Vgn�W�^|}�dyf�n�a�],u5VkO]f`asZrW(f7Z|a5Z\T`W�Z�T`Wgw�V�W(^\d�asVgf�dyf�Z�bUVgf7Z\dyVgZ\T�kOVgf7Z\Y�^�x�u¦W(Z\T[Vgu�W(Z�d{kga?�Ua�Y`k|TóW,a5Z\T�V�q�Vgdyn,Vgf7�`W�Y�uô k?],f`a�Z|W(f7Z­�Î��õöç,ç³,�,©7�gç©,³U÷g÷�÷{��å �~���*�gø,è-W(f`}5Z�T�V­¯UVg^\f`a�Z\Vgdyf�ù�kO],f`a�Z|W�f�Z���©�õï�ø,©7�gç,³���³³,©c÷g÷g÷Î��åæ���?è%�

ãH]�bUVgw�V~^g��dyf�u5]�a�Z_](p;Z�T�V�a�V�kgW,a�V�a�W(�yn,],^�deZ�T�u�a�W(^�V5l�f[](bcf�Z\T`W�Z�i`Vg^\u¤deZ_Z�T�V�asVXf7Y�uj�`Vg^raHZ\]�`VXkO],u¤i�Y�Z\V£}=Z\]¤T�denT!i�^\V�k?d{asdy],f*�;Þ�T�Vgf!Z�T�d{aHd�a_}�]f�V���Z�T�VoT�x7i`],Z�T�V�asd�aH](p�bcT�V~Z\T�Vg^ÝW5kO],f�asZ|W�f�Zú a�W(Z�d{a�à�V�a5as]u5V�^�V�W,a�],f`W����ex�asdyu5i��eVß�0�e]�bcz%}7Vgn,^�VgV�i`],�yx�f[],u5d�W(��kgW(f���V!Z�V�asZ�V�}��7x�kO],u¤i�Y�Z\dyf�nZ\T[V�w�V�kOZ�],^��\�û ú û úBü ûg÷g÷g÷~û ú�ý�þ7ÿ �oW�f`}×Z\T[VgfóW(i�i[�ex7def�n�]f�V�]�p­Z\T�V!^�V�kOVgf7Z\�yx�}�d�a\kO]�w�Vg^�V�}�def7Z\VgnVg^^\V~�{W(Z�de]f¦à�f`}�def[n5W��en,]^\dyZ\T�u�a�åæµ��M�g³7���©(è%�;¬�Y`k|T�W��en],^\dyZ\T�u¦aO��bcT[Vgf!W�i�i��edyV�}5Z\]�W�f��`zÎ�y],f�nXw�V�kOZ�],^� �`}�VgZ�Vg^\u5dyf�V_bcT�V~Z\T�Vg^cZ�T�Vg^�V�Vg�7d{a�Zcdef7Z\VgnVg^|a����0a�Y`k|T=Z�T`W(Z���� � ���)©7�HSUT7Y`acd p�WXkO]u5i�Y�ZrW(Z\dy],fà`f`}[a�a�Y`k|T5W�asV~Z0](p-def7Z\VgnVg^|a ���%��Z�T�V�asVcdyf�Z�Vgn,V~^|a0W�^\V;Z\T�V;kO]�V���kOdyVgf7Z|a*](pMW�i`],�ex7f�]u5d{W���a�W(Z\d�a�à`V£}��7xú ��¶0w�Vgf�d p�f�]�a�Y`kmT!^�Vg�{W�Z\dy],f!d{acpt],Y�f`}²��Z\T�V£asVXW(�yn,]^\deZ�T�u�a;W(��as]�i�^\]7}7Y`kOVo�`],Y�f�}�a¨bcdyZ\T�dyf�bcT�d�kmTf�]­^\Vg��W(Z\dy],f¤kgW(fXVg�7d{a�Zg��bcT�d{k|To^\V£asY��yZ|a$W(^�V_](p-def7Z\Vg^�V�asZ$�7x�Z\T[Vgu�asV~�ew�V�a?�B¢$�eV�W�^\�yxXasY`k|T5W�f`W(�yx�a�d{a$kgW�f�`V­W(i�i��ydeV�}5Z�]5W�f�x�k?],f`a�Z|W(f7Z;Z\T`W�Z;kgW(f���V­kO]u5i�Y�Z�V�}jZ�]5a�Y���k?deVgf7Z\�yxoT�denT=i[^\V�kOd�asdy],f*�

SUT�V!W�Y�Z\T[],^XT`W,aji`Vg^�pt],^�u5V�}�a�],u5V�kO]u5i�Y�ZrW(Z\dy],f`a�]�p�Z\T[d{aoZsx7i`V�å ���$µ,è��UW�f`}�]Z\T�V~^|aXW(^\V�defi�^�],n,^�V�a\a?��¬�]u5VX^\V�kOV~f�Z­^\V�a�Y��eZra¨def�kO�eY`}7VjZ�T�Vjpt],�y�e]�bcdef[n�¹jdÚp;ð�a\W(Z�d{a%à`V�aoW(f3dyf�Z�Vgn,Vg^­i`],�ex7f�]u5d{W��](p¨}�Vgn,^�VgV�µ,©!],^X�eV�a�aO�$Z\T�V~f�Z�T�V!¶0Y`k?�ed{}7V�W(f�f[],^\u ]�p�Z\T�V�kO]�V���kOdyVgf7Z|a¨uXY`a�Z�Vg�[kOVgV�}���� �~© ÿ����d p�q�Vgdyn,Vgf7�`W�Y�u!îïa ô k?],f`a�Z|W(f7Zoa�W(Z�d{a�à�V�aoW(f�dyf�Z�Vgn,V~^�i`],�yx�f�]u5d{W��0](pÝ}�Vgn^\VgV¤�,©�]^��yV�a\a?�0Z\T�Vgf�Z\T�V¶0Y`kO�yd{}�V�W�f�f�],^�u ](p$Z�T�V­kO]�V��¦kOdeV~f�Zra�uXY`asZ�Vg��k?VgV�}X�����~© ÿ�� �$SUT�d{ac�{WasZc^�V�asY��yZcd{aU�`WasV�}�],fXÜ�],def7ZbU]^\l5bcdyZ\T��o�`¯U^\dyn,n�aU]�p$Z\T[V��;f�dew�Vg^rasdyZsxo]�p$°�V~�e�`],Y�^�f�V�def�®HY`a�Z\^rW(�ed�W��

¢$],u5i[Y�Z|W�Z\de]f`a*](p²Z\T�d�aBa�],^�ZBT`Wgw�V·W(�{a�]H�`VgV~foW(i[i��edyV�}¨Z�]_a�Z\Y`}�xÛWHk?Vg^\ZrW(defÛkO],fÜ�V�kOZ\Y[^\V$^\VgnßW(^r}�def�n

Page 3: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

Z\T[V� �ptY�f`k?Z\de]f*�$«%Zcd{aUb�Vg�e�²l�f�]�bcf åíøgè*Z\T`W�Z ������!� ��"#$&% ÿ

�' ü( ü $$*) ������!� µ� "#$&% ÿ

�&+���� $ þ7ÿ'�, ( ü $$ ) ��t���!� �,ç�-� "#$.% ÿ

�'�/ ( ü $$ )SUT�V�a�V�^\V�a�Y��eZraUT`Wgw�V¨�yV�}5a�],u5V_Z�]5a�Y�n,nV�asZ;Z\T�W(Z

0 � � ��%µ��.12"#$&% ÿ�.+���� $ þ�ÿ' ��( ü $$ )

u5dyn,T7Z�W��{a�]��`V�W�asdyu5i��yVo^|W(Z�de]f`W(�c]^oW(�yn,Vg�[^|W(d�kjf7Y�uj�`Vg^~�3�;f�pt],^�Z\Y�f`W�Z\Vg�yx��BZ�T�V�W�Y�Z\T�]^XW(f`}��o�¯U^\dyn,nßa�T`Wgw�V�V�asZrW(���yd{asT[V�}�Z�T`W(Z5dÚp40 � a\W�Z\d�a�à`V�a¤W¥i`],�ex7f�]u5d{W��c](p­}�V~n,^\V~V!�,µ�]^j�yV�a\a?�UZ\T�V~f�Z\T�V¶0Y`kO�yd{}�V�W�f�f�],^�u ](p»Z\T�V­kO]�V���kOdyVgf7Z|a�uXY`a�ZUVg�[kOVgV�}¤�4���g© , � �

«%f¥]f�VXkgW,a�VjZ�T�V¤W(Y�Z�T�],^~��b�],^�l�dyf�n�def�kO],f,Ü�Y[f`kOZ\dy],f!bcdyZ\T�ã��*ª��65B�*q�Vg^�n,Y`a�],f*�M],��ZrW(dyf�V�}!Z\T�Vpt],�y�e]�bcdef[n_i`]�asdyZ\dyw�VU^\V£asY��yZg¹*Z\T�VcZ�T�de^r}���d ptY[^|kgW�Z\de]foi`],def7Z$](p²Z\T[V;kmT`W�],Z�d{kUdeZ�Vg^|W�Z\dy],f � $.7 ÿ �98 � $ �\�:+� $ �r�,f`W�u5Vg�ex;Z\T[V;kO],f`a�Z|W�f�Z$�7õïµ��,��©³,©�,µ,³µ�µU÷g÷�÷t��a\W�Z\d{a%à`V�aBZ�T�VUi`]�ex7f�],u5d�W(�7��³7�g��òÛ���~©,ø<; ü +oç,©��<; , +³�=��; / òhø-; � ò��,�<;�>Mò!�³,�-; � +��g³�-;�? +��ß©-;�@*ò��ßø-; ÿBA +��g�C; ÿ�ÿ ò3; ÿ�ü �$«%fXZ\T�d�aUkgWasV��7deZ�kgW(f¤��V�i�^\]�w�Vgfp�W(dy^\�yxoV�W,a�de�exoZ�T`W(Z�Z\T�d�aUkO]f`asZrW(f7ZUuXY`asZ$�`V�W(�enVg��^rW(d{k�$SUT�VHp�W,k?ZUZ\T�W(ZUdyZ�a\W(Z�d{a%à`V�aUW�i`]�ex7f�],u5d�W(��]�p],f[�ex�}�V~n,^\V~Vj�~��d�acas]u5VgZ\T[def�n­](p�Woa�Y�^\i�^�d{a�V��

Ù f�V�](p»Z\T�V_]�{}�V£asZ;W(i[i��ed�kgW(Z�de],f�aU](p»ujY��yZ\dyi�^\V�k|d{a�de]fXkO],u5i[Y�Z|W�Z\de]f5d{aUZ�]oVg�7i��e]^\V;Z\T�V�i`Vg^\i[�eVg�7zdef[n���Y[V�asZ�de],f�](p�bcT�VgZ�T�Vg^;Z\T�VÛ}�V�kOdyu�W(�²Vg�7i`W(f`a�de]f`a��Î]^_Z\T[VoVg��i�W(f`a�de],f�aHdefhW(f7x=]Z\T�V~^_^|W}�de�`�U]�pkO��W,a\a�d{kgW��²kO],f`a�Z|W�f�ZracasY`k|T5Wac�0ûOñû�D ���7VgZ|k�0W(^�V_^|W�f`}�]u dyf�as]u5V;asVgf�asV��$®H�yu5]�a�Z$W(f7xX^\V�Was],f�W(���yVf�]Z\de]f¥]�p;^|W�f`}�],u¤f�V�a\a�kO],Y���} �`VXY`asV£} T�V~^\V��*def�kO�eY`}7def�n5Z�T�VXi�^\]i�V~^\Z�x!Z\T`W�Z�Vgw�Vg^\x�}�dyn,dyZ¨]7k~kOY�^|abcdeZ�T¥�ydeu5dyZ\dyf�n�pt^�V���Y�Vgf`kOx��-1ß�g©��$],^­Z\T�V¤asZ�^\]f�n,Vg^­i�^\]i`Vg^\Z�x�Z\T`W�Z�Vgw�Vg^�x��`zÎ�y],f�nhasZ\^�def�n�](p�}�dyn,dyZ|a]7kgkOY[^|a_bcdeZ�T¥�ydeu5dyZ\def[n�pt^\V���Y�Vgf`k?x��g© þ�ý �XSUT�d{a�kO]f,Ü�V�kOZ�Y�^\Vod�a_��V~�edeV~w�V�}=Z�]=T[],�{}�pt],^ÛW5w�Vg^\x�bcd{}�V^|W�f�n,Vo]�p$u�W�Z\T�Vgu¦W(Z\d�kgW(�²kO]f`asZrW(f7Z|a?��dyf`kO�eY�}�def�n¤W(�y�*de^�^|W(Z�de]f`W(�»W(�yn,Vg��^rW(d�k¨f7Y�uj�`Vg^raUW�f`}�Z\T�V­Z\^rW(f�za\k?Vgf`}�Vgf7Z|W��{a;�3W(f`}¥ñ�*W�u5],f�n¤],Z\T[Vg^|a?��«�ZraHw�Vg^�d à²kgW�Z\dy],f=pt]^�W5kOV~^\Z|W�defhkO�{Wa\aH]�p;kO]f`asZrW(f7Z|aHb�],Y���}i`],Z�Vgf�Z�d{W��e�ex!T�W£w�VoZ�T�V5i�^rW,kOZ�d{kgW���W(i�i��yd{kgW�Z\dy],f�](p;i�^�](w7d{}7def�n�^\V£asV�W�^|k|T�Vg^|a_bcdyZ\T�i�^\]�wW(���yx¥^�Vg�ed�W(���yVi`a�VgY`}�]^|W(f�}�],u f�Y[uj�`Vg^;n,Vgf[Vg^|W�Z\],^raO�E�Hf�pt]^\Z�Y�f`W(Z�Vg�exß��T�]�bUVgw�V~^g��Z�T�d{a_k?],f,Ü�V�k?Z\Y�^�VoT`W,a_f�]Z¨�`VgV~fi�^�](w�V~fjdyfjVgw�V~f5W­asdef[n,�eV�def`a�Z|W(f�kOV_W�u5],f[n�Z\T[V_kO��W,a�asd{k~W(�²kO],f�asZ|W�f�ZraU](pMu�W�Z\T�V~u�W(Z�d{kga?�*SUT�Y�a�Z\T[Vg^\Vd{ack?],f7Z\def7Y�dyf�n�dyf�Z�Vg^\V�a�ZUdyf�kO],u¤i�Y�Z|W�Z\dy],f`aU]�p$kOV~^\Z|W�def�k?],f`a�Z|W(f7Z|acZ\]ow�V~^\xXT�denT=i[^\V�kOd�asdy],f*�7def5]^|}�Vg^Z\]Xa�VgV�d p»Z\T�V~^\V�W�^\V­W(f7x�asZrW(Z�d{asZ�d{kgW��MW(f�]u�W(�ydeV�a$def�Z\T[V_^\V�a�Y��eZraO�$SUT�V­kO]u5i�Y�ZrW(Z�de],f�]�p$�!T`W,aU�`VgV~f](p�i`W�^\Z\d�kOY���W(^odef7Z\V~^\V�a�Z�def�Z\T�d�a�^\VgnßW(^|}²�UW�f`}�^�V�kOVgf7Z\�yx!Z\T�V5]f�V���de�y�edy],f3}�dyn,dyZou�W(^�l!bcW,aoi`Wa\asV£}�7xj�`],Z�T���W(f�W,}�W!åæ�,��è*W(f�}=Z\T[V�¢$T7Y`}�f[](w[asl7x[a�å �gµ�è%�[W(f`}�Z\T�Vo¢$T7Y`}�f�]�w[asl7x�aUT`Wgw�V_u¤],^\V;^\V£kOVgf7Z\�exVg�7Z\Vgf�}�V�}�Z\T[Vgde^­kgW��{kOY���W(Z�de],f!Z�]��`Vgx�]f`} Z�b�]���dy�e�edy],f�}�dyn,dyZ|aXå �~ç(è%��¬�Z|W�Z\d�asZ\d�kgW(��W�f`W(�yx�a�V�a_](p;Z\T[V�asV^\V£asY��yZ|aUT`Wgw�V�a�]�p�W�^Hf�]ZHx7deV~�{}�V�}XW(f7x�a�Z|W(Z�d{a�Z\d{k~W(�MW(f[],u�W��edeV£aH�%a�VgV_pt],^;Vg�[W(u5i��yVoåæ�(èt�|�

®Hf�Vgu5dyf�Vgf7Z\�ex�i�^rW,kOZ�d{kgW��*W�i�i��ed�kgW(Z�de]f=]�p0uXY��yZ\dei[^\V�kOdya�de],fXk?],u5i�Y[Z|W(Z�de]f=d�a�Z�T�V�Vgu5Vg^�n,def[nÝà�Vg�{}](p;i[Y����ed�kOztl�Vgx�kO^\x7i�Z\]n,^rW(i�T7x��Bdyf¥i�W(^\Z�d{kOY[�{W(^�^�V�asV�W�^|k|T¥]f�Z\T[V5ªcdew�V�a�Z\z�¬�T`W�u5de^�z%®_}7�eVgu¤W(f��%ª_¬7®¨�

Page 4: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

kO^�x�i�Z�]�a�x�a�Z\Vgu åæ����$�C��è%��SUT�d�a¨k?^\x7i�Z\]ßasx[asZ\V~u ^\Vg�ydeV�a_],f�Z\T�VXVg�7i�]f�Vgf7Z\d�W(Z\dy],f�](p�W��{W(^�n,VXdef7Z\VgnVg^Z\]�W���W(^�n,V�def7Z\VgnVg^�i`](b�Vg^ou5]7}�Y[�e]!W�Z�T�de^r}��{W(^�n,V5dyf�Z�Vgn,V~^g��SUT�V�ª_¬7® kO^�x�i[Z\]�a�x�a�Z\Vgu T`WajW��{as]asi�W£bcf[V�}�W¥n,^�V�W(Z¦}�V�W(�;](p­^�V�asV�W�^|k|T×dyf�Z�]�W}�wW(f`kOV£}�W(�en],^�deZ\T[u�aÛpt]^�p�WkOZ\]^\dyf�n��{W�^\nV!def7Z\VgnVg^|a?�asdyf`kOVcZ�T�V_ª_¬7®�a�x�a�Z\VguEkgW(fX�`Vjê���^\]l�Vgf`ë¨dÚp²],f�V�kgW(fop�W,k?Z\],^$Z�T�VHu¤]7}�Y��eY�aO�MSUT�V;u5]�a�Z0deu5i[^\V�a�asdew�V^\V£asY��yZ�dyfjZ�T�d{a$W�^\V�W­as]¨p�W�^Ud�a�Z\T[VH^�V�kOVgf7ZBp�W,k?Z\],^�deâ�W�Z\dy],fX](pMZ\T[VHf�dyf�Z�T5q�Vg^�u�W(Z»f�Y�uX�`Vg^$� �sÿ�ü ò����W�fdef7Z\V~n,Vg^�bcdeZ\T��~µ,µX}�dendeZ|a?��bcT�d{k|T5b·W,a;W,kgkO]u5i��yd{asT[V�}��7x5u5V£W(f`a$](p»f�Y�u¤Vg^\]Y`aUkO]u5i�Y�Z�Vg^ca�x�a�Z\Vgu¦akO]u5ujY[f�d{k?W(Z�def�n;��xoV~�eV�kOZ�^\]f�d{kUu�W�de���*SUT�d{a�kO],u¤i�Y�Z|W�Z\dy],fXVgu5i��y](x�V£}¨W�f�Vgb3p�W,kOZ�],^\dyf�noW��en],^\dyZ\T�uh�l7f�]�bcf�Wa¡Z�T�V�ê\f7Y�uX��V~^�à`Vg��}�asdeV~w�V�ë5åæ�,µ(è��

®Hf!def�}�de^�V�kOZ�W�i�i��ed�kgW(Z�de]f!](pcuXY��yZ\dei[^\V�kOdya�de],f�kO]u5i�Y�ZrW(Z�de],f!d�aHZ\T[Vodef7Z\Vgn^\deZ�x�Z\V£asZ\dyf�n�](p·kO]u5zi�Y�Z�Vg^Masx[asZ�Vgu�a?�*®�Y�f�d{��Y�V0ptV�W�Z\Y�^�V�]�p�uXY��yZ\dei[^\V�kOd�asdÚ],f�kO]u5i�Y�ZrW(Z\dy],f`a�d�a�Z\T`W�ZBZ�T�Vgx�W(^�VUVg�[kOVgV�}7def�n�exY�f�pt]^\ndew7def�nX](p�T`W�^|}�b·W(^\V­],^�k?],u5i�dy�eVg^$Vg^�^\]^g�;SUT�d{acd{ac�`V�kgW�Y`asVodÚp0Vgw�V~f�W¤asdef[n,�eV­kO]u5i�Y�ZrW(Z�de],f�W(�Vg^�^\],^»]7kgkOY�^raO�,Z�T�VU^�V�asY��yZ0bcde�y�7W(�yu5]�a�Z0kOV~^\Z|W�def��yx_�`V;kO],u¤i��eVgZ�Vg�ex;def�kO],^�^\V�kOZMWgptZ\Vg^¸WHi`]�a\a�de���yxokO]^\^�V�kOZdef[deZ\d�W(�`a�V�kOZ�de],f-�0«%fou�W(f7x�]Z\T�V~^Ua�kOdeV~f�Z�d à²k�kO],u5i[Y�Z|W�Z\de]f`aO�7W_T`W�^|}�b·W(^\V�Vg^\^�],^$defoi`W�^\Z�d{kOY���W(^$u5dyn,T7Zasdyu5i��yxo^\VgZrW(^|}5Z�T�V­kO],f7w�Vg^\nVgf`kOV�Z\]XZ\T�V­kO]^\^\V£kOZca�],�eY[Z\de]f*�

§H],Z*]f��exÝ}�]cZ\T�VMà`f`W(��^�V�asY[�eZ|a*k?],f`a�Z\deZ�Y�Z\V¸W(f�dyf�Z�Vgn,^�deZ�xcZ\V£asZg�g�[Y�Z*Z\T�V~^\V$W�^\V�asVgw�V~^|W(�ßkO],f�asd{a�Z\Vgf�kOxk|T�V�k|l�a0Z\T�W(Z�kgW(f��`V�i�V~^spt],^�u5V�}odef�Z\T[V�k?],Y�^rasV�](p¸W�ujY[�eZ\dyi�^\V£kOdyasde]f5k?],u5i�Y[Z|W(Z�de]f*� Ù f�V�](p»Z\T[V�asV}�Vg^�dew�V�a0pt^\]u Z\T�V_p�WkOZHZ�T`W(ZcbcT[Vgf�i`Vg^�pt],^\u¤def�n­ujY��yZ\dyi�^\V�k?d{asdÚ]fjuXY��eZ�dei��yd{k?W(Z�de],fXY`a�def�n¤Wjk?],u5i��yVg�p�W,a�Zcq�],Y[^\deV~^0Z\^rW(f`a%pt],^\uv�%q»q0SH�|��Z\T[VUà`f`W(�²def7w�Vg^|a�Vcq0q»S�^\V£asY��yZ|a$asT�]Y��{}X��V���Y�deZ�V;kO�e]ßasV;Z\]�def7Z\VgnVg^wW(�yY�V�aO�X«Îp·W(f7x�^�V�asY��yZ�Vg��k?VgV�}�a;W5f�],u5dyf`W(�¸}�d{a�Z|W(f�kOV�pt^\]u W(f�def7Z\VgnVg^_wW(�yY�V��*W5T`W�^|}�b·W(^\VXVg^�^\],^T`Wa¡�ydel�Vg�yxo]7kgkOY�^�^\V�}��GF;VgZ|W�de�{acW�^\V�n,dyw�Vgf5dyf�a�V�kOZ�de],f�µ7�

SUT�V�W�Y�Z\T�]^gîöaUVg��i`Vg^�deVgf�kOVHY�asdef[nokOY�^�^\Vgf7ZcW�f`}5i�^\dy],^�w�Vg^|a�de],f�a�](pMZ�T�d{a$i`W,k|lW(nV¨T�W,ackO]f�à`^\u¤V�}Z\T[d{a_i�^\dyf`kOdyi��eV��X¬�x�a�Z\Vgu¦aHdef�bcT�d{k|T�T`W(^r}�bcW�^\VX],^oa�](ptZ�bcW�^\VXVg^\^�],^ra¨T`Wgw�Vo�`VgVgf�}�d{a�kO�e]ßasV�}!�7x!Z\T�VW(Y[Z\T�]^gîïa;^\],Y[Z\def[V�a¡dyf`kO�yY`}�V�Z\T�V�pt],�y�e]�bcdef�n[¹UZ\T[Vj¢$^|Wgx7z%�7��Z\T[Vj¢$^|Wgx�H_z�°�5B�`Z\T�VX¢$^|Wgx�I_z�°�5B�`Z\T�V¢JF¨¢ �,©µ��_Z�T�V!¶$SM®Hz\�~©��;Z\T�VKF_¶U¢ é$®LHÛ�BZ\T[V�¬�de�yd{kO]fNM;^|W�i�T�d{k~aO5BVg^ras],f�W(��«sª;«\¬`�$Z\T�V�¬�Y�f�zt�W(f�} Z�T�VX«%f�Z�Vg�*dP5U¬�¢$z�ø,ç©��XSUT�d{a;�ed{a�Z_def�kO�eY`}7V�a¡w7de^�Z\Y`W��e�yx�W(�y�0](p·Z\T�VÛkO],u5i[Y�Z\Vg^�asx[asZ�Vgu�acZ\T`W�Z�Z\T�VW(Y[Z\T�]^oT`W,a�bU],^�l�V�}!bcdeZ\T�def�Z\T�V5��W,a�Z¨ptVgb�x�V�W(^ra�Q�q�]^\Z�Y�f`W(Z�Vg�ex!u¤]�asZ�]�p;Z\T�V�a�V5i�^�],���yVgu�aHT`Wgw�VasY[�`asV���Y�Vgf7Z\�yxj�`VgV~f=^�V�kOZ�d à`V�}²�R²Ê J Ö­Ï`Ø3ËMQ�P�ÍÎLgÏ`Ð�Ï�Ñ�ÒTSVU�WYX ZXÍÔN\[^]oNC[MÕ7PjÒ�ÓMÌÔN�ÍtËMP(Õ7R�ÍtLgÍÎÏ`Ð`_baMLON�Õ7Ø�L

¬�Vgw�Vg^rW(�»as]�ptZsb·W(^�Vji`WkmlW�n,V�a�W(^�VXWgw,W�de��W(���yV¨pt],^�uXY��eZ�dei�^�V�kOd�asdÚ],f�kO]u5i�Y�ZrW(Z\dy],f*� Ù f�VoZ\T�W(Z�T`W,a�`VgVgf�W(^�],Y�f�}¦pt],^�W�bcT�dy�eV_d�aUZ\T�V­¯U^\V~f�Z·°�5�uXY��eZ�dei�^�V�kOdyasdy],fXi`W,k|lW(n,Vß�`W(Y�Z�T�],^�V�}=�7x5ª��c5B�[¯U^\Vgf7Zå ��Oè��5SUT�d�a¨i`WkmlW(nV5T`Wa¨Z\T[V5W}�wW(f7Z|W(nV5](p;�`Vgdyf�n5pt^\VgV~�ex!WgwW(dy�{W����eVXVgdeZ�T�Vg^Hpt^�],u Z\T�V¤W(Y[Z\T�]^�],^pt^\]uìw,W�^\dy],Y`ac],Z�T�Vg^�as],Y[^|kOV�a?�c«%Zcd{acw�Vg^\x¤kO]u5i��eV~Z\V���def�kO�eY`}7def�nX}�V~Z|W(dy�eV�}5f7Y�u5Vg^�d{kgW��²kO],f7Z\^�],�{a;W(f�}u�W�f�x3a�i`V�kOd{W��HptY�f`k?Z\de]f`aO��ªcV�kOV~f�Z��ex3¬�u5deZ�T)åí�,©,è�}�V�a�kO^\dy�`V�}×W�a�deu5dy�{W�^oi`W,k|lW(n,V!Z�T`W(ZXptV�W(Z�Y�^\V�adeu¤i�^\]�w�V�}oi`Vg^spt]^\u�W�f`kOVHpt]^;kOVg^\ZrW(dyf=Z�^|W�f`a\kOV~f`}�Vgf7Z|W���ptY�f`kOZ�de],f�aO�

®Hf�]Z\T�Vg^$i`WkmlW�n,V�WgwW(dy�{W(�[�eV;W(Z·as]u5V;asdyZ\V�a0d{a�°!®Ý¢c¬dI�°!®��gbcT�d�kmTXbcWa�],^�dendef`W��e�exÛ}�Vgw�Vg�y],i`V�}W(Z·°!«�S���Y�Z�d{a0f�]�bó}�d�asZ\^�de��Y[Z\V�}o��x5¬ßx�uX�`],�ed�kgaO�ß«�f�k,�0°!®_¢c¬�I�°!®×d�a�WkOZ\Y�W(�e�yxXW�kO]u5i��yVgZ\V;a�x�u5z�`],�yd{k�u�W�Z\T�Vgu¦W(Z\d�kgaUi`WkmlW(nV��MW(f`}!deZraHuXY��eZ�dei�^�V�kOdyasdy],f�W(^�deZ\T[u5VgZ\d�k�kgW(i`W���de�ydeZ�x�d{a_],f[�ex�]f�Voi`W�^\Zg�®#f�Vgb�Vg^;i`W,k|lW(n,Vo]�pcZ�T�d{a_a�],^�Z_d{a_°!W�Z\T�V~u�W(Z�d{kgW�åæ�,�,è%�²}�d�asZ\^�de��Y[Z\V�}��7x�Þ¥]� pt^|W�u ªcV�asV£W(^|k|T*�²«%f`k,�«%ZUptV�W(Z�Y�^\V£acasY�i�i`]^\Z;](p$dyu5i�^\V£a\asdyw�VUptY��e�yz%k?],�e]^cn,^rW(i�T�d�kgaUpt],^c]�bcf�Vg^ra¡]�p$W}�wW(f`kOV£}=bU]^\l[asZrW(Z\dy],f`a?�

SUT�Vg^�V�V~��d�asZ*Wcf7Y�uj�`Vg^²](p[],Z�T�Vg^*uXY��eZ�dei�^�V�kOd{a�de]f;asx[asZ\V~u�a�dyf¨Y�asV$Z\T`W�Z0W�^\V�asi`V�k?d à²kgW��e�yxHZrW(^\nVgZ\V£}pt],^­W5i`W�^\Z\d�kOY���W(^­kO],u¤i�Y�Z\V~^_a�x�a�Z\Vguv],^¨pt]^­asi`V�kOd�W(�$W�i�i��ed�kgW(Z�de]f`aO�X®#i`WkmlW(nVjpt],^���W(^\nVodef7Z\VgnVg^

Page 5: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

kO]u5i�Y�ZrW(Z\dy],f*�0bcdyZ\T3W�pt]7kOY`a�]f×Z�T�V�¢$^|Wgx7z%�7��d�ao}�V�a�kO^\dy��V£}¥def)å �?�,è��¥Þ�deZ�T�Z\T[V=uXY��yZ\dei[^\V�kOdya�de],fkO]u5i�Y�ZrW(Z\dy],foZ�]�],�{ack?Y�^\^�Vgf�Z��ex­WgwW(de��W(���yV��7as]u5Vcu�Wgx­��Y�V£asZ\dy],fXZ\T�V;f�VgV£}Ûpt]^�x�V~ZUW�f�],Z�T�Vg^~�$«�fXZ\T[d{a^\V~n�W(^r}���Z\T�V;W�Y�Z\T[],^$T`W,a»W(Z\Z�Vgu5i�Z�V�}¨Z�]�kO]uj��dyf�V�as]u5VU]�p�Z�T�Vcu5]^\VUwW��eY`W����eVUptV�W�Z\Y�^�V�aB]�p�V~��d�asZ\dyf�ni`WkmlW(nV�a_bcdeZ�T!W5T�denT!i`Vg^spt]^\u�W�f`kOVo}7V�asdyn,f*��SUT�Vo^�V�asY[�eZ\dyf�n5i`WkmlW�n,Vo](p·q�],^�Z\^rW(f�^\],Y[Z\def[V�a_W(f�}ptY�f`k?Z\de]f`aUd{aUl7f�]�bcf!Wa�êr°�5$q �_§_ë7�

qBde^rasZc]�p�W(�y�%���ydel�V�¯U^�Vgf7Zgîïa�°�5×i`W,k|lW(nV���Z\T�V­W�Y�Z\T�]^gîöaH°�5$q �_§�i`WkmlW�n,V�d{aUpt^\VgV~�ex¤W£wW�de�{W����eVß�bcT�Vg^�V�W,acZ\T[VokO]u5u5Vg^rkOdyW(�`i�^\]7}7Y`kOZ|a;Zsx7i�d�kgW(�y�exXT`Wgw�V¨T[VOptZ�x5i�^\d�kOV�Z|W�n�a_W�f`}�W�f�f�Y�W(�Mu�W(dyf�Z�Vgf`W(f�kOVptVgV�a?��¬�V£kO],f`}7�ex��7°�5$q �_§×^�Y�f`a0w�dy^\Z�Y`W(�y�ex�bcdyZ\T�]Y�Zck|T`W�f�n,V;],f�W�f�xXa�kOdeV~f�Z�d à²k�kO],u5i[Y�Z\Vg^~�,bcT�Vg^�V�W,au5]ßasZ_]�pcZ\T[Vo],Z\T[Vg^|a_^\V£��Y�dy^\VXa�den,f[d à²kgW�f�ZÝkOY`asZ�],u5dyâ�W(Z�de]f�pt^\],u asx[asZ�Vgu Z\]�asx[asZ�Vgu!�­®_a_W5^\V£asY��yZg�W(f�W�i�i��ed�kgW(Z�de]fjbc^�deZ\Z�Vgf5Z�]okgW��e�`Z\T�VÝW(Y�Z�T�],^~îïaU^\]Y�Z\dyf�V�a$],f�W�b�],^\l[asZrW(Z�de],f¤],^cVgw�VgfX],f¦W�i�V~^|as]f`W(�kO]u5i�Y�Z�Vg^ckgW�f��`V�V?±�]^\Z��eV�a�as�ex�i`],^�Z\V�}�Z\]¤Wju5]^\V_i`]�bUVg^�ptY��Masx[asZ�Vgu!�`a�Y`kmT�Wa_Wja�Y�i`Vg^|k?],u5i�Y[Z\Vg^~�pt],^;Vg�7Z\Vgf�}�V�}5kO]u5i�Y�ZrW(Z�de],f�aO�

Ù f�V_l�Vgx�ptV�W�Z\Y�^�VH]�p0Z�T�V�°�5�qe�_§ i�W,k|l,W�n,V_d�a�Z�T`W(Z�deZUb·W,a$bc^\deZ�Z\Vgf¤bcdeZ\T¦W¨w�V�kOZ�],^�asY[i�V~^|kO]u5zi�Y�Z�Vg^�]^XªH«\¬�¢���]�W(Z�def�n�i`],dyf�ZÛkO],u5i[Y�Z\Vg^�dyf�u5def�}hpt^�],u Z�T�V5�`Vgn,dyf�f�dyf�n��!é_dy^\Z\Y�W(�e�yx�W(�y�Udef[f�Vg^�e]�]i`aUW�^\V;w�V�kOZ�],^\dyâ�W(�[�eVcW�f`}oVgu5i��y](x_�`]ßW(Z�def�n­i�]def7Z$],i`Vg^|W�Z\dy],f`a?��bcT�d�kmToT`Wgw�VcZ�T�VHT[den,T[V�asZ$i`Vg^spt]^\zu�W�f`kOV�],f�asY�i`Vg^rkO],u¤i�Y�Z\V~^|aO��®�aHW5^\V£asY��yZg�²°�5�qe�_§´Vg�7T�dy��deZra¡Vg�[kOVg�y�eVgf7ZUi`Vg^�pt],^�u�W(f`k?V�],f�Z\T[V�asVasx[asZ�Vgu�a?�$§H],f�V�]�p0Z�T�V�]Z\T�Vg^cbcd�}�Vg�yx�Wgw,W�de��W(���yV_i`W,k|lW(nV�aO�`Z\]XZ\T�V­W�Y�Z\T�]^gîöa¡l7f�]�bc�eV�}7n,V��7Vg��T[de��dyZ|a^\V£asi`V�kOZrW(���yV¨i`Vg^�pt],^�u�W(f`k?V¨]f!a�Y�i`Vg^|kO]u5i�Y�Z�Vg^|aca�Y`k|T!W,a_¢$^|Wgx[aO�c®;�{as][��Z�T�V�i`W,k|lW(nVoWgw�],d�}�aHk?],f�zasZ�^\Y`k?Z|aUZ\T�W(Z;def�T�dy��deZ�ujY[�eZ\dyi��eVci[^\]7kOV�a�as]^_kO]u5i�Y�ZrW(Z�de],f-�0®_acWo^\V�a�Y��eZ~��dyZ;kgW(f�V�Wasde�yxj�`V�u5]7}�dÚà`V�}Z\]XVgu5i[�e]�xoujY[�eZ\dyZ|Wasl7def�n­as]�ptZ�bcW(^�V��

®Hf�]Z\T�Vg^¦}�d{a�Z\def[n,Y�d�asT�dyf�n¥ptV�W�Z\Y�^�V�](pÛZ\T�Vh°�5$q �_§ i�W,k|l,W�n,V!d�ajdeZrajY`a\W�n,V�](pÛW,}7w,W�f`kOV�}�W��ezn,]^\dyZ\T�u�a?��q�],^�u¦W(f7x=ptY�f`k?Z\de]f`aO�M�`],Z\T�W3ê\�`Wasd{k~ë�W(f�}�W(f�êrW,}�wW�f`kOV�}�ë�^�],Y�Z�def�V¦W(^\V¤i�^\]�w7d{}�V�}²�SUT�VÛW,}�wW(f�kOV�}=^�],Y�Z�def�V£a¡Vgu¤i��e]�x¤W,}�wW(f�kOV�}�W��en],^\dyZ\T�u¦acW(f`}�Vg�7T�dy��deZ·asY�i`Vg^�de],^;i`Vg^spt]^\u�W�f`kOV_pt],^Vg�7Z\^rW(ztT�denT�i�^�V�kOd{a�de]f¥�td%�æV��$W(�`]�w�VoW���]Y�Zo�~©,©,©¤}�dendeZO��k~W(�{k?Y��{W�Z\de]f`aO�·q�]^HV~��W�u5i��eVß��W�f!W}�wW(f`kOV£}uXY��eZ�dei��yd{k?W(Z\dy],f5^�],Y�Z�def�V­d{a_WgwW(dy�{W����eV�Z\T�W(Z_Vgu¤i��e]�x[acW�p�W,a�Z�q�],Y�^�deVg^;Z\^rW(f`a%pt],^\u �%q0q»SH�|�²W(f`}�^�],Y�zZ\dyf�V�aHdyu5i��yVgujV~f�Z\def[nX��Y`W}�^|W�Z\d�kgW(�y�ex�kO],f7w�Vg^�n,Vgf7Z_W��en],^\dyZ\T�u¦a·pt]^¨V~��i*�`�e]n��MkO]ßa¨W�f`}!asdyf�W�^\VXW��{as]i�^�](w7d{}7V�}��

qBdef�W(�e�yx��BY�a\W(nV�]�p_Z�T�d{a�i`WkmlW�n,V�d{a�n^\V�W�Z\�ex!p�W,k?de�edyZ|W�Z\V�}¥�7x�Z\T�V�Vg�7d{a�Z\Vgf`k?Vj]�p�W�f×W�Y�Z\]u�W(Z�d{kZ\^rW(f`a��{W�Z\de]f�i�^�],n^|W(uh��bcT�d�kmT�WkgkOVgi�ZracW,aHdyf�i�Y�Z;WXasZrW(f`}[W(^|}!q�]^\Z\^rW(f�z��<�Xi�^�],n^|W(uìZ�]5bcT�d{k|T�T`W,a�`VgVgf¤W,}�}7V�}jk?Vg^\ZrW(defXa�i`V�kOd{W��²kO],u5u¤Vgf�Z�a*Z\T`W�Z�}�V�kO��W(^\VcZ�T�V�}�V�asdy^\V�}��yVgw�Vg�7](p-i�^\V�k?d{asdy],fXW�f`}j}7V�kO�{W�^\VkOVg^�Z|W�defowW(^�d{W(�[�eV�aBdyfoV�W,k|Toi�^�],n,^rW(uCY�f[deZ0Z�]_�`VHZ�^\V�W�Z\V�}oWa¸uXY��yZ\dei[^\V�kOdya�de],f-�*SUT�d{aMZ\^|W�f`as��W(Z�],^UZ�T�Vgfi`W�^|asV£a¡Z�T�V_def[i�Y�Z;kO]7}�V­W�f`}=nVgf�Vg^rW(Z\V£acW�i�^�],n^|W(u Z\T`W�ZHT`WaHW��e�²](p»Z\T�V­kgW��e�{aUZ�]oZ\T�V­W�i�i�^\]i�^\d�W(Z�V°�5$q �_§�^\]Y�Z\dyf�V�aO�$SUT[d{a�Z�^|W�f`as��W(Z\]^ci�^\]n,^rW(u d{aU}7V�a\kO^�de�`V�}odef�W­asVgi�W(^|W�Z\V�i`W�i�V~^cWgwW(de��W(���yV¡pt^�],uZ\T[V�W�Y�Z\T[],^Ûå �Oè��f*Ê ]4g²Õ�P�gMÍtÕZvÏ�Ñ;NC[BÕ�SHQ[R-h[Qji`Õ

SUT�V­°�5$q �_§�i`W,k|lW(n,V­kO]f`asd�asZraU](p¸W(i�i�^�]���dyu�W(Z�Vg�ex¤�g©��ö©,©©��ydef�V�a$](p»q�],^�Z\^rW(f�kO]7}�V�],^�n�W�f�deâgV£}def7Z\]¤ø�¤a�Y���i�^�],n,^rW(u�a?��SUT�V�a�V�^\]Y�Z\dyf�V�aH]i`Vg^|W�Z\Vo],f�Z\T[^\VgVÛkOY`asZ�],uv}�W�Z|W5Z�x�i`V�a?¹¡uXY��yZ\dei[^\V�kOdya�de],f�%°�5U�`f7Y�uX��V~^|aO�?ujY[�eZ\dyi�^\V£kOdyasde]f;kO],u¤i��eVg����°�5U¢c�`f�Y�uX�`Vg^|a`W�f`}�}�]Y����yV�i[^\V�kOd�asdy],f_i��yY`a�Vg�7i`],f�Vgf7Z�BFk5�¶U��f�Y[uj�`Vg^raO�

®ì°�5 f7Y�uX�`Vg^�d�a¨^\V~i�^\V�a�Vgf7Z\V�}¥�7x�W¥a�def�n�eV5i�^�V�kOd�asde]f¥�`]ßW(Z\dyf�n�i�]def7ZXW(^�^|Wgx���SUT[V�a�denf�]�pZ\T[V�à`^|a�Z5bU]^|}×d{aXZ\T�Vhasdenf�](pÛZ\T�Vh°�5 f7Y�uX��V~^g�óSUT�V!u�W�n,f�dyZ\Y`}�V�](p­Z\T[V�à`^|a�Z5bU]^|}×d{aXZ\T�V

µ

Page 6: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

f7Y�uj�`Vg^o]�p­u�W(f7Z\d�a\a\W!bU]^|}�a?��SUT�V�asV£kO],f`}×b�],^r}×](p­Z\T�Vh°�5 W�^\^rW£x�kO],f7Z|W�def`aXZ\T�V�Vg��i`]f�Vgf7Zg�bcT�d�kmTX^\Vgi[^\V�a�Vgf�Zra0Z\T�V_i`]�bUV~^�]�p0Z�T�V;^|W,}7de�²��bcT[d{k|T5d{a0VgdyZ\T�Vg^�� üsü ���[�g³����,©��jpt],^;¢$^|WgxXasx[asZ�Vgu�a0],^� ü / ���~ç�<�=���7�gç¨pt],^»u5]�a�Z*],Z\T[Vg^$asx[asZ�Vgu�a?�gdef`kO�yY`}�dyf�n_a�x�a�Z\Vgu¦a��`W,a�V�}�],foZ�T�Vc«�¶$¶$¶l�£µ(�­asZrW(f`}�W�^|}��Þ�],^|}[aÝ�`Vgndef�f[def�n5bcdyZ\T!Z�T�V�Z�T�de^r}�bU],^r}�def�Z\T�VXW�^\^|WgxhkO],f7Z|W�def!Z\T[V�u�W�f�Z�d{a\a�W���°!W�f�Z�d{a\a�WjbU]^|}�aW(^�VH�`]ßW(Z\dyf�noi`],dyf�ZcbcT�]�eV_f7Y�uX�`Vg^|a0�`VgZ�bUVgV~f5©oW�f`}5],f�V_�yV�a\a$Z\T`W�f�Z\T�V_^rW,}�dy���»q�],^;°�5�f�Y[uj�`Vg^rabcdeZ�T3âgVg^\]!V~��i`],f[Vgf�Z~�UZ\T[V�êr}�V�kOdyu�W(��ë=i`],dyf�Zod�aoW,a�asY�u5V£}�WgptZ\Vg^XZ\T[V¦à�^|asZou¦W(f7Z\d{a�a\W�b�],^|}²�×q�],^Vg�[W(u5i[�eV��7Z\T�VX°�5×f7Y�uX��V~^;�jd{aH^�Vgi�^�V�asVgf7Z\V£}¦�7x�Z\T�VoZ�T�^\V~VgzÎ�y],f�n¤W(^�^|WgxNm\nMÅo3p¸Åo�q�Åsr7�;®C°�5âgVg^�]od{aU^�Vgi�^\V£asVgf7Z\V�}X��x5Z�T�V�Z�bU],zt�e]f�n¤W(^\^rWgx`m�p¸Å�o3p$Åtr��

«Îpca�Y��¦kOdeVgf7Z;u5Vgu5]^\xXd{a_WgwW(dy�{W(�[�eV���Z�T�Vou�W���dyuoY�u i[^\V�kOd�asdy],f!�eV~w�Vg��pt],^­°�5�f�Y�uX�`Vg^|acd{a�W(i�zi�^�](�7deu¦W(Z\V~�ex�µ©=u5dy�e�edy],f�}�dyn,deZraO�XSUT�VX�edyu5deZ�def�n�p�WkOZ\]^¨pt],^�Z�T�d{aHi[^\V�kOd�asdy],f��eVgw�Vg�*d�a_Z\T�V¤W,kgk?Y�^|WkOx](p�kgW(��kOY��{W�Z\dy],f`aUdyf�Z\T[V�q»q0SUzÎ��W,asV£}�ujY��yZ\dyi��ed�kOW�Z\de]fj^�],Y�Z�def�Vß�c¯UVgx�],f�}=WXkOVg^�Z|W�def��eVgw�V~�%��^�],Y�f�}�def�nZ\T[V5}�]Y����yVji�^�V�kOd�asde]f¥^�V�asY[�eZ|a_]�p;Z\T�Voà`f`W��Uq»q0S´Z�]�f�V�W�^\V�a�Z�def7Z\VgnVg^�d{a_f�]��y],f�nVg^�^\Vg�yd{W����eV���asVgVasV£kOZ\dy],f�µ��`Vg�e]�b_�|��SUT�V�u�W���dyujY�uE}�x7f`W(u5d�k¡^rW(f�nV�]�p$°�53f�Y�uX�`Vg^|a$d{acW���]Y�Zo�~©<u ÿ /tv A�AwA v A�A�A �

®�°�5U¢�f7Y�uX��V~^0d{a$^\Vgi�^�V�asV~f�Z�V�}jWa�Z�bU]ÛkO],f�asV�kOY[Z\dew�V;°�5�f7Y�uX��V~^|aO�bcT�d{k|T5W�^\V_Z�T�V;^\V�W��*W(f�}deu¦W(n,dyf`W(^�x�i`W�^\Zra¨](p·Z\T�V¤kO]u5i��eV~�=f7Y�uX�`Vg^g�o®xFy5$¶�f�Y[uj�`Vg^;d{a�W=i�W(de^�m.z{oO|br7��bcT�Vg^�V�z!d�a¨W}�]Y����eVoi[^\V�kOd�asdy],f!a�kgW(��W(^�W(f`}�|�d{a_W�f!def7Z\VgnVg^g�;«%Z_^�Vgi�^\V£asVgf7Z|a�z~}9��}�}=|��`SUT[V�asVEFy5$¶�f�Y[uj�`Vg^raW(^�V_Y`a�VOptY���dyf5uXY��eZ�dei��yVUi�^�V�kOd{a�de]f5W�i�i��ed�kgW(Z�de]f`aUZ\]­^\Vgi�^�V�asV~f�Z�f�Y�uX�`Vg^|aMZ\T`W�Z;}�]of�],Z�^\V���Y�dy^\V;T�denTi�^�V�kOd{a�de]f5��Y�Z�u�WgxoT`Wgw�V_�{W�^\n,V�Vg��i`]f�Vgf7ZU^|W�f�n,V£aO��®Fy5$¶�âgV~^\]�d�aU}�V~f�],Z�V�}j�7xjZ�T�V_i`W�de^Om�p$ÅB��peop�r��

SUT�d{aX}�V�k?d{asdy],f�Z\]��`W,a�V�Z\T[V�i`WkmlW(nV�]f×�`]�W�Z\def[n�i`],def7Z¤}�W(ZrW�}�Vg^�dew�V�a_pt^\],u Z�T�V=p�WkOZjZ�T`W(Z�`]ßW(Z\dyf�n3i`],def7Z�i`Vg^spt]^\u�W�f`kOV�d�aj�`V�kO]u5def�n�Z\T[V!i�^\dyf`kOdei�W(�_Vgu¤i�T`W,a�d{ao],f)W(�yu5]�a�Z5W��e��W}�wW(f`kOV£}a\k?deVgf7Z\dÚà²k�kO]u5i�Y�Z�Vg^|a?��pt^�],uvbU],^�l�a�Z|W�Z\de]f`a¨Z�]�T�denT�zÎV~f`}!asY�i`Vg^rkO],u¤i�Y�Z\V~^|aO�ÛSUT�d{aHd�aHi`W�^\Z\d�kOY���W(^\�yxZ\^�Y�V�]f�¢$^|Wgx�a�x�a�Z\Vgu¦aO�UbcT�V~^\V�Z�T�V�T�W(^|}7bcW(^�V!def`a�Z\^�Y`kOZ\dy],fóa�VgZ|aX}�]�f�]Z�Vgw�Vgf3def`k?�eY`}�V�ç����[deZdef7Z\V~n,Vg^­ujY��yZ\dyi��edykgW�Z\de]f!],^X}�dyw�d�asdy],f�dyf`asZ�^\Y`kOZ�de]f`a�� a�Y`kmT�],i`Vg^|W�Z\dy],f`aoujY�asZ��`V5i`Vg^�pt],^�u5V�}¥�7xà`^rasZ�kO]f�w�V~^\Z\dyf�noZ\T[VXW(^\nY�u5Vgf7Z|aUZ�]j�`]ßW(Z\dyf�n�W(f`}�Z�T�Vgf���x�Y`a�def�n5Z�T�V��`]ßW(Z\dyf�n5i`],dyf�Z;ptY�f`kOZ�de],f�W(�Y�f�dyZ|a?� ¯cWasdyf�n3°�5$q �_§ ]f �`]ßW(Z�def�n�i�]def7Z�],i`Vg^|W�Z\dy],f`a5T`Wa=Z\T[V�W,}�}�dyZ\dy],f`W��¨�`Vgf[VOà`Z�Z\T`W�Z�deZi`Vg^\u¤deZ|a$w�dy^\Z�Y`W(�y�exXY�f�dew�V~^|a\W���i`],^�Z|W���de�ydeZ�xjdyf�Z\T�V�^\V£asY��yZ\def[noi�^\]n,^|W�uvkO]7}�V��

SUT�Vg^�Vcd{a0],f�V�W,}[}�deZ�de],f�W(��^�V�W,a�],f5Z�T`W(Z$Z\T[Vcdeu5i��yVguXVgf�Z|W�Z\de]f�d{a0�`W,a�V�}o],fo�`]�W�Z\def[n¨i`]def7ZUW�^\dyZ\T�zu5VgZ�d{k,�`W�f`}!Z\T`W�Z¨Z�T�Voi`WkmlW(nVju¦W£x�W�i�i`V�W(^­Z\]��`Vo],i�Z�deu5dyâgV�}jpt],^­asx[asZ�Vgu�ac�`W,a�V�}!],f�w�V�kOZ\]^_],^ª;«r¬[¢�i�^�]7kOV�a\a�],^raO��SUT�d�aÝd�a_��V£kgW(Y`a�VjV~��kOV~i�ZHpt],^­Vg�7Z\^\V~u5Vg�ex¤T�denT¥�yVgw�Vg�{ac](p·i�^\V£kOd{a�de],f��Îd��íV��­Z\Vgf`a](p­Z�T�],Y`a�W(f`}[a¦]^ju¤de�e�yde]f`a¨]�po}7den,dyZ|a|�|�UZ�T�Vg^\V�d{aof�],Z¦W¥n,^�V�W(Z�}7V�W(�;](p��y]�bczÎ�yVgw�Vg�ci`W�^|W(�y�eVg�yd{a�u defuXY��eZ�dei�^�V�kOdyasdy],f¤kgW(��kOY��{W�Z\dy],f`a?�USUT7Y`acVg��k?Vgi�Z�pt]^Hu¤]7}�V�asZ�zÎ�yVgf�nZ\T�w�V�kOZ�],^|acW�ZHZ�T�V��`W,a�V��yVgw�Vg�%��uXY��ezZ\dyi�^\V£kOd{a�de],f�W(i[i��ed�kgW(Z�de],f�a�f�VgV�}¥Z�]!�`V=i�W(^|W��e�yVg�edyâgV�}�W(ZXW�T�dyn,T�Vg^­�eVgw�V~�%��q�]^oVg�[W(u5i��yV��*d p;]f�V�d{ai`Vg^spt]^\u5dyf�nXkO]u5i�Y�ZrW(Z\dy],f`acbcdeZ�T!Wju¦W(Z\^�de�X](p$uXY��yZ\dei[^\V�kOd�asdy],fXf�Y�uX�`Vg^|a?��deZ;d{aU�ydel�Vg�yxjZ�T`W(Z_i�W(^|W��ez�eV~�ed{a�u�kgW�fo��VcV~��i��y],dyZ\V�}­W(Z0Z�T�VU�yVgw�Vg��](p²^�](b;a0]^$kO],�yY�u5f`a�]�p²Z\T�Vcu�W�Z\^�de�²�*SUT�d{a»asY�nn,V�a�Z|a0Z\T`W�Z$Z\T�Vi�^�VOptVg^\^�V�}5W�^|k|T�deZ�V�kOZ\Y[^\Vcpt],^cZ\T[V_i`W(^rW(�y�eVg�²i�^\]7kOV£a\asdyf�no](p»uXY��eZ�dei�^�V�kOdyasdy],fXW(i[i��ed�kgW(Z�de],f�aUd{aUWo°!«�°�FW(^�^|WgxX](pMw�V�kOZ�],^0]^cª;«\¬�¢�i�^�]7kOV�a�as],^raO��SUT�Y�a�Z\T[d{aUk?]7}�VHb·W,aUZ�T�Y`a0bc^�deZ\Z�VgfXbcdeZ\T¦asY`k|T5W­kO],u¤i�Y�Z\V~^u5]7}�V~��def�u5dyf`}��

°�5$q �_§×^\]Y�Z\dyf�V�a$W(^�V_WgwW(dy�{W����eVcZ�]�i`Vg^spt]^\uCZ�T�VUpt],Y�^��`W,a�d{k;W(^�deZ\T[u5VgZ\d�k0],i`Vg^|W�Z\dy],f`a$��V~Zsb�VgVgf°�5´f7Y�uX�`Vg^|a?�BZ\]�k?],u5i`W�^\V�°�5�f�Y[uj�`Vg^raO�BZ�]!i�^\]7}7Y`kOV�Z�T�V5dyf�Z�Vgn,Vg^ÛW(f`}�pt^|WkOZ\dy],f`W��ci`W(^�Z|aO�$Z\]i�^�]7}�Y`kOV¤W5^|W(f�}�],u °�5 f7Y�uj�`Vg^�W(f�} Z�]=i`Vg^�pt],^�u ��def`W�^\x!Z�]�}7V�kOdeu¦W(�MW(f�}�}�V�kOdyu�W(�*Z�]���dyf`W(^�xkO]f�w�Vg^rasdy],f*� Ù Z\T�V~^5^\]Y�Z\dyf�V�aoi�V~^spt],^�u ]i�V~^|W(Z�de]f`a5��V~Zsb�VgVgf�Fy5$¶ f7Y�uX��V~^|a�],^¤��V~Zsb�VgVgf�°�5

ç

Page 7: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

W(f�}�Fy5$¶ f�Y[uj�`Vg^raO�$bcT�d{k|Tóa\Wgw�V�aoZ\dyu5V�kO],u5i�W(^\V£} bcdyZ\T�i`Vg^�pt],^\u¤def�n�Z\T�V£asV!],i`Vg^rW(Z�de],f�a¦bcdyZ\TZ\T[V�ptY��e��°�5C^\]Y�Z\dyf�V�a?� ¬�],u¤V�T�dyn,T�Vg^��yVgw�Vg�c^\]Y�Z\dyf�V�a�as]^\Z�°�5Cf�Y�uX�`Vg^|a � i`Vg^�pt],^\u k?],u5i��yVg�W(^�deZ�T�u5VgZ�d{k � kO],u¤i�Y�Z\V�a\��Y`W�^\V_^�]�],Z|a?�`kOY��`V;^\]�],ZraO�c�`zÎZ�T5i`](b�Vg^|a?�j�`zÎZ�T5^\]�]Z|aO�`W�f`}�� � VgwW(�eY�W(Z\V�Z\T�VptY�f`k?Z\de]f`acVg��i-���y],n��-kO]�a?��a�def*�*k?]�asT-��a�def�T*�`def7w�Vg^rasV­kO]�a�W(f`}!a�def � à`f`}�Z�T�V�^�V�W(�M],^�k?],u5i��yVg�X^\]�],Zra](pÝi�]�ex7f�],u¤d{W(��a � W(f`}�à`f`}�def7Z\V~n,Vg^­^\Vg��W(Z\dy],f`a�dyf3^\V�W��cw�V�kOZ\]^|a?��q�],^Xu�W(f7x!](pÝZ\T�V�a�V5ptY�f`kOZ�de],f�aO��`],Z�T¥�`Wasd�k�W(f�}!W,}�wW(f�kOV�}!w�Vg^|a�de],f�aHW�^\VoWgwW(dy�{W����eV���SUT�VXW,}7w,W�f`kOV�}�^�],Y�Z�def�V£aHVgu5i��y]�x5W}�wW(f`kOV£}W(�yn,]^\deZ�T�u�a�asY�dyZ|W(�[�eV_pt],^;Vg�7Z\^|W�T[den,T�i�^�V�kOd�asde]f�kO],u5i[Y�Z|W�Z\de]f*�

¢$],u5i[Y�Z|W�Z\de]f`aU],f��{W�^\n,V�dyf�Z�Vgn,Vg^rackgW(f��`V�V��¦kOdeVgf7Z\�yxoi`Vg^spt]^\u5V�}XY`asdyf�noZ\T�d�aUi`W,k|lW(nV��7x5a�VgZ\zZ\dyf�n�Z\T�V;bU]^\l7def�n�i�^�V�kOd�asde]fo�eVgw�V~��Z�bU]�]^�Z�T�^\V~VHb�],^|}[a�T�dyn,T�Vg^»Z\T`W�f5Z\T�V;�{W�^\nV�asZ$def7Z\V~n,Vg^0Z�T`W(Z�bcde�y��`V_Vgf`k?],Y�f7Z\Vg^�V�}��Îdef�kO�eY`}7def�n­i�^\]7}�Y�kOZ|a|�|�$SUT�V�a�V_Vg�7Z\^rW¨bU]^|}�aU]�pMi�^\V£kOd{a�de],f¤i�V~^\u5dyZ$W,kgk?Y�^|W�Z\V_dyf�Z�Vgzn,V~^U}7dew7d{asdy],foZ�]¨�`V;i`Vg^spt]^\u5V�}²�(Y`a�def�nÛW_ujY��yZ\dyi�^\V�k?dea�de]fÝ��]�W(Z�def�n­i`],def7Z�}�dew7d{a�de]fo^\],Y[Z\def[VUpt],�e�y]�bUV�}�7x�W¤kgW(�y�*Z\]5Z�T�V�^�],Y�Z�def�V­Z\T`W�Z_i�^\]7}7Y`kOV�aHZ�T�V�dyf�Z�Vgn,V~^_W�f`}¦pt^rW,kOZ�de],f�W(�0i`W�^\ZraH](p�W�f�°�5 f7Y�uX�`Vg^g�SUT�Vg^�V�d{acf�]jb·W,a�Z\V�}�kO]u5i�Y�ZrW(Z\dy],f�bcT�Vgf�Z\T�V­WkOZ\Y`W��0a�deâgV�](p�W�f�def7Z\V~n,Vg^;W�^\n,Y[u5Vgf7ZUd{aUuXY`k|T5�eV£a\aZ\T�W(f�b�],^\l7def[n=i[^\V�kOd�asdy],f!�eV~w�Vg�%�²asdyf`kOVXZ\T�VX°�5$q �_§#^�],Y�Z�def�V£aÝ]f��ex!i`Vg^�pt],^�u W(^\dyZ\T�u¤VgZ\d�k¨],f�Z\T�VW,k?Z\Y`W��Masdeâ~V�aU](p$dyf�i�Y�Z;}[W(Z|W7��*Ê SHÏ`PgN�Q�KMÍtÌÎÍ{Nta�Q�Ð��9�UÕ7LON�ÍtÐ�i

®_a_u5Vgf7Z\dy],f�V�}�V�W(^��edyVg^g��]f�V¤}�d{a�Z\def[n,Y�d�asT�dyf�n5ptV�W(Z�Y�^\VX](p·Z\T�V¤°�5$q �_§#i`WkmlW(nVjd�a_deZ|a_i`],^�Z|W�z��dy�edeZ�x���SUT[VXasZ|W�f`}�W�^|}¥w�Vg^rasdy],f�]�p;°�5$q �_§�asT�]Y��{}!^\Y[f�kO]^\^�V�kOZ\�yx��`bcdeZ\T[],Y�Z�W��eZ�Vg^|W�Z\de]f*�*],f�W(f7xkO]u5i�Y�Z�Vg^UbcdyZ\T�Wjq�]^\Z\^rW(f�z��<�ÛkO]u5i�de�yVg^$Z\T`W�Z_a�W(Z�d{a�à�V�aUZ\T�V_pt]�e�e]�bcdyf�no^\V���Y�dy^\Vgu5V~f�ZraO¹�,�;SUT�V_�`]ßW(Z�def�nXi`],def7Z�W(^\dyZ\T�u¤VgZ\d�kUT`W,a;W��[def`W�^\x!�t],^;T�Vg�[W,}�V�k?deu�W��Î�*^rW,}�dy������;SUT�V�Z�^\Y�f`k~W(Z\dy],f�](p¸Wj}�]Y����yV¨i[^\V�kOd�asdy],f�wW(�eY[V¨f[],ZcVg�[kOVgV�}7def�nÛ� �BA d�ackO],^�^\V�k?Zg����;SUT�V¦}�V�kOdyu�W(�yzÎZ�],zt��def`W�^\x�kO]f�w�V~^|asdy],f�](p�W!}�]Y����yV5i�^\V£kOd{a�de],f�kO]f`asZrW(f7Zg�0bcT�d�kmT�d�a¨VgdyZ\T�V~^�Wi`]�bUVg^c]�p$Z�bU]of�]ZHV~��kOV~V�}�def[n�� , A ]^HZ�T�V_pt^|W,k?Z\de]f��-1��7��d�aUVg�[W,kOZ~�

���;SUT�VÛW,}�}7deZ\dy],f*�`a�Y���Z�^|W,k?Z\de]f*�`ujY��yZ\dyi��ed�kgW(Z�de],f-��Z�^\Y�f�kgW(Z�V�}�}�dew7d{a�de],f-�`W(f`}�Vg�7i`],f�V~f�Z�d{W(Z�de]f=]�pdyf�Z�Vgn,Vg^�wW(^\d�W(���yV�aU],^;k?],f`a�Z|W(f7Z|a?��bcT[Vg^\V�Z\T[V�W(^�n,Y�u5V~f�ZracW(f`}5^\V£asY��yZ|ac}�]Xf�],ZcV~��kOV~V�}5� , A defW��`as]�eY�Z�V�wW(�yY�V���i[^\]7}�Y`k?V�Vg�[W,kOZ�^\V�a�Y��eZraO�

µ��;«%f7Z\VgnVg^|a$Y�i�Z\]X� ü / W�^\V�^\Vgi[^\V�a�Vgf�Z�V�}jVg�[W,k?Z\�exXWaHa�def�n�eV_i[^\V�kOd�asdy],fj�`]ßW(Z�def�nXi`],def7ZUf7Y�uX�`Vg^|a?�ç��;SUT�V�W}�}�deZ�de]f*�casY[��Z\^rW,kOZ�de],f�W�f`}�uXY��eZ�dei��yd{kgW�Z\dy],f!](p¨}�],Y��[�eV�i�^\V£kOd{a�de],f3wW(^�d{W����eV�a�]^5k?],f�za�Z|W(f7Z|a?�HbcT�V~^\V�Z�T�V�W(^�n,Y�u¤Vgf�ZrajW�f`}×^\V£asY��yZ|a5W�^\V�bcT[],�eV!f7Y�uX�`Vg^|a�f�]Z�Vg��k?VgV�}�dyf�n�� � , defW��`as]�eY�Z�V�wW(�yY�V���i[^\]7}�Y`k?V�Vg�[W,kOZ�^\V�a�Y��eZraO����;SUT�Vo^�V�asY[�eZ|ac](pk}�}eo����j�GoO���d�GoO���d�:n<peo��*��� o3���C|��`W�f`}�z���z�|c�obcdeZ�T!}�]Y����yVoi�^\V�k?d{asdy],fW�^\n,Y[u5Vgf7Z|aXW(^\VhkO],^�^\V�k?Z5Z\]�bcdyZ\T�dyf×]f�V!i`W(^�Z5def�� þ / � �ci�^�](w7d{}7V�}�Z�T�V�W(^�n,Y�u5V~f�ZraoW(^\V!]�p^�V�W,a�],f`W����eVÛasdeâ~V�W(f`}�f�],Z�kO�y]�asV�Z\]¤asdef[n,Y���W(^\dyZ\dyV�aO�

SUT�V;W(Y[Z\T�]^�d�aBf�]ZUWgb·W(^\Vc]�p-W(f7xoasV~^\de]Y`a$a\kOdyVgf7Z\d à�k�k?],u5i�Y[Z\Vg^»asx[asZ�Vgu�defoY`a�VcZ\]7}�WgxoZ\T�W(Z0p�W(dy�{aZ\]¤u5VgVgZ�Z\T�V�a�Vo^\V���Y�dy^\Vgu5V~f�Z|aO�·®Hf�x¦asx[asZ\V~u �`WasV�}�]f!Z\T�VÛ«s¶$¶$¶��µ(�X�`]�W�Z\def[n=i`]def7Z�asZrW(f`}�W�^|}��bcdeZ�T5W�������dyZ�u¦W(f7Z\d{a�a\WHdyf5a�def�n�eV;i�^\V£kOd{a�de],fXW�f`}5W�µ,����deZ$u�W�f�Z�d{a�a\WHdyf5}�]Y����yVHi�^�V�kOd�asde]f��%���oW(f�}

Page 8: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

µ,���[deZ|a?��def`kO�yY`}�dyf�n�Z\T�V;T�d{}[}�Vgf5��dyZO�r��V£W,asdy�exou5V~VgZ|aBZ�T�V�a�VH^�V���Y[de^\V~u5Vgf7Z|aO�-®H�e�cF�¶·¢�é$®LHóa�x�a�Z\Vgu¦au5VgV~Z�Z�T�V�a�V_^\V���Y�dy^\Vgu5V~f�ZraO�*®H�y�²«s¯c°ìu�W(dyf�pt^|W�u5V�a$W(f�}¦b�],^�l�a�Z|W(Z�de]f`aUu5VgVgZ$Z�T�V�asV�^\V���Y�de^�Vgu5Vgf7Z|a?�¢$^|Wgxhasx[asZ\V~u�a¡u¤VgVgZcZ\T[V�asVo^�V���Y[de^\V~u5Vgf7Z|aUbcdeZ�T�}�],Y[���eVoi�^�V�kOd�asde]f!}�d�a\W����eV�}��td%�æV��_��x�Y`asdyf�n�],f��yxasdyf�n,�yVHi[^\V�kOd�asdy],f��r��i[^\]�w�d�}�V�}jZ�T`W(Z�Z\T�V�f�Y�uX�`Vg^$� ��A def5dyZ\Vgu ��d{a$^\V�}�Y�kOV�}oZ\]o� / � W(f`}jZ�T�V_f7Y�uX��V~^� � , def�deZ�Vgu ç�d�aU^\V�}�Y�kOV�}jZ�]5� / ? �

S�]­def`a�Y�^\V;Z\T�W(Z$Z\T�V£asV;^\],Y[Z\def[V�a$W(^\V;bU]^\l7def�nÛkO],^�^\V�k?Z\�exß�,W�Z\V�a�ZUa�Y�deZ�Vcd{a$WgwW(de��W(���yV��0«%Z$Vg�7Vg^|k?d{asV£aw7de^\Z�Y`W(�y�ex�W(�y�,](p�Z\T�V0^�],Y�Z�def�V£a�dyf_Z\T�V$i`WkmlW�n,VcW�f`}�kmT[V�kml[a�Z�T�V$^\V�a�Y��eZraO�MSUT�d�a�Z\V�a�Z*i�^\]n,^|W�u�d{a�Y`a�VOptY��def�deZra¨]�bcf�^\denT�ZÛW,a­W�kO]u5i�Y�Z�Vg^�asx[asZ�Vgu def7Z\V~n,^\dyZ�x�Z\V£asZg��®�aÝu¤Vgf�Z�de]f�V�}=dyf�Z\T[Vjdyf�Z�^\]7}�Y`k?Z\de]f*�w�Vg^rasde]f`aB]�p*Z\T[d{aBi�^�],n^|W(u T`Wgw�Vc],fXf7Y�u5Vg^�],Y`a*]7kgkgWasde]f`aU}7d{a\k?�e]�a�V�}�T`W�^|}�b·W(^\V�W(f�}ja�](ptZ�bcW�^\V;��Y�n�adef�a�kOdeVgf7Z\dÚà²k;kO],u5i[Y�Z\Vg^·asx[asZ�Vgu�aO��²Ê ��[MÕ�U*Ï`ÓBPO�oQ[LgÍÎR�J5P�Í{NC[MØ�Õ�N�ÍtR�]�Ë�Õ7P�Q�N�ÍtÏ`ÐBL

°�Y��eZ�dei�^�V�kOd�asde]f!W}�}�deZ�de]f�W�f`}¥a�Y���Z�^|W,k?Z\de]f�W�^\Vof�]Z­kO],u5i[Y�Z|W�Z\de]f`W(�y�ex�Vg�7i`Vgf`asdyw�VokO]u5i`W�^\V�}Z\]¤ujY��yZ\dyi��ed�kgW(Z�de],f-��}�dyw�d�asde]f*�²W(f`}�a\��Y`W(^�Vo^\]�]Z¨V~��Z�^|W,k?Z\de]f*��SUT7Y`a_asdyu5i��yV�W��en],^\dyZ\T�u¦aHa�Y���k?V�Z\]i`Vg^spt]^\u W,}�}7deZ\dy],f�W(f�}�a�Y���Z�^|W,k?Z\de]f*�!SUT�V�]f��ex�i`W(^�Z�]�p_Z�T�V�asV¤],i`Vg^|W�Z\dy],f`a�Z�T`W(Zod�a¨f�]Zodeu5uXVgz}�d�W(Z\V~�ex�kO],f�}�Y`kOdyw�V�Z\]�w�V�k?Z\],^;i�^�]7kOV�a\a�def�n�d�aH^\Vg�yV�W,a�def�n¤Z\T�VXkgW�^\^�deV�a¡pt]^_Z\T[V�à`f`W(�»^\V�a�Y��eZ~��SUT�d�a_d{a�`V�kgW�Y`asVcZ�T�Vcf�],^�u�W(�Mê|a�kmT[]�],�e�`]�x[ë¨W�i�i�^�]�W,k|TX](p²�`Vgn,dyf�f�def[n�W�Z0Z\T[Vc�{W,a�Z$kOVg�y�7W(f`}obU]^\l7def�n;pt],^\b·W(^r}d{a»WH^\V�k?Y�^|a�dew�V;�Îd��íV��*f�]f�zÎw�V£kOZ\]^\deâ£W(���yV,�`],i`Vg^rW(Z\dy],f*� Ù fXWHw�V£kOZ\]^0kO]u5i�Y�Z�Vg^*Z\T[d{aBd�a��`VgZ�Z\Vg^$}7],f�Vc�7xasZrW(^�Z\def[noW(Z�Z\T�V;�`Vgn,dyf�f�dyf�noW�f`}j^\V~�eV�Wasdef[n�Z\T[V_kgW�^\^�xo],f��yxj]f�V_k?Vg�e����W,k|l�pt],^UV£W,k|T5kOV~�e��i�^�]7kOV�a�asV�}���Hf�pt]^\Z�Y�f`W(Z�Vg�exß��deZ·kgW(f[f�],Zc�`V�n,Y`W�^|W�f�Z�VgV�}=Z�T`W(Zc]f�V­W(i�i[�ed{k~W(Z\dy],f5]�p0Z�T�d{aUi[^\]7kOV�a�aUbcde�y��^\V~�eV�WasV�W��e�kgW�^\^\dyV�aO�­SUT7Y`aHdeZ�d{aHf�V£kOV�a\a�W(^�x�Z\]�^�Vgi`V�W(Z_Z�T�d{a;],i`Vg^|W�Z\dy],f�Y�f�Z�de�»W(�y�$kgW(^�^\dyV�aHT`Wgw�V��`VgV~f¥^�Vg�eV�WasV�}²�Y`a�Y`W(�y�exX],f��yxo],f�V_]^UZ�bU]ÛW,}�}7deZ\dy],f`W���Z�deu5V�a?�M«�fXZ\T[V_^|W�^\V�kgWasV�a$bcT�Vg^�VHZ�T�^\VgVÝW(i�i��yd{kgW�Z\dy],f`a0](p»Z\T[d{a],i`Vg^rW(Z�de],f�W�^\V�f�],ZXa�Y`kgkOV£a\a�ptY[�Udef�^\Vg�yV�W,a�def�n�W��e�ck~W(^\^�deV�a?�BZ�T�V�W(Y�Z�T�],^~îïa�i�^�],n,^rW(u ^\V£as],^�Z|a�Z�]!Z\T�Va\k~W(�{W�^�ê|a\k|T�]�]�e�`]�x�ë�u5VgZ\T[]7}�� Ù f�a\kgW��{W�^_],^­ª;«r¬[¢�kO]u5i�Y�Z�Vg^|a?��]f��ex!Z�T�V!ê|a�kmT�]�]�e�`]�x�ë�a\k|T�Vgu5Vd{aUY�asV�}��

®�l�Vgx;kO],u¤i�]f�Vgf7Z�]�p`WcT�denT�zti�V~^spt],^�u�W(f�kOV0uXY��eZ�dei�^�V�kOdyasdy],f;W(^�deZ�T�u5VgZ�d{kMasx[asZ\V~u d�a�Z\T�V$uXY��eZ�dei��yx],i`Vg^rW(Z�de],f-��a�def`k?Vcdef�^�V�W(��W(i�i��yd{kgW�Z\dy],f`aBZ�x7i�d{k~W(�e�yx�W�asdyn,f�dÚà²kgW(f7ZBpt^rW,kOZ�de],fo]�p²Z\T�VcZ�],Z|W���Z\dyu5V$d{a0a�i`Vgf�ZT�Vg^�V���SUT�V�W(Y�Z�T�],^~îïa��`Wasd�k¦uXY��yZ\dei[�ex�^�],Y�Z�def�Vß�0bcT�d{k|T�d{a�Y�asV�} pt]^ju¤]7}�V�asZ­�eVgw�V~�{a_](p�i�^\V£kOd{a�de],f-�Vgu5i[�e]�x�a`WckO]f�w�V~f�Z�de],f�W(��êra\k|T�]�],�y�`](x[ë;a\k|T�Vgu5V��?W��eZ\T[],Y�nTokgW�^\V$T`W,a*�`VgVgf�Z|W�l�Vgf_Z�]Hdyf`asY�^�V0Z\T�W(ZMZ\T�V],i`Vg^rW(Z�de],f�aBW�^\V$w�V�kOZ�],^\dyâ�W(�[�eV��*®�asdenf�d à�kgW(f7ZMa\Wgw7def�ncd�a*W,k|T�deVgw�V£}¡�7xHf[],ZM^\Vg�yV�W,a�def�n�Z\T�V�kgW�^\^\dyV�a�WgptZ\Vg^V�WkmT�w�V�kOZ�],^*uXY��eZ�dei��yxc],i`Vg^rW(Z\dy],f*���Y�ZMdef`a�Z\V�W}¨bcW�deZ�def�n;Y�f7Z\de�ß�,�_a�Y`k|T�w�V�kOZ�],^*uXY��eZ�dei��yxU]i�V~^|W(Z�de]f`aT`Wgw�V��`VgV~f!kO]u5i��eV~Z\V�}!�\�~çj],f�¢$^rWgx�a|�|�_®;f�W,}�}�dyZ\dy],f`W��0a�W£w7def[n5d{a;W,k|T�deV~w�V�}5��x�kO]u5i�Y�Z�def�nX],f��yxZ\T[VÝà�^|asZ;T`W�� p»](p»Z\T�V�uXY��eZ�dei��yd{kgW�Z\de]f!ê\i7x�^rW(u5d�}�ë��

SUT�Voa�kmT[]�],�e�`]�x�a\k|T�Vgu5V;pt],^;ujY��yZ\dyi�^\V�k?dea�de]f5ujY[�eZ\dyi��edykgW�Z\dy],fXT`W,a_k?],u5i�Y[Z|W(Z�de]f`W(�MkO]u5i��yVg��dyZ�xi�^�],i`],^�Z\de]f`W(�$Z�]�� ü �`bcT�Vg^�V4�¥d�a¡Z�T�Vof�Y[uj�`Vg^c]�pUb�],^r}�aH],^Ý}�dendeZ|a?�_q�],^�T�denT�Vg^;i�^\V�k?d{asdy],f��eVgw�Vg��aO�],Z�T�Vg^Mu5],^�V�as],i[T�d{a�Z\d{k~W(Z\V£}¨Z\V£kmT�f[d{��Y�V�a�T`Wgw�VcW;asdyn,f�dÚà²kgW�f�Z»W,}�wW�f�ZrW(n,Vß��bcdyZ\TÛkO],u5i[�eVg�7deZ�x;W,aM�e]�b3W,a�H�y],n��;�e],n$�y],n��M�$SUT�V_T�d�asZ�],^\xX](p»Z\T[V�}�Vgw�Vg�y],i�u¤Vgf�ZM](p¸W,}7w,W�f`kOV�}5uXY��eZ�dei�^�V�kOdyasdy],fouXY��eZ�dei��ydykgW(Z�de],fW(�yn,]^\deZ�T�u�aobcde�y�Hf�]Z5�`V!^\Vgw7deV~bUV�}�T�Vg^�V���SUT[V�def7Z\V~^\V�a�Z\V�}3^\V�W}�Vg^Xd{aj^�VOptVg^\^�V�}�Z\]��_f7Y�Z\T�åæ�(�è%�¯UV�kgW�Y`asV!]�pXZ\T�V�}7d��¦kOY��eZ�x3](pXdyu5i��yVgujV?f7Z\def[n!Z\T�V�a�V�W}�wW(f`k?V�} a�kmT[Vgu5V�aXW(f`}óZ\T�V!bcd�}�V�asi[^\V�W}u5d�a\kO]f`kOVgi�Z�de]f5Z\T`W�Z_Z\T[V�asVÛW(�en],^�deZ\T[u�acW(^�V�f�]Z�asY�dyZ|W����eV_pt],^¤ê\i�^rW,kOZ�d{kgW��{ëXW(i�i��yd{kgW�Z\dy],f*�`Z\T�V~x�W(^�V^|W�^\Vg�yx�Vgu¤i��e]�x�V�}��-q�]^0Vg�[W(u5i[�eV���f�],f[VH]�p*Z\T[Vcbcd{}�Vg�yx�Y`a�V�}oujY��yZ\dyi�^\V�k|d{a�de]f¨i�W,k|l,W�n,V�a0Vgu¤i��e]�x[aBW�fê|W}�wW(f`k?V�}�ë=uXY��yZ\dei[�ed{k?W(Z�de]f�W��en],^\dyZ\T�uh��Z\]�Z\T[V5W�Y�Z\T�]^gîöaÝl7f�]�bc�eV£}�n,V�� Ù f[Vodef`a�Z|W(f�kOVjbcT[Vg^\VXW�f

ø

Page 9: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

W,}7w,W�f`kOV�}�ujY��yZ\dyi��ed�kOW�Z\de]f�Z�V�kmT[f�d{��Y�VobcWa¨Vgu¤i��e]�x�V�}�d{aXå �C�gè%��®;f�],Z�T�Vg^�d{a�¬��y](bcdyf`asl7d%îöa�asV�W�^|k|T�V�apt],^;�{W�^\nV�°�V~^|asV~f�f�V_i�^�deu5V;f7Y�uj�`Vg^ra_åæ�,³(è��

SUT�V�W(Y�Z�T�],^oT�W,a�deu¤i��eVguXVgf7Z�V�}!W=f7Y�uX��V~^¨]�p_Z�T�V�a�V�a\k|T�Vgu5V£aO�*def`k?�eY`}�dyf�n�wW(^\d�W(Z�de],f�a�](p�Z\T�V��W(^rW(Z|a�Y��`W�zÎÞ�dyf�],n^|W,}XW(�yn,]^\deZ�T�u)W(f`}­a\k|T�Vgu5V�a7�`W,a�V�}¨]f¨Z�T�V�}�d{a�kO^\V~Z\V»q�]Y�^\dyVg^*Z\^rW(f`a%pt],^�uC�BF_q»SH�def¤w,W�^\dy],Y`acf�Y[uj�`Vg^0à`Vg��}�a_åæ�(�è%�$¯cW,a�V�}5],f�i`Vg^spt]^\u�W�f`kOV�asZ�Y`}�deV£aU](p»Z\T�V�a�V_deu¤i��eVguXVgf7Z|W�Z\de]f`aO�Z\T�VW(Y[Z\T�]^HT`Wa¡pt],Y[f`}=Z�T`W(Z;WXa\k|T�Vgu5V;�`WasV�}�],f!k?],u5i��yVg�EF_q0Sca;W(i[i�V£W(^|a;Z\]X��V�Z�T�V�u5]ßasZ�VO±²V�kOZ\dyw�VW(f�} V��¦kOdyVgf�Zcpt],^�u5]7}7Vg^\f�a�kOdeVgf7Z\dÚà²k�k?],u5i�Y[Z\Vg^�asx[asZ�Vgu�aO�­SUT�V¤kO],u¤i��eVg��F_q0S#W�f`}¥Z�T�Vodef7w�Vg^|a�VkO]u5i��eV~�EF_q0S ]�p0Z�T�V­asV���Y�Vgf`k?V � ��� � A û � ÿ û � ü ûg÷~÷g÷gû �j� þ7ÿ ��W(^�V�n,dyw�Vgf5�7x� $ � � �!� � þ7ÿ#��% A � � ñ þ7üB 

� ��$.¡ �� þ7ÿ$ � � �!� �¢ � þ�ÿ#��% A � � ñ üB 

� ��$.¡ �£�VgZy¤Û� � ût¥��$}�Vgf[],Z\V�Z�T�V­kOde^rkOY��{W�^ckO]f�w�]�eY�Z�de]f=]�p$Z\T[V�a�V���Y�Vgf`kOV£a � W�f`}3¥`¹

¤ $ � � ût¥��¦� � þ�ÿ#��% A � � ¥ $ þ �bcT�Vg^�V�Z\T�VÛasY��`a�kO^\dyi�Z ' +¨§Xd{aUZ�]j�`V�dyf�Z�Vg^\i[^\VgZ�V�}5W,a ' +�§�ò�¢ d p ' +�§Xd{acf�Vgn�W�Z\dyw�V��$SUT�Vgf�Z\T�VkO]f�w�]�eY�Z�de],f¤Z\T�Vg]^\Vgu pt],^�}�d{a�kO^\VgZ�V�asV£��Y�V~f`kOV�a�asZ|W�Z\V�acZ\T�W(Z�¤å©¤o� � ût¥���èª� �j� � ���j�«¥��],^;Vg�7i�^\V£a\asV£}5W(f�]Z\T�V~^Hb·W£x¤Û� � ût¥��¬� � þ7ÿ å­�X� � ���X�B¥��%è

SUT�d{aM^\V�a�Y��eZMd{aMW(i�i[�ed{k~W(���yVUZ\]�ujY��yZ\dyi�^\V�k?dea�de]f_ujY[�eZ\dyi��ed�kOW�Z\dy],f_dyfoZ\T�V$pt],�e�y]�bcdef�n;bcWgx��e£�VgZ � W(f�}¥5�`VE��zt�e],f[n=^�Vgi�^�V�asVgf7Z|W�Z\dy],f`ac](p�Z�bU]5uXY��yZ\dei[^\V�k|d{a�de],f¤f�Y�uX�`Vg^|a_�tbcdeZ�T�],Y�Z�Z\T�VXa�den,f!]^_Vg�7i`],f�Vgf7ZbU]^|}�a|�|�!¶0�7Z\Vgf�} � W(f`}®¥!Z\]!�yVgf�nZ\T��<�×�7x�W(i�i`Vgf`}7def�n¯�×âgV~^\]�V�a­W(Z�Z�T�V5Vgf�}¥](p;V�WkmT-��SUT�V~fZ\T[V_ujY[�eZ\dyi�^\V£kOd{a�d ]fji[^\]7}�Y`k?Z±°�](p � W�f`}�¥��7Vg�[kOVgi�Z$pt],^U^�Vg�eV£W,asdyf�n�Z�T�V­kgW(^�^\dyV�aO�7kgW�f=�`V�bc^\dyZ\Z�Vgf�W,apt],�y�e]�b;aO¹ ° A � � A ¥ A° ÿ � � A ¥ ÿ ò � ÿ ¥ A° ü � � A ¥ ü ò � ÿ ¥ ÿ ò � ü ¥ A÷

÷° ý(þ�ÿ � � A ¥ ý(þ�ÿ ò � ÿ ¥ ý(þ�ü ò�÷g÷g÷�ò � ý(þ�ÿ ¥ A÷÷° ü%ý(þ , � � ý�þ7ÿ ¥ ý�þ7ü ò � ý(þ�ü ¥ ý(þ7ÿ° ü%ý(þ�ü � � ý�þ7ÿ ¥ ý�þ7ÿ° ü%ý(þ�ÿ � ©

³

Page 10: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

«%Z;kgW(f�f�]�b��`Voa�VgVgf�Z\T�W(ZcZ\T[d{aUuXY��eZ�dei��yd{kgW�Z\de]foi�x7^|W�u5d{}Xd{aUi�^�V�kOd{a�Vg�exoZ�T�Vok?],f7w�],�eY[Z\de]f5](p¸Z\T�VZ�bU]�asV£��Y�V~f`kOV�a � W�f`}®¥`�BbcT�Vg^�VO¢ � �<�M��«%f�],Z�T�Vg^�b�],^r}�aO�MZ\T�VXujY[�eZ\dyi��ed�kgW(Z�de]f�i7x�^rW(u5d�}�kgW�f�`V_],�[Z|W(dyf�V�}j�7xoi`Vg^spt]^\u5dyf�n�Z�bU]¨pt]^\b·W(^|}�F_q»ScaO��]f�V_w�V�k?Z\],^�kO]u5i��yVg��ujY��yZ\dyi��ed�kgW(Z�de],f-�,W�f`}j],f[Vdef7w�Vg^rasVkF_q0S_��V£W,k|T5](p»�eVgf[n,Z\T�¢¬�ó�=�B� Ù f`kOV_Z�T�V_dyf�w�Vg^rasVkF_q0S�^\V�a�Y��eZraUT`Wgw�VH�`VgV~f�W}(Ü�Y`a�Z\V�}5Z\]Z\T[VHf�V£W(^\V£asZUdyf�Z�Vgn,V~^0Z\]ÛkO],u5i`Vgf�a\W(Z�VUpt],^·W(f7xof�Y�u¤Vg^\d�kgW(�7Vg^\^�],^~��Z�T�Vcà`f`W(�²ujY[�eZ\dyi�^\V£kOdyasde]f�i�^�]7}�Y`kOZu�WgxX��V�]��Z|W�def�V�}���xXu5Vg^�Vg�exo^�Vg�eV£W,asdyf�noZ\T[V�k~W(^\^�deV�a�W,a;}�V�a�kO^\dy��V£}=W��`](w�Vß�

SUT�VXkO]u5i�Y�ZrW(Z\dy],f`W��0a�Wgw�dyf�n�a�W(^�d{a�V�a¡pt^\]u Z�T�V�p�W,kOZ�Z\T`W�Z�kO],u¤i��eVg��F_q0ScaHu�Wgx�](p·kO]Y�^|a�Vo�`VV�kO]f�],u¤d{kgW��e�ex�k?],u5i�Y[Z\V�}�Y`a�def�n�as]u5V�w,W�^\d�W(Z\dy],f�]�p�Z\T�V�p�W,a�Z5q�],Y[^\deV~^jZ�^|W(f�a�pt],^�u ��q0q0SH�­W(�yn,]z^\dyZ\T�uh�!SUT�V�i`W(^�Z\d�kOY��{W�^Xq0q0S W(�yn,],^�deZ�T�u Y�Z�de�edyâgV�}�pt],^oZ�T�V�°�5�qe�_§ W}�wW(f`k?V�}�uXY��eZ�dei��ydykgW(Z�de],f^\]Y�Z\dyf�V�d�aH}7V�a\kO^�de�`V�}5def åí��è%��«�Z;bcWa¡à`^rasZ;i�^\]i�]ßasV�}��7x!¬�bcW�^\âgZ�^|W�Y��`Vg^_W�f`}�d{aca�],u5V~Z\deu¤V�a$kgW(�y�eV�}Z\T[V!êO¬�Z�]7kml7T`W(u¤z%S*^|W�f`asi`]�a�Vgz�¬�Z\]7k|l�T�W(u�ë�q0q0S_�-SUT�d{a_W��en],^\dyZ\T�uìptV�W(Z�Y�^\V£aH^\V�Was]f`W(���yx!T�denT!i`Vg^\zpt],^�u�W(f�kOV$],fou5]ßasZMkO]u5i�Y�Z�Vg^|a?�gdef`kO�yY`}�dyf�nHw�V£kOZ\]^MW(f`}okgWkmT[V�u¤Vgu5],^�x;asx[asZ�Vgu�aO��W�f`}�deZ»kgW�f�V�Wasde�yx�`V�u5]7}�d à�V�}jpt],^cuXY��eZ�dei��yVci�^\]7kOV£a\as]^_k?],u5i�Y[Z|W(Z�de]f=dÚp$}7V�asdy^\V�}��»q�],^cZ\T[V¨dyu5i��yVgu5V?f�ZrW(Z\dy],fXdef�Z\T[d{ai`WkmlW(nV���}7d ±²Vg^\V~f�Z�Z\V�k|T�f�d���Y�V£a�W�^\V_V~u5i��e]�x�V�}_pt],^cZ�T�V_u�W�Z\^\dy�oZ\^rW(f`a�i�]ßasdyZ\de]f�asZ\V~i�}�Vgi`Vgf`}7def�no]fZ\T[V_kO]u5i�Y�Z�Vg^»asx[asZ\V~uCW(f�}jZ\T�V;a�deâgVc]�p*Z�T�V_W�^\^rW£xß��¬�dyf`kOVcdefXZ\T[d{a0W�i�i��ed�kgW(Z�de]fjZ�T�VcZ�bU]�def�i[Y�Z|a$W(f�}Z\T[VHà`f`W���],Y[Z\i�Y�Zc]�pMZ\T�VÝkO],f7w�],�yY�Z\dy],f�W�^\V_i�Y[^\Vg�yxo^\V�W��%��W�f�W(�yn,]^\deZ�T�u d{a�V~u5i��e]�x�V�}�Z�T`W(Z·kO],f7w�Vg^�Z|aZ\T[VHi�^�],���yVgu#]�p»kO],u¤i�Y�Z\dyf�n_Z�T�V_q»q0S�]f5^\V�W��`}�W�Z|W¨Z�]�Z�T`W(Z$](p»k?],u5i�Y[Z\def[n_Z\T�V�q0q0S3],f�k?],u5i��yVg�}�W�Z|W�](p»T`W�� pMZ\T[V�asdyâgV��0SUT[d{aU^\V£asY��yZ|a�dyf�WokO]u5i�Y�ZrW(Z\dy],f`W��²a\Wgw�dyf�n�aU]�p»W(i�i[^\]���dyu�W(Z�Vg�exXµ©�i`Vg^|kOV~f�Z~�

Ù f�Vodeu5i`]^\Z|W�f�Z�}�VgZrW(dy�BT`Wa_��V~Vgf!],u5dyZ\Z�V�}jpt^\],uvZ\T�VXW��`](w�VX}7d{a\k?Y`a\a�de],f-��¬�def`k?VoZ\T�V­^|W,}7de��]�p°�5×f7Y�uj�`Vg^raUd{acVgdeZ�T�Vg^;� üsü ],^�� ü / ��Z�T�V�i[^\]7}�Y`k?Z|a � � ¥ $ þ � u¦W£x¤��VÛW,aH��W(^�n,VXW,a;� / ?�+���*W(f�}�Z\T�VasY[u ]�p»W��{W(^�n,V_f7Y�uX�`Vg^0](pMZ�T�V�a�V_i�^\]7}7Y`kOZ|ack~W(f�f�]ZU�`V�^\Vgi[^\V�a�Vgf�Z�V�}�Vg�[W,kOZ��exXWacW�ç(�o�[deZ���]�W(Z�def�ni`],dyf�ZcwW(�yY�V���f�]Xu�W�Z\Z\V~^UT�]�b�dyZUd{ack?],u5i�Y[Z\V�}��$«%f�i`W�^\Z\d�kOY���W(^g�7Z\T�V�f�V£W(^\V£asZ;def7Z\VgnVg^U]i�V~^|W(Z�de]f!W(ZZ\T[V�kO],u¤i��eVgZ�de]f!](p;Z\T[Vjà`f`W��Udef7w�Vg^rasVXq0q0SCk~W(f�f�]Zo^\Vg�yd{W����ex�^\V�kO]�w�Vg^�Z\T�V5V~��WkOZ�uXY��eZ�dei��ydykgW(Z�de],fi7x�^rW(u5d�}¦^�V�asY[�eZg��q�],^;Z\T�d�aH^\V�Was]f*��V�WkmT�def�i�Y[Z�}�W(ZrWjbU]^|}�d�a_asi��ydeZ;def7Z\]XZ�bU]XbU],^r}�a_Y�i`],f!Vgf7Z\^�xZ\]oZ�T�V�q0q»SUzÎ�`WasV�}XujY��yZ\dyi��ex­^\],Y[Z\def[V��0SUT�d�aUi`Vg^\u5dyZ|a0k?],u5i�Y[Z|W(Z�de]f`a�]�p0Y�i¤Z\]XW(i[i�^\]��7deu�W�Z\Vg�yxoµ,©u5dy�e�edy],f¤}�dendeZraUZ\]o�`V�i`Vg^�pt],^\u¤V�}5kO]^\^\V£kOZ\�yx��

«%f`kO�eY�}�V�}�defXZ\T[V_W}�wW(f`kOV£}jujY[�eZ\dyi��ex�^\],Y[Z\def[V���W(�eZ�T�],Y[n,T5f�]^\u�W��e�yxokO]u5u5Vgf7Z\V~}¨]Y�ZO�Md{a$a�],u5VkO]7}�V�Z\T�W(Z�}�VgZ�Vg^\u5dyf�V�a�Z�T�V!u�W(�7deuXY�u q0q0Sì^\],Y[f`}�](±�Vg^�^\]^g�Hd��íV���Z\T[V¥u�W���dyuoY�u }�dÚ±²Vg^\Vgf�kOV�`VgZ�bUVgV~fjZ�T�VHà`f`W��*q0q»S×^\V�a�Y��eZraUW(f�}jZ\T�V�f�V�W(^�V�asZ�def7Z\VgnVg^$wW(�eY[V�aO�[W(f`}5Z\V£asZ|a$d p-deZUd�a�n^\V�W�Z\Vg^�Z\T`W�fWXkOVg^\ZrW(dyf=^�Vg�ed�W(���yV_�eV~w�Vg�%�MSUT�d�aHkO]7}7V�k~W(f��`V­Y`asV�}�WaHWXasx[asZ�Vgu def7Z\V~n,^\dyZ�xjZ�V�asZ~�`asdef�kOVHpt],^;u5]7}�V£asZ�eV~w�Vg�{a*](p-i�^\V�k?d{asdy],f*�Z\T�Vcu�W���dyujY[u�q0q»S�^\]Y�f`}�]�±�Vg^\^�],^�asT�]Y��{}o�`V_W_^rW(Z\T[Vg^�asu�W��e�7f�Y�uX�`Vg^g�W(f�}W(f�Vg�[kOV�a\a�dew�V;wW(�eY[V¨dyf`}�d�kgW(Z�V�a�Z�T`W(Z�W�T�W(^|}7bcW(^�V�],^�kO],u5i[de�eV~^�V~^\^\]^cT`W,ac]7kgkOY[^\^\V£}��

SUT�Vc}7dew7d{asdy],f_]�p`Z�bU]�°�5=f7Y�uX��V~^|a�]�p`u5]7}�V£asZ*i�^�V�kOd{a�de]f¨d�a�i`Vg^spt]^\u5V�};Y`asdyf�n_WUp�W(dy^\�yx�asZ�^|W(dyn,T7Z\zpt],^�bcW�^|}�a\k|T�Vgu5V���S�^�d{W��U��Y�]Z\deV~f�ZraHW�^\V¤kO],u5i[Y�Z\V�}�def�}�]Y����yVoi�^\V�k?d{asdy],f*�­SUT�d�aÝnY`W(^rW(f7Z\VgV£aÝZ�T`W(ZZ\T[V¨Z�^\d�W(�M��Y�],Z�deVgf7ZUd�aUw�dy^\Z\Y�W(�e�yx5W��eb·W£x[ackO]^\^\V£kOZg�$«%f�Z\T�]ßasV�^|W�^\V­kgWasV�acbcT�Vg^�V¨]f�V�],^;u5],^�V_bU]^|}�a](p·Z\T�VX��Y�]Z\deV~f�Z�W�^\Vodyf`kO],^�^\V�k?Zg��Z�T�Vo^\V�a�Y��eZ�d{a�W(Y�Z�],u�W�Z\d�kgW(�y�ex5à`�7V�}�def�W�kO�yV�W(f7Y�i!^\]Y�Z\dyf�VXW(Z�f�]Vg�7Z\^rWokO],u5i[Y�Z|W�Z\de]f`W(�-kO]�a�Zg�

«%f=Z�T�V­W,}�wW�f`kOV�}�}�dew7d{a�de],f¤^\],Y[Z\def[V���Z\T�V­��Y�],Z�deVgf7ZU]�pG�¤W(f`}�²cd{ackO]u5i�Y�Z�V�}5Wa·pt]�e�e]�b;a?�$qBde^rasZZ\T[VÝpt]�e�y](bcdyf�nX§HVgbcZ�],f�z�ª;W(i�T`a�],f!dyZ\Vg^rW(Z\dy],f5d�aUVgu5i��y]�x�V�}��,bcT�d�kmT�kO]f�w�V~^\n,V£a�Z\]��-1=²g¹

� $&7 ÿ � � $ ò��\��+`² � $ � � $bcT�Vg^�VHZ�T�V;ujY��ydei��ydykgW(Z�de],f¤�\÷Ú��³ � $ d{a0i`Vg^spt]^\u5V�}�bcdyZ\TX],f��yxoT`W(�Úp*]�p*Z\T[VHf�]^\u�W����eV~w�Vg��]�pMi�^\V£kOd{a�de],f-�

�~©

Page 11: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

SUT�V_à`f`W��BdyZ\Vg^rW(Z�de],f¤d{aci�V~^spt],^�u5V�}5Wa�pt],�y�e]�b;a�åæ�,��è%¹�j1<²�´��«� � ý �*òóåµ��+��«� � ý �&²�è � ýbcT�Vg^�V�Z�T�V!ujY[�eZ\dyi��edykgW�Z\dy],f`a¶� � ý W(f�}#åÚ÷íè � ý W(^\V!i`Vg^�pt],^�u5V�}�bcdeZ�T�],f��yx�T�W(� p­]�p�Z�T�V=à�f`W(�_�yVgw�Vg�](p­i�^�V�kOd�asde]f*��§H]Z\V!Z\T�W(Z�V�W,k|T×dyZ\Vg^rW(Z�de],f�]�p­Z\T�d�a5W(�yn,],^�deZ�T�u dyf�w�]�ew�V�a�]f��ex�W(f)W,}�}�dyZ\dy],fóW(f�}W3asY��[Z\^|WkOZ\dy],f*�_i[�eY`ajZ�b�]�uXY��yZ\dei[�ed{k?W(Z�de]f`aO�UbcT[d{k|TókgW(fó�`V¥i`Vg^�pt],^\u¤V�}�Y`a�def�n3Z�T�V�q»q0SUzÎ��W,asV£}Z\V£kmT�f[d{��Y�VHu¤Vgf�Z�de]f�V�}5W���]�w�V��

®H�en],^�deZ\T[u�aH�`WasV�}!],f3§;VgbcZ\]f¥dyZ\Vg^rW(Z\dy],f`a;T`Wgw�VjZ�T�VX}�V�a�de^|W����eVXi�^�],i`Vg^\Z�x�Z\T`W�Z�Z\T[Vgx!W�^\VXdef�zT�Vg^�Vgf7Z\�ex¦asVg�Úptz%kO]^\^�V�kOZ\dyf�n��;SUT7Y`aHZ�T�V�asVX§;VgbcZ\]f�deZ�Vg^|W�Z\dy],f`a_k~W(f��`Voi`Vg^�pt],^\u¤V�}=bcdyZ\T!WXi�^\V�k?d{asdy],f�eV~w�Vg��Z�T`W(Z·}�],Y[���eV�a$bcdeZ�T5V�W,k|TXdeZ\V~^|W(Z�de]f*� Ù f�V�}�d��¦kOY��yZ�x�bcdeZ�TjZ�T�d{a$i�^\]7k?V�}�Y�^�VHd�a¸Z�T`W(Z�Vg^\^�],^raUkgW�fW,k~kOY�uXY��{W�Z\V�def�Z\T�VoZ�^|W�de�edyf�n5u�W�f�Z�d{a�a\WobU],^r}�aO�XSUT�d�a_Vg^\^�],^�kgW�f¥�`VXV�kO]f�],u5d�kgW(�y�ex¤kO],f7Z\^�],�y�eV�}��7x^\V~i�V£W(Z\dyf�n�Z�T�V_f�V~��Z�zÎZ�],zt�{W,a�ZcdeZ�Vg^|W�Z\de]f*�0SUT[d{a�dyf`kO^�V�W,a�V�a�Z�T�V_^\Y[f5Z\dyu5Vc��xX],f[�exXW(�`]Y�Z_�µ�i`Vg^|kOV~f�Z~�W(f�}=x�VgZ�Z\T�V�^\V£asY��yZcd{acW,k~kOY�^|W�Z\V�Z\]¤W(�y��Vg�[kOVgi[ZUi`]�a�asde�[�ex�Z\T�V���W,asZcZ�b�]jb�],^|}[aO�

«%ZXkgW(f3V�Wasde�yx��`V�asVgVgf3Z�T`W(ZoZ�T�V�Z\],ZrW(��kO]�a�Zo](p­k?],u5i�Y[Z\def[n!W�^\V£kOdei�^�]7kgW(�c�7x�Z\T�d�a�u5V�W(f�a�d{aW(�`]Y�ZoZ�bcd{kOVoZ�T�V5k?]�asZ­](p;Z�T�V�à�f`W(��deZ\V~^|W(Z�de]f*��SUT�VXZ\],ZrW(�·kO]�a�Z�](p�W�ujY[�eZ\dyi�^\V£kmd�asde]f!}�dyw�d�asdy],f�d{a],f[�ex�W(�`]Y�Z�pt],Y�^�Z�deu5V�a;Z\T�V¤kO]�a�Z�](p�W5ujY[�eZ\dyi�^\V£kOd{a�de],f�uXY��eZ�dei��yd{kgW�Z\dy],f�],i`Vg^rW(Z\dy],f�]�p;V���Y�dewW(�yVgf7ZasdyâgV��·*Ê ]oNC[MÕ�P¤J5̸i`Õ7KBP�Q�ÍtR3]XË$Õ�P�Q�N£ÍÎÏ`ÐML

¢$],u5i[�eVg�XujY[�eZ\dyi�^\V£kOdyasde]fjuXY��yZ\dei[�edykgW(Z�de]fjd�aUi�V~^spt],^�u5V�}jY�asdef[noZ\T�V�d{}7Vgf�Z�deZ�x�«� ÿ òl� üt¹ �r�w² ÿ ò`² ü&¹ �¦� åµ� ÿ ² ÿ +�� ü ² ü è�ò å �«� ÿ òl� ü �r�w² ÿ ò`² ü ��+®� ÿ ² ÿ +�� ü ² ü è ¹

§H]Z\VcZ\T�W(Z0Z�T�d{aBpt],^�ujY[�{WckgW�fj�`Vcdeu¤i��eVguXVgf7Z\V~}_Y`asdyf�n_],f[�ex�Z�T�^\V~VcujY��yZ\dyi�^\V�k?dea�de]f¨uXY��yZ\dei[�ed{k?W(Z�de]f`aO�bcT�Vg^�V�W,a�Z\T�V¤asZ�^|W�den,T7Zspt]^\b·W(^|}¥pt]^\uXY��{Wj^�V���Y�de^�V�aHpt],Y�^~��¢$],u5i��yVg�!}7dew7d{asdy],f�d{a�i�V~^spt],^�u5V�}�Y`a�def�nZ\T[V¨d�}�Vgf7Z\dyZsx� ÿ ò�� üt¹² ÿ ò`² üt¹ � �B� ÿ ò�� ü&¹ �r�w² ÿ +`² ü.¹ �² üÿ ò�² üübcT�Vg^�V!Z\T�V�kO]u5i��eV~��i�^\]7}7Y`kOZ�dyf�Z\T�V!f7Y�u5V~^|W(Z�],^5d�ajVgwW(�yY`W(Z�V�}óW,a�W(�`]�w�V�� ¬�def�kOV�}�dew7d{a�de]f�d{aasdyn,f�dÚà²kgW�f�Z��exou5]^\V;Vg��i`Vgf�asdew�V;Z\T�W(f�ujY[�eZ\dyi��ed�kOW�Z\dy],f*�,Z�T�V_Z�bU]­^\V�W��*}�dyw�d�asdy],f`a$],^|}7def`W�^\de�yxj^�V���Y�de^�V�}def�Z�T�d{ajpt]^\uXY��{W�W(^�V!^\Vgi���W,kOV£}×bcdeZ\TóW�^�V�kOdei[^\]7kgW���kO],u¤i�Y�Z|W�Z\dy],f�](pº² üÿ ò»² üü pt]�e�e]�b�V�}×��x�Z�bU]uXY��eZ�dei��yd{k?W(Z\dy],f`a?�*SUT�V�W,}7w,W�f`kOV�}_^�],Y�Z�def�V�a�pt],^Mk?],u5i��yVg�cuXY��eZ�dei��yd{kgW�Z\dÚ],f�W(f`}­}�dew7d{a�de]f_Y�Z\dy�edyâgV0Z\T[V�asVa\W�u5VHpt]^\uXY��{WaO���[Y�ZcZ\T�V~x�kgW(�y��Z�T�V­W,}�wW(f�kOV�}=^�],Y�Z�def�V£a�pt],^;^\V�W��*ujY��yZ\dyi��edykgW�Z\de]f5W�f`}�}7dew7d{asdy],f*�

SUT�VXn,Vgf�V~^|W(�¸a\k|T�Vgu5VÛ}�V�a\k?^\de�`V�}�dyf!Z\T�Vo��W,a�Z�a�V�kOZ�de],f�Z\]�i`Vg^�pt],^\u }�dew7d{a�de]f!��xh§HVgbcZ\]f¥dyZ\Vg^�zW(Z�de]f`aHd{a;W(��as]5V~u5i��e]�x�V�}XZ\]5VgwW��eY`W�Z\VoWXf�Y�uX�`Vg^U]�p�],Z\T[Vg^�W(�yn,Vg�[^|W(d�k¨]i�V~^|W(Z�de]f`aO��q�],^;Vg�[W(u5i[�eV��a\��Y`W�^\V�^�]�],Zra_W(^�VokO]u5i�Y�Z�V�}j�7x=V~u5i��e]�x7def�n�Z�T�V¨pt]�e�e]�bcdyf�nX§HVgbcZ�],f�dyZ\Vg^rW(Z�de],f-��bcT�d{k|T�kO],f7w�Vg^\nV�aZ\]��-1 D �`¹� $&7 ÿ � � $ ò��\�±+®� � ü$ � � $ 1��bcT�Vg^�V�Z�T�V�ujY��ydei��yd{kgW�Z\dÚ],fh�\÷ � � $ d{aci`Vg^spt]^\u5V�}5bcdyZ\T�]f��ex¤T`W(�Úp$](p$Z�T�V�f[],^\u¦W(�*�eV~w�Vg�`](p�i�^\V£kOd{a�de],f-�SUT�V_à`f`W��BdyZ\Vg^rW(Z�de],f¤d{aci�V~^spt],^�u5V�}5Wa�pt],�y�e]�b;a�åæ�,��è%¹D ��´��B� � ý �*òóå­�¶+×�B� � ý � ü è � ý 1��

��

Page 12: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

bcT�Vg^�VoZ\T�VouXY��yZ\dei[�ed{k~W(Z\dy],f`a�� � ý W�f`}�å ÷íè � ý W�^\Voi`Vg^spt]^\u5V£}=bcdeZ�T¥]f��ex�T`W(�Úp�](pcZ�T�V�à`f`W��$�eVgw�Vg�*]�pi�^�V�kOd{a�de]f*�®_a�bcdeZ�T�}�dew7d{a�de],f-�0Z\T�V�a�V�deZ\V~^|W(Z�de]f`a�W�^\V�i`Vg^spt]^\u5V�}�bcdeZ\T�W!i�^\V£kOd{a�de],f��eVgw�Vg�$Z�T`W(ZXW�i�i�^\]��7dez

u�W�Z\Vg�yxo}�]Y����eV£a¸bcdyZ\T5V£W,k|TjdyZ\Vg^rW(Z\dy],f*�»SUT�V_�`Wasd�kHa���Y`W�^\V_^�]�],Zc^�],Y�Z�def�V�kO],u¤i�Y�Z\V£a¸V£W,k|TjdyZ\Vg^rW(Z\dy],fZ\]X],f[V�bU]^|}�u5]^\V_Z�T`W(f�Woi`]�bUVg^;](p$Z�b�]��c®_a;Wo^\V�a�Y��eZ~��Vg^�^\]^|a;}�]jf[],Z�WkgkOY�uXY��{W�Z\V;w�Vg^\x¤ujY`k|T*�W(f�}jdeZ�asY���kOV£a¸Z�]�^�Vgi`V�W(Z$Z\T[V_Z\T�dy^|}�z{pt^\]u5ztZ\T�Vgzt�{WasZ0dyZ\Vg^rW(Z�de],fXZ\]­def`a�Y�^\VcptY��y��WkgkOY�^rW,kOxodyfjZ�T�Vcà`f`W(�^\V£asY��yZg�$SUT�V­W,}[}�V�}�k?]�asZc]�p$^\V~i�V£W(Z\dyf�noZ\T[d{aUdeZ�Vg^|W�Z\dy],f�d{aUf�V~n,�edyn,dy���eV��

SUT�VXW,}7w,W�f`kOV�}�a\��Y`W�^\VX^\]�],Z�^�],Y�Z�def�VXkgW�f�f�]Z�k?],u5i�Y[Z\V�V£W,k|T!deZ\V~^|W(Z�de]f�Z\]�]f�Vjn^\V�W�Z\Vg^�Z\T`W�fW=i`]�bUV~^�](p;Z�b�]�bU]^|}�a?�0a�def`kOVXZ\T[V5�eVgw�V~�{aH]�p;i�^\V�k?d{asdy],f�W(^�V5^\V�a�Z\^�d{kOZ�V�}�Z\]�Vg��WkOZ�i`](b�Vg^|a�](p�Z�bU]�7x¥Z�T�V�q0q0SUzt�`W,a�V�}�ujY��yZ\dyi��ex�i�^\]7kOV£}�Y�^\Vß��SUT7Y`a�Z\T�V¦W,}�wW(f�kOV�}�^�],Y�Z�def�V¤^\Vgi`V�W�Z|a�Z\T[V=f[Vg��Z�zÎZ�],z�{WasZcdyZ\Vg^rW(Z\dy],f*�$®�a�def�Z�T�V�W,}7w,W�f`kOV�}�}�dew7d{}7VH^�],Y�Z�def�V��7^\Vgi`V�W�Z\dyf�noZ\T�V�f�V~��Z�zÎZ�],zt�{W,a�ZcdeZ�Vg^|W�Z\de]f�W,}�}�aW(�`]Y�Z��,µoi`Vg^|k?Vgf�Z�Z\]XZ\T�V�^�Y�f�Z\deu¤V��

SUT�V­kO],u¤i��eVg�Xa���Y�W(^\V­^\]�]ZH]�pJ°�� � ò ¹ ¥jk~W(f��`V­kO]u5i�Y�Z�V�}j�7x�W(i�i[�ex7def�noZ�T�V_pt],^\uXY���W,a¼ � ½ ¾ � ¾ ò D � ü ò�¥ ü�D ° � ¼ ò ¹ ¥� ¼ dÚp �Y¿ ©

� ¾ ¥ ¾� ¼ÁÀ ¹ ¼ dÚp �� ©bcT�Vg^�V�Z\T�V À asdyn,f�d{aUZrW(l�Vgf�Z�]j�`V�Z\T�V­a�W(u5V�Wa¡Z�T�V­asdyn,f�]�pG¥`�

¢$Y��`V�^\]�],ZraHW�^\V­kO]u5i�Y�Z�V�}��7x5Z�T�VHpt],�y�e]�bcdef[no§HVgbcZ�],f�deZ�Vg^|W�Z\dy],f*�7bcT�d{k|T�kO]f�w�Vg^�n,V�a$Z\]E� þ7ü ¡ , ¹� $&7 ÿ � � $ ò � $

� �\�±+®� ü � , $ �SUT�Vjà�f`W(�cdyZ\Vg^rW(Z\dy],f!pt],^oZ�T�V�kOY��`V5^�]�],Z~�UkO]^\^�V�asi`],f�}�def�n!Z�]!Z\T�VXà`f`W(��deZ�Vg^|W�Z\de]f¥pt],^­Z\T�V¦a\��Y`W(^�V^\]�]Zg�`d{aUZ�T�V_pt],�e�y]�bcdef�n�åæ�,�(è�¹� ÿ ¡ , ´#�«� � ý �*òóåµ��+��«� � ý � , è � ý 1��

«%f`kO�eY�}�V�}odef5Z�T�V­°�5�qe�_§ i�W,k|l,W�n,V�W�^\V��`Wasd{k�W(f`}�W,}7w,W�f`kOV�}5^�],Y�Z�def�V�a$Z\]XkO]u5i�Y�Z�VHZ�T�VV�`zÎZ�Ti`]�bUVg^c]�p$ujY[�eZ\dyi�^\V£kmd�asde]fo^\V�W��MW(f`}�kO],u¤i��eVg�of7Y�uX�`Vg^|a?�0SUT�V�a�V�],i`Vg^|W�Z\dy],f`a;W(^�V¨i`Vg^�pt],^�u5V�}jY`a�def�nZ\T[V¨�[def`W�^\x�^\Y��yV_pt],^;Vg��i`]f�Vgf7Z\d{W�Z\dy],f�åí���,è%�$Þ�T�VgfK��d{acf�VgnßW(Z\dyw�V���Z�T�V�^\V�k?dei�^�]7kgW(�*d�a¡ZrW(l�Vgf�](p¸Z\T�Và`f`W��*^\V�a�Y��eZ~�

®H�e]f�nXbcdeZ\T�Z�T�V¶��ztZ\T�i`]�bUV~^H^�],Y�Z�def�V�acW�^\V­Zsb�]E��ztZ\T�^\]�],Z�^\],Y[Z\def[V�aO�$Þ�T�Vgf�Z\T[V�W�^\nY�u5Vgf7Z±�d{aUw�V~^\x�kO�y]�a�V¨Z�]j]f�VoW�f`}3�!d{aU��W(^�n,V��`Z\T�V¶�`zÎZ�T�^\]�]Z_d{ack?],u5i�Y[Z\V�}5Y`a�def�n¤W��[def�]u5d{W���Vg�7i`W(f�asde]f*�Ù Z\T�V~^\bcd{a�V���dyZUd�ackO],u5i[Y�Z\V�}oY`a�def�noZ�T�V_pt],�e�y]�bcdef�nÛ§HVgbcZ\]f�deZ\V~^|W(Z�de]f*��bcT�d�kmT¦kO],f7w�Vg^\nV�a�Z�]E� þ�ÿ ¡ ý ¹

� $&7 ÿ � � $ ò � $� �\�±+®� � ý $ �SUT�VX^\V�k?dei�^�]7kgW(�0]�pcZ�T�V�à�f`W(��W(i[i�^\]��7deu�W�Z\de]f�Z�]�� þ7ÿ ¡ ý d{a_Z�T�VO�`zÎZ�T¥^�]�],Z~�5SUT�V�a�VjdyZ\Vg^rW(Z�de],f�a_W(^�Vi`Vg^spt]^\u5V£}jbcdeZ�T�WX}�x7f`W(u¤d{kci�^\V�k?d{asdy],f��eV~w�Vg�²W,ac��V?pt],^\Vß�

SUT�V�°�5�qe�_§�i`WkmlW�n,V;def`kO�yY`}�V�a*pt],Y�^$^\]Y�Z\dyf�V�aBpt],^�kO]u5i�Y�Z�def�n;^\]�]Z|a$](p*i`]�ex7f�],u5d�W(��aO�0SUT[Vg^\Vd{aMWc�`W,a�d{k$W(f`}oW�foW}�wW(f`kOV£}¨^\]Y�Z\dyf�V�pt]^0k?],u5i�Y[Z\def[nc^\V�W���^\]�],ZraB](p�^\V�W���i�]�ex7f�],u¤d{W(��a*W(f`}ok?],u5i��yVg�

�~�

Page 13: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

^\]�]Z|a�](p·kO],u¤i��eVg�¤i�]�ex7f�],u¤d{W(��aO�V£�VgZ¶Ão� � �c�`VXW5i`],�yx�f�]u5d{W��0W�f`}!�eVgZkÃyÄ{� � �c�`VoZ\T[VX}�Vg^\dywW(Z\dyw�V](pÅÃo� � �r�y£�VgZ � A �`VXWja�Z|W(^�Z\dyf�n�w,W��eY�V­Z\T`W�Z_d{a;kO�y]�asV­Z\]5Z�T�Vo}7V�asdy^\V�}�^\]�],Z~��SUT�V�a�V�^\]Y�Z\dyf�V�aHZ�T�VgfVgu5i[�e]�xoZ\T�V_pt]�e�e]�bcdyf�nX§HVgbcZ�],f�deZ�Vg^|W�Z\de]f*��bcT[d{k|T�k?],f7w�Vg^\nV�aU}�dy^\V�k?Z\�exXZ\]XZ\T[V¨^�]�],Z~¹� $&7 ÿ � � $ +�Ão� � $ �&1\Ã Ä � � $ �SUT�V�a�VUdyZ\Vg^rW(Z\dy],f`aMW(^�VckO]u5i�Y�Z�V�}HbcdyZ\ToW�}�x�f�W(u5d�kBi�^\V£kOd{a�de],f��yVgw�Vg��a�kmT[Vgu5V»asdeu¤de�{W�^�Z�]_Z\T�V$^�],Y�Z�def�V�a}�V�a�kO^\dy�`V�}�W(�`]�w�V��

Ù f�Vc^\V���Y�dy^\Vgu5V~f�Z`pt],^$Z\T�d�aBu5VgZ�T�]7}�Z\]�b�],^\l­d{aBZ�T`W(Z$Z�T�V;}�V�a�de^\V£}�^\]�],Z�d{aBf[],Z�WH^\V~i�V£W(Z\V£}�^�]�],Zg�«ÎpM],f�V�bcd�asT�V�aUZ�]XW(i�i[�exXZ\T�V�a�V�^\],Y[Z\def[V�a�Z�]�à`f`}�W�^\Vgi`V�W�Z\V�}5^�]�],Zg��dyZUd�a�à`^|a�Zcf�V�kOV�a�a\W�^\xXZ\]o^\V£}�Y`kOVZ\T[V5i`],�ex7f�]u5d{W���Z�]�]f�V5Z\T�W(ZoT`Wa�],f��yx�a�deu5i��yVo^\]�]Z|aO��SUT�d�a�kgW�f��`V�}�],f�V¤��x!i`Vg^�pt],^\u¤def�n�Z\T�V¶0Y`kO�yd{}�V�W�f�W(�en],^�deZ\T[u def�Z\T�V�^\dyf�nX](p$i`],�yx�f[],u5d�W(�{a$Z\]¤}�VgZ�Vg^\u5dyf�V;Z\T�V­n,^\V£W(Z\V£asZ;kO]u5u5],f¦}�dew7d{a�],^Æ � � �c](pÇÃ�� � �_W�f`}®ÃyÄ{� � �r�XSUT�Vgf2È�� � �y�xÃo� � �.1 Æ � � �cd{a�W5i`],�yx�f�]u5d{W��0Z\T�W(Z�T`W,a�],f��yx�asdyu5i��eV^\]�]Z|a?�

«%f�Z\T[V�def7Z\^�]7}�Y`kOZ�de]f*��Z\T[V�Y`a�W(n,Vo]�p�def7Z\VgnVg^c^\Vg��W(Z�de],f�à`f`}�dyf�n�W��en,]^\dyZ\T�u�acbcWa¡u¤Vgf�Z�de]f�V�}5defVg�7i��e]^\dyf�n¥Z�T�V�Z�^|W�f`a\kOV~f`}�Vgf`k?V=]�p­kOVg^�Z|W�def×u¦W(Z\T[Vgu�W(Z�d{kgW���kO],f`a�Z|W�f�ZraO��SUT[V!W(Y[Z\T�]^5T`W,aXZ\V�a�Z\V�}Z�bU]­^\V�kOV~f�Z��exo}7d{a\k?](w�V~^\V�}XW(�yn,],^�deZ�T�u�aBpt],^cZ�T�d{a$i�Y�^\i`]ßasV��7Z\T�V5êrasu�W��e�`def7Z\V~n,Vg^$^\V~�{W(Z�de]f�W(�yn,],^�deZ�T�u�ëdef�åí�©(è���bcT[d{k|T¥bcdy�e�0�`VXZ\Vg^�u5V�}=Z�T�V¤ã_ä�£B¬!^\]Y�Z\dyf�Vopt^\],u Z�T�VXdef�dyZ\d{W��{aH]�pcZ�T�V5W�Y�Z\T[],^|a?�$W(f`}�Z\T�Vê\i�W(^\Z�d{W��Ua�Y�u ](p¡a\��Y`W(^�V�a\ë��B5U¬ Ù ¬���W(�yn,]^\deZ�T�u ]�p;ã��-ª¨��5B�-q�V~^\n,Y�as],f åíµ(è���Þ�T�dy�eVoV�WkmT!T`Wa¨dyZ|au5Vg^�deZraO��Z\T[VoW(Y[Z\T�]^¨T�W,a¡pt]Y�f`}�Z\T�W(Z_Z�T�VXã_ä�£B¬�^\]Y�Z\dyf�V�d�aHn,V~f�Vg^|W��e�yxjp�W,a�Z\Vg^~��SUT�Y`a;deZ;T`W,aH�`VgV~fdeu¤i��eVguXVgf7Z\V~}=dyf�°�5$q �_§­��q�],^­Z\T�]ßasVX^\V�W}�Vg^ra¨def7Z\V~^\V�a�Z\V�}�dyf¥Z�T�VO5U¬ Ù ¬hW(�yn,],^�deZ�T�u!�MW=^�],Y�Z�def�Vdeu¤i��eVguXVgf7Z\dÚf�n�deZcd�acW(��as]XWgwW(de��W(���yV_pt^\],u Z\T�V­W(Y[Z\T�]^g�

¬�def�kOV���]Z\T�Z\T�V­ã_ä�£B¬¦W(f`}�5·¬ Ù ¬¦W(�yn,],^�deZ�T�u�acW(^�V­��Y�dyZ\V­kO]u5i��ed�kgW(Z�V�}���f�VgdyZ\T�V~^Ubcde�y�*�`V¨i[^\VgzasV~f�Z�V�}5T�Vg^\Vß�0«%f�Z�Vg^\V£asZ\V£}j^\V�W}�Vg^racW(^\V­^\VOptV~^\^\V£}jZ\]XZ\T�V�^�V�asi`V�kOZ�dew�V;i`W(i`Vg^raO�É Ê Ö­Ï`Ø�ËMÓ*N�ÍÎÐ�i��

SUT�V!k?],u5i�Y[Z|W(Z�de]f×](p¨� Z\]�T�denT�i�^\V£kOd{a�de],f3T`Wa5W¥�y],f�n�W(f`}�k?],�e]^sptY��;T�d�asZ\]^\x��ó«%f7Z\Vg^�V�asZ�V�}^\V£W,}�Vg^raUW�^\V;^\VOptVg^�^\V�}oZ\]¤åæç(è�pt],^·}�d{a�kOY`a\a�de]f5](pMZ�T�V_k?�{W,a�asd�kgW(�`T�d�asZ\]^\xo]�p»kO],u5i[Y�Z\dyf�n��0�$ªcV�kOVgf7Z\�yx�Wf7Y�uj�`Vg^M](p�W,}�wW�f`kOV�}XW(�yn,],^�deZ�T�u�aBT`Wgw�Vc�`VgVgfX}7d{a\k?](w�V~^\V�}_pt],^$Z\T�V�kO]u5i�Y�ZrW(Z\dy],fo]�pM�5Z\T`W�Z0ptV�W(Z�Y�^\Vw�Vg^�x�T[den,T�^rW(Z�V�a5](pÛkO],f7w�Vg^�n,Vgf`k?V3åíø��c³,è���SUT�V�à`^rasZ�](p­Z\T[V�asV!b·W,a5}�d�a\kO]�w�Vg^�V�}�dyf`}�Vgi`Vgf�}�Vgf7Z\�ex�7x�¬7W(��W(u5dyf�åæ�,ø(è�W�f`}3¯U^\Vgf7ZXå �~©,è�W(f`}¥d�a¨^�VOptVg^\^�V�}�Z\]hW,a�VgdyZ\T�V~^_Z\T�V�¬7W(��W(u5dyf�z%¯U^�Vgf7Z_W��en,]^\dyZ\T�u],^­Z\T�V�M�W(Y`a�asz«£�Vgn,V~f`}�^\V�W��en,]^\dyZ\T�u!�Ma�def`kOVoZ�T�V5u�W�Z\T�V~u�W(Z�d{kgW��*�`W,a�d{a¨]�p;Z\T�d�a�W(�en],^�deZ\T[u T`W,a�dyZ|a^\]�]Z|a_def�Z\T�Vof[def�VgZ�VgVgf7Z\T�kOVgf7Z\Y[^\x���SUT�d{a_W��en],^\dyZ\T�uìVg�7T�dy��deZraH��Y`W,}7^|W(Z�d{k­kO],f7w�Vg^\nVgf`kOVß��d%�íVß�HV�WkmTdeZ�Vg^|W�Z\dy],f!W�i�i�^�](�7deu¦W(Z\V~�ex¯Ê�Ë�Ì�Í�ÎÐÏ&Ñ�Z\T�Vof7Y�uX�`Vg^c](p·kO]^\^\V£kOZ_}7den,dyZ|a?��¬�Y��`a�V���Y[Vgf�Z��ex5Z�T�VX¯U],^�bUVgdyf`aT`Wgw�V�}�d{a�kO]�w�Vg^\V�}XW�k?�{W,a�a�]�p$W��en,]^\dyZ\T�u�a0Z�T`W(Z�Vg��T[de��dyZ{Ò5ztZ\T5]^|}�V~^ckO]f�w�Vg^�n,Vgf�kOVUpt],^;W�f�xºÒ åíø7��³�è%�

SUT�VcW�Y�Z\T[],^0T`Wa�Z�V�asZ�V�}�W¡f7Y�uX�`Vg^�]�p`Z\T�V£asVcW��en],^\dyZ\T�u¦aO�0¬�Y�^�i�^\d�asdef[n,�exß��W(�eZ�T�],Y[n,ToZ\T[VU¯U]^\b�VgdefW(�yn,]^\deZ�T�u�a*Vg�7T�de��dyZBT[den,T[Vg^B^rW(Z�V�aB](p�kO],f7w�Vg^�n,Vgf`k?V��gZ\T�Vc]�w�Vg^rW(�y��^\Y�foZ�deu5V$d{aMn,Vgf�V~^|W(�y�ex­kO]u5i`W(^rW(���yVZ\]¤Z\T`W�Z_](p�Z\T[V5¬7W(��W(u5dyf�z%¯U^�Vgf7Z;W(�en],^�deZ\T[u!�_¬�def`k?V�Z\T[V5¬7W(��W(u5dyf�z%¯U^�Vgf7ZcW(�yn,]^\deZ�T�u d�aHa�deu5i[�eVg^~��deZbcWaHk|T�]ßasVgf�pt],^;deu5i��yVguXVgf�ZrW(Z�de],fXdefh°�5$q �_§��[«�Zcu¦W£x¤��VÛasZrW(Z\V£}�W,aUpt],�y�e]�b;aO�;¬�VgZk� A �#�ûL² A ��-1=D ����W�f`}3Ó A �D �y+��C1�����SUT�Vgf�deZ�Vg^|W�Z\V_Z�T�V_pt],�e�y]�bcdef�no]i�V~^|W(Z�de]f`a¡�`Vgndef�f[def�nXbcdeZ�T ' ���¹� $ � �B� $ þ�ÿ ò�² $ þ7ÿ �&1£�² $ � Ô � $ þ7ÿ ² $ þ7ÿÓ $ � Ó $ þ�ÿ +�� $ �B� $ +`² $ � ü

�~�

Page 14: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

SUT�Vgf¯Õ $ � �B� $ ò² $ � ü 1\Ó $ kO],f7w�Vg^\nV�a���Y`W}�^|W�Z\d{k~W(�e�yx¥Z�]��0�2�Hf�pt]^\Z\Y[f`W(Z�Vg�ex�Z�T�d{aoW��en],^\dyZ\T�u d{af�]ZcasV~� ptz�kO],^�^\V�kOZ�def�n��ydel�V;W(�yn,]^\deZ�T�u�a0�`WasV�}j]f�§HVgbcZ\]fjdyZ\Vg^rW(Z�de],f�aO�$SUT7Y`aUW��e�`deZ�Vg^|W�Z\de]f`a�uXY`a�Z0�`V}�]f�V�bcdyZ\T�W(Zc�yV�W,a�ZcZ\T�V�i�^�V�kOd{a�de]f=�yVgw�Vg�²}�V�a�de^�V�}�pt],^;Z\T[VÝà�f`W(�*^�V�asY��yZg�Ö*Ê �UP�Q�ÐMLgR�Õ7Ð��MÕ�Ð`N�Q�Ì�U*ÓMÐBR,N£ÍÎÏ`ÐML

SUT�V��`W,a�d{k�^\],Y[Z\def[VÝpt]^cVg�7i=V~u5i��e]�x[a$W�u5]7}7d à²kgW�Z\dy],f5]�p$Z\T�V­SMWgx��y],^gîöacasVg^�deV�a0pt],^�ñ�×%¹ñ × � �\�cò�8cò 8 ü

��Q ò 8 ,��Q ò 8 /

�jQ ÷g÷g÷Ú� ü�� > � ýbcT�Vg^�VO8��ª; Ä 1��,µç�û�; Ä �»;{+Ø�H�e]nU��W(f`}!bcT�Vg^�VO��d�a¨k|T�]ßasVgf�Z\]�u5dyf�deu5dÚâgV�Z\T�V¤W(�`a�],�yY�Z\V5wW��eY�V](pk;�Äe��SUT�V¤Vg��i`]f�Vgf7Z\d{W�Z\dy],f�dyf�Z�T�d{a_pt],^�ujY���W5d{a¨i`Vg^�pt],^�u5V�}!��x�^\Vgi`V�W�Z\V�}3a���Y`W�^\dyf�n���ªcV�}�Y`kOdyf�n;;u5]7}�Y��y]5�e]nc��W(f`}�}�dyw�d�}�def�n¤��xh�,µ,ç�def`a�Y�^\V£aHZ\T`W�ZE+_©�õö©,©7�  8�ÙC©�õö©,©���*bcT�d{k|T�asdyn,f�dÚà²kgW(f7Z\�yxW,k~kOVg�eV~^|W(Z�V�aUk?],f7w�Vg^\nVgf`kOV_dyf�Z\T�V­W(�`]�w�V­asVg^�deV�a?�

SUT�VX�`W,a�d{k�^\]Y�Z\dyf�V�pt],^��y],n�Vgu5i��y]�x�aUZ�T�V�pt],�y�e]�bcdef�n¦§HVgbcZ\]f¥dyZ\Vg^rW(Z�de],f-��bcT�d{k|T!k?],f7w�Vg^\nV�aHZ\]�e]nG;O¹

� $&7 ÿ � � $ ò ; +�Vg�7i � $Vg�7i � $SUT�V�^\Y[f�Z\dyu5V;](p»Z\T�V��`Wasd{k��e]no^\],Y[Z\def[V¨d�aU],f��yx�W(�`]Y�Z����öµ�Z\dyu5V�a�Z�T`W(Zc]�p$Z\T[V¨V~��i�^\]Y�Z\dyf�V��

SUT�V�W,}�wW(f�kOV�}�^\],Y[Z\def[V�pt],^��e]n�V~u5i��e]�x[ajW3��Y`W,}7^|W(Z�d{kgW��e�yx�kO]f�w�Vg^�n,Vgf7Z¤W(�en],^�deZ\T[u }�Y�V!Z\]¬7W��{W(u¤def*�²W,a�}�V�a�kO^\dy�`V�}=dyf�å �g�,è���«%f�i�Y�Zra�;cZ�T`W(Z­W�^\VoVg�7Z\^�Vgu5Vg�yx5kO�y]�a�VoZ\]!�XW(^�VoT`W(f�}��eV�}�Y�asdef[n�WSMW£x7�e]^;asVg^�deV�a?� Ù Z�T�Vg^\bcd�asV��eV~Z±� �`V�Z�T�V�f�Y[uj�`Vg^�](p$��dyZ|aU]�p$i�^\V£kOd{a�de],f�^�V���Y[de^\V£}jdef�Z\T�V�^\V£asY��yZg��«�p;_d�aÝV~��WkOZ\�yx�Z�bU][�Ba�Vg�eV£kOZVÒ ÚÛ��1£���5SUT[Vgf�Z\T[V�pt]�e�e]�bcdyf�njpt],^�ujY[�{Wjndew�V�aH�y],n·�¦Z�]�Z�T�Vj^�V���Y�de^�V�}i�^�V�kOd{a�de]f*¹

�y],n�� � ��=Ò�Ü��\�û\��1£�-ÝH�

ãHVg^�V4Ü��«��û�²O�cd�aHZ\T[Vo�edeu¤deZc](p·Z\T�VXW�^\dyZ\T�u5V~Z\d{k?zÎnVg],u5V~Z\^\dykHu¤V�W(f*¹;�eVgZ�� A �»�!W�f`}®² A �Û²~�oSUT�V~fdeZ�Vg^|W�Z\V

� $&7 ÿ � � $ ò`² $�² $&7 ÿ � Ô � $ ² $

q�],^_]Z\T�V~^�;�asV~�eV�kOZkÒ asY�kmT!Z�T`W(Z ¼ �T;�� Ý Ú�� ý ¡ ü ��SUT�V~f¥Z�T�V�pt],�y�e]�bcdef�nXpt],^\uXY���W�n,dew�V£aH�e]nÞ;;Z\]Z\T[V¨^�V���Y�de^�V�}ji�^�V�kOd{a�de]f*¹

�y],nG;ß� ��=Ü��\�û\��1 ¼ � +�Ò��e],n��

SUT�V�W}�wW(f`kOV£}j^\]Y�Z\dyf�VHpt],^�Vg�7ijVgu¤i��e]�x[aBZ\T�Vcpt],�y�e]�bcdef[n�§;VgbcZ\]f5deZ�Vg^|W�Z\de]f*��bcT�d{k|T¤kO],f7w�Vg^\nV�aZ\]�ñ × ¹

� $&7 ÿ � � $ �¸;Bò���+��e]n � $ ��?�

Page 15: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

«%Z_u5denT�Zc�`VXu5Vgf7Z\dy],f�V�}5Z�T`W(Z���Y`W}�^|W�Z\d{k~W(�e�yx!kO]f�w�V~^\n,V~f�Z;W��en,]^\dyZ\T�u�acpt],^_Vg�7i�W(f�} �y],n5b�Vg^\Và`^rasZ$i�^\V£asVgf7Z\V�}o�7xo¯U^\V~f�Z0dyf!åÚ�g©�è%�7W(f`}o],Z�T�Vg^ra�bUV~^\Vci�^�V�asVgf7Z\V£}�defX��xoZ�T�V;¯U],^�bUVgdyf`a0def�å©�~è%�»¯cW,asV£}],f�Z\T�V¤W(Y�Z�T�],^~îïa­kO],u5i�W(^\d�as]f`aO�*T�]�bUV~w�Vg^g�*Z\T[V=¬7W��{W�u5def�W��en,]^\dyZ\T�u d�a¨a�denf�d à²k~W(f7Z\�ex�p�W,a�Z\Vg^­Z\T`W�fVgdyZ\T�Vg^­Z\T�V�¯U^�Vgf�Z­],^XZ\T�V�¯U]^\bUV~def3W��en,]^\dyZ\T�u!��q�],^XZ\T�d�a�^\V�Was],f�Z\T�V!¬7W��{W�u5def3W��en],^\dyZ\T�u bcW,aasV~�eV�kOZ�V�}�pt]^cdef`kO�yY`asdy],f�def�Z�T�d{aUi`WkmlW�n,V��

SUT�V��`W,a�d{k�^\],Y[Z\def[VÝpt]^;asdyf�W�f`}�k?]�acY�Z\dy�edeâ~V�a0Z\T�V­SMW£x7�e]^gîöacasVg^�deV�a�pt]^;asdef ¼ ¹a�def ¼ � ¼ + ¼ ,��Q ò ¼ �

µ�Q + ¼ ���Q ÷g÷g÷bcT�Vg^�V ¼ ��; +��7��1��y+�²|��1ß�gçXW(f`}�Z\T�V�dyf�Z�Vgn,Vg^ra��5W(f�}�²;W�^\V­kmT[]�asV~f=Z�]ju¤def�dyu5dÚâgVcZ\T�V­W��`as]�eY�Z�VwW(�yY�V�](p ¼ �0Þ�V�k~W(f�Z\T�V~f�k?],u5i�Y[Z\V

a�def±;ß� a�def*� ¼ òl����1£�Hò`²r��1��gç��kO]ßaj;ß� k?]�aO� ¼ òl����1£�Hò`²r��1��gç��

�7x�W(i�i[�ex7def�noVg�yVgu5Vgf7Z|W�^\x­Z\^\dyn,]f�],u5V~Z\^\d�k¡d�}�Vgf7Z\dyZ\deV£a¸pt],^;a�Y�u�a?�0SUT�VÛasdef�W�f`}�kO]�ac](pJ²|��1ß�gçXW(^�V¨]�pZ\T[V�pt],^\u ©�õöµ�à � À Ô � À D ���oªcV�}�Y`k?def�nE;Hdyf!Z\T�d�a_u�W(f�f[Vg^Hdyf`asY[^\V�aHZ�T`W(ZE+���1��,� »¼ Ù#��1£�,���bcT�d�kmT�asdyn,f�dÚà²kgW�f�Z��ex¤W,kgkOV~�eVg^rW(Z\V£aUkO]f�w�Vg^�n,Vgf�kOV_def¤Z\T�V­W(�`]�w�Voa�Vg^\dyV�aO�

SUT�V�W,}7w,W�f`kOV�}3^\]Y�Z\dyf�V�a�pt]^�kO]�aXW(f�}�asdef-�HW�f`}�pt],^Xdef7w�Vg^rasV�kO]�a¤W(f`}×dyf�w�Vg^rasV�a�def*�cVgu¤i��e]�xkO]u5i��eV~��W�^\dyZ\T�u5V~Z\d{k_w�Vg^rasdy],f`a_](p·Z\T�VXW}�wW(f`k?V�}�W(�yn,]^\deZ�T�u�a_}7V�a\kO^�de�`V�}!W���]�w�Vopt],^�Vg�7i�W�f`}!�e],n�Î^�V�kgW��e��Z�T`W(Z�ñ �âá �ókO]ßa � ò ¹ asdyf � �r�ã*Ê J5R�R�ÓMP(Q[R<a�Ï�Ñyä¤Õ�LgÓMÌ{N�L

°�]�a�Z�](p�Z\T[Vj�`Wasd�kj^\]Y�Z\dyf�V�aO�»W(f`}�Z�T�V5W}�wW(f`k?V�}�ujY��yZ\dyi��edykgW�Z\de]f�^�],Y�Z�def�V��»W(^�V�}�V�a�den,f[V�}¥Z\]i�^�]7}�Y`kOV­^\V�a�Y��eZraHkO]^\^�V�kOZcZ\]XZ\T[V¨��W,a�ZHb�],^|}�](p$b�],^�l�dyf�nji[^\V�kOd�asdy],f*��«%f=Z�T�Vok~W,asV�]�pUZ�T�V�Z\^rW(f`a�kOVgf�z}�Vgf7Z|W��BptY�f`k?Z\de]f`aO�*Z�T�Vo�{WasZ�bU]^|}�asT�]Y��{}!�`VXW,kgkOY[^|W(Z�Vji[^\]�w�d�}�V�}�Z\T�VXdef�i[Y�Z_wW(�yY�V�a��3W(f`}!�e]nU�T`Wgw�V��`VgVgf!k?],u5i�Y[Z\V�}5Z\]¤W(Z;�eV£W,asZ;],f[V�bU]^|}�]�p$i�^\V£kOd{a�de],f�n^\V�W�Z\Vg^;Z\T`W�f!Z\T�V­bU]^\l7def�nXi�^\V£kOd{a�de],f-�¶0w�Vgf�a�]���W�f�Vgf�Z�de^�VHb�],^|}�kgW�f5V�Wasde�yxj�`V_�y]�a�ZUdef¤u�W(f7xXkgW(��kOY���W(Z\dy],f`a�}�Y�V_Z�]of�],^�u�W(�ydeâ�W�Z\dy],f*�7asY�kmTW,a$bcT�Vgf5Z�T�V;^\V�kOdyi�^\]7k~W(�`](p»W�f�Y�uX�`Vg^»as�edyn,T7Z\�yxo�eV�a�a¸Z�T`W(f¤],f�V;d{a�kO],u5i[Y�Z\V�}²�BSUT7Y`a�kO],u5i[Y�Z|W�Z\de]f`aasT[],Y���}5W(�ybcWgx�a$�`VHi`Vg^�pt],^\u¤V�}�bcdyZ\T¤W(Z��eV�WasZU]f�V_Vg�7Z\^rW_bU],^r}j](pMi[^\V�kOd�asdy],fXZ\T`W�f5^\V���Y�dy^\V�}�pt],^�Z\T�Và`f`W��*^\V�a�Y��eZraO�

q�],^XZ\T�V�W,}7w,W�f`kOV�}�^�],Y�Z�def�V�ao],Z�T�Vg^oZ�T`W(f�ujY��yZ\dyi��edykgW�Z\de]f*�BZ�T�V��{WasZoZ�bU]!Z�] pt]Y�^jb�],^r}�aoW(^�Vf�]Z_^\Vg�yd{W����eV��`Wa_Vg��i[�{W(dyf�V�}5def!Z�T�V�i[^\Vgw7de]Y`aHa�V�kOZ�de],f�aO��q�],^_V~��W�u5i��eVß��Z\T[Vo^|W(Z�de]5]�p�Zsb�]jdyf�Z�Vgn,V~^|akO]u5i�Y�Z�V�}�Y`asdyf�n�Z�T�V¤W,}�wW(f�kOV�}�}�dyw�d�asdy],f�^\],Y[Z\def[V��BZ�T�V�à�^|asZ­](p;bcT�d�kmT!d�a�W�f�Vg�[W,kOZ�uXY��eZ�dei��yV¨]�pZ\T[V5a�V�kO],f�}��*u�Wgx=f[],Z�ndew�VoZ�T�VXkO],^�^\V�k?Z¨dyf�Z�Vgn,V~^_^\V�a�Y��eZ~�oSUT�d�a¨a�deZ�Y`W(Z�de],f asT�]Y��{}!�`V�p�W�u5de�yd{W(^;Z\]Y`a�Vg^|aU]�pU¢$^rW£x¦kO],u5i[Y�Z\Vg^raO�7bcT�d{k|T�W(��as]oY`a�V�a;§HVgbcZ\]f5deZ�Vg^|W�Z\dy],f`aUZ�]5kgW��{kOY[�{W(Z�VH^�V�kOdyi�^\]7kgW��{a?�$°�]�asZW(f[],u�W��edeV£a�](p¸Z\T�d�acas],^�Z_k~W(f��`V¨^�Vgu5V�}7deV�}o��x¦W,}�}�dyf�n¤W�êsptY�âgâ£ë�Z�]o^\V�a�Y��eZraO�

SUT�VoWkgkOY�^rW,kOx�]�p$^\V�a�Y��eZra·pt^�],uìZ\T[V�°�5$q ��§ ^�],Y�Z�def�V£aHkgW�f!W��{as]¤��VÛkO],f7Z\^�],�y�eV�}5�7x�asVgZ�Z\dyf�n5W^\]Y�f`}�dyf�n�u¤]7}�Vji�W(^|W�u5VgZ�Vg^g�ºFHVgi`Vgf`}�dyf�n�],f�Z�T�V5wW(�yY�VX](p;Z\T[d{a_i`W(^rW(u5V~Z\Vg^~��^�V�asY[�eZ|a�W�^\VXVgdeZ�T�Vg^Z\^�Y�f`kgW�Z\V�}�W�ZHZ�T�V���W,asZcu¦W(f7Z\d{a�a\W�b�],^|}�](p$b�],^�l�dyf�noi�^\V£kOd{a�de],f-��],^;Vg��asV�Z\T�V���W,asZ;bU]^|}�d{aU^\]Y�f`}�V£}Y�i�}�Vgi`Vgf�}�def�nX],fhkO],f7Z\V~f�Zra�](p¸Z\T�V_à`^rasZc],u¤deZ\Z�V�}jb�],^|}²�

Þ�T�d{k|T�Vgw�V~^U^\]Y�Z\dyf�V�a_W�f`}=^�],Y�f�}�def�n¤u5]7}�VoW�^\V­Y`asV�}²��dyZHd�a¡f�]Z_V�Wasx�Z\]�}7VgZ\Vg^�u5def[V_W�T�V�W,}�]�pZ\dyu5VcbcT`W�ZU�eV~w�Vg��]�pMi�^\V£kOd{a�de],fXd{a$f�V�kOV£a\a\W�^\xoZ�]�i�^�]7}�Y`kOV_^�V�asY[�eZ|a�W,kgk?Y�^|W�Z\V;Z\]oW­}�V�a�de^\V£}�Z�],�eV~^|W(f�kOV��

�~µ

Page 16: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

®H��as]��[}�V�a�i�deZ�V�a\WgptVgn,Y`W�^|}�acW�f`}5Z\V�a�Z\dyf�n��[W�i`W,k|lW(n,V�]�p0Z�T�d{a�as],^�Z;kgW(f[f�],Zc�`V_b·W(^\^rW(f7Z\V�}5Z�]o��V;pt^\VgVpt^\]u �[Y�n�a?�U®_}[}�deZ�de],f�W(�e�yx���kO]u5i�dy�eVg^$W�f`}5T`W(^r}�bcW�^\V_V~^\^\]^|ac}�]­]7kgkOY�^~��W�f`}5deZUd�a�f�]ZckOV~^\Z|W�def5Z�T`W(ZZ\T[Vgx¥bcdy�e�0�`V�}�VgZ�V�kOZ�V�}���x�Z\T[V5i`W,k|lW(nV��!SUT7Y`a¨Z�T�Vjpt],�y�e]�bcdef[n=i[^\]7kOV�}7Y�^\V�d{a_^�V�kO],u¤u5Vgf`}�V£}=Z\]def�kO^\V�WasV�],f[V�îïackO]f�à²}�V~f`kOV_dyf�k?],u5i�Y[Z\V�}j^�V�asY[�eZ|a?¹�,�_¬�ZrW(^�Z=bcdyZ\T)W�b�],^\l7def[n×}7],Y����yV!i�^\V£kOd{a�de],fói�^�],n,^rW(u!��W(f`}óZ\T�Vgfók|T�V�k|l×Z�T`W(Z�Z�T�V¥i`]^\Z\V£}uXY��eZ�dei�^�V�kOdyasdy],f�k?]7}�Vc}�Y[i��ed�kgW(Z�V�a�def7Z\Vg^�u5V�}�d�W(Z�V0W�f`}Ýà`f�W(��^�V�asY��yZ|a�Z�]�W¡^�V�W,a�],f`W����eV·W,kgk?Y�^|WkOx��

���cÞ�T�V~^\VXi�]ßa\a�de���yV��BY`a�VjZ�T�VXi�]^\Z�V�}¥uXY��eZ�dei�^�V�kOd{a�dÚ],f!k?]7}�V5Z\]hkO],u¤i�Y�Z\VXa�i`V�kOd{W��$w,W��eY�V£aÝZ�T`W(ZkgW�f���VÛkO],u¤i`W(^�V�}jbcdeZ�T�],Z\T[Vg^ci�Y����yd{a�T�V�}5T�denT�i�^�V�kOd�asde]f5wW(�yY�V�aO�

���;ªcVgi`V�W(Z;Z\T[V�k~W(�{k?Y��{W�Z\de]f�bcdeZ\T�Z�T�V�^\],Y[f`}�def[n5u5]7}�V_i�W(^|W�u5VgZ�Vg^;kmT�W(f�nV�}���def�]^|}�Vg^;Z\]XZ\V£asZZ�T�V­asVgf`a�deZ�dew7deZ�xj]�p$Z\T[V�k~W(�{k?Y��{W�Z\de]f�Z\]Xf�Y�u¤Vg^\d�kgW(�`Vg^�^\],^~�U®;�eZ\V~^\f`W�Z\dew�V~�ex��,^�Vgi`V�W(ZcZ�T�Vok~W(�{k?Y�z��W(Z\dy],f�bcdeZ�T�Z\T�V�i�^�V�kOd{a�de]f=�yVgw�Vg�²asV~ZcZ\]¤W�T�denT�Vg^c�eV~w�Vg�%�

���;ªcVgi`V�W(Z$Z�T�V_k~W(�{k?Y��{W�Z\de]fo],f�W�f�],Z�T�Vg^�kO]u5i�Y�Z�Vg^$asx[asZ�Vgu!�,dyfo],^r}�Vg^UZ�]­kOVg^\Z�d ptx­Z\T`W�Z�f[]�T`W�^|}�zb·W(^\V�]^_kO]u5i�dy�eVg^$Vg^�^\],^cT�W,ac]7kgkOY�^�^\V�}��

É�å*Ê W�LgÍtÐ�i!NC[MÕ�ÒTSVU�W�X S;Q�RCh�Qji`ÕFHVgZrW(de�yV�}¨dyf`asZ�^\Y`k?Z\de]f`aMW(f`}�],Z\T[Vg^0def7pt],^\u¦W(Z\dy],f�^\V~n�W(^r}�def[n_Z\T�V�Y`a\W�n,Vc]�p`Z\T�V·°�5$q �_§�i`W,k|lW(nVu�Wgx5�`V�pt],Y[f`} dyf!Z\T�VÛW(i�i`Vgf�}�de��Z\]�Z\T�d�aHi`W�i�V~^g�­SUT�VoW�i�i`Vgf`}�dy��W(�{a�]�kO]f�ZrW(def�a_W5kO]u5i��eV~Z\V��ed�asZ](p¸Z\T�V­°�5$q �_§ ^�],Y�Z�def�V£aO��Z�],nVgZ\T�V~^HbcdyZ\T�kgW(�y�edyf�noa�V���Y[Vgf`kOV�acW�f`}=]Z\T�V~^cdef�pt]^\u�W�Z\de]f*�

ãH]�bUVgw�V~^g�7W,acu5Vgf7Z\dy],f�V�}XW(�`]�w�V��7Z\T�V­W(Y[Z\T�]^HT`Wa¡^�V�kOVgf7Z\�yxX}�Vgw�Vg�y],i`V�}5WoZ\^rW(f`a��{W�Z\],^;i�^�],n,^rW(uZ\T�W(Z­kO],f7w�Vg^�Z|ac],^|}7def`W�^\x!q�]^\Z\^rW(f�z��<�¤i�^\]n,^rW(u�a_Z\]¦kO]7}�VXZ\T`W�Z�kgW(�y�{aHZ�T�VX°�5$q �_§�^\],Y[Z\def[V�aO�­¯UxY`a�def�nXZ\T�V­Z\^rW(f`a��{W(Z�],^~��Z\T�V­Y`asV~^_}�]�V£a¡f�]Z_f�VgV£}¦Z�]5l7f�]�b�}�VgZrW(de��aU](p�Z\T[V�],i`Vg^rW(Z�de],f�](p�],^�kgW��e�edyf�nasV£��Y�V~f`kOV�a¨pt]^5Z\T�Vh°�5$q �_§ ^\]Y�Z\dyf�V�aO�óq�],^¤u�W(f7x�W�i�i��yd{kgW�Z\de]f`aO�cZ�T�d{aXkO],f7w�Vg^�Z\V�}�i�^�],n,^rW(u d{aVgf7Z\dy^\Vg�yxXa\W(Z�d{a%p�W,kOZ�],^\xß�`W(f`}�Z\T�V�i`Vg^spt]^\u�W�f`kOV�d{aUf[],Z;asdyn,f�dÚà²kgW�f�Z��ex�}�dÚ±²Vg^\Vgf7Z�pt^�],u ê�T`W(f�}�z%k?]7}�V�}�ëVO±²],^�Z|a5�td%�íVß�5u�W(f7Y`W(�y�ex�bc^\deZ�Z\Vgf�i�^\]n,^|W�u�a¨Z�T`W(ZXk~W(�e�$Z�T�V�°�5$q �_§C^\]Y�Z\dyf�V�a�WkgkO]^|}�dyf�n�Z�]!Z\T�Vdef�asZ\^�Y`kOZ�de],f�aUdef�Z\T�V­W�i�i`Vgf`}�dy���r�

SUT�d{a;Z\^|W�f`as��W(Z�de],f!i[^\],n^|W�u W(�y�e]�b;aH]f�V�Z�]5Vg�7Z\Vgf`}�Z\T�VÛq�],^\Z�^|W�f�zw�=�X�{W(f[n,Y`W�n,VXbcdeZ\T�Z\T�VX}[W(Z|WZ�x�i`V�a:æ�ç����:�=�N�C|��j������èJoéæ�ç����:�=�êè���z���W�f`}�æ�ç����b�<���*�Cæ*�����²�?SUT�V�a�Vc}�W�Z|WHZ�x7i�V£a*kgW(f­��V�Y`asV£}pt],^�dyf�Z�Vgn,Vg^~�U�`]�W�Z\def[n×i`],dyf�Z�],^�kO]u5i��yVg�3f�Y�uX�`Vg^|ao](p¤W�f�W�^\��dyZ\^rW(^\dy�ex�T�denT ��Y[Z=i[^\Vgz�asi`V�kOdÚà`V�}�eV~w�Vg�B]�p;i�^\V£kOd{a�de],f-�5éUW�^\d�W(���yV�a_def�Z\T�VXdef�i[Y�Z�i�^�],n^|W(u u�Wgx��`V�}7V�kO�{W�^\V�}�Z�]�T`Wgw�VX],f�V¤](p;Z\T[V�asVuXY��eZ�dei�^�V�kOdyasdy],f�Z�x�i`V�a0defoZ�T�V;],Y�Z�i�Y�Z$i�^\]n,^rW(uC�7xoi��{WkOdef�nÝ}�de^�V�kOZ\dyw�V�a0�%a�i`V�kOd{W��²kO],u5u¤Vgf�Z|a|�`defXZ\T�Vdef[i�Y�Z�à��eV��»«�fXZ\T[d{a�b·Wgx���Z\T�V;def�i[Y�Z�à`�yVH^�Vgu�W�def`a0W�f�®_§¨¬7«Mq�],^\Z�^|W�f�zw�=�­kO],u¤i`W(Z�de���yVci�^\]n,^|W�uìW(f�}kgW�f¥�`Vo^\Y[f�W�Z�W�f�x�Z\dyu5V�Y`asdyf�n�],^|}7def`W�^\x�W(^�deZ�T�u5VgZ�d{k_],f�W(f7x!q�],^�Z\^rW(f�asx[asZ\V~u pt],^­kO]u5i`W�^\d{a�],fbcdeZ�T�Z\T�V�uXY��eZ�dei�^�V�kOd{a�dÚ],fXV���Y[dewW(�yVgf�Z~�

SUT�d{aUZ�^|W�f`as��W(Z\]^_a�Y�i�i`],^�Z|a;W��{W�^\n,V�f7Y�uX��V~^�]�p$q�]^\Z\^rW(f�z��<�ÛkO]f`asZ�^\Y`kOZra¡dyf�w�]�ew7def�n�uXY��eZ�dei�^�V�kOdÚzasdy],f�wW�^\d{W����eV£aO�Bdyf`kO�yY`}�def[n�W��e��Z\T�V¤asZrW(f`}�W�^|}3W(^�deZ�T�u5VgZ�d{k�],i`Vg^rW(Z�],^|a?�0u5de�7V�}�u5]7}7VjVg�7i�^�V�a\a�de],f�aO�W(Y[Z\],u¦W(Z\d�k�Z�x7i�V·kO],f7w�Vg^rasde]f`aO�kO]u5i`W(^�d{a�],f`a?�(�y],n,d�kgW(�[«�q�a�Z|W(Z�Vgu5Vgf7Z|a0�tdef`k?�eY`}�dyf�n�«sqMz%Scã_¶$§Hz�¶G£B¬7¶kO]f`asZ�^\Y`kOZram�r�-ptY[f`kOZ\dy],f�kgW��e��aO�*^\V�W}�ëgbc^�deZ�VXasZ|W�Z\Vgu¤Vgf�ZraHW�f`}¥u5]ßasZ;](p·Z\T�V¤q�],^\Z�^|W�f¥dyf�Z�^\def�asd{k~a¨�td%�íVß�®_¯H¬`�²° Ù F��*¢ Ù ¬���¶ HV5M��VgZ|k� �|�_¬�Z�],^rW(n,VXd{a�W(Y�Z�],u�W�Z\d{k~W(�e�yx�W(�y�e]7kgW�Z\V�}=pt]^_uXY��eZ�dei�^�V�kOdyasdy],f5wW(^�dezW(�[�eV�a?��dyf`kO�eY�}�def�n!Z�Vgu5i`],^rW(^�deV�a?�$W(f`}3Z\T�V�^\V£��Y�dy^\V�}�def�dyZ\d{W��edyâ�W(Z�de],f�pt],^XZ\T�V�°�5$q �_§ i�W,k|l,W�n,V�d{aW(Y[Z\],u¦W(Z\d�kgW(�y�exXi`Vg^spt]^\u5V�}²�

�~ç

Page 17: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

¢$],u5i[�eVgZ�V�}�VgZrW(de��a�]�p$Z\T�d�aUZ\^rW(f`a��{W(Z�],^;i�^\]n,^rW(uìu�Wgxj�`V_pt],Y[f`}=dyf�åÚ�Oè��É`É`Ê S;Õ�PgÑ�Ï`P�Ø3Q�ÐMR�Õ

Ù f�V;W(i�i[�ed{k~W(Z\dy],fo]�pMW_i`W,k|lW(nV_a�Y`kmTXWa$°�5�qe�_§�d�aBZ\]�^\V~u5V�}�x�}7d��¦kOY��eZMf7Y�u5Vg^�d{kgW���i�^\]���eVgu¦aZ\T�W(Z�a�],u5VgZ�deu5V£aUW(^�d{a�Vodef�kO]f�w�Vgf7Z\dy],f`W��0a�kOdeV~f�Z�d à²k_i�^�],n,^rW(u�a?��«%f!Z\T�V�a�VXkgW,a�V�aO�-Wji�^\V£kOd{a�de],f!�yVgw�Vg�i`Vg^\T�W(i`ao}�]Y����yV5],^oZ�^\dei[�eVXZ\T`W�Z�](p�],^r}�def�W(^\x�u�WkmT�dyf�Voi�^�V�kOd{a�de]f�d{a­W(�e�$Z�T`W(Zod�a¨^\V£��Y�dy^\V�}²� Ù f�Vu5dyn,T7ZUbU]f`}�Vg^cT[](b)ujY`k|TX�e],f[n,Vg^;a�Y`kmT�Woi�^\]n,^rW(uìd{aU�ydel�Vg�yx�Z\]X^\Y[f=Y�asdef[n5kgW��e��aUZ\]X°�5$q �_§���_asdyf�n�Z\T�VXZ\^rW(f`a��{W�Z\],^�i�^�],n^|W(u u5Vgf7Z\dy],f�V£}=def�Z\T[Voi�^\Vgw7de]Y`a�asV�k?Z\de]f*�*Z\T�VXW�Y�Z\T[],^�T�W,a�k?],f�zw�Vg^�Z\V�}oZ\]­ujY��yZ\dyi�^\V�k?dea�de]fXW¨i�^�],n,^rW(u Z�T`W(Z~��W�u5],f�n­],Z�T�Vg^UZ�T�def[n�aO�[kO],u¤i�Y�Z\V£a»p�WasZ·q�]Y�^\dyVg^$Z\^rW(f`a�zpt],^�u�ac�%q0q»Scam�|�$SUT[VHi�^�V�kOd�asde]fj�yVgw�Vg��b·W,a$��©�}7den,dyZ|a?� Ù f¤W�¬ßde�ed�kO],f�M;^|W�i�T�d{k~aUª;«r¬[¢�bU]^\l[asZrW(Z\dy],f*�Z\T[V_ujY[�eZ\dyi�^\V£kOdyasde]fXkO]7}�V_^rW(f!�~�,µoZ\dyu5V�a0a��e]�bUVg^$Z�T`W(f�Z\T[V_a�W(u5V;i�^\]n,^rW(u bcdyZ\T5]^|}�dyf`W(^�x5}�]Y����yVi�^�V�kOd{a�de]f���ç(�,zt��dyZO��W(^�deZ�T�u5VgZ�d{k,�MSUT7Y`a�bcT�dy�eV�a�Y`k|T5^\Y�f�aUW(^�V_def�}�VgV�}ji`]ßa\asdy���eVß��Z\T[Vgx5W�^\V_f[],ZcZ\]­�`VkO]f`asd�}�Vg^\V£}��yden,T7Z\�yx��MSUT�V;u�W(dyfj^�V�W,a�],f5Z�T�d{a0^|W�Z\dy]�d{a$a�]�T�dyn,T5d�a¸Z�T`W(Z�ujY�kmT­](pMZ\T[V_kO]u5i�Y�ZrW(Z�de],f�W(�VO±²],^�Z�W(Z�Z�T�d{aHi[^\V�kOd�asdy],f��yVgw�Vg�*d�aHu5Vg^�Vg�exXZ\T�Vo]�w�Vg^�T�V�W}=](p�u�W�l�dyf�nXf�Y�u¤Vg^\]Y`aHa�Y���^�],Y�Z�def�VXkgW��e��aO�SUT�V�W(Y[Z\T�]^jT`Wa�f[],Z¤W(Z\Z�Vgu5i�Z�V�}!Z\]�kO],f7w�Vg^\Z­Z\T�d�a�i�^\]n,^rW(u Z\]!uXY��eZ�dei�^�V�kOd�asde]f!Y`asdyf�n�W(f�]Z\T�Vg^i`WkmlW(nV�����Y[Z¨Z�deu5dyf�no^|W�Z\dy]�aHVgw�V~f�T�dyn,T�Vg^�Z\T`W�f×�~�,µ5T`Wgw�V��`VgVgf!^�Vgi`],^�Z\V�}��7x�]Z\T�Vg^�^\V�a�V�W(^rkmT�V~^|abcT�]XT`Wgw�V�W(Z�Z\Vgu¤i�Z\V�}¤asY`k|T�kO],f7w�Vg^|a�de]f`a�åí�7�Oè%�

®Hf�]Z\T�Vg^�W(i[i��ed�kgW(Z�de],f�]�p�W�i�W,k|l,W�n,VÛasY`k|T!WaH°�5$q �_§�d�a�pt],^;i�^\]���eVgu¦a�bcT�Vg^�V�Z�T�V�i�^\V�k?d{asdy],f�eV~w�Vg��^�V���Y[de^\V£}¦d�a¡uXY`k|T5T�dyn,T�Vg^;Z\T�W(f!Z\T�W(Z;bcT�d{k|T!kgW�f��`Vo],�[Z|W(dyf�V�}�Z\T�^�],Y�nT!],^|}7def`W�^\x�u¦W,k|T�def�VW(^�deZ�T�u5VgZ�d{k,��i`Vg^�T`W(i�a�T7Y�f`}�^�V�}�a�],^oVgw�Vgf�Z\T[],Y`a�W(f`}�ao](pÝ}�dyn,deZraO�¥¬ßY`kmT�W�i�i��ed�kgW(Z�de]f`a�W�^\d{a�V5u5]ßasZ](ptZ�Vgf�dyf�f�Y[u5Vg^\d�kgW(�»asZ�Y`}�dyV�a¨]�p_u�W�Z\T�V~u�W(Z�d{kgW��0��Y�V�a�Z\de]f`aO�h«�f�asY�kmT3k~W,asV£a�Z\T�V¤}�],u¤def`W�f�Z­kO]u5zi�Y�ZrW(Z�de],f�W(�»kO]�a�Zcd{aUf�]ZHu5V~^\Vg�yxoasY[��^\]Y�Z\dyf�VokgW��e�ydef�n­](w�V~^\T�V�W}���W�f`}�W��en],^\dyZ\T�u¤d{kUp�W,kOZ�],^|ac�`V�kO]u5Vu5]^\V�a�den,f[d à²kgW�f�Z~�

Ù f�VHb·Wgx�Z\]­kO]u5i`W�^\VcZ\T[VHi`Vg^�pt],^\u¦W(f`kOVc]�p*Z�T�V;W(Y�Z�T�],^~îïa$i`W,k|lW(n,V;bcdeZ�Tj]Z\T�V~^�uXY��yZ\dei[^\V�kOdya�de],fi`WkmlW(nV�a¨d�a_Z\]!k?],u5i`W�^\VoZ�deu5dyf�n�aUpt],^­Z\T�V¤kO],u¤i�Y�Z|W�Z\dy],f!](p�W�u�W(Z�T�Vgu�W�Z\d�kgW(�MkO]f`asZrW(f7Zoa�Y`kmT�W,a��Z\]3T�dyn,Tói�^\V�k?d{asdy],f*�;a�def`kOV�Z\T�d�a5d{ajV�Wasdy�ex×i[^\],n^|W�u5u5V�}�W(f`}�x�VgZXVg��V~^|kOd�asV�aXW(�y�_](pÛZ\T�V!�`Wasd�kW(^�deZ�T�u5VgZ�d{ko^\],Y[Z\def[V�aO�3SMW(���yV�a5��W(f`}���n,dew�V¦as],u¤V=i`Vg^�pt],^�u�W(f`k?V5^\V�a�Y��eZra�],f3Z\T[d{a�i�^�],���yVgu pt],^Z\T[VX°�5�qe�_§´i`WkmlW�n,V���Z�T�VX°!W(Z�T�Vgu�W�Z\d�kgWo���ö©¦i�W,k|l,W�n,VXW�f`}¥¯U^�Vgf7ZgîïaUi�W,k|l,W�n,V��­SUT�VXW��en,]^\dyZ\T�uY`a�V�}��7x3°!W(Z�T�Vgu�W�Z\d�kgW�d{a�f�]Z5u5Vgf7Z\dy],f�V£} dyf×Z\T[V�°!W�Z\T�V~u�W(Z�d{kgW�^�VOptVg^\V~f`kOV5�`]�],l åí��(è%����Y�ZXdeZd{a�W(�eu¤]�asZ�kOVg^�Z|W�def��yx5VgdeZ�T�Vg^;Z\T�V5¬�W(�{W�u5def[z%¯U^�Vgf�Z;W��en],^\dyZ\T�uì]^¨]f�Vo](p�Z�T�VX¯U],^�bUVgdyf!W(�yn,]^\deZ�T�u�a?�SUT�VXW��en,]^\dyZ\T�u Y`a�V�}��7x!¯U^\V~f�Z~îïaci`W,k|lW(n,V�pt]^­kO],u5i[Y�Z\dyf�n5��d�aHZ\T�V5¬�W(�{W�u5def[z%¯U^�Vgf�Z;W��en],^\dyZ\T�uh��`Wasd{k~W(�e�yxjZ�T�V­a\W�u5V­W,a;}�V�a\k?^\de�`V�}Xdef�asV�k?Z\de]f����

SUT�V!Z\dyu5def[n�a�def�SBW����eV��!W(^�V=pt]^�W�¬�dy�ed{k?],f�M;^|W(i[T�d{kgaXu5]7}�Vg�c�dFHz%�ø,©�ªH«\¬�¢Cb�],^�l�a�Z|W(Z�de]f�Î]f�V5i�^�]7kOV�a�as],^?�|�0bcT�d�kmT�T`WaoW=Z\T[Vg],^�VgZ\d�kgW(�$i`V�W(l�i`Vg^spt]^\u�W�f`kOVX](p­�~ç�°=�`]i:ë�aoW�f`}�W�£�def[i`W,k|li`Vg^spt]^\u�W�f`kOVX](p;�[�ï³�°=��],i:ë£a5�%}�]Y����eV¤i�^\V�k?d{asdy],f!à`n,Y[^\V�a|�|�!SUT�V¤Z\deu¤def�nßaHdef3SMW(�[�eV���W(^\VXpt],^oW¢$^|Wgx�I_z%°�5�a�Y�i`Vg^|k?],u5i�Y[Z\Vg^­�Î]f�Voi�^\]7k?V�a\a�],^O�r�*bcT�d{k|T�T`Wa_W5Z\T�V~],^\V~Z\d{k~W(�*i`V�W(l�i`Vg^spt]^\u�W�f`kOV�]�p�,�©�°=�`],i:ë£a_W(f�}!WO£�def�i�W,k|l=i`Vg^�pt],^�u�W(f`k?V¨]�p·³,©5°=�`]i:ë�a?�_Þ�T�Vgf�Z\T�V�a�V�^�Y�f`aHb�Vg^\V­u�W,}�Vß��Z\T�V¬jM�«�asx[asZ�Vgu bcWa¨^\Y[f�f�def[n�«�ª;«BH �7�ï��a�x�a�Z\Vgu a�](ptZ�bcW�^\V��»W(f`}�Z\T�V�¢$^|Wgx�bcW,a�^\Y�f[f�def�n��_§�«r¢ Ù ¬ç��ö©��$®����{W�f�lodefXZ\T[V_Z|W����eV;def`}7d{kgW�Z\V�aBZ�T`W(Z�Z\T�V;^\Y[f5bU]Y��{}jT�W£w�VcZrW(l�Vgf¤W(f¤Y�f�^\V£W,as]f`W(�[�eV�W�u5],Y�f7Z](p·Z\dyu5VoW�f`}¥bcWa_f�],Z­i�V~^spt],^�u5V�}��ÛSUT�Vjf7Y�uX�`Vg^|ac](p�}�dyn,dyZ|aHdyf¥Z�T�V5a�V�kO]f`}¥k?],�eY[u5f�]�p;Z\T�VXZ�bU]Z|W����eV£ackO],^�^\V�a�i�]f`}=Z�]Y�ßõï��,µ_÷�� Ý W�f`}�ç7õïç�,�_÷�� Ý ��^�V�asi`V�kOZ�dew�Vg�yx���bcT�d{k|T�W�^\V�Z\T�V­a�deâgV�a�kO],f7w�Vgf�dyVgf7Zpt],^;Z\T[V�q»q0SUzÎ��W,asV£}¦uXY��yZ\dei[�ed{k~W(Z\dy],fXa�kmT�V~u5V_}7V�a\kO^�de�`V�}�W(�`]�w�V��

�C�

Page 18: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

Ù f�Z\T[VH¬jM�«Masx[asZ\V~u!��°�5$q �_§�d{aMas�yden,T7Z\�yxHp�W,a�Z\Vg^MZ\T�W(fX°!W(Z�T�Vgu�W�Z\d�kgWUW�f`}�^\]Y�n,T��yx¨pt]Y�^BZ�deu5V£aW,a*p�W,asZ¸W,a0¯U^�Vgf�Z~îïa`i`W,k|lW(n,VUpt]^0u5]7}�V£asZ*i�^�V�kOd{a�de]f��eV~w�Vg�{a?� Ù f`kOV$Z\T�V��eVgw�V~�,](p²i�^�V�kOd�asde]f�^�d{asV£a*W(�`]�w�V�g©©,©X}�dendeZraO�`°�5$q �_§�T`W,a;WokO]f`asd�}�Vg^|W����eVÝW,}�wW(f7Z|W�n,V��²}�Y�V�u�W�def��yx�Z�]odeZ|acq»q0SUzÎ��W,asV£}=uXY��eZ�dei��yx^\]Y�Z\dyf�V��$®cZ;�,³7�ïµ,³©5}�dyn,deZci[^\V�kOd�asdy],f*�7Z\T�V�T�dyn,T�V�a�ZH�yVgw�Vg�²W(Z;bcT�d�kmT�W��e�*Z�T�^\VgV­kO]Y��{}5�`Vok?],u5i`W�^\V�}²�Z\T[VX°�5�qe�_§#i`W,k|lW(nVjd�a¡à`w�VoZ\dyu5V�aUp�W,a�Z\Vg^�Z\T�W(f�°!W(Z\T[Vgu�W(Z�d{kgWX���ö©�W(f`}¥�ß©5Z\deu¤V�a·p�WasZ�Vg^�Z\T`W�f¯U^\V~f�Z~îïa�i�W,k|l,W�n,V��

Ù f=Z�T�V�¢$^rW£xEI_z�°�5B�7Z\T�V�°�5$q ��§ i`WkmlW�n,V�d{a$Z\T�^�VgV_Z\dyu5V�aBp�W,a�Z\Vg^�Z\T`W�f�¯U^\Vgf7Zgîöa¸i�W,k|l,W�n,V­W(ZZ\T[V��e]�b�V�asZci�^�V�kOd�asde]f��eVgw�Vg�-W(f`}��[�gµjZ�deu5V£a¸p�W,a�Z\Vg^�W(Zݵ(���ö�,µ©5}�dendeZra¡i�^�V�kOd�asde]f*��Z\T[V�T�dyn,T�V�a�ZH�yVgw�Vg�W(Z�bcT�d{k|To�`],Z�T�k?],Y���}��`V�kO],u5i�W(^\V£}��0SUb�]¨^�V�W,a�],f`aUZ�T�d{a0^rW(Z\dy]�d�a�a�]�T�dyn,TX],f5Z�T�V�¢$^|Wgx4I_z�°�5�W(^�V�\���cZ\T[VX°�5�qe�_§´^�],Y�Z�def�V�a_Vgu¤i��e]�xo�`]�W�Z\def[n=i`]def7Z�W�^\dyZ\T�u5V~Z\d{k��bcT�Vg^�V�W,a�¯U^�Vgf�Z~îïaci`W,k|lW(nVoY`asV�adef7Z\V~n,Vg^�],i`Vg^rW(Z�de],f�aO��W(f`}×�����­W�T�denT�i`Vg^|kOV~f�ZrW(n,V¤](p;],i`Vg^rW(Z�de],f�a�def�Z�T�V�°�5$q �_§#^�],Y�Z�def�V�a­W(^�Vi`Vg^spt]^\u5V£}�dyfjw�V�k?Z\],^$u5]7}7V���bcT�Vg^\V£W,a�uXY`k|T�]�pMZ\T�V�k?],u5i�Y[Z|W(Z�de]fjdyf�¯U^\Vgf7ZgîöaBi`WkmlW(nV_d{a�}�],f[V_defa\k~W(�{W�^Hu¤]7}�V��c®cZcZ\T�V­T�denT�V�a�ZHi�^�V�kOd�asde]f��eVgw�Vg�²�ed�asZ\V£}���Z�T�V�I_z�°�5×d{ac^\Y[f�f�def[njZ�T�VoW�Y�Z\T�]^gîöaHkO]7}7VW(Z­�g³µj°=��],i:ë£aO�`],^;µ,³�ì ](p$Z�T�V�],f�V�i�^�]7kOV�a\a�],^;i`V�W(l�^|W�Z\V��

¬�def�kOV�¯U^\V~f�Z~îïa¨i�W,k|l,W�n,VhW(f`}3°!W(Z�T�Vgu�W�Z\d�kgW�W�^\V�i`Vg^\T`W�i`aoZ\T�V�u5]ßasZobcd{}7Vg�ex�Y`asV£} i�W,k|l,W�n,V�a](p�Z�T�d{a_a�],^�Zg�*],Z�T�Vg^�W�Y�Z\T�]^|a�Zsx7i�d�kgW(�y�ex�kO]u5i`W�^\V�Z�T�Vgdy^Hi`Vg^�pt],^\u¦W(f`kOV�à`n,Y[^\V�a_bcdeZ�T�]f�Vj]�p�Z\T�V�a�V��q�],^XVg�[W(u5i��yV���¬ßu5deZ�T�åæ�,©�è;kO],u5i�W(^\V£a�T�d{aoi`W,k|lW(nV�bcdeZ�T�¯U^�Vgf�Z~îïa?�׬�def`k?V ¬ßu5deZ�T*îïa�Z\deu¤def�nßaÝpt],^ptY�f`}[W(u5Vgf7Z|W��*W}�}!W(f`}�ujY[�eZ\dyi��exo]i`Vg^|W�Z\de]f`a_W�^\V�^�],Y�nT��ex�kO]u5i`W�^|W(�[�eV�Z\]¤¯U^\Vgf7ZgîöaO�7deZcbU]Y��{}��`VVg�7i`V�kOZ\V£}jZ\T`W�Z_°�5$q ��§ bU]Y��{}5Vg�7T�de�[deZca�deu5dy�{W�^�i`Vg^�pt],^�u�W(f`k?V_^|W�Z\de]ßa¡bcdyZ\T!¬�u5dyZ\T*îöa�i`WkmlW�n,V��J5RCh*ÐMÏZXÌtÕ���i`Ø3Õ�Ð`N�L

SUT�V!W�Y�Z\T[],^5bcd�asT�V�aoZ\]�W,k|l7f�]�bc�eV�}�nV�T�Vg�ei7ptY��ckO]u5u5Vgf7Z|a�W�f`}�asY�nn,V�a�Z\dy],f`aj�7x�Þ��G��W(T�W(f](pÝZ\T�VK�Hf�dew�V~^|asdyZ�x¥]�po¢�W(�yd pt],^�f�d{W7�c¯UVg^�l�Vg�eVgxß�B�7x`�o�$¯U^�den,nßa�]�p­Z\T�V��Hf�dyw�Vg^|a�deZ�x�](p­°�Vg�y�`],Y�^�f�V��®HY`a�Z\^rW(�ed�W��`W�f`}5��x�ª��`¯U^\V~f�Z�](p$Z�T�V­®HY`asZ�^|W��ed{W�f�§_W(Z�de],f�W(���Hf�dyw�Vg^|a�deZ�x��

�~ø

Page 19: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

u FHdendeZ|a °�5$q �_§ °!W(Z\T[Vgu�W(Z�d{kgW��7�ï© ¯U^�Vgf7Z� ç© ©��ö©,©ø ©7�ï©�,© ©��ö©,�,�� �,�~µ ©��ö©��~ø ©7�ï©�,© ©��ö©,ç,�µ �,�© ©��ö©,�ø ©7�冀,© ©��y�-�g�ç ��ç© ©��ö©,³ç ©7�e�~�,© ©��öµ(���� ³,�µ ©��ö�,³�� ©7�ï�ç,© ���y�gµ,©ø ��ïø,µ© ©��í���~© ��ï�ç,© ø��öç��g©³ �7����©© ���æ���~© �[�í�ß³,© �(�[�ïµ,µ©�g© �ß�í��©© ç��ö�,ç© �~ø��öç��g© �?��µ7�ï�,©©�,� �O�[����³µ �gø7�ï³�,© �£ø��öø,³,© ç7�g³7�e�g©©�g� �,³7�ïµ,³© ç(�[�ï³ø,© �,©���í��©,© �ç,ç7�,�ï©©,©�g� µ,³7�e�gøµ �(��ç7�ïøø,©�O� �,�~ø��ï����© ø,©(�[�ï�©,©

SMW(���yVj�¹¡¬�M_«$Þ¥]^\l[asZrW(Z\dy],fK5BVg^spt]^\u�W�f`kOV�ª¡V£asY��yZ|a_�%a�V�kO]f`}�am�

u FHdyn,dyZ|a °�5$q ��§ ¯U^\Vgf7Z� �g©,µ ©��ö©,©ç ©��ö©��~³µ ���g© ©��ö©,©³ ©��ö©,���ç ���,µ ©��ö©��~ç ©��ö©,øø� ø(��µ ©��ö©,�� ©��ö�,�³ø �,�öç,³,µ ©��ö©�~� ©��öø��~µ³ ���ö�,³,© ©��y�g�© ���y�-�£ç�~© ç��í��ø,© ©��ö��£© �g���ö©(�ß©�� �g�7�ïµ,çµ ©��öµ,�µ µ(���öç,�©�~� ��ß�e�g�µ �,�y�,�~µ �,�,©7�ïø©,©�~� µ(�[�ï�,µ© ���ö�(�ßµ ³��µ7�ïç©,©�?� �~©,ø7�ïµ,©µ µ��ö©�£©�~µ �7�-�ß�ï©��~© �,�,�ö©�£©�~ç �ß�(�[�ï©,�© �(���ö�,©©�C� øç,ø7�ï©(�ßµ µ,���öµ,ç©�~ø �,���£�,ç7�ï©,³© �,�O�[���£©,©

SMW(���yV��7¹¡¢$^rWgxOI_z�°�5`5BVg^�pt],^�u�W(f`k?V�ª¡V£asY��yZ|a_�%a�V�kO]f`}�am�

�~³

Page 20: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

îðïVñ�ïVò{ï�ó¯ô±ï�õåÚ�Oè­¯cW(dy�eVgxß�jF��`ã��y�Bêr®HY�Z\]u�W(Z�d{k_S*^|W�f`as��W(Z�de],f�](p�q�]^\Z\^rW(f�50^\]n,^|W�u�acZ\]¤°�Y��eZ�dei�^�V�kOd{a�de]f`ë��7ª;§_ª

S*V�kmT[f�d{kgW���ªcVgi`],^�Z�ªH§_ªcz�³��Oz�©,�µ��[§_®¨¬­®Hi�i[�edeV£}�ªcV�asV�W�^|k|TX¯U^|W�f`kmT-�,§_®�¬7®�®Hu5V�a*ªcV�a�V�W(^rkmT¢$Vgf7Z\Vg^~�

åæ�(è­¯cW(dy�eVgxß�jF��²ã��e�0êrSUT�Vj¢$]u5i�Y�ZrW(Z�de],f�](p���Z\]¤�,³��ö�,ç©��ï©©,©�FHV�k?deu�W��6FHdyn,deZraL��asdef[n5¯U]^\bUV~def`a?îö Y`W(^�Z\d�kgW(�y�ex�¢$],f7w�Vg^\nVgf�ZM®;�en,]^\dyZ\T�u�ë7��÷¨ødù¸ú:ûtü�ø�ù¸ý«þtÿ�������� ü���jù�ø�ù ý���-�gw�],�%�~µ,©��%ä�W�f*���g³ø,ø��r�i*�`�ø,� �¤�³,ç��

åæ�(è­¯cW(dy�eVgxß��F���ã��e�oê|® ã;den,TØ5BVg^�pt],^\u¦W(f`kOV�q0q»S ®;�en,]^\dyZ\T�u pt],^¤é�V£kOZ\]^=¬�Y[i�V~^|kO]u5i�Y�Z�Vg^|a�ë�����:ù�û����bø�ù¸ý����:ø������������:ø������������û�� þ���ü����jùwû��! "�#��� ýBþ�ødù¸ý���cÿO�w�],�%�ß�j�s¬ßi�^\dyf�nX�g³,øø��r��i*�7ø,�$�Ûø���

å �,è­¯cW(dy�eVgxß�jF��`ã��y�0ê|§HY[u5Vg^\d�kgW(�²ªcV�asY[�eZ|aU]f�Z�T�VoS*^|W�f`a\kOV~f`}�Vgf`k?V¨]�pc¢$],f�asZ|W�f�ZraH«%f7w�],�yw�dyf�nX�0��ñ�W(f�}�¶0Y��yVg^gîöa�¢$],f`a�Z|W(f7Z|ë7�{÷¨ødù¸ú:û ü3ø�ù ýBþtÿ%������� ü���jù�ø�ù ý���-�Bw�],���Mµ,©��%ä�W�f*�U�~³,øø��|�$i*�»���µ&��,ø7�,�

åæµ(è­¯cW(dy�eVgxß�LF­�cã��e�;W�f`} q�Vg^�n,Y`a�],f*��ã­�cª¨�Å5B�e�oêr§HY�u5Vg^�d{kgW��_ªcV�a�Y��eZraj],f)ª¡V~�{W(Z�de]f`a5¯UVgZ�bUV~Vgf§HY�u¤Vg^\d�kgW(��¢$]f`asZrW(f7Z|a��_a�def�nÛWo§HVgb�®H�en],^\dyZ\T�u¦ë���÷¨ø�ù ú:ûtü3ødù¸ýBþ ÿ'���(����ü����jùwødù¸ý���*��w�]�%�7µ,�� Ù kOZ�],�`Vg^­�g³ø,³��r��i-�`ç(��³)�¦ç,µ,ç7�

åæç(è­¯UV�k|l�u¦W(f�f*��5M�e�# +*Lý ÿ�ù,���.-/���10 ý��:M;],�eV~u 50^\V£a\aO�²¯U],Y[�{}�Vg^;¢ Ù �*�g³�=���åâ�gè­¯U],^�bUVgdyf*��ä���°��y��W(f�}j¯U]^\bUV~def*��5M��¯_�e�²ê|SUT�V�®H^\dyZ\T�u¤VgZ\d�kOzwM;Vg]ujV~Z\^\dyk0°�V£W(f¤W(f`}Xq`W,asZc¢$]u5z

i�Y�ZrW(Z�de],f�](p�¶0�yVgu5Vgf7Z|W�^\xoq�Y�f�kOZ\dy],f`a�ë����2�, y÷43�û65-ý û87�w�],�����,ç��\�~³,ø����|�`i*�`�µ��%�¤�ç,µ��åæø(è­¯U],^�bUVgdyf*��ä��`°��y��W�f`}�¯U]^\bUV~def*��5B�`¯_�e�90 ý ø���:�ù¸úbû$ <;J÷���ä,]T�f�Þ�dy�eVgx��[§HVgb�I$],^�l��*�~³,ø����åæ³(è­¯U],^�bUVgdyf*��ä��`°��y��¯U]^\bUV~def*��5B�`¯_�e�[W(f`}�¯cW(dy�eVgx���F��²ã��y�Bê|ª;W(u¦W(f7Y,Ü�W(f*�[°�]7}�Y���W(^�¶���Y`W�Z\de]f`aO�

W(f�}�®Hi�i[^\]���dyu�W(Z�de]f`a0Z\]E50d{ë7��=6ú:û> Lü3û��.ýBþ�ø��E÷¨ø�ù¸úbûtü3ø�ù ýBþ�ø��b÷?���bù¸ú#�@-*�7w�],�%�[³,ç��\�~³,ø,³��|�`i*��,©7�%�¤���~³��

å �~©(è­¯U^\V~f�Z~�`ª¨�c5M�e�0ê|q`WasZ�°�Y��eZ�dei��yVgzB50^�V�kOd{a�de]f�¶0w,W��eY`W�Z\dy],f�]�p�¶0�eVgu¤Vgf�ZrW(^�xXq�Y[f`kOZ\dy],f`a�ë������������:ø�����Åù¸ú:û> <��÷���w�],������=���g³�£ç��r��i*�`����� �¤�µ���

å ��Oè­¯U^\V~f�Z~��ª��j5M�e�Mê|®�q�],^�Z\^rW(f�°�Y��eZ�dei��yVy50^�V�kOd{a�de]f5®H^�deZ�T�u5VgZ�d{k{5»W,k|l,W�n,V�ë7�� ��÷ =A��ø��cÿtø�þ�ù ý���cÿ���K÷¨ø�ù ú:ûtü3ødù¸ýBþ�ø����#����ù,7Gø���û£��w�],�%�7�����g³���ø��r��i-�`µ�B�3�£©��

å �~�(è­¯U^\V~f�Z~�*ª¨�b5B�y�Uê|°�Y[�eZ\dyi��eV~zB50^\V£kOd{a�de],fDC`Vg^\]z%qMdef`}�dyf�n�°�VgZ�T�]7}�a�W(f�} Z�T�V5¢$],u5i[�eVg�7deZ�xX](p;¶0�yVgzu5Vgf7Z|W�^\x�q�Y�f�kOZ\dy],fo¶0wW(�yY`W(Z�de]f`ë��2 E�:ø��F- ù¸ý«þ"��� ü���jù�ø�ù ý���bø������ü���� û�G�ýBùH-*�~®_kgW}�Vgu5d�k 50^\V�a�aO�§HVgb9I$],^�l��²�g³�£ç���i-�*�gµ��$�h�-��ç7�

å �~�(è­¯U^\dyn,nßaO�j�_VgdyZ\T*�*êr®50^\V�kOd�asV�¢�W(��kOY��{W�Z\dy],f5]�pMZ\T�V�q�Vgdyn,Vgf7�`W�Y�u ¢$]f`asZrW(f7Z|a\ë7�:÷¨ødù¸ú:û ü3ø�ù ýBþtÿ'�������üI��jùwødù¸ý����*��w�]�%��µ��5���g³³��(�r��i-�����,µ<�X���,³7�

å �?�,è­¯UY�Vg�y�%�GF��y�UW�f`}�Þ�W(^r}��cª��e�_êr® °�Y��yZ\dei[^\V�kOd�asV¤«%f�Z�Vgn,Vg^Û®H^\dyZ\T�u¤VgZ\d�k450W,k|lW(n,V£ë��E���J�����:ø��%���������û�� þ���üI��jù¸ýK�AL`�7w�],�������\�g³ø,³��|�`i*�`ø,³)�!�~©�ß�

�©

Page 21: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

å �~µ(èo¢$T7Y`}�f�]�w[asl7x��GF��0éo�»W(f`}×¢$T7Y`}�f�]�w[asl7x��ÇM­�Méo�e�_ê?¢$],u5i�Y[Z|W(Z�de]f×W�f`}3®H^\dyZ\T�u¤VgZ\d�ko§_W(Z�Y�^\V](p�¢$�{Wa\asd�kgW(��¢$],f`a�Z|W(f7Z|a�ë���,M�÷N3yû�ÿsû�ø���þ�úD3�û��O����ù��*«�¯c° S_�*ä���Þ�W(Zras],f�ªcV�asV�W�^|k|T�¢$Vgf7Z\Vg^~�ªH¢;�O�ß³,µ©��.PÛç,çø��gø��|�0�~³,ø³��

å �~ç(èo¢$T7Y`}�f�]�w[asl7x��cF���éo�[W(f`}!¢$T�Y`}7f�]�w�a�l�x��:M­��éo�y��i`Vg^ras],f�W(�»kO],u5uXY�f�dykgW�Z\dy],f*���~³,³7�,�å �C�gèo¢$],uX�`W7�j5B�cM­�e�Bêr¶0��i`],f[Vgf�Z�d{W�Z\de]f!¢$^\x7i�Z\]ßasx[asZ\V~u�a�]f=Z�T�V�«�¯c°¬5U¢�ë7���.M�÷Q�R-cÿ�ùwûtü�ÿS���J����T

�:ø��%��w�],�����³=���g³,³©��r��i*��µ�,ç �¦µ,�ø��å �~ø(è­q�VgdenVgf7�`W(Y�uh��°��²ä��e�Uê ö Y`W(f7Z\dyZ|W(Z�dew�V �Hf�dew�V~^|a\W��edyZsxXpt],^�W�¢$�{Wa\a_](p·§H]f��edyf�V�W�^�S�^rW(f`a%pt],^�u�W(z

Z\dy],f`a�ë������������:ø������S�cù�ø�ù¸ý ÿ�ù ýBþ�ø��0 ú�-*ÿwýBþ ÿO��w�]�%�²�g³��\�g³���ø��|�`i*�`�,µ)��µ���å �~³(è­q�Vg^\nY`as]f*�²ã��`ª¨�c5M�e�`W�f`}�q�],^rkgW,}7V���ª���Þ��e�0ê�M;Vgf�Vg^rW(�edyâ�W(Z�de]f=]�p$Z\T[V�¶0Y`k?�ed{}7V�W(f�®H�yn,],^�deZ�T�u

pt],^XªcV�W��c§HY�uX�`Vg^|a_Z�]�®H�e�JFHdyu5Vgf`a�de],f�a�ãHdyn,T�Vg^­SUT`W�f�SUb�]�ë��UM$���K�¸ûCù ýH�V���Vù¸úbûW ±ü3û��&ý«þ�ø��÷¨ø�ù ú:ûtü3ødù¸ý«þ�ø���#��þ&ý¸û\ùX--��w�],���*�o�\�g³���³��|�`i*�`³��~� �¤³��?���åí�©(è­ã_WasZ|W}���ä��y�,ä,Y`a�Zg��¯_�y�<£*W�n�W�^\d{WaO�7ä���¢;�e�W(f`}j¬7k|T�f�]^\^~��¢;�=5B�y��ê 5B],�yx�f�]u5d{W��7SUdeu5V¸®H�en],^\dyZ\T�u¦a

pt],^ÝqBdef`}7def�n¤«%f�Z�Vgn,Vg^;ªcVg��W(Z\dy],f`a�®Hu5],f[nXª¡V�W��0§;Y�uj�`Vg^ra\ë7���2�, y÷Y���J�����bø��S���Z����ü����ù¸ýH�2L`�w�],�����~ø=���g³,øø��r��i*�`ø,µ³[�¦ø,ø7�,�

åí�7�Oè¶��W(T`W�f*�`Þ��e��i`Vg^ras]f`W(�»kO],u¤ujY�f[d{kgW�Z\de]f*���~³,³���åí��(è¶��W(f`W}�W��cIo�y��i`Vg^|a�],f`W��0k?],u5uXY�f�d�kgW(Z�de],f-���g³ø,³��åí��(è¶��W(^�i*�0®��y�MW(f`}�°!W(^�l�a�Z\Vgdyf*��5B�e�cêrãHdenT®50^\V£kOd{a�de],f2FHdyw�d�asde]f�W�f`}�¬7��Y�W(^\V¤ªc]�],Z|ë7�$ãy5£*W��`a

ªcVgi`],^\Z~�0ãHV~bc�eVgZ�Z\z«50W,k|lW(^|}¯£*W(�`]^|W(Z�],^�deV�a?�H�~µ,�,©�5»W(n,V¤°�de�y�$ªc]�W,}²�G50W(�y]�®;�eZ\][��¢�® ³(�ß�,©(�[��g³³,�7�

åí���,è¶�_f�Y[Z\T*�±F��c¶c�y�)=6ú:û\ E� ù ���]����üI��jùwû^�I0!�_��LJ��ø�üºüOýH�AL��c®_}�}7d{as]f�Þ¥V£as�eV~x��c°�Vgf��y]®5»W(^\l²��g³ø���

åí�µ(趣�Vgf`a�Z\^rW��M®��c�o�e�b£�Vgf`a�Z\^|W7�Mã���Þ��e�*°!W�f`W,a�asV��-°���¬`�y�:5M],�e��W(^r}���ä��²°��e�$ê|SUT[VX§HY�uX��V~^;qBdeVg��}¬�dyVgw�V�ë��a`�bRb�c< <��÷Q��-�ü���Cÿwýd�<üe���®ù ú:ûI=6ú:û����.-f���$����ü����jù¸ýK�AL`�7i*�`µ,ç�� �¦µ�£���

åí�ç(è Ù }��ex7âgl�][��®­��°��7W�f`}jZ\Vݪ¡dyVg�eV��ßã���ä���ä��y�*êtFHd�asi�^�]�](p$]�pMZ\T�V�°�Vg^\Z�Vgf`aU¢$],fÜ�V�kOZ\Y[^\V�ë7�g�2h23�û ýH�:û E�AL�û87ihc÷¨ø�ù ú:ûtü3ødù¸ýKj���w�],�����µ�¤�\�g³ø,µ��|��i*�*�~�,ø)�!�~ç,©7�

åí���gè­ªcdew�V�a�Zg��ª��c£0�e��¬ßT`W(u5dy^g�7®��y��W(f�}�®_}��yVgu�W�f*��£0�e�0ê|®�°�VgZ�T�]7}¦pt]^ Ù ��Z|W�def�dyf�nOF;den,dyZ|W��0¬�denf`W(zZ\Y[^\V�a;W(f`}�50Y��[�ed{k?zB�_Vgx�¢$^�x�i[Z\]�a�x�a�Z\Vgu¦a\ë������ üOü\���jýBþ�ø�ù¸ý����cÿi���±ù¸úbûB <��÷���w�],���`���5���g³���ø��r�i*�*�~�,© ���~�,ç��

åí�ø(èo¬7W��{W(u¤def*�7¶c�e�*êO¢$]u5i�Y�ZrW(Z�de],f¤](p»���_a�def�n­®H^�deZ\T[u5VgZ\d�kOz�MHV~],uXVgZ\^�dek�°�V�W(f�ë��j÷¨ødù¸ú:û ü3ø�ù ýBþtÿ'�������üI��jùwødù¸ý����*��w�]�%���©=���g³���ç��r��i-�`µ,ç,µ<�¤µ��©7�

åí�³(èo¬��y](bcdyf`asl7d%��F��e��i`Vg^ras]f`W(�»kO],u¤ujY�f[d{k?W(Z\dy],f*�[�g³,³7�,��7�

Page 22: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

åí�©(èo¬�u5dyZ\T*�CF�W£w7d{}­°��e��êr®×q Ù ª»ScªH®_§�50WkmlW�n,V�pt]^0qM�e]�W�Z\dyf�n,z«5B],dyf�Z»°�Y��yZ\dei[�eVgz«50^\V�kOd�asdy],f�®H^�deZ�T�zu5VgZ�d{kgë7�� ��÷ =2��ø��*ÿsø�þ ù¸ý���cÿ)���¯÷¨ødù¸ú:ûtü�ø�ù¸ý«þ�ø����9����ù,7Þø���û���w�]�%�*�C����f�][�*����ä,Y�f�V��g³³����|�*i*���£� �¤�,ø���

åí�7�Oè�é�W(^�n�W���ª¨�;¬`�e�$�cþ&ý û��bù¸ýHk þl��� ü���jù�ø�ù ý���m���9÷¨ø�ù ú:ûtü3ødù¸ýBþ�ø��(0����on��¸ûtü�ÿ�ø���:p�����8q�ûCþ�ù�����ûsÿO�¬7«�®_°���5¸T[de�{W}�Vg�yi�T�d{W7���~³,³,©7�

åí��(è�Þ�],� pt^rW(u!�c¬�Z�Vgi�T�Vgf-�G÷¨ø�ù¸úbûtü3ø�ù ýBþ�øJrs t��-cÿ�ùwûtü �����Wu%� ýH�ALl÷¨ø�ù ú:ûtü3ødù¸ý«þtÿWn�-v����ü����ùwû��~�®_}�}7d{as]f�ztÞ¥V�a��eVgxß��§HVgb9I$],^�l��²�g³,øø��

��

Page 23: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

J5ËMË$Õ�Ð��BÍxwzyVW�LgQji`Õ&{~ÐMLON�P�ÓBR,N£ÍÎÏ`ÐMLSUT�V­°�5$q �_§ ^�],Y�Z�def�V�a;W(^�V��ed{a�Z\V�}²��Z\]n,VgZ�T�Vg^cbcdyZ\T�W��[^\deV?p*ptY�f`kOZ�de],f�W(�M}�V�a�kO^\dyi�Z\dy],f5dyf�SBW����eV�a

��W�f`}����!§;],Z\V¤Z\T`W�Z�f�]!^�],Y�Z�def�V�a­W(^�V5i�^\]�w7d{}�V£}hpt]^XW(�`a�],�eY[Z\V5wW(�yY�V5]^�f�VgnßW(Z�de],f-�$asdef�kOV5Z\T[V�asV],i`Vg^rW(Z�de],f�a�u�Wgx��`V_i`Vg^�pt],^�u5V�}��7xou5Vg^\V~�ex_ZrW(l7def�nÛW(�`a�],�eY[Z\V_wW(�yY�V;](pM],^$f�V~n�W(Z�def�n­Z\T�Vcà`^rasZUb�],^r}](p­Z�T�V!a�def�n�eV�i[^\V�kOd�asdy],f3w�V�kOZ�],^X^\Vgi�^�V�asV~f�Z�def�n�W�fó°�5#f�Y�uX�`Vg^g��¯UVOpt],^�V�k~W(�e�ydef�n�W(f7x3](p­Z\T[V�asV^\]Y�Z\dyf�V�a?��a�],u5V�def7Z\V~n,Vg^ci`W�^|W�u5VgZ\V~^|aUdefhkO],u¤u5],f5�[�e]7k|l�æ*���*�Cæ�n�asT[],Y���}���VÛasVgZ~�;«�f�],^r}�Vg^g�`Z\T[VgxW(^�VV|A|Jo¨�C�9}ÞoO���#}Go��=�èJo�æc��èJo��-è��{o¯�=�*�eo���~c�[��W(f�}���æb���[SUT�Vgx�W�^\V­}�VOà`f[V�}�W,aUpt],�e�y]�b;aO¹�,��|2|!d{a�Z\T�V5u¦W(�7deuXY�u f7Y�uj�`Vg^�]�p;u�W(f7Z\d�a\a\W5b�],^|}[aO�!SUT�d�aoasT�]Y��{}���V¦asVgZ­��x�Z\T�V¤Y`asVg^­defZ�T�Vcu�W(dyfXkgW(�y�edyf�nHi[^\],n^|W�u Z�]On8��|�������Å&�����[�gbcT�Vg^�V�|��­d{aBZ�T�V;}�V�a�de^\V£}�u�W(�7deuXY�uói�^\V�k?d{asdy],f�yVgw�Vg��defÛ}�dendeZraU�tn8�|����A�¸Å^���dqU],f�¢$^|Wgx�a|�|�$¬�],u5V�^\]Y�Z\dyf�V�aMW(�eZ�Vg^0Z�T�d{aBi�W(^|W�u5VgZ�Vg^*��Y�Z0^�V�asZ�],^�VdyZci�^\dy],^cZ\]XVg�7deZ�def�n[� FHVOp�W�Y��eZ~¹c�gç��Îd��íV��»W(�`],Y�Z­�,�~©5}�dyn,deZram�r�

���V�C�#}5d�a¨W�}�V~��Y�n5�²W(n�W�f`} ]^|}�dyf`W(^�de�yx!asT[],Y���} �`V¤asVgZ�Z\]�âgV~^\]��X¬�VgZ\Z�def�nK�-�9}5Z\]�W(f�def7Z\VgnVg^�`VgZ�bUV~Vgf3��W(f`}��~© i�^�]7}�Y`kOV£aj}�V~��Y�n�i�^\dyf�Z�],Y�Zra�def×wW�^\x7def�n�}�V~n,^\V~V�a�]�p�}7VgZ|W�de�Upt^\]u Z\T�Va�Y���^\]Y�Z\dyf�V�aH]�p�Z\T�d�aHi`W,k|lW(nV��_é�W(�eY[V�aH](pk�C�#}5�`VgZ�bUV~Vgf��oW�f`}!��W(^�VXW£wW�de�{W����eV�pt],^_Y�asVXW,a}�V~��Y�no�²W(nßa¡dyf=Z�T�V�Y`asV~^gîïack~W(�e�ydef�n­i�^\]n,^rW(uìd p¸}�V�a�de^\V£}��GFHVOp�W�Y��eZ~¹$©��

�������#}od{aUZ�T�V��e]n,d{k~W(�*Y�f�dyZcf�Y[uj�`Vg^0pt],^;],Y[Z\i�Y�Z;](p¸}�Vg�[Y�n5W�f`}=V~^\^\]^cu5V�a�a\W(nV�aO�GF;VOp�W(Y��yZg¹$ç7����V�=�èXd{acW�f�Vg^�^\]^U�²W(n¤W(f`}�asT�]Y��{}�def�dyZ\d�W(�e�yxo�`VoasV~ZcZ\]oâgVg^�]��$«%Zcd{aca�VgZcZ\]Xf�]f�âgVg^�]jwW(�yY�V�aU�7xZ�T�V�^\],Y[Z\def[V�aUbcT�VgfhW(f�Vg^\^�],^�kO],f�}�deZ�de],f�d�ac}�VgZ\V£kOZ\V�}²�

µ��{æ*�è�d�aÝZ�T�V!ê|k?^\]�a�as]�w�Vg^rë¦i`]def7ZHpt],^�Z\T[V5W}�wW(f`kOV£} ^�],Y�Z�def�V�a�� d p·W(f�W,}7w,W�f`kOV�}!^\]Y�Z\dyf�VXd{akgW��e�yV�}=bcdyZ\T�Wji�^�V�kOd�asde]f��yVgw�Vg�6|2|=Z�T`W(Z�d�a���}�}Cæ*�è5]^��eV�a�aO�`Z\T�VXW}�wW(f`kOV£}�^\],Y[Z\def[Vou5Vg^\V~�exkgW��e��aUZ\T�V��`Wasd{k�°�53^\],Y[Z\def[V��GFHVOp�W�Y��eZ~¹$ø��

ç��V�Cè���kO]f�Z�^\]�{ajZ�T�V!^\]Y�f`}�dyf�n3u5]7}�V�¹!bcT�Vgf»�Cè����~p[�cZ\T�V!��W,a�Z5bU]^|}�d{ajZ�^\Y�f`k~W(Z\V£}��cd%�íVß�Z�T�Voa�W(u5VÛkO],u5i�W(^\V£}¦bcdyZ\T!T�dyn,T�V~^Hi�^�V�kOd�asde]f � bcT�Vgf��Cè����Ûn��`Z\T�V­�{W,a�Z_u�W�f�Z�d{a\a�W�b�],^r}�d{a^�],Y�f`}7V�} Y[i�d p�Z\T[V�à`^rasZ­],u5dyZ\Z\V£}=bU]^|}¥d�aHT`W�� p;Z\T[Vo^|W,}7de�!],^­u5],^�V � bcT�Vgf��-è����~�[�*Z\T�V��W,asZcu¦W(f7Z\d{a�a\W�b�],^|}5d�aU^\],Y[f`}�V�}�Y�i�dÚpMZ\T�V_à`^rasZ;],u5dyZ\Z\V£}�b�],^|}�d{aUf�]f�âgVg^�]��GFHV?p�W(Y��yZg¹;�,����V�=�*��d�a�Z�T�V�kOY�^�^\Vgf7Z�asdyf�n,�yV_i�^\V£kOd{a�de],f¦a\kO^rW(Z|k|T¤asi`WkOV­asZ|WkmlXi`],dyf�Z�Vg^cW�f`}5asT[],Y���}¦dyf�deZ�d{W��e�ex­�`Va�VgZcZ\]X],f�Vß�

ø��V�8~��­d{aUZ�T�V­kOY�^�^\Vgf7Z�ê�T�denT�bcW�Z\Vg^cu¦W(^\l[ë�](pÅ�=�*�XW�f`}�asT�]Y��{}��`V¨dyf�deZ�d{W��e�ex¤asV~ZcZ\]o],f[V��³��V��æ:�­d{aUZ�T�V�u�W(�7deuXY�uEasdef[n,�eV�i�^�V�kOd�asde]f�a\k?^|W(ZrkmT�a�i`W,kOV­WgwW(dy�{W(�[�eV��GFHV?p�W(Y��yZg¹c�g©�(�[�¢$],u5u¤],f��[�e]7k|l�æ*���*�Cæ:p�kO],f7Z|W�def`a_a�],u5V­i`W(^rW(u5V~Z\Vg^ra¡^�Vg�{W�Z\V�}�Z\]�Z\T�V­^|W}�de�²��SUT[V�asVodyf`kO�eY�}�V

}����²��Z\T�Vo^rW,}�dy��dyZ|asV~� p��²W(f`}3|9}�²��Z\T[Vof�Y�uX�`Vg^c](p·��deZra¡dyf!Z\T�Vo^rW,}�dy����SUT[V�asVoi`W�^|W�u5VgZ\V~^|a;W(^\VXa�VgZdefXZ\T[V_���e]7k|lX}�W�Z|WoasY[��i�^\]n,^rW(uìW�f`}5asT[],Y���}jf�],Zc�`V�k|T`W�f�n,V�}oVg�[kOVgi�Z�Wa�^\V£��Y�dy^\V�}�pt],^·W�}�dÚ±²Vg^\Vgf7ZkO]u5i�Y�Z�Vg^ca�x�a�Z\Vgu�a?�

¢$],u5u¤],f5���y]7kml4æ*���j�-æb�­kO]f�ZrW(def�acW(f�dyf�Z�Vgn,V~^cW(^�^|WgxW���èX](p»�eV~f�n,Z�T��£����SUT�d{acW�^\^rW£x¦kO],f7Z\^�],�{aZ\T[V�W,kOZ�de],fóZ|W�l�Vgf�bcT�Vgfó],f[V!](poZ�T�V�°�5 ^�],Y�Z�def�V�a¤}�VgZ\V£kOZ|a5W�f V~^\^\]^�kO],f`}7deZ\dy],f*�;a�Y`kmT)W,a�W�f

��

Page 24: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

W(Z�Z\Vgu¤i�Z\V�}¤}�dew7d{}�V;�7x5âgVg^�]��$«Îp0Z�T�V�Vgf7Z\^\x¤kO]^\^\V£asi`],f`}7def�nXZ\]XWoi`W(^�Z\d�kOY��{W�^cVg^\^�],^cf7Y�uX��V~^�d�aUâgVg^�]��Z\T[VHVg^�^\]^0d{a0denf�],^�V�}XW(f`}oVg�7V�kOY�Z�de],fo^�V�asY[u5V�aO�W(�yZ\T�]Y�n,T¤Z\T�Vc^�],Y�Z�def�V;Z\T`W�Z�}�VgZ\V£kOZ|aBZ�T�V�kO],f`}7deZ\dy],fd{aU]�ptZ\Vgf�Vg�7deZ�V�}��»«�pMZ�T�V�Vgf7Z\^\xXd{a$],f�Vß��Z\T�Vgf�W�u5V£a\a\W�n,V_d�aU],Y�Z�i�Y�Z;],f�Y�f�dyZ����9}`���=��èjd�acasVgZ�Z\]XZ\T�VVg^�^\],^cf7Y�uX�`Vg^_��W(f�def7Z\VgnVg^U�`VgZ�b�VgVgf���W(f`}������|�²W(f`}5Vg�7V�kOY�Z�de]f5^\V�a�Y�u5V�a?��W��eZ\T[],Y�nT!asY[�`asV���Y�Vgf7ZkgW��e�{a�Z�]�°�5$q �_§¥^�],Y�Z�def�V£aBW�^\VUdyu5u5V�}7deW�Z\Vg�yxcVg�7deZ\V£}��Îd��íV��MkO]f�Z�^\],�7d{a*��Y�d�kml7�ex;^\VgZ�Y�^\f[V�}_Z\]_Z�T�V$Y`asVg^i�^�],n,^rW(u��r�0«Îp[Z\T�V�Vgf�Z�^\x;d{a*Z�bU]��Wcu5V�a\a�W(nVUd{a�]Y�Z\i[Y�Z$W(f�}¨Vg�7V�kOY�Z�de]f¨d�a�deu5u¤V�}�d{W�Z\Vg�ÚxcZ�Vg^\u5dyf`W(Z�V�}��®H�y��Vgf7Z\^\dyV�aB]�p*Z\T[VE���èXW�^\^rW£xXW�^\V;def�dyZ\d�W(�edyâgV�}�Z\]�Z�b�]¨dyfjZ�T�V;���e]7k|lo}�W�Z|W­asY���i[^\],n^|W�u �`Vg�e]�b��0SUT[VY`a�Vg^5u�Wgx�kmT�W(f�nV�as],u¤V�](p­Z�T�V�asV!V~f�Z�^\deV£a��7x3def`kO�yY`}�dyf�n¥Z�T�V�kO]u5u5],f®æ*���j�Cæ:�!dyf�Z\T�V!Y�asVg^~îïai�^�],n,^rW(u!�

®Hf¤°�5�W�^\nY�u5Vgf7Z0u�Wgx�f[],ZU�`V_Y�asV�}XW,aU�`],Z�T�W,a�W(f5dyf�i�Y�Z·W(f`}¤W(f5]Y�Z\i�Y[ZUwW(^�d{W(�[�eV;def¤W�kgW��e�Z\]�]f�Vo](p·Z\T�VX°�5�^\]Y�Z\dyf�V�aO� Ù Y[Z\i�Y�ZÝW(^\^rWgx�aHpt],^�T�]�{}�dyf�n�°�5�^\V�a�Y��eZraHn,V~f�Vg^|W��e�yx�^\V£��Y�dy^\V¶|A|9�o�asdyf�n,�yV�i�^\V�k?d{asdy],f�kOVg�y�{a?�U®Hf�Vg�[kOVgi[Z\de]f�d{a{æc���æ*�`��bcT[Vg^\V­Z\T�V�],Y[Z\i�Y�ZÝ°�5�wW(^�d{W(�[�eV�]f��ex¤^\V���Y�de^�V�aVgdyn,T7Z�k?Vg�e��aO� Ù Y�Z\i�Y[Z�W�^\^rW£x[aÝpt]^�T�],��}�def�nh°�5U¢�^\V£asY��yZ|a_^\V���Y�dy^\VoZ�bcd{kOVoZ�T�VX](±-asVgZ­�`VgZ�bUVgVgf�^\V£W(�W(f�}×deu�W�n,def�W(^\x�i`W�^\Z|a?�ó«�f�u5]�a�ZXW(i�i[�ed{k~W(Z\dy],f`aoZ\T[d{ao](±-asVgZ¤d{aXasdeu¤i��ex�|2|#���3kOV~�e�{a?�Ua�]¥Z�T`W(Z¤Z\T�Vu5Vgu¤],^\x�^�V���Y[de^\V~u5Vgf7Z�pt],^c°�5U¢3wW(^�d{W����eV�a$d{a0Y`a�Y`W(�y�ex���}=|A|9�2�¨k?Vg�e��aO��¢$T�W(^|WkOZ\V~^UwW(^�d{W(�[�eV�a0def¤Z\T�VW(^�n,Y�u¤Vgf�Z��yd{asZra_](p±æc�c�-|����Þo4æc�j�<ç����Þo4æc�c�-|���W�f`}¨æc�j�=ç���^\V���Y�de^�VjY[i�Z\]/�UÅ&���2��}<|2|#�bn-p�p5k?Vg�e��a](p­Z�x7i�V���~�z�è�zj���j��èc}cn,��°!W(f7x3](p�Z�T�V�asV�^\]Y�Z\dyf�V�ao^\V���Y�de^�V�VgdeZ�T�Vg^¤asdef[n,�eV�i�^�V�kOd�asde]f×]^5}�]Y����yVi�^�V�kOd{a�de]f3a\kO^rW(ZrkmT�asi�W,kOV�],^o�`],Z�T*� ¬ßdef�n�eV5i�^�V�kOd�asde]f�a\kO^rW(Z|k|T�asi`WkOV�d{aokO]f�ZrW(dyf�V�}�def�kO]u5u5],f���y]7kml�æ*���*�Cæcq`�,bcT�dy�eV�}7],Y����yV�i�^\V�k?d{asdy],f�a�kO^|W�Z|k|T�asi`WkOV�d{ackO]f�ZrW(def[V�}5def�kO],u¤u5],fX���e]7k|l4æc���*�Cæ9���®_acWX}�VOp�W�Y��eZ~��Z\T[V¨i�W,k|l,W�n,VÛW(�e�y]7kgW(Z�V�a_�g©�(��k?Vg�e��a�def�V�WkmT�]�p0Z�T�V�asV�Z�bU]o�[�e]7k|l�a?�

SUT�V�W�u5],Y�f7Z�](p¡asdef[n,�eVXi�^�V�kOd{a�de]f�a�kO^|W�Z|k|T�a�i`W,kOV¤f�VgV�}�V£}hpt]^oW(f W(i�i��yd{kgW�Z\dy],f�w,W�^\dyV�a¨bcd�}�Vg�ex}�Vgi`Vgf�}�def�n­],f5Z�T�V_^�],Y�Z�def�V�a$Y`asV£}5W(f`}XZ\T�V_i[^\V�kOd�asdy],fX�eVgw�Vg��|A|²�7SUT�VHu¦W(�7deuXY�u�W(u5]Y�f�Z0pt]^UV�WkmT^\]Y�Z\dyf�V�d{a�ndew�Vgf3def�SMW(���yV�ao��W(f`}3���3SUT�Vhasdeu¤i��eV�a�Z�bcWgx�Z\]�}�VgZ�Vg^\u¤def�VoZ�T�V�i�^\]i�V~^5W�u5],Y�f7Zpt],^¤W!i�^\]n,^|W�u d�a�Z\]�^\Y�f�Z\T�VhkO]7}�V�bcdyZ\T�W(fóW�u5i��yV�W(u5]Y�f7ZXW(f`}3Z\T�Vgf�],Y�Z�i�Y�ZXZ\T�V�wW(�eY[V=]�pZ\T[V�i`W�^|W(u¤VgZ\Vg^º��~c�!dyf�kO]u5u5],f�æ*���j�-æ�n5Y�i`],fókO]u5i��eV~Z\de]f*�3«Îp�def�asY��¦kOdeV~f�ZÛasi`WkOV�T`Wa��`VgV~fW(�y�e]7kgW�Z\V�}²��W�f5Vg^�^\],^$u5V£a\a\W�n,Vcbcdy�e���`V_]Y�Z\i�Y[Z_�ÎV~^\^\]^�kO]7}�V�µ��$W�f`}oVg��V£kOY�Z\dy],fobcdy�e���`V_Z�Vg^\u5dyf`W(Z�V�}��«Îp�Z\T[d{aj]7kgk?Y�^|a?�¡Z�T�V!Y`a�Vg^5uXY`asZXW��e�e]7k~W(Z\V�W��{W(^�n,Vg^¦asdef[n,�eV�i�^\V£kOd{a�de],f�W(^�^|Wgx��tbcdeZ\TóW�Z5�eV£W,asZ¤Z\T�Vf7Y�uj�`Vg^�](pcb�],^r}�a¨dyf`}�d{k~W(Z\V£} dyf¥Z�T�VjV~^\^\]^�u5V£a\a\W�n,V,�¡W(f`}¥i[�{W,k?VjdyZ¨dyf�k?],u5u5]fYæ*���j�Cæcq�def�Z\T�VY`a�Vg^gîöaUu�W(dyf5i�^\]n,^rW(u!�$«%f�W}�}�deZ�de]f*��Z\T�V�i`W�^|W�u5VgZ\V~^y��æ:�­def�æ*���*�Cæ�nHuXY`a�ZU�`V­asVgZcZ�]jZ�T�d{a$�{W(^�n,Vg^f7Y�uj�`Vg^~�

SUT�Vg^�Vjd�a¨f�]�f�V�asZ�def�n�]�p�}�],Y��[�eV5i�^�V�kOd�asde]f�a�kO^|W�Z|k|T�a�i`W,k?V��0W�f`}�as]�Z\T�V¤W(u¤],Y�f7Z�^\V���Y�de^�V�}!d{aasdyu5i��yVcZ\]X}�VgZ�Vg^\u¤def�V���£�VgZ�|��X��V�Z\T�V��{W�^\nV�asZci�^�V�kOd�asde]f5�eV~w�Vg�j|2|jY`a�V�}5def�W�f!W�i�i��ed�kgW(Z�de]f*�0SUT�V~fW(Z�u5]ßasZV|��#�2��}�],Y��[�eVXi�^\V�k?d{asdy],f�kOVg�y�{a_W�^\VX^\V���Y�de^�V�}=pt],^�Z�T�Vj��W,asd�kj°�5ó^\],Y[Z\def[V�aO�MW(f�}�W(Z�u5]ßasZn<��}=|��9�#�okOV~�e�{a;W(^�Vo^\V���Y�dy^\V�}jpt],^�Z�T�VoW}�wW(f`kOV£} ^�],Y�Z�def�V�a?��«Îp$u5],^�V�Z�T`W(f!Z�T�VX}�VOp�W�Y��eZ­�g©�(�!k?Vg�e��aW(^�V�^�V���Y[de^\V£}���Z\T�V­Y`asV~^_ujY�asZ;W(�y�e]7kgW�Z\VÛWj�{W�^\n,V~^_W�^\^|WgxhW(f`}�i���W,kOV�dyZHdyf!kO]u5u5],fEæc���*�Cæ9�5def�Z\T�VY`a�Vg^gîöa¡u�W�def�i�^\]n,^|W�u!�¨¬ßdef`kOV�dyZHd�a_asZ�^|W(dyn,T7Zspt]^\bcW�^|}�Z�]�}�VgZ�Vg^\u5dyf�V�W�T�V�W,}�]�p�Z\deu¤V_Z\T�Vo^�V���Y�de^�V�}�eV~w�Vg�*](p·}�]Y����eV­i�^\V£kOd{a�de],fha\kO^rW(ZrkmT�a�i`W,kOVß��Z�T�Voi`W,k|lW(nVX}�]�V�aHf�]Z�i�V~^spt],^�uvW(Y�Z�],u�W�Z\d{k­kmT[V�kml7def[nW,acdeZ;}7]�V�a·pt]^;asdyf�n,�yV¨i[^\V�kOd�asdy],f�a�kO^|W�Z|k|T�a�i`W,k?V��

«Îp²W(f7x�](p`Z�T�VcW}�wW(f`kOV£}�^\],Y[Z\def[V�a��td%�æV���Z\T[]�asVcbcT[]�asVcf�W(u5V$Vgf`}[a�dyf��`�`d{aMkgW(�y�eV�}���Z\T[VUY`a�Vg^BuXY`a�ZW(��as]¤W(�y�e]7kgW�Z\V­W(f`}�def�dyZ\d�W(�edyâgV�W(f!W�^\^rW£x¤def�kO],u¤u5],f�æ*���*�Cæ��[�MSUT�V­W,}�wW�f`kOV�}�^\],Y[Z\def[V�acasT�]Y��{}��`VkgW��e�eV£}jbcdeZ�T�W��yVgw�Vg��]�p0i[^\V�kOd�asdy],f�|A|XZ\T�W(Zcd{acW�i`]�bUV~^c](p»Zsb�]��[as]o�eV~Z�|����~��}�}-æ��o�`V¨Z�T�V_��W(^\nV�asZ�eV~w�Vg�0Z\T�W(Z�bcdy�e�$�`V5Y`a�V�}¥def W=i�^�],n,^rW(u!��SUT�Vgf�Z\T�V5Y�asVg^­ujY`a�Z�W(�y�e]7kgW�Z\V�W�Z��yV�W,a�Z<�j}<|��!}�]Y����yV

���

Page 25: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

i�^�V�kOd{a�de]f�k?Vg�e��a�defok?],u5u5]fH�[�e]7k|l�æ*���*�Cæ��·W(f�}¨uXY`asZMkgW��e�<æ*���C|b�-�;bcdeZ�T�W�^\nY�u5Vgf7Z:æj��Z�]Hdyf�deZ�d{W(�ydeâgVZ\T[V�W(^�^|Wgx5defEæc���*�Cæa���*®;n�W(dyf*�`asdyf`kOV;Z\T�VÝW(u5]Y�f�Z�](p¸asi`WkOV_d�aUasZ�^|W�den,T7Zspt]^\b·W(^|}�Z\]Û}�VgZ\V~^\u5dyf�V��,f�]W(Y[Z\],u¦W(Z\d�k_k|T�V�k|l�dyf�n�d�aUi�V~^spt],^�u5V�}��

«ÎpMZ\T�V�Y`a�Vg^;}�]�V�acW��e�e]7k~W(Z\V­W�^\^|Wgx[aUdef�æ*���*�CæcqGoéæ*���*�Cæ#�o]^{æc���j�-æa�_bcdyZ\T�}�d ±²Vg^�Vgf7ZcasdyâgV�a$Z\T`W�fZ\T[Vc}�VOp�W�Y��eZ��g©�(�­kOVg�y�{a?��as],u¤Vcasx[asZ�Vgu�a�u�WgxH��W(n�WcbcW�^\f�dyf�n_u5V�a�a\W�n,VUbcT[Vgf�Z�T�VUY`a�Vg^gîöa�i[^\],n^|W�uCd{akO]u5i�de�yV�}�W�f`}5�edyf�l�V�}�bcdeZ�TjZ�T�V_i�^�V�kO]u5i�de�yV�}�°�5$q ��§×i`W,k|lW(n,Vß��asdyf`kOV;Z\T�d�a�Y`a�W(nV_d{a$Z\V�k|T�f�d�kgW(�y�exf�]Z_W��e�e]�b�V�}jY�f`}7Vg^;Wja�Z\^�d{kOZ�^\V�W}�def�nX](p»Z\T[V�q�]^\Z\^rW(f�z��<��asZ|W�f`}�W�^|}���SUT�V­W(Y�Z�T�],^;d{aUf[],Z�W£b·W(^�V¨]�pW(f7x¤asx[asZ\V~u Z�T`W(Z$�²W(nßacW¨p�W(Z|W���Vg^�^\]^�pt],^·asY`k|T5Y`a�W(nV���i�^\]�w7d{}�V£}�Z�T`W(Z�Z\T�V�k?],u5u5]fo���e]7k|l[a�def¤Z\T�VY`a�Vg^gîöaUu�W(dyf5i�^\]n,^rW(uvW(^�V�W�ZH�yV�W,a�Z;W,ac�{W�^\n,V­Wa¡dyf=Z�T�d{aUi�W,k|l,W�n,V��

SUT�V¨pt]�e�y](bcdyf�nXa\W�u5i��yV_i�^\]n,^rW(uvkO],u¤i�Y�Z\V£a�Z\T[V�wW(�yY�V�](p$Z�T�V­kO],f`a�Z|W�f�Z�� Z�]5W�i�i�^�](�7deu¦W(Z\V~�ex���³,©5}7den,dyZ|a$],f!����[deZca�x�a�Z\Vgu¦aO�0q�]^_¢$^|Wgx�asx[asZ�Vgu�a?��^�Vgi���W,kOV_Z�T�V­kO],f�asZ|W�f�ZV���ö�,�µ��7x5ç7�ïç�,���²W(f�}Z\T[V¨i[^\],n^|W�u bcdy�e�-kO],u5i[Y�Z\V�W�i�i�^�](�7deu¦W(Z\V~�exXç�=��©5}7den,dyZ|a?�

���2�8���R�����2����A�_�����R�����R�����8�o�R������)����R�����J���R���A�o�]����R�����R���R���+�,���V ���¡��<���¢ V£¤�R�?�R�O�I���¥ ¤¦§�¨¤�D�R�ª©D«�¬��­ �R�ª ¥¬O§�£R£�¨ª�f�R�#®�A�������J�o�R���V�a�.���J©�¨R¡A®g�¯�A�°�.�R��©�«9®�o�����A���ª±��R����������±f��²�W���R�O�I���R�O�W������<���8�O�s���R�O�W�6�����³�������s������o�����A���ª±��R��������´�±D���,���2®�o�����A���ª±��R��������«2±f������£������J©�µ2®�o�����A���ª±��R��������¨�±]���¶o�����#®��²¢ ?�R����J�¤ D������R�����R�A���2���v�.�R�#®���R�����R���A���v�.�A�J®���R�����R�A���J�v��µ��[�A���I�R�O�I�2®���2������R�

X�Ï�N�Õ7L�Ñ�Ï`PO��Q�KBÌtÕ7L f Q�Ð�� � �«%f!SMW(���yV�aH�¤W(f`}��[��Z�T�VoW�^\n,Y[u5Vgf7Z±���o}7Vgf�],Z�V�a_W�f!°�5×wW(�yY�V�]�pc�0��bcT[d{k|T=uXY`a�ZcT`Wgw�V¨�`VgV~f

i�^�Vgw�dy],Y`a��ex�kO]u5i�Y�Z�V�}=�7x!kgW��e�ydef�nXVgdeZ�T�Vg^�æc���c��]^Læ*���c�-�²�`SUT�VXW�^\n,Y[u5Vgf7ZLz����¦}�Vgf�]Z\V�a�W(f�°�5wW(�yY�V_](pM�y],n����7bcT�d{k|TXujY`a�Z$T`Wgw�VH�`VgVgfXi�^�Vgw�dy],Y`a��exXkO]u5i�Y�Z�V�}o��xXkgW��e�ydef�nyæ*��c���`�§H],ZrW(Z\dy],f�asY�kmTW,a�m&zJo�|:r5dyf¥Z�T�V5Z\T[de^|}�kO],�yY�u5f�}�Vgf[],Z\V£a�W3Fk5�¶�f7Y�uX��V~^g�*bcT�d{k|T�T`W,a�w,W��eY�Vºz~}9��}�}=|��*SUT[VwW(^�d{W(�[�eVE�j�5}7Vgf�],Z�V�a_WO��~�z�è�zj�����è¤asZ�^\def[n���«%f!Z\T�VXa�kO^|W�Z|k|T!a�i`W,kOVXk?],�eY[u5f*�c|A|�d{acZ\T[Voi�^\V�k?d{asdy],f�eV~w�Vg��i�W(^|W�u5VgZ�Vg^0defXk?],u5u5]f�æ*���j�Cæ�n��M®H�e�7],Z�T�Vg^UwW�^\d{W����eV£aO��Y�f��yV�a\aBdyf`}�d�kgW(Z�V�}�]Z\T�V~^\bcd{a�V���}�V~f�],Z�V°�5�f7Y�uX�`Vg^|a?��,�{æ*�z�|���W�f`}^æ*�z�|����kO]u5i�Y�Z�V!Z\T�V�°�5 W(f[n,�eV¯zóasY[��Z\Vgf�}�V�} �7x×Z�T�V�°�5 i`W(dy^+·B�{oW¸9¹kO]f`asd�}�Vg^�V�}�W,a;W�i`],dyf�Zcdyf�Z\T�V � û ¥�i���W(f�Vß�USUT�d�aUd{acu5],^�V_Y`a�VOptY��*Z\T�W(f!W�f!W�^|kOZrW(f�]^;W(^rkgasdyf^�],Y�Z�def�V��asdyf`kOV�deZ*i���W,kOV�a*Z\T[VU^\V£asY��yZMkO],^�^\V�kOZ��ex_dyf�Z�T�V�ptY��y�7kOde^rkO�eVß�gd%�íVß��def­Z\T�V�def7Z\Vg^�w,W��`�&+��0û|��è%�

�µ

Page 26: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

º8»½¼6¾�¿�À�Á Â�Ã�Ä�Ä�¿�À8Å Æ�¼�À�Ç�¾�¿_»�ÀRÃ�Ä È�¿�À8Å6Ä�Á<É�Ê�Á�Ç#ËÌ8ýÍJÁ È�Á½Î½¼�Á�À�Ç�Á Ï�Á�Ð�Ç�Ê�¿�Ñ6¾�¿_»½À È�Ç�Ê8Ã_¾�Ç�Ò\ȽÑ�Ã�Ç�ÁÏ8É�Ó_Ï�Ï Ô�Ó°ÕÖÌ�Ó�Õ%×�Õ$Ì�×°Õ%Â9Õ%Ì8Â�Ø Ô,Â9ÕÖÌ6Â�ØIÙ¤Ô�Ó�Õ$Ì�ÓJØ�ÚVÔ�×�Õ$Ì�×�ØÏ8É�Ï6Û8 Ô�Ó°ÕÖÌ�Ó�Õ%×�Õ$Ì�×JØ Ô�×°ÕÖÌ�×�ØIÙ¤Ô�Ó�Õ$Ì�×JØÜ¿�ÀfÝ�Á�Ç�¿�ÍRÃ�Ä�Þ6»�Ê�Í�ËÏ8É�ÏJß�à Ô�Ó°ÕÖÌ�Ó�Õ%×�Õ$Ì�×°Õ%Â9Õ%Ì8Â�Ø Ô,Â9ÕÖÌ6Â�ØIÙ¤Ô�Ó�Õ$Ì�ÓJØ�áVÔ�×�Õ$Ì�×�ØÏ8É�â_ã8ä Ô�Ó°ÕÖÌ�Ó�Õ%×�Õ$Ì�×°Õ%Â9Õ%Ì8Â�Ø Ô,Â9ÕÖÌ6Â�ØIÙ¤Ô�Ó�Õ$Ì�ÓJØ�åVÔ�×�Õ$Ì�×�ØÏ8É�É�æ�º Ô�Ó°ÕÖÌ�Ó�Õ%×�Õ$Ì�×°Õ%Â9Õ%Ì8Â�Ø Ô,Â9ÕÖÌ6Â�ØIÙ¤Ô�Ó�Õ$Ì�ÓJØ�å�å¤Ô�×�Õ$Ì�×JØÏ8É8È�ç�º�è Ô�Ó°ÕÖÌ�Ó�Õ%×�Õ$Ì�×JØ Ô�×°ÕÖÌ�×�ØIÙ]È�Î�Ê�¾¤ÔdÓ�Õ$Ì�Ó�ØÏ8É8È�ã8× Ô�Ó°ÕÖÌ�Ó�Õ%×�Õ$Ì�×°Õ%Â9Õ%Ì8Â�Ø Ô,Â9ÕÖÌ6Â�ØIÙ¤Ô�Ó�Õ$Ì�ÓJØ�éVÔ�×�Õ$Ì�×�Øâ�É�Ó_Ï�Ï Ô�Ó°ÕÖ×°Õ)Â�Ø ÂsÙ&Ó/ÚW×â�É�Ó�Ì8ê Ô�ë°ÕÖì°Õ%É�ß2Õ$Ó�Ø Ó\Ù&Ó_À8ÅZíxë�Õ$ì�î�ËÖÈ�Á�Á\ïAË ï�ð�å�Ì�æ8Ú�ñ�ñâ�É�Ó�Ì8ê�ë Ô�ë°ÕÖì°Õ%É�ß2Õ$Ó�Ø Ó\Ù&Ó_À8ÅZíxë�Õ$ì�î�ËÖÈ�Á�Á\ïAË ï�ògË�ð�å�Ì�æ8Ú�ñ�óâ�É8Â_Ó�Ï�Ï Ô�ä°ÕÖÓ°Õ%×�ÕBÂ�Ø ÂsÙ&Ó/ÚW×?Ç_»½Í�ÑRÄ�Á�ô�ËõÈ�Á�Á³ögËâ�É8Â_×�º�è Ô�Ó°ÕÖ×JØ ×\Ù&Ó/å�å�Ô�ï�á�÷RØ ÷�å�Ì�æ6Ú�ï�ðâ�É8Â_×�º�ë Ô�Ó°ÕÖ×JØ ×\Ù&Ó/å�å�Ô�ï�á�÷RØ ø�Ë�ð�å_Ì�æ8Ú�ö�óâ�É8Â�Ï�ß�à Ô�ä°ÕÖÓ°Õ%×�ÕBÂ�Ø ÂsÙ&Ó/áW×?Ç_»½Í�ÑRÄ�Á�ô�ËõÈ�Á�Á³ögË ð�å�Ì�æ6Ú�ö�ùâ�É8Â�Ï8à�ë Ô�ä°ÕÖÓ°Õ%×�ÕBÂ�Ø ÂsÙ&Ó/áW×?Ç_»½Í�ÑRÄ�Á�ô�ËõÈ�Á�Á³ögË ñ�å�Ì�æ6Ú�÷�öâ�É8Â_Û8ç Ô�ä°ÕÖÓ°Õ%×�Ø ×\Ù&ÓDÇ_»½Í�Ñ�Ä�Á�ô�ËõÈ�Á�Á³ögËâ�É8Â_â�ä�ë Ô�ä°ÕÖÓ°Õ%×�ÕBÂ�Ø ÂsÙ&Ó/åW×?Ç_»½Í�ÑRÄ�Á�ô�ËõÈ�Á�Á³ögË ø8å�Ì�æ6Ú�ï�úâ�É8Â_â�ã8ä Ô�ä°ÕÖÓ°Õ%×�ÕBÂ�Ø ÂsÙ&Ó/åW×?Ç_»½Í�ÑRÄ�Á�ô�ËõÈ�Á�Á³ögË ø8å�Ì�æ6Ú�ï�úâ�É8Â_É�ä�ë Ô�Ì°ÕÖä�Ó�Õ%Ó�Õ$ë�ïJÕÖÌ�ë�Õ$ä�ë�Õ%ëJØ Æ�¿�À8Ý�ÐsÇ_»½Í�Ñ�Ä�Á�ôWÊ8»�»�¾�Ð#ËõÈ�Á�Ás÷�Ë ï�ñ�å�Ì�æ8Ú�ó�öâ�É8Â_É8û�ä Ô�Ì°ÕÖä�Ó�Õ%Ó�Õ$ë�ïJÕÖÌ�ë�Õ$ä�ë�Õ%ëJØ Æ�¿�À8Ý�ÐsÇ_»½Í�Ñ�Ä�Á�ôWÊ8»�»�¾�Ð#ËõÈ�Á�Ás÷�Ë ï�ð�å�Ì�æ8Ú�ó�ðâ�É8Â_É�º Ô�Ó°ÕÖ×°Õ ß_Â�Ø Â�»�Í�ÑRÃ�Ê�Á�Ð<ÓfýÀ6Ý&×aË$È8Á�ÁIø�Ëâ�É8Â_É�æ�º Ô�ä°ÕÖÓ°Õ%Ì�Õ$×�Ø ×\Ù&Ó/å�åWÌ?Ç_»�Í�ÑRÄ�Á�ôaËeÈ�Á�Á³ögË ï�ï�å�Ì�æ8Ú�ð�ðâ�É8Â_É�æ�ë Ô�ä°ÕÖÓ°Õ%Ì�Õ$×�Ø ×\Ù&Ó/å�åWÌ?Ç_»�Í�ÑRÄ�Á�ôaËeÈ�Á�Á³ögË ï�ø8å�Ì�æ8Ú�ð�úâ�É8Â�È�ü�ë Ô�Ó°ÕÖÓ�ä8ö#Õ$ë�Õ%ìJØ ë\Ù]Â�»�Ð�Ò�íxÓ�î�Õ$ì/Ù&È8¿�À�Ò�íxÓ�î ï�úgË�ð�å�Ì�æ8Ú�ó�ðâ�É8Â�È�ç�º Ô�Ó°ÕÖ×JØ ×\Ù]È�Î�Ê�¾ZíxÓ�îfÇ_»½Í�ÑRÄ�Á�ô�ËõÈ�Á�Á³ögË ú�å�Ì�æ6Ú�ö�óâ�É8Â�È�ç�ë Ô�Ó°ÕÖ×JØ ×\Ù]È�Î�Ê�¾ZíxÓ�îfÇ_»½Í�ÑRÄ�Á�ô�ËõÈ�Á�Á³ögË ógË�ð�å_Ì�æ8Ú�÷�òâ�É8Â�È�È�ü Ô�Ó°ÕÖÓ�ä8ö#Õ$ë�Õ%ìJØ ë\Ù]Â�»�Ð�Ò�íxÓ�î�Õ$ì/Ù&È8¿�À�Ò�íxÓ�î ò�å�Ì�æ6Ú�ð�ùâ�É8Â�È�È�Ì Ô�Ó°ÕÖÉRß2Õ%ë�Õ$ì�Ø ë\Ù]Â�»�ÐVíxÓ�î�Õ$ìfÙsÈ�¿�ÀmíxÓ�î ï�ù�å�Ì�æ8Ú�ð�÷â�É8Â�È�È�ë Ô�Ó°ÕÖÉRß2Õ%ë�Õ$ì�Ø ë\Ù]Â�»�ÐVíxÓ�î�Õ$ìfÙsÈ�¿�ÀmíxÓ�î ö�ógË�ð�å�Ì�æ8Ú�ï�ï�òâ�É8Â�Ƚã8× Ô�ä°ÕÖÓ°Õ%×�ÕBÂ�Ø ÂsÙ&Ó/éW×?Ç_»½Í�ÑRÄ�Á�ô�ËõÈ�Á�Á³ögËâ�É�Ï6Û�× Ô,Â�È#Õ$Ó�Ø û½¼6¾�Ñ�¼8¾�Ð[Ó&Ñ8Ê�Á�Ç�Á�Ý�Á�ÝIý8þs¾�Ò�Á]Ç�ÒRÃ�Ê8Ã�Ç^¾�Á�ÊsÐ�¾�Ê�¿�À6Å]Â�ÈgËâ�É�ÏJß�à Ô�Ó°ÕÖ×°Õ)Â�Ø ÂsÙ&Ó/áW×â�É�ÏJß�à�Ï Ô�Ó°ÕÖ×°Õ%Ì�ÕBÂ�Ø ÂsÙ&Ó/á�Ô�×�Õ$Ì�ØAËÖÈ�Á�Á³ðgËâ�É�ÏJß�à�ë Ô�Ó°ÕÖ×°Õ)Â�Ø ÂsÙ&Ó/áW× ÷�å�Ì�æ6Ú�ï�öâ�É�Ï6â8 Ô�Ó°ÕÖÌ°Õ%×�Ø ×\Ù¤ÔdÓ�Õ$Ì�ØAË>È�Á�ÁÜðgËâ�É�Û6ç Ô�Ó°ÕÖ×JØ ×\Ù&Óâ�É�Û�ë�É Ô�Ó°ÕÖÓ�ä8ö#Õ$×�Ø ×\Ù&Û�ô�Ñ�íxÓ�î ð�å�Ì�æ6Ú�ö�ðâ�É�Û�ë�É�ë Ô�è°ÕÖÉRß2Õ%Ó�ä6ö#ÕBÿ�Ø ÿsÙ&Û�ô�Ñ�íxè�î ï�÷gË�ð�å�Ì�æ8Ú�ú�÷â�É�ß^Ì�Æ�º Ô�Ó°ÕÖ×°Õ)Â�Ø ×\Ùlß�À8¾ZíxÓ�î�ÕBÂ]ÙWÆ�Ê6Ã�ÇVíxÓ�îâ�É�ß^Ì�ß�ë Ô�âJØ ß�ÀJ¿�¾�¿_Ã�Ä8¿���Á�ЯÞ8»�ÊDÁ�ô�¾�Ê8Ã<Ò�¿�Å�ÒsÑ8Ê�Á�Ç�¿�Ð�¿_»�À�ËeÈ�Á�ÁWú�Ëâ�É�ß^Ì�É Ô�ß�ãaÕ$Ó�Õ)Â�ÈRØ ß�À�Ñ�¼8¾�Ð<Ó\Þ�Ê8»½Ís¼�ÀJ¿�¾fß�ã�Ë>È�Á�Á³ógË ð�å�Ì�æ6Ú�ö�óâ�É�ß^Ì�É8 Ô�Ó°ÕÖÌ°Õ%×�Ø Â�»�À���Á�Ê�¾RÐ<Þ8»�Êf¿�À�Ñ�¼8¾�Ë È�Á�Á³ñgË ð�å�Ì�æ6Ú�ö�ó

SMW(�[�eV­��¹J£�d{a�Zc](p�ªc],Y�Z�def�V£a�ç

Page 27: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

º8»½¼6¾�¿�À�Á Â�Ã�Ä�Ä�¿�À8Å Æ_¼�À�Ç�¾�¿½»½ÀRÃ�Ä È�¿�À8Å8Ä�Á<É�Ê�Á�Ç#ËÌ8ýÍJÁ È�Á½Î½¼�Á�À�Ç�Á ÏJÁ�Ð�Ç�Ê�¿�Ñ8¾�¿_»½À È�Ç^Ê8Ã�¾�Ç�Ò&ȽÑRÃ�Ç�Áâ�É�ß^Ì8ç�É Ô,Â�È#Õ)ß�×�Ø ß^×]Ù��8Ã�Ľ¼JÁW»_Þ&â�É8Â�û�â�ï)ÑRÃ_Ê8ýÍ�Á�¾RÁ�Ê���¿�¾_Ò&À�ýÍ�Á³Â�ÈgËâ�É�ß^Ì�º�ä Ô�Ì°ÕÖä�ë�Õ%ë�Õ$â�Ì°ÕÖâ�è�Õ$ä�º�Õ%º°Õ[ß½ç�Ø ÆR¿�À8Ý�Ðs¿�À8¾RÁ�Å�Á�ÊWÊRÁ_Ä�Ã�¾�¿½»½À�Ð#ËõÈ�Á�Á³ògË Ì�ï^åAÔ�Ì�æ8Ú_ø�Øâ�É�ß^Ì�º�ë Ô�Ì°ÕÖä�ë�Õ%ë�Õ$â�Ì°ÕÖâ�è�Õ$ä�º�Õ%º°Õ[ß½ç�Ø ÆR¿�À8Ý�Ðs¿�À8¾RÁ�Å�Á�ÊWÊRÁ_Ä�Ã�¾�¿½»½À�Ð#ËõÈ�Á�Á³ògË Ì8ö�åAÔ�Ì�æ8Ú_ø�Øâ�É�ä6û�ê Ô�Ó°ÕÖÓ�ä8ö#Õ$×�Ø ×/ÙWä8»�ÅZíxÓ�î ñ�å_Ì�æ8Ú�ø8ðâ�É�ä6û�ê�ë Ô,ÿ9ÕÖÉRß2Õ%Ó�ä6ö#Õ$è�Ø è/ÙWä8»�ÅZí�ÿ�î ï�ù�Ë�ð�å�Ì�æ6Ú�ð�ïâ�É�â_ÏR Ô�Ó°ÕÖ×°Õ%Ì�Ø Ôd×�Õ$Ì�ØWÙWÓâ�É�â�â�É8 Ô�Ó°ÕÖ×°Õ%ä�ÕBÂ�Ø Â\ÙWÓfÚW×?¿#Ë È8Á�Á³ögËâ�É�â�É8Â�â Ô�ä°ÕÖÓ°Õ%×�ÕBÂ�Ø ×/ÙWº�Á_Ã�Ä�Ô�Ó�ØJÕ%Â\Ù]ß�ÍRÃ�ÅVÔ�Ó�Ø2Ë$È8Á�Á³ögËâ�É�â_ã8ä Ô�Ó°ÕÖ×°Õ)Â�Ø Â\ÙWÓfåW×â�É�â_ã8ä�Ï Ô�Ó°ÕÖ×°Õ%Ì�ÕBÂ�Ø Â\ÙWÓfå�Ô�×�ÕBÌ�ØAË>È�Á�Á³ðgËâ�É�â_ã8ä�ë Ô�Ó°ÕÖ×°Õ)Â�Ø Â\ÙWÓfåW×â�É�ÌRß�Ì�è Ô�Ó°ÕÖ×JØ ×/ÙWÌ�¿�À8¾ZíxÓ�î Ì�æ6Ú�øâ�É�Ì�É�æ�º Ô�Ó°ÕÖÌ°Õ%×�Ø ×/ÙWÓfå�åWÌ ö�å_Ì�æ8Ú�ï�ùâ�É�Ì�É�æ�ë Ô�Ó°ÕÖÌ°Õ%×�Ø ×/ÙWÓfå�åWÌ ð�å_Ì�æ8Ú�ö�ùâ�É�Ì�º�è Ô�Ó°ÕÖÌ°Õ%×�Ø ×/ÙWÓfå�å�Ô�ï�á_Ì�Ø ú�å_Ì�æ8Ú�÷�öâ�É�Ì�º�è�ë Ô�Ó°ÕÖÌ°Õ%×�Ø ×/ÙWÓfå�å�Ô�ï�á_Ì�Ø ò�å_Ì�æ8Ú�÷�úâ�É8û�ã8è Ô�ß�ãaÕ$Ó�Õ%ä�Ó°Õ%Â�È�Ø û�¼8¾�Ñ�¼8¾RÐ<Óf»½Às¼�ÀJ¿�¾fß�ã�ËBÈ8Á�Á³ógË ø8å_Ì�æ8Ú�ö�öâ�É8û�ã8è8 Ô�Ó°ÕÖ×°Õ%Ì�Ø Â�»½À���Á�Ê�¾�Ð<Þ8»�Ê\»½¼6¾�Ñ�¼8¾�Ë È8Á�Á³ñgË ø8å_Ì�æ8Ú�ö�öâ�É�ÉRß Ô�ÉRß8Ø ÉRßWÙsÉ�¿ ñ�å_Ì�æ8Ú�ø8÷â�É�ÉRß�ë Ô�ÉRß8Ø ÉRßWÙsÉ�¿ ògË ð�å�Ì�æ8Ú_ø8óâ�É�É6û�ä Ô�Ì°ÕÖä°Õ%Ó�Õ$ë�ï�Õ$Ì�ë°Õ%ë�Ø ÆR¿�À8Ý�ÐIÊ�Á_Ã�ÄÜÊ6»�»�¾�г»�ÞWÑR»�Ä_þ�Ð#ËeÈ8Á�Á\ï�ùgË ð�å_Ì�æ8Ú�ö�ðâ�É�É6û�ä�ë Ô�Ì°ÕÖä°Õ%Ó�Õ$ë�ï�Õ$Ì�ë°Õ%ë�Ø ÆR¿�À8Ý�ÐIÊ�Á_Ã�ÄÜÊ6»�»�¾�г»�ÞWÑR»�Ä_þ�Ð#ËeÈ8Á�Á\ï�ùgË ñ�å_Ì�æ8Ú�÷�öâ�É�º�Ó�Ì�Ï Ô�ÓJØ Ó/ÙWº8ýÀ8Ý8»�Í&À�¼�Í�ý�Á�Ê\¿�Àmí�ù9Õ ï�î�Ëâ�É8È_Û�è�É Ô,Â�È#Õ)ß�×�Ø È8Á�¾�ÐIâ�É8Â�û_â�ï)ÑRÃ�Ê8ýÍJÁ�¾�Á�Ê��R¿�¾�ÒWÀRÃ�Í�Á³Â�È&¾8»]ß�×aËâ�É8È�û�º�è Ô�Ì°ÕÖä�Ó�Õ%Ó�Õ)ß�ÉJØ È�»�Ê�¾�ÐsÁ�À8¾�Ê�¿�Á�ÐI»_Þ]Ó�Ë>È�Á�Á\ï�ï2Ë ö�å_Ì�æ8Ú�ñâ�É8È�ç�º�è Ô�Ó°ÕÖ×JØ ×/ÙsÈ�Î�Ê�¾ZíxÓ�î ÷�å_Ì�æ8Ú�ï�ðâ�É8È�ç�º�ë Ô�Ó°ÕÖ×JØ ×/ÙsÈ�Î�Ê�¾ZíxÓ�î ø�Ë ð�å�Ì�æ8Ú�ö�óâ�É8È�ã8× Ô�Ó°ÕÖ×°Õ)Â�Ø Â\ÙWÓféW×

SMW(���yV¨�[¹{£�d�asZc]�p�ª¡]Y�Z\dyf�V�a?��¢$],f7Zg�

���

Page 28: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

���{æ*����z����Joéæ*�����b���Joéæ*��������Joéæ*������ o�æ*���<æ*�dæÅoéæ*���<æ�ç��Joéæ*���<æ����Joéæ*������|�èJoéæ*������|��Joæ*���j�<èJoéæ*���j�<�Joéæ*���j�=ç#}�W(f�}Kæ*�dæ*�<æc�5i`Vg^spt]^\u ]i�V~^|W(Z�de]f`a¨]f�kO]u5i��yVg��°�5´��°�5·¢c�f7Y�uX��V~^|aO��«%f�V�W,k|T�]�p;Z\T�V�a�Vj^�],Y�Z�def�V£a���d{a¨Z�T�VX](±-asVgZo�`VgZ�b�VgVgf�Z\T�V5^�V�W(��W�f`}�deu�W�n,def�W(^\xi`W�^\Zra¡]�p0Z�T�V­°�5·¢ W(^\nY�u5Vgf7Z|a?����a�T�],Y[�{}=�`V­W(Z;�eV£W,asZ�|2|9�o�²�

���{æ*�����j�<�¤W(f`}3æ*��������oà`f`}!W5kO]u5i��yVg�5^\]�]Z_](p�Z�T�V4|�ztZ\Th}�Vgn^\VgVoi`],�yx�f[],u5d�W(�*bcT�]ßasVX°�5U¢kO]�V���kOdyVgf7Z|a;W(^\Vodyf�z��7x!§HV~bcZ\],f[z%ª;W(i�T�as],f�deZ�Vg^|W�Z\dy],f`a?���`Vgn,dyf�f�def[n�W�Z�Z\T�VXkO]u5i��yVg��Fy5$¶wW(�yY�VOm.�6n:mCn�r�o�|��Þm\nr�rV��¾ m.�6n:m��jr�o�|��Þm���r�r7�,W�f`}o^\VgZ�Y�^\foZ�T�V_k?],u5i��yVg��°�5!^\]�]ZUdef4�²�SUT�VJ|#�bn$kO]�V��¦kOdeVgf7Z|ab� A û � ÿ ûgõeõyõeût� � W(^\V·W,a�asY�u5V£}ÝZ�]_a�Z|W�^\ZMdef��e]7kgW�Z\dy],f`a6zÞm\n�r�oOzGm���}=��z9�:n�r�ozGm��c}=��z9�:n�r7��VgZrk,����z!d{a�Z\T�VX](±-a�VgZ��`VgZ�bUV~Vgf¥Z�T�V5^�V�W(��W(f�}¥Z\T�VXdeu¦W(n,dyf`W(^�x!i`W(^�Z|a�](p;V�WkmTdyf�i�Y�ZÛkO]�V��¦kOdeVgf7Zg��S�x7i�d�kgW(�y�ex���zm��|A|9�����3���²�BW��{a�]�W(f3def�i[Y�Z�i`W�^|W�u5VgZ\V~^g�Bd�a¨Z�T�V�](±-asVgZ�`VgZ�bUV~Vgf!Z\T�V¤^\V�W��UW�f`}¥Z�T�Vjdyu�W(ndef`W�^\x�i`W(^�Z|a¨]�p;Z\T�V¤°�5U¢�^�V�asY��yZ�Z\]��`V�a�Z\]^\V�}!def®�²�:���uXY`asZ��`V�W�ZH�yV�W,a�Z�|A|9�����

���{æ*������è�kO],u5i�W(^\V£aÝZ�T�V�°�5�f�Y�uX�`Vg^|a±z�W�f`}V}�W(f`}�^�VgZ\Y�^�f`a¨dyf��=� Z�T�V5wW(�yY�V5z��,��©��0],^��}�V~i�V~f`}�def[no],f�bcT[VgZ\T�V~^{z � }Þo�z � }`��]^Lz��Z}`�`«%ZUd�a�p�W,asZ�Vg^cZ\T�W(f�u¤Vg^\Vg�yxoa�Y���Z\^rW,kOZ�def�nz�W�f`}]}¤W(f`}5�e]�]l�dyf�n¤W(Z;Z\T�V­asdyn,f�](p¸Z\T�V�^\V£asY��yZg�

µ��;§H]Z\VoZ�T`W(Z�d p z�d{a_f�]Z�W(f�Vg�[W,kOZ���def`W�^\x�pt^|W,k?Z\de]f*�*Z\T�VX°�5ókO]f�w�Vg^�Z\V�}�wW(�eY[Vo](pcZ�T�VEFy5$¶f7Y�uX��V~^ym&zJoY|br7�(bcT�dy�eV�^\VgZrW(def[def�n�W(�y�`asdyn,f�dÚà²kgW(f7Z0��dyZ|aB]�p²i�^\V�k?d{asdy],f­defX®���u�Wgx�f�],Z0i[^\]7}�Y`k?VZ�T�V�def7Z\Vgf`}7V�}j^\V£asY��yZg�$®Hf�Vg��W�u5i��yVH]�p$WowW(�eY[V¨Z�T`W(Z;d{acW�f�Vg�[W,k?Zc��def`W�^\xjpt^rW,kOZ�de]f�d{ac�7�e�~�,µ��®Hf­Vg�[W(u5i��yV$](p-WHwW(�yY�VcZ\T`W�Z0d{aMf�],Z$W�foVg�[W,kOZM��def�W(^\x�pt^|WkOZ\dy],fod{a$�,�y�,��æ*���C|����cu�Wgx_�`VcY`asV£}Z�]¥i`Vg^�pt],^\u ptY��e�yx�WkgkOY�^rW(Z\V�ujY[�eZ\dyi�^\V£kOdyasde]f�}7V�kOdeu¦W(�eztZ\]zÎ�[def`W�^\x�kO]f�w�Vg^rasdy],f3](p­k?],f`a�Z|W(f7Z|aZ�T`W(Z�W(^�V¨f[],Z;Vg��WkOZU�[def`W�^\xjpt^rW,kOZ�de],f�aO�

ç��{æ*���C|b�-�5uXY`a�Zc��VXk~W(�e�yV�}=i[^\de]^_Z\]�Y`a�def�n¦W(f7x!W,}7w,W�f`kOV�}�^�],Y�Z�def�V��td%�æV��_W�f�x�^\],Y[Z\def[VobcT�]�a�Vf`W�u5VXVgf`}�a�def®�`�|�$¢�W(�e�ydef�n�æc�c�C|:�C��bcdyZ\T3W�^\n,Y[u5Vgf7Z�æ�def[deZ\d�W(�ydeâgV�acpt],^oi�^�V�kOd{a�de]f¥�yVgw�Vg� |2|���}�}Cæ*�`SUT�VXY`a�Vg^_uXY`asZ�W(��as]�W��e�e]7k~W(Z\VO��}�}�m�æ���qcro}�],Y[���eVoi�^�V�kOd�asde]f!kOV~�e�{acdef�W�f�W(^�^|Wgx!defkO]u5u5]féæ*���j�Cæ��[� Ù f[�ex5]f�V­kgW(�y��Z\]4æ*���C|:�C�od{aU^�V���Y�de^�V�}jdef�Woi�^\]n,^rW(u!����{æ*���C|��Ýdyf�i�Y�ZraBZ\T[V;°�5 f7Y�uX��V~^�z­],f¤q�]^\Z�^|W(fXY�f�dyZ��Cç��=�*��d{a0W�a�kO^|W�Z|k|TXW(^\^rWgxobcdeZ\TXW�Z$�eV�WasZ��Å ���2��}=|A|9�bn-p�p­kOV~�e�{aU]�p�Zsx7i`V4��~�z�è�zj���j��èc}cn,��SUT�VX}�dyn,deZra¡]�pJz=u¦W£x¦asi`W�f¥u5]^\V�Z\T�W(f!],f[V�ydef�V���®#kO]u5u�WoW�Z_Z\T�V­Vgf`}�]�pUZ�T�Vo�{WasZ_�ydef�VÛ}�Vgf�]Z\V�a;Z\T�V­Vgf`}�](p�Z�T�VX°�5×f�Y[uj�`Vg^~�HSUT[Vdyf�i�Y�Z_�ydef�V£aUu�Wgx=f[],Z_Vg�[kOVgV£} �~�,©�k|T`W(^rW,kOZ�Vg^|aHdyf��yVgf�n,Z�T*��¶0uj�`V�}[}�V�}5���{W�f�l[a_W(^�VXW(�e�y]�bUV�}W�f�x7bcT�Vg^�V��#¬�VgV!dyZ\Vgu ø pt]^=Z�T�V�W(�y�e]�bcW����eV�pt],^�u�W(ZX](p�W(f�def[i�Y�Z�°�5Cf�Y[uj�`Vg^~�^æ*�*�=ç��]Y�Z\i�Y[Z|a_Z\T�VoV~��i`],f[Vgf�Z�i��eY`a±��z�u�W(f7Z\d�a\a\WX}�dyn,deZraH](p·Z\T�VX°�5�f7Y�uj�`Vg^�z�],f�q�],^\Z�^|W�f¥Y�f[deZ�Cç��²bcdeZ\T�W�kO],u¤u�WjW�Z�Z�T�VjV~f`}��XãHVg^�VjZ�T�VXa\kO^rW(ZrkmT�W(^�^|Wgx¯�*��uXY`a�Z_T`Wgw�V4��z9�j�A�¤kOVg�y�{aH]�pZ�x7i�V¶��~�z�è�zj���j��èj}*n��

ø��{æ*���C|����_k?],f7w�Vg^\ZraBZ\T�V±��~�z�è�zj�����èc}cn$asZ�^\dyf�nVz�](p-�eVgf[n,Z\T4|oZ�]­°�5hpt]^\uCdefI}`��¬�Z�^\dyf�n�a0def[i�Y�ZZ�]éæ*���C|�����uXY`asZ��`V�def�Z�T�V¨pt]^\u�W�Z¶ndp���Ä�½�����¼·Å��­bcT�Vg^�Vo½ o�¼�W(f�}��¤W(^�V�}7den,dyZ;asZ�^\def[n�aO�ÄXW(f�}���W(^�V��o],^_�[�{W(f[l��²W(f`}��¤d{acVgdeZ�T�Vg^���],^�}[�c¯U��W(f�l[a¡u¦W£x¤��V­VguX��V£}�}�V�}5W�f�x7bcT�Vg^�V��SUT�V­}�dyn,dyZ;asZ\^�def�n�½­d{ac�edeu¤deZ\V~}oZ\]Xf�def�VÝ}�dendeZ|acW�f`}�ø©�Z�],ZrW(�»kmT`W�^|WkOZ\Vg^raO�7def`kO�yY`}�dyf�no���{W�f�l[aO�SUT�VoV~��i`],f[Vgf�Z�i�]^\Z�de],f��Îd��íV���Z\T[Voi�]^\Z�de],f�Y�i!Z�]�W�f`}!def`kO�yY`}�dyf�n��`�;W�f`} Z�T�Voi`Vg^\dy]7} u¦W£x

�ø

Page 29: A Portable High Performance Multiprecision Package€¦ ·  · 2016-02-26É`Ê J5ËMËBÌtÍÎR Q7NÍÎÏ`ÐMLjÏ Ñ;Ò ÓMÌÔNÍtËMP(Õ7R ÍtLgÍÎÏ`Ð×ÖÏ`Ø3ËBÓ*NQ NÍtÏ`Ð

]i�Z\dy],f`W��e�exo�`V_]u5deZ�Z\V�}²� æ*�j�<ç��j�­kO],f7w�Vg^�Z|a0Z\T�VÝ°�5¥f�Y[uj�`Vg^ zXZ\]­Z\T�Vk��~�z�è�z����j��è�}*nUW�^\^|Wgx}o](p$�yVgf�nZ\TO|!��W(f�],Y[Z\i�Y�Zci�W(^|W�u5VgZ�Vg^O�r��bcT�d�kmT5Z�T�Vgf�k~W(f��`V¨]Y�Z\i[Y�ZHY�asdef[noÃ�z n�pt]^\u�W�ZU�7xZ�T�V�Y`asVg^~�z}juXY`asZ�T`Wgw�V�W(Z;�eV�WasZ(��Å ���2��}=|A|9��q�p�kOVg�y�{a?�

³��{æ*���C|�è��¤W(f`}Yæ*�c�-|�è��¤asV£W(^|k|T=pt]^Hdyf�Z�Vgn,V~^c^\Vg��W(Z\dy],f`a;W(u¤],f�n5Z�T�V�Vgf7Z\^\dyV�ac](p$Z�T�V�|7zÎ�y],f�n¦°�5w�V�k?Z\],^b����®;f¨dyf�Z�Vgn,V~^*^\Vg��W(Z\dy],f�d{a*W�f4�`zÎ�y],f�n;w�V�kOZ�],^�8Ua�Y`k|T�Z\T�W(Z�8 ÿ � ÿ òV8 ü � ü òo÷~÷g÷Ôò�8 ý � ý ��©��SUT�V�Vgf7Z\^�deV�a$](p � W(^\V­Wa\asY[u5V�}5Z\]Xa�Z|W(^�Z;W(Z±�Þm\n�r�oE�Þm.���9�bnr�o��Gm���}=���9�:n�r7�(VgZrk,��æ�|jd�aUZ\T�V�y],n ÿBA ](p»Z\T�V�u�W(�7deuXY�u�¶0Y`kO�ed�}�V�W�f5f�],^�u ](p¸W(f�WkgkOVgi�ZrW(���yVH^�Vg�{W�Z\dy],f*�����d�aUa�VgZcZ\]��_dÚpMZ\T�V^�],Y�Z�def�V�asY`k~kOVgV�}�a0dyfj^�V�kO]�w�Vg^\dyf�n�W_^\V~�{W(Z�de]fjZ�T`W(Z��\�(�»i�^\]7}7Y`kOV�a$âgVg^\]�Z�]¨bcdyZ\T�dyfjZ�T�V;^\Vg��W(Z\dyw�VZ�],�eV~^|W(f�kOVVn<p�}�}Cæj��W(f`}5�����*T�W,a0¶0Y`kO�yd{}�V£W(f�f[],^\u��eV�a�a�Z�T`W(f�n<p�}�}Cæj|²�g«Îp`f[]H^�Vg�{W�Z\de]fod{a�pt],Y�f�}Z�T`W(Zcu5V~VgZ|aBZ�T�V�a�V�asZrW(f`}�W�^|}�a?�����d{a�asVgZ�Z\]X©7�0Þ�T�Vgf�W¨wW(�yd{}j^�Vg�{W�Z\dy],f5w�V�k?Z\],^�d{a$^\V�kO]�w�Vg^�V�}��dyZHd�aHi��{WkOV�}�def�è²���`Vgndef�f�dyf�n�W�ZyèÞm\n�r�oOèGm&��è9�:n�r�o4èGm���}=��è9�:n�r7��VgZrk,�e��bcT�V~^\V4��è��`�edyl�V����²�d�aHW�f�def[i�Y�Z;i`W(^rW(u5VgZ�Vg^g�J��è�a�T�],Y[�{}��`VoW�Z_�eV�WasZ�æj|��2����q��0Þ�T[Vgf��-�9}jd�aHW�ZH�yV�W,a�Z_µ7��f�]^\u�`],Y[f`}�aoW(^�V5],Y[Z\i�Y�Z­bcdeZ�T�def�bcT[d{k|T¥f�]�^\Vg��W(Z�de],f�kgW�f�Vg�7d{asZ~��SUT�V5i`W�^|W�u5VgZ\V~^|ay|6n5W�f`}¨|c�dyf¥Z�T�V�a\k?^|W(ZrkmT asi`WkOV�kO]�eY�u5f�}7Vgf�],Z�VW�c}<|c}�}��V�+��}=|��ªn<�hW(f`}?�c}=|�}�}��¢�m��}<|��Ûn��[�^�V�asi`V�kOZ�dew�Vg�yx��

�g©7�Çæ*���j�=�;W(f`}yæc���*�=���Uà`f`}�W¡^�V�W(��^�]�],ZM](p[Z\T�VG|7zÎZ�T­}�Vgn,^�VgV$i`],�ex7f�]u5d{W��,bcT�]ßasVc°�5�kO]�V��¦kOdeV~f�ZraW�^\V_dyfOzj�7x¤§HVgbcZ\]f5deZ�Vg^|W�Z\dy],f`a?���`Vgn,dyf�f�dyf�nXW(Z�Z\T�VVFk5�¶3wW(�eY[V3m&� n6oO|��br�W�f`}5^\VgZ�Y�^\f¤Z\T�V°�5�^\]�],Z¤def����$SUT[V3|9�:n�kO]�V��¦kOdeV~f�Zra�� A ût� ÿ ûgõeõyõeût� � W(^�V!W,a�asY�u¤V�}�Z\]�asZrW(^�Z5def3�e]7k~W(Z\dy],f`azGmCn�r�oOzÞm.�#�bn�r�oEzÞm���}=�9�:n�r��VgZ|k,�»S�x7i�d{k~W(�e�yx�� ��|A|9�o�²�

�,��Çæ*�*���=è��has],^�Z|a�Z\T�V5V~f�Z�^\deV£aÝ]�p;Z\T�VE|7zÎ�y],f�n�°�5 w�V£kOZ\]^�z�def7Z\]�Wa\kOVgf�}�def�n�],^r}�Vg^�Y�asdef[n!Z\T�V��Y�d{k|l[as],^�Z�W(�en],^�deZ\T[u!� SUT[V�Vgf7Z\^\dyV�a5](pEz)W(^�V3W,a�asY�u5V£} Z�]óasZ|W�^\ZhW(Z�zGmCn�r�oEzÞm.��z#�bnr�ozGm���}=��z9�:n�r7��VgZrk,�CSUT�V�i`Vg^\uXY�ZrW(Z\dy],f�w�V�k?Z\],^¤Z\T`W�Z=b�],Y���} a�],^�Z�Z\T[V!w�V�kOZ\]^5d{a5^�VgZ\Y�^�f�V�}dyf¨�=�`�

�³