Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / math / doc / html / math_toolkit / tuning.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Performance Tuning Macros</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.11.0">
8 <link rel="up" href="../perf.html" title="Chapter&#160;21.&#160;Performance">
9 <link rel="prev" href="multiprecision.html" title="Cost of High-Precision Non-built-in Floating-point">
10 <link rel="next" href="comp_compilers.html" title="Comparing Different Compilers">
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="multiprecision.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.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="comp_compilers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section">
26 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
27 <a name="math_toolkit.tuning"></a><a class="link" href="tuning.html" title="Performance Tuning Macros">Performance Tuning Macros</a>
28 </h2></div></div></div>
29 <p>
30       There are a small number of performance tuning options that are determined
31       by configuration macros. These should be set in boost/math/tools/user.hpp;
32       or else reported to the Boost-development mailing list so that the appropriate
33       option for a given compiler and OS platform can be set automatically in our
34       configuration setup.
35     </p>
36 <div class="informaltable"><table class="table">
37 <colgroup>
38 <col>
39 <col>
40 </colgroup>
41 <thead><tr>
42 <th>
43               <p>
44                 Macro
45               </p>
46             </th>
47 <th>
48               <p>
49                 Meaning
50               </p>
51             </th>
52 </tr></thead>
53 <tbody>
54 <tr>
55 <td>
56               <p>
57                 BOOST_MATH_POLY_METHOD
58               </p>
59             </td>
60 <td>
61               <p>
62                 Determines how polynomials and most rational functions are evaluated.
63                 Define to one of the values 0, 1, 2 or 3: see below for the meaning
64                 of these values.
65               </p>
66             </td>
67 </tr>
68 <tr>
69 <td>
70               <p>
71                 BOOST_MATH_RATIONAL_METHOD
72               </p>
73             </td>
74 <td>
75               <p>
76                 Determines how symmetrical rational functions are evaluated: mostly
77                 this only effects how the Lanczos approximation is evaluated, and
78                 how the <code class="computeroutput"><span class="identifier">evaluate_rational</span></code>
79                 function behaves. Define to one of the values 0, 1, 2 or 3: see below
80                 for the meaning of these values.
81               </p>
82             </td>
83 </tr>
84 <tr>
85 <td>
86               <p>
87                 BOOST_MATH_MAX_POLY_ORDER
88               </p>
89             </td>
90 <td>
91               <p>
92                 The maximum order of polynomial or rational function that will be
93                 evaluated by a method other than 0 (a simple "for" loop).
94               </p>
95             </td>
96 </tr>
97 <tr>
98 <td>
99               <p>
100                 BOOST_MATH_INT_TABLE_TYPE(RT, IT)
101               </p>
102             </td>
103 <td>
104               <p>
105                 Many of the coefficients to the polynomials and rational functions
106                 used by this library are integers. Normally these are stored as tables
107                 as integers, but if mixed integer / floating point arithmetic is
108                 much slower than regular floating point arithmetic then they can
109                 be stored as tables of floating point values instead. If mixed arithmetic
110                 is slow then add:
111               </p>
112               <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
113                     define BOOST_MATH_INT_TABLE_TYPE(RT, IT) RT
114                   </li></ol></div>
115               <p>
116                 to boost/math/tools/user.hpp, otherwise the default of:
117               </p>
118               <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
119                     define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
120                   </li></ol></div>
121               <p>
122                 Set in boost/math/config.hpp is fine, and may well result in smaller
123                 code.
124               </p>
125             </td>
126 </tr>
127 </tbody>
128 </table></div>
129 <p>
130       The values to which <code class="computeroutput"><span class="identifier">BOOST_MATH_POLY_METHOD</span></code>
131       and <code class="computeroutput"><span class="identifier">BOOST_MATH_RATIONAL_METHOD</span></code>
132       may be set are as follows:
133     </p>
134 <div class="informaltable"><table class="table">
135 <colgroup>
136 <col>
137 <col>
138 </colgroup>
139 <thead><tr>
140 <th>
141               <p>
142                 Value
143               </p>
144             </th>
145 <th>
146               <p>
147                 Effect
148               </p>
149             </th>
150 </tr></thead>
151 <tbody>
152 <tr>
153 <td>
154               <p>
155                 0
156               </p>
157             </td>
158 <td>
159               <p>
160                 The polynomial or rational function is evaluated using Horner's method,
161                 and a simple for-loop.
162               </p>
163               <p>
164                 Note that if the order of the polynomial or rational function is
165                 a runtime parameter, or the order is greater than the value of <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>, then
166                 this method is always used, irrespective of the value of <code class="computeroutput"><span class="identifier">BOOST_MATH_POLY_METHOD</span></code> or <code class="computeroutput"><span class="identifier">BOOST_MATH_RATIONAL_METHOD</span></code>.
167               </p>
168             </td>
169 </tr>
170 <tr>
171 <td>
172               <p>
173                 1
174               </p>
175             </td>
176 <td>
177               <p>
178                 The polynomial or rational function is evaluated without the use
179                 of a loop, and using Horner's method. This only occurs if the order
180                 of the polynomial is known at compile time and is less than or equal
181                 to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
182               </p>
183             </td>
184 </tr>
185 <tr>
186 <td>
187               <p>
188                 2
189               </p>
190             </td>
191 <td>
192               <p>
193                 The polynomial or rational function is evaluated without the use
194                 of a loop, and using a second order Horner's method. In theory this
195                 permits two operations to occur in parallel for polynomials, and
196                 four in parallel for rational functions. This only occurs if the
197                 order of the polynomial is known at compile time and is less than
198                 or equal to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
199               </p>
200             </td>
201 </tr>
202 <tr>
203 <td>
204               <p>
205                 3
206               </p>
207             </td>
208 <td>
209               <p>
210                 The polynomial or rational function is evaluated without the use
211                 of a loop, and using a second order Horner's method. In theory this
212                 permits two operations to occur in parallel for polynomials, and
213                 four in parallel for rational functions. This differs from method
214                 "2" in that the code is carefully ordered to make the parallelisation
215                 more obvious to the compiler: rather than relying on the compiler's
216                 optimiser to spot the parallelisation opportunities. This only occurs
217                 if the order of the polynomial is known at compile time and is less
218                 than or equal to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
219               </p>
220             </td>
221 </tr>
222 </tbody>
223 </table></div>
224 <p>
225       The performance test suite generates a report for your particular compiler
226       showing which method is likely to work best, the following tables show the
227       results for MSVC-14.0 and GCC-5.1.0 (Linux). There's not much to choose between
228       the various methods, but generally loop-unrolled methods perform better. Interestingly,
229       ordering the code to try and "second guess" possible optimizations
230       seems not to be such a good idea (method 3 below).
231     </p>
232 <div class="table">
233 <a name="math_toolkit.tuning.table_Polynomial_Method_Comparison_with_Microsoft_Visual_C_version_14_0_on_Windows_x64"></a><p class="title"><b>Table&#160;21.3.&#160;Polynomial Method Comparison with Microsoft Visual C++ version 14.0
234       on Windows x64</b></p>
235 <div class="table-contents"><table class="table" summary="Polynomial Method Comparison with Microsoft Visual C++ version 14.0
236       on Windows x64">
237 <colgroup>
238 <col>
239 <col>
240 <col>
241 <col>
242 <col>
243 <col>
244 <col>
245 <col>
246 <col>
247 </colgroup>
248 <thead><tr>
249 <th>
250               <p>
251                 Function
252               </p>
253             </th>
254 <th>
255               <p>
256                 Method 0<br> (Double Coefficients)
257               </p>
258             </th>
259 <th>
260               <p>
261                 Method 0<br> (Integer Coefficients)
262               </p>
263             </th>
264 <th>
265               <p>
266                 Method 1<br> (Double Coefficients)
267               </p>
268             </th>
269 <th>
270               <p>
271                 Method 1<br> (Integer Coefficients)
272               </p>
273             </th>
274 <th>
275               <p>
276                 Method 2<br> (Double Coefficients)
277               </p>
278             </th>
279 <th>
280               <p>
281                 Method 2<br> (Integer Coefficients)
282               </p>
283             </th>
284 <th>
285               <p>
286                 Method 3<br> (Double Coefficients)
287               </p>
288             </th>
289 <th>
290               <p>
291                 Method 3<br> (Integer Coefficients)
292               </p>
293             </th>
294 </tr></thead>
295 <tbody>
296 <tr>
297 <td>
298               <p>
299                 Order 2
300               </p>
301             </td>
302 <td>
303               <p>
304                 <span class="grey">-</span>
305               </p>
306             </td>
307 <td>
308               <p>
309                 <span class="grey">-</span>
310               </p>
311             </td>
312 <td>
313               <p>
314                 <span class="green">1.00<br> (9ns)</span>
315               </p>
316             </td>
317 <td>
318               <p>
319                 <span class="green">1.00<br> (9ns)</span>
320               </p>
321             </td>
322 <td>
323               <p>
324                 <span class="green">1.00<br> (9ns)</span>
325               </p>
326             </td>
327 <td>
328               <p>
329                 <span class="green">1.00<br> (9ns)</span>
330               </p>
331             </td>
332 <td>
333               <p>
334                 <span class="green">1.00<br> (9ns)</span>
335               </p>
336             </td>
337 <td>
338               <p>
339                 <span class="green">1.00<br> (9ns)</span>
340               </p>
341             </td>
342 </tr>
343 <tr>
344 <td>
345               <p>
346                 Order 3
347               </p>
348             </td>
349 <td>
350               <p>
351                 <span class="red">2.08<br> (25ns)</span>
352               </p>
353             </td>
354 <td>
355               <p>
356                 <span class="red">2.75<br> (33ns)</span>
357               </p>
358             </td>
359 <td>
360               <p>
361                 <span class="green">1.08<br> (13ns)</span>
362               </p>
363             </td>
364 <td>
365               <p>
366                 <span class="green">1.08<br> (13ns)</span>
367               </p>
368             </td>
369 <td>
370               <p>
371                 <span class="green">1.08<br> (13ns)</span>
372               </p>
373             </td>
374 <td>
375               <p>
376                 <span class="green">1.08<br> (13ns)</span>
377               </p>
378             </td>
379 <td>
380               <p>
381                 <span class="green">1.08<br> (13ns)</span>
382               </p>
383             </td>
384 <td>
385               <p>
386                 <span class="green">1.00<br> (12ns)</span>
387               </p>
388             </td>
389 </tr>
390 <tr>
391 <td>
392               <p>
393                 Order 4
394               </p>
395             </td>
396 <td>
397               <p>
398                 <span class="red">2.06<br> (35ns)</span>
399               </p>
400             </td>
401 <td>
402               <p>
403                 <span class="red">2.71<br> (46ns)</span>
404               </p>
405             </td>
406 <td>
407               <p>
408                 <span class="green">1.06<br> (18ns)</span>
409               </p>
410             </td>
411 <td>
412               <p>
413                 <span class="green">1.00<br> (17ns)</span>
414               </p>
415             </td>
416 <td>
417               <p>
418                 <span class="green">1.06<br> (18ns)</span>
419               </p>
420             </td>
421 <td>
422               <p>
423                 <span class="green">1.06<br> (18ns)</span>
424               </p>
425             </td>
426 <td>
427               <p>
428                 <span class="green">1.00<br> (17ns)</span>
429               </p>
430             </td>
431 <td>
432               <p>
433                 <span class="green">1.00<br> (17ns)</span>
434               </p>
435             </td>
436 </tr>
437 <tr>
438 <td>
439               <p>
440                 Order 5
441               </p>
442             </td>
443 <td>
444               <p>
445                 <span class="blue">1.32<br> (29ns)</span>
446               </p>
447             </td>
448 <td>
449               <p>
450                 <span class="blue">2.00<br> (44ns)</span>
451               </p>
452             </td>
453 <td>
454               <p>
455                 <span class="green">1.00<br> (22ns)</span>
456               </p>
457             </td>
458 <td>
459               <p>
460                 <span class="green">1.00<br> (22ns)</span>
461               </p>
462             </td>
463 <td>
464               <p>
465                 <span class="green">1.05<br> (23ns)</span>
466               </p>
467             </td>
468 <td>
469               <p>
470                 <span class="green">1.05<br> (23ns)</span>
471               </p>
472             </td>
473 <td>
474               <p>
475                 <span class="green">1.05<br> (23ns)</span>
476               </p>
477             </td>
478 <td>
479               <p>
480                 <span class="green">1.05<br> (23ns)</span>
481               </p>
482             </td>
483 </tr>
484 <tr>
485 <td>
486               <p>
487                 Order 6
488               </p>
489             </td>
490 <td>
491               <p>
492                 <span class="blue">1.38<br> (36ns)</span>
493               </p>
494             </td>
495 <td>
496               <p>
497                 <span class="red">2.04<br> (53ns)</span>
498               </p>
499             </td>
500 <td>
501               <p>
502                 <span class="green">1.08<br> (28ns)</span>
503               </p>
504             </td>
505 <td>
506               <p>
507                 <span class="green">1.00<br> (26ns)</span>
508               </p>
509             </td>
510 <td>
511               <p>
512                 <span class="green">1.08<br> (28ns)</span>
513               </p>
514             </td>
515 <td>
516               <p>
517                 <span class="green">1.08<br> (28ns)</span>
518               </p>
519             </td>
520 <td>
521               <p>
522                 <span class="blue">1.35<br> (35ns)</span>
523               </p>
524             </td>
525 <td>
526               <p>
527                 <span class="blue">1.38<br> (36ns)</span>
528               </p>
529             </td>
530 </tr>
531 <tr>
532 <td>
533               <p>
534                 Order 7
535               </p>
536             </td>
537 <td>
538               <p>
539                 <span class="blue">1.43<br> (43ns)</span>
540               </p>
541             </td>
542 <td>
543               <p>
544                 <span class="red">2.13<br> (64ns)</span>
545               </p>
546             </td>
547 <td>
548               <p>
549                 <span class="green">1.03<br> (31ns)</span>
550               </p>
551             </td>
552 <td>
553               <p>
554                 <span class="green">1.00<br> (30ns)</span>
555               </p>
556             </td>
557 <td>
558               <p>
559                 <span class="green">1.10<br> (33ns)</span>
560               </p>
561             </td>
562 <td>
563               <p>
564                 <span class="green">1.03<br> (31ns)</span>
565               </p>
566             </td>
567 <td>
568               <p>
569                 <span class="green">1.10<br> (33ns)</span>
570               </p>
571             </td>
572 <td>
573               <p>
574                 <span class="green">1.13<br> (34ns)</span>
575               </p>
576             </td>
577 </tr>
578 <tr>
579 <td>
580               <p>
581                 Order 8
582               </p>
583             </td>
584 <td>
585               <p>
586                 <span class="blue">1.65<br> (61ns)</span>
587               </p>
588             </td>
589 <td>
590               <p>
591                 <span class="red">2.22<br> (82ns)</span>
592               </p>
593             </td>
594 <td>
595               <p>
596                 <span class="green">1.00<br> (37ns)</span>
597               </p>
598             </td>
599 <td>
600               <p>
601                 <span class="green">1.08<br> (40ns)</span>
602               </p>
603             </td>
604 <td>
605               <p>
606                 <span class="green">1.14<br> (42ns)</span>
607               </p>
608             </td>
609 <td>
610               <p>
611                 <span class="green">1.05<br> (39ns)</span>
612               </p>
613             </td>
614 <td>
615               <p>
616                 <span class="green">1.08<br> (40ns)</span>
617               </p>
618             </td>
619 <td>
620               <p>
621                 <span class="green">1.11<br> (41ns)</span>
622               </p>
623             </td>
624 </tr>
625 <tr>
626 <td>
627               <p>
628                 Order 9
629               </p>
630             </td>
631 <td>
632               <p>
633                 <span class="blue">1.39<br> (57ns)</span>
634               </p>
635             </td>
636 <td>
637               <p>
638                 <span class="red">2.05<br> (84ns)</span>
639               </p>
640             </td>
641 <td>
642               <p>
643                 <span class="green">1.17<br> (48ns)</span>
644               </p>
645             </td>
646 <td>
647               <p>
648                 <span class="green">1.17<br> (48ns)</span>
649               </p>
650             </td>
651 <td>
652               <p>
653                 <span class="green">1.00<br> (41ns)</span>
654               </p>
655             </td>
656 <td>
657               <p>
658                 <span class="green">1.05<br> (43ns)</span>
659               </p>
660             </td>
661 <td>
662               <p>
663                 <span class="green">1.15<br> (47ns)</span>
664               </p>
665             </td>
666 <td>
667               <p>
668                 <span class="green">1.12<br> (46ns)</span>
669               </p>
670             </td>
671 </tr>
672 <tr>
673 <td>
674               <p>
675                 Order 10
676               </p>
677             </td>
678 <td>
679               <p>
680                 <span class="blue">1.37<br> (63ns)</span>
681               </p>
682             </td>
683 <td>
684               <p>
685                 <span class="red">2.20<br> (101ns)</span>
686               </p>
687             </td>
688 <td>
689               <p>
690                 <span class="blue">1.22<br> (56ns)</span>
691               </p>
692             </td>
693 <td>
694               <p>
695                 <span class="blue">1.24<br> (57ns)</span>
696               </p>
697             </td>
698 <td>
699               <p>
700                 <span class="green">1.00<br> (46ns)</span>
701               </p>
702             </td>
703 <td>
704               <p>
705                 <span class="green">1.00<br> (46ns)</span>
706               </p>
707             </td>
708 <td>
709               <p>
710                 <span class="green">1.17<br> (54ns)</span>
711               </p>
712             </td>
713 <td>
714               <p>
715                 <span class="green">1.17<br> (54ns)</span>
716               </p>
717             </td>
718 </tr>
719 <tr>
720 <td>
721               <p>
722                 Order 11
723               </p>
724             </td>
725 <td>
726               <p>
727                 <span class="blue">1.59<br> (78ns)</span>
728               </p>
729             </td>
730 <td>
731               <p>
732                 <span class="red">2.24<br> (110ns)</span>
733               </p>
734             </td>
735 <td>
736               <p>
737                 <span class="blue">1.37<br> (67ns)</span>
738               </p>
739             </td>
740 <td>
741               <p>
742                 <span class="blue">1.29<br> (63ns)</span>
743               </p>
744             </td>
745 <td>
746               <p>
747                 <span class="blue">1.22<br> (60ns)</span>
748               </p>
749             </td>
750 <td>
751               <p>
752                 <span class="green">1.00<br> (49ns)</span>
753               </p>
754             </td>
755 <td>
756               <p>
757                 <span class="blue">1.22<br> (60ns)</span>
758               </p>
759             </td>
760 <td>
761               <p>
762                 <span class="blue">1.22<br> (60ns)</span>
763               </p>
764             </td>
765 </tr>
766 <tr>
767 <td>
768               <p>
769                 Order 12
770               </p>
771             </td>
772 <td>
773               <p>
774                 <span class="blue">1.46<br> (83ns)</span>
775               </p>
776             </td>
777 <td>
778               <p>
779                 <span class="red">2.16<br> (123ns)</span>
780               </p>
781             </td>
782 <td>
783               <p>
784                 <span class="blue">1.28<br> (73ns)</span>
785               </p>
786             </td>
787 <td>
788               <p>
789                 <span class="blue">1.26<br> (72ns)</span>
790               </p>
791             </td>
792 <td>
793               <p>
794                 <span class="green">1.02<br> (58ns)</span>
795               </p>
796             </td>
797 <td>
798               <p>
799                 <span class="green">1.00<br> (57ns)</span>
800               </p>
801             </td>
802 <td>
803               <p>
804                 <span class="green">1.07<br> (61ns)</span>
805               </p>
806             </td>
807 <td>
808               <p>
809                 <span class="green">1.05<br> (60ns)</span>
810               </p>
811             </td>
812 </tr>
813 <tr>
814 <td>
815               <p>
816                 Order 13
817               </p>
818             </td>
819 <td>
820               <p>
821                 <span class="blue">1.61<br> (90ns)</span>
822               </p>
823             </td>
824 <td>
825               <p>
826                 <span class="red">2.55<br> (143ns)</span>
827               </p>
828             </td>
829 <td>
830               <p>
831                 <span class="blue">1.32<br> (74ns)</span>
832               </p>
833             </td>
834 <td>
835               <p>
836                 <span class="blue">1.39<br> (78ns)</span>
837               </p>
838             </td>
839 <td>
840               <p>
841                 <span class="green">1.04<br> (58ns)</span>
842               </p>
843             </td>
844 <td>
845               <p>
846                 <span class="green">1.00<br> (56ns)</span>
847               </p>
848             </td>
849 <td>
850               <p>
851                 <span class="green">1.11<br> (62ns)</span>
852               </p>
853             </td>
854 <td>
855               <p>
856                 <span class="green">1.07<br> (60ns)</span>
857               </p>
858             </td>
859 </tr>
860 <tr>
861 <td>
862               <p>
863                 Order 14
864               </p>
865             </td>
866 <td>
867               <p>
868                 <span class="blue">1.61<br> (106ns)</span>
869               </p>
870             </td>
871 <td>
872               <p>
873                 <span class="red">2.23<br> (147ns)</span>
874               </p>
875             </td>
876 <td>
877               <p>
878                 <span class="blue">1.45<br> (96ns)</span>
879               </p>
880             </td>
881 <td>
882               <p>
883                 <span class="blue">1.45<br> (96ns)</span>
884               </p>
885             </td>
886 <td>
887               <p>
888                 <span class="green">1.02<br> (67ns)</span>
889               </p>
890             </td>
891 <td>
892               <p>
893                 <span class="green">1.02<br> (67ns)</span>
894               </p>
895             </td>
896 <td>
897               <p>
898                 <span class="green">1.00<br> (66ns)</span>
899               </p>
900             </td>
901 <td>
902               <p>
903                 <span class="green">1.09<br> (72ns)</span>
904               </p>
905             </td>
906 </tr>
907 <tr>
908 <td>
909               <p>
910                 Order 15
911               </p>
912             </td>
913 <td>
914               <p>
915                 <span class="blue">1.49<br> (119ns)</span>
916               </p>
917             </td>
918 <td>
919               <p>
920                 <span class="red">2.10<br> (168ns)</span>
921               </p>
922             </td>
923 <td>
924               <p>
925                 <span class="blue">1.35<br> (108ns)</span>
926               </p>
927             </td>
928 <td>
929               <p>
930                 <span class="blue">1.35<br> (108ns)</span>
931               </p>
932             </td>
933 <td>
934               <p>
935                 <span class="green">1.00<br> (80ns)</span>
936               </p>
937             </td>
938 <td>
939               <p>
940                 <span class="green">1.00<br> (80ns)</span>
941               </p>
942             </td>
943 <td>
944               <p>
945                 <span class="green">1.00<br> (80ns)</span>
946               </p>
947             </td>
948 <td>
949               <p>
950                 <span class="green">1.02<br> (82ns)</span>
951               </p>
952             </td>
953 </tr>
954 <tr>
955 <td>
956               <p>
957                 Order 16
958               </p>
959             </td>
960 <td>
961               <p>
962                 <span class="blue">1.54<br> (129ns)</span>
963               </p>
964             </td>
965 <td>
966               <p>
967                 <span class="blue">1.99<br> (167ns)</span>
968               </p>
969             </td>
970 <td>
971               <p>
972                 <span class="blue">1.49<br> (125ns)</span>
973               </p>
974             </td>
975 <td>
976               <p>
977                 <span class="blue">1.45<br> (122ns)</span>
978               </p>
979             </td>
980 <td>
981               <p>
982                 <span class="green">1.07<br> (90ns)</span>
983               </p>
984             </td>
985 <td>
986               <p>
987                 <span class="green">1.00<br> (84ns)</span>
988               </p>
989             </td>
990 <td>
991               <p>
992                 <span class="green">1.08<br> (91ns)</span>
993               </p>
994             </td>
995 <td>
996               <p>
997                 <span class="green">1.02<br> (86ns)</span>
998               </p>
999             </td>
1000 </tr>
1001 <tr>
1002 <td>
1003               <p>
1004                 Order 17
1005               </p>
1006             </td>
1007 <td>
1008               <p>
1009                 <span class="blue">1.51<br> (133ns)</span>
1010               </p>
1011             </td>
1012 <td>
1013               <p>
1014                 <span class="red">2.02<br> (178ns)</span>
1015               </p>
1016             </td>
1017 <td>
1018               <p>
1019                 <span class="blue">1.57<br> (138ns)</span>
1020               </p>
1021             </td>
1022 <td>
1023               <p>
1024                 <span class="blue">1.50<br> (132ns)</span>
1025               </p>
1026             </td>
1027 <td>
1028               <p>
1029                 <span class="green">1.02<br> (90ns)</span>
1030               </p>
1031             </td>
1032 <td>
1033               <p>
1034                 <span class="green">1.00<br> (88ns)</span>
1035               </p>
1036             </td>
1037 <td>
1038               <p>
1039                 <span class="green">1.07<br> (94ns)</span>
1040               </p>
1041             </td>
1042 <td>
1043               <p>
1044                 <span class="green">1.06<br> (93ns)</span>
1045               </p>
1046             </td>
1047 </tr>
1048 <tr>
1049 <td>
1050               <p>
1051                 Order 18
1052               </p>
1053             </td>
1054 <td>
1055               <p>
1056                 <span class="blue">1.53<br> (148ns)</span>
1057               </p>
1058             </td>
1059 <td>
1060               <p>
1061                 <span class="red">2.16<br> (210ns)</span>
1062               </p>
1063             </td>
1064 <td>
1065               <p>
1066                 <span class="blue">1.49<br> (145ns)</span>
1067               </p>
1068             </td>
1069 <td>
1070               <p>
1071                 <span class="blue">1.57<br> (152ns)</span>
1072               </p>
1073             </td>
1074 <td>
1075               <p>
1076                 <span class="green">1.11<br> (108ns)</span>
1077               </p>
1078             </td>
1079 <td>
1080               <p>
1081                 <span class="green">1.09<br> (106ns)</span>
1082               </p>
1083             </td>
1084 <td>
1085               <p>
1086                 <span class="green">1.00<br> (97ns)</span>
1087               </p>
1088             </td>
1089 <td>
1090               <p>
1091                 <span class="green">1.08<br> (105ns)</span>
1092               </p>
1093             </td>
1094 </tr>
1095 <tr>
1096 <td>
1097               <p>
1098                 Order 19
1099               </p>
1100             </td>
1101 <td>
1102               <p>
1103                 <span class="blue">1.90<br> (194ns)</span>
1104               </p>
1105             </td>
1106 <td>
1107               <p>
1108                 <span class="red">2.27<br> (232ns)</span>
1109               </p>
1110             </td>
1111 <td>
1112               <p>
1113                 <span class="blue">1.62<br> (165ns)</span>
1114               </p>
1115             </td>
1116 <td>
1117               <p>
1118                 <span class="blue">1.62<br> (165ns)</span>
1119               </p>
1120             </td>
1121 <td>
1122               <p>
1123                 <span class="green">1.08<br> (110ns)</span>
1124               </p>
1125             </td>
1126 <td>
1127               <p>
1128                 <span class="green">1.00<br> (102ns)</span>
1129               </p>
1130             </td>
1131 <td>
1132               <p>
1133                 <span class="green">1.17<br> (119ns)</span>
1134               </p>
1135             </td>
1136 <td>
1137               <p>
1138                 <span class="green">1.19<br> (121ns)</span>
1139               </p>
1140             </td>
1141 </tr>
1142 <tr>
1143 <td>
1144               <p>
1145                 Order 20
1146               </p>
1147             </td>
1148 <td>
1149               <p>
1150                 <span class="blue">1.65<br> (206ns)</span>
1151               </p>
1152             </td>
1153 <td>
1154               <p>
1155                 <span class="red">2.08<br> (260ns)</span>
1156               </p>
1157             </td>
1158 <td>
1159               <p>
1160                 <span class="blue">1.45<br> (181ns)</span>
1161               </p>
1162             </td>
1163 <td>
1164               <p>
1165                 <span class="blue">1.44<br> (180ns)</span>
1166               </p>
1167             </td>
1168 <td>
1169               <p>
1170                 <span class="green">1.00<br> (125ns)</span>
1171               </p>
1172             </td>
1173 <td>
1174               <p>
1175                 <span class="green">1.00<br> (125ns)</span>
1176               </p>
1177             </td>
1178 <td>
1179               <p>
1180                 <span class="green">1.01<br> (126ns)</span>
1181               </p>
1182             </td>
1183 <td>
1184               <p>
1185                 <span class="green">1.03<br> (129ns)</span>
1186               </p>
1187             </td>
1188 </tr>
1189 </tbody>
1190 </table></div>
1191 </div>
1192 <br class="table-break"><div class="table">
1193 <a name="math_toolkit.tuning.table_Rational_Method_Comparison_with_Microsoft_Visual_C_version_14_0_on_Windows_x64"></a><p class="title"><b>Table&#160;21.4.&#160;Rational Method Comparison with Microsoft Visual C++ version 14.0 on
1194       Windows x64</b></p>
1195 <div class="table-contents"><table class="table" summary="Rational Method Comparison with Microsoft Visual C++ version 14.0 on
1196       Windows x64">
1197 <colgroup>
1198 <col>
1199 <col>
1200 <col>
1201 <col>
1202 <col>
1203 <col>
1204 <col>
1205 <col>
1206 <col>
1207 </colgroup>
1208 <thead><tr>
1209 <th>
1210               <p>
1211                 Function
1212               </p>
1213             </th>
1214 <th>
1215               <p>
1216                 Method 0<br> (Double Coefficients)
1217               </p>
1218             </th>
1219 <th>
1220               <p>
1221                 Method 0<br> (Integer Coefficients)
1222               </p>
1223             </th>
1224 <th>
1225               <p>
1226                 Method 1<br> (Double Coefficients)
1227               </p>
1228             </th>
1229 <th>
1230               <p>
1231                 Method 1<br> (Integer Coefficients)
1232               </p>
1233             </th>
1234 <th>
1235               <p>
1236                 Method 2<br> (Double Coefficients)
1237               </p>
1238             </th>
1239 <th>
1240               <p>
1241                 Method 2<br> (Integer Coefficients)
1242               </p>
1243             </th>
1244 <th>
1245               <p>
1246                 Method 3<br> (Double Coefficients)
1247               </p>
1248             </th>
1249 <th>
1250               <p>
1251                 Method 3<br> (Integer Coefficients)
1252               </p>
1253             </th>
1254 </tr></thead>
1255 <tbody>
1256 <tr>
1257 <td>
1258               <p>
1259                 Order 2
1260               </p>
1261             </td>
1262 <td>
1263               <p>
1264                 <span class="grey">-</span>
1265               </p>
1266             </td>
1267 <td>
1268               <p>
1269                 <span class="grey">-</span>
1270               </p>
1271             </td>
1272 <td>
1273               <p>
1274                 <span class="red">2.12<br> (89ns)</span>
1275               </p>
1276             </td>
1277 <td>
1278               <p>
1279                 <span class="blue">1.95<br> (82ns)</span>
1280               </p>
1281             </td>
1282 <td>
1283               <p>
1284                 <span class="green">1.00<br> (42ns)</span>
1285               </p>
1286             </td>
1287 <td>
1288               <p>
1289                 <span class="green">1.00<br> (42ns)</span>
1290               </p>
1291             </td>
1292 <td>
1293               <p>
1294                 <span class="green">1.00<br> (42ns)</span>
1295               </p>
1296             </td>
1297 <td>
1298               <p>
1299                 <span class="green">1.00<br> (42ns)</span>
1300               </p>
1301             </td>
1302 </tr>
1303 <tr>
1304 <td>
1305               <p>
1306                 Order 3
1307               </p>
1308             </td>
1309 <td>
1310               <p>
1311                 <span class="red">2.10<br> (88ns)</span>
1312               </p>
1313             </td>
1314 <td>
1315               <p>
1316                 <span class="red">2.10<br> (88ns)</span>
1317               </p>
1318             </td>
1319 <td>
1320               <p>
1321                 <span class="red">2.05<br> (86ns)</span>
1322               </p>
1323             </td>
1324 <td>
1325               <p>
1326                 <span class="red">2.10<br> (88ns)</span>
1327               </p>
1328             </td>
1329 <td>
1330               <p>
1331                 <span class="green">1.05<br> (44ns)</span>
1332               </p>
1333             </td>
1334 <td>
1335               <p>
1336                 <span class="green">1.00<br> (42ns)</span>
1337               </p>
1338             </td>
1339 <td>
1340               <p>
1341                 <span class="green">1.00<br> (42ns)</span>
1342               </p>
1343             </td>
1344 <td>
1345               <p>
1346                 <span class="green">1.00<br> (42ns)</span>
1347               </p>
1348             </td>
1349 </tr>
1350 <tr>
1351 <td>
1352               <p>
1353                 Order 4
1354               </p>
1355             </td>
1356 <td>
1357               <p>
1358                 <span class="red">2.12<br> (89ns)</span>
1359               </p>
1360             </td>
1361 <td>
1362               <p>
1363                 <span class="red">2.21<br> (93ns)</span>
1364               </p>
1365             </td>
1366 <td>
1367               <p>
1368                 <span class="blue">1.98<br> (83ns)</span>
1369               </p>
1370             </td>
1371 <td>
1372               <p>
1373                 <span class="red">2.10<br> (88ns)</span>
1374               </p>
1375             </td>
1376 <td>
1377               <p>
1378                 <span class="green">1.02<br> (43ns)</span>
1379               </p>
1380             </td>
1381 <td>
1382               <p>
1383                 <span class="green">1.02<br> (43ns)</span>
1384               </p>
1385             </td>
1386 <td>
1387               <p>
1388                 <span class="green">1.02<br> (43ns)</span>
1389               </p>
1390             </td>
1391 <td>
1392               <p>
1393                 <span class="green">1.00<br> (42ns)</span>
1394               </p>
1395             </td>
1396 </tr>
1397 <tr>
1398 <td>
1399               <p>
1400                 Order 5
1401               </p>
1402             </td>
1403 <td>
1404               <p>
1405                 <span class="green">1.07<br> (90ns)</span>
1406               </p>
1407             </td>
1408 <td>
1409               <p>
1410                 <span class="green">1.15<br> (97ns)</span>
1411               </p>
1412             </td>
1413 <td>
1414               <p>
1415                 <span class="green">1.08<br> (91ns)</span>
1416               </p>
1417             </td>
1418 <td>
1419               <p>
1420                 <span class="green">1.00<br> (84ns)</span>
1421               </p>
1422             </td>
1423 <td>
1424               <p>
1425                 <span class="blue">1.45<br> (122ns)</span>
1426               </p>
1427             </td>
1428 <td>
1429               <p>
1430                 <span class="blue">1.46<br> (123ns)</span>
1431               </p>
1432             </td>
1433 <td>
1434               <p>
1435                 <span class="blue">1.45<br> (122ns)</span>
1436               </p>
1437             </td>
1438 <td>
1439               <p>
1440                 <span class="blue">1.45<br> (122ns)</span>
1441               </p>
1442             </td>
1443 </tr>
1444 <tr>
1445 <td>
1446               <p>
1447                 Order 6
1448               </p>
1449             </td>
1450 <td>
1451               <p>
1452                 <span class="green">1.16<br> (102ns)</span>
1453               </p>
1454             </td>
1455 <td>
1456               <p>
1457                 <span class="blue">1.58<br> (139ns)</span>
1458               </p>
1459             </td>
1460 <td>
1461               <p>
1462                 <span class="green">1.00<br> (88ns)</span>
1463               </p>
1464             </td>
1465 <td>
1466               <p>
1467                 <span class="green">1.03<br> (91ns)</span>
1468               </p>
1469             </td>
1470 <td>
1471               <p>
1472                 <span class="blue">1.44<br> (127ns)</span>
1473               </p>
1474             </td>
1475 <td>
1476               <p>
1477                 <span class="blue">1.44<br> (127ns)</span>
1478               </p>
1479             </td>
1480 <td>
1481               <p>
1482                 <span class="blue">1.41<br> (124ns)</span>
1483               </p>
1484             </td>
1485 <td>
1486               <p>
1487                 <span class="blue">1.38<br> (121ns)</span>
1488               </p>
1489             </td>
1490 </tr>
1491 <tr>
1492 <td>
1493               <p>
1494                 Order 7
1495               </p>
1496             </td>
1497 <td>
1498               <p>
1499                 <span class="blue">1.29<br> (121ns)</span>
1500               </p>
1501             </td>
1502 <td>
1503               <p>
1504                 <span class="blue">1.44<br> (135ns)</span>
1505               </p>
1506             </td>
1507 <td>
1508               <p>
1509                 <span class="green">1.01<br> (95ns)</span>
1510               </p>
1511             </td>
1512 <td>
1513               <p>
1514                 <span class="green">1.00<br> (94ns)</span>
1515               </p>
1516             </td>
1517 <td>
1518               <p>
1519                 <span class="blue">1.38<br> (130ns)</span>
1520               </p>
1521             </td>
1522 <td>
1523               <p>
1524                 <span class="blue">1.36<br> (128ns)</span>
1525               </p>
1526             </td>
1527 <td>
1528               <p>
1529                 <span class="blue">1.33<br> (125ns)</span>
1530               </p>
1531             </td>
1532 <td>
1533               <p>
1534                 <span class="blue">1.36<br> (128ns)</span>
1535               </p>
1536             </td>
1537 </tr>
1538 <tr>
1539 <td>
1540               <p>
1541                 Order 8
1542               </p>
1543             </td>
1544 <td>
1545               <p>
1546                 <span class="blue">1.33<br> (134ns)</span>
1547               </p>
1548             </td>
1549 <td>
1550               <p>
1551                 <span class="blue">1.52<br> (154ns)</span>
1552               </p>
1553             </td>
1554 <td>
1555               <p>
1556                 <span class="green">1.00<br> (101ns)</span>
1557               </p>
1558             </td>
1559 <td>
1560               <p>
1561                 <span class="green">1.08<br> (109ns)</span>
1562               </p>
1563             </td>
1564 <td>
1565               <p>
1566                 <span class="blue">1.38<br> (139ns)</span>
1567               </p>
1568             </td>
1569 <td>
1570               <p>
1571                 <span class="blue">1.31<br> (132ns)</span>
1572               </p>
1573             </td>
1574 <td>
1575               <p>
1576                 <span class="blue">1.39<br> (140ns)</span>
1577               </p>
1578             </td>
1579 <td>
1580               <p>
1581                 <span class="blue">1.37<br> (138ns)</span>
1582               </p>
1583             </td>
1584 </tr>
1585 <tr>
1586 <td>
1587               <p>
1588                 Order 9
1589               </p>
1590             </td>
1591 <td>
1592               <p>
1593                 <span class="green">1.18<br> (141ns)</span>
1594               </p>
1595             </td>
1596 <td>
1597               <p>
1598                 <span class="blue">1.45<br> (172ns)</span>
1599               </p>
1600             </td>
1601 <td>
1602               <p>
1603                 <span class="green">1.00<br> (119ns)</span>
1604               </p>
1605             </td>
1606 <td>
1607               <p>
1608                 <span class="green">1.08<br> (128ns)</span>
1609               </p>
1610             </td>
1611 <td>
1612               <p>
1613                 <span class="green">1.13<br> (135ns)</span>
1614               </p>
1615             </td>
1616 <td>
1617               <p>
1618                 <span class="blue">1.26<br> (150ns)</span>
1619               </p>
1620             </td>
1621 <td>
1622               <p>
1623                 <span class="blue">1.26<br> (150ns)</span>
1624               </p>
1625             </td>
1626 <td>
1627               <p>
1628                 <span class="blue">1.27<br> (151ns)</span>
1629               </p>
1630             </td>
1631 </tr>
1632 <tr>
1633 <td>
1634               <p>
1635                 Order 10
1636               </p>
1637             </td>
1638 <td>
1639               <p>
1640                 <span class="blue">1.29<br> (180ns)</span>
1641               </p>
1642             </td>
1643 <td>
1644               <p>
1645                 <span class="blue">1.28<br> (178ns)</span>
1646               </p>
1647             </td>
1648 <td>
1649               <p>
1650                 <span class="green">1.05<br> (146ns)</span>
1651               </p>
1652             </td>
1653 <td>
1654               <p>
1655                 <span class="green">1.00<br> (139ns)</span>
1656               </p>
1657             </td>
1658 <td>
1659               <p>
1660                 <span class="green">1.06<br> (147ns)</span>
1661               </p>
1662             </td>
1663 <td>
1664               <p>
1665                 <span class="green">1.06<br> (147ns)</span>
1666               </p>
1667             </td>
1668 <td>
1669               <p>
1670                 <span class="green">1.18<br> (164ns)</span>
1671               </p>
1672             </td>
1673 <td>
1674               <p>
1675                 <span class="green">1.17<br> (163ns)</span>
1676               </p>
1677             </td>
1678 </tr>
1679 <tr>
1680 <td>
1681               <p>
1682                 Order 11
1683               </p>
1684             </td>
1685 <td>
1686               <p>
1687                 <span class="blue">1.28<br> (187ns)</span>
1688               </p>
1689             </td>
1690 <td>
1691               <p>
1692                 <span class="blue">1.28<br> (187ns)</span>
1693               </p>
1694             </td>
1695 <td>
1696               <p>
1697                 <span class="green">1.06<br> (155ns)</span>
1698               </p>
1699             </td>
1700 <td>
1701               <p>
1702                 <span class="green">1.05<br> (154ns)</span>
1703               </p>
1704             </td>
1705 <td>
1706               <p>
1707                 <span class="green">1.03<br> (151ns)</span>
1708               </p>
1709             </td>
1710 <td>
1711               <p>
1712                 <span class="green">1.00<br> (146ns)</span>
1713               </p>
1714             </td>
1715 <td>
1716               <p>
1717                 <span class="green">1.19<br> (174ns)</span>
1718               </p>
1719             </td>
1720 <td>
1721               <p>
1722                 <span class="blue">1.47<br> (215ns)</span>
1723               </p>
1724             </td>
1725 </tr>
1726 <tr>
1727 <td>
1728               <p>
1729                 Order 12
1730               </p>
1731             </td>
1732 <td>
1733               <p>
1734                 <span class="blue">1.22<br> (197ns)</span>
1735               </p>
1736             </td>
1737 <td>
1738               <p>
1739                 <span class="blue">1.38<br> (223ns)</span>
1740               </p>
1741             </td>
1742 <td>
1743               <p>
1744                 <span class="green">1.04<br> (168ns)</span>
1745               </p>
1746             </td>
1747 <td>
1748               <p>
1749                 <span class="green">1.04<br> (169ns)</span>
1750               </p>
1751             </td>
1752 <td>
1753               <p>
1754                 <span class="green">1.00<br> (162ns)</span>
1755               </p>
1756             </td>
1757 <td>
1758               <p>
1759                 <span class="green">1.04<br> (169ns)</span>
1760               </p>
1761             </td>
1762 <td>
1763               <p>
1764                 <span class="blue">1.22<br> (198ns)</span>
1765               </p>
1766             </td>
1767 <td>
1768               <p>
1769                 <span class="blue">1.52<br> (246ns)</span>
1770               </p>
1771             </td>
1772 </tr>
1773 <tr>
1774 <td>
1775               <p>
1776                 Order 13
1777               </p>
1778             </td>
1779 <td>
1780               <p>
1781                 <span class="blue">1.23<br> (209ns)</span>
1782               </p>
1783             </td>
1784 <td>
1785               <p>
1786                 <span class="blue">1.29<br> (220ns)</span>
1787               </p>
1788             </td>
1789 <td>
1790               <p>
1791                 <span class="green">1.15<br> (196ns)</span>
1792               </p>
1793             </td>
1794 <td>
1795               <p>
1796                 <span class="green">1.10<br> (187ns)</span>
1797               </p>
1798             </td>
1799 <td>
1800               <p>
1801                 <span class="green">1.00<br> (170ns)</span>
1802               </p>
1803             </td>
1804 <td>
1805               <p>
1806                 <span class="green">1.15<br> (196ns)</span>
1807               </p>
1808             </td>
1809 <td>
1810               <p>
1811                 <span class="blue">1.22<br> (208ns)</span>
1812               </p>
1813             </td>
1814 <td>
1815               <p>
1816                 <span class="blue">1.61<br> (273ns)</span>
1817               </p>
1818             </td>
1819 </tr>
1820 <tr>
1821 <td>
1822               <p>
1823                 Order 14
1824               </p>
1825             </td>
1826 <td>
1827               <p>
1828                 <span class="blue">1.28<br> (242ns)</span>
1829               </p>
1830             </td>
1831 <td>
1832               <p>
1833                 <span class="blue">1.39<br> (262ns)</span>
1834               </p>
1835             </td>
1836 <td>
1837               <p>
1838                 <span class="green">1.15<br> (218ns)</span>
1839               </p>
1840             </td>
1841 <td>
1842               <p>
1843                 <span class="green">1.14<br> (216ns)</span>
1844               </p>
1845             </td>
1846 <td>
1847               <p>
1848                 <span class="green">1.00<br> (189ns)</span>
1849               </p>
1850             </td>
1851 <td>
1852               <p>
1853                 <span class="green">1.01<br> (191ns)</span>
1854               </p>
1855             </td>
1856 <td>
1857               <p>
1858                 <span class="blue">1.49<br> (282ns)</span>
1859               </p>
1860             </td>
1861 <td>
1862               <p>
1863                 <span class="blue">1.53<br> (290ns)</span>
1864               </p>
1865             </td>
1866 </tr>
1867 <tr>
1868 <td>
1869               <p>
1870                 Order 15
1871               </p>
1872             </td>
1873 <td>
1874               <p>
1875                 <span class="blue">1.28<br> (260ns)</span>
1876               </p>
1877             </td>
1878 <td>
1879               <p>
1880                 <span class="blue">1.34<br> (273ns)</span>
1881               </p>
1882             </td>
1883 <td>
1884               <p>
1885                 <span class="green">1.12<br> (227ns)</span>
1886               </p>
1887             </td>
1888 <td>
1889               <p>
1890                 <span class="green">1.15<br> (233ns)</span>
1891               </p>
1892             </td>
1893 <td>
1894               <p>
1895                 <span class="green">1.00<br> (203ns)</span>
1896               </p>
1897             </td>
1898 <td>
1899               <p>
1900                 <span class="green">1.00<br> (203ns)</span>
1901               </p>
1902             </td>
1903 <td>
1904               <p>
1905                 <span class="blue">1.38<br> (280ns)</span>
1906               </p>
1907             </td>
1908 <td>
1909               <p>
1910                 <span class="blue">1.47<br> (298ns)</span>
1911               </p>
1912             </td>
1913 </tr>
1914 <tr>
1915 <td>
1916               <p>
1917                 Order 16
1918               </p>
1919             </td>
1920 <td>
1921               <p>
1922                 <span class="blue">1.35<br> (288ns)</span>
1923               </p>
1924             </td>
1925 <td>
1926               <p>
1927                 <span class="blue">1.40<br> (300ns)</span>
1928               </p>
1929             </td>
1930 <td>
1931               <p>
1932                 <span class="blue">1.22<br> (261ns)</span>
1933               </p>
1934             </td>
1935 <td>
1936               <p>
1937                 <span class="green">1.18<br> (252ns)</span>
1938               </p>
1939             </td>
1940 <td>
1941               <p>
1942                 <span class="green">1.00<br> (214ns)</span>
1943               </p>
1944             </td>
1945 <td>
1946               <p>
1947                 <span class="blue">1.23<br> (264ns)</span>
1948               </p>
1949             </td>
1950 <td>
1951               <p>
1952                 <span class="blue">1.43<br> (305ns)</span>
1953               </p>
1954             </td>
1955 <td>
1956               <p>
1957                 <span class="blue">1.52<br> (325ns)</span>
1958               </p>
1959             </td>
1960 </tr>
1961 <tr>
1962 <td>
1963               <p>
1964                 Order 17
1965               </p>
1966             </td>
1967 <td>
1968               <p>
1969                 <span class="green">1.16<br> (259ns)</span>
1970               </p>
1971             </td>
1972 <td>
1973               <p>
1974                 <span class="blue">1.47<br> (328ns)</span>
1975               </p>
1976             </td>
1977 <td>
1978               <p>
1979                 <span class="green">1.15<br> (256ns)</span>
1980               </p>
1981             </td>
1982 <td>
1983               <p>
1984                 <span class="blue">1.35<br> (302ns)</span>
1985               </p>
1986             </td>
1987 <td>
1988               <p>
1989                 <span class="green">1.00<br> (223ns)</span>
1990               </p>
1991             </td>
1992 <td>
1993               <p>
1994                 <span class="blue">1.22<br> (273ns)</span>
1995               </p>
1996             </td>
1997 <td>
1998               <p>
1999                 <span class="blue">1.50<br> (334ns)</span>
2000               </p>
2001             </td>
2002 <td>
2003               <p>
2004                 <span class="blue">1.52<br> (339ns)</span>
2005               </p>
2006             </td>
2007 </tr>
2008 <tr>
2009 <td>
2010               <p>
2011                 Order 18
2012               </p>
2013             </td>
2014 <td>
2015               <p>
2016                 <span class="green">1.10<br> (273ns)</span>
2017               </p>
2018             </td>
2019 <td>
2020               <p>
2021                 <span class="blue">1.46<br> (363ns)</span>
2022               </p>
2023             </td>
2024 <td>
2025               <p>
2026                 <span class="green">1.10<br> (273ns)</span>
2027               </p>
2028             </td>
2029 <td>
2030               <p>
2031                 <span class="blue">1.75<br> (434ns)</span>
2032               </p>
2033             </td>
2034 <td>
2035               <p>
2036                 <span class="green">1.00<br> (248ns)</span>
2037               </p>
2038             </td>
2039 <td>
2040               <p>
2041                 <span class="blue">1.30<br> (322ns)</span>
2042               </p>
2043             </td>
2044 <td>
2045               <p>
2046                 <span class="blue">1.41<br> (349ns)</span>
2047               </p>
2048             </td>
2049 <td>
2050               <p>
2051                 <span class="blue">1.46<br> (363ns)</span>
2052               </p>
2053             </td>
2054 </tr>
2055 <tr>
2056 <td>
2057               <p>
2058                 Order 19
2059               </p>
2060             </td>
2061 <td>
2062               <p>
2063                 <span class="blue">1.26<br> (330ns)</span>
2064               </p>
2065             </td>
2066 <td>
2067               <p>
2068                 <span class="blue">1.35<br> (352ns)</span>
2069               </p>
2070             </td>
2071 <td>
2072               <p>
2073                 <span class="blue">1.24<br> (324ns)</span>
2074               </p>
2075             </td>
2076 <td>
2077               <p>
2078                 <span class="blue">1.33<br> (348ns)</span>
2079               </p>
2080             </td>
2081 <td>
2082               <p>
2083                 <span class="green">1.00<br> (261ns)</span>
2084               </p>
2085             </td>
2086 <td>
2087               <p>
2088                 <span class="blue">1.22<br> (319ns)</span>
2089               </p>
2090             </td>
2091 <td>
2092               <p>
2093                 <span class="blue">1.44<br> (377ns)</span>
2094               </p>
2095             </td>
2096 <td>
2097               <p>
2098                 <span class="blue">1.46<br> (381ns)</span>
2099               </p>
2100             </td>
2101 </tr>
2102 <tr>
2103 <td>
2104               <p>
2105                 Order 20
2106               </p>
2107             </td>
2108 <td>
2109               <p>
2110                 <span class="blue">1.24<br> (330ns)</span>
2111               </p>
2112             </td>
2113 <td>
2114               <p>
2115                 <span class="blue">1.60<br> (427ns)</span>
2116               </p>
2117             </td>
2118 <td>
2119               <p>
2120                 <span class="blue">1.22<br> (327ns)</span>
2121               </p>
2122             </td>
2123 <td>
2124               <p>
2125                 <span class="blue">1.56<br> (416ns)</span>
2126               </p>
2127             </td>
2128 <td>
2129               <p>
2130                 <span class="green">1.00<br> (267ns)</span>
2131               </p>
2132             </td>
2133 <td>
2134               <p>
2135                 <span class="green">1.19<br> (317ns)</span>
2136               </p>
2137             </td>
2138 <td>
2139               <p>
2140                 <span class="blue">1.57<br> (418ns)</span>
2141               </p>
2142             </td>
2143 <td>
2144               <p>
2145                 <span class="blue">1.56<br> (416ns)</span>
2146               </p>
2147             </td>
2148 </tr>
2149 </tbody>
2150 </table></div>
2151 </div>
2152 <br class="table-break"><p>
2153       [table_Polynomial_Method_Comparison_with_GNU_C_version_5_1_0_on_linux]
2154     </p>
2155 <p>
2156       [table_Rational_Method_Comparison_with_GNU_C_version_5_1_0_on_linux]
2157     </p>
2158 </div>
2159 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
2160 <td align="left"></td>
2161 <td align="right"><div class="copyright-footer">Copyright &#169; 2006-2019 Nikhar
2162       Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos,
2163       Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan
2164       R&#229;de, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg,
2165       Daryle Walker and Xiaogang Zhang<p>
2166         Distributed under the Boost Software License, Version 1.0. (See accompanying
2167         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>)
2168       </p>
2169 </div></td>
2170 </tr></table>
2171 <hr>
2172 <div class="spirit-nav">
2173 <a accesskey="p" href="multiprecision.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.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="comp_compilers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
2174 </div>
2175 </body>
2176 </html>