pxfm/logs/
log_dyadic.rs

1/*
2 * // Copyright (c) Radzivon Bartoshyk 6/2025. All rights reserved.
3 * //
4 * // Redistribution and use in source and binary forms, with or without modification,
5 * // are permitted provided that the following conditions are met:
6 * //
7 * // 1.  Redistributions of source code must retain the above copyright notice, this
8 * // list of conditions and the following disclaimer.
9 * //
10 * // 2.  Redistributions in binary form must reproduce the above copyright notice,
11 * // this list of conditions and the following disclaimer in the documentation
12 * // and/or other materials provided with the distribution.
13 * //
14 * // 3.  Neither the name of the copyright holder nor the names of its
15 * // contributors may be used to endorse or promote products derived from
16 * // this software without specific prior written permission.
17 * //
18 * // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 * // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 * // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 * // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22 * // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 * // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24 * // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25 * // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26 * // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 * // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */
29use crate::dyadic_float::{DyadicFloat128, DyadicSign};
30
31pub(crate) static LOG_STEP_1: [DyadicFloat128; 128] = [
32    // -log(r) with 128-bit precision generated by SageMath with:
33    // for i in range(128):
34    //   r = 2^-8 * ceil( 2^8 * (1 - 2^(-8)) / (1 + i*2^(-7)) );
35    //   s, m, e = RealField(128)(r).log().sign_mantissa_exponent();
36    //   print("{RationalSign::Pos,", e, ", format_hex(m), "},");
37    /* .step_1= */
38    DyadicFloat128 {
39        sign: DyadicSign::Pos,
40        exponent: 0,
41        mantissa: 0_u128,
42    },
43    DyadicFloat128 {
44        sign: DyadicSign::Pos,
45        exponent: -134,
46        mantissa: 0x8080abac_46f38946_662d417c_ed007a46_u128,
47    },
48    DyadicFloat128 {
49        sign: DyadicSign::Pos,
50        exponent: -133,
51        mantissa: 0x8102b2c4_9ac23a4f_91d082dc_e3ddcd38_u128,
52    },
53    DyadicFloat128 {
54        sign: DyadicSign::Pos,
55        exponent: -133,
56        mantissa: 0xc2492946_4655f45c_da5f3cc0_b3251dbd_u128,
57    },
58    DyadicFloat128 {
59        sign: DyadicSign::Pos,
60        exponent: -132,
61        mantissa: 0x820aec4f_3a222380_b9e3aea6_c444ef07_u128,
62    },
63    DyadicFloat128 {
64        sign: DyadicSign::Pos,
65        exponent: -132,
66        mantissa: 0xa33576a1_6f1f4c64_521016bd_904dc968_u128,
67    },
68    DyadicFloat128 {
69        sign: DyadicSign::Pos,
70        exponent: -132,
71        mantissa: 0xc4a550a4_fd9a19a8_be97660a_23cc540d_u128,
72    },
73    DyadicFloat128 {
74        sign: DyadicSign::Pos,
75        exponent: -132,
76        mantissa: 0xe65b9e6e_ed965c36_e09f5fe2_058d6006_u128,
77    },
78    DyadicFloat128 {
79        sign: DyadicSign::Pos,
80        exponent: -131,
81        mantissa: 0x842cc5ac_f1d03445_1fecdfa8_19b96098_u128,
82    },
83    DyadicFloat128 {
84        sign: DyadicSign::Pos,
85        exponent: -131,
86        mantissa: 0x8cb9de8a_32ab368a_a7c98595_30a45153_u128,
87    },
88    DyadicFloat128 {
89        sign: DyadicSign::Pos,
90        exponent: -131,
91        mantissa: 0x9defad3e_8f73217a_976d3b5b_45f6ca0b_u128,
92    },
93    DyadicFloat128 {
94        sign: DyadicSign::Pos,
95        exponent: -131,
96        mantissa: 0xaf4ad26c_bc8e5be7_0e8b8b88_a14ff0ce_u128,
97    },
98    DyadicFloat128 {
99        sign: DyadicSign::Pos,
100        exponent: -131,
101        mantissa: 0xb8069857_560707a3_6a677b4c_8bec22e1_u128,
102    },
103    DyadicFloat128 {
104        sign: DyadicSign::Pos,
105        exponent: -131,
106        mantissa: 0xc99af2ea_ca4c4570_eaf51f66_692844ba_u128,
107    },
108    DyadicFloat128 {
109        sign: DyadicSign::Pos,
110        exponent: -131,
111        mantissa: 0xdb56446d_6ad8deff_a8112e35_a60e6375_u128,
112    },
113    DyadicFloat128 {
114        sign: DyadicSign::Pos,
115        exponent: -131,
116        mantissa: 0xe442c00d_e2591b47_196ab34c_e0bccd12_u128,
117    },
118    DyadicFloat128 {
119        sign: DyadicSign::Pos,
120        exponent: -131,
121        mantissa: 0xf639cc18_5088fe5d_4066e87f_2c0f7340_u128,
122    },
123    DyadicFloat128 {
124        sign: DyadicSign::Pos,
125        exponent: -131,
126        mantissa: 0xff4489ce_deab2ca6_c17bd40d_8d9291ec_u128,
127    },
128    DyadicFloat128 {
129        sign: DyadicSign::Pos,
130        exponent: -130,
131        mantissa: 0x88bc7411_3f23def1_9c5a0fe3_96f40f1e_u128,
132    },
133    DyadicFloat128 {
134        sign: DyadicSign::Pos,
135        exponent: -130,
136        mantissa: 0x8d515bf1_1fb94f1c_88713268_840cbcc0_u128,
137    },
138    DyadicFloat128 {
139        sign: DyadicSign::Pos,
140        exponent: -130,
141        mantissa: 0x968b0864_3409ceb6_65c0da50_6a088484_u128,
142    },
143    DyadicFloat128 {
144        sign: DyadicSign::Pos,
145        exponent: -130,
146        mantissa: 0x9b2fe580_ac80b17d_411a5b94_4aca8708_u128,
147    },
148    DyadicFloat128 {
149        sign: DyadicSign::Pos,
150        exponent: -130,
151        mantissa: 0xa489ec19_9dab06f2_a9fb6cf0_ecb411b7_u128,
152    },
153    DyadicFloat128 {
154        sign: DyadicSign::Pos,
155        exponent: -130,
156        mantissa: 0xa93f2f25_0dac67d1_cad2fb8d_48054ae0_u128,
157    },
158    DyadicFloat128 {
159        sign: DyadicSign::Pos,
160        exponent: -130,
161        mantissa: 0xb2ba75f4_6099cf8b_2c3c2e77_904afa78_u128,
162    },
163    DyadicFloat128 {
164        sign: DyadicSign::Pos,
165        exponent: -130,
166        mantissa: 0xb780945b_ab55dce4_34c7bc3d_32750fde_u128,
167    },
168    DyadicFloat128 {
169        sign: DyadicSign::Pos,
170        exponent: -130,
171        mantissa: 0xc11e0b2a_8d1e0ddb_9a631e83_0fd30904_u128,
172    },
173    DyadicFloat128 {
174        sign: DyadicSign::Pos,
175        exponent: -130,
176        mantissa: 0xc5f57f59_c7f46155_aa8b6997_a402bf30_u128,
177    },
178    DyadicFloat128 {
179        sign: DyadicSign::Pos,
180        exponent: -130,
181        mantissa: 0xcad2d6e7_b80bf914_2c507fb7_a3d0bf6a_u128,
182    },
183    DyadicFloat128 {
184        sign: DyadicSign::Pos,
185        exponent: -130,
186        mantissa: 0xd49f69e4_56cf1b79_5f53bd2e_406e66e7_u128,
187    },
188    DyadicFloat128 {
189        sign: DyadicSign::Pos,
190        exponent: -130,
191        mantissa: 0xd98ec2ba_de71e539_58a98f2a_d65bee9b_u128,
192    },
193    DyadicFloat128 {
194        sign: DyadicSign::Pos,
195        exponent: -130,
196        mantissa: 0xde8439c1_dec56877_4d57da94_5b5d0aaa_u128,
197    },
198    DyadicFloat128 {
199        sign: DyadicSign::Pos,
200        exponent: -130,
201        mantissa: 0xe881bf93_2af3dac0_c524848e_3443e040_u128,
202    },
203    DyadicFloat128 {
204        sign: DyadicSign::Pos,
205        exponent: -130,
206        mantissa: 0xed89ed86_a44a01aa_11d49f96_cb88317b_u128,
207    },
208    DyadicFloat128 {
209        sign: DyadicSign::Pos,
210        exponent: -130,
211        mantissa: 0xf29877ff_38809091_3b020fa1_820c9492_u128,
212    },
213    DyadicFloat128 {
214        sign: DyadicSign::Pos,
215        exponent: -130,
216        mantissa: 0xf7ad6f26_e7ff2ef7_54d2238f_75f969b1_u128,
217    },
218    DyadicFloat128 {
219        sign: DyadicSign::Pos,
220        exponent: -130,
221        mantissa: 0xfcc8e365_9d9bcbec_ca0cdf30_1431b60f_u128,
222    },
223    DyadicFloat128 {
224        sign: DyadicSign::Pos,
225        exponent: -129,
226        mantissa: 0x8389c302_6ac3139b_62dda9d2_270fa1f4_u128,
227    },
228    DyadicFloat128 {
229        sign: DyadicSign::Pos,
230        exponent: -129,
231        mantissa: 0x86216b3b_0b17188b_163ceae8_8f720f1e_u128,
232    },
233    DyadicFloat128 {
234        sign: DyadicSign::Pos,
235        exponent: -129,
236        mantissa: 0x88bc7411_3f23def1_9c5a0fe3_96f40f1e_u128,
237    },
238    DyadicFloat128 {
239        sign: DyadicSign::Pos,
240        exponent: -129,
241        mantissa: 0x8b5ae65d_67db9acd_f7a51681_26a58b9a_u128,
242    },
243    DyadicFloat128 {
244        sign: DyadicSign::Pos,
245        exponent: -129,
246        mantissa: 0x8dfccb1a_d35ca6ed_5147bdb6_ddcaf59c_u128,
247    },
248    DyadicFloat128 {
249        sign: DyadicSign::Pos,
250        exponent: -129,
251        mantissa: 0x934b1089_a6dc93c1_df5bb3b6_0554e152_u128,
252    },
253    DyadicFloat128 {
254        sign: DyadicSign::Pos,
255        exponent: -129,
256        mantissa: 0x95f783e6_e49a9cfa_4a5004f3_ef063313_u128,
257    },
258    DyadicFloat128 {
259        sign: DyadicSign::Pos,
260        exponent: -129,
261        mantissa: 0x98a78f0e_9ae71d85_2cdec347_84707839_u128,
262    },
263    DyadicFloat128 {
264        sign: DyadicSign::Pos,
265        exponent: -129,
266        mantissa: 0x9b5b3bb5_f088b766_d878bbe3_d392be25_u128,
267    },
268    DyadicFloat128 {
269        sign: DyadicSign::Pos,
270        exponent: -129,
271        mantissa: 0x9e1293b9_998c1daa_5b035eae_273a855f_u128,
272    },
273    DyadicFloat128 {
274        sign: DyadicSign::Pos,
275        exponent: -129,
276        mantissa: 0xa0cda11e_af46390d_bb243827_3918db7e_u128,
277    },
278    DyadicFloat128 {
279        sign: DyadicSign::Pos,
280        exponent: -129,
281        mantissa: 0xa38c6e13_8e20d831_f698298a_dddd7f32_u128,
282    },
283    DyadicFloat128 {
284        sign: DyadicSign::Pos,
285        exponent: -129,
286        mantissa: 0xa64f04f0_b961df76_e4f5275c_2d15c21f_u128,
287    },
288    DyadicFloat128 {
289        sign: DyadicSign::Pos,
290        exponent: -129,
291        mantissa: 0xa9157039_c51ebe70_8164c759_686a2209_u128,
292    },
293    DyadicFloat128 {
294        sign: DyadicSign::Pos,
295        exponent: -129,
296        mantissa: 0xabdfba9e_468fd6f6_f72ea077_49ce6bd3_u128,
297    },
298    DyadicFloat128 {
299        sign: DyadicSign::Pos,
300        exponent: -129,
301        mantissa: 0xaeadeefa_caf97d35_7dd6e688_ebb13b03_u128,
302    },
303    DyadicFloat128 {
304        sign: DyadicSign::Pos,
305        exponent: -129,
306        mantissa: 0xb1801859_d56249dc_18ce51ff_f99479cd_u128,
307    },
308    DyadicFloat128 {
309        sign: DyadicSign::Pos,
310        exponent: -129,
311        mantissa: 0xb45641f4_e350a0d3_2756eba0_0bc33978_u128,
312    },
313    DyadicFloat128 {
314        sign: DyadicSign::Pos,
315        exponent: -129,
316        mantissa: 0xb7307735_78cb90b2_be1116c3_466beb6d_u128,
317    },
318    DyadicFloat128 {
319        sign: DyadicSign::Pos,
320        exponent: -129,
321        mantissa: 0xba0ec3b6_33dd8b09_49dc60b2_b059a60b_u128,
322    },
323    DyadicFloat128 {
324        sign: DyadicSign::Pos,
325        exponent: -129,
326        mantissa: 0xbcf13343_e7d9ec7d_2efd1778_1bb3afec_u128,
327    },
328    DyadicFloat128 {
329        sign: DyadicSign::Pos,
330        exponent: -129,
331        mantissa: 0xbfd7d1de_c0a8df6f_37eda996_244bccb0_u128,
332    },
333    DyadicFloat128 {
334        sign: DyadicSign::Pos,
335        exponent: -129,
336        mantissa: 0xc2c2abbb_6e5fd56f_33337789_d592e296_u128,
337    },
338    DyadicFloat128 {
339        sign: DyadicSign::Pos,
340        exponent: -129,
341        mantissa: 0xc5b1cd44_596fa51e_1a18fb8f_9f9ef280_u128,
342    },
343    DyadicFloat128 {
344        sign: DyadicSign::Pos,
345        exponent: -129,
346        mantissa: 0xc8a5431a_dfb44ca5_688ce7c1_a75e341a_u128,
347    },
348    DyadicFloat128 {
349        sign: DyadicSign::Pos,
350        exponent: -129,
351        mantissa: 0xcb9d1a18_9ab56e76_2d7e9307_c70c0668_u128,
352    },
353    DyadicFloat128 {
354        sign: DyadicSign::Pos,
355        exponent: -129,
356        mantissa: 0xce995f50_af69d861_ef2f3f4f_861ad6a9_u128,
357    },
358    DyadicFloat128 {
359        sign: DyadicSign::Pos,
360        exponent: -129,
361        mantissa: 0xd19a2011_27d3c645_7f9d79f5_1dcc7301_u128,
362    },
363    DyadicFloat128 {
364        sign: DyadicSign::Pos,
365        exponent: -129,
366        mantissa: 0xd19a2011_27d3c645_7f9d79f5_1dcc7301_u128,
367    },
368    DyadicFloat128 {
369        sign: DyadicSign::Pos,
370        exponent: -129,
371        mantissa: 0xd49f69e4_56cf1b79_5f53bd2e_406e66e7_u128,
372    },
373    DyadicFloat128 {
374        sign: DyadicSign::Pos,
375        exponent: -129,
376        mantissa: 0xd7a94a92_466e833a_ad88bba7_d0cee8e0_u128,
377    },
378    DyadicFloat128 {
379        sign: DyadicSign::Pos,
380        exponent: -129,
381        mantissa: 0xdab7d022_31484a92_96c20cca_6efe2ac5_u128,
382    },
383    DyadicFloat128 {
384        sign: DyadicSign::Pos,
385        exponent: -129,
386        mantissa: 0xddcb08dc_0717d85b_f40a666c_87842843_u128,
387    },
388    DyadicFloat128 {
389        sign: DyadicSign::Pos,
390        exponent: -129,
391        mantissa: 0xe0e30349_fd1cec80_7fe8e180_2aba24d6_u128,
392    },
393    DyadicFloat128 {
394        sign: DyadicSign::Pos,
395        exponent: -129,
396        mantissa: 0xe0e30349_fd1cec80_7fe8e180_2aba24d6_u128,
397    },
398    DyadicFloat128 {
399        sign: DyadicSign::Pos,
400        exponent: -129,
401        mantissa: 0xe3ffce3a_2aa64922_3eadb651_b49ac53a_u128,
402    },
403    DyadicFloat128 {
404        sign: DyadicSign::Pos,
405        exponent: -129,
406        mantissa: 0xe72178c0_323a1a0f_304e1653_e71d9973_u128,
407    },
408    DyadicFloat128 {
409        sign: DyadicSign::Pos,
410        exponent: -129,
411        mantissa: 0xea481236_f7d35baf_e9a767a8_0d6d97e8_u128,
412    },
413    DyadicFloat128 {
414        sign: DyadicSign::Pos,
415        exponent: -129,
416        mantissa: 0xed73aa42_64b0ade9_4f91cf4b_33e42998_u128,
417    },
418    DyadicFloat128 {
419        sign: DyadicSign::Pos,
420        exponent: -129,
421        mantissa: 0xf0a450d1_39366ca6_fc66eb64_08ff6433_u128,
422    },
423    DyadicFloat128 {
424        sign: DyadicSign::Pos,
425        exponent: -129,
426        mantissa: 0xf0a450d1_39366ca6_fc66eb64_08ff6433_u128,
427    },
428    DyadicFloat128 {
429        sign: DyadicSign::Pos,
430        exponent: -129,
431        mantissa: 0xf3da161e_ed6b9aaf_ac8d42f7_8d3e65d3_u128,
432    },
433    DyadicFloat128 {
434        sign: DyadicSign::Pos,
435        exponent: -129,
436        mantissa: 0xf7150ab5_a09f27f4_5a470250_d40ebe90_u128,
437    },
438    DyadicFloat128 {
439        sign: DyadicSign::Pos,
440        exponent: -129,
441        mantissa: 0xfa553f70_18c966f2_b780a545_a1b54dcf_u128,
442    },
443    DyadicFloat128 {
444        sign: DyadicSign::Pos,
445        exponent: -129,
446        mantissa: 0xfa553f70_18c966f2_b780a545_a1b54dcf_u128,
447    },
448    DyadicFloat128 {
449        sign: DyadicSign::Pos,
450        exponent: -129,
451        mantissa: 0xfd9ac57b_d244217e_8f05924d_258c14c5_u128,
452    },
453    DyadicFloat128 {
454        sign: DyadicSign::Pos,
455        exponent: -128,
456        mantissa: 0x8072d72d_903d588b_89d1b09c_70c4010a_u128,
457    },
458    DyadicFloat128 {
459        sign: DyadicSign::Pos,
460        exponent: -128,
461        mantissa: 0x821b05f3_b01d6774_030d58c3_f7e2ea1f_u128,
462    },
463    DyadicFloat128 {
464        sign: DyadicSign::Pos,
465        exponent: -128,
466        mantissa: 0x821b05f3_b01d6774_030d58c3_f7e2ea1f_u128,
467    },
468    DyadicFloat128 {
469        sign: DyadicSign::Pos,
470        exponent: -128,
471        mantissa: 0x83c5f829_9e2b4091_20f6fafe_8fbb68b9_u128,
472    },
473    DyadicFloat128 {
474        sign: DyadicSign::Pos,
475        exponent: -128,
476        mantissa: 0x8573b716_82a7d21a_e21f9f89_c1ab80b2_u128,
477    },
478    DyadicFloat128 {
479        sign: DyadicSign::Pos,
480        exponent: -128,
481        mantissa: 0x8573b716_82a7d21a_e21f9f89_c1ab80b2_u128,
482    },
483    DyadicFloat128 {
484        sign: DyadicSign::Pos,
485        exponent: -128,
486        mantissa: 0x87244c30_8e670a66_01e005d0_6dbfa8f8_u128,
487    },
488    DyadicFloat128 {
489        sign: DyadicSign::Pos,
490        exponent: -128,
491        mantissa: 0x88d7c11e_3ad53cdc_223111a7_07b6de2c_u128,
492    },
493    DyadicFloat128 {
494        sign: DyadicSign::Pos,
495        exponent: -128,
496        mantissa: 0x88d7c11e_3ad53cdc_223111a7_07b6de2c_u128,
497    },
498    DyadicFloat128 {
499        sign: DyadicSign::Pos,
500        exponent: -128,
501        mantissa: 0x8a8e1fb7_94b09134_2eb628db_a173c82d_u128,
502    },
503    DyadicFloat128 {
504        sign: DyadicSign::Pos,
505        exponent: -128,
506        mantissa: 0x8c477207_91e53313_be2ad194_15fe25a5_u128,
507    },
508    DyadicFloat128 {
509        sign: DyadicSign::Pos,
510        exponent: -128,
511        mantissa: 0x8c477207_91e53313_be2ad194_15fe25a5_u128,
512    },
513    DyadicFloat128 {
514        sign: DyadicSign::Pos,
515        exponent: -128,
516        mantissa: 0x8e03c24d_73003959_bddae1cc_ce247838_u128,
517    },
518    DyadicFloat128 {
519        sign: DyadicSign::Pos,
520        exponent: -128,
521        mantissa: 0x8fc31afe_30b2c6de_9b00bf16_7e95da67_u128,
522    },
523    DyadicFloat128 {
524        sign: DyadicSign::Pos,
525        exponent: -128,
526        mantissa: 0x8fc31afe_30b2c6de_9b00bf16_7e95da67_u128,
527    },
528    DyadicFloat128 {
529        sign: DyadicSign::Pos,
530        exponent: -128,
531        mantissa: 0x918586c5_f5e4bf01_9b92199e_d1a4bab1_u128,
532    },
533    DyadicFloat128 {
534        sign: DyadicSign::Pos,
535        exponent: -128,
536        mantissa: 0x934b1089_a6dc93c1_df5bb3b6_0554e152_u128,
537    },
538    DyadicFloat128 {
539        sign: DyadicSign::Pos,
540        exponent: -128,
541        mantissa: 0x934b1089_a6dc93c1_df5bb3b6_0554e152_u128,
542    },
543    DyadicFloat128 {
544        sign: DyadicSign::Pos,
545        exponent: -128,
546        mantissa: 0x9513c368_76083695_f3cbc416_a2418012_u128,
547    },
548    DyadicFloat128 {
549        sign: DyadicSign::Pos,
550        exponent: -128,
551        mantissa: 0x96dfaabd_86fa1646_be1188fb_c94e2f15_u128,
552    },
553    DyadicFloat128 {
554        sign: DyadicSign::Pos,
555        exponent: -128,
556        mantissa: 0x96dfaabd_86fa1646_be1188fb_c94e2f15_u128,
557    },
558    DyadicFloat128 {
559        sign: DyadicSign::Pos,
560        exponent: -128,
561        mantissa: 0x98aed221_a03458b6_1d2f8932_1647b358_u128,
562    },
563    DyadicFloat128 {
564        sign: DyadicSign::Pos,
565        exponent: -128,
566        mantissa: 0x98aed221_a03458b6_1d2f8932_1647b358_u128,
567    },
568    DyadicFloat128 {
569        sign: DyadicSign::Pos,
570        exponent: -128,
571        mantissa: 0x9a81456c_ec642e0f_e549f9aa_ea3cb5e1_u128,
572    },
573    DyadicFloat128 {
574        sign: DyadicSign::Pos,
575        exponent: -128,
576        mantissa: 0x9c5710b8_cbb73a42_a2554b2d_d4619e63_u128,
577    },
578    DyadicFloat128 {
579        sign: DyadicSign::Pos,
580        exponent: -128,
581        mantissa: 0x9c5710b8_cbb73a42_a2554b2d_d4619e63_u128,
582    },
583    DyadicFloat128 {
584        sign: DyadicSign::Pos,
585        exponent: -128,
586        mantissa: 0x9e304061_b5fda919_30603d87_b6df81ad_u128,
587    },
588    DyadicFloat128 {
589        sign: DyadicSign::Pos,
590        exponent: -128,
591        mantissa: 0x9e304061_b5fda919_30603d87_b6df81ad_u128,
592    },
593    DyadicFloat128 {
594        sign: DyadicSign::Pos,
595        exponent: -128,
596        mantissa: 0xa00ce109_2e5498c3_67879c5a_30cd1242_u128,
597    },
598    DyadicFloat128 {
599        sign: DyadicSign::Pos,
600        exponent: -128,
601        mantissa: 0xa1ecff97_c91e267b_0b7efae0_8e597e16_u128,
602    },
603    DyadicFloat128 {
604        sign: DyadicSign::Pos,
605        exponent: -128,
606        mantissa: 0xa1ecff97_c91e267b_0b7efae0_8e597e16_u128,
607    },
608    DyadicFloat128 {
609        sign: DyadicSign::Pos,
610        exponent: -128,
611        mantissa: 0xa3d0a93f_45169a4a_83594fab_088c0d65_u128,
612    },
613    DyadicFloat128 {
614        sign: DyadicSign::Pos,
615        exponent: -128,
616        mantissa: 0xa3d0a93f_45169a4a_83594fab_088c0d65_u128,
617    },
618    DyadicFloat128 {
619        sign: DyadicSign::Pos,
620        exponent: -128,
621        mantissa: 0xa5b7eb7c_b860fb88_af6a62a0_dec6e073_u128,
622    },
623    DyadicFloat128 {
624        sign: DyadicSign::Pos,
625        exponent: -128,
626        mantissa: 0xa5b7eb7c_b860fb88_af6a62a0_dec6e073_u128,
627    },
628    DyadicFloat128 {
629        sign: DyadicSign::Pos,
630        exponent: -128,
631        mantissa: 0xa7a2d41a_d270c9d7_49362382_a768847a_u128,
632    },
633    DyadicFloat128 {
634        sign: DyadicSign::Pos,
635        exponent: -128,
636        mantissa: 0xa7a2d41a_d270c9d7_49362382_a768847a_u128,
637    },
638    DyadicFloat128 {
639        sign: DyadicSign::Pos,
640        exponent: -128,
641        mantissa: 0xa9917134_33c2b998_8ba4aea6_14d05701_u128,
642    },
643    DyadicFloat128 {
644        sign: DyadicSign::Pos,
645        exponent: -128,
646        mantissa: 0xa9917134_33c2b998_8ba4aea6_14d05701_u128,
647    },
648    DyadicFloat128 {
649        sign: DyadicSign::Pos,
650        exponent: -128,
651        mantissa: 0xab83d135_dc633301_7fe6607b_a902ef3c_u128,
652    },
653    DyadicFloat128 {
654        sign: DyadicSign::Pos,
655        exponent: -128,
656        mantissa: 0xab83d135_dc633301_7fe6607b_a902ef3c_u128,
657    },
658    DyadicFloat128 {
659        sign: DyadicSign::Pos,
660        exponent: -128,
661        mantissa: 0xad7a02e1_b24efd31_d60864fd_949b4bd3_u128,
662    },
663    DyadicFloat128 {
664        sign: DyadicSign::Pos,
665        exponent: -128,
666        mantissa: 0xad7a02e1_b24efd31_d60864fd_949b4bd3_u128,
667    },
668    DyadicFloat128 {
669        sign: DyadicSign::Pos,
670        exponent: -128,
671        mantissa: 0xaf741551_20c9011c_066d235e_e63073dd_u128,
672    },
673    DyadicFloat128 {
674        sign: DyadicSign::Pos,
675        exponent: 0,
676        mantissa: 0_u128,
677    },
678];
679
680pub(crate) static LOG_STEP_2: [DyadicFloat128; 193] =
681    // -log(r) for the second step, generated by SageMath with:
682    //
683    // for i in range(-2^6, 2^7 + 1):
684    //   r = 2^-16 * round( 2^16 / (1 + i*2^(-14)) );
685    //   s, m, e = RealField(128)(r).log().sign_mantissa_exponent();
686    //   print("{RationalSign::Pos," if s == -1 else "{RationalSign::Neg,", e, ",
687    //         format_hex(m), "},");
688    /* .step_2 = */
689    [
690        DyadicFloat128 {
691            sign: DyadicSign::Neg,
692            exponent: -135,
693            mantissa: 0x803faaca_c419abf2_a1c6f3fc_242ef8d0_u128,
694        },
695        DyadicFloat128 {
696            sign: DyadicSign::Neg,
697            exponent: -136,
698            mantissa: 0xfc834da1_6f0d9f57_a225ebc0_2e6d9dd4_u128,
699        },
700        DyadicFloat128 {
701            sign: DyadicSign::Neg,
702            exponent: -136,
703            mantissa: 0xf88735cc_c7433381_c33f6ad3_40ae18a9_u128,
704        },
705        DyadicFloat128 {
706            sign: DyadicSign::Neg,
707            exponent: -136,
708            mantissa: 0xf48b0e17_1249b6bc_70b2a4d3_8a242244_u128,
709        },
710        DyadicFloat128 {
711            sign: DyadicSign::Neg,
712            exponent: -136,
713            mantissa: 0xf08ed67f_d190e280_1d548190_48b811b0_u128,
714        },
715        DyadicFloat128 {
716            sign: DyadicSign::Neg,
717            exponent: -136,
718            mantissa: 0xec928f06_86828706_aee59837_01d2a02b_u128,
719        },
720        DyadicFloat128 {
721            sign: DyadicSign::Neg,
722            exponent: -136,
723            mantissa: 0xe89637aa_b2828aed_40abb8ab_72afa2d2_u128,
724        },
725        DyadicFloat128 {
726            sign: DyadicSign::Neg,
727            exponent: -136,
728            mantissa: 0xe499d06b_d6eeead5_deb547a0_d4a26ef9_u128,
729        },
730        DyadicFloat128 {
731            sign: DyadicSign::Neg,
732            exponent: -136,
733            mantissa: 0xe09d5949_751fb909_39c5bdfb_cf6087a0_u128,
734        },
735        DyadicFloat128 {
736            sign: DyadicSign::Neg,
737            exponent: -136,
738            mantissa: 0xdca0d243_0e671d18_53ea9bf1_52de635f_u128,
739        },
740        DyadicFloat128 {
741            sign: DyadicSign::Neg,
742            exponent: -136,
743            mantissa: 0xd8a43b58_2411537e_25b82043_6f5f4352_u128,
744        },
745        DyadicFloat128 {
746            sign: DyadicSign::Neg,
747            exponent: -136,
748            mantissa: 0xd4a79488_3764ad41_3c2d13ea_1d0be058_u128,
749        },
750        DyadicFloat128 {
751            sign: DyadicSign::Neg,
752            exponent: -136,
753            mantissa: 0xd0aaddd2_c9a18f95_4f3cfa62_bcb3ce3a_u128,
754        },
755        DyadicFloat128 {
756            sign: DyadicSign::Neg,
757            exponent: -136,
758            mantissa: 0xccae1737_5c02737c_d0fff6cd_f14a86c7_u128,
759        },
760        DyadicFloat128 {
761            sign: DyadicSign::Neg,
762            exponent: -136,
763            mantissa: 0xc8b140b5_6fbbe56a_7587b5f0_453ac3d2_u128,
764        },
765        DyadicFloat128 {
766            sign: DyadicSign::Neg,
767            exponent: -136,
768            mantissa: 0xc4b45a4c_85fc84e2_b358ad16_dfd0d085_u128,
769        },
770        DyadicFloat128 {
771            sign: DyadicSign::Neg,
772            exponent: -136,
773            mantissa: 0xc0b763fc_1fed041d_3c86fdce_5dbe7314_u128,
774        },
775        DyadicFloat128 {
776            sign: DyadicSign::Neg,
777            exponent: -136,
778            mantissa: 0xbcba5dc3_beb027a6_70764e46_ac18a96d_u128,
779        },
780        DyadicFloat128 {
781            sign: DyadicSign::Neg,
782            exponent: -136,
783            mantissa: 0xb8bd47a2_e362c600_c63be62b_8f285882_u128,
784        },
785        DyadicFloat128 {
786            sign: DyadicSign::Neg,
787            exponent: -136,
788            mantissa: 0xb3c0d59a_244325a4_72e7b5a3_86e5e31b_u128,
789        },
790        DyadicFloat128 {
791            sign: DyadicSign::Neg,
792            exponent: -136,
793            mantissa: 0xafc39bac_66434f27_c3ea2cd9_3f316b34_u128,
794        },
795        DyadicFloat128 {
796            sign: DyadicSign::Neg,
797            exponent: -136,
798            mantissa: 0xabc651d4_91a7b438_1dfb11a7_cc892843_u128,
799        },
800        DyadicFloat128 {
801            sign: DyadicSign::Neg,
802            exponent: -136,
803            mantissa: 0xa7c8f812_2773f38d_fc679a28_e9d9f212_u128,
804        },
805        DyadicFloat128 {
806            sign: DyadicSign::Neg,
807            exponent: -136,
808            mantissa: 0xa3cb8e64_a8a5bbe6_e7bc977e_eec42254_u128,
809        },
810        DyadicFloat128 {
811            sign: DyadicSign::Neg,
812            exponent: -136,
813            mantissa: 0x9fce14cb_9634cba6_b20f215b_d3b58c61_u128,
814        },
815        DyadicFloat128 {
816            sign: DyadicSign::Neg,
817            exponent: -136,
818            mantissa: 0x9bd08b46_7112f078_abe28625_08d67a98_u128,
819        },
820        DyadicFloat128 {
821            sign: DyadicSign::Neg,
822            exponent: -136,
823            mantissa: 0x97d2f1d4_ba2c06f0_d1aacedc_efe9d377_u128,
824        },
825        DyadicFloat128 {
826            sign: DyadicSign::Neg,
827            exponent: -136,
828            mantissa: 0x93d54875_f265fa2c_f1eb25e7_7d05f58d_u128,
829        },
830        DyadicFloat128 {
831            sign: DyadicSign::Neg,
832            exponent: -136,
833            mantissa: 0x8fd78f29_9aa0c375_cbef6fac_33691e95_u128,
834        },
835        DyadicFloat128 {
836            sign: DyadicSign::Neg,
837            exponent: -136,
838            mantissa: 0x8bd9c5ef_33b669e0_27206404_62a0f8ad_u128,
839        },
840        DyadicFloat128 {
841            sign: DyadicSign::Neg,
842            exponent: -136,
843            mantissa: 0x87dbecc6_3e7b01ed_e2f17751_34c8da75_u128,
844        },
845        DyadicFloat128 {
846            sign: DyadicSign::Neg,
847            exponent: -136,
848            mantissa: 0x83de03ae_3bbcad2e_ff67e201_c8c50d67_u128,
849        },
850        DyadicFloat128 {
851            sign: DyadicSign::Neg,
852            exponent: -137,
853            mantissa: 0xffc0154d_588733c5_3c742a7c_76356396_u128,
854        },
855        DyadicFloat128 {
856            sign: DyadicSign::Neg,
857            exponent: -137,
858            mantissa: 0xf7c4035e_21a4052f_f90dd6b2_4aa686ec_u128,
859        },
860        DyadicFloat128 {
861            sign: DyadicSign::Neg,
862            exponent: -137,
863            mantissa: 0xefc7d18d_d4485b9e_ca47c52b_7d7ffce2_u128,
864        },
865        DyadicFloat128 {
866            sign: DyadicSign::Neg,
867            exponent: -137,
868            mantissa: 0xe7cb7fdb_71e0db36_3703617a_d3d8311f_u128,
869        },
870        DyadicFloat128 {
871            sign: DyadicSign::Neg,
872            exponent: -137,
873            mantissa: 0xdfcf0e45_fbce3e80_7e4cfbd8_30393b88_u128,
874        },
875        DyadicFloat128 {
876            sign: DyadicSign::Neg,
877            exponent: -137,
878            mantissa: 0xd7d27ccc_736555af_4f7a29cf_0fc2c38e_u128,
879        },
880        DyadicFloat128 {
881            sign: DyadicSign::Neg,
882            exponent: -137,
883            mantissa: 0xcfd5cb6d_d9ef05dd_7370ae83_f9e72748_u128,
884        },
885        DyadicFloat128 {
886            sign: DyadicSign::Neg,
887            exponent: -137,
888            mantissa: 0xc7d8fa29_30a84850_671486eb_4cd76f65_u128,
889        },
890        DyadicFloat128 {
891            sign: DyadicSign::Neg,
892            exponent: -137,
893            mantissa: 0xbfdc08fd_78c229b9_e6dbb624_f9739782_u128,
894        },
895        DyadicFloat128 {
896            sign: DyadicSign::Neg,
897            exponent: -137,
898            mantissa: 0xb7def7e9_b361c979_6b866e09_e57d9079_u128,
899        },
900        DyadicFloat128 {
901            sign: DyadicSign::Neg,
902            exponent: -137,
903            mantissa: 0xafe1c6ec_e1a058dd_97fa2fd0_c9dc723e_u128,
904        },
905        DyadicFloat128 {
906            sign: DyadicSign::Neg,
907            exponent: -137,
908            mantissa: 0xa7e47606_048b1a65_983e8089_7cf1e60f_u128,
909        },
910        DyadicFloat128 {
911            sign: DyadicSign::Neg,
912            exponent: -137,
913            mantissa: 0x9fe70534_1d236102_7199cd06_ae5d39b3_u128,
914        },
915        DyadicFloat128 {
916            sign: DyadicSign::Neg,
917            exponent: -137,
918            mantissa: 0x97e97476_2c5e8f58_43cd18a7_2a051a96_u128,
919        },
920        DyadicFloat128 {
921            sign: DyadicSign::Neg,
922            exponent: -137,
923            mantissa: 0x8febc3cb_332616ff_7b6d1248_c3e1fd40_u128,
924        },
925        DyadicFloat128 {
926            sign: DyadicSign::Neg,
927            exponent: -137,
928            mantissa: 0x87edf332_325777c5_f5572a88_14c703af_u128,
929        },
930        DyadicFloat128 {
931            sign: DyadicSign::Neg,
932            exponent: -138,
933            mantissa: 0xffe00554_55887de0_26828c92_649a3a39_u128,
934        },
935        DyadicFloat128 {
936            sign: DyadicSign::Neg,
937            exponent: -138,
938            mantissa: 0xefe3e464_3a640cf3_82c550bd_1216d82a_u128,
939        },
940        DyadicFloat128 {
941            sign: DyadicSign::Neg,
942            exponent: -138,
943            mantissa: 0xdfe78392_14b4e8ae_da6959f7_f0e01bf0_u128,
944        },
945        DyadicFloat128 {
946            sign: DyadicSign::Neg,
947            exponent: -138,
948            mantissa: 0xcfeae2db_e5d6736d_da93e2fa_85a8f214_u128,
949        },
950        DyadicFloat128 {
951            sign: DyadicSign::Neg,
952            exponent: -138,
953            mantissa: 0xbfee023f_af0c2480_b47505bf_a5a03b06_u128,
954        },
955        DyadicFloat128 {
956            sign: DyadicSign::Neg,
957            exponent: -138,
958            mantissa: 0xaff0e1bb_718186ad_b1475a51_80a43520_u128,
959        },
960        DyadicFloat128 {
961            sign: DyadicSign::Neg,
962            exponent: -138,
963            mantissa: 0x9ff3814d_2e4a36b2_a8740b91_c95df537_u128,
964        },
965        DyadicFloat128 {
966            sign: DyadicSign::Neg,
967            exponent: -138,
968            mantissa: 0x8ff5e0f2_e661e1c6_57d895d3_5921b59c_u128,
969        },
970        DyadicFloat128 {
971            sign: DyadicSign::Neg,
972            exponent: -139,
973            mantissa: 0xfff00155_35588833_3c56c598_c659c2a3_u128,
974        },
975        DyadicFloat128 {
976            sign: DyadicSign::Neg,
977            exponent: -139,
978            mantissa: 0xdff3c0e4_97ea4eb1_2ef8ec33_ed9d782a_u128,
979        },
980        DyadicFloat128 {
981            sign: DyadicSign::Neg,
982            exponent: -139,
983            mantissa: 0xbff7008f_f5e0c257_379eba7e_6465ff63_u128,
984        },
985        DyadicFloat128 {
986            sign: DyadicSign::Neg,
987            exponent: -139,
988            mantissa: 0x9ff9c053_5073a370_3f972b78_3fcab757_u128,
989        },
990        DyadicFloat128 {
991            sign: DyadicSign::Neg,
992            exponent: -140,
993            mantissa: 0xfff80055_51558885_de026e27_1ee0549d_u128,
994        },
995        DyadicFloat128 {
996            sign: DyadicSign::Neg,
997            exponent: -140,
998            mantissa: 0xbffb8023_febc0c25_eceb47ea_01f6c632_u128,
999        },
1000        DyadicFloat128 {
1001            sign: DyadicSign::Neg,
1002            exponent: -141,
1003            mantissa: 0xfffc0015_54d55888_7333c578_57e1ed52_u128,
1004        },
1005        DyadicFloat128 {
1006            sign: DyadicSign::Neg,
1007            exponent: -142,
1008            mantissa: 0xfffe0005_55455588_87dde026_fa704374_u128,
1009        },
1010        DyadicFloat128 {
1011            sign: DyadicSign::Neg,
1012            exponent: 0,
1013            mantissa: 0_u128,
1014        },
1015        DyadicFloat128 {
1016            sign: DyadicSign::Pos,
1017            exponent: -141,
1018            mantissa: 0x80010002_aab2aac4_44999abe_2fe2cc65_u128,
1019        },
1020        DyadicFloat128 {
1021            sign: DyadicSign::Pos,
1022            exponent: -140,
1023            mantissa: 0x8002000a_aaeaac44_4eef3815_81464ccb_u128,
1024        },
1025        DyadicFloat128 {
1026            sign: DyadicSign::Pos,
1027            exponent: -140,
1028            mantissa: 0xc0048024_01440c26_dfeb4850_85f6f454_u128,
1029        },
1030        DyadicFloat128 {
1031            sign: DyadicSign::Pos,
1032            exponent: -139,
1033            mantissa: 0x8004002a_acaac445_99abe3be_3a1c6e93_u128,
1034        },
1035        DyadicFloat128 {
1036            sign: DyadicSign::Pos,
1037            exponent: -139,
1038            mantissa: 0xa0064053_5a37a37a_6bc1e20e_ac8448b4_u128,
1039        },
1040        DyadicFloat128 {
1041            sign: DyadicSign::Pos,
1042            exponent: -139,
1043            mantissa: 0xc0090090_0a20c275_979eedc0_64c242fd_u128,
1044        },
1045        DyadicFloat128 {
1046            sign: DyadicSign::Pos,
1047            exponent: -139,
1048            mantissa: 0xe00c40e4_bd6e4efd_c72446cc_1bf728bd_u128,
1049        },
1050        DyadicFloat128 {
1051            sign: DyadicSign::Pos,
1052            exponent: -138,
1053            mantissa: 0x800800aa_baac446e_f381b821_bbb569e5_u128,
1054        },
1055        DyadicFloat128 {
1056            sign: DyadicSign::Pos,
1057            exponent: -138,
1058            mantissa: 0x900a20f3_19a3e273_569b26aa_a485ea5c_u128,
1059        },
1060        DyadicFloat128 {
1061            sign: DyadicSign::Pos,
1062            exponent: -138,
1063            mantissa: 0xa00c814d_7c6a37f8_2dcf56c8_3c80b028_u128,
1064        },
1065        DyadicFloat128 {
1066            sign: DyadicSign::Pos,
1067            exponent: -138,
1068            mantissa: 0xb00f21bb_e3e388ee_5f697682_84463b9b_u128,
1069        },
1070        DyadicFloat128 {
1071            sign: DyadicSign::Pos,
1072            exponent: -138,
1073            mantissa: 0xc0120240_510c284c_b48ea6c0_5e2773a1_u128,
1074        },
1075        DyadicFloat128 {
1076            sign: DyadicSign::Pos,
1077            exponent: -138,
1078            mantissa: 0xd01522dc_c4f87991_14d9d761_96d8043a_u128,
1079        },
1080        DyadicFloat128 {
1081            sign: DyadicSign::Pos,
1082            exponent: -138,
1083            mantissa: 0xe0188393_40d4f241_e016a611_a4415d72_u128,
1084        },
1085        DyadicFloat128 {
1086            sign: DyadicSign::Pos,
1087            exponent: -138,
1088            mantissa: 0xf01c2465_c5e61b6f_661e135f_49a47c40_u128,
1089        },
1090        DyadicFloat128 {
1091            sign: DyadicSign::Pos,
1092            exponent: -137,
1093            mantissa: 0x801002ab_2ac4499a_be6bf0fa_435e8383_u128,
1094        },
1095        DyadicFloat128 {
1096            sign: DyadicSign::Pos,
1097            exponent: -137,
1098            mantissa: 0x88121333_7898871e_9a31ba0c_bc030353_u128,
1099        },
1100        DyadicFloat128 {
1101            sign: DyadicSign::Pos,
1102            exponent: -137,
1103            mantissa: 0x901443cc_cd362c9f_54b57dfe_0c4c840f_u128,
1104        },
1105        DyadicFloat128 {
1106            sign: DyadicSign::Pos,
1107            exponent: -137,
1108            mantissa: 0x98169478_296fad41_7ad1e9c3_15328f7e_u128,
1109        },
1110        DyadicFloat128 {
1111            sign: DyadicSign::Pos,
1112            exponent: -137,
1113            mantissa: 0xa0190536_8e2389b3_1f3f686c_f3d6be22_u128,
1114        },
1115        DyadicFloat128 {
1116            sign: DyadicSign::Pos,
1117            exponent: -137,
1118            mantissa: 0xa81b9608_fc3c50ec_f105b66e_c4703ede_u128,
1119        },
1120        DyadicFloat128 {
1121            sign: DyadicSign::Pos,
1122            exponent: -137,
1123            mantissa: 0xb01e46f0_74b0a0f3_610848c6_8df4d233_u128,
1124        },
1125        DyadicFloat128 {
1126            sign: DyadicSign::Pos,
1127            exponent: -137,
1128            mantissa: 0xb82117ed_f8832797_d6aef30c_d312169a_u128,
1129        },
1130        DyadicFloat128 {
1131            sign: DyadicSign::Pos,
1132            exponent: -137,
1133            mantissa: 0xc0240902_88c2a339_f3ac3796_08053d9d_u128,
1134        },
1135        DyadicFloat128 {
1136            sign: DyadicSign::Pos,
1137            exponent: -137,
1138            mantissa: 0xc8271a2f_2689e388_e6e2acf8_f4d4c24a_u128,
1139        },
1140        DyadicFloat128 {
1141            sign: DyadicSign::Pos,
1142            exponent: -137,
1143            mantissa: 0xd02a4b74_d2ffca44_ce6ae474_d860359f_u128,
1144        },
1145        DyadicFloat128 {
1146            sign: DyadicSign::Pos,
1147            exponent: -137,
1148            mantissa: 0xd82d9cd4_8f574c00_28bb3cd9_f2a65fb5_u128,
1149        },
1150        DyadicFloat128 {
1151            sign: DyadicSign::Pos,
1152            exponent: -137,
1153            mantissa: 0xe0310e4f_5ccf70e1_54f30dbe_f38a8066_u128,
1154        },
1155        DyadicFloat128 {
1156            sign: DyadicSign::Pos,
1157            exponent: -137,
1158            mantissa: 0xe8349fe6_3cb35564_224a96f5_a7471c46_u128,
1159        },
1160        DyadicFloat128 {
1161            sign: DyadicSign::Pos,
1162            exponent: -137,
1163            mantissa: 0xf038519a_305a2b1b_6ea92059_1aa02e1b_u128,
1164        },
1165        DyadicFloat128 {
1166            sign: DyadicSign::Pos,
1167            exponent: -137,
1168            mantissa: 0xf83c236c_39273972_d462b637_56c87e80_u128,
1169        },
1170        DyadicFloat128 {
1171            sign: DyadicSign::Pos,
1172            exponent: -136,
1173            mantissa: 0x80200aae_ac44ef38_338f7760_5fe77f2a_u128,
1174        },
1175        DyadicFloat128 {
1176            sign: DyadicSign::Pos,
1177            exponent: -136,
1178            mantissa: 0x842213b7_47fec7bb_3ff51287_882500ed_u128,
1179        },
1180        DyadicFloat128 {
1181            sign: DyadicSign::Pos,
1182            exponent: -136,
1183            mantissa: 0x88242cd0_7084ed02_cc394b3e_f0ebeb12_u128,
1184        },
1185        DyadicFloat128 {
1186            sign: DyadicSign::Pos,
1187            exponent: -136,
1188            mantissa: 0x8c2655fa_a6a1323f_1ab9679b_55f78a6b_u128,
1189        },
1190        DyadicFloat128 {
1191            sign: DyadicSign::Pos,
1192            exponent: -136,
1193            mantissa: 0x90288f36_6b237771_7025697d_10af0436_u128,
1194        },
1195        DyadicFloat128 {
1196            sign: DyadicSign::Pos,
1197            exponent: -136,
1198            mantissa: 0x942ad884_3ee1a9cd_17e4b7ac_6c600cb4_u128,
1199        },
1200        DyadicFloat128 {
1201            sign: DyadicSign::Pos,
1202            exponent: -136,
1203            mantissa: 0x982d31e4_a2b7c418_7013925a_9a8da7f3_u128,
1204        },
1205        DyadicFloat128 {
1206            sign: DyadicSign::Pos,
1207            exponent: -136,
1208            mantissa: 0x9c2f9b58_1787cf0d_fd1a09c8_48e3950e_u128,
1209        },
1210        DyadicFloat128 {
1211            sign: DyadicSign::Pos,
1212            exponent: -136,
1213            mantissa: 0xa03214df_1e39e1bd_84dd2de6_e3d90a37_u128,
1214        },
1215        DyadicFloat128 {
1216            sign: DyadicSign::Pos,
1217            exponent: -136,
1218            mantissa: 0xa4349e7a_37bc21ed_318b2ddd_9d0a33b4_u128,
1219        },
1220        DyadicFloat128 {
1221            sign: DyadicSign::Pos,
1222            exponent: -136,
1223            mantissa: 0xa8373829_e502c47a_bc031e6f_5acfd4a8_u128,
1224        },
1225        DyadicFloat128 {
1226            sign: DyadicSign::Pos,
1227            exponent: -136,
1228            mantissa: 0xac39e1ee_a7080dbc_9dd91e52_c79fd070_u128,
1229        },
1230        DyadicFloat128 {
1231            sign: DyadicSign::Pos,
1232            exponent: -136,
1233            mantissa: 0xb03c9bc8_fecc51e3_4af78fa1_cb48a12d_u128,
1234        },
1235        DyadicFloat128 {
1236            sign: DyadicSign::Pos,
1237            exponent: -136,
1238            mantissa: 0xb43f65b9_6d55f55a_72de1d99_ce252efd_u128,
1239        },
1240        DyadicFloat128 {
1241            sign: DyadicSign::Pos,
1242            exponent: -136,
1243            mantissa: 0xb74187bc_8ccffa84_efb1dbe7_21934877_u128,
1244        },
1245        DyadicFloat128 {
1246            sign: DyadicSign::Pos,
1247            exponent: -136,
1248            mantissa: 0xbb446dd4_d9bca499_b4b080f2_30c87598_u128,
1249        },
1250        DyadicFloat128 {
1251            sign: DyadicSign::Pos,
1252            exponent: -136,
1253            mantissa: 0xbf476404_a05f88f2_da6a7cd1_9c7fa4f2_u128,
1254        },
1255        DyadicFloat128 {
1256            sign: DyadicSign::Pos,
1257            exponent: -136,
1258            mantissa: 0xc34a6a4c_61d5cc3c_df00e378_3b50ecfb_u128,
1259        },
1260        DyadicFloat128 {
1261            sign: DyadicSign::Pos,
1262            exponent: -136,
1263            mantissa: 0xc74d80ac_9f42a52d_da2e5e02_ab4e183c_u128,
1264        },
1265        DyadicFloat128 {
1266            sign: DyadicSign::Pos,
1267            exponent: -136,
1268            mantissa: 0xcb50a725_d9cf5ce6_ea5f6ee9_9d30c626_u128,
1269        },
1270        DyadicFloat128 {
1271            sign: DyadicSign::Pos,
1272            exponent: -136,
1273            mantissa: 0xcf53ddb8_92ab4f55_a96d5956_531d7d8b_u128,
1274        },
1275        DyadicFloat128 {
1276            sign: DyadicSign::Pos,
1277            exponent: -136,
1278            mantissa: 0xd3572465_4b0beb95_a8fc636e_b36afa75_u128,
1279        },
1280        DyadicFloat128 {
1281            sign: DyadicSign::Pos,
1282            exponent: -136,
1283            mantissa: 0xd75a7b2c_842cb451_f67e2b82_7bfc4421_u128,
1284        },
1285        DyadicFloat128 {
1286            sign: DyadicSign::Pos,
1287            exponent: -136,
1288            mantissa: 0xdb5de20e_bf4f4026_a6d8c817_516303e6_u128,
1289        },
1290        DyadicFloat128 {
1291            sign: DyadicSign::Pos,
1292            exponent: -136,
1293            mantissa: 0xdf61590c_7dbb3a02_69b36ae5_962e85f4_u128,
1294        },
1295        DyadicFloat128 {
1296            sign: DyadicSign::Pos,
1297            exponent: -136,
1298            mantissa: 0xe364e026_40be6188_24693eec_2a831cc3_u128,
1299        },
1300        DyadicFloat128 {
1301            sign: DyadicSign::Pos,
1302            exponent: -136,
1303            mantissa: 0xe768775c_89ac8b70_94a339d5_6a55ab4a_u128,
1304        },
1305        DyadicFloat128 {
1306            sign: DyadicSign::Pos,
1307            exponent: -136,
1308            mantissa: 0xeb6c1eaf_d9dfa1eb_fa9998fb_f9703bf4_u128,
1309        },
1310        DyadicFloat128 {
1311            sign: DyadicSign::Pos,
1312            exponent: -136,
1313            mantissa: 0xef6fd620_b2b7a503_cafdc272_27b71eaa_u128,
1314        },
1315        DyadicFloat128 {
1316            sign: DyadicSign::Pos,
1317            exponent: -136,
1318            mantissa: 0xf3739daf_959aaafc_688d4282_f6026aa3_u128,
1319        },
1320        DyadicFloat128 {
1321            sign: DyadicSign::Pos,
1322            exponent: -136,
1323            mantissa: 0xf777755d_03f4e0b6_e54e9e38_04464cdd_u128,
1324        },
1325        DyadicFloat128 {
1326            sign: DyadicSign::Pos,
1327            exponent: -136,
1328            mantissa: 0xfb7b5d29_7f388a12_cb78b383_f4b59dce_u128,
1329        },
1330        DyadicFloat128 {
1331            sign: DyadicSign::Pos,
1332            exponent: -136,
1333            mantissa: 0xff7f5515_88de024f_ee055fc5_15062c04_u128,
1334        },
1335        DyadicFloat128 {
1336            sign: DyadicSign::Pos,
1337            exponent: -135,
1338            mantissa: 0x81c1ae90_d131de38_207812b4_3382acdd_u128,
1339        },
1340        DyadicFloat128 {
1341            sign: DyadicSign::Pos,
1342            exponent: -135,
1343            mantissa: 0x83c3baa7_26a721cc_dc90c4c4_b61f3a87_u128,
1344        },
1345        DyadicFloat128 {
1346            sign: DyadicSign::Pos,
1347            exponent: -135,
1348            mantissa: 0x85c5cece_05941dbc_1a03f13f_b2c978b1_u128,
1349        },
1350        DyadicFloat128 {
1351            sign: DyadicSign::Pos,
1352            exponent: -135,
1353            mantissa: 0x87c7eb05_aec1304f_b36f282e_83a7dc36_u128,
1354        },
1355        DyadicFloat128 {
1356            sign: DyadicSign::Pos,
1357            exponent: -135,
1358            mantissa: 0x89ca0f4e_62f9c476_6ad14c3d_fa414391_u128,
1359        },
1360        DyadicFloat128 {
1361            sign: DyadicSign::Pos,
1362            exponent: -135,
1363            mantissa: 0x8bcc3ba8_630c51f4_e8dd4ea0_d48b88e5_u128,
1364        },
1365        DyadicFloat128 {
1366            sign: DyadicSign::Pos,
1367            exponent: -135,
1368            mantissa: 0x8dce7013_efca5d96_c02515af_e8caeb90_u128,
1369        },
1370        DyadicFloat128 {
1371            sign: DyadicSign::Pos,
1372            exponent: -135,
1373            mantissa: 0x8fd0ac91_4a08795f_741ceaf3_349f3cf1_u128,
1374        },
1375        DyadicFloat128 {
1376            sign: DyadicSign::Pos,
1377            exponent: -135,
1378            mantissa: 0x91d2f120_b29e44bb_83f7cd49_29d2c28c_u128,
1379        },
1380        DyadicFloat128 {
1381            sign: DyadicSign::Pos,
1382            exponent: -135,
1383            mantissa: 0x93d53dc2_6a666cb1_795d03eb_c2fd03fa_u128,
1384        },
1385        DyadicFloat128 {
1386            sign: DyadicSign::Pos,
1387            exponent: -135,
1388            mantissa: 0x95d79276_b23eac12_faf74f1d_1ad16acc_u128,
1389        },
1390        DyadicFloat128 {
1391            sign: DyadicSign::Pos,
1392            exponent: -135,
1393            mantissa: 0x97d9ef3d_cb07cbad_e2de134f_72fee429_u128,
1394        },
1395        DyadicFloat128 {
1396            sign: DyadicSign::Pos,
1397            exponent: -135,
1398            mantissa: 0x99dc5417_f5a5a27d_58d8dba6_cadac5d5_u128,
1399        },
1400        DyadicFloat128 {
1401            sign: DyadicSign::Pos,
1402            exponent: -135,
1403            mantissa: 0x9bdec105_72ff15da_f07d90bc_5aae40a4_u128,
1404        },
1405        DyadicFloat128 {
1406            sign: DyadicSign::Pos,
1407            exponent: -135,
1408            mantissa: 0x9d609804_6659ea6b_1deaf79d_9fc40374_u128,
1409        },
1410        DyadicFloat128 {
1411            sign: DyadicSign::Pos,
1412            exponent: -135,
1413            mantissa: 0x9f631314_50b07988_7ba63e67_69b81999_u128,
1414        },
1415        DyadicFloat128 {
1416            sign: DyadicSign::Pos,
1417            exponent: -135,
1418            mantissa: 0xa1659638_404d5f92_59ebfc93_35094e59_u128,
1419        },
1420        DyadicFloat128 {
1421            sign: DyadicSign::Pos,
1422            exponent: -135,
1423            mantissa: 0xa3682170_7622f97a_16aae012_b5026f71_u128,
1424        },
1425        DyadicFloat128 {
1426            sign: DyadicSign::Pos,
1427            exponent: -135,
1428            mantissa: 0xa56ab4bd_3326b378_ff5d4f2c_0e4b9cae_u128,
1429        },
1430        DyadicFloat128 {
1431            sign: DyadicSign::Pos,
1432            exponent: -135,
1433            mantissa: 0xa76d501e_b8510941_855838b5_119dcb28_u128,
1434        },
1435        DyadicFloat128 {
1436            sign: DyadicSign::Pos,
1437            exponent: -135,
1438            mantissa: 0xa96ff395_469d8630_75f70cbb_e9cf1603_u128,
1439        },
1440        DyadicFloat128 {
1441            sign: DyadicSign::Pos,
1442            exponent: -135,
1443            mantissa: 0xab729f21_1f0ac57e_36a53ad4_d5541cc9_u128,
1444        },
1445        DyadicFloat128 {
1446            sign: DyadicSign::Pos,
1447            exponent: -135,
1448            mantissa: 0xad7552c2_829a7270_04c5934e_c32d20d9_u128,
1449        },
1450        DyadicFloat128 {
1451            sign: DyadicSign::Pos,
1452            exponent: -135,
1453            mantissa: 0xaf780e79_b2514889_3977e89a_ec59bfa2_u128,
1454        },
1455        DyadicFloat128 {
1456            sign: DyadicSign::Pos,
1457            exponent: -135,
1458            mantissa: 0xb17ad246_ef3713bc_913d4e3d_c55c3e6e_u128,
1459        },
1460        DyadicFloat128 {
1461            sign: DyadicSign::Pos,
1462            exponent: -135,
1463            mantissa: 0xb37d9e2a_7a56b09d_777b52a9_e70d8bcc_u128,
1464        },
1465        DyadicFloat128 {
1466            sign: DyadicSign::Pos,
1467            exponent: -135,
1468            mantissa: 0xb5807224_94be0c91_55de916f_d30591de_u128,
1469        },
1470        DyadicFloat128 {
1471            sign: DyadicSign::Pos,
1472            exponent: -135,
1473            mantissa: 0xb7834e35_7f7e2600_e79cfb37_be2861e4_u128,
1474        },
1475        DyadicFloat128 {
1476            sign: DyadicSign::Pos,
1477            exponent: -135,
1478            mantissa: 0xb986325d_7bab0c89_90983104_d3805389_u128,
1479        },
1480        DyadicFloat128 {
1481            sign: DyadicSign::Pos,
1482            exponent: -135,
1483            mantissa: 0xbb891e9c_ca5be12e_b860504b_aa6f984d_u128,
1484        },
1485        DyadicFloat128 {
1486            sign: DyadicSign::Pos,
1487            exponent: -135,
1488            mantissa: 0xbd8c12f3_acaad68b_29178d6f_f5712b96_u128,
1489        },
1490        DyadicFloat128 {
1491            sign: DyadicSign::Pos,
1492            exponent: -135,
1493            mantissa: 0xbf8f0f62_63b53102_7236fa47_ba19a198_u128,
1494        },
1495        DyadicFloat128 {
1496            sign: DyadicSign::Pos,
1497            exponent: -135,
1498            mantissa: 0xc19213e9_309b46f2_4f34d64c_afcc50e3_u128,
1499        },
1500        DyadicFloat128 {
1501            sign: DyadicSign::Pos,
1502            exponent: -135,
1503            mantissa: 0xc3952088_548080e4_120cc62e_b0a8db3e_u128,
1504        },
1505        DyadicFloat128 {
1506            sign: DyadicSign::Pos,
1507            exponent: -135,
1508            mantissa: 0xc5983540_108b59be_11aa5084_779060e3_u128,
1509        },
1510        DyadicFloat128 {
1511            sign: DyadicSign::Pos,
1512            exponent: -135,
1513            mantissa: 0xc79b5210_a5e55ef5_1c35fd62_36c8dcf1_u128,
1514        },
1515        DyadicFloat128 {
1516            sign: DyadicSign::Pos,
1517            exponent: -135,
1518            mantissa: 0xc99e76fa_55bb30bd_ed4576a7_e4b878fe_u128,
1519        },
1520        DyadicFloat128 {
1521            sign: DyadicSign::Pos,
1522            exponent: -135,
1523            mantissa: 0xcb20d7fa_3a336081_6caf4bb8_fd2c1131_u128,
1524        },
1525        DyadicFloat128 {
1526            sign: DyadicSign::Pos,
1527            exponent: -135,
1528            mantissa: 0xcd240b10_753e78de_3f24a6cb_b09c654f_u128,
1529        },
1530        DyadicFloat128 {
1531            sign: DyadicSign::Pos,
1532            exponent: -135,
1533            mantissa: 0xcf274640_7e0ff09f_78bc003b_b81e40f3_u128,
1534        },
1535        DyadicFloat128 {
1536            sign: DyadicSign::Pos,
1537            exponent: -135,
1538            mantissa: 0xd12a898a_95dff002_56647301_edfd8e8b_u128,
1539        },
1540        DyadicFloat128 {
1541            sign: DyadicSign::Pos,
1542            exponent: -135,
1543            mantissa: 0xd32dd4ee_fde9b2ef_28fe1c4d_04ca4ed9_u128,
1544        },
1545        DyadicFloat128 {
1546            sign: DyadicSign::Pos,
1547            exponent: -135,
1548            mantissa: 0xd531286d_f76b892a_e1ea9ea6_cbf57379_u128,
1549        },
1550        DyadicFloat128 {
1551            sign: DyadicSign::Pos,
1552            exponent: -135,
1553            mantissa: 0xd7348407_c3a6d688_a3832028_141a5cc2_u128,
1554        },
1555        DyadicFloat128 {
1556            sign: DyadicSign::Pos,
1557            exponent: -135,
1558            mantissa: 0xd937e7bc_a3e0131b_557421dd_379d3ead_u128,
1559        },
1560        DyadicFloat128 {
1561            sign: DyadicSign::Pos,
1562            exponent: -135,
1563            mantissa: 0xdb3b538c_d95ecb67_3cff8e87_a99bcaf0_u128,
1564        },
1565        DyadicFloat128 {
1566            sign: DyadicSign::Pos,
1567            exponent: -135,
1568            mantissa: 0xdd3ec778_a56da093_99255ef3_4bd0801f_u128,
1569        },
1570        DyadicFloat128 {
1571            sign: DyadicSign::Pos,
1572            exponent: -135,
1573            mantissa: 0xdf424380_495a489c_42b33220_abfa15cd_u128,
1574        },
1575        DyadicFloat128 {
1576            sign: DyadicSign::Pos,
1577            exponent: -135,
1578            mantissa: 0xe145c7a4_06758e83_503b378f_aa97dbc0_u128,
1579        },
1580        DyadicFloat128 {
1581            sign: DyadicSign::Pos,
1582            exponent: -135,
1583            mantissa: 0xe34953e4_1e135282_bdf2ca00_6f59b544_u128,
1584        },
1585        DyadicFloat128 {
1586            sign: DyadicSign::Pos,
1587            exponent: -135,
1588            mantissa: 0xe54ce840_d18a8a3e_1979190a_f37ed16f_u128,
1589        },
1590        DyadicFloat128 {
1591            sign: DyadicSign::Pos,
1592            exponent: -135,
1593            mantissa: 0xe75084ba_623540f4_31863ff7_cf898c9c_u128,
1594        },
1595        DyadicFloat128 {
1596            sign: DyadicSign::Pos,
1597            exponent: -135,
1598            mantissa: 0xe9542951_117097b0_c983284f_60293647_u128,
1599        },
1600        DyadicFloat128 {
1601            sign: DyadicSign::Pos,
1602            exponent: -135,
1603            mantissa: 0xeb57d605_209cc57e_510a969e_be03f804_u128,
1604        },
1605        DyadicFloat128 {
1606            sign: DyadicSign::Pos,
1607            exponent: -135,
1608            mantissa: 0xed5b8ad6_d11d1797_9f53bffc_6d23fe30_u128,
1609        },
1610        DyadicFloat128 {
1611            sign: DyadicSign::Pos,
1612            exponent: -135,
1613            mantissa: 0xef5f47c6_6457f199_b286c6e1_13337886_u128,
1614        },
1615        DyadicFloat128 {
1616            sign: DyadicSign::Pos,
1617            exponent: -135,
1618            mantissa: 0xf0e21acd_d6e7d412_b6ed8085_2ae6fd63_u128,
1619        },
1620        DyadicFloat128 {
1621            sign: DyadicSign::Pos,
1622            exponent: -135,
1623            mantissa: 0xf2e5e5f2_5450c5a2_df437fb0_f616082d_u128,
1624        },
1625        DyadicFloat128 {
1626            sign: DyadicSign::Pos,
1627            exponent: -135,
1628            mantissa: 0xf4e9b935_685dbe0b_f237cff1_acb306b3_u128,
1629        },
1630        DyadicFloat128 {
1631            sign: DyadicSign::Pos,
1632            exponent: -135,
1633            mantissa: 0xf6ed9497_5480b696_52dbfafb_4121a092_u128,
1634        },
1635        DyadicFloat128 {
1636            sign: DyadicSign::Pos,
1637            exponent: -135,
1638            mantissa: 0xf8f17818_5a2ebfd9_0d816482_49cece4c_u128,
1639        },
1640        DyadicFloat128 {
1641            sign: DyadicSign::Pos,
1642            exponent: -135,
1643            mantissa: 0xfaf563b8_bae001eb_ad95e6b0_b96903d3_u128,
1644        },
1645        DyadicFloat128 {
1646            sign: DyadicSign::Pos,
1647            exponent: -135,
1648            mantissa: 0xfcf95778_b80fbc98_176cd568_87ac7fe9_u128,
1649        },
1650        DyadicFloat128 {
1651            sign: DyadicSign::Pos,
1652            exponent: -135,
1653            mantissa: 0xfefd5358_933c478c_65f4c739_7f1f478d_u128,
1654        },
1655    ];
1656
1657pub(crate) static LOG_STEP_3: [DyadicFloat128; 161] =
1658    // -log(r) for the third step, generated by SageMath with:
1659    //
1660    // for i in range(-80, 81):
1661    //   r = 2^-21 * round( 2^21 / (1 + i*2^(-21)) );
1662    //   s, m, e = RealField(128)(r).log().sign_mantissa_exponent();
1663    //   print("{RationalSign::Pos," if (s == -1) else "{RationalSign::Neg,", e, ",
1664    //         format_hex(m), "},");
1665    /* .step_3 = */
1666    [
1667        DyadicFloat128 {
1668            sign: DyadicSign::Neg,
1669            exponent: -142,
1670            mantissa: 0x9fff3801_4d52e45a_374b2940_76d669c3_u128,
1671        },
1672        DyadicFloat128 {
1673            sign: DyadicSign::Neg,
1674            exponent: -142,
1675            mantissa: 0x9dff3cf9_40fad85a_7f6f05dc_dbeb776e_u128,
1676        },
1677        DyadicFloat128 {
1678            sign: DyadicSign::Neg,
1679            exponent: -142,
1680            mantissa: 0x9bff41e1_34f1cb36_3d55e21d_41bbadf9_u128,
1681        },
1682        DyadicFloat128 {
1683            sign: DyadicSign::Neg,
1684            exponent: -142,
1685            mantissa: 0x99ff46b9_2936bcf4_ccdba2d5_4aadbc5c_u128,
1686        },
1687        DyadicFloat128 {
1688            sign: DyadicSign::Neg,
1689            exponent: -142,
1690            mantissa: 0x97ff4b81_1dc8ad9d_71dd16d3_073f79b2_u128,
1691        },
1692        DyadicFloat128 {
1693            sign: DyadicSign::Neg,
1694            exponent: -142,
1695            mantissa: 0x95ff5039_12a69d37_5837f3df_1a58dd48_u128,
1696        },
1697        DyadicFloat128 {
1698            sign: DyadicSign::Neg,
1699            exponent: -142,
1700            mantissa: 0x93ff54e1_07cf8bc9_93cad3bc_dd26fd6d_u128,
1701        },
1702        DyadicFloat128 {
1703            sign: DyadicSign::Neg,
1704            exponent: -142,
1705            mantissa: 0x91ff5978_fd42795b_2075312a_827f14fa_u128,
1706        },
1707        DyadicFloat128 {
1708            sign: DyadicSign::Neg,
1709            exponent: -142,
1710            mantissa: 0x8fff5e00_f2fe65f2_e21764e1_39c98f60_u128,
1711        },
1712        DyadicFloat128 {
1713            sign: DyadicSign::Neg,
1714            exponent: -142,
1715            mantissa: 0x8dff6278_e9025197_a492a295_51751b4c_u128,
1716        },
1717        DyadicFloat128 {
1718            sign: DyadicSign::Neg,
1719            exponent: -142,
1720            mantissa: 0x8bff66e0_df4d3c50_1bc8f5f6_58f1c3a2_u128,
1721        },
1722        DyadicFloat128 {
1723            sign: DyadicSign::Neg,
1724            exponent: -142,
1725            mantissa: 0x89ff6b38_d5de2622_e39d3faf_42340ed7_u128,
1726        },
1727        DyadicFloat128 {
1728            sign: DyadicSign::Neg,
1729            exponent: -142,
1730            mantissa: 0x87ff6f80_ccb40f16_7ff33266_82c02485_u128,
1731        },
1732        DyadicFloat128 {
1733            sign: DyadicSign::Neg,
1734            exponent: -142,
1735            mantissa: 0x85ff73b8_c3cdf731_5caf4fbe_343cf928_u128,
1736        },
1737        DyadicFloat128 {
1738            sign: DyadicSign::Neg,
1739            exponent: -142,
1740            mantissa: 0x83ff77e0_bb2ade79_cdb6e554_348f7fe8_u128,
1741        },
1742        DyadicFloat128 {
1743            sign: DyadicSign::Neg,
1744            exponent: -142,
1745            mantissa: 0x81ff7bf8_b2c9c4f6_0ef009c2_457de25d_u128,
1746        },
1747        DyadicFloat128 {
1748            sign: DyadicSign::Neg,
1749            exponent: -143,
1750            mantissa: 0xffff0001_55535558_8883333c_57b57c74_u128,
1751        },
1752        DyadicFloat128 {
1753            sign: DyadicSign::Neg,
1754            exponent: -143,
1755            mantissa: 0xfbff07f1_45931f44_f32668f3_9c70d183_u128,
1756        },
1757        DyadicFloat128 {
1758            sign: DyadicSign::Neg,
1759            exponent: -143,
1760            mantissa: 0xf7ff0fc1_3650e7bd_459a73c6_a6486fe3_u128,
1761        },
1762        DyadicFloat128 {
1763            sign: DyadicSign::Neg,
1764            exponent: -143,
1765            mantissa: 0xf3ff1771_278aaecd_37b18cca_7dd3a29f_u128,
1766        },
1767        DyadicFloat128 {
1768            sign: DyadicSign::Neg,
1769            exponent: -143,
1770            mantissa: 0xefff1f01_193e7480_513f610d_21bcfc78_u128,
1771        },
1772        DyadicFloat128 {
1773            sign: DyadicSign::Neg,
1774            exponent: -143,
1775            mantissa: 0xebff2671_0b6a38e1_ea190b95_c0690b7b_u128,
1776        },
1777        DyadicFloat128 {
1778            sign: DyadicSign::Neg,
1779            exponent: -143,
1780            mantissa: 0xe7ff2dc0_fe0bfbfd_2a150f64_f0ad1743_u128,
1781        },
1782        DyadicFloat128 {
1783            sign: DyadicSign::Neg,
1784            exponent: -143,
1785            mantissa: 0xe3ff34f0_f121bddd_090b5174_e995e9d1_u128,
1786        },
1787        DyadicFloat128 {
1788            sign: DyadicSign::Neg,
1789            exponent: -143,
1790            mantissa: 0xdfff3c00_e4a97e8c_4ed512b9_b93ea2bf_u128,
1791        },
1792        DyadicFloat128 {
1793            sign: DyadicSign::Neg,
1794            exponent: -143,
1795            mantissa: 0xdbff42f0_d8a13e15_934cea21_7ab794a2_u128,
1796        },
1797        DyadicFloat128 {
1798            sign: DyadicSign::Neg,
1799            exponent: -143,
1800            mantissa: 0xd7ff49c0_cd06fc83_3e4ebe94_8afd2c76_u128,
1801        },
1802        DyadicFloat128 {
1803            sign: DyadicSign::Neg,
1804            exponent: -143,
1805            mantissa: 0xd3ff5070_c1d8b9df_87b7c0f5_bcfee2e1_u128,
1806        },
1807        DyadicFloat128 {
1808            sign: DyadicSign::Neg,
1809            exponent: -143,
1810            mantissa: 0xcfff5700_b7147634_77666622_8cb6371b_u128,
1811        },
1812        DyadicFloat128 {
1813            sign: DyadicSign::Neg,
1814            exponent: -143,
1815            mantissa: 0xcbff5d70_acb8318b_e53a60f3_514db358_u128,
1816        },
1817        DyadicFloat128 {
1818            sign: DyadicSign::Neg,
1819            exponent: -143,
1820            mantissa: 0xc7ff63c0_a2c1ebef_79149c3b_6e57fa86_u128,
1821        },
1822        DyadicFloat128 {
1823            sign: DyadicSign::Neg,
1824            exponent: -143,
1825            mantissa: 0xc3ff69f0_992fa568_aad734c9_8416df2a_u128,
1826        },
1827        DyadicFloat128 {
1828            sign: DyadicSign::Neg,
1829            exponent: -143,
1830            mantissa: 0xbfff7000_8fff5e00_c2657367_9ed28334_u128,
1831        },
1832        DyadicFloat128 {
1833            sign: DyadicSign::Neg,
1834            exponent: -143,
1835            mantissa: 0xbbff75f0_872f15c0_d7a3c6db_6540809f_u128,
1836        },
1837        DyadicFloat128 {
1838            sign: DyadicSign::Neg,
1839            exponent: -143,
1840            mantissa: 0xb7ff7bc0_7ebcccb1_d277bde6_45fb1aad_u128,
1841        },
1842        DyadicFloat128 {
1843            sign: DyadicSign::Neg,
1844            exponent: -143,
1845            mantissa: 0xb3ff8170_76a682dc_6ac80145_a4087793_u128,
1846        },
1847        DyadicFloat128 {
1848            sign: DyadicSign::Neg,
1849            exponent: -143,
1850            mantissa: 0xafff8700_6eea3849_287c4db3_0271e265_u128,
1851        },
1852        DyadicFloat128 {
1853            sign: DyadicSign::Neg,
1854            exponent: -143,
1855            mantissa: 0xabff8c70_6785ed00_637d6de4_2eeb151e_u128,
1856        },
1857        DyadicFloat128 {
1858            sign: DyadicSign::Neg,
1859            exponent: -143,
1860            mantissa: 0xa7ff91c0_6077a10a_43b5348b_6b898a8c_u128,
1861        },
1862        DyadicFloat128 {
1863            sign: DyadicSign::Neg,
1864            exponent: -143,
1865            mantissa: 0xa3ff96f0_59bd546e_c10e7657_978bd7f6_u128,
1866        },
1867        DyadicFloat128 {
1868            sign: DyadicSign::Neg,
1869            exponent: -143,
1870            mantissa: 0x9fff9c00_53550735_a37503f4_57310e59_u128,
1871        },
1872        DyadicFloat128 {
1873            sign: DyadicSign::Neg,
1874            exponent: -143,
1875            mantissa: 0x9bffa0f0_4d3cb966_82d5a40a_3aa022ff_u128,
1876        },
1877        DyadicFloat128 {
1878            sign: DyadicSign::Neg,
1879            exponent: -143,
1880            mantissa: 0x97ffa5c0_47726b08_c71e0d3e_e3df5f4d_u128,
1881        },
1882        DyadicFloat128 {
1883            sign: DyadicSign::Neg,
1884            exponent: -143,
1885            mantissa: 0x93ffaa70_41f41c23_a83ce035_2bdbd79b_u128,
1886        },
1887        DyadicFloat128 {
1888            sign: DyadicSign::Neg,
1889            exponent: -143,
1890            mantissa: 0x8fffaf00_3cbfccbe_2e21a18d_4680e8e4_u128,
1891        },
1892        DyadicFloat128 {
1893            sign: DyadicSign::Neg,
1894            exponent: -143,
1895            mantissa: 0x8bffb370_37d37cdf_30bcb3e4_e5dfbd28_u128,
1896        },
1897        DyadicFloat128 {
1898            sign: DyadicSign::Neg,
1899            exponent: -143,
1900            mantissa: 0x87ffb7c0_332d2c8d_57ff51d7_5c66d64a_u128,
1901        },
1902        DyadicFloat128 {
1903            sign: DyadicSign::Neg,
1904            exponent: -143,
1905            mantissa: 0x83ffbbf0_2ecadbcf_1bdb87fd_be299f43_u128,
1906        },
1907        DyadicFloat128 {
1908            sign: DyadicSign::Neg,
1909            exponent: -144,
1910            mantissa: 0xffff8000_55551555_88885dde_02700703_u128,
1911        },
1912        DyadicFloat128 {
1913            sign: DyadicSign::Neg,
1914            exponent: -144,
1915            mantissa: 0xf7ff87e0_4d94724c_d259ca80_3a0c1870_u128,
1916        },
1917        DyadicFloat128 {
1918            sign: DyadicSign::Neg,
1919            exponent: -144,
1920            mantissa: 0xefff8f80_464fce8f_e5141308_51c7070a_u128,
1921        },
1922        DyadicFloat128 {
1923            sign: DyadicSign::Neg,
1924            exponent: -144,
1925            mantissa: 0xe7ff96e0_3f832a2a_30a16898_f3073a64_u128,
1926        },
1927        DyadicFloat128 {
1928            sign: DyadicSign::Neg,
1929            exponent: -144,
1930            mantissa: 0xdfff9e00_392a8526_c4ed6451_7b2949ce_u128,
1931        },
1932        DyadicFloat128 {
1933            sign: DyadicSign::Neg,
1934            exponent: -144,
1935            mantissa: 0xd7ffa4e0_3341df90_51e4fb4e_32cf6350_u128,
1936        },
1937        DyadicFloat128 {
1938            sign: DyadicSign::Neg,
1939            exponent: -144,
1940            mantissa: 0xcfffab80_2dc53971_277672a8_8350bcce_u128,
1941        },
1942        DyadicFloat128 {
1943            sign: DyadicSign::Neg,
1944            exponent: -144,
1945            mantissa: 0xc7ffb1e0_28b092d3_35915377_2a490f06_u128,
1946        },
1947        DyadicFloat128 {
1948            sign: DyadicSign::Neg,
1949            exponent: -144,
1950            mantissa: 0xbfffb800_23ffebc0_0c265ece_6b481a0e_u128,
1951        },
1952        DyadicFloat128 {
1953            sign: DyadicSign::Neg,
1954            exponent: -144,
1955            mantissa: 0xb7ffbde0_1faf4440_db2781c0_3fa132f6_u128,
1956        },
1957        DyadicFloat128 {
1958            sign: DyadicSign::Neg,
1959            exponent: -144,
1960            mantissa: 0xafffc380_1bba9c5e_7287c95c_845ada33_u128,
1961        },
1962        DyadicFloat128 {
1963            sign: DyadicSign::Neg,
1964            exponent: -144,
1965            mantissa: 0xa7ffc8e0_181df421_423b56b1_263e5a77_u128,
1966        },
1967        DyadicFloat128 {
1968            sign: DyadicSign::Neg,
1969            exponent: -144,
1970            mantissa: 0x9fffce00_14d54b91_5a3752ca_4c076fa3_u128,
1971        },
1972        DyadicFloat128 {
1973            sign: DyadicSign::Neg,
1974            exponent: -144,
1975            mantissa: 0x97ffd2e0_11dca2b6_6a71e2b2_7eb3f573_u128,
1976        },
1977        DyadicFloat128 {
1978            sign: DyadicSign::Neg,
1979            exponent: -144,
1980            mantissa: 0x8fffd780_0f2ff997_c2e21b72_cff39d8f_u128,
1981        },
1982        DyadicFloat128 {
1983            sign: DyadicSign::Neg,
1984            exponent: -144,
1985            mantissa: 0x87ffdbe0_0ccb503c_537ff612_feb7ac9e_u128,
1986        },
1987        DyadicFloat128 {
1988            sign: DyadicSign::Neg,
1989            exponent: -145,
1990            mantissa: 0xffffc000_15554d55_58888733_33c57c18_u128,
1991        },
1992        DyadicFloat128 {
1993            sign: DyadicSign::Neg,
1994            exponent: -145,
1995            mantissa: 0xefffc7c0_1193f9d1_fa514218_42311c42_u128,
1996        },
1997        DyadicFloat128 {
1998            sign: DyadicSign::Neg,
1999            exponent: -145,
2000            mantissa: 0xdfffcf00_0e4aa5fa_2c4ed6de_475b942c_u128,
2001        },
2002        DyadicFloat128 {
2003            sign: DyadicSign::Neg,
2004            exponent: -145,
2005            mantissa: 0xcfffd5c0_0b7151d8_ce77678c_bb6fcb88_u128,
2006        },
2007        DyadicFloat128 {
2008            sign: DyadicSign::Neg,
2009            exponent: -145,
2010            mantissa: 0xbfffdc00_08fffd78_00c26629_a679ed3b_u128,
2011        },
2012        DyadicFloat128 {
2013            sign: DyadicSign::Neg,
2014            exponent: -145,
2015            mantissa: 0xafffe1c0_06eea8e1_23287cb9_d3072728_u128,
2016        },
2017        DyadicFloat128 {
2018            sign: DyadicSign::Neg,
2019            exponent: -145,
2020            mantissa: 0x9fffe700_0535541c_d5a37540_fd057315_u128,
2021        },
2022        DyadicFloat128 {
2023            sign: DyadicSign::Neg,
2024            exponent: -145,
2025            mantissa: 0x8fffebc0_03cbff32_f82e21c1_fce36810_u128,
2026        },
2027        DyadicFloat128 {
2028            sign: DyadicSign::Neg,
2029            exponent: -146,
2030            mantissa: 0xffffe000_05555455_5588887d_dde02702_u128,
2031        },
2032        DyadicFloat128 {
2033            sign: DyadicSign::Neg,
2034            exponent: -146,
2035            mantissa: 0xdfffe780_0392aa14_9ac4ed72_adf5b295_u128,
2036        },
2037        DyadicFloat128 {
2038            sign: DyadicSign::Neg,
2039            exponent: -146,
2040            mantissa: 0xbfffee00_023fffaf_000c2664_8066b482_u128,
2041        },
2042        DyadicFloat128 {
2043            sign: DyadicSign::Neg,
2044            exponent: -146,
2045            mantissa: 0x9ffff380_014d552e_455a3754_b292c077_u128,
2046        },
2047        DyadicFloat128 {
2048            sign: DyadicSign::Neg,
2049            exponent: -147,
2050            mantissa: 0xfffff000_01555535_55588888_33333c58_u128,
2051        },
2052        DyadicFloat128 {
2053            sign: DyadicSign::Neg,
2054            exponent: -147,
2055            mantissa: 0xbffff700_008ffff5_e000c266_5736679f_u128,
2056        },
2057        DyadicFloat128 {
2058            sign: DyadicSign::Neg,
2059            exponent: -148,
2060            mantissa: 0xfffff800_00555551_55558888_85ddde02_u128,
2061        },
2062        DyadicFloat128 {
2063            sign: DyadicSign::Neg,
2064            exponent: -149,
2065            mantissa: 0xfffffc00_00155554_d5555888_88733334_u128,
2066        },
2067        DyadicFloat128 {
2068            sign: DyadicSign::Pos,
2069            exponent: 0,
2070            mantissa: 0u128,
2071        },
2072        DyadicFloat128 {
2073            sign: DyadicSign::Pos,
2074            exponent: -148,
2075            mantissa: 0x80000200_000aaaaa_eaaaac44_444eeeef_u128,
2076        },
2077        DyadicFloat128 {
2078            sign: DyadicSign::Pos,
2079            exponent: -147,
2080            mantissa: 0x80000400_002aaaac_aaaac444_459999ac_u128,
2081        },
2082        DyadicFloat128 {
2083            sign: DyadicSign::Pos,
2084            exponent: -147,
2085            mantissa: 0xc0000900_0090000a_2000c266_7596679f_u128,
2086        },
2087        DyadicFloat128 {
2088            sign: DyadicSign::Pos,
2089            exponent: -146,
2090            mantissa: 0x80000800_00aaaaba_aaac4444_6eeef381_u128,
2091        },
2092        DyadicFloat128 {
2093            sign: DyadicSign::Pos,
2094            exponent: -146,
2095            mantissa: 0xa0000c80_014d557c_655a3755_f81815cc_u128,
2096        },
2097        DyadicFloat128 {
2098            sign: DyadicSign::Pos,
2099            exponent: -146,
2100            mantissa: 0xc0001200_02400051_000c2668_4c66b482_u128,
2101        },
2102        DyadicFloat128 {
2103            sign: DyadicSign::Pos,
2104            exponent: -146,
2105            mantissa: 0xe0001880_0392ab40_bac4ed7c_40fb07eb_u128,
2106        },
2107        DyadicFloat128 {
2108            sign: DyadicSign::Pos,
2109            exponent: -145,
2110            mantissa: 0x80001000_02aaab2a_aac44449_999abe2c_u128,
2111        },
2112        DyadicFloat128 {
2113            sign: DyadicSign::Pos,
2114            exponent: -145,
2115            mantissa: 0x90001440_03cc00cd_082e21d7_9cbb6812_u128,
2116        },
2117        DyadicFloat128 {
2118            sign: DyadicSign::Pos,
2119            exponent: -145,
2120            mantissa: 0xa0001900_0535568d_d5a37569_adb01dc3_u128,
2121        },
2122        DyadicFloat128 {
2123            sign: DyadicSign::Pos,
2124            exponent: -145,
2125            mantissa: 0xb0001e40_06eeac74_33287d01_e8c9d1d9_u128,
2126        },
2127        DyadicFloat128 {
2128            sign: DyadicSign::Pos,
2129            exponent: -145,
2130            mantissa: 0xc0002400_09000288_00c266a3_2679ed48_u128,
2131        },
2132        DyadicFloat128 {
2133            sign: DyadicSign::Pos,
2134            exponent: -145,
2135            mantissa: 0xd0002a40_0b7158d1_de776851_22b2764b_u128,
2136        },
2137        DyadicFloat128 {
2138            sign: DyadicSign::Pos,
2139            exponent: -145,
2140            mantissa: 0xe0003100_0e4aaf5b_2c4ed810_a8063f03_u128,
2141        },
2142        DyadicFloat128 {
2143            sign: DyadicSign::Pos,
2144            exponent: -145,
2145            mantissa: 0xf0003840_1194062e_0a5143e7_be891c8f_u128,
2146        },
2147        DyadicFloat128 {
2148            sign: DyadicSign::Pos,
2149            exponent: -144,
2150            mantissa: 0x80002000_0aaaaeaa_ac4444ee_ef3813a1_u128,
2151        },
2152        DyadicFloat128 {
2153            sign: DyadicSign::Pos,
2154            exponent: -144,
2155            mantissa: 0x88002420_0ccb5a6e_5b7ff7fe_1339025b_u128,
2156        },
2157        DyadicFloat128 {
2158            sign: DyadicSign::Pos,
2159            exponent: -144,
2160            mantissa: 0x90002880_0f300668_42e21e26_caf39e33_u128,
2161        },
2162        DyadicFloat128 {
2163            sign: DyadicSign::Pos,
2164            exponent: -144,
2165            mantissa: 0x98002d20_11dcb29e_f271e66f_a5554bc6_u128,
2166        },
2167        DyadicFloat128 {
2168            sign: DyadicSign::Pos,
2169            exponent: -144,
2170            mantissa: 0xa0003200_14d55f19_5a3757e0_615cc676_u128,
2171        },
2172        DyadicFloat128 {
2173            sign: DyadicSign::Pos,
2174            exponent: -144,
2175            mantissa: 0xa8003720_181e0bde_ca3b5d82_10ca5cab_u128,
2176        },
2177        DyadicFloat128 {
2178            sign: DyadicSign::Pos,
2179            exponent: -144,
2180            mantissa: 0xb0003c80_1bbab8f6_f287d25f_3cb032bb_u128,
2181        },
2182        DyadicFloat128 {
2183            sign: DyadicSign::Pos,
2184            exponent: -144,
2185            mantissa: 0xb8004220_1faf6669_e3278d84_0be28cdb_u128,
2186        },
2187        DyadicFloat128 {
2188            sign: DyadicSign::Pos,
2189            exponent: -144,
2190            mantissa: 0xc0004800_24001440_0c266dfe_6b482076_u128,
2191        },
2192        DyadicFloat128 {
2193            sign: DyadicSign::Pos,
2194            exponent: -144,
2195            mantissa: 0xc8004e20_28b0c282_3d9166de_380a6d3d_u128,
2196        },
2197        DyadicFloat128 {
2198            sign: DyadicSign::Pos,
2199            exponent: -144,
2200            mantissa: 0xd0005480_2dc57139_a7768b35_6ba61e4b_u128,
2201        },
2202        DyadicFloat128 {
2203            sign: DyadicSign::Pos,
2204            exponent: -144,
2205            mantissa: 0xd8005b20_3342206f_d9e51a18_49db73c1_u128,
2206        },
2207        DyadicFloat128 {
2208            sign: DyadicSign::Pos,
2209            exponent: -144,
2210            mantissa: 0xe0006200_392ad02e_c4ed8a9d_907eb521_u128,
2211        },
2212        DyadicFloat128 {
2213            sign: DyadicSign::Pos,
2214            exponent: -144,
2215            mantissa: 0xe8006920_3f838080_b8a197de_a928acd7_u128,
2216        },
2217        DyadicFloat128 {
2218            sign: DyadicSign::Pos,
2219            exponent: -144,
2220            mantissa: 0xf0007080_46503170_65144cf7_dcc72d3b_u128,
2221        },
2222        DyadicFloat128 {
2223            sign: DyadicSign::Pos,
2224            exponent: -144,
2225            mantissa: 0xf8007820_4d94e308_da5a1108_890d9f6a_u128,
2226        },
2227        DyadicFloat128 {
2228            sign: DyadicSign::Pos,
2229            exponent: -143,
2230            mantissa: 0x80004000_2aaacaaa_c4445999_abe2ce2c_u128,
2231        },
2232        DyadicFloat128 {
2233            sign: DyadicSign::Pos,
2234            exponent: -143,
2235            mantissa: 0x84004410_2ecb2431_1fdbbb4f_3bffc832_u128,
2236        },
2237        DyadicFloat128 {
2238            sign: DyadicSign::Pos,
2239            exponent: -143,
2240            mantissa: 0x88004840_332d7e1d_97ff8f39_ec91b4ee_u128,
2241        },
2242        DyadicFloat128 {
2243            sign: DyadicSign::Pos,
2244            exponent: -143,
2245            mantissa: 0x8c004c90_37d3d876_74bcfcf0_b3f0a95d_u128,
2246        },
2247        DyadicFloat128 {
2248            sign: DyadicSign::Pos,
2249            exponent: -143,
2250            mantissa: 0x90005100_3cc03342_2e21f80c_a6813aff_u128,
2251        },
2252        DyadicFloat128 {
2253            sign: DyadicSign::Pos,
2254            exponent: -143,
2255            mantissa: 0x94005590_41f48e87_6c3d4629_170ce87f_u128,
2256        },
2257        DyadicFloat128 {
2258            sign: DyadicSign::Pos,
2259            exponent: -143,
2260            mantissa: 0x98005a40_4772ea4d_071e84e3_b80a8881_u128,
2261        },
2262        DyadicFloat128 {
2263            sign: DyadicSign::Pos,
2264            exponent: -143,
2265            mantissa: 0x9c005f10_4d3d469a_06d62fdc_bdd6bec3_u128,
2266        },
2267        DyadicFloat128 {
2268            sign: DyadicSign::Pos,
2269            exponent: -143,
2270            mantissa: 0xa0006400_5355a375_a375a6b7_01dc77c0_u128,
2271        },
2272        DyadicFloat128 {
2273            sign: DyadicSign::Pos,
2274            exponent: -143,
2275            mantissa: 0xa4006910_59be00e7_450f3318_26ad6b05_u128,
2276        },
2277        DyadicFloat128 {
2278            sign: DyadicSign::Pos,
2279            exponent: -143,
2280            mantissa: 0xa8006e40_60785ef6_83b60ea8_bd0aa459_u128,
2281        },
2282        DyadicFloat128 {
2283            sign: DyadicSign::Pos,
2284            exponent: -143,
2285            mantissa: 0xac007390_6786bdab_277e6914_69dd13f5_u128,
2286        },
2287        DyadicFloat128 {
2288            sign: DyadicSign::Pos,
2289            exponent: -143,
2290            mantissa: 0xb0007900_6eeb1d0d_287d6e0a_0d1e25eb_u128,
2291        },
2292        DyadicFloat128 {
2293            sign: DyadicSign::Pos,
2294            exponent: -143,
2295            mantissa: 0xb4007e90_76a77d24_aec94b3b_e9b060f5_u128,
2296        },
2297        DyadicFloat128 {
2298            sign: DyadicSign::Pos,
2299            exponent: -143,
2300            mantissa: 0xb8008440_7ebdddfa_1279365f_ce280cce_u128,
2301        },
2302        DyadicFloat128 {
2303            sign: DyadicSign::Pos,
2304            exponent: -143,
2305            mantissa: 0xbc008a10_87303f95_dba5732f_3e83e04a_u128,
2306        },
2307        DyadicFloat128 {
2308            sign: DyadicSign::Pos,
2309            exponent: -143,
2310            mantissa: 0xc0009000_9000a200_c2675967_9ed5b754_u128,
2311        },
2312        DyadicFloat128 {
2313            sign: DyadicSign::Pos,
2314            exponent: -143,
2315            mantissa: 0xc4009610_99310543_aed95aca_5edb5109_u128,
2316        },
2317        DyadicFloat128 {
2318            sign: DyadicSign::Pos,
2319            exponent: -143,
2320            mantissa: 0xc8009c40_a2c36967_b917091d_2687160f_u128,
2321        },
2322        DyadicFloat128 {
2323            sign: DyadicSign::Pos,
2324            exponent: -143,
2325            mantissa: 0xcc00a290_acb9ce76_293d1c2a_0378e75d_u128,
2326        },
2327        DyadicFloat128 {
2328            sign: DyadicSign::Pos,
2329            exponent: -143,
2330            mantissa: 0xd000a900_b7163478_776977bf_9766f5a7_u128,
2331        },
2332        DyadicFloat128 {
2333            sign: DyadicSign::Pos,
2334            exponent: -143,
2335            mantissa: 0xd400af90_c1da9b78_4bbb31b1_4776a18b_u128,
2336        },
2337        DyadicFloat128 {
2338            sign: DyadicSign::Pos,
2339            exponent: -143,
2340            mantissa: 0xd800b640_cd09037f_7e5297d7_6c8564ba_u128,
2341        },
2342        DyadicFloat128 {
2343            sign: DyadicSign::Pos,
2344            exponent: -143,
2345            mantissa: 0xdc00bd10_d8a36c98_1751360f_8461c447_u128,
2346        },
2347        DyadicFloat128 {
2348            sign: DyadicSign::Pos,
2349            exponent: -143,
2350            mantissa: 0xe000c400_e4abd6cc_4ed9dc3c_63f44c41_u128,
2351        },
2352        DyadicFloat128 {
2353            sign: DyadicSign::Pos,
2354            exponent: -143,
2355            mantissa: 0xe400cb10_f1244226_8d10a446_6a5894d5_u128,
2356        },
2357        DyadicFloat128 {
2358            sign: DyadicSign::Pos,
2359            exponent: -143,
2360            mantissa: 0xe800d240_fe0eaeb1_6a1af81b_b4e6510e_u128,
2361        },
2362        DyadicFloat128 {
2363            sign: DyadicSign::Pos,
2364            exponent: -143,
2365            mantissa: 0xec00d991_0b6d1c77_ae1f97b0_542a677a_u128,
2366        },
2367        DyadicFloat128 {
2368            sign: DyadicSign::Pos,
2369            exponent: -143,
2370            mantissa: 0xf000e101_19418b84_51469efe_81d014cc_u128,
2371        },
2372        DyadicFloat128 {
2373            sign: DyadicSign::Pos,
2374            exponent: -143,
2375            mantissa: 0xf400e891_278dfbe2_7bb98c06_d77a18b4_u128,
2376        },
2377        DyadicFloat128 {
2378            sign: DyadicSign::Pos,
2379            exponent: -143,
2380            mantissa: 0xf800f041_36546d9d_85a344d0_868bed17_u128,
2381        },
2382        DyadicFloat128 {
2383            sign: DyadicSign::Pos,
2384            exponent: -143,
2385            mantissa: 0xfc00f811_4596e0c0_f7301d69_90e307cc_u128,
2386        },
2387        DyadicFloat128 {
2388            sign: DyadicSign::Pos,
2389            exponent: -142,
2390            mantissa: 0x80008000_aaabaaac_4446eef3_8140138f_u128,
2391        },
2392        DyadicFloat128 {
2393            sign: DyadicSign::Pos,
2394            exponent: -142,
2395            mantissa: 0x82008408_b2cbe5b8_10f5e432_96105497_u128,
2396        },
2397        DyadicFloat128 {
2398            sign: DyadicSign::Pos,
2399            exponent: -142,
2400            mantissa: 0x84008820_bb2d2189_edbd4f83_ef63f730_u128,
2401        },
2402        DyadicFloat128 {
2403            sign: DyadicSign::Pos,
2404            exponent: -142,
2405            mantissa: 0x86008c48_c3d05e27_feb654fd_541c638e_u128,
2406        },
2407        DyadicFloat128 {
2408            sign: DyadicSign::Pos,
2409            exponent: -142,
2410            mantissa: 0x88009080_ccb69b98_7ffadeb8_882f7674_u128,
2411        },
2412        DyadicFloat128 {
2413            sign: DyadicSign::Pos,
2414            exponent: -142,
2415            mantissa: 0x8a0094c8_d5e0d9e1_c5a59fd3_6bd44397_u128,
2416        },
2417        DyadicFloat128 {
2418            sign: DyadicSign::Pos,
2419            exponent: -142,
2420            mantissa: 0x8c009920_df50190a_3bd21770_1b27dddb_u128,
2421        },
2422        DyadicFloat128 {
2423            sign: DyadicSign::Pos,
2424            exponent: -142,
2425            mantissa: 0x8e009d88_e9055918_669c93b5_0e4a2595_u128,
2426        },
2427        DyadicFloat128 {
2428            sign: DyadicSign::Pos,
2429            exponent: -142,
2430            mantissa: 0x9000a200_f3019a12_e22234cd_39f29cd4_u128,
2431        },
2432        DyadicFloat128 {
2433            sign: DyadicSign::Pos,
2434            exponent: -142,
2435            mantissa: 0x9200a688_fd45dc00_6280efe8_307d41d9_u128,
2436        },
2437        DyadicFloat128 {
2438            sign: DyadicSign::Pos,
2439            exponent: -142,
2440            mantissa: 0x9400ab21_07d31ee7_b3d7923a_436f6fc4_u128,
2441        },
2442        DyadicFloat128 {
2443            sign: DyadicSign::Pos,
2444            exponent: -142,
2445            mantissa: 0x9600afc9_12aa62cf_ba45c3fc_a574c5a0_u128,
2446        },
2447        DyadicFloat128 {
2448            sign: DyadicSign::Pos,
2449            exponent: -142,
2450            mantissa: 0x9800b481_1dcca7bf_71ec0b6d_8cd413d1_u128,
2451        },
2452        DyadicFloat128 {
2453            sign: DyadicSign::Pos,
2454            exponent: -142,
2455            mantissa: 0x9a00b949_293aedbd_eeebcfd0_565c5006_u128,
2456        },
2457        DyadicFloat128 {
2458            sign: DyadicSign::Pos,
2459            exponent: -142,
2460            mantissa: 0x9c00be21_34f634d2_5d675c6d_a8c98fc3_u128,
2461        },
2462        DyadicFloat128 {
2463            sign: DyadicSign::Pos,
2464            exponent: -142,
2465            mantissa: 0x9e00c309_40ff7d04_0181e393_98a2099a_u128,
2466        },
2467        DyadicFloat128 {
2468            sign: DyadicSign::Pos,
2469            exponent: -142,
2470            mantissa: 0xa000c801_4d57c65a_375f8195_cc8b1d29_u128,
2471        },
2472    ];
2473
2474pub(crate) static LOG_STEP_4: [DyadicFloat128; 130] =
2475    // -log(r) for the fourth step, generated by SageMath with:
2476    //
2477    // for i in range(-65, 65):
2478    //   r = 2^-28 * round( 2^28 / (1 + i*2^(-28)) );
2479    //   s, m, e = RealField(128)(r).log().sign_mantissa_exponent();
2480    //   print("{RationalSign::Pos," if (s == -1) else "{RationalSign::Neg,", e, ",
2481    //         format_hex(m), "},");
2482    /* .step_4 = */
2483    [
2484        DyadicFloat128 {
2485            sign: DyadicSign::Neg,
2486            exponent: -149,
2487            mantissa: 0x81fffef7_f002cb2b_4cd24d68_ff2f11ae_u128,
2488        },
2489        DyadicFloat128 {
2490            sign: DyadicSign::Neg,
2491            exponent: -150,
2492            mantissa: 0xfffffe00_00055555_45555588_8887ddde_u128,
2493        },
2494        DyadicFloat128 {
2495            sign: DyadicSign::Neg,
2496            exponent: -150,
2497            mantissa: 0xfbfffe0f_e0051653_f0fa101f_52b3971f_u128,
2498        },
2499        DyadicFloat128 {
2500            sign: DyadicSign::Neg,
2501            exponent: -150,
2502            mantissa: 0xf7fffe1f_8004d94a_9c9329d6_59ed3734_u128,
2503        },
2504        DyadicFloat128 {
2505            sign: DyadicSign::Neg,
2506            exponent: -150,
2507            mantissa: 0xf3fffe2e_e0049e31_4821006d_9b58462e_u128,
2508        },
2509        DyadicFloat128 {
2510            sign: DyadicSign::Neg,
2511            exponent: -150,
2512            mantissa: 0xeffffe3e_000464ff_f3a3f025_142f8c21_u128,
2513        },
2514        DyadicFloat128 {
2515            sign: DyadicSign::Neg,
2516            exponent: -150,
2517            mantissa: 0xebfffe4c_e0042dae_9f1c53bc_c1c4b11c_u128,
2518        },
2519        DyadicFloat128 {
2520            sign: DyadicSign::Neg,
2521            exponent: -150,
2522            mantissa: 0xe7fffe5b_8003f835_4a8a8474_a17fdd30_u128,
2523        },
2524        DyadicFloat128 {
2525            sign: DyadicSign::Neg,
2526            exponent: -150,
2527            mantissa: 0xe3fffe69_e003c48b_f5eeda0c_b0df586d_u128,
2528        },
2529        DyadicFloat128 {
2530            sign: DyadicSign::Neg,
2531            exponent: -150,
2532            mantissa: 0xdffffe78_000392aa_a149aac4_ed772adf_u128,
2533        },
2534        DyadicFloat128 {
2535            sign: DyadicSign::Neg,
2536            exponent: -150,
2537            mantissa: 0xdbfffe85_e0036289_4c9b4b5d_54f0bc96_u128,
2538        },
2539        DyadicFloat128 {
2540            sign: DyadicSign::Neg,
2541            exponent: -150,
2542            mantissa: 0xd7fffe93_8003341f_f7e40f15_e50a759f_u128,
2543        },
2544        DyadicFloat128 {
2545            sign: DyadicSign::Neg,
2546            exponent: -150,
2547            mantissa: 0xd3fffea0_e0030766_a32447ae_9b975e05_u128,
2548        },
2549        DyadicFloat128 {
2550            sign: DyadicSign::Neg,
2551            exponent: -150,
2552            mantissa: 0xcffffeae_0002dc55_4e5c4567_767ebdd5_u128,
2553        },
2554        DyadicFloat128 {
2555            sign: DyadicSign::Neg,
2556            exponent: -150,
2557            mantissa: 0xcbfffeba_e002b2e3_f98c5700_73bbbd19_u128,
2558        },
2559        DyadicFloat128 {
2560            sign: DyadicSign::Neg,
2561            exponent: -150,
2562            mantissa: 0xc7fffec7_80028b0a_a4b4c9b9_915d03dd_u128,
2563        },
2564        DyadicFloat128 {
2565            sign: DyadicSign::Neg,
2566            exponent: -150,
2567            mantissa: 0xc3fffed3_e00264c1_4fd5e952_cd845a28_u128,
2568        },
2569        DyadicFloat128 {
2570            sign: DyadicSign::Neg,
2571            exponent: -150,
2572            mantissa: 0xbffffee0_00023fff_faf0000c_26664806_u128,
2573        },
2574        DyadicFloat128 {
2575            sign: DyadicSign::Neg,
2576            exponent: -150,
2577            mantissa: 0xbbfffeeb_e0021cbe_a60356a5_9a49b57f_u128,
2578        },
2579        DyadicFloat128 {
2580            sign: DyadicSign::Neg,
2581            exponent: -150,
2582            mantissa: 0xb7fffef7_8001faf5_5110345f_27878a9b_u128,
2583        },
2584        DyadicFloat128 {
2585            sign: DyadicSign::Neg,
2586            exponent: -150,
2587            mantissa: 0xb3ffff02_e001da9b_fc16def8_cc8a4f61_u128,
2588        },
2589        DyadicFloat128 {
2590            sign: DyadicSign::Neg,
2591            exponent: -150,
2592            mantissa: 0xafffff0e_0001bbaa_a7179ab2_87cdcbd8_u128,
2593        },
2594        DyadicFloat128 {
2595            sign: DyadicSign::Neg,
2596            exponent: -150,
2597            mantissa: 0xabffff18_e0019e19_5212aa4c_57dea809_u128,
2598        },
2599        DyadicFloat128 {
2600            sign: DyadicSign::Neg,
2601            exponent: -150,
2602            mantissa: 0xa7ffff23_800181df_fd084f06_3b5a0bf8_u128,
2603        },
2604        DyadicFloat128 {
2605            sign: DyadicSign::Neg,
2606            exponent: -150,
2607            mantissa: 0xa3ffff2d_e00166f6_a7f8c8a0_30ed3fab_u128,
2608        },
2609        DyadicFloat128 {
2610            sign: DyadicSign::Neg,
2611            exponent: -150,
2612            mantissa: 0x9fffff38_00014d55_52e4555a_37554b29_u128,
2613        },
2614        DyadicFloat128 {
2615            sign: DyadicSign::Neg,
2616            exponent: -150,
2617            mantissa: 0x9bffff41_e00134f3_fdcb31f4_4d5e9676_u128,
2618        },
2619        DyadicFloat128 {
2620            sign: DyadicSign::Neg,
2621            exponent: -150,
2622            mantissa: 0x97ffff4b_80011dca_a8ad99ae_71e48997_u128,
2623        },
2624        DyadicFloat128 {
2625            sign: DyadicSign::Neg,
2626            exponent: -150,
2627            mantissa: 0x93ffff54_e00107d1_538bc648_a3d12c90_u128,
2628        },
2629        DyadicFloat128 {
2630            sign: DyadicSign::Neg,
2631            exponent: -150,
2632            mantissa: 0x8fffff5e_0000f2ff_fe65f002_e21cc765_u128,
2633        },
2634        DyadicFloat128 {
2635            sign: DyadicSign::Neg,
2636            exponent: -150,
2637            mantissa: 0x8bffff66_e000df4e_a93c4d9d_2bcd821a_u128,
2638        },
2639        DyadicFloat128 {
2640            sign: DyadicSign::Neg,
2641            exponent: -150,
2642            mantissa: 0x87ffff6f_8000ccb5_540f1457_7ff704b2_u128,
2643        },
2644        DyadicFloat128 {
2645            sign: DyadicSign::Neg,
2646            exponent: -150,
2647            mantissa: 0x83ffff77_e000bb2b_fede77f1_ddba1731_u128,
2648        },
2649        DyadicFloat128 {
2650            sign: DyadicSign::Neg,
2651            exponent: -151,
2652            mantissa: 0xffffff00_00015555_53555558_88888333_u128,
2653        },
2654        DyadicFloat128 {
2655            sign: DyadicSign::Neg,
2656            exponent: -151,
2657            mantissa: 0xf7ffff0f_c0013652_a8e7ba8d_659ed7dc_u128,
2658        },
2659        DyadicFloat128 {
2660            sign: DyadicSign::Neg,
2661            exponent: -151,
2662            mantissa: 0xefffff1f_0001193f_fe747e02_5142fc61_u128,
2663        },
2664        DyadicFloat128 {
2665            sign: DyadicSign::Neg,
2666            exponent: -151,
2667            mantissa: 0xe7ffff2d_c000fe0d_53fbfb37_4a1800c7_u128,
2668        },
2669        DyadicFloat128 {
2670            sign: DyadicSign::Neg,
2671            exponent: -151,
2672            mantissa: 0xdfffff3c_0000e4aa_a97e8aac_4ed77513_u128,
2673        },
2674        DyadicFloat128 {
2675            sign: DyadicSign::Neg,
2676            exponent: -151,
2677            mantissa: 0xd7ffff49_c000cd07_fefc81e1_5e50a947_u128,
2678        },
2679        DyadicFloat128 {
2680            sign: DyadicSign::Neg,
2681            exponent: -151,
2682            mantissa: 0xcfffff57_0000b715_54763356_7767ed66_u128,
2683        },
2684        DyadicFloat128 {
2685            sign: DyadicSign::Neg,
2686            exponent: -151,
2687            mantissa: 0xc7ffff63_c000a2c2_a9ebee8b_9915d174_u128,
2688        },
2689        DyadicFloat128 {
2690            sign: DyadicSign::Neg,
2691            exponent: -151,
2692            mantissa: 0xbfffff70_00008fff_ff5e0000_c2666573_u128,
2693        },
2694        DyadicFloat128 {
2695            sign: DyadicSign::Neg,
2696            exponent: -151,
2697            mantissa: 0xb7ffff7b_c0007ebd_54ccb135_f2787966_u128,
2698        },
2699        DyadicFloat128 {
2700            sign: DyadicSign::Neg,
2701            exponent: -151,
2702            mantissa: 0xafffff87_00006eea_aa3848ab_287cdd4e_u128,
2703        },
2704        DyadicFloat128 {
2705            sign: DyadicSign::Neg,
2706            exponent: -151,
2707            mantissa: 0xa7ffff91_c0006077_ffa109e0_63b5a12d_u128,
2708        },
2709        DyadicFloat128 {
2710            sign: DyadicSign::Neg,
2711            exponent: -151,
2712            mantissa: 0x9fffff9c_00005355_55073555_a3755504_u128,
2713        },
2714        DyadicFloat128 {
2715            sign: DyadicSign::Neg,
2716            exponent: -151,
2717            mantissa: 0x97ffffa5_c0004772_aa6b088a_e71e48d5_u128,
2718        },
2719        DyadicFloat128 {
2720            sign: DyadicSign::Neg,
2721            exponent: -151,
2722            mantissa: 0x8fffffaf_00003cbf_ffccbe00_2e21cca2_u128,
2723        },
2724        DyadicFloat128 {
2725            sign: DyadicSign::Neg,
2726            exponent: -151,
2727            mantissa: 0x87ffffb7_c000332d_552c8d35_77ff706a_u128,
2728        },
2729        DyadicFloat128 {
2730            sign: DyadicSign::Neg,
2731            exponent: -152,
2732            mantissa: 0xffffff80_00005555_55155555_8888885e_u128,
2733        },
2734        DyadicFloat128 {
2735            sign: DyadicSign::Neg,
2736            exponent: -152,
2737            mantissa: 0xefffff8f_8000464f_ffce8fc0_25142fe3_u128,
2738        },
2739        DyadicFloat128 {
2740            sign: DyadicSign::Neg,
2741            exponent: -152,
2742            mantissa: 0xdfffff9e_0000392a_aa8526aa_c4ed7764_u128,
2743        },
2744        DyadicFloat128 {
2745            sign: DyadicSign::Neg,
2746            exponent: -152,
2747            mantissa: 0xcfffffab_80002dc5_55397115_67767ee3_u128,
2748        },
2749        DyadicFloat128 {
2750            sign: DyadicSign::Neg,
2751            exponent: -152,
2752            mantissa: 0xbfffffb8_000023ff_ffebc000_0c26665f_u128,
2753        },
2754        DyadicFloat128 {
2755            sign: DyadicSign::Neg,
2756            exponent: -152,
2757            mantissa: 0xafffffc3_80001bba_aa9c5e6a_b287cdd9_u128,
2758        },
2759        DyadicFloat128 {
2760            sign: DyadicSign::Neg,
2761            exponent: -152,
2762            mantissa: 0x9fffffce_000014d5_554b9155_5a375553_u128,
2763        },
2764        DyadicFloat128 {
2765            sign: DyadicSign::Neg,
2766            exponent: -152,
2767            mantissa: 0x8fffffd7_80000f2f_fff997c0_02e21ccb_u128,
2768        },
2769        DyadicFloat128 {
2770            sign: DyadicSign::Neg,
2771            exponent: -153,
2772            mantissa: 0xffffffc0_00001555_554d5555_58888887_u128,
2773        },
2774        DyadicFloat128 {
2775            sign: DyadicSign::Neg,
2776            exponent: -153,
2777            mantissa: 0xdfffffcf_00000e4a_aaa5fa2a_ac4ed777_u128,
2778        },
2779        DyadicFloat128 {
2780            sign: DyadicSign::Neg,
2781            exponent: -153,
2782            mantissa: 0xbfffffdc_000008ff_fffd7800_00c26666_u128,
2783        },
2784        DyadicFloat128 {
2785            sign: DyadicSign::Neg,
2786            exponent: -153,
2787            mantissa: 0x9fffffe7_00000535_55541cd5_55a37555_u128,
2788        },
2789        DyadicFloat128 {
2790            sign: DyadicSign::Neg,
2791            exponent: -154,
2792            mantissa: 0xffffffe0_00000555_55545555_55888888_u128,
2793        },
2794        DyadicFloat128 {
2795            sign: DyadicSign::Neg,
2796            exponent: -154,
2797            mantissa: 0xbfffffee_0000023f_ffffaf00_000c2666_u128,
2798        },
2799        DyadicFloat128 {
2800            sign: DyadicSign::Neg,
2801            exponent: -155,
2802            mantissa: 0xfffffff0_00000155_55553555_55588889_u128,
2803        },
2804        DyadicFloat128 {
2805            sign: DyadicSign::Neg,
2806            exponent: -156,
2807            mantissa: 0xfffffff8_00000055_55555155_55558889_u128,
2808        },
2809        DyadicFloat128 {
2810            sign: DyadicSign::Pos,
2811            exponent: 0,
2812            mantissa: 0_u128,
2813        },
2814        DyadicFloat128 {
2815            sign: DyadicSign::Pos,
2816            exponent: -155,
2817            mantissa: 0x80000004_0000002a_aaaaacaa_aaaac444_u128,
2818        },
2819        DyadicFloat128 {
2820            sign: DyadicSign::Pos,
2821            exponent: -154,
2822            mantissa: 0x80000008_000000aa_aaaabaaa_aaac4444_u128,
2823        },
2824        DyadicFloat128 {
2825            sign: DyadicSign::Pos,
2826            exponent: -154,
2827            mantissa: 0xc0000012_00000240_00005100_000c2666_u128,
2828        },
2829        DyadicFloat128 {
2830            sign: DyadicSign::Pos,
2831            exponent: -153,
2832            mantissa: 0x80000010_000002aa_aaab2aaa_aac44444_u128,
2833        },
2834        DyadicFloat128 {
2835            sign: DyadicSign::Pos,
2836            exponent: -153,
2837            mantissa: 0xa0000019_00000535_55568dd5_55a37555_u128,
2838        },
2839        DyadicFloat128 {
2840            sign: DyadicSign::Pos,
2841            exponent: -153,
2842            mantissa: 0xc0000024_00000900_00028800_00c26667_u128,
2843        },
2844        DyadicFloat128 {
2845            sign: DyadicSign::Pos,
2846            exponent: -153,
2847            mantissa: 0xe0000031_00000e4a_aaaf5b2a_ac4ed778_u128,
2848        },
2849        DyadicFloat128 {
2850            sign: DyadicSign::Pos,
2851            exponent: -152,
2852            mantissa: 0x80000020_00000aaa_aaaeaaaa_ac444445_u128,
2853        },
2854        DyadicFloat128 {
2855            sign: DyadicSign::Pos,
2856            exponent: -152,
2857            mantissa: 0x90000028_80000f30_00066840_02e21cce_u128,
2858        },
2859        DyadicFloat128 {
2860            sign: DyadicSign::Pos,
2861            exponent: -152,
2862            mantissa: 0xa0000032_000014d5_555f1955_5a375558_u128,
2863        },
2864        DyadicFloat128 {
2865            sign: DyadicSign::Pos,
2866            exponent: -152,
2867            mantissa: 0xb000003c_80001bba_aab8f6ea_b287cde2_u128,
2868        },
2869        DyadicFloat128 {
2870            sign: DyadicSign::Pos,
2871            exponent: -152,
2872            mantissa: 0xc0000048_00002400_00144000_0c26666e_u128,
2873        },
2874        DyadicFloat128 {
2875            sign: DyadicSign::Pos,
2876            exponent: -152,
2877            mantissa: 0xd0000054_80002dc5_55713995_67767efb_u128,
2878        },
2879        DyadicFloat128 {
2880            sign: DyadicSign::Pos,
2881            exponent: -152,
2882            mantissa: 0xe0000062_0000392a_aad02eaa_c4ed778b_u128,
2883        },
2884        DyadicFloat128 {
2885            sign: DyadicSign::Pos,
2886            exponent: -152,
2887            mantissa: 0xf0000070_80004650_00317040_2514301d_u128,
2888        },
2889        DyadicFloat128 {
2890            sign: DyadicSign::Pos,
2891            exponent: -151,
2892            mantissa: 0x80000040_00002aaa_aacaaaaa_c444445a_u128,
2893        },
2894        DyadicFloat128 {
2895            sign: DyadicSign::Pos,
2896            exponent: -151,
2897            mantissa: 0x88000048_4000332d_557e1d75_77ff70a7_u128,
2898        },
2899        DyadicFloat128 {
2900            sign: DyadicSign::Pos,
2901            exponent: -151,
2902            mantissa: 0x90000051_00003cc0_00334200_2e21ccf8_u128,
2903        },
2904        DyadicFloat128 {
2905            sign: DyadicSign::Pos,
2906            exponent: -151,
2907            mantissa: 0x9800005a_40004772_aaea4cca_e71e494d_u128,
2908        },
2909        DyadicFloat128 {
2910            sign: DyadicSign::Pos,
2911            exponent: -151,
2912            mantissa: 0xa0000064_00005355_55a37555_a37555a7_u128,
2913        },
2914        DyadicFloat128 {
2915            sign: DyadicSign::Pos,
2916            exponent: -151,
2917            mantissa: 0xa800006e_40006078_005ef620_63b5a207_u128,
2918        },
2919        DyadicFloat128 {
2920            sign: DyadicSign::Pos,
2921            exponent: -151,
2922            mantissa: 0xb0000079_00006eea_ab1d0cab_287cde6e_u128,
2923        },
2924        DyadicFloat128 {
2925            sign: DyadicSign::Pos,
2926            exponent: -151,
2927            mantissa: 0xb8000084_40007ebd_55ddf975_f2787ade_u128,
2928        },
2929        DyadicFloat128 {
2930            sign: DyadicSign::Pos,
2931            exponent: -151,
2932            mantissa: 0xc0000090_00009000_00a20000_c2666759_u128,
2933        },
2934        DyadicFloat128 {
2935            sign: DyadicSign::Pos,
2936            exponent: -151,
2937            mantissa: 0xc800009c_4000a2c2_ab6966cb_9915d3e1_u128,
2938        },
2939        DyadicFloat128 {
2940            sign: DyadicSign::Pos,
2941            exponent: -151,
2942            mantissa: 0xd00000a9_0000b715_56347756_7767f078_u128,
2943        },
2944        DyadicFloat128 {
2945            sign: DyadicSign::Pos,
2946            exponent: -151,
2947            mantissa: 0xd80000b6_4000cd08_01037e21_5e50ad20_u128,
2948        },
2949        DyadicFloat128 {
2950            sign: DyadicSign::Pos,
2951            exponent: -151,
2952            mantissa: 0xe00000c4_0000e4aa_abd6caac_4ed779dc_u128,
2953        },
2954        DyadicFloat128 {
2955            sign: DyadicSign::Pos,
2956            exponent: -151,
2957            mantissa: 0xe80000d2_4000fe0d_56aeaf77_4a1806b0_u128,
2958        },
2959        DyadicFloat128 {
2960            sign: DyadicSign::Pos,
2961            exponent: -151,
2962            mantissa: 0xf00000e1_00011940_018b8202_5143039f_u128,
2963        },
2964        DyadicFloat128 {
2965            sign: DyadicSign::Pos,
2966            exponent: -151,
2967            mantissa: 0xf80000f0_40013652_ac6d9acd_659ee0ad_u128,
2968        },
2969        DyadicFloat128 {
2970            sign: DyadicSign::Pos,
2971            exponent: -150,
2972            mantissa: 0x80000080_0000aaaa_abaaaaac_444446ef_u128,
2973        },
2974        DyadicFloat128 {
2975            sign: DyadicSign::Pos,
2976            exponent: -150,
2977            mantissa: 0x84000088_2000bb2c_01218811_ddba1d9b_u128,
2978        },
2979        DyadicFloat128 {
2980            sign: DyadicSign::Pos,
2981            exponent: -150,
2982            mantissa: 0x88000090_8000ccb5_569b9657_7ff70c5f_u128,
2983        },
2984        DyadicFloat128 {
2985            sign: DyadicSign::Pos,
2986            exponent: -150,
2987            mantissa: 0x8c000099_2000df4e_ac1907bd_2bcd8b3b_u128,
2988        },
2989        DyadicFloat128 {
2990            sign: DyadicSign::Pos,
2991            exponent: -150,
2992            mantissa: 0x900000a2_0000f300_019a1002_e21cd235_u128,
2993        },
2994        DyadicFloat128 {
2995            sign: DyadicSign::Pos,
2996            exponent: -150,
2997            mantissa: 0x940000ab_200107d1_571ee468_a3d1394e_u128,
2998        },
2999        DyadicFloat128 {
3000            sign: DyadicSign::Pos,
3001            exponent: -150,
3002            mantissa: 0x980000b4_80011dca_aca7bbae_71e4988b_u128,
3003        },
3004        DyadicFloat128 {
3005            sign: DyadicSign::Pos,
3006            exponent: -150,
3007            mantissa: 0x9c0000be_200134f4_0234ce14_4d5ea7f0_u128,
3008        },
3009        DyadicFloat128 {
3010            sign: DyadicSign::Pos,
3011            exponent: -150,
3012            mantissa: 0xa00000c8_00014d55_57c6555a_37555f82_u128,
3013        },
3014        DyadicFloat128 {
3015            sign: DyadicSign::Pos,
3016            exponent: -150,
3017            mantissa: 0xa40000d2_200166f6_ad5c8cc0_30ed5744_u128,
3018        },
3019        DyadicFloat128 {
3020            sign: DyadicSign::Pos,
3021            exponent: -150,
3022            mantissa: 0xa80000dc_800181e0_02f7b106_3b5a273b_u128,
3023        },
3024        DyadicFloat128 {
3025            sign: DyadicSign::Pos,
3026            exponent: -150,
3027            mantissa: 0xac0000e7_20019e19_5898006c_57dec76f_u128,
3028        },
3029        DyadicFloat128 {
3030            sign: DyadicSign::Pos,
3031            exponent: -150,
3032            mantissa: 0xb00000f2_0001bbaa_ae3dbab2_87cdefe3_u128,
3033        },
3034        DyadicFloat128 {
3035            sign: DyadicSign::Pos,
3036            exponent: -150,
3037            mantissa: 0xb40000fd_2001da9c_03e92118_cc8a789f_u128,
3038        },
3039        DyadicFloat128 {
3040            sign: DyadicSign::Pos,
3041            exponent: -150,
3042            mantissa: 0xb8000108_8001faf5_599a765f_2787b9aa_u128,
3043        },
3044        DyadicFloat128 {
3045            sign: DyadicSign::Pos,
3046            exponent: -150,
3047            mantissa: 0xbc000114_20021cbe_af51fec5_9a49eb0a_u128,
3048        },
3049        DyadicFloat128 {
3050            sign: DyadicSign::Pos,
3051            exponent: -150,
3052            mantissa: 0xc0000120_00024000_0510000c_266684c6_u128,
3053        },
3054        DyadicFloat128 {
3055            sign: DyadicSign::Pos,
3056            exponent: -150,
3057            mantissa: 0xc400012c_200264c1_5ad4c172_cd849ee9_u128,
3058        },
3059        DyadicFloat128 {
3060            sign: DyadicSign::Pos,
3061            exponent: -150,
3062            mantissa: 0xc8000138_80028b0a_b0a08bb9_915d5179_u128,
3063        },
3064        DyadicFloat128 {
3065            sign: DyadicSign::Pos,
3066            exponent: -150,
3067            mantissa: 0xcc000145_2002b2e4_0673a920_73bc1480_u128,
3068        },
3069        DyadicFloat128 {
3070            sign: DyadicSign::Pos,
3071            exponent: -150,
3072            mantissa: 0xd0000152_0002dc55_5c4e6567_767f2009_u128,
3073        },
3074        DyadicFloat128 {
3075            sign: DyadicSign::Pos,
3076            exponent: -150,
3077            mantissa: 0xd400015f_20030766_b2310dce_9b97cc1d_u128,
3078        },
3079        DyadicFloat128 {
3080            sign: DyadicSign::Pos,
3081            exponent: -150,
3082            mantissa: 0xd800016c_80033420_081bf115_e50af0c7_u128,
3083        },
3084        DyadicFloat128 {
3085            sign: DyadicSign::Pos,
3086            exponent: -150,
3087            mantissa: 0xdc00017a_20036289_5e0f5f7d_54f14614_u128,
3088        },
3089        DyadicFloat128 {
3090            sign: DyadicSign::Pos,
3091            exponent: -150,
3092            mantissa: 0xe0000188_000392aa_b40baac4_ed77c410_u128,
3093        },
3094        DyadicFloat128 {
3095            sign: DyadicSign::Pos,
3096            exponent: -150,
3097            mantissa: 0xe4000196_2003c48c_0a11262c_b0e002c7_u128,
3098        },
3099        DyadicFloat128 {
3100            sign: DyadicSign::Pos,
3101            exponent: -150,
3102            mantissa: 0xe80001a4_8003f835_60202674_a1809a47_u128,
3103        },
3104        DyadicFloat128 {
3105            sign: DyadicSign::Pos,
3106            exponent: -150,
3107            mantissa: 0xec0001b3_20042dae_b63901dc_c1c582a0_u128,
3108        },
3109        DyadicFloat128 {
3110            sign: DyadicSign::Pos,
3111            exponent: -150,
3112            mantissa: 0xf00001c2_00046500_0c5c1025_143073df_u128,
3113        },
3114        DyadicFloat128 {
3115            sign: DyadicSign::Pos,
3116            exponent: -150,
3117            mantissa: 0xf40001d1_20049e31_6289aa8d_9b594616_u128,
3118        },
3119        DyadicFloat128 {
3120            sign: DyadicSign::Pos,
3121            exponent: -150,
3122            mantissa: 0xf80001e0_8004d94a_b8c22bd6_59ee5155_u128,
3123        },
3124        DyadicFloat128 {
3125            sign: DyadicSign::Pos,
3126            exponent: -150,
3127            mantissa: 0xfc0001f0_20051654_0f05f03f_52b4cdae_u128,
3128        },
3129        DyadicFloat128 {
3130            sign: DyadicSign::Pos,
3131            exponent: -149,
3132            mantissa: 0x80000100_0002aaaa_b2aaaac4_4444999a_u128,
3133        },
3134    ];