1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>Comparison of Nth-root Finding Algorithms</title> 5<link rel="stylesheet" href="../../math.css" type="text/css"> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="../../index.html" title="Math Toolkit 2.12.0"> 8<link rel="up" href="../root_comparison.html" title="Comparison of Root Finding Algorithms"> 9<link rel="prev" href="cbrt_comparison.html" title="Comparison of Cube Root Finding Algorithms"> 10<link rel="next" href="elliptic_comparison.html" title="Comparison of Elliptic Integral Root Finding Algorithms"> 11</head> 12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 13<table cellpadding="2" width="100%"><tr> 14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> 15<td align="center"><a href="../../../../../../index.html">Home</a></td> 16<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> 17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> 18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> 19<td align="center"><a href="../../../../../../more/index.htm">More</a></td> 20</tr></table> 21<hr> 22<div class="spirit-nav"> 23<a accesskey="p" href="cbrt_comparison.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../root_comparison.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="elliptic_comparison.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h3 class="title"> 27<a name="math_toolkit.root_comparison.root_n_comparison"></a><a class="link" href="root_n_comparison.html" title="Comparison of Nth-root Finding Algorithms">Comparison 28 of Nth-root Finding Algorithms</a> 29</h3></div></div></div> 30<p> 31 A second example compares four generalized nth-root finding algorithms for 32 various n-th roots (5, 7 and 13) of a single value 28.0, for four floating-point 33 types, <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>, <code class="computeroutput"><span class="keyword">long</span> 34 <span class="keyword">double</span></code> and a <a href="../../../../../../libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a> 35 type <code class="computeroutput"><span class="identifier">cpp_bin_float_50</span></code>. In 36 each case the target accuracy was set using our "recommended" accuracy 37 limits (or at least limits that make a good starting point - which is likely 38 to give close to full accuracy without resorting to unnecessary iterations). 39 </p> 40<div class="informaltable"><table class="table"> 41<colgroup> 42<col> 43<col> 44</colgroup> 45<thead><tr> 46<th> 47 <p> 48 Function 49 </p> 50 </th> 51<th> 52 <p> 53 Precision Requested 54 </p> 55 </th> 56</tr></thead> 57<tbody> 58<tr> 59<td> 60 <p> 61 TOMS748 62 </p> 63 </td> 64<td> 65 <p> 66 numeric_limits<T>::digits - 2 67 </p> 68 </td> 69</tr> 70<tr> 71<td> 72 <p> 73 Newton 74 </p> 75 </td> 76<td> 77 <p> 78 floor(numeric_limits<T>::digits * 0.6) 79 </p> 80 </td> 81</tr> 82<tr> 83<td> 84 <p> 85 Halley 86 </p> 87 </td> 88<td> 89 <p> 90 floor(numeric_limits<T>::digits * 0.4) 91 </p> 92 </td> 93</tr> 94<tr> 95<td> 96 <p> 97 Schröder 98 </p> 99 </td> 100<td> 101 <p> 102 floor(numeric_limits<T>::digits * 0.4) 103 </p> 104 </td> 105</tr> 106</tbody> 107</table></div> 108<p> 109 Tests used Microsoft Visual Studio 2013 (Update 1) and GCC 4.9.1 using source 110 code <a href="../../../../example/root_n_finding_algorithms.cpp" target="_top">root_n_finding_algorithms.cpp</a>. 111 </p> 112<p> 113 The timing uncertainty (especially using MSVC) is at least 5% of normalized 114 time 'Norm'. 115 </p> 116<p> 117 To pick out the 'best' and 'worst' algorithms are highlighted in blue and 118 red. More than one result can be 'best' when normalized times are indistinguishable 119 within the uncertainty. 120 </p> 121<h4> 122<a name="math_toolkit.root_comparison.root_n_comparison.h0"></a> 123 <span class="phrase"><a name="math_toolkit.root_comparison.root_n_comparison.program_example_root_n_finding_a"></a></span><a class="link" href="root_n_comparison.html#math_toolkit.root_comparison.root_n_comparison.program_example_root_n_finding_a">Program 124 ..\example\root_n_finding_algorithms.cpp, Microsoft Visual C++ version 14.1, 125 Dinkumware standard library version 650, Win32 Compiled in optimise mode., 126 _X86_SSE2</a> 127 </h4> 128<p> 129 Fraction of full accuracy 1 130 </p> 131<div class="table"> 132<a name="math_toolkit.root_comparison.root_n_comparison.root_5"></a><p class="title"><b>Table 10.3. 5th root(28) for float, double, long double and cpp_bin_float_50 types, 133 using _X86_SSE2</b></p> 134<div class="table-contents"><table class="table" summary="5th root(28) for float, double, long double and cpp_bin_float_50 types, 135 using _X86_SSE2"> 136<colgroup> 137<col> 138<col> 139<col> 140<col> 141<col> 142<col> 143<col> 144<col> 145<col> 146<col> 147<col> 148<col> 149<col> 150<col> 151<col> 152<col> 153<col> 154<col> 155<col> 156<col> 157<col> 158</colgroup> 159<thead><tr> 160<th> 161 </th> 162<th> 163 <p> 164 float 165 </p> 166 </th> 167<th> 168 </th> 169<th> 170 </th> 171<th> 172 </th> 173<th> 174 </th> 175<th> 176 <p> 177 double 178 </p> 179 </th> 180<th> 181 </th> 182<th> 183 </th> 184<th> 185 </th> 186<th> 187 </th> 188<th> 189 <p> 190 long d 191 </p> 192 </th> 193<th> 194 </th> 195<th> 196 </th> 197<th> 198 </th> 199<th> 200 </th> 201<th> 202 <p> 203 cpp50 204 </p> 205 </th> 206<th> 207 </th> 208<th> 209 </th> 210<td class="auto-generated"> </td> 211<td class="auto-generated"> </td> 212</tr></thead> 213<tbody> 214<tr> 215<td> 216 <p> 217 Algo 218 </p> 219 </td> 220<td> 221 <p> 222 Its 223 </p> 224 </td> 225<td> 226 <p> 227 Times 228 </p> 229 </td> 230<td> 231 <p> 232 Norm 233 </p> 234 </td> 235<td> 236 <p> 237 Dis 238 </p> 239 </td> 240<td> 241 </td> 242<td> 243 <p> 244 Its 245 </p> 246 </td> 247<td> 248 <p> 249 Times 250 </p> 251 </td> 252<td> 253 <p> 254 Norm 255 </p> 256 </td> 257<td> 258 <p> 259 Dis 260 </p> 261 </td> 262<td> 263 </td> 264<td> 265 <p> 266 Its 267 </p> 268 </td> 269<td> 270 <p> 271 Times 272 </p> 273 </td> 274<td> 275 <p> 276 Norm 277 </p> 278 </td> 279<td> 280 <p> 281 Dis 282 </p> 283 </td> 284<td> 285 </td> 286<td> 287 <p> 288 Its 289 </p> 290 </td> 291<td> 292 <p> 293 Times 294 </p> 295 </td> 296<td> 297 <p> 298 Norm 299 </p> 300 </td> 301<td> 302 <p> 303 Dis 304 </p> 305 </td> 306<td> 307 </td> 308</tr> 309<tr> 310<td> 311 <p> 312 TOMS748 313 </p> 314 </td> 315<td> 316 <p> 317 7 318 </p> 319 </td> 320<td> 321 <p> 322 457 323 </p> 324 </td> 325<td> 326 <p> 327 2.00 328 </p> 329 </td> 330<td> 331 <p> 332 0 333 </p> 334 </td> 335<td> 336 </td> 337<td> 338 <p> 339 11 340 </p> 341 </td> 342<td> 343 <p> 344 860 345 </p> 346 </td> 347<td> 348 <p> 349 3.54 350 </p> 351 </td> 352<td> 353 <p> 354 1 355 </p> 356 </td> 357<td> 358 </td> 359<td> 360 <p> 361 11 362 </p> 363 </td> 364<td> 365 <p> 366 806 367 </p> 368 </td> 369<td> 370 <p> 371 3.02 372 </p> 373 </td> 374<td> 375 <p> 376 1 377 </p> 378 </td> 379<td> 380 </td> 381<td> 382 <p> 383 12 384 </p> 385 </td> 386<td> 387 <p> 388 226875 389 </p> 390 </td> 391<td> 392 <p> 393 <span class="red">8.11</span> 394 </p> 395 </td> 396<td> 397 <p> 398 0 399 </p> 400 </td> 401<td> 402 </td> 403</tr> 404<tr> 405<td> 406 <p> 407 Newton 408 </p> 409 </td> 410<td> 411 <p> 412 3 413 </p> 414 </td> 415<td> 416 <p> 417 228 418 </p> 419 </td> 420<td> 421 <p> 422 <span class="blue">1.00</span> 423 </p> 424 </td> 425<td> 426 <p> 427 0 428 </p> 429 </td> 430<td> 431 </td> 432<td> 433 <p> 434 4 435 </p> 436 </td> 437<td> 438 <p> 439 243 440 </p> 441 </td> 442<td> 443 <p> 444 <span class="blue">1.00</span> 445 </p> 446 </td> 447<td> 448 <p> 449 -1 450 </p> 451 </td> 452<td> 453 </td> 454<td> 455 <p> 456 4 457 </p> 458 </td> 459<td> 460 <p> 461 298 462 </p> 463 </td> 464<td> 465 <p> 466 1.12 467 </p> 468 </td> 469<td> 470 <p> 471 -1 472 </p> 473 </td> 474<td> 475 </td> 476<td> 477 <p> 478 6 479 </p> 480 </td> 481<td> 482 <p> 483 27968 484 </p> 485 </td> 486<td> 487 <p> 488 <span class="blue">1.00</span> 489 </p> 490 </td> 491<td> 492 <p> 493 0 494 </p> 495 </td> 496<td> 497 </td> 498</tr> 499<tr> 500<td> 501 <p> 502 Halley 503 </p> 504 </td> 505<td> 506 <p> 507 2 508 </p> 509 </td> 510<td> 511 <p> 512 250 513 </p> 514 </td> 515<td> 516 <p> 517 1.10 518 </p> 519 </td> 520<td> 521 <p> 522 0 523 </p> 524 </td> 525<td> 526 </td> 527<td> 528 <p> 529 3 530 </p> 531 </td> 532<td> 533 <p> 534 268 535 </p> 536 </td> 537<td> 538 <p> 539 1.10 540 </p> 541 </td> 542<td> 543 <p> 544 0 545 </p> 546 </td> 547<td> 548 </td> 549<td> 550 <p> 551 3 552 </p> 553 </td> 554<td> 555 <p> 556 267 557 </p> 558 </td> 559<td> 560 <p> 561 <span class="blue">1.00</span> 562 </p> 563 </td> 564<td> 565 <p> 566 0 567 </p> 568 </td> 569<td> 570 </td> 571<td> 572 <p> 573 4 574 </p> 575 </td> 576<td> 577 <p> 578 52812 579 </p> 580 </td> 581<td> 582 <p> 583 1.89 584 </p> 585 </td> 586<td> 587 <p> 588 0 589 </p> 590 </td> 591<td> 592 </td> 593</tr> 594<tr> 595<td> 596 <p> 597 Schröder 598 </p> 599 </td> 600<td> 601 <p> 602 2 603 </p> 604 </td> 605<td> 606 <p> 607 256 608 </p> 609 </td> 610<td> 611 <p> 612 1.12 613 </p> 614 </td> 615<td> 616 <p> 617 0 618 </p> 619 </td> 620<td> 621 </td> 622<td> 623 <p> 624 3 625 </p> 626 </td> 627<td> 628 <p> 629 271 630 </p> 631 </td> 632<td> 633 <p> 634 1.12 635 </p> 636 </td> 637<td> 638 <p> 639 -1 640 </p> 641 </td> 642<td> 643 </td> 644<td> 645 <p> 646 3 647 </p> 648 </td> 649<td> 650 <p> 651 270 652 </p> 653 </td> 654<td> 655 <p> 656 <span class="blue">1.01</span> 657 </p> 658 </td> 659<td> 660 <p> 661 -1 662 </p> 663 </td> 664<td> 665 </td> 666<td> 667 <p> 668 4 669 </p> 670 </td> 671<td> 672 <p> 673 61406 674 </p> 675 </td> 676<td> 677 <p> 678 2.20 679 </p> 680 </td> 681<td> 682 <p> 683 0 684 </p> 685 </td> 686<td> 687 </td> 688</tr> 689</tbody> 690</table></div> 691</div> 692<br class="table-break"><div class="table"> 693<a name="math_toolkit.root_comparison.root_n_comparison.root_7"></a><p class="title"><b>Table 10.4. 7th root(28) for float, double, long double and cpp_bin_float_50 types, 694 using _X86_SSE2</b></p> 695<div class="table-contents"><table class="table" summary="7th root(28) for float, double, long double and cpp_bin_float_50 types, 696 using _X86_SSE2"> 697<colgroup> 698<col> 699<col> 700<col> 701<col> 702<col> 703<col> 704<col> 705<col> 706<col> 707<col> 708<col> 709<col> 710<col> 711<col> 712<col> 713<col> 714<col> 715<col> 716<col> 717<col> 718<col> 719</colgroup> 720<thead><tr> 721<th> 722 </th> 723<th> 724 <p> 725 float 726 </p> 727 </th> 728<th> 729 </th> 730<th> 731 </th> 732<th> 733 </th> 734<th> 735 </th> 736<th> 737 <p> 738 double 739 </p> 740 </th> 741<th> 742 </th> 743<th> 744 </th> 745<th> 746 </th> 747<th> 748 </th> 749<th> 750 <p> 751 long d 752 </p> 753 </th> 754<th> 755 </th> 756<th> 757 </th> 758<th> 759 </th> 760<th> 761 </th> 762<th> 763 <p> 764 cpp50 765 </p> 766 </th> 767<th> 768 </th> 769<th> 770 </th> 771<td class="auto-generated"> </td> 772<td class="auto-generated"> </td> 773</tr></thead> 774<tbody> 775<tr> 776<td> 777 <p> 778 Algo 779 </p> 780 </td> 781<td> 782 <p> 783 Its 784 </p> 785 </td> 786<td> 787 <p> 788 Times 789 </p> 790 </td> 791<td> 792 <p> 793 Norm 794 </p> 795 </td> 796<td> 797 <p> 798 Dis 799 </p> 800 </td> 801<td> 802 </td> 803<td> 804 <p> 805 Its 806 </p> 807 </td> 808<td> 809 <p> 810 Times 811 </p> 812 </td> 813<td> 814 <p> 815 Norm 816 </p> 817 </td> 818<td> 819 <p> 820 Dis 821 </p> 822 </td> 823<td> 824 </td> 825<td> 826 <p> 827 Its 828 </p> 829 </td> 830<td> 831 <p> 832 Times 833 </p> 834 </td> 835<td> 836 <p> 837 Norm 838 </p> 839 </td> 840<td> 841 <p> 842 Dis 843 </p> 844 </td> 845<td> 846 </td> 847<td> 848 <p> 849 Its 850 </p> 851 </td> 852<td> 853 <p> 854 Times 855 </p> 856 </td> 857<td> 858 <p> 859 Norm 860 </p> 861 </td> 862<td> 863 <p> 864 Dis 865 </p> 866 </td> 867<td> 868 </td> 869</tr> 870<tr> 871<td> 872 <p> 873 TOMS748 874 </p> 875 </td> 876<td> 877 <p> 878 12 879 </p> 880 </td> 881<td> 882 <p> 883 825 884 </p> 885 </td> 886<td> 887 <p> 888 3.06 889 </p> 890 </td> 891<td> 892 <p> 893 1 894 </p> 895 </td> 896<td> 897 </td> 898<td> 899 <p> 900 15 901 </p> 902 </td> 903<td> 904 <p> 905 1145 906 </p> 907 </td> 908<td> 909 <p> 910 <span class="red">4.06</span> 911 </p> 912 </td> 913<td> 914 <p> 915 2 916 </p> 917 </td> 918<td> 919 </td> 920<td> 921 <p> 922 15 923 </p> 924 </td> 925<td> 926 <p> 927 1159 928 </p> 929 </td> 930<td> 931 <p> 932 <span class="red">4.17</span> 933 </p> 934 </td> 935<td> 936 <p> 937 2 938 </p> 939 </td> 940<td> 941 </td> 942<td> 943 <p> 944 14 945 </p> 946 </td> 947<td> 948 <p> 949 295781 950 </p> 951 </td> 952<td> 953 <p> 954 <span class="red">8.12</span> 955 </p> 956 </td> 957<td> 958 <p> 959 0 960 </p> 961 </td> 962<td> 963 </td> 964</tr> 965<tr> 966<td> 967 <p> 968 Newton 969 </p> 970 </td> 971<td> 972 <p> 973 5 974 </p> 975 </td> 976<td> 977 <p> 978 270 979 </p> 980 </td> 981<td> 982 <p> 983 <span class="blue">1.00</span> 984 </p> 985 </td> 986<td> 987 <p> 988 0 989 </p> 990 </td> 991<td> 992 </td> 993<td> 994 <p> 995 6 996 </p> 997 </td> 998<td> 999 <p> 1000 282 1001 </p> 1002 </td> 1003<td> 1004 <p> 1005 <span class="blue">1.00</span> 1006 </p> 1007 </td> 1008<td> 1009 <p> 1010 0 1011 </p> 1012 </td> 1013<td> 1014 </td> 1015<td> 1016 <p> 1017 6 1018 </p> 1019 </td> 1020<td> 1021 <p> 1022 278 1023 </p> 1024 </td> 1025<td> 1026 <p> 1027 <span class="blue">1.00</span> 1028 </p> 1029 </td> 1030<td> 1031 <p> 1032 0 1033 </p> 1034 </td> 1035<td> 1036 </td> 1037<td> 1038 <p> 1039 8 1040 </p> 1041 </td> 1042<td> 1043 <p> 1044 36406 1045 </p> 1046 </td> 1047<td> 1048 <p> 1049 <span class="blue">1.00</span> 1050 </p> 1051 </td> 1052<td> 1053 <p> 1054 0 1055 </p> 1056 </td> 1057<td> 1058 </td> 1059</tr> 1060<tr> 1061<td> 1062 <p> 1063 Halley 1064 </p> 1065 </td> 1066<td> 1067 <p> 1068 4 1069 </p> 1070 </td> 1071<td> 1072 <p> 1073 303 1074 </p> 1075 </td> 1076<td> 1077 <p> 1078 1.12 1079 </p> 1080 </td> 1081<td> 1082 <p> 1083 0 1084 </p> 1085 </td> 1086<td> 1087 </td> 1088<td> 1089 <p> 1090 5 1091 </p> 1092 </td> 1093<td> 1094 <p> 1095 329 1096 </p> 1097 </td> 1098<td> 1099 <p> 1100 1.17 1101 </p> 1102 </td> 1103<td> 1104 <p> 1105 0 1106 </p> 1107 </td> 1108<td> 1109 </td> 1110<td> 1111 <p> 1112 5 1113 </p> 1114 </td> 1115<td> 1116 <p> 1117 335 1118 </p> 1119 </td> 1120<td> 1121 <p> 1122 1.21 1123 </p> 1124 </td> 1125<td> 1126 <p> 1127 0 1128 </p> 1129 </td> 1130<td> 1131 </td> 1132<td> 1133 <p> 1134 6 1135 </p> 1136 </td> 1137<td> 1138 <p> 1139 78281 1140 </p> 1141 </td> 1142<td> 1143 <p> 1144 2.15 1145 </p> 1146 </td> 1147<td> 1148 <p> 1149 0 1150 </p> 1151 </td> 1152<td> 1153 </td> 1154</tr> 1155<tr> 1156<td> 1157 <p> 1158 Schröder 1159 </p> 1160 </td> 1161<td> 1162 <p> 1163 5 1164 </p> 1165 </td> 1166<td> 1167 <p> 1168 340 1169 </p> 1170 </td> 1171<td> 1172 <p> 1173 1.26 1174 </p> 1175 </td> 1176<td> 1177 <p> 1178 0 1179 </p> 1180 </td> 1181<td> 1182 </td> 1183<td> 1184 <p> 1185 6 1186 </p> 1187 </td> 1188<td> 1189 <p> 1190 432 1191 </p> 1192 </td> 1193<td> 1194 <p> 1195 1.53 1196 </p> 1197 </td> 1198<td> 1199 <p> 1200 0 1201 </p> 1202 </td> 1203<td> 1204 </td> 1205<td> 1206 <p> 1207 6 1208 </p> 1209 </td> 1210<td> 1211 <p> 1212 367 1213 </p> 1214 </td> 1215<td> 1216 <p> 1217 1.32 1218 </p> 1219 </td> 1220<td> 1221 <p> 1222 0 1223 </p> 1224 </td> 1225<td> 1226 </td> 1227<td> 1228 <p> 1229 7 1230 </p> 1231 </td> 1232<td> 1233 <p> 1234 85156 1235 </p> 1236 </td> 1237<td> 1238 <p> 1239 2.34 1240 </p> 1241 </td> 1242<td> 1243 <p> 1244 0 1245 </p> 1246 </td> 1247<td> 1248 </td> 1249</tr> 1250</tbody> 1251</table></div> 1252</div> 1253<br class="table-break"><div class="table"> 1254<a name="math_toolkit.root_comparison.root_n_comparison.root_11"></a><p class="title"><b>Table 10.5. 11th root(28) for float, double, long double and cpp_bin_float_50 1255 types, using _X86_SSE2</b></p> 1256<div class="table-contents"><table class="table" summary="11th root(28) for float, double, long double and cpp_bin_float_50 1257 types, using _X86_SSE2"> 1258<colgroup> 1259<col> 1260<col> 1261<col> 1262<col> 1263<col> 1264<col> 1265<col> 1266<col> 1267<col> 1268<col> 1269<col> 1270<col> 1271<col> 1272<col> 1273<col> 1274<col> 1275<col> 1276<col> 1277<col> 1278<col> 1279<col> 1280</colgroup> 1281<thead><tr> 1282<th> 1283 </th> 1284<th> 1285 <p> 1286 float 1287 </p> 1288 </th> 1289<th> 1290 </th> 1291<th> 1292 </th> 1293<th> 1294 </th> 1295<th> 1296 </th> 1297<th> 1298 <p> 1299 double 1300 </p> 1301 </th> 1302<th> 1303 </th> 1304<th> 1305 </th> 1306<th> 1307 </th> 1308<th> 1309 </th> 1310<th> 1311 <p> 1312 long d 1313 </p> 1314 </th> 1315<th> 1316 </th> 1317<th> 1318 </th> 1319<th> 1320 </th> 1321<th> 1322 </th> 1323<th> 1324 <p> 1325 cpp50 1326 </p> 1327 </th> 1328<th> 1329 </th> 1330<th> 1331 </th> 1332<td class="auto-generated"> </td> 1333<td class="auto-generated"> </td> 1334</tr></thead> 1335<tbody> 1336<tr> 1337<td> 1338 <p> 1339 Algo 1340 </p> 1341 </td> 1342<td> 1343 <p> 1344 Its 1345 </p> 1346 </td> 1347<td> 1348 <p> 1349 Times 1350 </p> 1351 </td> 1352<td> 1353 <p> 1354 Norm 1355 </p> 1356 </td> 1357<td> 1358 <p> 1359 Dis 1360 </p> 1361 </td> 1362<td> 1363 </td> 1364<td> 1365 <p> 1366 Its 1367 </p> 1368 </td> 1369<td> 1370 <p> 1371 Times 1372 </p> 1373 </td> 1374<td> 1375 <p> 1376 Norm 1377 </p> 1378 </td> 1379<td> 1380 <p> 1381 Dis 1382 </p> 1383 </td> 1384<td> 1385 </td> 1386<td> 1387 <p> 1388 Its 1389 </p> 1390 </td> 1391<td> 1392 <p> 1393 Times 1394 </p> 1395 </td> 1396<td> 1397 <p> 1398 Norm 1399 </p> 1400 </td> 1401<td> 1402 <p> 1403 Dis 1404 </p> 1405 </td> 1406<td> 1407 </td> 1408<td> 1409 <p> 1410 Its 1411 </p> 1412 </td> 1413<td> 1414 <p> 1415 Times 1416 </p> 1417 </td> 1418<td> 1419 <p> 1420 Norm 1421 </p> 1422 </td> 1423<td> 1424 <p> 1425 Dis 1426 </p> 1427 </td> 1428<td> 1429 </td> 1430</tr> 1431<tr> 1432<td> 1433 <p> 1434 TOMS748 1435 </p> 1436 </td> 1437<td> 1438 <p> 1439 12 1440 </p> 1441 </td> 1442<td> 1443 <p> 1444 714 1445 </p> 1446 </td> 1447<td> 1448 <p> 1449 3.16 1450 </p> 1451 </td> 1452<td> 1453 <p> 1454 -2 1455 </p> 1456 </td> 1457<td> 1458 </td> 1459<td> 1460 <p> 1461 14 1462 </p> 1463 </td> 1464<td> 1465 <p> 1466 909 1467 </p> 1468 </td> 1469<td> 1470 <p> 1471 <span class="red">4.19</span> 1472 </p> 1473 </td> 1474<td> 1475 <p> 1476 2 1477 </p> 1478 </td> 1479<td> 1480 </td> 1481<td> 1482 <p> 1483 14 1484 </p> 1485 </td> 1486<td> 1487 <p> 1488 793 1489 </p> 1490 </td> 1491<td> 1492 <p> 1493 3.69 1494 </p> 1495 </td> 1496<td> 1497 <p> 1498 2 1499 </p> 1500 </td> 1501<td> 1502 </td> 1503<td> 1504 <p> 1505 17 1506 </p> 1507 </td> 1508<td> 1509 <p> 1510 211718 1511 </p> 1512 </td> 1513<td> 1514 <p> 1515 <span class="red">9.28</span> 1516 </p> 1517 </td> 1518<td> 1519 <p> 1520 2 1521 </p> 1522 </td> 1523<td> 1524 </td> 1525</tr> 1526<tr> 1527<td> 1528 <p> 1529 Newton 1530 </p> 1531 </td> 1532<td> 1533 <p> 1534 6 1535 </p> 1536 </td> 1537<td> 1538 <p> 1539 226 1540 </p> 1541 </td> 1542<td> 1543 <p> 1544 <span class="blue">1.00</span> 1545 </p> 1546 </td> 1547<td> 1548 <p> 1549 0 1550 </p> 1551 </td> 1552<td> 1553 </td> 1554<td> 1555 <p> 1556 7 1557 </p> 1558 </td> 1559<td> 1560 <p> 1561 217 1562 </p> 1563 </td> 1564<td> 1565 <p> 1566 <span class="blue">1.00</span> 1567 </p> 1568 </td> 1569<td> 1570 <p> 1571 0 1572 </p> 1573 </td> 1574<td> 1575 </td> 1576<td> 1577 <p> 1578 7 1579 </p> 1580 </td> 1581<td> 1582 <p> 1583 215 1584 </p> 1585 </td> 1586<td> 1587 <p> 1588 <span class="blue">1.00</span> 1589 </p> 1590 </td> 1591<td> 1592 <p> 1593 0 1594 </p> 1595 </td> 1596<td> 1597 </td> 1598<td> 1599 <p> 1600 9 1601 </p> 1602 </td> 1603<td> 1604 <p> 1605 22812 1606 </p> 1607 </td> 1608<td> 1609 <p> 1610 <span class="blue">1.00</span> 1611 </p> 1612 </td> 1613<td> 1614 <p> 1615 0 1616 </p> 1617 </td> 1618<td> 1619 </td> 1620</tr> 1621<tr> 1622<td> 1623 <p> 1624 Halley 1625 </p> 1626 </td> 1627<td> 1628 <p> 1629 4 1630 </p> 1631 </td> 1632<td> 1633 <p> 1634 262 1635 </p> 1636 </td> 1637<td> 1638 <p> 1639 1.16 1640 </p> 1641 </td> 1642<td> 1643 <p> 1644 -1 1645 </p> 1646 </td> 1647<td> 1648 </td> 1649<td> 1650 <p> 1651 5 1652 </p> 1653 </td> 1654<td> 1655 <p> 1656 260 1657 </p> 1658 </td> 1659<td> 1660 <p> 1661 1.20 1662 </p> 1663 </td> 1664<td> 1665 <p> 1666 0 1667 </p> 1668 </td> 1669<td> 1670 </td> 1671<td> 1672 <p> 1673 5 1674 </p> 1675 </td> 1676<td> 1677 <p> 1678 260 1679 </p> 1680 </td> 1681<td> 1682 <p> 1683 1.21 1684 </p> 1685 </td> 1686<td> 1687 <p> 1688 0 1689 </p> 1690 </td> 1691<td> 1692 </td> 1693<td> 1694 <p> 1695 6 1696 </p> 1697 </td> 1698<td> 1699 <p> 1700 40781 1701 </p> 1702 </td> 1703<td> 1704 <p> 1705 1.79 1706 </p> 1707 </td> 1708<td> 1709 <p> 1710 0 1711 </p> 1712 </td> 1713<td> 1714 </td> 1715</tr> 1716<tr> 1717<td> 1718 <p> 1719 Schröder 1720 </p> 1721 </td> 1722<td> 1723 <p> 1724 6 1725 </p> 1726 </td> 1727<td> 1728 <p> 1729 332 1730 </p> 1731 </td> 1732<td> 1733 <p> 1734 1.47 1735 </p> 1736 </td> 1737<td> 1738 <p> 1739 0 1740 </p> 1741 </td> 1742<td> 1743 </td> 1744<td> 1745 <p> 1746 7 1747 </p> 1748 </td> 1749<td> 1750 <p> 1751 314 1752 </p> 1753 </td> 1754<td> 1755 <p> 1756 1.45 1757 </p> 1758 </td> 1759<td> 1760 <p> 1761 0 1762 </p> 1763 </td> 1764<td> 1765 </td> 1766<td> 1767 <p> 1768 7 1769 </p> 1770 </td> 1771<td> 1772 <p> 1773 310 1774 </p> 1775 </td> 1776<td> 1777 <p> 1778 1.44 1779 </p> 1780 </td> 1781<td> 1782 <p> 1783 0 1784 </p> 1785 </td> 1786<td> 1787 </td> 1788<td> 1789 <p> 1790 8 1791 </p> 1792 </td> 1793<td> 1794 <p> 1795 67187 1796 </p> 1797 </td> 1798<td> 1799 <p> 1800 2.95 1801 </p> 1802 </td> 1803<td> 1804 <p> 1805 0 1806 </p> 1807 </td> 1808<td> 1809 </td> 1810</tr> 1811</tbody> 1812</table></div> 1813</div> 1814<br class="table-break"><h4> 1815<a name="math_toolkit.root_comparison.root_n_comparison.h1"></a> 1816 <span class="phrase"><a name="math_toolkit.root_comparison.root_n_comparison.program_root_n_finding_algorithm"></a></span><a class="link" href="root_n_comparison.html#math_toolkit.root_comparison.root_n_comparison.program_root_n_finding_algorithm">Program 1817 root_n_finding_algorithms.cpp, Microsoft Visual C++ version 12.0, Dinkumware 1818 standard library version 610, Win32 Compiled in optimise mode., _X64_AVX</a> 1819 </h4> 1820<p> 1821 Fraction of full accuracy 1 1822 </p> 1823<div class="table"> 1824<a name="math_toolkit.root_comparison.root_n_comparison.root_5_0"></a><p class="title"><b>Table 10.6. 5th root(28) for float, double, long double and cpp_bin_float_50 types, 1825 using _X64_AVX</b></p> 1826<div class="table-contents"><table class="table" summary="5th root(28) for float, double, long double and cpp_bin_float_50 types, 1827 using _X64_AVX"> 1828<colgroup> 1829<col> 1830<col> 1831<col> 1832<col> 1833<col> 1834<col> 1835<col> 1836<col> 1837<col> 1838<col> 1839<col> 1840<col> 1841<col> 1842<col> 1843<col> 1844<col> 1845<col> 1846<col> 1847<col> 1848<col> 1849<col> 1850</colgroup> 1851<thead><tr> 1852<th> 1853 </th> 1854<th> 1855 <p> 1856 float 1857 </p> 1858 </th> 1859<th> 1860 </th> 1861<th> 1862 </th> 1863<th> 1864 </th> 1865<th> 1866 </th> 1867<th> 1868 <p> 1869 double 1870 </p> 1871 </th> 1872<th> 1873 </th> 1874<th> 1875 </th> 1876<th> 1877 </th> 1878<th> 1879 </th> 1880<th> 1881 <p> 1882 long d 1883 </p> 1884 </th> 1885<th> 1886 </th> 1887<th> 1888 </th> 1889<th> 1890 </th> 1891<th> 1892 </th> 1893<th> 1894 <p> 1895 cpp50 1896 </p> 1897 </th> 1898<th> 1899 </th> 1900<th> 1901 </th> 1902<td class="auto-generated"> </td> 1903<td class="auto-generated"> </td> 1904</tr></thead> 1905<tbody> 1906<tr> 1907<td> 1908 <p> 1909 Algo 1910 </p> 1911 </td> 1912<td> 1913 <p> 1914 Its 1915 </p> 1916 </td> 1917<td> 1918 <p> 1919 Times 1920 </p> 1921 </td> 1922<td> 1923 <p> 1924 Norm 1925 </p> 1926 </td> 1927<td> 1928 <p> 1929 Dis 1930 </p> 1931 </td> 1932<td> 1933 </td> 1934<td> 1935 <p> 1936 Its 1937 </p> 1938 </td> 1939<td> 1940 <p> 1941 Times 1942 </p> 1943 </td> 1944<td> 1945 <p> 1946 Norm 1947 </p> 1948 </td> 1949<td> 1950 <p> 1951 Dis 1952 </p> 1953 </td> 1954<td> 1955 </td> 1956<td> 1957 <p> 1958 Its 1959 </p> 1960 </td> 1961<td> 1962 <p> 1963 Times 1964 </p> 1965 </td> 1966<td> 1967 <p> 1968 Norm 1969 </p> 1970 </td> 1971<td> 1972 <p> 1973 Dis 1974 </p> 1975 </td> 1976<td> 1977 </td> 1978<td> 1979 <p> 1980 Its 1981 </p> 1982 </td> 1983<td> 1984 <p> 1985 Times 1986 </p> 1987 </td> 1988<td> 1989 <p> 1990 Norm 1991 </p> 1992 </td> 1993<td> 1994 <p> 1995 Dis 1996 </p> 1997 </td> 1998<td> 1999 </td> 2000</tr> 2001<tr> 2002<td> 2003 <p> 2004 TOMS748 2005 </p> 2006 </td> 2007<td> 2008 <p> 2009 7 2010 </p> 2011 </td> 2012<td> 2013 <p> 2014 239 2015 </p> 2016 </td> 2017<td> 2018 <p> 2019 1.50 2020 </p> 2021 </td> 2022<td> 2023 <p> 2024 0 2025 </p> 2026 </td> 2027<td> 2028 </td> 2029<td> 2030 <p> 2031 11 2032 </p> 2033 </td> 2034<td> 2035 <p> 2036 451 2037 </p> 2038 </td> 2039<td> 2040 <p> 2041 2.53 2042 </p> 2043 </td> 2044<td> 2045 <p> 2046 1 2047 </p> 2048 </td> 2049<td> 2050 </td> 2051<td> 2052 <p> 2053 11 2054 </p> 2055 </td> 2056<td> 2057 <p> 2058 439 2059 </p> 2060 </td> 2061<td> 2062 <p> 2063 2.49 2064 </p> 2065 </td> 2066<td> 2067 <p> 2068 1 2069 </p> 2070 </td> 2071<td> 2072 </td> 2073<td> 2074 <p> 2075 12 2076 </p> 2077 </td> 2078<td> 2079 <p> 2080 90312 2081 </p> 2082 </td> 2083<td> 2084 <p> 2085 <span class="red">7.51</span> 2086 </p> 2087 </td> 2088<td> 2089 <p> 2090 0 2091 </p> 2092 </td> 2093<td> 2094 </td> 2095</tr> 2096<tr> 2097<td> 2098 <p> 2099 Newton 2100 </p> 2101 </td> 2102<td> 2103 <p> 2104 3 2105 </p> 2106 </td> 2107<td> 2108 <p> 2109 159 2110 </p> 2111 </td> 2112<td> 2113 <p> 2114 <span class="blue">1.00</span> 2115 </p> 2116 </td> 2117<td> 2118 <p> 2119 0 2120 </p> 2121 </td> 2122<td> 2123 </td> 2124<td> 2125 <p> 2126 4 2127 </p> 2128 </td> 2129<td> 2130 <p> 2131 178 2132 </p> 2133 </td> 2134<td> 2135 <p> 2136 <span class="blue">1.00</span> 2137 </p> 2138 </td> 2139<td> 2140 <p> 2141 -1 2142 </p> 2143 </td> 2144<td> 2145 </td> 2146<td> 2147 <p> 2148 4 2149 </p> 2150 </td> 2151<td> 2152 <p> 2153 176 2154 </p> 2155 </td> 2156<td> 2157 <p> 2158 <span class="blue">1.00</span> 2159 </p> 2160 </td> 2161<td> 2162 <p> 2163 -1 2164 </p> 2165 </td> 2166<td> 2167 </td> 2168<td> 2169 <p> 2170 6 2171 </p> 2172 </td> 2173<td> 2174 <p> 2175 12031 2176 </p> 2177 </td> 2178<td> 2179 <p> 2180 <span class="blue">1.00</span> 2181 </p> 2182 </td> 2183<td> 2184 <p> 2185 0 2186 </p> 2187 </td> 2188<td> 2189 </td> 2190</tr> 2191<tr> 2192<td> 2193 <p> 2194 Halley 2195 </p> 2196 </td> 2197<td> 2198 <p> 2199 2 2200 </p> 2201 </td> 2202<td> 2203 <p> 2204 168 2205 </p> 2206 </td> 2207<td> 2208 <p> 2209 1.06 2210 </p> 2211 </td> 2212<td> 2213 <p> 2214 0 2215 </p> 2216 </td> 2217<td> 2218 </td> 2219<td> 2220 <p> 2221 3 2222 </p> 2223 </td> 2224<td> 2225 <p> 2226 203 2227 </p> 2228 </td> 2229<td> 2230 <p> 2231 1.14 2232 </p> 2233 </td> 2234<td> 2235 <p> 2236 0 2237 </p> 2238 </td> 2239<td> 2240 </td> 2241<td> 2242 <p> 2243 3 2244 </p> 2245 </td> 2246<td> 2247 <p> 2248 198 2249 </p> 2250 </td> 2251<td> 2252 <p> 2253 1.13 2254 </p> 2255 </td> 2256<td> 2257 <p> 2258 0 2259 </p> 2260 </td> 2261<td> 2262 </td> 2263<td> 2264 <p> 2265 4 2266 </p> 2267 </td> 2268<td> 2269 <p> 2270 20937 2271 </p> 2272 </td> 2273<td> 2274 <p> 2275 1.74 2276 </p> 2277 </td> 2278<td> 2279 <p> 2280 0 2281 </p> 2282 </td> 2283<td> 2284 </td> 2285</tr> 2286<tr> 2287<td> 2288 <p> 2289 Schröder 2290 </p> 2291 </td> 2292<td> 2293 <p> 2294 2 2295 </p> 2296 </td> 2297<td> 2298 <p> 2299 173 2300 </p> 2301 </td> 2302<td> 2303 <p> 2304 1.09 2305 </p> 2306 </td> 2307<td> 2308 <p> 2309 0 2310 </p> 2311 </td> 2312<td> 2313 </td> 2314<td> 2315 <p> 2316 3 2317 </p> 2318 </td> 2319<td> 2320 <p> 2321 206 2322 </p> 2323 </td> 2324<td> 2325 <p> 2326 1.16 2327 </p> 2328 </td> 2329<td> 2330 <p> 2331 -1 2332 </p> 2333 </td> 2334<td> 2335 </td> 2336<td> 2337 <p> 2338 3 2339 </p> 2340 </td> 2341<td> 2342 <p> 2343 203 2344 </p> 2345 </td> 2346<td> 2347 <p> 2348 1.15 2349 </p> 2350 </td> 2351<td> 2352 <p> 2353 -1 2354 </p> 2355 </td> 2356<td> 2357 </td> 2358<td> 2359 <p> 2360 4 2361 </p> 2362 </td> 2363<td> 2364 <p> 2365 26250 2366 </p> 2367 </td> 2368<td> 2369 <p> 2370 2.18 2371 </p> 2372 </td> 2373<td> 2374 <p> 2375 0 2376 </p> 2377 </td> 2378<td> 2379 </td> 2380</tr> 2381</tbody> 2382</table></div> 2383</div> 2384<br class="table-break"><div class="table"> 2385<a name="math_toolkit.root_comparison.root_n_comparison.root_7_0"></a><p class="title"><b>Table 10.7. 7th root(28) for float, double, long double and cpp_bin_float_50 types, 2386 using _X64_AVX</b></p> 2387<div class="table-contents"><table class="table" summary="7th root(28) for float, double, long double and cpp_bin_float_50 types, 2388 using _X64_AVX"> 2389<colgroup> 2390<col> 2391<col> 2392<col> 2393<col> 2394<col> 2395<col> 2396<col> 2397<col> 2398<col> 2399<col> 2400<col> 2401<col> 2402<col> 2403<col> 2404<col> 2405<col> 2406<col> 2407<col> 2408<col> 2409<col> 2410<col> 2411</colgroup> 2412<thead><tr> 2413<th> 2414 </th> 2415<th> 2416 <p> 2417 float 2418 </p> 2419 </th> 2420<th> 2421 </th> 2422<th> 2423 </th> 2424<th> 2425 </th> 2426<th> 2427 </th> 2428<th> 2429 <p> 2430 double 2431 </p> 2432 </th> 2433<th> 2434 </th> 2435<th> 2436 </th> 2437<th> 2438 </th> 2439<th> 2440 </th> 2441<th> 2442 <p> 2443 long d 2444 </p> 2445 </th> 2446<th> 2447 </th> 2448<th> 2449 </th> 2450<th> 2451 </th> 2452<th> 2453 </th> 2454<th> 2455 <p> 2456 cpp50 2457 </p> 2458 </th> 2459<th> 2460 </th> 2461<th> 2462 </th> 2463<td class="auto-generated"> </td> 2464<td class="auto-generated"> </td> 2465</tr></thead> 2466<tbody> 2467<tr> 2468<td> 2469 <p> 2470 Algo 2471 </p> 2472 </td> 2473<td> 2474 <p> 2475 Its 2476 </p> 2477 </td> 2478<td> 2479 <p> 2480 Times 2481 </p> 2482 </td> 2483<td> 2484 <p> 2485 Norm 2486 </p> 2487 </td> 2488<td> 2489 <p> 2490 Dis 2491 </p> 2492 </td> 2493<td> 2494 </td> 2495<td> 2496 <p> 2497 Its 2498 </p> 2499 </td> 2500<td> 2501 <p> 2502 Times 2503 </p> 2504 </td> 2505<td> 2506 <p> 2507 Norm 2508 </p> 2509 </td> 2510<td> 2511 <p> 2512 Dis 2513 </p> 2514 </td> 2515<td> 2516 </td> 2517<td> 2518 <p> 2519 Its 2520 </p> 2521 </td> 2522<td> 2523 <p> 2524 Times 2525 </p> 2526 </td> 2527<td> 2528 <p> 2529 Norm 2530 </p> 2531 </td> 2532<td> 2533 <p> 2534 Dis 2535 </p> 2536 </td> 2537<td> 2538 </td> 2539<td> 2540 <p> 2541 Its 2542 </p> 2543 </td> 2544<td> 2545 <p> 2546 Times 2547 </p> 2548 </td> 2549<td> 2550 <p> 2551 Norm 2552 </p> 2553 </td> 2554<td> 2555 <p> 2556 Dis 2557 </p> 2558 </td> 2559<td> 2560 </td> 2561</tr> 2562<tr> 2563<td> 2564 <p> 2565 TOMS748 2566 </p> 2567 </td> 2568<td> 2569 <p> 2570 12 2571 </p> 2572 </td> 2573<td> 2574 <p> 2575 385 2576 </p> 2577 </td> 2578<td> 2579 <p> 2580 2.19 2581 </p> 2582 </td> 2583<td> 2584 <p> 2585 1 2586 </p> 2587 </td> 2588<td> 2589 </td> 2590<td> 2591 <p> 2592 15 2593 </p> 2594 </td> 2595<td> 2596 <p> 2597 635 2598 </p> 2599 </td> 2600<td> 2601 <p> 2602 3.13 2603 </p> 2604 </td> 2605<td> 2606 <p> 2607 2 2608 </p> 2609 </td> 2610<td> 2611 </td> 2612<td> 2613 <p> 2614 15 2615 </p> 2616 </td> 2617<td> 2618 <p> 2619 621 2620 </p> 2621 </td> 2622<td> 2623 <p> 2624 3.17 2625 </p> 2626 </td> 2627<td> 2628 <p> 2629 2 2630 </p> 2631 </td> 2632<td> 2633 </td> 2634<td> 2635 <p> 2636 14 2637 </p> 2638 </td> 2639<td> 2640 <p> 2641 114843 2642 </p> 2643 </td> 2644<td> 2645 <p> 2646 <span class="red">6.81</span> 2647 </p> 2648 </td> 2649<td> 2650 <p> 2651 0 2652 </p> 2653 </td> 2654<td> 2655 </td> 2656</tr> 2657<tr> 2658<td> 2659 <p> 2660 Newton 2661 </p> 2662 </td> 2663<td> 2664 <p> 2665 5 2666 </p> 2667 </td> 2668<td> 2669 <p> 2670 176 2671 </p> 2672 </td> 2673<td> 2674 <p> 2675 <span class="blue">1.00</span> 2676 </p> 2677 </td> 2678<td> 2679 <p> 2680 0 2681 </p> 2682 </td> 2683<td> 2684 </td> 2685<td> 2686 <p> 2687 6 2688 </p> 2689 </td> 2690<td> 2691 <p> 2692 203 2693 </p> 2694 </td> 2695<td> 2696 <p> 2697 <span class="blue">1.00</span> 2698 </p> 2699 </td> 2700<td> 2701 <p> 2702 0 2703 </p> 2704 </td> 2705<td> 2706 </td> 2707<td> 2708 <p> 2709 6 2710 </p> 2711 </td> 2712<td> 2713 <p> 2714 196 2715 </p> 2716 </td> 2717<td> 2718 <p> 2719 <span class="blue">1.00</span> 2720 </p> 2721 </td> 2722<td> 2723 <p> 2724 0 2725 </p> 2726 </td> 2727<td> 2728 </td> 2729<td> 2730 <p> 2731 8 2732 </p> 2733 </td> 2734<td> 2735 <p> 2736 16875 2737 </p> 2738 </td> 2739<td> 2740 <p> 2741 <span class="blue">1.00</span> 2742 </p> 2743 </td> 2744<td> 2745 <p> 2746 0 2747 </p> 2748 </td> 2749<td> 2750 </td> 2751</tr> 2752<tr> 2753<td> 2754 <p> 2755 Halley 2756 </p> 2757 </td> 2758<td> 2759 <p> 2760 4 2761 </p> 2762 </td> 2763<td> 2764 <p> 2765 209 2766 </p> 2767 </td> 2768<td> 2769 <p> 2770 1.19 2771 </p> 2772 </td> 2773<td> 2774 <p> 2775 0 2776 </p> 2777 </td> 2778<td> 2779 </td> 2780<td> 2781 <p> 2782 5 2783 </p> 2784 </td> 2785<td> 2786 <p> 2787 254 2788 </p> 2789 </td> 2790<td> 2791 <p> 2792 1.25 2793 </p> 2794 </td> 2795<td> 2796 <p> 2797 0 2798 </p> 2799 </td> 2800<td> 2801 </td> 2802<td> 2803 <p> 2804 5 2805 </p> 2806 </td> 2807<td> 2808 <p> 2809 246 2810 </p> 2811 </td> 2812<td> 2813 <p> 2814 1.26 2815 </p> 2816 </td> 2817<td> 2818 <p> 2819 0 2820 </p> 2821 </td> 2822<td> 2823 </td> 2824<td> 2825 <p> 2826 6 2827 </p> 2828 </td> 2829<td> 2830 <p> 2831 32343 2832 </p> 2833 </td> 2834<td> 2835 <p> 2836 1.92 2837 </p> 2838 </td> 2839<td> 2840 <p> 2841 0 2842 </p> 2843 </td> 2844<td> 2845 </td> 2846</tr> 2847<tr> 2848<td> 2849 <p> 2850 Schröder 2851 </p> 2852 </td> 2853<td> 2854 <p> 2855 5 2856 </p> 2857 </td> 2858<td> 2859 <p> 2860 223 2861 </p> 2862 </td> 2863<td> 2864 <p> 2865 1.27 2866 </p> 2867 </td> 2868<td> 2869 <p> 2870 0 2871 </p> 2872 </td> 2873<td> 2874 </td> 2875<td> 2876 <p> 2877 6 2878 </p> 2879 </td> 2880<td> 2881 <p> 2882 273 2883 </p> 2884 </td> 2885<td> 2886 <p> 2887 1.34 2888 </p> 2889 </td> 2890<td> 2891 <p> 2892 0 2893 </p> 2894 </td> 2895<td> 2896 </td> 2897<td> 2898 <p> 2899 6 2900 </p> 2901 </td> 2902<td> 2903 <p> 2904 275 2905 </p> 2906 </td> 2907<td> 2908 <p> 2909 1.40 2910 </p> 2911 </td> 2912<td> 2913 <p> 2914 0 2915 </p> 2916 </td> 2917<td> 2918 </td> 2919<td> 2920 <p> 2921 7 2922 </p> 2923 </td> 2924<td> 2925 <p> 2926 45156 2927 </p> 2928 </td> 2929<td> 2930 <p> 2931 2.68 2932 </p> 2933 </td> 2934<td> 2935 <p> 2936 0 2937 </p> 2938 </td> 2939<td> 2940 </td> 2941</tr> 2942</tbody> 2943</table></div> 2944</div> 2945<br class="table-break"><div class="table"> 2946<a name="math_toolkit.root_comparison.root_n_comparison.root_11_0"></a><p class="title"><b>Table 10.8. 11th root(28) for float, double, long double and cpp_bin_float_50 2947 types, using _X64_AVX</b></p> 2948<div class="table-contents"><table class="table" summary="11th root(28) for float, double, long double and cpp_bin_float_50 2949 types, using _X64_AVX"> 2950<colgroup> 2951<col> 2952<col> 2953<col> 2954<col> 2955<col> 2956<col> 2957<col> 2958<col> 2959<col> 2960<col> 2961<col> 2962<col> 2963<col> 2964<col> 2965<col> 2966<col> 2967<col> 2968<col> 2969<col> 2970<col> 2971<col> 2972</colgroup> 2973<thead><tr> 2974<th> 2975 </th> 2976<th> 2977 <p> 2978 float 2979 </p> 2980 </th> 2981<th> 2982 </th> 2983<th> 2984 </th> 2985<th> 2986 </th> 2987<th> 2988 </th> 2989<th> 2990 <p> 2991 double 2992 </p> 2993 </th> 2994<th> 2995 </th> 2996<th> 2997 </th> 2998<th> 2999 </th> 3000<th> 3001 </th> 3002<th> 3003 <p> 3004 long d 3005 </p> 3006 </th> 3007<th> 3008 </th> 3009<th> 3010 </th> 3011<th> 3012 </th> 3013<th> 3014 </th> 3015<th> 3016 <p> 3017 cpp50 3018 </p> 3019 </th> 3020<th> 3021 </th> 3022<th> 3023 </th> 3024<td class="auto-generated"> </td> 3025<td class="auto-generated"> </td> 3026</tr></thead> 3027<tbody> 3028<tr> 3029<td> 3030 <p> 3031 Algo 3032 </p> 3033 </td> 3034<td> 3035 <p> 3036 Its 3037 </p> 3038 </td> 3039<td> 3040 <p> 3041 Times 3042 </p> 3043 </td> 3044<td> 3045 <p> 3046 Norm 3047 </p> 3048 </td> 3049<td> 3050 <p> 3051 Dis 3052 </p> 3053 </td> 3054<td> 3055 </td> 3056<td> 3057 <p> 3058 Its 3059 </p> 3060 </td> 3061<td> 3062 <p> 3063 Times 3064 </p> 3065 </td> 3066<td> 3067 <p> 3068 Norm 3069 </p> 3070 </td> 3071<td> 3072 <p> 3073 Dis 3074 </p> 3075 </td> 3076<td> 3077 </td> 3078<td> 3079 <p> 3080 Its 3081 </p> 3082 </td> 3083<td> 3084 <p> 3085 Times 3086 </p> 3087 </td> 3088<td> 3089 <p> 3090 Norm 3091 </p> 3092 </td> 3093<td> 3094 <p> 3095 Dis 3096 </p> 3097 </td> 3098<td> 3099 </td> 3100<td> 3101 <p> 3102 Its 3103 </p> 3104 </td> 3105<td> 3106 <p> 3107 Times 3108 </p> 3109 </td> 3110<td> 3111 <p> 3112 Norm 3113 </p> 3114 </td> 3115<td> 3116 <p> 3117 Dis 3118 </p> 3119 </td> 3120<td> 3121 </td> 3122</tr> 3123<tr> 3124<td> 3125 <p> 3126 TOMS748 3127 </p> 3128 </td> 3129<td> 3130 <p> 3131 12 3132 </p> 3133 </td> 3134<td> 3135 <p> 3136 467 3137 </p> 3138 </td> 3139<td> 3140 <p> 3141 2.42 3142 </p> 3143 </td> 3144<td> 3145 <p> 3146 -2 3147 </p> 3148 </td> 3149<td> 3150 </td> 3151<td> 3152 <p> 3153 14 3154 </p> 3155 </td> 3156<td> 3157 <p> 3158 648 3159 </p> 3160 </td> 3161<td> 3162 <p> 3163 3.06 3164 </p> 3165 </td> 3166<td> 3167 <p> 3168 2 3169 </p> 3170 </td> 3171<td> 3172 </td> 3173<td> 3174 <p> 3175 14 3176 </p> 3177 </td> 3178<td> 3179 <p> 3180 640 3181 </p> 3182 </td> 3183<td> 3184 <p> 3185 2.99 3186 </p> 3187 </td> 3188<td> 3189 <p> 3190 2 3191 </p> 3192 </td> 3193<td> 3194 </td> 3195<td> 3196 <p> 3197 17 3198 </p> 3199 </td> 3200<td> 3201 <p> 3202 170000 3203 </p> 3204 </td> 3205<td> 3206 <p> 3207 <span class="red">8.85</span> 3208 </p> 3209 </td> 3210<td> 3211 <p> 3212 2 3213 </p> 3214 </td> 3215<td> 3216 </td> 3217</tr> 3218<tr> 3219<td> 3220 <p> 3221 Newton 3222 </p> 3223 </td> 3224<td> 3225 <p> 3226 6 3227 </p> 3228 </td> 3229<td> 3230 <p> 3231 193 3232 </p> 3233 </td> 3234<td> 3235 <p> 3236 <span class="blue">1.00</span> 3237 </p> 3238 </td> 3239<td> 3240 <p> 3241 0 3242 </p> 3243 </td> 3244<td> 3245 </td> 3246<td> 3247 <p> 3248 7 3249 </p> 3250 </td> 3251<td> 3252 <p> 3253 212 3254 </p> 3255 </td> 3256<td> 3257 <p> 3258 <span class="blue">1.00</span> 3259 </p> 3260 </td> 3261<td> 3262 <p> 3263 0 3264 </p> 3265 </td> 3266<td> 3267 </td> 3268<td> 3269 <p> 3270 7 3271 </p> 3272 </td> 3273<td> 3274 <p> 3275 214 3276 </p> 3277 </td> 3278<td> 3279 <p> 3280 <span class="blue">1.00</span> 3281 </p> 3282 </td> 3283<td> 3284 <p> 3285 0 3286 </p> 3287 </td> 3288<td> 3289 </td> 3290<td> 3291 <p> 3292 9 3293 </p> 3294 </td> 3295<td> 3296 <p> 3297 19218 3298 </p> 3299 </td> 3300<td> 3301 <p> 3302 <span class="blue">1.00</span> 3303 </p> 3304 </td> 3305<td> 3306 <p> 3307 0 3308 </p> 3309 </td> 3310<td> 3311 </td> 3312</tr> 3313<tr> 3314<td> 3315 <p> 3316 Halley 3317 </p> 3318 </td> 3319<td> 3320 <p> 3321 4 3322 </p> 3323 </td> 3324<td> 3325 <p> 3326 209 3327 </p> 3328 </td> 3329<td> 3330 <p> 3331 1.08 3332 </p> 3333 </td> 3334<td> 3335 <p> 3336 -1 3337 </p> 3338 </td> 3339<td> 3340 </td> 3341<td> 3342 <p> 3343 5 3344 </p> 3345 </td> 3346<td> 3347 <p> 3348 256 3349 </p> 3350 </td> 3351<td> 3352 <p> 3353 1.21 3354 </p> 3355 </td> 3356<td> 3357 <p> 3358 0 3359 </p> 3360 </td> 3361<td> 3362 </td> 3363<td> 3364 <p> 3365 5 3366 </p> 3367 </td> 3368<td> 3369 <p> 3370 250 3371 </p> 3372 </td> 3373<td> 3374 <p> 3375 1.17 3376 </p> 3377 </td> 3378<td> 3379 <p> 3380 0 3381 </p> 3382 </td> 3383<td> 3384 </td> 3385<td> 3386 <p> 3387 6 3388 </p> 3389 </td> 3390<td> 3391 <p> 3392 32656 3393 </p> 3394 </td> 3395<td> 3396 <p> 3397 1.70 3398 </p> 3399 </td> 3400<td> 3401 <p> 3402 0 3403 </p> 3404 </td> 3405<td> 3406 </td> 3407</tr> 3408<tr> 3409<td> 3410 <p> 3411 Schröder 3412 </p> 3413 </td> 3414<td> 3415 <p> 3416 6 3417 </p> 3418 </td> 3419<td> 3420 <p> 3421 248 3422 </p> 3423 </td> 3424<td> 3425 <p> 3426 1.28 3427 </p> 3428 </td> 3429<td> 3430 <p> 3431 0 3432 </p> 3433 </td> 3434<td> 3435 </td> 3436<td> 3437 <p> 3438 7 3439 </p> 3440 </td> 3441<td> 3442 <p> 3443 306 3444 </p> 3445 </td> 3446<td> 3447 <p> 3448 1.44 3449 </p> 3450 </td> 3451<td> 3452 <p> 3453 0 3454 </p> 3455 </td> 3456<td> 3457 </td> 3458<td> 3459 <p> 3460 7 3461 </p> 3462 </td> 3463<td> 3464 <p> 3465 298 3466 </p> 3467 </td> 3468<td> 3469 <p> 3470 1.39 3471 </p> 3472 </td> 3473<td> 3474 <p> 3475 0 3476 </p> 3477 </td> 3478<td> 3479 </td> 3480<td> 3481 <p> 3482 8 3483 </p> 3484 </td> 3485<td> 3486 <p> 3487 53437 3488 </p> 3489 </td> 3490<td> 3491 <p> 3492 2.78 3493 </p> 3494 </td> 3495<td> 3496 <p> 3497 0 3498 </p> 3499 </td> 3500<td> 3501 </td> 3502</tr> 3503</tbody> 3504</table></div> 3505</div> 3506<br class="table-break"><h4> 3507<a name="math_toolkit.root_comparison.root_n_comparison.h2"></a> 3508 <span class="phrase"><a name="math_toolkit.root_comparison.root_n_comparison.program_example_root_n_finding_0"></a></span><a class="link" href="root_n_comparison.html#math_toolkit.root_comparison.root_n_comparison.program_example_root_n_finding_0">Program 3509 ..\example\root_n_finding_algorithms.cpp, GNU C++ version 7.1.0, GNU libstdc++ 3510 version 20170502, Win32 Compiled in optimise mode., _X64_SSE2</a> 3511 </h4> 3512<p> 3513 Fraction of full accuracy 1 3514 </p> 3515<div class="table"> 3516<a name="math_toolkit.root_comparison.root_n_comparison.root_5_1"></a><p class="title"><b>Table 10.9. 5th root(28) for float, double, long double and cpp_bin_float_50 types, 3517 using _X64_SSE2</b></p> 3518<div class="table-contents"><table class="table" summary="5th root(28) for float, double, long double and cpp_bin_float_50 types, 3519 using _X64_SSE2"> 3520<colgroup> 3521<col> 3522<col> 3523<col> 3524<col> 3525<col> 3526<col> 3527<col> 3528<col> 3529<col> 3530<col> 3531<col> 3532<col> 3533<col> 3534<col> 3535<col> 3536<col> 3537<col> 3538<col> 3539<col> 3540<col> 3541<col> 3542</colgroup> 3543<thead><tr> 3544<th> 3545 </th> 3546<th> 3547 <p> 3548 float 3549 </p> 3550 </th> 3551<th> 3552 </th> 3553<th> 3554 </th> 3555<th> 3556 </th> 3557<th> 3558 </th> 3559<th> 3560 <p> 3561 double 3562 </p> 3563 </th> 3564<th> 3565 </th> 3566<th> 3567 </th> 3568<th> 3569 </th> 3570<th> 3571 </th> 3572<th> 3573 <p> 3574 long d 3575 </p> 3576 </th> 3577<th> 3578 </th> 3579<th> 3580 </th> 3581<th> 3582 </th> 3583<th> 3584 </th> 3585<th> 3586 <p> 3587 cpp50 3588 </p> 3589 </th> 3590<th> 3591 </th> 3592<th> 3593 </th> 3594<td class="auto-generated"> </td> 3595<td class="auto-generated"> </td> 3596</tr></thead> 3597<tbody> 3598<tr> 3599<td> 3600 <p> 3601 Algo 3602 </p> 3603 </td> 3604<td> 3605 <p> 3606 Its 3607 </p> 3608 </td> 3609<td> 3610 <p> 3611 Times 3612 </p> 3613 </td> 3614<td> 3615 <p> 3616 Norm 3617 </p> 3618 </td> 3619<td> 3620 <p> 3621 Dis 3622 </p> 3623 </td> 3624<td> 3625 </td> 3626<td> 3627 <p> 3628 Its 3629 </p> 3630 </td> 3631<td> 3632 <p> 3633 Times 3634 </p> 3635 </td> 3636<td> 3637 <p> 3638 Norm 3639 </p> 3640 </td> 3641<td> 3642 <p> 3643 Dis 3644 </p> 3645 </td> 3646<td> 3647 </td> 3648<td> 3649 <p> 3650 Its 3651 </p> 3652 </td> 3653<td> 3654 <p> 3655 Times 3656 </p> 3657 </td> 3658<td> 3659 <p> 3660 Norm 3661 </p> 3662 </td> 3663<td> 3664 <p> 3665 Dis 3666 </p> 3667 </td> 3668<td> 3669 </td> 3670<td> 3671 <p> 3672 Its 3673 </p> 3674 </td> 3675<td> 3676 <p> 3677 Times 3678 </p> 3679 </td> 3680<td> 3681 <p> 3682 Norm 3683 </p> 3684 </td> 3685<td> 3686 <p> 3687 Dis 3688 </p> 3689 </td> 3690<td> 3691 </td> 3692</tr> 3693<tr> 3694<td> 3695 <p> 3696 TOMS748 3697 </p> 3698 </td> 3699<td> 3700 <p> 3701 7 3702 </p> 3703 </td> 3704<td> 3705 <p> 3706 206 3707 </p> 3708 </td> 3709<td> 3710 <p> 3711 2.24 3712 </p> 3713 </td> 3714<td> 3715 <p> 3716 0 3717 </p> 3718 </td> 3719<td> 3720 </td> 3721<td> 3722 <p> 3723 11 3724 </p> 3725 </td> 3726<td> 3727 <p> 3728 460 3729 </p> 3730 </td> 3731<td> 3732 <p> 3733 <span class="red">4.04</span> 3734 </p> 3735 </td> 3736<td> 3737 <p> 3738 1 3739 </p> 3740 </td> 3741<td> 3742 </td> 3743<td> 3744 <p> 3745 9 3746 </p> 3747 </td> 3748<td> 3749 <p> 3750 554 3751 </p> 3752 </td> 3753<td> 3754 <p> 3755 <span class="red">4.40</span> 3756 </p> 3757 </td> 3758<td> 3759 <p> 3760 0 3761 </p> 3762 </td> 3763<td> 3764 </td> 3765<td> 3766 <p> 3767 12 3768 </p> 3769 </td> 3770<td> 3771 <p> 3772 57656 3773 </p> 3774 </td> 3775<td> 3776 <p> 3777 <span class="red">8.39</span> 3778 </p> 3779 </td> 3780<td> 3781 <p> 3782 0 3783 </p> 3784 </td> 3785<td> 3786 </td> 3787</tr> 3788<tr> 3789<td> 3790 <p> 3791 Newton 3792 </p> 3793 </td> 3794<td> 3795 <p> 3796 3 3797 </p> 3798 </td> 3799<td> 3800 <p> 3801 92 3802 </p> 3803 </td> 3804<td> 3805 <p> 3806 <span class="blue">1.00</span> 3807 </p> 3808 </td> 3809<td> 3810 <p> 3811 0 3812 </p> 3813 </td> 3814<td> 3815 </td> 3816<td> 3817 <p> 3818 4 3819 </p> 3820 </td> 3821<td> 3822 <p> 3823 114 3824 </p> 3825 </td> 3826<td> 3827 <p> 3828 <span class="blue">1.00</span> 3829 </p> 3830 </td> 3831<td> 3832 <p> 3833 -1 3834 </p> 3835 </td> 3836<td> 3837 </td> 3838<td> 3839 <p> 3840 5 3841 </p> 3842 </td> 3843<td> 3844 <p> 3845 126 3846 </p> 3847 </td> 3848<td> 3849 <p> 3850 <span class="blue">1.00</span> 3851 </p> 3852 </td> 3853<td> 3854 <p> 3855 0 3856 </p> 3857 </td> 3858<td> 3859 </td> 3860<td> 3861 <p> 3862 6 3863 </p> 3864 </td> 3865<td> 3866 <p> 3867 6875 3868 </p> 3869 </td> 3870<td> 3871 <p> 3872 <span class="blue">1.00</span> 3873 </p> 3874 </td> 3875<td> 3876 <p> 3877 0 3878 </p> 3879 </td> 3880<td> 3881 </td> 3882</tr> 3883<tr> 3884<td> 3885 <p> 3886 Halley 3887 </p> 3888 </td> 3889<td> 3890 <p> 3891 2 3892 </p> 3893 </td> 3894<td> 3895 <p> 3896 106 3897 </p> 3898 </td> 3899<td> 3900 <p> 3901 1.15 3902 </p> 3903 </td> 3904<td> 3905 <p> 3906 0 3907 </p> 3908 </td> 3909<td> 3910 </td> 3911<td> 3912 <p> 3913 3 3914 </p> 3915 </td> 3916<td> 3917 <p> 3918 134 3919 </p> 3920 </td> 3921<td> 3922 <p> 3923 1.18 3924 </p> 3925 </td> 3926<td> 3927 <p> 3928 0 3929 </p> 3930 </td> 3931<td> 3932 </td> 3933<td> 3934 <p> 3935 3 3936 </p> 3937 </td> 3938<td> 3939 <p> 3940 178 3941 </p> 3942 </td> 3943<td> 3944 <p> 3945 1.41 3946 </p> 3947 </td> 3948<td> 3949 <p> 3950 0 3951 </p> 3952 </td> 3953<td> 3954 </td> 3955<td> 3956 <p> 3957 4 3958 </p> 3959 </td> 3960<td> 3961 <p> 3962 12500 3963 </p> 3964 </td> 3965<td> 3966 <p> 3967 1.82 3968 </p> 3969 </td> 3970<td> 3971 <p> 3972 0 3973 </p> 3974 </td> 3975<td> 3976 </td> 3977</tr> 3978<tr> 3979<td> 3980 <p> 3981 Schröder 3982 </p> 3983 </td> 3984<td> 3985 <p> 3986 2 3987 </p> 3988 </td> 3989<td> 3990 <p> 3991 126 3992 </p> 3993 </td> 3994<td> 3995 <p> 3996 1.37 3997 </p> 3998 </td> 3999<td> 4000 <p> 4001 0 4002 </p> 4003 </td> 4004<td> 4005 </td> 4006<td> 4007 <p> 4008 3 4009 </p> 4010 </td> 4011<td> 4012 <p> 4013 143 4014 </p> 4015 </td> 4016<td> 4017 <p> 4018 1.25 4019 </p> 4020 </td> 4021<td> 4022 <p> 4023 -1 4024 </p> 4025 </td> 4026<td> 4027 </td> 4028<td> 4029 <p> 4030 3 4031 </p> 4032 </td> 4033<td> 4034 <p> 4035 198 4036 </p> 4037 </td> 4038<td> 4039 <p> 4040 1.57 4041 </p> 4042 </td> 4043<td> 4044 <p> 4045 0 4046 </p> 4047 </td> 4048<td> 4049 </td> 4050<td> 4051 <p> 4052 4 4053 </p> 4054 </td> 4055<td> 4056 <p> 4057 15312 4058 </p> 4059 </td> 4060<td> 4061 <p> 4062 2.23 4063 </p> 4064 </td> 4065<td> 4066 <p> 4067 0 4068 </p> 4069 </td> 4070<td> 4071 </td> 4072</tr> 4073</tbody> 4074</table></div> 4075</div> 4076<br class="table-break"><div class="table"> 4077<a name="math_toolkit.root_comparison.root_n_comparison.root_7_1"></a><p class="title"><b>Table 10.10. 7th root(28) for float, double, long double and cpp_bin_float_50 types, 4078 using _X64_SSE2</b></p> 4079<div class="table-contents"><table class="table" summary="7th root(28) for float, double, long double and cpp_bin_float_50 types, 4080 using _X64_SSE2"> 4081<colgroup> 4082<col> 4083<col> 4084<col> 4085<col> 4086<col> 4087<col> 4088<col> 4089<col> 4090<col> 4091<col> 4092<col> 4093<col> 4094<col> 4095<col> 4096<col> 4097<col> 4098<col> 4099<col> 4100<col> 4101<col> 4102<col> 4103</colgroup> 4104<thead><tr> 4105<th> 4106 </th> 4107<th> 4108 <p> 4109 float 4110 </p> 4111 </th> 4112<th> 4113 </th> 4114<th> 4115 </th> 4116<th> 4117 </th> 4118<th> 4119 </th> 4120<th> 4121 <p> 4122 double 4123 </p> 4124 </th> 4125<th> 4126 </th> 4127<th> 4128 </th> 4129<th> 4130 </th> 4131<th> 4132 </th> 4133<th> 4134 <p> 4135 long d 4136 </p> 4137 </th> 4138<th> 4139 </th> 4140<th> 4141 </th> 4142<th> 4143 </th> 4144<th> 4145 </th> 4146<th> 4147 <p> 4148 cpp50 4149 </p> 4150 </th> 4151<th> 4152 </th> 4153<th> 4154 </th> 4155<td class="auto-generated"> </td> 4156<td class="auto-generated"> </td> 4157</tr></thead> 4158<tbody> 4159<tr> 4160<td> 4161 <p> 4162 Algo 4163 </p> 4164 </td> 4165<td> 4166 <p> 4167 Its 4168 </p> 4169 </td> 4170<td> 4171 <p> 4172 Times 4173 </p> 4174 </td> 4175<td> 4176 <p> 4177 Norm 4178 </p> 4179 </td> 4180<td> 4181 <p> 4182 Dis 4183 </p> 4184 </td> 4185<td> 4186 </td> 4187<td> 4188 <p> 4189 Its 4190 </p> 4191 </td> 4192<td> 4193 <p> 4194 Times 4195 </p> 4196 </td> 4197<td> 4198 <p> 4199 Norm 4200 </p> 4201 </td> 4202<td> 4203 <p> 4204 Dis 4205 </p> 4206 </td> 4207<td> 4208 </td> 4209<td> 4210 <p> 4211 Its 4212 </p> 4213 </td> 4214<td> 4215 <p> 4216 Times 4217 </p> 4218 </td> 4219<td> 4220 <p> 4221 Norm 4222 </p> 4223 </td> 4224<td> 4225 <p> 4226 Dis 4227 </p> 4228 </td> 4229<td> 4230 </td> 4231<td> 4232 <p> 4233 Its 4234 </p> 4235 </td> 4236<td> 4237 <p> 4238 Times 4239 </p> 4240 </td> 4241<td> 4242 <p> 4243 Norm 4244 </p> 4245 </td> 4246<td> 4247 <p> 4248 Dis 4249 </p> 4250 </td> 4251<td> 4252 </td> 4253</tr> 4254<tr> 4255<td> 4256 <p> 4257 TOMS748 4258 </p> 4259 </td> 4260<td> 4261 <p> 4262 12 4263 </p> 4264 </td> 4265<td> 4266 <p> 4267 345 4268 </p> 4269 </td> 4270<td> 4271 <p> 4272 2.09 4273 </p> 4274 </td> 4275<td> 4276 <p> 4277 1 4278 </p> 4279 </td> 4280<td> 4281 </td> 4282<td> 4283 <p> 4284 15 4285 </p> 4286 </td> 4287<td> 4288 <p> 4289 615 4290 </p> 4291 </td> 4292<td> 4293 <p> 4294 3.14 4295 </p> 4296 </td> 4297<td> 4298 <p> 4299 2 4300 </p> 4301 </td> 4302<td> 4303 </td> 4304<td> 4305 <p> 4306 13 4307 </p> 4308 </td> 4309<td> 4310 <p> 4311 875 4312 </p> 4313 </td> 4314<td> 4315 <p> 4316 3.98 4317 </p> 4318 </td> 4319<td> 4320 <p> 4321 0 4322 </p> 4323 </td> 4324<td> 4325 </td> 4326<td> 4327 <p> 4328 14 4329 </p> 4330 </td> 4331<td> 4332 <p> 4333 70937 4334 </p> 4335 </td> 4336<td> 4337 <p> 4338 <span class="red">7.32</span> 4339 </p> 4340 </td> 4341<td> 4342 <p> 4343 0 4344 </p> 4345 </td> 4346<td> 4347 </td> 4348</tr> 4349<tr> 4350<td> 4351 <p> 4352 Newton 4353 </p> 4354 </td> 4355<td> 4356 <p> 4357 5 4358 </p> 4359 </td> 4360<td> 4361 <p> 4362 165 4363 </p> 4364 </td> 4365<td> 4366 <p> 4367 <span class="blue">1.00</span> 4368 </p> 4369 </td> 4370<td> 4371 <p> 4372 0 4373 </p> 4374 </td> 4375<td> 4376 </td> 4377<td> 4378 <p> 4379 6 4380 </p> 4381 </td> 4382<td> 4383 <p> 4384 196 4385 </p> 4386 </td> 4387<td> 4388 <p> 4389 <span class="blue">1.00</span> 4390 </p> 4391 </td> 4392<td> 4393 <p> 4394 0 4395 </p> 4396 </td> 4397<td> 4398 </td> 4399<td> 4400 <p> 4401 7 4402 </p> 4403 </td> 4404<td> 4405 <p> 4406 220 4407 </p> 4408 </td> 4409<td> 4410 <p> 4411 <span class="blue">1.00</span> 4412 </p> 4413 </td> 4414<td> 4415 <p> 4416 0 4417 </p> 4418 </td> 4419<td> 4420 </td> 4421<td> 4422 <p> 4423 8 4424 </p> 4425 </td> 4426<td> 4427 <p> 4428 9687 4429 </p> 4430 </td> 4431<td> 4432 <p> 4433 <span class="blue">1.00</span> 4434 </p> 4435 </td> 4436<td> 4437 <p> 4438 0 4439 </p> 4440 </td> 4441<td> 4442 </td> 4443</tr> 4444<tr> 4445<td> 4446 <p> 4447 Halley 4448 </p> 4449 </td> 4450<td> 4451 <p> 4452 4 4453 </p> 4454 </td> 4455<td> 4456 <p> 4457 193 4458 </p> 4459 </td> 4460<td> 4461 <p> 4462 1.17 4463 </p> 4464 </td> 4465<td> 4466 <p> 4467 0 4468 </p> 4469 </td> 4470<td> 4471 </td> 4472<td> 4473 <p> 4474 5 4475 </p> 4476 </td> 4477<td> 4478 <p> 4479 239 4480 </p> 4481 </td> 4482<td> 4483 <p> 4484 1.22 4485 </p> 4486 </td> 4487<td> 4488 <p> 4489 0 4490 </p> 4491 </td> 4492<td> 4493 </td> 4494<td> 4495 <p> 4496 5 4497 </p> 4498 </td> 4499<td> 4500 <p> 4501 298 4502 </p> 4503 </td> 4504<td> 4505 <p> 4506 1.35 4507 </p> 4508 </td> 4509<td> 4510 <p> 4511 0 4512 </p> 4513 </td> 4514<td> 4515 </td> 4516<td> 4517 <p> 4518 6 4519 </p> 4520 </td> 4521<td> 4522 <p> 4523 19062 4524 </p> 4525 </td> 4526<td> 4527 <p> 4528 1.97 4529 </p> 4530 </td> 4531<td> 4532 <p> 4533 0 4534 </p> 4535 </td> 4536<td> 4537 </td> 4538</tr> 4539<tr> 4540<td> 4541 <p> 4542 Schröder 4543 </p> 4544 </td> 4545<td> 4546 <p> 4547 5 4548 </p> 4549 </td> 4550<td> 4551 <p> 4552 217 4553 </p> 4554 </td> 4555<td> 4556 <p> 4557 1.32 4558 </p> 4559 </td> 4560<td> 4561 <p> 4562 0 4563 </p> 4564 </td> 4565<td> 4566 </td> 4567<td> 4568 <p> 4569 6 4570 </p> 4571 </td> 4572<td> 4573 <p> 4574 270 4575 </p> 4576 </td> 4577<td> 4578 <p> 4579 1.38 4580 </p> 4581 </td> 4582<td> 4583 <p> 4584 0 4585 </p> 4586 </td> 4587<td> 4588 </td> 4589<td> 4590 <p> 4591 6 4592 </p> 4593 </td> 4594<td> 4595 <p> 4596 367 4597 </p> 4598 </td> 4599<td> 4600 <p> 4601 1.67 4602 </p> 4603 </td> 4604<td> 4605 <p> 4606 0 4607 </p> 4608 </td> 4609<td> 4610 </td> 4611<td> 4612 <p> 4613 7 4614 </p> 4615 </td> 4616<td> 4617 <p> 4618 27343 4619 </p> 4620 </td> 4621<td> 4622 <p> 4623 2.82 4624 </p> 4625 </td> 4626<td> 4627 <p> 4628 0 4629 </p> 4630 </td> 4631<td> 4632 </td> 4633</tr> 4634</tbody> 4635</table></div> 4636</div> 4637<br class="table-break"><div class="table"> 4638<a name="math_toolkit.root_comparison.root_n_comparison.root_11_1"></a><p class="title"><b>Table 10.11. 11th root(28) for float, double, long double and cpp_bin_float_50 4639 types, using _X64_SSE2</b></p> 4640<div class="table-contents"><table class="table" summary="11th root(28) for float, double, long double and cpp_bin_float_50 4641 types, using _X64_SSE2"> 4642<colgroup> 4643<col> 4644<col> 4645<col> 4646<col> 4647<col> 4648<col> 4649<col> 4650<col> 4651<col> 4652<col> 4653<col> 4654<col> 4655<col> 4656<col> 4657<col> 4658<col> 4659<col> 4660<col> 4661<col> 4662<col> 4663<col> 4664</colgroup> 4665<thead><tr> 4666<th> 4667 </th> 4668<th> 4669 <p> 4670 float 4671 </p> 4672 </th> 4673<th> 4674 </th> 4675<th> 4676 </th> 4677<th> 4678 </th> 4679<th> 4680 </th> 4681<th> 4682 <p> 4683 double 4684 </p> 4685 </th> 4686<th> 4687 </th> 4688<th> 4689 </th> 4690<th> 4691 </th> 4692<th> 4693 </th> 4694<th> 4695 <p> 4696 long d 4697 </p> 4698 </th> 4699<th> 4700 </th> 4701<th> 4702 </th> 4703<th> 4704 </th> 4705<th> 4706 </th> 4707<th> 4708 <p> 4709 cpp50 4710 </p> 4711 </th> 4712<th> 4713 </th> 4714<th> 4715 </th> 4716<td class="auto-generated"> </td> 4717<td class="auto-generated"> </td> 4718</tr></thead> 4719<tbody> 4720<tr> 4721<td> 4722 <p> 4723 Algo 4724 </p> 4725 </td> 4726<td> 4727 <p> 4728 Its 4729 </p> 4730 </td> 4731<td> 4732 <p> 4733 Times 4734 </p> 4735 </td> 4736<td> 4737 <p> 4738 Norm 4739 </p> 4740 </td> 4741<td> 4742 <p> 4743 Dis 4744 </p> 4745 </td> 4746<td> 4747 </td> 4748<td> 4749 <p> 4750 Its 4751 </p> 4752 </td> 4753<td> 4754 <p> 4755 Times 4756 </p> 4757 </td> 4758<td> 4759 <p> 4760 Norm 4761 </p> 4762 </td> 4763<td> 4764 <p> 4765 Dis 4766 </p> 4767 </td> 4768<td> 4769 </td> 4770<td> 4771 <p> 4772 Its 4773 </p> 4774 </td> 4775<td> 4776 <p> 4777 Times 4778 </p> 4779 </td> 4780<td> 4781 <p> 4782 Norm 4783 </p> 4784 </td> 4785<td> 4786 <p> 4787 Dis 4788 </p> 4789 </td> 4790<td> 4791 </td> 4792<td> 4793 <p> 4794 Its 4795 </p> 4796 </td> 4797<td> 4798 <p> 4799 Times 4800 </p> 4801 </td> 4802<td> 4803 <p> 4804 Norm 4805 </p> 4806 </td> 4807<td> 4808 <p> 4809 Dis 4810 </p> 4811 </td> 4812<td> 4813 </td> 4814</tr> 4815<tr> 4816<td> 4817 <p> 4818 TOMS748 4819 </p> 4820 </td> 4821<td> 4822 <p> 4823 12 4824 </p> 4825 </td> 4826<td> 4827 <p> 4828 412 4829 </p> 4830 </td> 4831<td> 4832 <p> 4833 2.15 4834 </p> 4835 </td> 4836<td> 4837 <p> 4838 -2 4839 </p> 4840 </td> 4841<td> 4842 </td> 4843<td> 4844 <p> 4845 14 4846 </p> 4847 </td> 4848<td> 4849 <p> 4850 646 4851 </p> 4852 </td> 4853<td> 4854 <p> 4855 2.96 4856 </p> 4857 </td> 4858<td> 4859 <p> 4860 2 4861 </p> 4862 </td> 4863<td> 4864 </td> 4865<td> 4866 <p> 4867 14 4868 </p> 4869 </td> 4870<td> 4871 <p> 4872 1054 4873 </p> 4874 </td> 4875<td> 4876 <p> 4877 <span class="red">4.22</span> 4878 </p> 4879 </td> 4880<td> 4881 <p> 4882 1 4883 </p> 4884 </td> 4885<td> 4886 </td> 4887<td> 4888 <p> 4889 17 4890 </p> 4891 </td> 4892<td> 4893 <p> 4894 107187 4895 </p> 4896 </td> 4897<td> 4898 <p> 4899 <span class="red">9.53</span> 4900 </p> 4901 </td> 4902<td> 4903 <p> 4904 2 4905 </p> 4906 </td> 4907<td> 4908 </td> 4909</tr> 4910<tr> 4911<td> 4912 <p> 4913 Newton 4914 </p> 4915 </td> 4916<td> 4917 <p> 4918 6 4919 </p> 4920 </td> 4921<td> 4922 <p> 4923 192 4924 </p> 4925 </td> 4926<td> 4927 <p> 4928 <span class="blue">1.00</span> 4929 </p> 4930 </td> 4931<td> 4932 <p> 4933 0 4934 </p> 4935 </td> 4936<td> 4937 </td> 4938<td> 4939 <p> 4940 7 4941 </p> 4942 </td> 4943<td> 4944 <p> 4945 218 4946 </p> 4947 </td> 4948<td> 4949 <p> 4950 <span class="blue">1.00</span> 4951 </p> 4952 </td> 4953<td> 4954 <p> 4955 0 4956 </p> 4957 </td> 4958<td> 4959 </td> 4960<td> 4961 <p> 4962 7 4963 </p> 4964 </td> 4965<td> 4966 <p> 4967 250 4968 </p> 4969 </td> 4970<td> 4971 <p> 4972 <span class="blue">1.00</span> 4973 </p> 4974 </td> 4975<td> 4976 <p> 4977 0 4978 </p> 4979 </td> 4980<td> 4981 </td> 4982<td> 4983 <p> 4984 9 4985 </p> 4986 </td> 4987<td> 4988 <p> 4989 11250 4990 </p> 4991 </td> 4992<td> 4993 <p> 4994 <span class="blue">1.00</span> 4995 </p> 4996 </td> 4997<td> 4998 <p> 4999 0 5000 </p> 5001 </td> 5002<td> 5003 </td> 5004</tr> 5005<tr> 5006<td> 5007 <p> 5008 Halley 5009 </p> 5010 </td> 5011<td> 5012 <p> 5013 4 5014 </p> 5015 </td> 5016<td> 5017 <p> 5018 200 5019 </p> 5020 </td> 5021<td> 5022 <p> 5023 <span class="blue">1.04</span> 5024 </p> 5025 </td> 5026<td> 5027 <p> 5028 -1 5029 </p> 5030 </td> 5031<td> 5032 </td> 5033<td> 5034 <p> 5035 5 5036 </p> 5037 </td> 5038<td> 5039 <p> 5040 243 5041 </p> 5042 </td> 5043<td> 5044 <p> 5045 1.11 5046 </p> 5047 </td> 5048<td> 5049 <p> 5050 0 5051 </p> 5052 </td> 5053<td> 5054 </td> 5055<td> 5056 <p> 5057 5 5058 </p> 5059 </td> 5060<td> 5061 <p> 5062 345 5063 </p> 5064 </td> 5065<td> 5066 <p> 5067 1.38 5068 </p> 5069 </td> 5070<td> 5071 <p> 5072 0 5073 </p> 5074 </td> 5075<td> 5076 </td> 5077<td> 5078 <p> 5079 6 5080 </p> 5081 </td> 5082<td> 5083 <p> 5084 19687 5085 </p> 5086 </td> 5087<td> 5088 <p> 5089 1.75 5090 </p> 5091 </td> 5092<td> 5093 <p> 5094 0 5095 </p> 5096 </td> 5097<td> 5098 </td> 5099</tr> 5100<tr> 5101<td> 5102 <p> 5103 Schröder 5104 </p> 5105 </td> 5106<td> 5107 <p> 5108 6 5109 </p> 5110 </td> 5111<td> 5112 <p> 5113 254 5114 </p> 5115 </td> 5116<td> 5117 <p> 5118 1.32 5119 </p> 5120 </td> 5121<td> 5122 <p> 5123 0 5124 </p> 5125 </td> 5126<td> 5127 </td> 5128<td> 5129 <p> 5130 7 5131 </p> 5132 </td> 5133<td> 5134 <p> 5135 321 5136 </p> 5137 </td> 5138<td> 5139 <p> 5140 1.47 5141 </p> 5142 </td> 5143<td> 5144 <p> 5145 0 5146 </p> 5147 </td> 5148<td> 5149 </td> 5150<td> 5151 <p> 5152 7 5153 </p> 5154 </td> 5155<td> 5156 <p> 5157 471 5158 </p> 5159 </td> 5160<td> 5161 <p> 5162 1.88 5163 </p> 5164 </td> 5165<td> 5166 <p> 5167 0 5168 </p> 5169 </td> 5170<td> 5171 </td> 5172<td> 5173 <p> 5174 8 5175 </p> 5176 </td> 5177<td> 5178 <p> 5179 33281 5180 </p> 5181 </td> 5182<td> 5183 <p> 5184 2.96 5185 </p> 5186 </td> 5187<td> 5188 <p> 5189 0 5190 </p> 5191 </td> 5192<td> 5193 </td> 5194</tr> 5195</tbody> 5196</table></div> 5197</div> 5198<br class="table-break"><p> 5199 Some tentative conclusions can be drawn from this limited exercise. 5200 </p> 5201<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 5202<li class="listitem"> 5203 Perhaps surprisingly, there is little difference between the various 5204 algorithms for <a href="http://en.cppreference.com/w/cpp/language/types" target="_top">fundamental 5205 (built-in) types</a> floating-point types. Using the first derivatives 5206 (<a class="link" href="../roots_deriv.html#math_toolkit.roots_deriv.newton">Newton-Raphson iteration</a>) 5207 is usually the best, but while the improvement over the no-derivative 5208 <a href="http://portal.acm.org/citation.cfm?id=210111" target="_top">TOMS Algorithm 5209 748: enclosing zeros of continuous functions</a> is considerable 5210 in number of iterations, but little in execution time. This reflects 5211 the fact that the function we are finding the root for is trivial to 5212 evaluate, so runtimetimes are dominated by the time taken by the boilerplate 5213 code in each method. 5214 </li> 5215<li class="listitem"> 5216 The extra cost of evaluating the second derivatives (<a class="link" href="../roots_deriv.html#math_toolkit.roots_deriv.halley">Halley</a> 5217 or <a class="link" href="../roots_deriv.html#math_toolkit.roots_deriv.schroder">Schröder</a>) 5218 is usually too much for any net benefit: as with the cube root, these 5219 functors are so cheap to evaluate that the runtime is largely dominated 5220 by the complexity of the root finding method. 5221 </li> 5222<li class="listitem"> 5223 For a <a href="../../../../../../libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a> 5224 floating-point type, the <a class="link" href="../roots_deriv.html#math_toolkit.roots_deriv.newton">Newton-Raphson 5225 iteration</a> is a clear winner with a several-fold gain over <a href="http://portal.acm.org/citation.cfm?id=210111" target="_top">TOMS Algorithm 748: 5226 enclosing zeros of continuous functions</a>, and again no improvement 5227 from the second-derivative algorithms. 5228 </li> 5229<li class="listitem"> 5230 The run-time of 50 decimal-digit <a href="../../../../../../libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a> 5231 is about 30-fold greater than <code class="computeroutput"><span class="keyword">double</span></code>. 5232 </li> 5233<li class="listitem"> 5234 The column 'dis' showing the number of bits distance from the correct 5235 result. The Newton-Raphson algorithm shows a bit or two better accuracy 5236 than <a href="http://portal.acm.org/citation.cfm?id=210111" target="_top">TOMS Algorithm 5237 748: enclosing zeros of continuous functions</a>. 5238 </li> 5239<li class="listitem"> 5240 The goodness of the 'guess' is especially crucial for <a href="../../../../../../libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>. 5241 Separate experiments show that evaluating the 'guess' using <code class="computeroutput"><span class="keyword">double</span></code> allows convergence to the final 5242 exact result in one or two iterations. So in this contrived example, 5243 crudely dividing the exponent by N for a 'guess', it would be far better 5244 to use a <code class="computeroutput"><span class="identifier">pow</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span></code> 5245 or , if more precise <code class="computeroutput"><span class="identifier">pow</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span></code>, 5246 function to estimate a 'guess'. The limitation of this tactic is that 5247 the range of possible (exponent) values may be less than the multiprecision 5248 type. 5249 </li> 5250<li class="listitem"> 5251 Using floating-point extension <a href="http://en.wikipedia.org/wiki/SSE2" target="_top">SSE2 5252 instructions</a> made a modest ten-percent speedup. 5253 </li> 5254<li class="listitem"> 5255 Using MSVC, there was some improvement using 64-bit, markedly for <a href="../../../../../../libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>. 5256 </li> 5257<li class="listitem"> 5258 The GCC compiler 4.9.1 using 64-bit was at least five-folder faster that 5259 32-bit, apparently reflecting better optimization. 5260 </li> 5261</ul></div> 5262<p> 5263 Clearly, your mileage <span class="bold"><strong>will vary</strong></span>, but in 5264 summary, <a class="link" href="../roots_deriv.html#math_toolkit.roots_deriv.newton">Newton-Raphson iteration</a> 5265 seems the first choice of algorithm, and effort to find a good 'guess' the 5266 first speed-up target, especially for <a href="../../../../../../libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>. 5267 And of course, compiler optimisation is crucial for speed. 5268 </p> 5269</div> 5270<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 5271<td align="left"></td> 5272<td align="right"><div class="copyright-footer">Copyright © 2006-2019 Nikhar 5273 Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, 5274 Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan 5275 Råde, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg, 5276 Daryle Walker and Xiaogang Zhang<p> 5277 Distributed under the Boost Software License, Version 1.0. (See accompanying 5278 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) 5279 </p> 5280</div></td> 5281</tr></table> 5282<hr> 5283<div class="spirit-nav"> 5284<a accesskey="p" href="cbrt_comparison.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../root_comparison.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="elliptic_comparison.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> 5285</div> 5286</body> 5287</html> 5288