therubyracer 0.6.3 → 0.7.0.pre

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of therubyracer might be problematic. Click here for more details.

Files changed (520) hide show
  1. data/Rakefile +10 -9
  2. data/ext/v8/callbacks.cpp +15 -8
  3. data/ext/v8/converters.cpp +7 -8
  4. data/ext/v8/converters.h +0 -2
  5. data/ext/v8/extconf.rb +2 -0
  6. data/ext/v8/rr.cpp +169 -0
  7. data/ext/v8/rr.h +34 -0
  8. data/ext/v8/upstream/{2.0.6 → 2.1.10}/AUTHORS +8 -1
  9. data/ext/v8/upstream/{2.0.6 → 2.1.10}/ChangeLog +198 -0
  10. data/ext/v8/upstream/{2.0.6 → 2.1.10}/LICENSE +0 -0
  11. data/ext/v8/upstream/{2.0.6 → 2.1.10}/SConstruct +152 -38
  12. data/ext/v8/upstream/{2.0.6 → 2.1.10}/include/v8-debug.h +52 -4
  13. data/ext/v8/upstream/2.1.10/include/v8-profiler.h +176 -0
  14. data/ext/v8/upstream/{2.0.6 → 2.1.10}/include/v8.h +227 -48
  15. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/SConscript +60 -10
  16. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/accessors.cc +5 -39
  17. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/accessors.h +0 -0
  18. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/allocation.cc +0 -0
  19. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/allocation.h +0 -0
  20. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/api.cc +477 -57
  21. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/api.h +8 -4
  22. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/apinatives.js +1 -1
  23. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/apiutils.h +0 -0
  24. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arguments.h +5 -6
  25. data/ext/v8/upstream/{2.0.6/src/arm/assembler-thumb2-inl.h → 2.1.10/src/arm/assembler-arm-inl.h} +42 -27
  26. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/assembler-arm.cc +430 -216
  27. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/assembler-arm.h +199 -110
  28. data/ext/v8/upstream/{2.0.6/src/arm/assembler-arm-inl.h → 2.1.10/src/arm/assembler-thumb2-inl.h} +4 -18
  29. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/assembler-thumb2.cc +142 -85
  30. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/assembler-thumb2.h +18 -9
  31. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/builtins-arm.cc +127 -87
  32. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/codegen-arm-inl.h +3 -5
  33. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/codegen-arm.cc +4634 -1427
  34. data/ext/v8/upstream/2.1.10/src/arm/codegen-arm.h +946 -0
  35. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/constants-arm.cc +21 -3
  36. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/constants-arm.h +39 -13
  37. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/cpu-arm.cc +9 -3
  38. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/debug-arm.cc +34 -8
  39. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/disasm-arm.cc +262 -117
  40. data/ext/v8/upstream/2.1.10/src/arm/fast-codegen-arm.cc +238 -0
  41. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/frames-arm.cc +0 -0
  42. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/frames-arm.h +0 -0
  43. data/ext/v8/upstream/{2.0.6/src/arm/fast-codegen-arm.cc → 2.1.10/src/arm/full-codegen-arm.cc} +453 -283
  44. data/ext/v8/upstream/2.1.10/src/arm/ic-arm.cc +1833 -0
  45. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/jump-target-arm.cc +3 -29
  46. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/macro-assembler-arm.cc +564 -104
  47. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/macro-assembler-arm.h +255 -46
  48. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/regexp-macro-assembler-arm.cc +78 -104
  49. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/regexp-macro-assembler-arm.h +6 -22
  50. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/register-allocator-arm-inl.h +0 -3
  51. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/register-allocator-arm.cc +0 -0
  52. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/register-allocator-arm.h +2 -1
  53. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/simulator-arm.cc +557 -180
  54. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/simulator-arm.h +52 -4
  55. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/stub-cache-arm.cc +904 -240
  56. data/ext/v8/upstream/2.1.10/src/arm/virtual-frame-arm.cc +668 -0
  57. data/ext/v8/upstream/2.1.10/src/arm/virtual-frame-arm.h +503 -0
  58. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/array.js +82 -109
  59. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/assembler.cc +49 -13
  60. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/assembler.h +27 -5
  61. data/ext/v8/upstream/2.1.10/src/ast.cc +1138 -0
  62. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ast.h +354 -53
  63. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/bootstrapper.cc +609 -501
  64. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/bootstrapper.h +27 -8
  65. data/ext/v8/upstream/2.1.10/src/builtins.cc +1512 -0
  66. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/builtins.h +41 -25
  67. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/bytecodes-irregexp.h +0 -0
  68. data/ext/v8/upstream/2.1.10/src/cached-powers.h +119 -0
  69. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/char-predicates-inl.h +0 -0
  70. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/char-predicates.h +0 -0
  71. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/checks.cc +0 -0
  72. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/checks.h +25 -1
  73. data/ext/v8/upstream/2.1.10/src/circular-queue-inl.h +101 -0
  74. data/ext/v8/upstream/2.1.10/src/circular-queue.cc +121 -0
  75. data/ext/v8/upstream/2.1.10/src/circular-queue.h +129 -0
  76. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/code-stubs.cc +23 -8
  77. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/code-stubs.h +16 -4
  78. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/code.h +0 -0
  79. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/codegen-inl.h +6 -34
  80. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/codegen.cc +73 -92
  81. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/codegen.h +164 -68
  82. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/compilation-cache.cc +117 -73
  83. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/compilation-cache.h +18 -17
  84. data/ext/v8/upstream/2.1.10/src/compiler.cc +623 -0
  85. data/ext/v8/upstream/2.1.10/src/compiler.h +299 -0
  86. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/contexts.cc +0 -0
  87. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/contexts.h +8 -11
  88. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/conversions-inl.h +28 -13
  89. data/ext/v8/upstream/2.1.10/src/conversions.cc +1105 -0
  90. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/conversions.h +9 -4
  91. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/counters.cc +0 -0
  92. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/counters.h +1 -1
  93. data/ext/v8/upstream/2.1.10/src/cpu-profiler-inl.h +99 -0
  94. data/ext/v8/upstream/2.1.10/src/cpu-profiler.cc +494 -0
  95. data/ext/v8/upstream/2.1.10/src/cpu-profiler.h +277 -0
  96. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/cpu.h +0 -0
  97. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-debug.cc +15 -4
  98. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-debug.h +0 -0
  99. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-posix.cc +18 -0
  100. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-readline.cc +2 -2
  101. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-windows.cc +0 -0
  102. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8.cc +10 -6
  103. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8.h +2 -0
  104. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8.js +43 -38
  105. data/ext/v8/upstream/2.1.10/src/data-flow.cc +755 -0
  106. data/ext/v8/upstream/2.1.10/src/data-flow.h +278 -0
  107. data/ext/v8/upstream/{2.0.6/src/date-delay.js → 2.1.10/src/date.js} +100 -110
  108. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/dateparser-inl.h +11 -2
  109. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/dateparser.cc +24 -26
  110. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/dateparser.h +8 -4
  111. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/debug-agent.cc +3 -1
  112. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/debug-agent.h +0 -0
  113. data/ext/v8/upstream/{2.0.6/src/debug-delay.js → 2.1.10/src/debug-debugger.js} +111 -15
  114. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/debug.cc +156 -96
  115. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/debug.h +53 -5
  116. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/disasm.h +0 -0
  117. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/disassembler.cc +2 -8
  118. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/disassembler.h +0 -0
  119. data/ext/v8/upstream/2.1.10/src/diy-fp.cc +58 -0
  120. data/ext/v8/upstream/2.1.10/src/diy-fp.h +117 -0
  121. data/ext/v8/upstream/2.1.10/src/double.h +169 -0
  122. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/dtoa-config.c +4 -3
  123. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/execution.cc +22 -22
  124. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/execution.h +17 -4
  125. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/factory.cc +70 -46
  126. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/factory.h +27 -17
  127. data/ext/v8/upstream/2.1.10/src/fast-codegen.cc +746 -0
  128. data/ext/v8/upstream/2.1.10/src/fast-codegen.h +161 -0
  129. data/ext/v8/upstream/2.1.10/src/fast-dtoa.cc +512 -0
  130. data/ext/v8/upstream/2.1.10/src/fast-dtoa.h +59 -0
  131. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/flag-definitions.h +32 -11
  132. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/flags.cc +0 -0
  133. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/flags.h +0 -0
  134. data/ext/v8/upstream/2.1.10/src/flow-graph.cc +763 -0
  135. data/ext/v8/upstream/2.1.10/src/flow-graph.h +180 -0
  136. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frame-element.cc +1 -4
  137. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frame-element.h +49 -11
  138. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frames-inl.h +2 -0
  139. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frames.cc +91 -17
  140. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frames.h +24 -2
  141. data/ext/v8/upstream/{2.0.6/src/fast-codegen.cc → 2.1.10/src/full-codegen.cc} +549 -198
  142. data/ext/v8/upstream/{2.0.6/src/fast-codegen.h → 2.1.10/src/full-codegen.h} +109 -29
  143. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/func-name-inferrer.cc +0 -0
  144. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/func-name-inferrer.h +0 -0
  145. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/global-handles.cc +0 -0
  146. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/global-handles.h +0 -0
  147. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/globals.h +67 -43
  148. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/handles-inl.h +0 -0
  149. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/handles.cc +124 -129
  150. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/handles.h +33 -15
  151. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/hashmap.cc +0 -0
  152. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/hashmap.h +0 -0
  153. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap-inl.h +56 -12
  154. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap-profiler.cc +2 -2
  155. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap-profiler.h +2 -0
  156. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap.cc +413 -221
  157. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap.h +192 -67
  158. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/assembler-ia32-inl.h +6 -0
  159. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/assembler-ia32.cc +187 -32
  160. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/assembler-ia32.h +31 -4
  161. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/builtins-ia32.cc +160 -133
  162. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/codegen-ia32-inl.h +0 -0
  163. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/codegen-ia32.cc +5533 -2177
  164. data/ext/v8/upstream/{2.0.6/src/x64/codegen-x64.h → 2.1.10/src/ia32/codegen-ia32.h} +453 -134
  165. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/cpu-ia32.cc +0 -0
  166. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/debug-ia32.cc +63 -8
  167. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/disasm-ia32.cc +99 -16
  168. data/ext/v8/upstream/2.1.10/src/ia32/fast-codegen-ia32.cc +950 -0
  169. data/ext/v8/upstream/2.1.10/src/ia32/fast-codegen-ia32.h +155 -0
  170. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/frames-ia32.cc +0 -0
  171. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/frames-ia32.h +0 -0
  172. data/ext/v8/upstream/{2.0.6/src/ia32/fast-codegen-ia32.cc → 2.1.10/src/ia32/full-codegen-ia32.cc} +454 -253
  173. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/ic-ia32.cc +545 -390
  174. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/jump-target-ia32.cc +1 -0
  175. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/macro-assembler-ia32.cc +330 -139
  176. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/macro-assembler-ia32.h +96 -30
  177. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/regexp-macro-assembler-ia32.cc +73 -89
  178. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/regexp-macro-assembler-ia32.h +6 -21
  179. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/register-allocator-ia32-inl.h +0 -0
  180. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/register-allocator-ia32.cc +59 -5
  181. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/register-allocator-ia32.h +0 -0
  182. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/simulator-ia32.cc +0 -0
  183. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/simulator-ia32.h +2 -2
  184. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/stub-cache-ia32.cc +745 -303
  185. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/virtual-frame-ia32.cc +278 -71
  186. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/virtual-frame-ia32.h +78 -22
  187. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ic-inl.h +0 -0
  188. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ic.cc +172 -89
  189. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ic.h +51 -20
  190. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/interpreter-irregexp.cc +0 -0
  191. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/interpreter-irregexp.h +0 -0
  192. data/ext/v8/upstream/{2.0.6/src/json-delay.js → 2.1.10/src/json.js} +26 -12
  193. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/jsregexp.cc +151 -118
  194. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/jsregexp.h +31 -7
  195. data/ext/v8/upstream/2.1.10/src/jump-target-heavy-inl.h +51 -0
  196. data/ext/v8/upstream/{2.0.6/src/jump-target.cc → 2.1.10/src/jump-target-heavy.cc} +164 -184
  197. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/jump-target-inl.h +8 -9
  198. data/ext/v8/upstream/{2.0.6/src/usage-analyzer.h → 2.1.10/src/jump-target-light-inl.h} +9 -7
  199. data/ext/v8/upstream/2.1.10/src/jump-target-light.cc +86 -0
  200. data/ext/v8/upstream/2.1.10/src/jump-target.cc +155 -0
  201. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/jump-target.h +6 -0
  202. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/list-inl.h +0 -0
  203. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/list.h +2 -1
  204. data/ext/v8/upstream/2.1.10/src/liveedit-debugger.js +944 -0
  205. data/ext/v8/upstream/2.1.10/src/liveedit.cc +1468 -0
  206. data/ext/v8/upstream/2.1.10/src/liveedit.h +170 -0
  207. data/ext/v8/upstream/2.1.10/src/log-inl.h +59 -0
  208. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/log-utils.cc +3 -9
  209. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/log-utils.h +1 -4
  210. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/log.cc +198 -95
  211. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/log.h +50 -49
  212. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/macro-assembler.h +9 -0
  213. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/macros.py +30 -11
  214. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/mark-compact.cc +464 -152
  215. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/mark-compact.h +41 -20
  216. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/math.js +9 -8
  217. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/memory.h +0 -0
  218. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/messages.cc +1 -0
  219. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/messages.h +0 -0
  220. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/messages.js +46 -9
  221. data/ext/v8/upstream/2.1.10/src/mips/assembler-mips-inl.h +215 -0
  222. data/ext/v8/upstream/2.1.10/src/mips/assembler-mips.cc +1208 -0
  223. data/ext/v8/upstream/2.1.10/src/mips/assembler-mips.h +665 -0
  224. data/ext/v8/upstream/2.1.10/src/mips/builtins-mips.cc +202 -0
  225. data/ext/v8/upstream/2.1.10/src/mips/codegen-mips-inl.h +70 -0
  226. data/ext/v8/upstream/2.1.10/src/mips/codegen-mips.cc +1428 -0
  227. data/ext/v8/upstream/{2.0.6/src/arm/codegen-arm.h → 2.1.10/src/mips/codegen-mips.h} +103 -205
  228. data/ext/v8/upstream/2.1.10/src/mips/constants-mips.cc +323 -0
  229. data/ext/v8/upstream/2.1.10/src/mips/constants-mips.h +525 -0
  230. data/ext/v8/upstream/2.1.10/src/mips/cpu-mips.cc +69 -0
  231. data/ext/v8/upstream/2.1.10/src/mips/debug-mips.cc +128 -0
  232. data/ext/v8/upstream/2.1.10/src/mips/disasm-mips.cc +784 -0
  233. data/ext/v8/upstream/2.1.10/src/mips/fast-codegen-mips.cc +74 -0
  234. data/ext/v8/upstream/2.1.10/src/mips/frames-mips.cc +99 -0
  235. data/ext/v8/upstream/2.1.10/src/mips/frames-mips.h +164 -0
  236. data/ext/v8/upstream/2.1.10/src/mips/full-codegen-mips.cc +273 -0
  237. data/ext/v8/upstream/2.1.10/src/mips/ic-mips.cc +217 -0
  238. data/ext/v8/upstream/2.1.10/src/mips/jump-target-mips.cc +172 -0
  239. data/ext/v8/upstream/2.1.10/src/mips/macro-assembler-mips.cc +1323 -0
  240. data/ext/v8/upstream/2.1.10/src/mips/macro-assembler-mips.h +461 -0
  241. data/ext/v8/upstream/2.1.10/src/mips/register-allocator-mips-inl.h +137 -0
  242. data/ext/v8/upstream/2.1.10/src/mips/register-allocator-mips.cc +60 -0
  243. data/ext/v8/upstream/2.1.10/src/mips/register-allocator-mips.h +46 -0
  244. data/ext/v8/upstream/2.1.10/src/mips/simulator-mips.cc +1648 -0
  245. data/ext/v8/upstream/2.1.10/src/mips/simulator-mips.h +311 -0
  246. data/ext/v8/upstream/2.1.10/src/mips/stub-cache-mips.cc +400 -0
  247. data/ext/v8/upstream/2.1.10/src/mips/virtual-frame-mips.cc +316 -0
  248. data/ext/v8/upstream/{2.0.6/src/arm/virtual-frame-arm.h → 2.1.10/src/mips/virtual-frame-mips.h} +87 -71
  249. data/ext/v8/upstream/{2.0.6/src/mirror-delay.js → 2.1.10/src/mirror-debugger.js} +51 -45
  250. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/mksnapshot.cc +97 -10
  251. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/natives.h +6 -6
  252. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/objects-debug.cc +47 -5
  253. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/objects-inl.h +154 -38
  254. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/objects.cc +528 -280
  255. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/objects.h +302 -95
  256. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/oprofile-agent.cc +25 -33
  257. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/oprofile-agent.h +9 -1
  258. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/parser.cc +444 -72
  259. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/parser.h +4 -2
  260. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-freebsd.cc +32 -13
  261. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-linux.cc +59 -25
  262. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-macos.cc +30 -13
  263. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-nullos.cc +0 -0
  264. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-openbsd.cc +21 -2
  265. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-posix.cc +0 -18
  266. data/ext/v8/upstream/2.1.10/src/platform-solaris.cc +607 -0
  267. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-win32.cc +16 -17
  268. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform.h +25 -8
  269. data/ext/v8/upstream/2.1.10/src/powers-ten.h +2461 -0
  270. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/prettyprinter.cc +49 -29
  271. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/prettyprinter.h +3 -1
  272. data/ext/v8/upstream/2.1.10/src/profile-generator-inl.h +124 -0
  273. data/ext/v8/upstream/2.1.10/src/profile-generator.cc +583 -0
  274. data/ext/v8/upstream/2.1.10/src/profile-generator.h +364 -0
  275. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/property.cc +1 -1
  276. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/property.h +12 -24
  277. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-irregexp-inl.h +2 -2
  278. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-irregexp.cc +2 -2
  279. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-irregexp.h +2 -2
  280. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-tracer.cc +2 -2
  281. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-tracer.h +0 -0
  282. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler.cc +33 -10
  283. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler.h +12 -4
  284. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-stack.cc +0 -0
  285. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-stack.h +0 -0
  286. data/ext/v8/upstream/{2.0.6/src/regexp-delay.js → 2.1.10/src/regexp.js} +180 -58
  287. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/register-allocator-inl.h +68 -1
  288. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/register-allocator.cc +5 -2
  289. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/register-allocator.h +42 -17
  290. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/rewriter.cc +110 -4
  291. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/rewriter.h +0 -0
  292. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/runtime.cc +2733 -623
  293. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/runtime.h +43 -20
  294. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/runtime.js +46 -35
  295. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scanner.cc +278 -36
  296. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scanner.h +97 -26
  297. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scopeinfo.cc +3 -3
  298. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scopeinfo.h +1 -0
  299. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scopes.cc +11 -12
  300. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scopes.h +0 -1
  301. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/serialize.cc +298 -175
  302. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/serialize.h +184 -40
  303. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/shell.h +0 -0
  304. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/simulator.h +2 -0
  305. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/smart-pointer.h +0 -0
  306. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/snapshot-common.cc +16 -31
  307. data/ext/v8/upstream/2.1.10/src/snapshot-empty.cc +50 -0
  308. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/snapshot.h +13 -1
  309. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/spaces-inl.h +35 -27
  310. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/spaces.cc +256 -42
  311. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/spaces.h +136 -42
  312. data/ext/v8/upstream/{2.0.6/src/zone-inl.h → 2.1.10/src/splay-tree-inl.h} +102 -89
  313. data/ext/v8/upstream/2.1.10/src/splay-tree.h +203 -0
  314. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/string-stream.cc +0 -0
  315. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/string-stream.h +0 -0
  316. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/string.js +260 -149
  317. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/stub-cache.cc +195 -69
  318. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/stub-cache.h +127 -12
  319. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/third_party/dtoa/COPYING +0 -0
  320. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/third_party/dtoa/dtoa.c +0 -0
  321. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/third_party/valgrind/valgrind.h +0 -0
  322. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/token.cc +0 -0
  323. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/token.h +0 -0
  324. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/top.cc +26 -31
  325. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/top.h +3 -4
  326. data/ext/v8/upstream/2.1.10/src/type-info.cc +53 -0
  327. data/ext/v8/upstream/2.1.10/src/type-info.h +244 -0
  328. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/unicode-inl.h +0 -0
  329. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/unicode.cc +0 -0
  330. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/unicode.h +0 -0
  331. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/uri.js +6 -6
  332. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/utils.cc +0 -37
  333. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/utils.h +121 -50
  334. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8-counters.cc +0 -0
  335. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8-counters.h +130 -98
  336. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8.cc +42 -11
  337. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8.h +4 -2
  338. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8natives.js +202 -37
  339. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8threads.cc +11 -0
  340. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8threads.h +15 -0
  341. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/variables.cc +7 -51
  342. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/variables.h +5 -35
  343. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/version.cc +3 -3
  344. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/version.h +0 -0
  345. data/ext/v8/upstream/2.1.10/src/virtual-frame-heavy-inl.h +152 -0
  346. data/ext/v8/upstream/{2.0.6/src/virtual-frame.cc → 2.1.10/src/virtual-frame-heavy.cc} +107 -176
  347. data/ext/v8/upstream/2.1.10/src/virtual-frame-inl.h +39 -0
  348. data/ext/v8/upstream/2.1.10/src/virtual-frame-light-inl.h +69 -0
  349. data/ext/v8/upstream/2.1.10/src/virtual-frame-light.cc +49 -0
  350. data/ext/v8/upstream/2.1.10/src/virtual-frame.cc +49 -0
  351. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/virtual-frame.h +2 -0
  352. data/ext/v8/upstream/{2.0.6/src/log-inl.h → 2.1.10/src/vm-state-inl.h} +28 -20
  353. data/ext/v8/upstream/{2.0.6/src/snapshot-empty.cc → 2.1.10/src/vm-state.cc} +5 -6
  354. data/ext/v8/upstream/2.1.10/src/vm-state.h +75 -0
  355. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/assembler-x64-inl.h +11 -0
  356. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/assembler-x64.cc +285 -93
  357. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/assembler-x64.h +81 -78
  358. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/builtins-x64.cc +130 -87
  359. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/codegen-x64-inl.h +0 -0
  360. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/codegen-x64.cc +4520 -1317
  361. data/ext/v8/upstream/{2.0.6/src/ia32/codegen-ia32.h → 2.1.10/src/x64/codegen-x64.h} +362 -141
  362. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/cpu-x64.cc +0 -0
  363. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/debug-x64.cc +20 -4
  364. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/disasm-x64.cc +121 -44
  365. data/ext/v8/upstream/2.1.10/src/x64/fast-codegen-x64.cc +246 -0
  366. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/frames-x64.cc +0 -0
  367. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/frames-x64.h +0 -0
  368. data/ext/v8/upstream/{2.0.6/src/x64/fast-codegen-x64.cc → 2.1.10/src/x64/full-codegen-x64.cc} +404 -231
  369. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/ic-x64.cc +346 -117
  370. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/jump-target-x64.cc +1 -0
  371. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/macro-assembler-x64.cc +537 -181
  372. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/macro-assembler-x64.h +140 -34
  373. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/regexp-macro-assembler-x64.cc +74 -96
  374. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/regexp-macro-assembler-x64.h +8 -25
  375. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/register-allocator-x64-inl.h +1 -1
  376. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/register-allocator-x64.cc +3 -0
  377. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/register-allocator-x64.h +0 -0
  378. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/simulator-x64.cc +0 -0
  379. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/simulator-x64.h +2 -2
  380. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/stub-cache-x64.cc +785 -288
  381. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/virtual-frame-x64.cc +128 -52
  382. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/virtual-frame-x64.h +40 -19
  383. data/ext/v8/upstream/2.1.10/src/zone-inl.h +82 -0
  384. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/zone.cc +1 -0
  385. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/zone.h +6 -90
  386. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/codemap.js +12 -0
  387. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/consarray.js +0 -0
  388. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/csvparser.js +22 -37
  389. data/ext/v8/upstream/2.1.10/tools/generate-ten-powers.scm +286 -0
  390. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/gyp/v8.gyp +86 -24
  391. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/js2c.py +22 -22
  392. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/jsmin.py +0 -0
  393. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/linux-tick-processor +10 -1
  394. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/linux-tick-processor.py +0 -0
  395. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/logreader.js +34 -16
  396. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/mac-nm +0 -0
  397. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/mac-tick-processor +0 -0
  398. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/annotate +0 -0
  399. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/common +0 -0
  400. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/dump +0 -0
  401. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/report +0 -0
  402. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/reset +0 -0
  403. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/run +0 -0
  404. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/shutdown +0 -0
  405. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/start +0 -0
  406. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/presubmit.py +0 -0
  407. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/process-heap-prof.py +0 -0
  408. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/profile.js +70 -0
  409. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/profile_view.js +0 -0
  410. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/run-valgrind.py +0 -0
  411. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/splaytree.js +0 -0
  412. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/splaytree.py +0 -0
  413. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/stats-viewer.py +0 -0
  414. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/test.py +7 -7
  415. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/tickprocessor-driver.js +7 -1
  416. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/tickprocessor.js +140 -9
  417. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/tickprocessor.py +40 -4
  418. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/utils.py +6 -0
  419. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/README.txt +0 -0
  420. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/arm.vsprops +1 -1
  421. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/common.vsprops +1 -2
  422. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/d8.vcproj +0 -6
  423. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/d8_arm.vcproj +193 -199
  424. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/d8_x64.vcproj +16 -8
  425. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/d8js2c.cmd +0 -0
  426. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/debug.vsprops +0 -0
  427. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/ia32.vsprops +5 -1
  428. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/js2c.cmd +1 -1
  429. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/release.vsprops +0 -0
  430. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8.sln +0 -0
  431. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8.vcproj +11 -7
  432. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_arm.sln +0 -0
  433. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_arm.vcproj +227 -223
  434. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_base.vcproj +137 -5
  435. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_base_arm.vcproj +116 -4
  436. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_base_x64.vcproj +125 -4
  437. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_cctest.vcproj +12 -6
  438. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_cctest_arm.vcproj +12 -6
  439. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_cctest_x64.vcproj +11 -11
  440. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_mksnapshot.vcproj +0 -6
  441. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_mksnapshot_x64.vcproj +0 -6
  442. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_process_sample.vcproj +0 -6
  443. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_process_sample_arm.vcproj +145 -151
  444. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_process_sample_x64.vcproj +16 -6
  445. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_shell_sample.vcproj +0 -6
  446. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_shell_sample_arm.vcproj +145 -151
  447. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_shell_sample_x64.vcproj +16 -8
  448. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_snapshot.vcproj +0 -0
  449. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_snapshot_cc.vcproj +0 -0
  450. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_snapshot_cc_x64.vcproj +0 -0
  451. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_snapshot_x64.vcproj +0 -0
  452. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_x64.sln +0 -0
  453. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_x64.vcproj +11 -7
  454. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/x64.vsprops +5 -1
  455. data/ext/v8/upstream/2.1.10/tools/windows-tick-processor.bat +29 -0
  456. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/windows-tick-processor.py +0 -0
  457. data/ext/v8/upstream/Makefile +8 -2
  458. data/ext/v8/v8.cpp +21 -73
  459. data/ext/v8/v8_array.cpp +56 -0
  460. data/ext/v8/v8_array.h +8 -0
  461. data/ext/v8/v8_callbacks.cpp +121 -0
  462. data/ext/v8/v8_callbacks.h +8 -0
  463. data/ext/v8/v8_cxt.cpp +74 -77
  464. data/ext/v8/v8_cxt.h +2 -9
  465. data/ext/v8/v8_date.cpp +26 -0
  466. data/ext/v8/v8_date.h +6 -0
  467. data/ext/v8/v8_exception.cpp +55 -0
  468. data/ext/v8/v8_exception.h +6 -0
  469. data/ext/v8/v8_external.cpp +50 -0
  470. data/ext/v8/v8_external.h +8 -0
  471. data/ext/v8/v8_func.cpp +76 -18
  472. data/ext/v8/v8_func.h +5 -4
  473. data/ext/v8/v8_msg.cpp +55 -46
  474. data/ext/v8/v8_msg.h +3 -11
  475. data/ext/v8/v8_obj.cpp +67 -36
  476. data/ext/v8/v8_obj.h +6 -8
  477. data/ext/v8/v8_ref.cpp +25 -9
  478. data/ext/v8/v8_ref.h +3 -5
  479. data/ext/v8/v8_script.cpp +17 -10
  480. data/ext/v8/v8_script.h +3 -3
  481. data/ext/v8/v8_str.cpp +34 -6
  482. data/ext/v8/v8_str.h +4 -2
  483. data/ext/v8/v8_template.cpp +195 -33
  484. data/ext/v8/v8_template.h +4 -5
  485. data/ext/v8/v8_try_catch.cpp +99 -0
  486. data/ext/v8/v8_try_catch.h +5 -0
  487. data/ext/v8/v8_value.cpp +164 -0
  488. data/ext/v8/v8_value.h +10 -0
  489. data/lib/v8.rb +3 -1
  490. data/lib/v8/access.rb +60 -0
  491. data/lib/v8/array.rb +15 -0
  492. data/lib/v8/callbacks.rb +88 -0
  493. data/lib/v8/cli.rb +1 -1
  494. data/lib/v8/context.rb +55 -66
  495. data/lib/v8/function.rb +20 -2
  496. data/lib/v8/object.rb +14 -12
  497. data/lib/v8/ruby_error.rb +3 -0
  498. data/lib/v8/to.rb +59 -7
  499. data/spec/ext/cxt_spec.rb +2 -15
  500. data/spec/ext/func_spec.rb +17 -10
  501. data/spec/ext/try_catch_spec.rb +32 -0
  502. data/spec/foo.rb +17 -0
  503. data/spec/redjs/jsapi_spec.rb +173 -96
  504. data/spec/spec_helper.rb +7 -0
  505. data/spec/v8/to_spec.rb +0 -1
  506. data/therubyracer.gemspec +6 -6
  507. metadata +493 -386
  508. data/ext/v8/upstream/2.0.6/src/arm/ic-arm.cc +0 -849
  509. data/ext/v8/upstream/2.0.6/src/arm/virtual-frame-arm.cc +0 -412
  510. data/ext/v8/upstream/2.0.6/src/ast.cc +0 -512
  511. data/ext/v8/upstream/2.0.6/src/builtins.cc +0 -851
  512. data/ext/v8/upstream/2.0.6/src/compiler.cc +0 -1132
  513. data/ext/v8/upstream/2.0.6/src/compiler.h +0 -107
  514. data/ext/v8/upstream/2.0.6/src/conversions.cc +0 -709
  515. data/ext/v8/upstream/2.0.6/src/usage-analyzer.cc +0 -426
  516. data/ext/v8/upstream/2.0.6/tools/windows-tick-processor.bat +0 -5
  517. data/ext/v8/upstream/no-strict-aliasing.patch +0 -13
  518. data/ext/v8/v8_standalone.cpp +0 -69
  519. data/ext/v8/v8_standalone.h +0 -31
  520. data/spec/ext/obj_spec.rb +0 -13
@@ -511,7 +511,7 @@ void Time::SetToCurrentTime() {
511
511
  // takes into account whether daylight saving is in effect at the time.
512
512
  // Only times in the 32-bit Unix range may be passed to this function.
513
513
  // Also, adding the time-zone offset to the input must not overflow.
514
- // The function EquivalentTime() in date-delay.js guarantees this.
514
+ // The function EquivalentTime() in date.js guarantees this.
515
515
  int64_t Time::LocalOffset() {
516
516
  // Initialize timezone information, if needed.
517
517
  TzSet();
@@ -1803,36 +1803,35 @@ class Sampler::PlatformData : public Malloced {
1803
1803
  // Context used for sampling the register state of the profiled thread.
1804
1804
  CONTEXT context;
1805
1805
  memset(&context, 0, sizeof(context));
1806
- // Loop until the sampler is disengaged.
1807
- while (sampler_->IsActive()) {
1808
- TickSample sample;
1806
+ // Loop until the sampler is disengaged, keeping the specified samling freq.
1807
+ for ( ; sampler_->IsActive(); Sleep(sampler_->interval_)) {
1808
+ TickSample sample_obj;
1809
+ TickSample* sample = CpuProfiler::TickSampleEvent();
1810
+ if (sample == NULL) sample = &sample_obj;
1809
1811
 
1812
+ // We always sample the VM state.
1813
+ sample->state = VMState::current_state();
1810
1814
  // If profiling, we record the pc and sp of the profiled thread.
1811
1815
  if (sampler_->IsProfiling()
1812
1816
  && SuspendThread(profiled_thread_) != (DWORD)-1) {
1813
1817
  context.ContextFlags = CONTEXT_FULL;
1814
1818
  if (GetThreadContext(profiled_thread_, &context) != 0) {
1815
1819
  #if V8_HOST_ARCH_X64
1816
- sample.pc = context.Rip;
1817
- sample.sp = context.Rsp;
1818
- sample.fp = context.Rbp;
1820
+ sample->pc = reinterpret_cast<Address>(context.Rip);
1821
+ sample->sp = reinterpret_cast<Address>(context.Rsp);
1822
+ sample->fp = reinterpret_cast<Address>(context.Rbp);
1819
1823
  #else
1820
- sample.pc = context.Eip;
1821
- sample.sp = context.Esp;
1822
- sample.fp = context.Ebp;
1824
+ sample->pc = reinterpret_cast<Address>(context.Eip);
1825
+ sample->sp = reinterpret_cast<Address>(context.Esp);
1826
+ sample->fp = reinterpret_cast<Address>(context.Ebp);
1823
1827
  #endif
1824
- sampler_->SampleStack(&sample);
1828
+ sampler_->SampleStack(sample);
1825
1829
  }
1826
1830
  ResumeThread(profiled_thread_);
1827
1831
  }
1828
1832
 
1829
- // We always sample the VM state.
1830
- sample.state = Logger::state();
1831
1833
  // Invoke tick handler with program counter and stack pointer.
1832
- sampler_->Tick(&sample);
1833
-
1834
- // Wait until next sampling.
1835
- Sleep(sampler_->interval_);
1834
+ sampler_->Tick(sample);
1836
1835
  }
1837
1836
  }
1838
1837
  };
@@ -44,6 +44,12 @@
44
44
  #ifndef V8_PLATFORM_H_
45
45
  #define V8_PLATFORM_H_
46
46
 
47
+ #ifdef __sun
48
+ // On Solaris, to get isinf, INFINITY, fpclassify and other macros one needs
49
+ // to define this symbol
50
+ #define __C99FEATURES__ 1
51
+ #endif
52
+
47
53
  #define V8_INFINITY INFINITY
48
54
 
49
55
  // Windows specific stuff.
@@ -108,6 +114,10 @@ int random();
108
114
  namespace v8 {
109
115
  namespace internal {
110
116
 
117
+ // Use AtomicWord for a machine-sized pointer. It is assumed that
118
+ // reads and writes of naturally aligned values of this type are atomic.
119
+ typedef intptr_t AtomicWord;
120
+
111
121
  class Semaphore;
112
122
 
113
123
  double ceiling(double x);
@@ -495,7 +505,6 @@ class Socket {
495
505
  };
496
506
 
497
507
 
498
- #ifdef ENABLE_LOGGING_AND_PROFILING
499
508
  // ----------------------------------------------------------------------------
500
509
  // Sampler
501
510
  //
@@ -506,16 +515,24 @@ class Socket {
506
515
  // TickSample captures the information collected for each sample.
507
516
  class TickSample {
508
517
  public:
509
- TickSample() : pc(0), sp(0), fp(0), state(OTHER), frames_count(0) {}
510
- uintptr_t pc; // Instruction pointer.
511
- uintptr_t sp; // Stack pointer.
512
- uintptr_t fp; // Frame pointer.
513
- StateTag state; // The state of the VM.
514
- static const int kMaxFramesCount = 100;
515
- EmbeddedVector<Address, kMaxFramesCount> stack; // Call stack.
518
+ TickSample()
519
+ : state(OTHER),
520
+ pc(NULL),
521
+ sp(NULL),
522
+ fp(NULL),
523
+ function(NULL),
524
+ frames_count(0) {}
525
+ StateTag state; // The state of the VM.
526
+ Address pc; // Instruction pointer.
527
+ Address sp; // Stack pointer.
528
+ Address fp; // Frame pointer.
529
+ Address function; // The last called JS function.
530
+ static const int kMaxFramesCount = 64;
531
+ Address stack[kMaxFramesCount]; // Call stack.
516
532
  int frames_count; // Number of captured frames.
517
533
  };
518
534
 
535
+ #ifdef ENABLE_LOGGING_AND_PROFILING
519
536
  class Sampler {
520
537
  public:
521
538
  // Initialize sampler.
@@ -0,0 +1,2461 @@
1
+ // Copyright 2010 the V8 project authors. All rights reserved.
2
+ // ------------ GENERATED FILE ----------------
3
+ // command used:
4
+ // tools/generate-ten-powers --from -308 --to 342 --mantissa-size 64 --round round -o src/powers-ten.h // NOLINT
5
+
6
+ // This file is intended to be included inside another .h or .cc files
7
+ // with the following defines set:
8
+ // GRISU_CACHE_STRUCT: should expand to the name of a struct that will
9
+ // hold the cached powers of ten. Each entry will hold a 64-bit
10
+ // significand, a 16-bit signed binary exponent, and a 16-bit
11
+ // signed decimal exponent. Each entry will be constructed as follows:
12
+ // { significand, binary_exponent, decimal_exponent }.
13
+ // GRISU_CACHE_NAME(i): generates the name for the different caches.
14
+ // The parameter i will be a number in the range 1-20. A cache will
15
+ // hold every i'th element of a full cache. GRISU_CACHE_NAME(1) will
16
+ // thus hold all elements. The higher i the fewer elements it has.
17
+ // Ideally the user should only reference one cache and let the
18
+ // compiler remove the unused ones.
19
+ // GRISU_CACHE_MAX_DISTANCE(i): generates the name for the maximum
20
+ // binary exponent distance between all elements of a given cache.
21
+ // GRISU_CACHE_OFFSET: is used as variable name for the decimal
22
+ // exponent offset. It is equal to -cache[0].decimal_exponent.
23
+ // GRISU_UINT64_C: used to construct 64-bit values in a platform
24
+ // independent way. In order to encode 0x123456789ABCDEF0 the macro
25
+ // will be invoked as follows: GRISU_UINT64_C(0x12345678,9ABCDEF0).
26
+
27
+
28
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(1)[] = {
29
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
30
+ {GRISU_UINT64_C(0x8fd0c162, 06306bac), -1083, -307},
31
+ {GRISU_UINT64_C(0xb3c4f1ba, 87bc8697), -1080, -306},
32
+ {GRISU_UINT64_C(0xe0b62e29, 29aba83c), -1077, -305},
33
+ {GRISU_UINT64_C(0x8c71dcd9, ba0b4926), -1073, -304},
34
+ {GRISU_UINT64_C(0xaf8e5410, 288e1b6f), -1070, -303},
35
+ {GRISU_UINT64_C(0xdb71e914, 32b1a24b), -1067, -302},
36
+ {GRISU_UINT64_C(0x892731ac, 9faf056f), -1063, -301},
37
+ {GRISU_UINT64_C(0xab70fe17, c79ac6ca), -1060, -300},
38
+ {GRISU_UINT64_C(0xd64d3d9d, b981787d), -1057, -299},
39
+ {GRISU_UINT64_C(0x85f04682, 93f0eb4e), -1053, -298},
40
+ {GRISU_UINT64_C(0xa76c5823, 38ed2622), -1050, -297},
41
+ {GRISU_UINT64_C(0xd1476e2c, 07286faa), -1047, -296},
42
+ {GRISU_UINT64_C(0x82cca4db, 847945ca), -1043, -295},
43
+ {GRISU_UINT64_C(0xa37fce12, 6597973d), -1040, -294},
44
+ {GRISU_UINT64_C(0xcc5fc196, fefd7d0c), -1037, -293},
45
+ {GRISU_UINT64_C(0xff77b1fc, bebcdc4f), -1034, -292},
46
+ {GRISU_UINT64_C(0x9faacf3d, f73609b1), -1030, -291},
47
+ {GRISU_UINT64_C(0xc795830d, 75038c1e), -1027, -290},
48
+ {GRISU_UINT64_C(0xf97ae3d0, d2446f25), -1024, -289},
49
+ {GRISU_UINT64_C(0x9becce62, 836ac577), -1020, -288},
50
+ {GRISU_UINT64_C(0xc2e801fb, 244576d5), -1017, -287},
51
+ {GRISU_UINT64_C(0xf3a20279, ed56d48a), -1014, -286},
52
+ {GRISU_UINT64_C(0x9845418c, 345644d7), -1010, -285},
53
+ {GRISU_UINT64_C(0xbe5691ef, 416bd60c), -1007, -284},
54
+ {GRISU_UINT64_C(0xedec366b, 11c6cb8f), -1004, -283},
55
+ {GRISU_UINT64_C(0x94b3a202, eb1c3f39), -1000, -282},
56
+ {GRISU_UINT64_C(0xb9e08a83, a5e34f08), -997, -281},
57
+ {GRISU_UINT64_C(0xe858ad24, 8f5c22ca), -994, -280},
58
+ {GRISU_UINT64_C(0x91376c36, d99995be), -990, -279},
59
+ {GRISU_UINT64_C(0xb5854744, 8ffffb2e), -987, -278},
60
+ {GRISU_UINT64_C(0xe2e69915, b3fff9f9), -984, -277},
61
+ {GRISU_UINT64_C(0x8dd01fad, 907ffc3c), -980, -276},
62
+ {GRISU_UINT64_C(0xb1442798, f49ffb4b), -977, -275},
63
+ {GRISU_UINT64_C(0xdd95317f, 31c7fa1d), -974, -274},
64
+ {GRISU_UINT64_C(0x8a7d3eef, 7f1cfc52), -970, -273},
65
+ {GRISU_UINT64_C(0xad1c8eab, 5ee43b67), -967, -272},
66
+ {GRISU_UINT64_C(0xd863b256, 369d4a41), -964, -271},
67
+ {GRISU_UINT64_C(0x873e4f75, e2224e68), -960, -270},
68
+ {GRISU_UINT64_C(0xa90de353, 5aaae202), -957, -269},
69
+ {GRISU_UINT64_C(0xd3515c28, 31559a83), -954, -268},
70
+ {GRISU_UINT64_C(0x8412d999, 1ed58092), -950, -267},
71
+ {GRISU_UINT64_C(0xa5178fff, 668ae0b6), -947, -266},
72
+ {GRISU_UINT64_C(0xce5d73ff, 402d98e4), -944, -265},
73
+ {GRISU_UINT64_C(0x80fa687f, 881c7f8e), -940, -264},
74
+ {GRISU_UINT64_C(0xa139029f, 6a239f72), -937, -263},
75
+ {GRISU_UINT64_C(0xc9874347, 44ac874f), -934, -262},
76
+ {GRISU_UINT64_C(0xfbe91419, 15d7a922), -931, -261},
77
+ {GRISU_UINT64_C(0x9d71ac8f, ada6c9b5), -927, -260},
78
+ {GRISU_UINT64_C(0xc4ce17b3, 99107c23), -924, -259},
79
+ {GRISU_UINT64_C(0xf6019da0, 7f549b2b), -921, -258},
80
+ {GRISU_UINT64_C(0x99c10284, 4f94e0fb), -917, -257},
81
+ {GRISU_UINT64_C(0xc0314325, 637a193a), -914, -256},
82
+ {GRISU_UINT64_C(0xf03d93ee, bc589f88), -911, -255},
83
+ {GRISU_UINT64_C(0x96267c75, 35b763b5), -907, -254},
84
+ {GRISU_UINT64_C(0xbbb01b92, 83253ca3), -904, -253},
85
+ {GRISU_UINT64_C(0xea9c2277, 23ee8bcb), -901, -252},
86
+ {GRISU_UINT64_C(0x92a1958a, 7675175f), -897, -251},
87
+ {GRISU_UINT64_C(0xb749faed, 14125d37), -894, -250},
88
+ {GRISU_UINT64_C(0xe51c79a8, 5916f485), -891, -249},
89
+ {GRISU_UINT64_C(0x8f31cc09, 37ae58d3), -887, -248},
90
+ {GRISU_UINT64_C(0xb2fe3f0b, 8599ef08), -884, -247},
91
+ {GRISU_UINT64_C(0xdfbdcece, 67006ac9), -881, -246},
92
+ {GRISU_UINT64_C(0x8bd6a141, 006042be), -877, -245},
93
+ {GRISU_UINT64_C(0xaecc4991, 4078536d), -874, -244},
94
+ {GRISU_UINT64_C(0xda7f5bf5, 90966849), -871, -243},
95
+ {GRISU_UINT64_C(0x888f9979, 7a5e012d), -867, -242},
96
+ {GRISU_UINT64_C(0xaab37fd7, d8f58179), -864, -241},
97
+ {GRISU_UINT64_C(0xd5605fcd, cf32e1d7), -861, -240},
98
+ {GRISU_UINT64_C(0x855c3be0, a17fcd26), -857, -239},
99
+ {GRISU_UINT64_C(0xa6b34ad8, c9dfc070), -854, -238},
100
+ {GRISU_UINT64_C(0xd0601d8e, fc57b08c), -851, -237},
101
+ {GRISU_UINT64_C(0x823c1279, 5db6ce57), -847, -236},
102
+ {GRISU_UINT64_C(0xa2cb1717, b52481ed), -844, -235},
103
+ {GRISU_UINT64_C(0xcb7ddcdd, a26da269), -841, -234},
104
+ {GRISU_UINT64_C(0xfe5d5415, 0b090b03), -838, -233},
105
+ {GRISU_UINT64_C(0x9efa548d, 26e5a6e2), -834, -232},
106
+ {GRISU_UINT64_C(0xc6b8e9b0, 709f109a), -831, -231},
107
+ {GRISU_UINT64_C(0xf867241c, 8cc6d4c1), -828, -230},
108
+ {GRISU_UINT64_C(0x9b407691, d7fc44f8), -824, -229},
109
+ {GRISU_UINT64_C(0xc2109436, 4dfb5637), -821, -228},
110
+ {GRISU_UINT64_C(0xf294b943, e17a2bc4), -818, -227},
111
+ {GRISU_UINT64_C(0x979cf3ca, 6cec5b5b), -814, -226},
112
+ {GRISU_UINT64_C(0xbd8430bd, 08277231), -811, -225},
113
+ {GRISU_UINT64_C(0xece53cec, 4a314ebe), -808, -224},
114
+ {GRISU_UINT64_C(0x940f4613, ae5ed137), -804, -223},
115
+ {GRISU_UINT64_C(0xb9131798, 99f68584), -801, -222},
116
+ {GRISU_UINT64_C(0xe757dd7e, c07426e5), -798, -221},
117
+ {GRISU_UINT64_C(0x9096ea6f, 3848984f), -794, -220},
118
+ {GRISU_UINT64_C(0xb4bca50b, 065abe63), -791, -219},
119
+ {GRISU_UINT64_C(0xe1ebce4d, c7f16dfc), -788, -218},
120
+ {GRISU_UINT64_C(0x8d3360f0, 9cf6e4bd), -784, -217},
121
+ {GRISU_UINT64_C(0xb080392c, c4349ded), -781, -216},
122
+ {GRISU_UINT64_C(0xdca04777, f541c568), -778, -215},
123
+ {GRISU_UINT64_C(0x89e42caa, f9491b61), -774, -214},
124
+ {GRISU_UINT64_C(0xac5d37d5, b79b6239), -771, -213},
125
+ {GRISU_UINT64_C(0xd77485cb, 25823ac7), -768, -212},
126
+ {GRISU_UINT64_C(0x86a8d39e, f77164bd), -764, -211},
127
+ {GRISU_UINT64_C(0xa8530886, b54dbdec), -761, -210},
128
+ {GRISU_UINT64_C(0xd267caa8, 62a12d67), -758, -209},
129
+ {GRISU_UINT64_C(0x8380dea9, 3da4bc60), -754, -208},
130
+ {GRISU_UINT64_C(0xa4611653, 8d0deb78), -751, -207},
131
+ {GRISU_UINT64_C(0xcd795be8, 70516656), -748, -206},
132
+ {GRISU_UINT64_C(0x806bd971, 4632dff6), -744, -205},
133
+ {GRISU_UINT64_C(0xa086cfcd, 97bf97f4), -741, -204},
134
+ {GRISU_UINT64_C(0xc8a883c0, fdaf7df0), -738, -203},
135
+ {GRISU_UINT64_C(0xfad2a4b1, 3d1b5d6c), -735, -202},
136
+ {GRISU_UINT64_C(0x9cc3a6ee, c6311a64), -731, -201},
137
+ {GRISU_UINT64_C(0xc3f490aa, 77bd60fd), -728, -200},
138
+ {GRISU_UINT64_C(0xf4f1b4d5, 15acb93c), -725, -199},
139
+ {GRISU_UINT64_C(0x99171105, 2d8bf3c5), -721, -198},
140
+ {GRISU_UINT64_C(0xbf5cd546, 78eef0b7), -718, -197},
141
+ {GRISU_UINT64_C(0xef340a98, 172aace5), -715, -196},
142
+ {GRISU_UINT64_C(0x9580869f, 0e7aac0f), -711, -195},
143
+ {GRISU_UINT64_C(0xbae0a846, d2195713), -708, -194},
144
+ {GRISU_UINT64_C(0xe998d258, 869facd7), -705, -193},
145
+ {GRISU_UINT64_C(0x91ff8377, 5423cc06), -701, -192},
146
+ {GRISU_UINT64_C(0xb67f6455, 292cbf08), -698, -191},
147
+ {GRISU_UINT64_C(0xe41f3d6a, 7377eeca), -695, -190},
148
+ {GRISU_UINT64_C(0x8e938662, 882af53e), -691, -189},
149
+ {GRISU_UINT64_C(0xb23867fb, 2a35b28e), -688, -188},
150
+ {GRISU_UINT64_C(0xdec681f9, f4c31f31), -685, -187},
151
+ {GRISU_UINT64_C(0x8b3c113c, 38f9f37f), -681, -186},
152
+ {GRISU_UINT64_C(0xae0b158b, 4738705f), -678, -185},
153
+ {GRISU_UINT64_C(0xd98ddaee, 19068c76), -675, -184},
154
+ {GRISU_UINT64_C(0x87f8a8d4, cfa417ca), -671, -183},
155
+ {GRISU_UINT64_C(0xa9f6d30a, 038d1dbc), -668, -182},
156
+ {GRISU_UINT64_C(0xd47487cc, 8470652b), -665, -181},
157
+ {GRISU_UINT64_C(0x84c8d4df, d2c63f3b), -661, -180},
158
+ {GRISU_UINT64_C(0xa5fb0a17, c777cf0a), -658, -179},
159
+ {GRISU_UINT64_C(0xcf79cc9d, b955c2cc), -655, -178},
160
+ {GRISU_UINT64_C(0x81ac1fe2, 93d599c0), -651, -177},
161
+ {GRISU_UINT64_C(0xa21727db, 38cb0030), -648, -176},
162
+ {GRISU_UINT64_C(0xca9cf1d2, 06fdc03c), -645, -175},
163
+ {GRISU_UINT64_C(0xfd442e46, 88bd304b), -642, -174},
164
+ {GRISU_UINT64_C(0x9e4a9cec, 15763e2f), -638, -173},
165
+ {GRISU_UINT64_C(0xc5dd4427, 1ad3cdba), -635, -172},
166
+ {GRISU_UINT64_C(0xf7549530, e188c129), -632, -171},
167
+ {GRISU_UINT64_C(0x9a94dd3e, 8cf578ba), -628, -170},
168
+ {GRISU_UINT64_C(0xc13a148e, 3032d6e8), -625, -169},
169
+ {GRISU_UINT64_C(0xf18899b1, bc3f8ca2), -622, -168},
170
+ {GRISU_UINT64_C(0x96f5600f, 15a7b7e5), -618, -167},
171
+ {GRISU_UINT64_C(0xbcb2b812, db11a5de), -615, -166},
172
+ {GRISU_UINT64_C(0xebdf6617, 91d60f56), -612, -165},
173
+ {GRISU_UINT64_C(0x936b9fce, bb25c996), -608, -164},
174
+ {GRISU_UINT64_C(0xb84687c2, 69ef3bfb), -605, -163},
175
+ {GRISU_UINT64_C(0xe65829b3, 046b0afa), -602, -162},
176
+ {GRISU_UINT64_C(0x8ff71a0f, e2c2e6dc), -598, -161},
177
+ {GRISU_UINT64_C(0xb3f4e093, db73a093), -595, -160},
178
+ {GRISU_UINT64_C(0xe0f218b8, d25088b8), -592, -159},
179
+ {GRISU_UINT64_C(0x8c974f73, 83725573), -588, -158},
180
+ {GRISU_UINT64_C(0xafbd2350, 644eead0), -585, -157},
181
+ {GRISU_UINT64_C(0xdbac6c24, 7d62a584), -582, -156},
182
+ {GRISU_UINT64_C(0x894bc396, ce5da772), -578, -155},
183
+ {GRISU_UINT64_C(0xab9eb47c, 81f5114f), -575, -154},
184
+ {GRISU_UINT64_C(0xd686619b, a27255a3), -572, -153},
185
+ {GRISU_UINT64_C(0x8613fd01, 45877586), -568, -152},
186
+ {GRISU_UINT64_C(0xa798fc41, 96e952e7), -565, -151},
187
+ {GRISU_UINT64_C(0xd17f3b51, fca3a7a1), -562, -150},
188
+ {GRISU_UINT64_C(0x82ef8513, 3de648c5), -558, -149},
189
+ {GRISU_UINT64_C(0xa3ab6658, 0d5fdaf6), -555, -148},
190
+ {GRISU_UINT64_C(0xcc963fee, 10b7d1b3), -552, -147},
191
+ {GRISU_UINT64_C(0xffbbcfe9, 94e5c620), -549, -146},
192
+ {GRISU_UINT64_C(0x9fd561f1, fd0f9bd4), -545, -145},
193
+ {GRISU_UINT64_C(0xc7caba6e, 7c5382c9), -542, -144},
194
+ {GRISU_UINT64_C(0xf9bd690a, 1b68637b), -539, -143},
195
+ {GRISU_UINT64_C(0x9c1661a6, 51213e2d), -535, -142},
196
+ {GRISU_UINT64_C(0xc31bfa0f, e5698db8), -532, -141},
197
+ {GRISU_UINT64_C(0xf3e2f893, dec3f126), -529, -140},
198
+ {GRISU_UINT64_C(0x986ddb5c, 6b3a76b8), -525, -139},
199
+ {GRISU_UINT64_C(0xbe895233, 86091466), -522, -138},
200
+ {GRISU_UINT64_C(0xee2ba6c0, 678b597f), -519, -137},
201
+ {GRISU_UINT64_C(0x94db4838, 40b717f0), -515, -136},
202
+ {GRISU_UINT64_C(0xba121a46, 50e4ddec), -512, -135},
203
+ {GRISU_UINT64_C(0xe896a0d7, e51e1566), -509, -134},
204
+ {GRISU_UINT64_C(0x915e2486, ef32cd60), -505, -133},
205
+ {GRISU_UINT64_C(0xb5b5ada8, aaff80b8), -502, -132},
206
+ {GRISU_UINT64_C(0xe3231912, d5bf60e6), -499, -131},
207
+ {GRISU_UINT64_C(0x8df5efab, c5979c90), -495, -130},
208
+ {GRISU_UINT64_C(0xb1736b96, b6fd83b4), -492, -129},
209
+ {GRISU_UINT64_C(0xddd0467c, 64bce4a1), -489, -128},
210
+ {GRISU_UINT64_C(0x8aa22c0d, bef60ee4), -485, -127},
211
+ {GRISU_UINT64_C(0xad4ab711, 2eb3929e), -482, -126},
212
+ {GRISU_UINT64_C(0xd89d64d5, 7a607745), -479, -125},
213
+ {GRISU_UINT64_C(0x87625f05, 6c7c4a8b), -475, -124},
214
+ {GRISU_UINT64_C(0xa93af6c6, c79b5d2e), -472, -123},
215
+ {GRISU_UINT64_C(0xd389b478, 79823479), -469, -122},
216
+ {GRISU_UINT64_C(0x843610cb, 4bf160cc), -465, -121},
217
+ {GRISU_UINT64_C(0xa54394fe, 1eedb8ff), -462, -120},
218
+ {GRISU_UINT64_C(0xce947a3d, a6a9273e), -459, -119},
219
+ {GRISU_UINT64_C(0x811ccc66, 8829b887), -455, -118},
220
+ {GRISU_UINT64_C(0xa163ff80, 2a3426a9), -452, -117},
221
+ {GRISU_UINT64_C(0xc9bcff60, 34c13053), -449, -116},
222
+ {GRISU_UINT64_C(0xfc2c3f38, 41f17c68), -446, -115},
223
+ {GRISU_UINT64_C(0x9d9ba783, 2936edc1), -442, -114},
224
+ {GRISU_UINT64_C(0xc5029163, f384a931), -439, -113},
225
+ {GRISU_UINT64_C(0xf64335bc, f065d37d), -436, -112},
226
+ {GRISU_UINT64_C(0x99ea0196, 163fa42e), -432, -111},
227
+ {GRISU_UINT64_C(0xc06481fb, 9bcf8d3a), -429, -110},
228
+ {GRISU_UINT64_C(0xf07da27a, 82c37088), -426, -109},
229
+ {GRISU_UINT64_C(0x964e858c, 91ba2655), -422, -108},
230
+ {GRISU_UINT64_C(0xbbe226ef, b628afeb), -419, -107},
231
+ {GRISU_UINT64_C(0xeadab0ab, a3b2dbe5), -416, -106},
232
+ {GRISU_UINT64_C(0x92c8ae6b, 464fc96f), -412, -105},
233
+ {GRISU_UINT64_C(0xb77ada06, 17e3bbcb), -409, -104},
234
+ {GRISU_UINT64_C(0xe5599087, 9ddcaabe), -406, -103},
235
+ {GRISU_UINT64_C(0x8f57fa54, c2a9eab7), -402, -102},
236
+ {GRISU_UINT64_C(0xb32df8e9, f3546564), -399, -101},
237
+ {GRISU_UINT64_C(0xdff97724, 70297ebd), -396, -100},
238
+ {GRISU_UINT64_C(0x8bfbea76, c619ef36), -392, -99},
239
+ {GRISU_UINT64_C(0xaefae514, 77a06b04), -389, -98},
240
+ {GRISU_UINT64_C(0xdab99e59, 958885c5), -386, -97},
241
+ {GRISU_UINT64_C(0x88b402f7, fd75539b), -382, -96},
242
+ {GRISU_UINT64_C(0xaae103b5, fcd2a882), -379, -95},
243
+ {GRISU_UINT64_C(0xd59944a3, 7c0752a2), -376, -94},
244
+ {GRISU_UINT64_C(0x857fcae6, 2d8493a5), -372, -93},
245
+ {GRISU_UINT64_C(0xa6dfbd9f, b8e5b88f), -369, -92},
246
+ {GRISU_UINT64_C(0xd097ad07, a71f26b2), -366, -91},
247
+ {GRISU_UINT64_C(0x825ecc24, c8737830), -362, -90},
248
+ {GRISU_UINT64_C(0xa2f67f2d, fa90563b), -359, -89},
249
+ {GRISU_UINT64_C(0xcbb41ef9, 79346bca), -356, -88},
250
+ {GRISU_UINT64_C(0xfea126b7, d78186bd), -353, -87},
251
+ {GRISU_UINT64_C(0x9f24b832, e6b0f436), -349, -86},
252
+ {GRISU_UINT64_C(0xc6ede63f, a05d3144), -346, -85},
253
+ {GRISU_UINT64_C(0xf8a95fcf, 88747d94), -343, -84},
254
+ {GRISU_UINT64_C(0x9b69dbe1, b548ce7d), -339, -83},
255
+ {GRISU_UINT64_C(0xc24452da, 229b021c), -336, -82},
256
+ {GRISU_UINT64_C(0xf2d56790, ab41c2a3), -333, -81},
257
+ {GRISU_UINT64_C(0x97c560ba, 6b0919a6), -329, -80},
258
+ {GRISU_UINT64_C(0xbdb6b8e9, 05cb600f), -326, -79},
259
+ {GRISU_UINT64_C(0xed246723, 473e3813), -323, -78},
260
+ {GRISU_UINT64_C(0x9436c076, 0c86e30c), -319, -77},
261
+ {GRISU_UINT64_C(0xb9447093, 8fa89bcf), -316, -76},
262
+ {GRISU_UINT64_C(0xe7958cb8, 7392c2c3), -313, -75},
263
+ {GRISU_UINT64_C(0x90bd77f3, 483bb9ba), -309, -74},
264
+ {GRISU_UINT64_C(0xb4ecd5f0, 1a4aa828), -306, -73},
265
+ {GRISU_UINT64_C(0xe2280b6c, 20dd5232), -303, -72},
266
+ {GRISU_UINT64_C(0x8d590723, 948a535f), -299, -71},
267
+ {GRISU_UINT64_C(0xb0af48ec, 79ace837), -296, -70},
268
+ {GRISU_UINT64_C(0xdcdb1b27, 98182245), -293, -69},
269
+ {GRISU_UINT64_C(0x8a08f0f8, bf0f156b), -289, -68},
270
+ {GRISU_UINT64_C(0xac8b2d36, eed2dac6), -286, -67},
271
+ {GRISU_UINT64_C(0xd7adf884, aa879177), -283, -66},
272
+ {GRISU_UINT64_C(0x86ccbb52, ea94baeb), -279, -65},
273
+ {GRISU_UINT64_C(0xa87fea27, a539e9a5), -276, -64},
274
+ {GRISU_UINT64_C(0xd29fe4b1, 8e88640f), -273, -63},
275
+ {GRISU_UINT64_C(0x83a3eeee, f9153e89), -269, -62},
276
+ {GRISU_UINT64_C(0xa48ceaaa, b75a8e2b), -266, -61},
277
+ {GRISU_UINT64_C(0xcdb02555, 653131b6), -263, -60},
278
+ {GRISU_UINT64_C(0x808e1755, 5f3ebf12), -259, -59},
279
+ {GRISU_UINT64_C(0xa0b19d2a, b70e6ed6), -256, -58},
280
+ {GRISU_UINT64_C(0xc8de0475, 64d20a8c), -253, -57},
281
+ {GRISU_UINT64_C(0xfb158592, be068d2f), -250, -56},
282
+ {GRISU_UINT64_C(0x9ced737b, b6c4183d), -246, -55},
283
+ {GRISU_UINT64_C(0xc428d05a, a4751e4d), -243, -54},
284
+ {GRISU_UINT64_C(0xf5330471, 4d9265e0), -240, -53},
285
+ {GRISU_UINT64_C(0x993fe2c6, d07b7fac), -236, -52},
286
+ {GRISU_UINT64_C(0xbf8fdb78, 849a5f97), -233, -51},
287
+ {GRISU_UINT64_C(0xef73d256, a5c0f77d), -230, -50},
288
+ {GRISU_UINT64_C(0x95a86376, 27989aae), -226, -49},
289
+ {GRISU_UINT64_C(0xbb127c53, b17ec159), -223, -48},
290
+ {GRISU_UINT64_C(0xe9d71b68, 9dde71b0), -220, -47},
291
+ {GRISU_UINT64_C(0x92267121, 62ab070e), -216, -46},
292
+ {GRISU_UINT64_C(0xb6b00d69, bb55c8d1), -213, -45},
293
+ {GRISU_UINT64_C(0xe45c10c4, 2a2b3b06), -210, -44},
294
+ {GRISU_UINT64_C(0x8eb98a7a, 9a5b04e3), -206, -43},
295
+ {GRISU_UINT64_C(0xb267ed19, 40f1c61c), -203, -42},
296
+ {GRISU_UINT64_C(0xdf01e85f, 912e37a3), -200, -41},
297
+ {GRISU_UINT64_C(0x8b61313b, babce2c6), -196, -40},
298
+ {GRISU_UINT64_C(0xae397d8a, a96c1b78), -193, -39},
299
+ {GRISU_UINT64_C(0xd9c7dced, 53c72256), -190, -38},
300
+ {GRISU_UINT64_C(0x881cea14, 545c7575), -186, -37},
301
+ {GRISU_UINT64_C(0xaa242499, 697392d3), -183, -36},
302
+ {GRISU_UINT64_C(0xd4ad2dbf, c3d07788), -180, -35},
303
+ {GRISU_UINT64_C(0x84ec3c97, da624ab5), -176, -34},
304
+ {GRISU_UINT64_C(0xa6274bbd, d0fadd62), -173, -33},
305
+ {GRISU_UINT64_C(0xcfb11ead, 453994ba), -170, -32},
306
+ {GRISU_UINT64_C(0x81ceb32c, 4b43fcf5), -166, -31},
307
+ {GRISU_UINT64_C(0xa2425ff7, 5e14fc32), -163, -30},
308
+ {GRISU_UINT64_C(0xcad2f7f5, 359a3b3e), -160, -29},
309
+ {GRISU_UINT64_C(0xfd87b5f2, 8300ca0e), -157, -28},
310
+ {GRISU_UINT64_C(0x9e74d1b7, 91e07e48), -153, -27},
311
+ {GRISU_UINT64_C(0xc6120625, 76589ddb), -150, -26},
312
+ {GRISU_UINT64_C(0xf79687ae, d3eec551), -147, -25},
313
+ {GRISU_UINT64_C(0x9abe14cd, 44753b53), -143, -24},
314
+ {GRISU_UINT64_C(0xc16d9a00, 95928a27), -140, -23},
315
+ {GRISU_UINT64_C(0xf1c90080, baf72cb1), -137, -22},
316
+ {GRISU_UINT64_C(0x971da050, 74da7bef), -133, -21},
317
+ {GRISU_UINT64_C(0xbce50864, 92111aeb), -130, -20},
318
+ {GRISU_UINT64_C(0xec1e4a7d, b69561a5), -127, -19},
319
+ {GRISU_UINT64_C(0x9392ee8e, 921d5d07), -123, -18},
320
+ {GRISU_UINT64_C(0xb877aa32, 36a4b449), -120, -17},
321
+ {GRISU_UINT64_C(0xe69594be, c44de15b), -117, -16},
322
+ {GRISU_UINT64_C(0x901d7cf7, 3ab0acd9), -113, -15},
323
+ {GRISU_UINT64_C(0xb424dc35, 095cd80f), -110, -14},
324
+ {GRISU_UINT64_C(0xe12e1342, 4bb40e13), -107, -13},
325
+ {GRISU_UINT64_C(0x8cbccc09, 6f5088cc), -103, -12},
326
+ {GRISU_UINT64_C(0xafebff0b, cb24aaff), -100, -11},
327
+ {GRISU_UINT64_C(0xdbe6fece, bdedd5bf), -97, -10},
328
+ {GRISU_UINT64_C(0x89705f41, 36b4a597), -93, -9},
329
+ {GRISU_UINT64_C(0xabcc7711, 8461cefd), -90, -8},
330
+ {GRISU_UINT64_C(0xd6bf94d5, e57a42bc), -87, -7},
331
+ {GRISU_UINT64_C(0x8637bd05, af6c69b6), -83, -6},
332
+ {GRISU_UINT64_C(0xa7c5ac47, 1b478423), -80, -5},
333
+ {GRISU_UINT64_C(0xd1b71758, e219652c), -77, -4},
334
+ {GRISU_UINT64_C(0x83126e97, 8d4fdf3b), -73, -3},
335
+ {GRISU_UINT64_C(0xa3d70a3d, 70a3d70a), -70, -2},
336
+ {GRISU_UINT64_C(0xcccccccc, cccccccd), -67, -1},
337
+ {GRISU_UINT64_C(0x80000000, 00000000), -63, 0},
338
+ {GRISU_UINT64_C(0xa0000000, 00000000), -60, 1},
339
+ {GRISU_UINT64_C(0xc8000000, 00000000), -57, 2},
340
+ {GRISU_UINT64_C(0xfa000000, 00000000), -54, 3},
341
+ {GRISU_UINT64_C(0x9c400000, 00000000), -50, 4},
342
+ {GRISU_UINT64_C(0xc3500000, 00000000), -47, 5},
343
+ {GRISU_UINT64_C(0xf4240000, 00000000), -44, 6},
344
+ {GRISU_UINT64_C(0x98968000, 00000000), -40, 7},
345
+ {GRISU_UINT64_C(0xbebc2000, 00000000), -37, 8},
346
+ {GRISU_UINT64_C(0xee6b2800, 00000000), -34, 9},
347
+ {GRISU_UINT64_C(0x9502f900, 00000000), -30, 10},
348
+ {GRISU_UINT64_C(0xba43b740, 00000000), -27, 11},
349
+ {GRISU_UINT64_C(0xe8d4a510, 00000000), -24, 12},
350
+ {GRISU_UINT64_C(0x9184e72a, 00000000), -20, 13},
351
+ {GRISU_UINT64_C(0xb5e620f4, 80000000), -17, 14},
352
+ {GRISU_UINT64_C(0xe35fa931, a0000000), -14, 15},
353
+ {GRISU_UINT64_C(0x8e1bc9bf, 04000000), -10, 16},
354
+ {GRISU_UINT64_C(0xb1a2bc2e, c5000000), -7, 17},
355
+ {GRISU_UINT64_C(0xde0b6b3a, 76400000), -4, 18},
356
+ {GRISU_UINT64_C(0x8ac72304, 89e80000), 0, 19},
357
+ {GRISU_UINT64_C(0xad78ebc5, ac620000), 3, 20},
358
+ {GRISU_UINT64_C(0xd8d726b7, 177a8000), 6, 21},
359
+ {GRISU_UINT64_C(0x87867832, 6eac9000), 10, 22},
360
+ {GRISU_UINT64_C(0xa968163f, 0a57b400), 13, 23},
361
+ {GRISU_UINT64_C(0xd3c21bce, cceda100), 16, 24},
362
+ {GRISU_UINT64_C(0x84595161, 401484a0), 20, 25},
363
+ {GRISU_UINT64_C(0xa56fa5b9, 9019a5c8), 23, 26},
364
+ {GRISU_UINT64_C(0xcecb8f27, f4200f3a), 26, 27},
365
+ {GRISU_UINT64_C(0x813f3978, f8940984), 30, 28},
366
+ {GRISU_UINT64_C(0xa18f07d7, 36b90be5), 33, 29},
367
+ {GRISU_UINT64_C(0xc9f2c9cd, 04674edf), 36, 30},
368
+ {GRISU_UINT64_C(0xfc6f7c40, 45812296), 39, 31},
369
+ {GRISU_UINT64_C(0x9dc5ada8, 2b70b59e), 43, 32},
370
+ {GRISU_UINT64_C(0xc5371912, 364ce305), 46, 33},
371
+ {GRISU_UINT64_C(0xf684df56, c3e01bc7), 49, 34},
372
+ {GRISU_UINT64_C(0x9a130b96, 3a6c115c), 53, 35},
373
+ {GRISU_UINT64_C(0xc097ce7b, c90715b3), 56, 36},
374
+ {GRISU_UINT64_C(0xf0bdc21a, bb48db20), 59, 37},
375
+ {GRISU_UINT64_C(0x96769950, b50d88f4), 63, 38},
376
+ {GRISU_UINT64_C(0xbc143fa4, e250eb31), 66, 39},
377
+ {GRISU_UINT64_C(0xeb194f8e, 1ae525fd), 69, 40},
378
+ {GRISU_UINT64_C(0x92efd1b8, d0cf37be), 73, 41},
379
+ {GRISU_UINT64_C(0xb7abc627, 050305ae), 76, 42},
380
+ {GRISU_UINT64_C(0xe596b7b0, c643c719), 79, 43},
381
+ {GRISU_UINT64_C(0x8f7e32ce, 7bea5c70), 83, 44},
382
+ {GRISU_UINT64_C(0xb35dbf82, 1ae4f38c), 86, 45},
383
+ {GRISU_UINT64_C(0xe0352f62, a19e306f), 89, 46},
384
+ {GRISU_UINT64_C(0x8c213d9d, a502de45), 93, 47},
385
+ {GRISU_UINT64_C(0xaf298d05, 0e4395d7), 96, 48},
386
+ {GRISU_UINT64_C(0xdaf3f046, 51d47b4c), 99, 49},
387
+ {GRISU_UINT64_C(0x88d8762b, f324cd10), 103, 50},
388
+ {GRISU_UINT64_C(0xab0e93b6, efee0054), 106, 51},
389
+ {GRISU_UINT64_C(0xd5d238a4, abe98068), 109, 52},
390
+ {GRISU_UINT64_C(0x85a36366, eb71f041), 113, 53},
391
+ {GRISU_UINT64_C(0xa70c3c40, a64e6c52), 116, 54},
392
+ {GRISU_UINT64_C(0xd0cf4b50, cfe20766), 119, 55},
393
+ {GRISU_UINT64_C(0x82818f12, 81ed44a0), 123, 56},
394
+ {GRISU_UINT64_C(0xa321f2d7, 226895c8), 126, 57},
395
+ {GRISU_UINT64_C(0xcbea6f8c, eb02bb3a), 129, 58},
396
+ {GRISU_UINT64_C(0xfee50b70, 25c36a08), 132, 59},
397
+ {GRISU_UINT64_C(0x9f4f2726, 179a2245), 136, 60},
398
+ {GRISU_UINT64_C(0xc722f0ef, 9d80aad6), 139, 61},
399
+ {GRISU_UINT64_C(0xf8ebad2b, 84e0d58c), 142, 62},
400
+ {GRISU_UINT64_C(0x9b934c3b, 330c8577), 146, 63},
401
+ {GRISU_UINT64_C(0xc2781f49, ffcfa6d5), 149, 64},
402
+ {GRISU_UINT64_C(0xf316271c, 7fc3908b), 152, 65},
403
+ {GRISU_UINT64_C(0x97edd871, cfda3a57), 156, 66},
404
+ {GRISU_UINT64_C(0xbde94e8e, 43d0c8ec), 159, 67},
405
+ {GRISU_UINT64_C(0xed63a231, d4c4fb27), 162, 68},
406
+ {GRISU_UINT64_C(0x945e455f, 24fb1cf9), 166, 69},
407
+ {GRISU_UINT64_C(0xb975d6b6, ee39e437), 169, 70},
408
+ {GRISU_UINT64_C(0xe7d34c64, a9c85d44), 172, 71},
409
+ {GRISU_UINT64_C(0x90e40fbe, ea1d3a4b), 176, 72},
410
+ {GRISU_UINT64_C(0xb51d13ae, a4a488dd), 179, 73},
411
+ {GRISU_UINT64_C(0xe264589a, 4dcdab15), 182, 74},
412
+ {GRISU_UINT64_C(0x8d7eb760, 70a08aed), 186, 75},
413
+ {GRISU_UINT64_C(0xb0de6538, 8cc8ada8), 189, 76},
414
+ {GRISU_UINT64_C(0xdd15fe86, affad912), 192, 77},
415
+ {GRISU_UINT64_C(0x8a2dbf14, 2dfcc7ab), 196, 78},
416
+ {GRISU_UINT64_C(0xacb92ed9, 397bf996), 199, 79},
417
+ {GRISU_UINT64_C(0xd7e77a8f, 87daf7fc), 202, 80},
418
+ {GRISU_UINT64_C(0x86f0ac99, b4e8dafd), 206, 81},
419
+ {GRISU_UINT64_C(0xa8acd7c0, 222311bd), 209, 82},
420
+ {GRISU_UINT64_C(0xd2d80db0, 2aabd62c), 212, 83},
421
+ {GRISU_UINT64_C(0x83c7088e, 1aab65db), 216, 84},
422
+ {GRISU_UINT64_C(0xa4b8cab1, a1563f52), 219, 85},
423
+ {GRISU_UINT64_C(0xcde6fd5e, 09abcf27), 222, 86},
424
+ {GRISU_UINT64_C(0x80b05e5a, c60b6178), 226, 87},
425
+ {GRISU_UINT64_C(0xa0dc75f1, 778e39d6), 229, 88},
426
+ {GRISU_UINT64_C(0xc913936d, d571c84c), 232, 89},
427
+ {GRISU_UINT64_C(0xfb587849, 4ace3a5f), 235, 90},
428
+ {GRISU_UINT64_C(0x9d174b2d, cec0e47b), 239, 91},
429
+ {GRISU_UINT64_C(0xc45d1df9, 42711d9a), 242, 92},
430
+ {GRISU_UINT64_C(0xf5746577, 930d6501), 245, 93},
431
+ {GRISU_UINT64_C(0x9968bf6a, bbe85f20), 249, 94},
432
+ {GRISU_UINT64_C(0xbfc2ef45, 6ae276e9), 252, 95},
433
+ {GRISU_UINT64_C(0xefb3ab16, c59b14a3), 255, 96},
434
+ {GRISU_UINT64_C(0x95d04aee, 3b80ece6), 259, 97},
435
+ {GRISU_UINT64_C(0xbb445da9, ca61281f), 262, 98},
436
+ {GRISU_UINT64_C(0xea157514, 3cf97227), 265, 99},
437
+ {GRISU_UINT64_C(0x924d692c, a61be758), 269, 100},
438
+ {GRISU_UINT64_C(0xb6e0c377, cfa2e12e), 272, 101},
439
+ {GRISU_UINT64_C(0xe498f455, c38b997a), 275, 102},
440
+ {GRISU_UINT64_C(0x8edf98b5, 9a373fec), 279, 103},
441
+ {GRISU_UINT64_C(0xb2977ee3, 00c50fe7), 282, 104},
442
+ {GRISU_UINT64_C(0xdf3d5e9b, c0f653e1), 285, 105},
443
+ {GRISU_UINT64_C(0x8b865b21, 5899f46d), 289, 106},
444
+ {GRISU_UINT64_C(0xae67f1e9, aec07188), 292, 107},
445
+ {GRISU_UINT64_C(0xda01ee64, 1a708dea), 295, 108},
446
+ {GRISU_UINT64_C(0x884134fe, 908658b2), 299, 109},
447
+ {GRISU_UINT64_C(0xaa51823e, 34a7eedf), 302, 110},
448
+ {GRISU_UINT64_C(0xd4e5e2cd, c1d1ea96), 305, 111},
449
+ {GRISU_UINT64_C(0x850fadc0, 9923329e), 309, 112},
450
+ {GRISU_UINT64_C(0xa6539930, bf6bff46), 312, 113},
451
+ {GRISU_UINT64_C(0xcfe87f7c, ef46ff17), 315, 114},
452
+ {GRISU_UINT64_C(0x81f14fae, 158c5f6e), 319, 115},
453
+ {GRISU_UINT64_C(0xa26da399, 9aef774a), 322, 116},
454
+ {GRISU_UINT64_C(0xcb090c80, 01ab551c), 325, 117},
455
+ {GRISU_UINT64_C(0xfdcb4fa0, 02162a63), 328, 118},
456
+ {GRISU_UINT64_C(0x9e9f11c4, 014dda7e), 332, 119},
457
+ {GRISU_UINT64_C(0xc646d635, 01a1511e), 335, 120},
458
+ {GRISU_UINT64_C(0xf7d88bc2, 4209a565), 338, 121},
459
+ {GRISU_UINT64_C(0x9ae75759, 6946075f), 342, 122},
460
+ {GRISU_UINT64_C(0xc1a12d2f, c3978937), 345, 123},
461
+ {GRISU_UINT64_C(0xf209787b, b47d6b85), 348, 124},
462
+ {GRISU_UINT64_C(0x9745eb4d, 50ce6333), 352, 125},
463
+ {GRISU_UINT64_C(0xbd176620, a501fc00), 355, 126},
464
+ {GRISU_UINT64_C(0xec5d3fa8, ce427b00), 358, 127},
465
+ {GRISU_UINT64_C(0x93ba47c9, 80e98ce0), 362, 128},
466
+ {GRISU_UINT64_C(0xb8a8d9bb, e123f018), 365, 129},
467
+ {GRISU_UINT64_C(0xe6d3102a, d96cec1e), 368, 130},
468
+ {GRISU_UINT64_C(0x9043ea1a, c7e41393), 372, 131},
469
+ {GRISU_UINT64_C(0xb454e4a1, 79dd1877), 375, 132},
470
+ {GRISU_UINT64_C(0xe16a1dc9, d8545e95), 378, 133},
471
+ {GRISU_UINT64_C(0x8ce2529e, 2734bb1d), 382, 134},
472
+ {GRISU_UINT64_C(0xb01ae745, b101e9e4), 385, 135},
473
+ {GRISU_UINT64_C(0xdc21a117, 1d42645d), 388, 136},
474
+ {GRISU_UINT64_C(0x899504ae, 72497eba), 392, 137},
475
+ {GRISU_UINT64_C(0xabfa45da, 0edbde69), 395, 138},
476
+ {GRISU_UINT64_C(0xd6f8d750, 9292d603), 398, 139},
477
+ {GRISU_UINT64_C(0x865b8692, 5b9bc5c2), 402, 140},
478
+ {GRISU_UINT64_C(0xa7f26836, f282b733), 405, 141},
479
+ {GRISU_UINT64_C(0xd1ef0244, af2364ff), 408, 142},
480
+ {GRISU_UINT64_C(0x8335616a, ed761f1f), 412, 143},
481
+ {GRISU_UINT64_C(0xa402b9c5, a8d3a6e7), 415, 144},
482
+ {GRISU_UINT64_C(0xcd036837, 130890a1), 418, 145},
483
+ {GRISU_UINT64_C(0x80222122, 6be55a65), 422, 146},
484
+ {GRISU_UINT64_C(0xa02aa96b, 06deb0fe), 425, 147},
485
+ {GRISU_UINT64_C(0xc83553c5, c8965d3d), 428, 148},
486
+ {GRISU_UINT64_C(0xfa42a8b7, 3abbf48d), 431, 149},
487
+ {GRISU_UINT64_C(0x9c69a972, 84b578d8), 435, 150},
488
+ {GRISU_UINT64_C(0xc38413cf, 25e2d70e), 438, 151},
489
+ {GRISU_UINT64_C(0xf46518c2, ef5b8cd1), 441, 152},
490
+ {GRISU_UINT64_C(0x98bf2f79, d5993803), 445, 153},
491
+ {GRISU_UINT64_C(0xbeeefb58, 4aff8604), 448, 154},
492
+ {GRISU_UINT64_C(0xeeaaba2e, 5dbf6785), 451, 155},
493
+ {GRISU_UINT64_C(0x952ab45c, fa97a0b3), 455, 156},
494
+ {GRISU_UINT64_C(0xba756174, 393d88e0), 458, 157},
495
+ {GRISU_UINT64_C(0xe912b9d1, 478ceb17), 461, 158},
496
+ {GRISU_UINT64_C(0x91abb422, ccb812ef), 465, 159},
497
+ {GRISU_UINT64_C(0xb616a12b, 7fe617aa), 468, 160},
498
+ {GRISU_UINT64_C(0xe39c4976, 5fdf9d95), 471, 161},
499
+ {GRISU_UINT64_C(0x8e41ade9, fbebc27d), 475, 162},
500
+ {GRISU_UINT64_C(0xb1d21964, 7ae6b31c), 478, 163},
501
+ {GRISU_UINT64_C(0xde469fbd, 99a05fe3), 481, 164},
502
+ {GRISU_UINT64_C(0x8aec23d6, 80043bee), 485, 165},
503
+ {GRISU_UINT64_C(0xada72ccc, 20054aea), 488, 166},
504
+ {GRISU_UINT64_C(0xd910f7ff, 28069da4), 491, 167},
505
+ {GRISU_UINT64_C(0x87aa9aff, 79042287), 495, 168},
506
+ {GRISU_UINT64_C(0xa99541bf, 57452b28), 498, 169},
507
+ {GRISU_UINT64_C(0xd3fa922f, 2d1675f2), 501, 170},
508
+ {GRISU_UINT64_C(0x847c9b5d, 7c2e09b7), 505, 171},
509
+ {GRISU_UINT64_C(0xa59bc234, db398c25), 508, 172},
510
+ {GRISU_UINT64_C(0xcf02b2c2, 1207ef2f), 511, 173},
511
+ {GRISU_UINT64_C(0x8161afb9, 4b44f57d), 515, 174},
512
+ {GRISU_UINT64_C(0xa1ba1ba7, 9e1632dc), 518, 175},
513
+ {GRISU_UINT64_C(0xca28a291, 859bbf93), 521, 176},
514
+ {GRISU_UINT64_C(0xfcb2cb35, e702af78), 524, 177},
515
+ {GRISU_UINT64_C(0x9defbf01, b061adab), 528, 178},
516
+ {GRISU_UINT64_C(0xc56baec2, 1c7a1916), 531, 179},
517
+ {GRISU_UINT64_C(0xf6c69a72, a3989f5c), 534, 180},
518
+ {GRISU_UINT64_C(0x9a3c2087, a63f6399), 538, 181},
519
+ {GRISU_UINT64_C(0xc0cb28a9, 8fcf3c80), 541, 182},
520
+ {GRISU_UINT64_C(0xf0fdf2d3, f3c30b9f), 544, 183},
521
+ {GRISU_UINT64_C(0x969eb7c4, 7859e744), 548, 184},
522
+ {GRISU_UINT64_C(0xbc4665b5, 96706115), 551, 185},
523
+ {GRISU_UINT64_C(0xeb57ff22, fc0c795a), 554, 186},
524
+ {GRISU_UINT64_C(0x9316ff75, dd87cbd8), 558, 187},
525
+ {GRISU_UINT64_C(0xb7dcbf53, 54e9bece), 561, 188},
526
+ {GRISU_UINT64_C(0xe5d3ef28, 2a242e82), 564, 189},
527
+ {GRISU_UINT64_C(0x8fa47579, 1a569d11), 568, 190},
528
+ {GRISU_UINT64_C(0xb38d92d7, 60ec4455), 571, 191},
529
+ {GRISU_UINT64_C(0xe070f78d, 3927556b), 574, 192},
530
+ {GRISU_UINT64_C(0x8c469ab8, 43b89563), 578, 193},
531
+ {GRISU_UINT64_C(0xaf584166, 54a6babb), 581, 194},
532
+ {GRISU_UINT64_C(0xdb2e51bf, e9d0696a), 584, 195},
533
+ {GRISU_UINT64_C(0x88fcf317, f22241e2), 588, 196},
534
+ {GRISU_UINT64_C(0xab3c2fdd, eeaad25b), 591, 197},
535
+ {GRISU_UINT64_C(0xd60b3bd5, 6a5586f2), 594, 198},
536
+ {GRISU_UINT64_C(0x85c70565, 62757457), 598, 199},
537
+ {GRISU_UINT64_C(0xa738c6be, bb12d16d), 601, 200},
538
+ {GRISU_UINT64_C(0xd106f86e, 69d785c8), 604, 201},
539
+ {GRISU_UINT64_C(0x82a45b45, 0226b39d), 608, 202},
540
+ {GRISU_UINT64_C(0xa34d7216, 42b06084), 611, 203},
541
+ {GRISU_UINT64_C(0xcc20ce9b, d35c78a5), 614, 204},
542
+ {GRISU_UINT64_C(0xff290242, c83396ce), 617, 205},
543
+ {GRISU_UINT64_C(0x9f79a169, bd203e41), 621, 206},
544
+ {GRISU_UINT64_C(0xc75809c4, 2c684dd1), 624, 207},
545
+ {GRISU_UINT64_C(0xf92e0c35, 37826146), 627, 208},
546
+ {GRISU_UINT64_C(0x9bbcc7a1, 42b17ccc), 631, 209},
547
+ {GRISU_UINT64_C(0xc2abf989, 935ddbfe), 634, 210},
548
+ {GRISU_UINT64_C(0xf356f7eb, f83552fe), 637, 211},
549
+ {GRISU_UINT64_C(0x98165af3, 7b2153df), 641, 212},
550
+ {GRISU_UINT64_C(0xbe1bf1b0, 59e9a8d6), 644, 213},
551
+ {GRISU_UINT64_C(0xeda2ee1c, 7064130c), 647, 214},
552
+ {GRISU_UINT64_C(0x9485d4d1, c63e8be8), 651, 215},
553
+ {GRISU_UINT64_C(0xb9a74a06, 37ce2ee1), 654, 216},
554
+ {GRISU_UINT64_C(0xe8111c87, c5c1ba9a), 657, 217},
555
+ {GRISU_UINT64_C(0x910ab1d4, db9914a0), 661, 218},
556
+ {GRISU_UINT64_C(0xb54d5e4a, 127f59c8), 664, 219},
557
+ {GRISU_UINT64_C(0xe2a0b5dc, 971f303a), 667, 220},
558
+ {GRISU_UINT64_C(0x8da471a9, de737e24), 671, 221},
559
+ {GRISU_UINT64_C(0xb10d8e14, 56105dad), 674, 222},
560
+ {GRISU_UINT64_C(0xdd50f199, 6b947519), 677, 223},
561
+ {GRISU_UINT64_C(0x8a5296ff, e33cc930), 681, 224},
562
+ {GRISU_UINT64_C(0xace73cbf, dc0bfb7b), 684, 225},
563
+ {GRISU_UINT64_C(0xd8210bef, d30efa5a), 687, 226},
564
+ {GRISU_UINT64_C(0x8714a775, e3e95c78), 691, 227},
565
+ {GRISU_UINT64_C(0xa8d9d153, 5ce3b396), 694, 228},
566
+ {GRISU_UINT64_C(0xd31045a8, 341ca07c), 697, 229},
567
+ {GRISU_UINT64_C(0x83ea2b89, 2091e44e), 701, 230},
568
+ {GRISU_UINT64_C(0xa4e4b66b, 68b65d61), 704, 231},
569
+ {GRISU_UINT64_C(0xce1de406, 42e3f4b9), 707, 232},
570
+ {GRISU_UINT64_C(0x80d2ae83, e9ce78f4), 711, 233},
571
+ {GRISU_UINT64_C(0xa1075a24, e4421731), 714, 234},
572
+ {GRISU_UINT64_C(0xc94930ae, 1d529cfd), 717, 235},
573
+ {GRISU_UINT64_C(0xfb9b7cd9, a4a7443c), 720, 236},
574
+ {GRISU_UINT64_C(0x9d412e08, 06e88aa6), 724, 237},
575
+ {GRISU_UINT64_C(0xc491798a, 08a2ad4f), 727, 238},
576
+ {GRISU_UINT64_C(0xf5b5d7ec, 8acb58a3), 730, 239},
577
+ {GRISU_UINT64_C(0x9991a6f3, d6bf1766), 734, 240},
578
+ {GRISU_UINT64_C(0xbff610b0, cc6edd3f), 737, 241},
579
+ {GRISU_UINT64_C(0xeff394dc, ff8a948f), 740, 242},
580
+ {GRISU_UINT64_C(0x95f83d0a, 1fb69cd9), 744, 243},
581
+ {GRISU_UINT64_C(0xbb764c4c, a7a44410), 747, 244},
582
+ {GRISU_UINT64_C(0xea53df5f, d18d5514), 750, 245},
583
+ {GRISU_UINT64_C(0x92746b9b, e2f8552c), 754, 246},
584
+ {GRISU_UINT64_C(0xb7118682, dbb66a77), 757, 247},
585
+ {GRISU_UINT64_C(0xe4d5e823, 92a40515), 760, 248},
586
+ {GRISU_UINT64_C(0x8f05b116, 3ba6832d), 764, 249},
587
+ {GRISU_UINT64_C(0xb2c71d5b, ca9023f8), 767, 250},
588
+ {GRISU_UINT64_C(0xdf78e4b2, bd342cf7), 770, 251},
589
+ {GRISU_UINT64_C(0x8bab8eef, b6409c1a), 774, 252},
590
+ {GRISU_UINT64_C(0xae9672ab, a3d0c321), 777, 253},
591
+ {GRISU_UINT64_C(0xda3c0f56, 8cc4f3e9), 780, 254},
592
+ {GRISU_UINT64_C(0x88658996, 17fb1871), 784, 255},
593
+ {GRISU_UINT64_C(0xaa7eebfb, 9df9de8e), 787, 256},
594
+ {GRISU_UINT64_C(0xd51ea6fa, 85785631), 790, 257},
595
+ {GRISU_UINT64_C(0x8533285c, 936b35df), 794, 258},
596
+ {GRISU_UINT64_C(0xa67ff273, b8460357), 797, 259},
597
+ {GRISU_UINT64_C(0xd01fef10, a657842c), 800, 260},
598
+ {GRISU_UINT64_C(0x8213f56a, 67f6b29c), 804, 261},
599
+ {GRISU_UINT64_C(0xa298f2c5, 01f45f43), 807, 262},
600
+ {GRISU_UINT64_C(0xcb3f2f76, 42717713), 810, 263},
601
+ {GRISU_UINT64_C(0xfe0efb53, d30dd4d8), 813, 264},
602
+ {GRISU_UINT64_C(0x9ec95d14, 63e8a507), 817, 265},
603
+ {GRISU_UINT64_C(0xc67bb459, 7ce2ce49), 820, 266},
604
+ {GRISU_UINT64_C(0xf81aa16f, dc1b81db), 823, 267},
605
+ {GRISU_UINT64_C(0x9b10a4e5, e9913129), 827, 268},
606
+ {GRISU_UINT64_C(0xc1d4ce1f, 63f57d73), 830, 269},
607
+ {GRISU_UINT64_C(0xf24a01a7, 3cf2dcd0), 833, 270},
608
+ {GRISU_UINT64_C(0x976e4108, 8617ca02), 837, 271},
609
+ {GRISU_UINT64_C(0xbd49d14a, a79dbc82), 840, 272},
610
+ {GRISU_UINT64_C(0xec9c459d, 51852ba3), 843, 273},
611
+ {GRISU_UINT64_C(0x93e1ab82, 52f33b46), 847, 274},
612
+ {GRISU_UINT64_C(0xb8da1662, e7b00a17), 850, 275},
613
+ {GRISU_UINT64_C(0xe7109bfb, a19c0c9d), 853, 276},
614
+ {GRISU_UINT64_C(0x906a617d, 450187e2), 857, 277},
615
+ {GRISU_UINT64_C(0xb484f9dc, 9641e9db), 860, 278},
616
+ {GRISU_UINT64_C(0xe1a63853, bbd26451), 863, 279},
617
+ {GRISU_UINT64_C(0x8d07e334, 55637eb3), 867, 280},
618
+ {GRISU_UINT64_C(0xb049dc01, 6abc5e60), 870, 281},
619
+ {GRISU_UINT64_C(0xdc5c5301, c56b75f7), 873, 282},
620
+ {GRISU_UINT64_C(0x89b9b3e1, 1b6329bb), 877, 283},
621
+ {GRISU_UINT64_C(0xac2820d9, 623bf429), 880, 284},
622
+ {GRISU_UINT64_C(0xd732290f, bacaf134), 883, 285},
623
+ {GRISU_UINT64_C(0x867f59a9, d4bed6c0), 887, 286},
624
+ {GRISU_UINT64_C(0xa81f3014, 49ee8c70), 890, 287},
625
+ {GRISU_UINT64_C(0xd226fc19, 5c6a2f8c), 893, 288},
626
+ {GRISU_UINT64_C(0x83585d8f, d9c25db8), 897, 289},
627
+ {GRISU_UINT64_C(0xa42e74f3, d032f526), 900, 290},
628
+ {GRISU_UINT64_C(0xcd3a1230, c43fb26f), 903, 291},
629
+ {GRISU_UINT64_C(0x80444b5e, 7aa7cf85), 907, 292},
630
+ {GRISU_UINT64_C(0xa0555e36, 1951c367), 910, 293},
631
+ {GRISU_UINT64_C(0xc86ab5c3, 9fa63441), 913, 294},
632
+ {GRISU_UINT64_C(0xfa856334, 878fc151), 916, 295},
633
+ {GRISU_UINT64_C(0x9c935e00, d4b9d8d2), 920, 296},
634
+ {GRISU_UINT64_C(0xc3b83581, 09e84f07), 923, 297},
635
+ {GRISU_UINT64_C(0xf4a642e1, 4c6262c9), 926, 298},
636
+ {GRISU_UINT64_C(0x98e7e9cc, cfbd7dbe), 930, 299},
637
+ {GRISU_UINT64_C(0xbf21e440, 03acdd2d), 933, 300},
638
+ {GRISU_UINT64_C(0xeeea5d50, 04981478), 936, 301},
639
+ {GRISU_UINT64_C(0x95527a52, 02df0ccb), 940, 302},
640
+ {GRISU_UINT64_C(0xbaa718e6, 8396cffe), 943, 303},
641
+ {GRISU_UINT64_C(0xe950df20, 247c83fd), 946, 304},
642
+ {GRISU_UINT64_C(0x91d28b74, 16cdd27e), 950, 305},
643
+ {GRISU_UINT64_C(0xb6472e51, 1c81471e), 953, 306},
644
+ {GRISU_UINT64_C(0xe3d8f9e5, 63a198e5), 956, 307},
645
+ {GRISU_UINT64_C(0x8e679c2f, 5e44ff8f), 960, 308},
646
+ {GRISU_UINT64_C(0xb201833b, 35d63f73), 963, 309},
647
+ {GRISU_UINT64_C(0xde81e40a, 034bcf50), 966, 310},
648
+ {GRISU_UINT64_C(0x8b112e86, 420f6192), 970, 311},
649
+ {GRISU_UINT64_C(0xadd57a27, d29339f6), 973, 312},
650
+ {GRISU_UINT64_C(0xd94ad8b1, c7380874), 976, 313},
651
+ {GRISU_UINT64_C(0x87cec76f, 1c830549), 980, 314},
652
+ {GRISU_UINT64_C(0xa9c2794a, e3a3c69b), 983, 315},
653
+ {GRISU_UINT64_C(0xd433179d, 9c8cb841), 986, 316},
654
+ {GRISU_UINT64_C(0x849feec2, 81d7f329), 990, 317},
655
+ {GRISU_UINT64_C(0xa5c7ea73, 224deff3), 993, 318},
656
+ {GRISU_UINT64_C(0xcf39e50f, eae16bf0), 996, 319},
657
+ {GRISU_UINT64_C(0x81842f29, f2cce376), 1000, 320},
658
+ {GRISU_UINT64_C(0xa1e53af4, 6f801c53), 1003, 321},
659
+ {GRISU_UINT64_C(0xca5e89b1, 8b602368), 1006, 322},
660
+ {GRISU_UINT64_C(0xfcf62c1d, ee382c42), 1009, 323},
661
+ {GRISU_UINT64_C(0x9e19db92, b4e31ba9), 1013, 324},
662
+ {GRISU_UINT64_C(0xc5a05277, 621be294), 1016, 325},
663
+ {GRISU_UINT64_C(0xf7086715, 3aa2db39), 1019, 326},
664
+ {GRISU_UINT64_C(0x9a65406d, 44a5c903), 1023, 327},
665
+ {GRISU_UINT64_C(0xc0fe9088, 95cf3b44), 1026, 328},
666
+ {GRISU_UINT64_C(0xf13e34aa, bb430a15), 1029, 329},
667
+ {GRISU_UINT64_C(0x96c6e0ea, b509e64d), 1033, 330},
668
+ {GRISU_UINT64_C(0xbc789925, 624c5fe1), 1036, 331},
669
+ {GRISU_UINT64_C(0xeb96bf6e, badf77d9), 1039, 332},
670
+ {GRISU_UINT64_C(0x933e37a5, 34cbaae8), 1043, 333},
671
+ {GRISU_UINT64_C(0xb80dc58e, 81fe95a1), 1046, 334},
672
+ {GRISU_UINT64_C(0xe61136f2, 227e3b0a), 1049, 335},
673
+ {GRISU_UINT64_C(0x8fcac257, 558ee4e6), 1053, 336},
674
+ {GRISU_UINT64_C(0xb3bd72ed, 2af29e20), 1056, 337},
675
+ {GRISU_UINT64_C(0xe0accfa8, 75af45a8), 1059, 338},
676
+ {GRISU_UINT64_C(0x8c6c01c9, 498d8b89), 1063, 339},
677
+ {GRISU_UINT64_C(0xaf87023b, 9bf0ee6b), 1066, 340},
678
+ {GRISU_UINT64_C(0xdb68c2ca, 82ed2a06), 1069, 341},
679
+ {GRISU_UINT64_C(0x892179be, 91d43a44), 1073, 342},
680
+ };
681
+ static const int GRISU_CACHE_MAX_DISTANCE(1) = 4;
682
+ // nb elements (1): 651
683
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(2)[] = {
684
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
685
+ {GRISU_UINT64_C(0xb3c4f1ba, 87bc8697), -1080, -306},
686
+ {GRISU_UINT64_C(0x8c71dcd9, ba0b4926), -1073, -304},
687
+ {GRISU_UINT64_C(0xdb71e914, 32b1a24b), -1067, -302},
688
+ {GRISU_UINT64_C(0xab70fe17, c79ac6ca), -1060, -300},
689
+ {GRISU_UINT64_C(0x85f04682, 93f0eb4e), -1053, -298},
690
+ {GRISU_UINT64_C(0xd1476e2c, 07286faa), -1047, -296},
691
+ {GRISU_UINT64_C(0xa37fce12, 6597973d), -1040, -294},
692
+ {GRISU_UINT64_C(0xff77b1fc, bebcdc4f), -1034, -292},
693
+ {GRISU_UINT64_C(0xc795830d, 75038c1e), -1027, -290},
694
+ {GRISU_UINT64_C(0x9becce62, 836ac577), -1020, -288},
695
+ {GRISU_UINT64_C(0xf3a20279, ed56d48a), -1014, -286},
696
+ {GRISU_UINT64_C(0xbe5691ef, 416bd60c), -1007, -284},
697
+ {GRISU_UINT64_C(0x94b3a202, eb1c3f39), -1000, -282},
698
+ {GRISU_UINT64_C(0xe858ad24, 8f5c22ca), -994, -280},
699
+ {GRISU_UINT64_C(0xb5854744, 8ffffb2e), -987, -278},
700
+ {GRISU_UINT64_C(0x8dd01fad, 907ffc3c), -980, -276},
701
+ {GRISU_UINT64_C(0xdd95317f, 31c7fa1d), -974, -274},
702
+ {GRISU_UINT64_C(0xad1c8eab, 5ee43b67), -967, -272},
703
+ {GRISU_UINT64_C(0x873e4f75, e2224e68), -960, -270},
704
+ {GRISU_UINT64_C(0xd3515c28, 31559a83), -954, -268},
705
+ {GRISU_UINT64_C(0xa5178fff, 668ae0b6), -947, -266},
706
+ {GRISU_UINT64_C(0x80fa687f, 881c7f8e), -940, -264},
707
+ {GRISU_UINT64_C(0xc9874347, 44ac874f), -934, -262},
708
+ {GRISU_UINT64_C(0x9d71ac8f, ada6c9b5), -927, -260},
709
+ {GRISU_UINT64_C(0xf6019da0, 7f549b2b), -921, -258},
710
+ {GRISU_UINT64_C(0xc0314325, 637a193a), -914, -256},
711
+ {GRISU_UINT64_C(0x96267c75, 35b763b5), -907, -254},
712
+ {GRISU_UINT64_C(0xea9c2277, 23ee8bcb), -901, -252},
713
+ {GRISU_UINT64_C(0xb749faed, 14125d37), -894, -250},
714
+ {GRISU_UINT64_C(0x8f31cc09, 37ae58d3), -887, -248},
715
+ {GRISU_UINT64_C(0xdfbdcece, 67006ac9), -881, -246},
716
+ {GRISU_UINT64_C(0xaecc4991, 4078536d), -874, -244},
717
+ {GRISU_UINT64_C(0x888f9979, 7a5e012d), -867, -242},
718
+ {GRISU_UINT64_C(0xd5605fcd, cf32e1d7), -861, -240},
719
+ {GRISU_UINT64_C(0xa6b34ad8, c9dfc070), -854, -238},
720
+ {GRISU_UINT64_C(0x823c1279, 5db6ce57), -847, -236},
721
+ {GRISU_UINT64_C(0xcb7ddcdd, a26da269), -841, -234},
722
+ {GRISU_UINT64_C(0x9efa548d, 26e5a6e2), -834, -232},
723
+ {GRISU_UINT64_C(0xf867241c, 8cc6d4c1), -828, -230},
724
+ {GRISU_UINT64_C(0xc2109436, 4dfb5637), -821, -228},
725
+ {GRISU_UINT64_C(0x979cf3ca, 6cec5b5b), -814, -226},
726
+ {GRISU_UINT64_C(0xece53cec, 4a314ebe), -808, -224},
727
+ {GRISU_UINT64_C(0xb9131798, 99f68584), -801, -222},
728
+ {GRISU_UINT64_C(0x9096ea6f, 3848984f), -794, -220},
729
+ {GRISU_UINT64_C(0xe1ebce4d, c7f16dfc), -788, -218},
730
+ {GRISU_UINT64_C(0xb080392c, c4349ded), -781, -216},
731
+ {GRISU_UINT64_C(0x89e42caa, f9491b61), -774, -214},
732
+ {GRISU_UINT64_C(0xd77485cb, 25823ac7), -768, -212},
733
+ {GRISU_UINT64_C(0xa8530886, b54dbdec), -761, -210},
734
+ {GRISU_UINT64_C(0x8380dea9, 3da4bc60), -754, -208},
735
+ {GRISU_UINT64_C(0xcd795be8, 70516656), -748, -206},
736
+ {GRISU_UINT64_C(0xa086cfcd, 97bf97f4), -741, -204},
737
+ {GRISU_UINT64_C(0xfad2a4b1, 3d1b5d6c), -735, -202},
738
+ {GRISU_UINT64_C(0xc3f490aa, 77bd60fd), -728, -200},
739
+ {GRISU_UINT64_C(0x99171105, 2d8bf3c5), -721, -198},
740
+ {GRISU_UINT64_C(0xef340a98, 172aace5), -715, -196},
741
+ {GRISU_UINT64_C(0xbae0a846, d2195713), -708, -194},
742
+ {GRISU_UINT64_C(0x91ff8377, 5423cc06), -701, -192},
743
+ {GRISU_UINT64_C(0xe41f3d6a, 7377eeca), -695, -190},
744
+ {GRISU_UINT64_C(0xb23867fb, 2a35b28e), -688, -188},
745
+ {GRISU_UINT64_C(0x8b3c113c, 38f9f37f), -681, -186},
746
+ {GRISU_UINT64_C(0xd98ddaee, 19068c76), -675, -184},
747
+ {GRISU_UINT64_C(0xa9f6d30a, 038d1dbc), -668, -182},
748
+ {GRISU_UINT64_C(0x84c8d4df, d2c63f3b), -661, -180},
749
+ {GRISU_UINT64_C(0xcf79cc9d, b955c2cc), -655, -178},
750
+ {GRISU_UINT64_C(0xa21727db, 38cb0030), -648, -176},
751
+ {GRISU_UINT64_C(0xfd442e46, 88bd304b), -642, -174},
752
+ {GRISU_UINT64_C(0xc5dd4427, 1ad3cdba), -635, -172},
753
+ {GRISU_UINT64_C(0x9a94dd3e, 8cf578ba), -628, -170},
754
+ {GRISU_UINT64_C(0xf18899b1, bc3f8ca2), -622, -168},
755
+ {GRISU_UINT64_C(0xbcb2b812, db11a5de), -615, -166},
756
+ {GRISU_UINT64_C(0x936b9fce, bb25c996), -608, -164},
757
+ {GRISU_UINT64_C(0xe65829b3, 046b0afa), -602, -162},
758
+ {GRISU_UINT64_C(0xb3f4e093, db73a093), -595, -160},
759
+ {GRISU_UINT64_C(0x8c974f73, 83725573), -588, -158},
760
+ {GRISU_UINT64_C(0xdbac6c24, 7d62a584), -582, -156},
761
+ {GRISU_UINT64_C(0xab9eb47c, 81f5114f), -575, -154},
762
+ {GRISU_UINT64_C(0x8613fd01, 45877586), -568, -152},
763
+ {GRISU_UINT64_C(0xd17f3b51, fca3a7a1), -562, -150},
764
+ {GRISU_UINT64_C(0xa3ab6658, 0d5fdaf6), -555, -148},
765
+ {GRISU_UINT64_C(0xffbbcfe9, 94e5c620), -549, -146},
766
+ {GRISU_UINT64_C(0xc7caba6e, 7c5382c9), -542, -144},
767
+ {GRISU_UINT64_C(0x9c1661a6, 51213e2d), -535, -142},
768
+ {GRISU_UINT64_C(0xf3e2f893, dec3f126), -529, -140},
769
+ {GRISU_UINT64_C(0xbe895233, 86091466), -522, -138},
770
+ {GRISU_UINT64_C(0x94db4838, 40b717f0), -515, -136},
771
+ {GRISU_UINT64_C(0xe896a0d7, e51e1566), -509, -134},
772
+ {GRISU_UINT64_C(0xb5b5ada8, aaff80b8), -502, -132},
773
+ {GRISU_UINT64_C(0x8df5efab, c5979c90), -495, -130},
774
+ {GRISU_UINT64_C(0xddd0467c, 64bce4a1), -489, -128},
775
+ {GRISU_UINT64_C(0xad4ab711, 2eb3929e), -482, -126},
776
+ {GRISU_UINT64_C(0x87625f05, 6c7c4a8b), -475, -124},
777
+ {GRISU_UINT64_C(0xd389b478, 79823479), -469, -122},
778
+ {GRISU_UINT64_C(0xa54394fe, 1eedb8ff), -462, -120},
779
+ {GRISU_UINT64_C(0x811ccc66, 8829b887), -455, -118},
780
+ {GRISU_UINT64_C(0xc9bcff60, 34c13053), -449, -116},
781
+ {GRISU_UINT64_C(0x9d9ba783, 2936edc1), -442, -114},
782
+ {GRISU_UINT64_C(0xf64335bc, f065d37d), -436, -112},
783
+ {GRISU_UINT64_C(0xc06481fb, 9bcf8d3a), -429, -110},
784
+ {GRISU_UINT64_C(0x964e858c, 91ba2655), -422, -108},
785
+ {GRISU_UINT64_C(0xeadab0ab, a3b2dbe5), -416, -106},
786
+ {GRISU_UINT64_C(0xb77ada06, 17e3bbcb), -409, -104},
787
+ {GRISU_UINT64_C(0x8f57fa54, c2a9eab7), -402, -102},
788
+ {GRISU_UINT64_C(0xdff97724, 70297ebd), -396, -100},
789
+ {GRISU_UINT64_C(0xaefae514, 77a06b04), -389, -98},
790
+ {GRISU_UINT64_C(0x88b402f7, fd75539b), -382, -96},
791
+ {GRISU_UINT64_C(0xd59944a3, 7c0752a2), -376, -94},
792
+ {GRISU_UINT64_C(0xa6dfbd9f, b8e5b88f), -369, -92},
793
+ {GRISU_UINT64_C(0x825ecc24, c8737830), -362, -90},
794
+ {GRISU_UINT64_C(0xcbb41ef9, 79346bca), -356, -88},
795
+ {GRISU_UINT64_C(0x9f24b832, e6b0f436), -349, -86},
796
+ {GRISU_UINT64_C(0xf8a95fcf, 88747d94), -343, -84},
797
+ {GRISU_UINT64_C(0xc24452da, 229b021c), -336, -82},
798
+ {GRISU_UINT64_C(0x97c560ba, 6b0919a6), -329, -80},
799
+ {GRISU_UINT64_C(0xed246723, 473e3813), -323, -78},
800
+ {GRISU_UINT64_C(0xb9447093, 8fa89bcf), -316, -76},
801
+ {GRISU_UINT64_C(0x90bd77f3, 483bb9ba), -309, -74},
802
+ {GRISU_UINT64_C(0xe2280b6c, 20dd5232), -303, -72},
803
+ {GRISU_UINT64_C(0xb0af48ec, 79ace837), -296, -70},
804
+ {GRISU_UINT64_C(0x8a08f0f8, bf0f156b), -289, -68},
805
+ {GRISU_UINT64_C(0xd7adf884, aa879177), -283, -66},
806
+ {GRISU_UINT64_C(0xa87fea27, a539e9a5), -276, -64},
807
+ {GRISU_UINT64_C(0x83a3eeee, f9153e89), -269, -62},
808
+ {GRISU_UINT64_C(0xcdb02555, 653131b6), -263, -60},
809
+ {GRISU_UINT64_C(0xa0b19d2a, b70e6ed6), -256, -58},
810
+ {GRISU_UINT64_C(0xfb158592, be068d2f), -250, -56},
811
+ {GRISU_UINT64_C(0xc428d05a, a4751e4d), -243, -54},
812
+ {GRISU_UINT64_C(0x993fe2c6, d07b7fac), -236, -52},
813
+ {GRISU_UINT64_C(0xef73d256, a5c0f77d), -230, -50},
814
+ {GRISU_UINT64_C(0xbb127c53, b17ec159), -223, -48},
815
+ {GRISU_UINT64_C(0x92267121, 62ab070e), -216, -46},
816
+ {GRISU_UINT64_C(0xe45c10c4, 2a2b3b06), -210, -44},
817
+ {GRISU_UINT64_C(0xb267ed19, 40f1c61c), -203, -42},
818
+ {GRISU_UINT64_C(0x8b61313b, babce2c6), -196, -40},
819
+ {GRISU_UINT64_C(0xd9c7dced, 53c72256), -190, -38},
820
+ {GRISU_UINT64_C(0xaa242499, 697392d3), -183, -36},
821
+ {GRISU_UINT64_C(0x84ec3c97, da624ab5), -176, -34},
822
+ {GRISU_UINT64_C(0xcfb11ead, 453994ba), -170, -32},
823
+ {GRISU_UINT64_C(0xa2425ff7, 5e14fc32), -163, -30},
824
+ {GRISU_UINT64_C(0xfd87b5f2, 8300ca0e), -157, -28},
825
+ {GRISU_UINT64_C(0xc6120625, 76589ddb), -150, -26},
826
+ {GRISU_UINT64_C(0x9abe14cd, 44753b53), -143, -24},
827
+ {GRISU_UINT64_C(0xf1c90080, baf72cb1), -137, -22},
828
+ {GRISU_UINT64_C(0xbce50864, 92111aeb), -130, -20},
829
+ {GRISU_UINT64_C(0x9392ee8e, 921d5d07), -123, -18},
830
+ {GRISU_UINT64_C(0xe69594be, c44de15b), -117, -16},
831
+ {GRISU_UINT64_C(0xb424dc35, 095cd80f), -110, -14},
832
+ {GRISU_UINT64_C(0x8cbccc09, 6f5088cc), -103, -12},
833
+ {GRISU_UINT64_C(0xdbe6fece, bdedd5bf), -97, -10},
834
+ {GRISU_UINT64_C(0xabcc7711, 8461cefd), -90, -8},
835
+ {GRISU_UINT64_C(0x8637bd05, af6c69b6), -83, -6},
836
+ {GRISU_UINT64_C(0xd1b71758, e219652c), -77, -4},
837
+ {GRISU_UINT64_C(0xa3d70a3d, 70a3d70a), -70, -2},
838
+ {GRISU_UINT64_C(0x80000000, 00000000), -63, 0},
839
+ {GRISU_UINT64_C(0xc8000000, 00000000), -57, 2},
840
+ {GRISU_UINT64_C(0x9c400000, 00000000), -50, 4},
841
+ {GRISU_UINT64_C(0xf4240000, 00000000), -44, 6},
842
+ {GRISU_UINT64_C(0xbebc2000, 00000000), -37, 8},
843
+ {GRISU_UINT64_C(0x9502f900, 00000000), -30, 10},
844
+ {GRISU_UINT64_C(0xe8d4a510, 00000000), -24, 12},
845
+ {GRISU_UINT64_C(0xb5e620f4, 80000000), -17, 14},
846
+ {GRISU_UINT64_C(0x8e1bc9bf, 04000000), -10, 16},
847
+ {GRISU_UINT64_C(0xde0b6b3a, 76400000), -4, 18},
848
+ {GRISU_UINT64_C(0xad78ebc5, ac620000), 3, 20},
849
+ {GRISU_UINT64_C(0x87867832, 6eac9000), 10, 22},
850
+ {GRISU_UINT64_C(0xd3c21bce, cceda100), 16, 24},
851
+ {GRISU_UINT64_C(0xa56fa5b9, 9019a5c8), 23, 26},
852
+ {GRISU_UINT64_C(0x813f3978, f8940984), 30, 28},
853
+ {GRISU_UINT64_C(0xc9f2c9cd, 04674edf), 36, 30},
854
+ {GRISU_UINT64_C(0x9dc5ada8, 2b70b59e), 43, 32},
855
+ {GRISU_UINT64_C(0xf684df56, c3e01bc7), 49, 34},
856
+ {GRISU_UINT64_C(0xc097ce7b, c90715b3), 56, 36},
857
+ {GRISU_UINT64_C(0x96769950, b50d88f4), 63, 38},
858
+ {GRISU_UINT64_C(0xeb194f8e, 1ae525fd), 69, 40},
859
+ {GRISU_UINT64_C(0xb7abc627, 050305ae), 76, 42},
860
+ {GRISU_UINT64_C(0x8f7e32ce, 7bea5c70), 83, 44},
861
+ {GRISU_UINT64_C(0xe0352f62, a19e306f), 89, 46},
862
+ {GRISU_UINT64_C(0xaf298d05, 0e4395d7), 96, 48},
863
+ {GRISU_UINT64_C(0x88d8762b, f324cd10), 103, 50},
864
+ {GRISU_UINT64_C(0xd5d238a4, abe98068), 109, 52},
865
+ {GRISU_UINT64_C(0xa70c3c40, a64e6c52), 116, 54},
866
+ {GRISU_UINT64_C(0x82818f12, 81ed44a0), 123, 56},
867
+ {GRISU_UINT64_C(0xcbea6f8c, eb02bb3a), 129, 58},
868
+ {GRISU_UINT64_C(0x9f4f2726, 179a2245), 136, 60},
869
+ {GRISU_UINT64_C(0xf8ebad2b, 84e0d58c), 142, 62},
870
+ {GRISU_UINT64_C(0xc2781f49, ffcfa6d5), 149, 64},
871
+ {GRISU_UINT64_C(0x97edd871, cfda3a57), 156, 66},
872
+ {GRISU_UINT64_C(0xed63a231, d4c4fb27), 162, 68},
873
+ {GRISU_UINT64_C(0xb975d6b6, ee39e437), 169, 70},
874
+ {GRISU_UINT64_C(0x90e40fbe, ea1d3a4b), 176, 72},
875
+ {GRISU_UINT64_C(0xe264589a, 4dcdab15), 182, 74},
876
+ {GRISU_UINT64_C(0xb0de6538, 8cc8ada8), 189, 76},
877
+ {GRISU_UINT64_C(0x8a2dbf14, 2dfcc7ab), 196, 78},
878
+ {GRISU_UINT64_C(0xd7e77a8f, 87daf7fc), 202, 80},
879
+ {GRISU_UINT64_C(0xa8acd7c0, 222311bd), 209, 82},
880
+ {GRISU_UINT64_C(0x83c7088e, 1aab65db), 216, 84},
881
+ {GRISU_UINT64_C(0xcde6fd5e, 09abcf27), 222, 86},
882
+ {GRISU_UINT64_C(0xa0dc75f1, 778e39d6), 229, 88},
883
+ {GRISU_UINT64_C(0xfb587849, 4ace3a5f), 235, 90},
884
+ {GRISU_UINT64_C(0xc45d1df9, 42711d9a), 242, 92},
885
+ {GRISU_UINT64_C(0x9968bf6a, bbe85f20), 249, 94},
886
+ {GRISU_UINT64_C(0xefb3ab16, c59b14a3), 255, 96},
887
+ {GRISU_UINT64_C(0xbb445da9, ca61281f), 262, 98},
888
+ {GRISU_UINT64_C(0x924d692c, a61be758), 269, 100},
889
+ {GRISU_UINT64_C(0xe498f455, c38b997a), 275, 102},
890
+ {GRISU_UINT64_C(0xb2977ee3, 00c50fe7), 282, 104},
891
+ {GRISU_UINT64_C(0x8b865b21, 5899f46d), 289, 106},
892
+ {GRISU_UINT64_C(0xda01ee64, 1a708dea), 295, 108},
893
+ {GRISU_UINT64_C(0xaa51823e, 34a7eedf), 302, 110},
894
+ {GRISU_UINT64_C(0x850fadc0, 9923329e), 309, 112},
895
+ {GRISU_UINT64_C(0xcfe87f7c, ef46ff17), 315, 114},
896
+ {GRISU_UINT64_C(0xa26da399, 9aef774a), 322, 116},
897
+ {GRISU_UINT64_C(0xfdcb4fa0, 02162a63), 328, 118},
898
+ {GRISU_UINT64_C(0xc646d635, 01a1511e), 335, 120},
899
+ {GRISU_UINT64_C(0x9ae75759, 6946075f), 342, 122},
900
+ {GRISU_UINT64_C(0xf209787b, b47d6b85), 348, 124},
901
+ {GRISU_UINT64_C(0xbd176620, a501fc00), 355, 126},
902
+ {GRISU_UINT64_C(0x93ba47c9, 80e98ce0), 362, 128},
903
+ {GRISU_UINT64_C(0xe6d3102a, d96cec1e), 368, 130},
904
+ {GRISU_UINT64_C(0xb454e4a1, 79dd1877), 375, 132},
905
+ {GRISU_UINT64_C(0x8ce2529e, 2734bb1d), 382, 134},
906
+ {GRISU_UINT64_C(0xdc21a117, 1d42645d), 388, 136},
907
+ {GRISU_UINT64_C(0xabfa45da, 0edbde69), 395, 138},
908
+ {GRISU_UINT64_C(0x865b8692, 5b9bc5c2), 402, 140},
909
+ {GRISU_UINT64_C(0xd1ef0244, af2364ff), 408, 142},
910
+ {GRISU_UINT64_C(0xa402b9c5, a8d3a6e7), 415, 144},
911
+ {GRISU_UINT64_C(0x80222122, 6be55a65), 422, 146},
912
+ {GRISU_UINT64_C(0xc83553c5, c8965d3d), 428, 148},
913
+ {GRISU_UINT64_C(0x9c69a972, 84b578d8), 435, 150},
914
+ {GRISU_UINT64_C(0xf46518c2, ef5b8cd1), 441, 152},
915
+ {GRISU_UINT64_C(0xbeeefb58, 4aff8604), 448, 154},
916
+ {GRISU_UINT64_C(0x952ab45c, fa97a0b3), 455, 156},
917
+ {GRISU_UINT64_C(0xe912b9d1, 478ceb17), 461, 158},
918
+ {GRISU_UINT64_C(0xb616a12b, 7fe617aa), 468, 160},
919
+ {GRISU_UINT64_C(0x8e41ade9, fbebc27d), 475, 162},
920
+ {GRISU_UINT64_C(0xde469fbd, 99a05fe3), 481, 164},
921
+ {GRISU_UINT64_C(0xada72ccc, 20054aea), 488, 166},
922
+ {GRISU_UINT64_C(0x87aa9aff, 79042287), 495, 168},
923
+ {GRISU_UINT64_C(0xd3fa922f, 2d1675f2), 501, 170},
924
+ {GRISU_UINT64_C(0xa59bc234, db398c25), 508, 172},
925
+ {GRISU_UINT64_C(0x8161afb9, 4b44f57d), 515, 174},
926
+ {GRISU_UINT64_C(0xca28a291, 859bbf93), 521, 176},
927
+ {GRISU_UINT64_C(0x9defbf01, b061adab), 528, 178},
928
+ {GRISU_UINT64_C(0xf6c69a72, a3989f5c), 534, 180},
929
+ {GRISU_UINT64_C(0xc0cb28a9, 8fcf3c80), 541, 182},
930
+ {GRISU_UINT64_C(0x969eb7c4, 7859e744), 548, 184},
931
+ {GRISU_UINT64_C(0xeb57ff22, fc0c795a), 554, 186},
932
+ {GRISU_UINT64_C(0xb7dcbf53, 54e9bece), 561, 188},
933
+ {GRISU_UINT64_C(0x8fa47579, 1a569d11), 568, 190},
934
+ {GRISU_UINT64_C(0xe070f78d, 3927556b), 574, 192},
935
+ {GRISU_UINT64_C(0xaf584166, 54a6babb), 581, 194},
936
+ {GRISU_UINT64_C(0x88fcf317, f22241e2), 588, 196},
937
+ {GRISU_UINT64_C(0xd60b3bd5, 6a5586f2), 594, 198},
938
+ {GRISU_UINT64_C(0xa738c6be, bb12d16d), 601, 200},
939
+ {GRISU_UINT64_C(0x82a45b45, 0226b39d), 608, 202},
940
+ {GRISU_UINT64_C(0xcc20ce9b, d35c78a5), 614, 204},
941
+ {GRISU_UINT64_C(0x9f79a169, bd203e41), 621, 206},
942
+ {GRISU_UINT64_C(0xf92e0c35, 37826146), 627, 208},
943
+ {GRISU_UINT64_C(0xc2abf989, 935ddbfe), 634, 210},
944
+ {GRISU_UINT64_C(0x98165af3, 7b2153df), 641, 212},
945
+ {GRISU_UINT64_C(0xeda2ee1c, 7064130c), 647, 214},
946
+ {GRISU_UINT64_C(0xb9a74a06, 37ce2ee1), 654, 216},
947
+ {GRISU_UINT64_C(0x910ab1d4, db9914a0), 661, 218},
948
+ {GRISU_UINT64_C(0xe2a0b5dc, 971f303a), 667, 220},
949
+ {GRISU_UINT64_C(0xb10d8e14, 56105dad), 674, 222},
950
+ {GRISU_UINT64_C(0x8a5296ff, e33cc930), 681, 224},
951
+ {GRISU_UINT64_C(0xd8210bef, d30efa5a), 687, 226},
952
+ {GRISU_UINT64_C(0xa8d9d153, 5ce3b396), 694, 228},
953
+ {GRISU_UINT64_C(0x83ea2b89, 2091e44e), 701, 230},
954
+ {GRISU_UINT64_C(0xce1de406, 42e3f4b9), 707, 232},
955
+ {GRISU_UINT64_C(0xa1075a24, e4421731), 714, 234},
956
+ {GRISU_UINT64_C(0xfb9b7cd9, a4a7443c), 720, 236},
957
+ {GRISU_UINT64_C(0xc491798a, 08a2ad4f), 727, 238},
958
+ {GRISU_UINT64_C(0x9991a6f3, d6bf1766), 734, 240},
959
+ {GRISU_UINT64_C(0xeff394dc, ff8a948f), 740, 242},
960
+ {GRISU_UINT64_C(0xbb764c4c, a7a44410), 747, 244},
961
+ {GRISU_UINT64_C(0x92746b9b, e2f8552c), 754, 246},
962
+ {GRISU_UINT64_C(0xe4d5e823, 92a40515), 760, 248},
963
+ {GRISU_UINT64_C(0xb2c71d5b, ca9023f8), 767, 250},
964
+ {GRISU_UINT64_C(0x8bab8eef, b6409c1a), 774, 252},
965
+ {GRISU_UINT64_C(0xda3c0f56, 8cc4f3e9), 780, 254},
966
+ {GRISU_UINT64_C(0xaa7eebfb, 9df9de8e), 787, 256},
967
+ {GRISU_UINT64_C(0x8533285c, 936b35df), 794, 258},
968
+ {GRISU_UINT64_C(0xd01fef10, a657842c), 800, 260},
969
+ {GRISU_UINT64_C(0xa298f2c5, 01f45f43), 807, 262},
970
+ {GRISU_UINT64_C(0xfe0efb53, d30dd4d8), 813, 264},
971
+ {GRISU_UINT64_C(0xc67bb459, 7ce2ce49), 820, 266},
972
+ {GRISU_UINT64_C(0x9b10a4e5, e9913129), 827, 268},
973
+ {GRISU_UINT64_C(0xf24a01a7, 3cf2dcd0), 833, 270},
974
+ {GRISU_UINT64_C(0xbd49d14a, a79dbc82), 840, 272},
975
+ {GRISU_UINT64_C(0x93e1ab82, 52f33b46), 847, 274},
976
+ {GRISU_UINT64_C(0xe7109bfb, a19c0c9d), 853, 276},
977
+ {GRISU_UINT64_C(0xb484f9dc, 9641e9db), 860, 278},
978
+ {GRISU_UINT64_C(0x8d07e334, 55637eb3), 867, 280},
979
+ {GRISU_UINT64_C(0xdc5c5301, c56b75f7), 873, 282},
980
+ {GRISU_UINT64_C(0xac2820d9, 623bf429), 880, 284},
981
+ {GRISU_UINT64_C(0x867f59a9, d4bed6c0), 887, 286},
982
+ {GRISU_UINT64_C(0xd226fc19, 5c6a2f8c), 893, 288},
983
+ {GRISU_UINT64_C(0xa42e74f3, d032f526), 900, 290},
984
+ {GRISU_UINT64_C(0x80444b5e, 7aa7cf85), 907, 292},
985
+ {GRISU_UINT64_C(0xc86ab5c3, 9fa63441), 913, 294},
986
+ {GRISU_UINT64_C(0x9c935e00, d4b9d8d2), 920, 296},
987
+ {GRISU_UINT64_C(0xf4a642e1, 4c6262c9), 926, 298},
988
+ {GRISU_UINT64_C(0xbf21e440, 03acdd2d), 933, 300},
989
+ {GRISU_UINT64_C(0x95527a52, 02df0ccb), 940, 302},
990
+ {GRISU_UINT64_C(0xe950df20, 247c83fd), 946, 304},
991
+ {GRISU_UINT64_C(0xb6472e51, 1c81471e), 953, 306},
992
+ {GRISU_UINT64_C(0x8e679c2f, 5e44ff8f), 960, 308},
993
+ {GRISU_UINT64_C(0xde81e40a, 034bcf50), 966, 310},
994
+ {GRISU_UINT64_C(0xadd57a27, d29339f6), 973, 312},
995
+ {GRISU_UINT64_C(0x87cec76f, 1c830549), 980, 314},
996
+ {GRISU_UINT64_C(0xd433179d, 9c8cb841), 986, 316},
997
+ {GRISU_UINT64_C(0xa5c7ea73, 224deff3), 993, 318},
998
+ {GRISU_UINT64_C(0x81842f29, f2cce376), 1000, 320},
999
+ {GRISU_UINT64_C(0xca5e89b1, 8b602368), 1006, 322},
1000
+ {GRISU_UINT64_C(0x9e19db92, b4e31ba9), 1013, 324},
1001
+ {GRISU_UINT64_C(0xf7086715, 3aa2db39), 1019, 326},
1002
+ {GRISU_UINT64_C(0xc0fe9088, 95cf3b44), 1026, 328},
1003
+ {GRISU_UINT64_C(0x96c6e0ea, b509e64d), 1033, 330},
1004
+ {GRISU_UINT64_C(0xeb96bf6e, badf77d9), 1039, 332},
1005
+ {GRISU_UINT64_C(0xb80dc58e, 81fe95a1), 1046, 334},
1006
+ {GRISU_UINT64_C(0x8fcac257, 558ee4e6), 1053, 336},
1007
+ {GRISU_UINT64_C(0xe0accfa8, 75af45a8), 1059, 338},
1008
+ {GRISU_UINT64_C(0xaf87023b, 9bf0ee6b), 1066, 340},
1009
+ {GRISU_UINT64_C(0x892179be, 91d43a44), 1073, 342},
1010
+ };
1011
+ static const int GRISU_CACHE_MAX_DISTANCE(2) = 7;
1012
+ // nb elements (2): 326
1013
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(3)[] = {
1014
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
1015
+ {GRISU_UINT64_C(0xe0b62e29, 29aba83c), -1077, -305},
1016
+ {GRISU_UINT64_C(0xdb71e914, 32b1a24b), -1067, -302},
1017
+ {GRISU_UINT64_C(0xd64d3d9d, b981787d), -1057, -299},
1018
+ {GRISU_UINT64_C(0xd1476e2c, 07286faa), -1047, -296},
1019
+ {GRISU_UINT64_C(0xcc5fc196, fefd7d0c), -1037, -293},
1020
+ {GRISU_UINT64_C(0xc795830d, 75038c1e), -1027, -290},
1021
+ {GRISU_UINT64_C(0xc2e801fb, 244576d5), -1017, -287},
1022
+ {GRISU_UINT64_C(0xbe5691ef, 416bd60c), -1007, -284},
1023
+ {GRISU_UINT64_C(0xb9e08a83, a5e34f08), -997, -281},
1024
+ {GRISU_UINT64_C(0xb5854744, 8ffffb2e), -987, -278},
1025
+ {GRISU_UINT64_C(0xb1442798, f49ffb4b), -977, -275},
1026
+ {GRISU_UINT64_C(0xad1c8eab, 5ee43b67), -967, -272},
1027
+ {GRISU_UINT64_C(0xa90de353, 5aaae202), -957, -269},
1028
+ {GRISU_UINT64_C(0xa5178fff, 668ae0b6), -947, -266},
1029
+ {GRISU_UINT64_C(0xa139029f, 6a239f72), -937, -263},
1030
+ {GRISU_UINT64_C(0x9d71ac8f, ada6c9b5), -927, -260},
1031
+ {GRISU_UINT64_C(0x99c10284, 4f94e0fb), -917, -257},
1032
+ {GRISU_UINT64_C(0x96267c75, 35b763b5), -907, -254},
1033
+ {GRISU_UINT64_C(0x92a1958a, 7675175f), -897, -251},
1034
+ {GRISU_UINT64_C(0x8f31cc09, 37ae58d3), -887, -248},
1035
+ {GRISU_UINT64_C(0x8bd6a141, 006042be), -877, -245},
1036
+ {GRISU_UINT64_C(0x888f9979, 7a5e012d), -867, -242},
1037
+ {GRISU_UINT64_C(0x855c3be0, a17fcd26), -857, -239},
1038
+ {GRISU_UINT64_C(0x823c1279, 5db6ce57), -847, -236},
1039
+ {GRISU_UINT64_C(0xfe5d5415, 0b090b03), -838, -233},
1040
+ {GRISU_UINT64_C(0xf867241c, 8cc6d4c1), -828, -230},
1041
+ {GRISU_UINT64_C(0xf294b943, e17a2bc4), -818, -227},
1042
+ {GRISU_UINT64_C(0xece53cec, 4a314ebe), -808, -224},
1043
+ {GRISU_UINT64_C(0xe757dd7e, c07426e5), -798, -221},
1044
+ {GRISU_UINT64_C(0xe1ebce4d, c7f16dfc), -788, -218},
1045
+ {GRISU_UINT64_C(0xdca04777, f541c568), -778, -215},
1046
+ {GRISU_UINT64_C(0xd77485cb, 25823ac7), -768, -212},
1047
+ {GRISU_UINT64_C(0xd267caa8, 62a12d67), -758, -209},
1048
+ {GRISU_UINT64_C(0xcd795be8, 70516656), -748, -206},
1049
+ {GRISU_UINT64_C(0xc8a883c0, fdaf7df0), -738, -203},
1050
+ {GRISU_UINT64_C(0xc3f490aa, 77bd60fd), -728, -200},
1051
+ {GRISU_UINT64_C(0xbf5cd546, 78eef0b7), -718, -197},
1052
+ {GRISU_UINT64_C(0xbae0a846, d2195713), -708, -194},
1053
+ {GRISU_UINT64_C(0xb67f6455, 292cbf08), -698, -191},
1054
+ {GRISU_UINT64_C(0xb23867fb, 2a35b28e), -688, -188},
1055
+ {GRISU_UINT64_C(0xae0b158b, 4738705f), -678, -185},
1056
+ {GRISU_UINT64_C(0xa9f6d30a, 038d1dbc), -668, -182},
1057
+ {GRISU_UINT64_C(0xa5fb0a17, c777cf0a), -658, -179},
1058
+ {GRISU_UINT64_C(0xa21727db, 38cb0030), -648, -176},
1059
+ {GRISU_UINT64_C(0x9e4a9cec, 15763e2f), -638, -173},
1060
+ {GRISU_UINT64_C(0x9a94dd3e, 8cf578ba), -628, -170},
1061
+ {GRISU_UINT64_C(0x96f5600f, 15a7b7e5), -618, -167},
1062
+ {GRISU_UINT64_C(0x936b9fce, bb25c996), -608, -164},
1063
+ {GRISU_UINT64_C(0x8ff71a0f, e2c2e6dc), -598, -161},
1064
+ {GRISU_UINT64_C(0x8c974f73, 83725573), -588, -158},
1065
+ {GRISU_UINT64_C(0x894bc396, ce5da772), -578, -155},
1066
+ {GRISU_UINT64_C(0x8613fd01, 45877586), -568, -152},
1067
+ {GRISU_UINT64_C(0x82ef8513, 3de648c5), -558, -149},
1068
+ {GRISU_UINT64_C(0xffbbcfe9, 94e5c620), -549, -146},
1069
+ {GRISU_UINT64_C(0xf9bd690a, 1b68637b), -539, -143},
1070
+ {GRISU_UINT64_C(0xf3e2f893, dec3f126), -529, -140},
1071
+ {GRISU_UINT64_C(0xee2ba6c0, 678b597f), -519, -137},
1072
+ {GRISU_UINT64_C(0xe896a0d7, e51e1566), -509, -134},
1073
+ {GRISU_UINT64_C(0xe3231912, d5bf60e6), -499, -131},
1074
+ {GRISU_UINT64_C(0xddd0467c, 64bce4a1), -489, -128},
1075
+ {GRISU_UINT64_C(0xd89d64d5, 7a607745), -479, -125},
1076
+ {GRISU_UINT64_C(0xd389b478, 79823479), -469, -122},
1077
+ {GRISU_UINT64_C(0xce947a3d, a6a9273e), -459, -119},
1078
+ {GRISU_UINT64_C(0xc9bcff60, 34c13053), -449, -116},
1079
+ {GRISU_UINT64_C(0xc5029163, f384a931), -439, -113},
1080
+ {GRISU_UINT64_C(0xc06481fb, 9bcf8d3a), -429, -110},
1081
+ {GRISU_UINT64_C(0xbbe226ef, b628afeb), -419, -107},
1082
+ {GRISU_UINT64_C(0xb77ada06, 17e3bbcb), -409, -104},
1083
+ {GRISU_UINT64_C(0xb32df8e9, f3546564), -399, -101},
1084
+ {GRISU_UINT64_C(0xaefae514, 77a06b04), -389, -98},
1085
+ {GRISU_UINT64_C(0xaae103b5, fcd2a882), -379, -95},
1086
+ {GRISU_UINT64_C(0xa6dfbd9f, b8e5b88f), -369, -92},
1087
+ {GRISU_UINT64_C(0xa2f67f2d, fa90563b), -359, -89},
1088
+ {GRISU_UINT64_C(0x9f24b832, e6b0f436), -349, -86},
1089
+ {GRISU_UINT64_C(0x9b69dbe1, b548ce7d), -339, -83},
1090
+ {GRISU_UINT64_C(0x97c560ba, 6b0919a6), -329, -80},
1091
+ {GRISU_UINT64_C(0x9436c076, 0c86e30c), -319, -77},
1092
+ {GRISU_UINT64_C(0x90bd77f3, 483bb9ba), -309, -74},
1093
+ {GRISU_UINT64_C(0x8d590723, 948a535f), -299, -71},
1094
+ {GRISU_UINT64_C(0x8a08f0f8, bf0f156b), -289, -68},
1095
+ {GRISU_UINT64_C(0x86ccbb52, ea94baeb), -279, -65},
1096
+ {GRISU_UINT64_C(0x83a3eeee, f9153e89), -269, -62},
1097
+ {GRISU_UINT64_C(0x808e1755, 5f3ebf12), -259, -59},
1098
+ {GRISU_UINT64_C(0xfb158592, be068d2f), -250, -56},
1099
+ {GRISU_UINT64_C(0xf5330471, 4d9265e0), -240, -53},
1100
+ {GRISU_UINT64_C(0xef73d256, a5c0f77d), -230, -50},
1101
+ {GRISU_UINT64_C(0xe9d71b68, 9dde71b0), -220, -47},
1102
+ {GRISU_UINT64_C(0xe45c10c4, 2a2b3b06), -210, -44},
1103
+ {GRISU_UINT64_C(0xdf01e85f, 912e37a3), -200, -41},
1104
+ {GRISU_UINT64_C(0xd9c7dced, 53c72256), -190, -38},
1105
+ {GRISU_UINT64_C(0xd4ad2dbf, c3d07788), -180, -35},
1106
+ {GRISU_UINT64_C(0xcfb11ead, 453994ba), -170, -32},
1107
+ {GRISU_UINT64_C(0xcad2f7f5, 359a3b3e), -160, -29},
1108
+ {GRISU_UINT64_C(0xc6120625, 76589ddb), -150, -26},
1109
+ {GRISU_UINT64_C(0xc16d9a00, 95928a27), -140, -23},
1110
+ {GRISU_UINT64_C(0xbce50864, 92111aeb), -130, -20},
1111
+ {GRISU_UINT64_C(0xb877aa32, 36a4b449), -120, -17},
1112
+ {GRISU_UINT64_C(0xb424dc35, 095cd80f), -110, -14},
1113
+ {GRISU_UINT64_C(0xafebff0b, cb24aaff), -100, -11},
1114
+ {GRISU_UINT64_C(0xabcc7711, 8461cefd), -90, -8},
1115
+ {GRISU_UINT64_C(0xa7c5ac47, 1b478423), -80, -5},
1116
+ {GRISU_UINT64_C(0xa3d70a3d, 70a3d70a), -70, -2},
1117
+ {GRISU_UINT64_C(0xa0000000, 00000000), -60, 1},
1118
+ {GRISU_UINT64_C(0x9c400000, 00000000), -50, 4},
1119
+ {GRISU_UINT64_C(0x98968000, 00000000), -40, 7},
1120
+ {GRISU_UINT64_C(0x9502f900, 00000000), -30, 10},
1121
+ {GRISU_UINT64_C(0x9184e72a, 00000000), -20, 13},
1122
+ {GRISU_UINT64_C(0x8e1bc9bf, 04000000), -10, 16},
1123
+ {GRISU_UINT64_C(0x8ac72304, 89e80000), 0, 19},
1124
+ {GRISU_UINT64_C(0x87867832, 6eac9000), 10, 22},
1125
+ {GRISU_UINT64_C(0x84595161, 401484a0), 20, 25},
1126
+ {GRISU_UINT64_C(0x813f3978, f8940984), 30, 28},
1127
+ {GRISU_UINT64_C(0xfc6f7c40, 45812296), 39, 31},
1128
+ {GRISU_UINT64_C(0xf684df56, c3e01bc7), 49, 34},
1129
+ {GRISU_UINT64_C(0xf0bdc21a, bb48db20), 59, 37},
1130
+ {GRISU_UINT64_C(0xeb194f8e, 1ae525fd), 69, 40},
1131
+ {GRISU_UINT64_C(0xe596b7b0, c643c719), 79, 43},
1132
+ {GRISU_UINT64_C(0xe0352f62, a19e306f), 89, 46},
1133
+ {GRISU_UINT64_C(0xdaf3f046, 51d47b4c), 99, 49},
1134
+ {GRISU_UINT64_C(0xd5d238a4, abe98068), 109, 52},
1135
+ {GRISU_UINT64_C(0xd0cf4b50, cfe20766), 119, 55},
1136
+ {GRISU_UINT64_C(0xcbea6f8c, eb02bb3a), 129, 58},
1137
+ {GRISU_UINT64_C(0xc722f0ef, 9d80aad6), 139, 61},
1138
+ {GRISU_UINT64_C(0xc2781f49, ffcfa6d5), 149, 64},
1139
+ {GRISU_UINT64_C(0xbde94e8e, 43d0c8ec), 159, 67},
1140
+ {GRISU_UINT64_C(0xb975d6b6, ee39e437), 169, 70},
1141
+ {GRISU_UINT64_C(0xb51d13ae, a4a488dd), 179, 73},
1142
+ {GRISU_UINT64_C(0xb0de6538, 8cc8ada8), 189, 76},
1143
+ {GRISU_UINT64_C(0xacb92ed9, 397bf996), 199, 79},
1144
+ {GRISU_UINT64_C(0xa8acd7c0, 222311bd), 209, 82},
1145
+ {GRISU_UINT64_C(0xa4b8cab1, a1563f52), 219, 85},
1146
+ {GRISU_UINT64_C(0xa0dc75f1, 778e39d6), 229, 88},
1147
+ {GRISU_UINT64_C(0x9d174b2d, cec0e47b), 239, 91},
1148
+ {GRISU_UINT64_C(0x9968bf6a, bbe85f20), 249, 94},
1149
+ {GRISU_UINT64_C(0x95d04aee, 3b80ece6), 259, 97},
1150
+ {GRISU_UINT64_C(0x924d692c, a61be758), 269, 100},
1151
+ {GRISU_UINT64_C(0x8edf98b5, 9a373fec), 279, 103},
1152
+ {GRISU_UINT64_C(0x8b865b21, 5899f46d), 289, 106},
1153
+ {GRISU_UINT64_C(0x884134fe, 908658b2), 299, 109},
1154
+ {GRISU_UINT64_C(0x850fadc0, 9923329e), 309, 112},
1155
+ {GRISU_UINT64_C(0x81f14fae, 158c5f6e), 319, 115},
1156
+ {GRISU_UINT64_C(0xfdcb4fa0, 02162a63), 328, 118},
1157
+ {GRISU_UINT64_C(0xf7d88bc2, 4209a565), 338, 121},
1158
+ {GRISU_UINT64_C(0xf209787b, b47d6b85), 348, 124},
1159
+ {GRISU_UINT64_C(0xec5d3fa8, ce427b00), 358, 127},
1160
+ {GRISU_UINT64_C(0xe6d3102a, d96cec1e), 368, 130},
1161
+ {GRISU_UINT64_C(0xe16a1dc9, d8545e95), 378, 133},
1162
+ {GRISU_UINT64_C(0xdc21a117, 1d42645d), 388, 136},
1163
+ {GRISU_UINT64_C(0xd6f8d750, 9292d603), 398, 139},
1164
+ {GRISU_UINT64_C(0xd1ef0244, af2364ff), 408, 142},
1165
+ {GRISU_UINT64_C(0xcd036837, 130890a1), 418, 145},
1166
+ {GRISU_UINT64_C(0xc83553c5, c8965d3d), 428, 148},
1167
+ {GRISU_UINT64_C(0xc38413cf, 25e2d70e), 438, 151},
1168
+ {GRISU_UINT64_C(0xbeeefb58, 4aff8604), 448, 154},
1169
+ {GRISU_UINT64_C(0xba756174, 393d88e0), 458, 157},
1170
+ {GRISU_UINT64_C(0xb616a12b, 7fe617aa), 468, 160},
1171
+ {GRISU_UINT64_C(0xb1d21964, 7ae6b31c), 478, 163},
1172
+ {GRISU_UINT64_C(0xada72ccc, 20054aea), 488, 166},
1173
+ {GRISU_UINT64_C(0xa99541bf, 57452b28), 498, 169},
1174
+ {GRISU_UINT64_C(0xa59bc234, db398c25), 508, 172},
1175
+ {GRISU_UINT64_C(0xa1ba1ba7, 9e1632dc), 518, 175},
1176
+ {GRISU_UINT64_C(0x9defbf01, b061adab), 528, 178},
1177
+ {GRISU_UINT64_C(0x9a3c2087, a63f6399), 538, 181},
1178
+ {GRISU_UINT64_C(0x969eb7c4, 7859e744), 548, 184},
1179
+ {GRISU_UINT64_C(0x9316ff75, dd87cbd8), 558, 187},
1180
+ {GRISU_UINT64_C(0x8fa47579, 1a569d11), 568, 190},
1181
+ {GRISU_UINT64_C(0x8c469ab8, 43b89563), 578, 193},
1182
+ {GRISU_UINT64_C(0x88fcf317, f22241e2), 588, 196},
1183
+ {GRISU_UINT64_C(0x85c70565, 62757457), 598, 199},
1184
+ {GRISU_UINT64_C(0x82a45b45, 0226b39d), 608, 202},
1185
+ {GRISU_UINT64_C(0xff290242, c83396ce), 617, 205},
1186
+ {GRISU_UINT64_C(0xf92e0c35, 37826146), 627, 208},
1187
+ {GRISU_UINT64_C(0xf356f7eb, f83552fe), 637, 211},
1188
+ {GRISU_UINT64_C(0xeda2ee1c, 7064130c), 647, 214},
1189
+ {GRISU_UINT64_C(0xe8111c87, c5c1ba9a), 657, 217},
1190
+ {GRISU_UINT64_C(0xe2a0b5dc, 971f303a), 667, 220},
1191
+ {GRISU_UINT64_C(0xdd50f199, 6b947519), 677, 223},
1192
+ {GRISU_UINT64_C(0xd8210bef, d30efa5a), 687, 226},
1193
+ {GRISU_UINT64_C(0xd31045a8, 341ca07c), 697, 229},
1194
+ {GRISU_UINT64_C(0xce1de406, 42e3f4b9), 707, 232},
1195
+ {GRISU_UINT64_C(0xc94930ae, 1d529cfd), 717, 235},
1196
+ {GRISU_UINT64_C(0xc491798a, 08a2ad4f), 727, 238},
1197
+ {GRISU_UINT64_C(0xbff610b0, cc6edd3f), 737, 241},
1198
+ {GRISU_UINT64_C(0xbb764c4c, a7a44410), 747, 244},
1199
+ {GRISU_UINT64_C(0xb7118682, dbb66a77), 757, 247},
1200
+ {GRISU_UINT64_C(0xb2c71d5b, ca9023f8), 767, 250},
1201
+ {GRISU_UINT64_C(0xae9672ab, a3d0c321), 777, 253},
1202
+ {GRISU_UINT64_C(0xaa7eebfb, 9df9de8e), 787, 256},
1203
+ {GRISU_UINT64_C(0xa67ff273, b8460357), 797, 259},
1204
+ {GRISU_UINT64_C(0xa298f2c5, 01f45f43), 807, 262},
1205
+ {GRISU_UINT64_C(0x9ec95d14, 63e8a507), 817, 265},
1206
+ {GRISU_UINT64_C(0x9b10a4e5, e9913129), 827, 268},
1207
+ {GRISU_UINT64_C(0x976e4108, 8617ca02), 837, 271},
1208
+ {GRISU_UINT64_C(0x93e1ab82, 52f33b46), 847, 274},
1209
+ {GRISU_UINT64_C(0x906a617d, 450187e2), 857, 277},
1210
+ {GRISU_UINT64_C(0x8d07e334, 55637eb3), 867, 280},
1211
+ {GRISU_UINT64_C(0x89b9b3e1, 1b6329bb), 877, 283},
1212
+ {GRISU_UINT64_C(0x867f59a9, d4bed6c0), 887, 286},
1213
+ {GRISU_UINT64_C(0x83585d8f, d9c25db8), 897, 289},
1214
+ {GRISU_UINT64_C(0x80444b5e, 7aa7cf85), 907, 292},
1215
+ {GRISU_UINT64_C(0xfa856334, 878fc151), 916, 295},
1216
+ {GRISU_UINT64_C(0xf4a642e1, 4c6262c9), 926, 298},
1217
+ {GRISU_UINT64_C(0xeeea5d50, 04981478), 936, 301},
1218
+ {GRISU_UINT64_C(0xe950df20, 247c83fd), 946, 304},
1219
+ {GRISU_UINT64_C(0xe3d8f9e5, 63a198e5), 956, 307},
1220
+ {GRISU_UINT64_C(0xde81e40a, 034bcf50), 966, 310},
1221
+ {GRISU_UINT64_C(0xd94ad8b1, c7380874), 976, 313},
1222
+ {GRISU_UINT64_C(0xd433179d, 9c8cb841), 986, 316},
1223
+ {GRISU_UINT64_C(0xcf39e50f, eae16bf0), 996, 319},
1224
+ {GRISU_UINT64_C(0xca5e89b1, 8b602368), 1006, 322},
1225
+ {GRISU_UINT64_C(0xc5a05277, 621be294), 1016, 325},
1226
+ {GRISU_UINT64_C(0xc0fe9088, 95cf3b44), 1026, 328},
1227
+ {GRISU_UINT64_C(0xbc789925, 624c5fe1), 1036, 331},
1228
+ {GRISU_UINT64_C(0xb80dc58e, 81fe95a1), 1046, 334},
1229
+ {GRISU_UINT64_C(0xb3bd72ed, 2af29e20), 1056, 337},
1230
+ {GRISU_UINT64_C(0xaf87023b, 9bf0ee6b), 1066, 340},
1231
+ };
1232
+ static const int GRISU_CACHE_MAX_DISTANCE(3) = 10;
1233
+ // nb elements (3): 217
1234
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(4)[] = {
1235
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
1236
+ {GRISU_UINT64_C(0x8c71dcd9, ba0b4926), -1073, -304},
1237
+ {GRISU_UINT64_C(0xab70fe17, c79ac6ca), -1060, -300},
1238
+ {GRISU_UINT64_C(0xd1476e2c, 07286faa), -1047, -296},
1239
+ {GRISU_UINT64_C(0xff77b1fc, bebcdc4f), -1034, -292},
1240
+ {GRISU_UINT64_C(0x9becce62, 836ac577), -1020, -288},
1241
+ {GRISU_UINT64_C(0xbe5691ef, 416bd60c), -1007, -284},
1242
+ {GRISU_UINT64_C(0xe858ad24, 8f5c22ca), -994, -280},
1243
+ {GRISU_UINT64_C(0x8dd01fad, 907ffc3c), -980, -276},
1244
+ {GRISU_UINT64_C(0xad1c8eab, 5ee43b67), -967, -272},
1245
+ {GRISU_UINT64_C(0xd3515c28, 31559a83), -954, -268},
1246
+ {GRISU_UINT64_C(0x80fa687f, 881c7f8e), -940, -264},
1247
+ {GRISU_UINT64_C(0x9d71ac8f, ada6c9b5), -927, -260},
1248
+ {GRISU_UINT64_C(0xc0314325, 637a193a), -914, -256},
1249
+ {GRISU_UINT64_C(0xea9c2277, 23ee8bcb), -901, -252},
1250
+ {GRISU_UINT64_C(0x8f31cc09, 37ae58d3), -887, -248},
1251
+ {GRISU_UINT64_C(0xaecc4991, 4078536d), -874, -244},
1252
+ {GRISU_UINT64_C(0xd5605fcd, cf32e1d7), -861, -240},
1253
+ {GRISU_UINT64_C(0x823c1279, 5db6ce57), -847, -236},
1254
+ {GRISU_UINT64_C(0x9efa548d, 26e5a6e2), -834, -232},
1255
+ {GRISU_UINT64_C(0xc2109436, 4dfb5637), -821, -228},
1256
+ {GRISU_UINT64_C(0xece53cec, 4a314ebe), -808, -224},
1257
+ {GRISU_UINT64_C(0x9096ea6f, 3848984f), -794, -220},
1258
+ {GRISU_UINT64_C(0xb080392c, c4349ded), -781, -216},
1259
+ {GRISU_UINT64_C(0xd77485cb, 25823ac7), -768, -212},
1260
+ {GRISU_UINT64_C(0x8380dea9, 3da4bc60), -754, -208},
1261
+ {GRISU_UINT64_C(0xa086cfcd, 97bf97f4), -741, -204},
1262
+ {GRISU_UINT64_C(0xc3f490aa, 77bd60fd), -728, -200},
1263
+ {GRISU_UINT64_C(0xef340a98, 172aace5), -715, -196},
1264
+ {GRISU_UINT64_C(0x91ff8377, 5423cc06), -701, -192},
1265
+ {GRISU_UINT64_C(0xb23867fb, 2a35b28e), -688, -188},
1266
+ {GRISU_UINT64_C(0xd98ddaee, 19068c76), -675, -184},
1267
+ {GRISU_UINT64_C(0x84c8d4df, d2c63f3b), -661, -180},
1268
+ {GRISU_UINT64_C(0xa21727db, 38cb0030), -648, -176},
1269
+ {GRISU_UINT64_C(0xc5dd4427, 1ad3cdba), -635, -172},
1270
+ {GRISU_UINT64_C(0xf18899b1, bc3f8ca2), -622, -168},
1271
+ {GRISU_UINT64_C(0x936b9fce, bb25c996), -608, -164},
1272
+ {GRISU_UINT64_C(0xb3f4e093, db73a093), -595, -160},
1273
+ {GRISU_UINT64_C(0xdbac6c24, 7d62a584), -582, -156},
1274
+ {GRISU_UINT64_C(0x8613fd01, 45877586), -568, -152},
1275
+ {GRISU_UINT64_C(0xa3ab6658, 0d5fdaf6), -555, -148},
1276
+ {GRISU_UINT64_C(0xc7caba6e, 7c5382c9), -542, -144},
1277
+ {GRISU_UINT64_C(0xf3e2f893, dec3f126), -529, -140},
1278
+ {GRISU_UINT64_C(0x94db4838, 40b717f0), -515, -136},
1279
+ {GRISU_UINT64_C(0xb5b5ada8, aaff80b8), -502, -132},
1280
+ {GRISU_UINT64_C(0xddd0467c, 64bce4a1), -489, -128},
1281
+ {GRISU_UINT64_C(0x87625f05, 6c7c4a8b), -475, -124},
1282
+ {GRISU_UINT64_C(0xa54394fe, 1eedb8ff), -462, -120},
1283
+ {GRISU_UINT64_C(0xc9bcff60, 34c13053), -449, -116},
1284
+ {GRISU_UINT64_C(0xf64335bc, f065d37d), -436, -112},
1285
+ {GRISU_UINT64_C(0x964e858c, 91ba2655), -422, -108},
1286
+ {GRISU_UINT64_C(0xb77ada06, 17e3bbcb), -409, -104},
1287
+ {GRISU_UINT64_C(0xdff97724, 70297ebd), -396, -100},
1288
+ {GRISU_UINT64_C(0x88b402f7, fd75539b), -382, -96},
1289
+ {GRISU_UINT64_C(0xa6dfbd9f, b8e5b88f), -369, -92},
1290
+ {GRISU_UINT64_C(0xcbb41ef9, 79346bca), -356, -88},
1291
+ {GRISU_UINT64_C(0xf8a95fcf, 88747d94), -343, -84},
1292
+ {GRISU_UINT64_C(0x97c560ba, 6b0919a6), -329, -80},
1293
+ {GRISU_UINT64_C(0xb9447093, 8fa89bcf), -316, -76},
1294
+ {GRISU_UINT64_C(0xe2280b6c, 20dd5232), -303, -72},
1295
+ {GRISU_UINT64_C(0x8a08f0f8, bf0f156b), -289, -68},
1296
+ {GRISU_UINT64_C(0xa87fea27, a539e9a5), -276, -64},
1297
+ {GRISU_UINT64_C(0xcdb02555, 653131b6), -263, -60},
1298
+ {GRISU_UINT64_C(0xfb158592, be068d2f), -250, -56},
1299
+ {GRISU_UINT64_C(0x993fe2c6, d07b7fac), -236, -52},
1300
+ {GRISU_UINT64_C(0xbb127c53, b17ec159), -223, -48},
1301
+ {GRISU_UINT64_C(0xe45c10c4, 2a2b3b06), -210, -44},
1302
+ {GRISU_UINT64_C(0x8b61313b, babce2c6), -196, -40},
1303
+ {GRISU_UINT64_C(0xaa242499, 697392d3), -183, -36},
1304
+ {GRISU_UINT64_C(0xcfb11ead, 453994ba), -170, -32},
1305
+ {GRISU_UINT64_C(0xfd87b5f2, 8300ca0e), -157, -28},
1306
+ {GRISU_UINT64_C(0x9abe14cd, 44753b53), -143, -24},
1307
+ {GRISU_UINT64_C(0xbce50864, 92111aeb), -130, -20},
1308
+ {GRISU_UINT64_C(0xe69594be, c44de15b), -117, -16},
1309
+ {GRISU_UINT64_C(0x8cbccc09, 6f5088cc), -103, -12},
1310
+ {GRISU_UINT64_C(0xabcc7711, 8461cefd), -90, -8},
1311
+ {GRISU_UINT64_C(0xd1b71758, e219652c), -77, -4},
1312
+ {GRISU_UINT64_C(0x80000000, 00000000), -63, 0},
1313
+ {GRISU_UINT64_C(0x9c400000, 00000000), -50, 4},
1314
+ {GRISU_UINT64_C(0xbebc2000, 00000000), -37, 8},
1315
+ {GRISU_UINT64_C(0xe8d4a510, 00000000), -24, 12},
1316
+ {GRISU_UINT64_C(0x8e1bc9bf, 04000000), -10, 16},
1317
+ {GRISU_UINT64_C(0xad78ebc5, ac620000), 3, 20},
1318
+ {GRISU_UINT64_C(0xd3c21bce, cceda100), 16, 24},
1319
+ {GRISU_UINT64_C(0x813f3978, f8940984), 30, 28},
1320
+ {GRISU_UINT64_C(0x9dc5ada8, 2b70b59e), 43, 32},
1321
+ {GRISU_UINT64_C(0xc097ce7b, c90715b3), 56, 36},
1322
+ {GRISU_UINT64_C(0xeb194f8e, 1ae525fd), 69, 40},
1323
+ {GRISU_UINT64_C(0x8f7e32ce, 7bea5c70), 83, 44},
1324
+ {GRISU_UINT64_C(0xaf298d05, 0e4395d7), 96, 48},
1325
+ {GRISU_UINT64_C(0xd5d238a4, abe98068), 109, 52},
1326
+ {GRISU_UINT64_C(0x82818f12, 81ed44a0), 123, 56},
1327
+ {GRISU_UINT64_C(0x9f4f2726, 179a2245), 136, 60},
1328
+ {GRISU_UINT64_C(0xc2781f49, ffcfa6d5), 149, 64},
1329
+ {GRISU_UINT64_C(0xed63a231, d4c4fb27), 162, 68},
1330
+ {GRISU_UINT64_C(0x90e40fbe, ea1d3a4b), 176, 72},
1331
+ {GRISU_UINT64_C(0xb0de6538, 8cc8ada8), 189, 76},
1332
+ {GRISU_UINT64_C(0xd7e77a8f, 87daf7fc), 202, 80},
1333
+ {GRISU_UINT64_C(0x83c7088e, 1aab65db), 216, 84},
1334
+ {GRISU_UINT64_C(0xa0dc75f1, 778e39d6), 229, 88},
1335
+ {GRISU_UINT64_C(0xc45d1df9, 42711d9a), 242, 92},
1336
+ {GRISU_UINT64_C(0xefb3ab16, c59b14a3), 255, 96},
1337
+ {GRISU_UINT64_C(0x924d692c, a61be758), 269, 100},
1338
+ {GRISU_UINT64_C(0xb2977ee3, 00c50fe7), 282, 104},
1339
+ {GRISU_UINT64_C(0xda01ee64, 1a708dea), 295, 108},
1340
+ {GRISU_UINT64_C(0x850fadc0, 9923329e), 309, 112},
1341
+ {GRISU_UINT64_C(0xa26da399, 9aef774a), 322, 116},
1342
+ {GRISU_UINT64_C(0xc646d635, 01a1511e), 335, 120},
1343
+ {GRISU_UINT64_C(0xf209787b, b47d6b85), 348, 124},
1344
+ {GRISU_UINT64_C(0x93ba47c9, 80e98ce0), 362, 128},
1345
+ {GRISU_UINT64_C(0xb454e4a1, 79dd1877), 375, 132},
1346
+ {GRISU_UINT64_C(0xdc21a117, 1d42645d), 388, 136},
1347
+ {GRISU_UINT64_C(0x865b8692, 5b9bc5c2), 402, 140},
1348
+ {GRISU_UINT64_C(0xa402b9c5, a8d3a6e7), 415, 144},
1349
+ {GRISU_UINT64_C(0xc83553c5, c8965d3d), 428, 148},
1350
+ {GRISU_UINT64_C(0xf46518c2, ef5b8cd1), 441, 152},
1351
+ {GRISU_UINT64_C(0x952ab45c, fa97a0b3), 455, 156},
1352
+ {GRISU_UINT64_C(0xb616a12b, 7fe617aa), 468, 160},
1353
+ {GRISU_UINT64_C(0xde469fbd, 99a05fe3), 481, 164},
1354
+ {GRISU_UINT64_C(0x87aa9aff, 79042287), 495, 168},
1355
+ {GRISU_UINT64_C(0xa59bc234, db398c25), 508, 172},
1356
+ {GRISU_UINT64_C(0xca28a291, 859bbf93), 521, 176},
1357
+ {GRISU_UINT64_C(0xf6c69a72, a3989f5c), 534, 180},
1358
+ {GRISU_UINT64_C(0x969eb7c4, 7859e744), 548, 184},
1359
+ {GRISU_UINT64_C(0xb7dcbf53, 54e9bece), 561, 188},
1360
+ {GRISU_UINT64_C(0xe070f78d, 3927556b), 574, 192},
1361
+ {GRISU_UINT64_C(0x88fcf317, f22241e2), 588, 196},
1362
+ {GRISU_UINT64_C(0xa738c6be, bb12d16d), 601, 200},
1363
+ {GRISU_UINT64_C(0xcc20ce9b, d35c78a5), 614, 204},
1364
+ {GRISU_UINT64_C(0xf92e0c35, 37826146), 627, 208},
1365
+ {GRISU_UINT64_C(0x98165af3, 7b2153df), 641, 212},
1366
+ {GRISU_UINT64_C(0xb9a74a06, 37ce2ee1), 654, 216},
1367
+ {GRISU_UINT64_C(0xe2a0b5dc, 971f303a), 667, 220},
1368
+ {GRISU_UINT64_C(0x8a5296ff, e33cc930), 681, 224},
1369
+ {GRISU_UINT64_C(0xa8d9d153, 5ce3b396), 694, 228},
1370
+ {GRISU_UINT64_C(0xce1de406, 42e3f4b9), 707, 232},
1371
+ {GRISU_UINT64_C(0xfb9b7cd9, a4a7443c), 720, 236},
1372
+ {GRISU_UINT64_C(0x9991a6f3, d6bf1766), 734, 240},
1373
+ {GRISU_UINT64_C(0xbb764c4c, a7a44410), 747, 244},
1374
+ {GRISU_UINT64_C(0xe4d5e823, 92a40515), 760, 248},
1375
+ {GRISU_UINT64_C(0x8bab8eef, b6409c1a), 774, 252},
1376
+ {GRISU_UINT64_C(0xaa7eebfb, 9df9de8e), 787, 256},
1377
+ {GRISU_UINT64_C(0xd01fef10, a657842c), 800, 260},
1378
+ {GRISU_UINT64_C(0xfe0efb53, d30dd4d8), 813, 264},
1379
+ {GRISU_UINT64_C(0x9b10a4e5, e9913129), 827, 268},
1380
+ {GRISU_UINT64_C(0xbd49d14a, a79dbc82), 840, 272},
1381
+ {GRISU_UINT64_C(0xe7109bfb, a19c0c9d), 853, 276},
1382
+ {GRISU_UINT64_C(0x8d07e334, 55637eb3), 867, 280},
1383
+ {GRISU_UINT64_C(0xac2820d9, 623bf429), 880, 284},
1384
+ {GRISU_UINT64_C(0xd226fc19, 5c6a2f8c), 893, 288},
1385
+ {GRISU_UINT64_C(0x80444b5e, 7aa7cf85), 907, 292},
1386
+ {GRISU_UINT64_C(0x9c935e00, d4b9d8d2), 920, 296},
1387
+ {GRISU_UINT64_C(0xbf21e440, 03acdd2d), 933, 300},
1388
+ {GRISU_UINT64_C(0xe950df20, 247c83fd), 946, 304},
1389
+ {GRISU_UINT64_C(0x8e679c2f, 5e44ff8f), 960, 308},
1390
+ {GRISU_UINT64_C(0xadd57a27, d29339f6), 973, 312},
1391
+ {GRISU_UINT64_C(0xd433179d, 9c8cb841), 986, 316},
1392
+ {GRISU_UINT64_C(0x81842f29, f2cce376), 1000, 320},
1393
+ {GRISU_UINT64_C(0x9e19db92, b4e31ba9), 1013, 324},
1394
+ {GRISU_UINT64_C(0xc0fe9088, 95cf3b44), 1026, 328},
1395
+ {GRISU_UINT64_C(0xeb96bf6e, badf77d9), 1039, 332},
1396
+ {GRISU_UINT64_C(0x8fcac257, 558ee4e6), 1053, 336},
1397
+ {GRISU_UINT64_C(0xaf87023b, 9bf0ee6b), 1066, 340},
1398
+ };
1399
+ static const int GRISU_CACHE_MAX_DISTANCE(4) = 14;
1400
+ // nb elements (4): 163
1401
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(5)[] = {
1402
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
1403
+ {GRISU_UINT64_C(0xaf8e5410, 288e1b6f), -1070, -303},
1404
+ {GRISU_UINT64_C(0x85f04682, 93f0eb4e), -1053, -298},
1405
+ {GRISU_UINT64_C(0xcc5fc196, fefd7d0c), -1037, -293},
1406
+ {GRISU_UINT64_C(0x9becce62, 836ac577), -1020, -288},
1407
+ {GRISU_UINT64_C(0xedec366b, 11c6cb8f), -1004, -283},
1408
+ {GRISU_UINT64_C(0xb5854744, 8ffffb2e), -987, -278},
1409
+ {GRISU_UINT64_C(0x8a7d3eef, 7f1cfc52), -970, -273},
1410
+ {GRISU_UINT64_C(0xd3515c28, 31559a83), -954, -268},
1411
+ {GRISU_UINT64_C(0xa139029f, 6a239f72), -937, -263},
1412
+ {GRISU_UINT64_C(0xf6019da0, 7f549b2b), -921, -258},
1413
+ {GRISU_UINT64_C(0xbbb01b92, 83253ca3), -904, -253},
1414
+ {GRISU_UINT64_C(0x8f31cc09, 37ae58d3), -887, -248},
1415
+ {GRISU_UINT64_C(0xda7f5bf5, 90966849), -871, -243},
1416
+ {GRISU_UINT64_C(0xa6b34ad8, c9dfc070), -854, -238},
1417
+ {GRISU_UINT64_C(0xfe5d5415, 0b090b03), -838, -233},
1418
+ {GRISU_UINT64_C(0xc2109436, 4dfb5637), -821, -228},
1419
+ {GRISU_UINT64_C(0x940f4613, ae5ed137), -804, -223},
1420
+ {GRISU_UINT64_C(0xe1ebce4d, c7f16dfc), -788, -218},
1421
+ {GRISU_UINT64_C(0xac5d37d5, b79b6239), -771, -213},
1422
+ {GRISU_UINT64_C(0x8380dea9, 3da4bc60), -754, -208},
1423
+ {GRISU_UINT64_C(0xc8a883c0, fdaf7df0), -738, -203},
1424
+ {GRISU_UINT64_C(0x99171105, 2d8bf3c5), -721, -198},
1425
+ {GRISU_UINT64_C(0xe998d258, 869facd7), -705, -193},
1426
+ {GRISU_UINT64_C(0xb23867fb, 2a35b28e), -688, -188},
1427
+ {GRISU_UINT64_C(0x87f8a8d4, cfa417ca), -671, -183},
1428
+ {GRISU_UINT64_C(0xcf79cc9d, b955c2cc), -655, -178},
1429
+ {GRISU_UINT64_C(0x9e4a9cec, 15763e2f), -638, -173},
1430
+ {GRISU_UINT64_C(0xf18899b1, bc3f8ca2), -622, -168},
1431
+ {GRISU_UINT64_C(0xb84687c2, 69ef3bfb), -605, -163},
1432
+ {GRISU_UINT64_C(0x8c974f73, 83725573), -588, -158},
1433
+ {GRISU_UINT64_C(0xd686619b, a27255a3), -572, -153},
1434
+ {GRISU_UINT64_C(0xa3ab6658, 0d5fdaf6), -555, -148},
1435
+ {GRISU_UINT64_C(0xf9bd690a, 1b68637b), -539, -143},
1436
+ {GRISU_UINT64_C(0xbe895233, 86091466), -522, -138},
1437
+ {GRISU_UINT64_C(0x915e2486, ef32cd60), -505, -133},
1438
+ {GRISU_UINT64_C(0xddd0467c, 64bce4a1), -489, -128},
1439
+ {GRISU_UINT64_C(0xa93af6c6, c79b5d2e), -472, -123},
1440
+ {GRISU_UINT64_C(0x811ccc66, 8829b887), -455, -118},
1441
+ {GRISU_UINT64_C(0xc5029163, f384a931), -439, -113},
1442
+ {GRISU_UINT64_C(0x964e858c, 91ba2655), -422, -108},
1443
+ {GRISU_UINT64_C(0xe5599087, 9ddcaabe), -406, -103},
1444
+ {GRISU_UINT64_C(0xaefae514, 77a06b04), -389, -98},
1445
+ {GRISU_UINT64_C(0x857fcae6, 2d8493a5), -372, -93},
1446
+ {GRISU_UINT64_C(0xcbb41ef9, 79346bca), -356, -88},
1447
+ {GRISU_UINT64_C(0x9b69dbe1, b548ce7d), -339, -83},
1448
+ {GRISU_UINT64_C(0xed246723, 473e3813), -323, -78},
1449
+ {GRISU_UINT64_C(0xb4ecd5f0, 1a4aa828), -306, -73},
1450
+ {GRISU_UINT64_C(0x8a08f0f8, bf0f156b), -289, -68},
1451
+ {GRISU_UINT64_C(0xd29fe4b1, 8e88640f), -273, -63},
1452
+ {GRISU_UINT64_C(0xa0b19d2a, b70e6ed6), -256, -58},
1453
+ {GRISU_UINT64_C(0xf5330471, 4d9265e0), -240, -53},
1454
+ {GRISU_UINT64_C(0xbb127c53, b17ec159), -223, -48},
1455
+ {GRISU_UINT64_C(0x8eb98a7a, 9a5b04e3), -206, -43},
1456
+ {GRISU_UINT64_C(0xd9c7dced, 53c72256), -190, -38},
1457
+ {GRISU_UINT64_C(0xa6274bbd, d0fadd62), -173, -33},
1458
+ {GRISU_UINT64_C(0xfd87b5f2, 8300ca0e), -157, -28},
1459
+ {GRISU_UINT64_C(0xc16d9a00, 95928a27), -140, -23},
1460
+ {GRISU_UINT64_C(0x9392ee8e, 921d5d07), -123, -18},
1461
+ {GRISU_UINT64_C(0xe12e1342, 4bb40e13), -107, -13},
1462
+ {GRISU_UINT64_C(0xabcc7711, 8461cefd), -90, -8},
1463
+ {GRISU_UINT64_C(0x83126e97, 8d4fdf3b), -73, -3},
1464
+ {GRISU_UINT64_C(0xc8000000, 00000000), -57, 2},
1465
+ {GRISU_UINT64_C(0x98968000, 00000000), -40, 7},
1466
+ {GRISU_UINT64_C(0xe8d4a510, 00000000), -24, 12},
1467
+ {GRISU_UINT64_C(0xb1a2bc2e, c5000000), -7, 17},
1468
+ {GRISU_UINT64_C(0x87867832, 6eac9000), 10, 22},
1469
+ {GRISU_UINT64_C(0xcecb8f27, f4200f3a), 26, 27},
1470
+ {GRISU_UINT64_C(0x9dc5ada8, 2b70b59e), 43, 32},
1471
+ {GRISU_UINT64_C(0xf0bdc21a, bb48db20), 59, 37},
1472
+ {GRISU_UINT64_C(0xb7abc627, 050305ae), 76, 42},
1473
+ {GRISU_UINT64_C(0x8c213d9d, a502de45), 93, 47},
1474
+ {GRISU_UINT64_C(0xd5d238a4, abe98068), 109, 52},
1475
+ {GRISU_UINT64_C(0xa321f2d7, 226895c8), 126, 57},
1476
+ {GRISU_UINT64_C(0xf8ebad2b, 84e0d58c), 142, 62},
1477
+ {GRISU_UINT64_C(0xbde94e8e, 43d0c8ec), 159, 67},
1478
+ {GRISU_UINT64_C(0x90e40fbe, ea1d3a4b), 176, 72},
1479
+ {GRISU_UINT64_C(0xdd15fe86, affad912), 192, 77},
1480
+ {GRISU_UINT64_C(0xa8acd7c0, 222311bd), 209, 82},
1481
+ {GRISU_UINT64_C(0x80b05e5a, c60b6178), 226, 87},
1482
+ {GRISU_UINT64_C(0xc45d1df9, 42711d9a), 242, 92},
1483
+ {GRISU_UINT64_C(0x95d04aee, 3b80ece6), 259, 97},
1484
+ {GRISU_UINT64_C(0xe498f455, c38b997a), 275, 102},
1485
+ {GRISU_UINT64_C(0xae67f1e9, aec07188), 292, 107},
1486
+ {GRISU_UINT64_C(0x850fadc0, 9923329e), 309, 112},
1487
+ {GRISU_UINT64_C(0xcb090c80, 01ab551c), 325, 117},
1488
+ {GRISU_UINT64_C(0x9ae75759, 6946075f), 342, 122},
1489
+ {GRISU_UINT64_C(0xec5d3fa8, ce427b00), 358, 127},
1490
+ {GRISU_UINT64_C(0xb454e4a1, 79dd1877), 375, 132},
1491
+ {GRISU_UINT64_C(0x899504ae, 72497eba), 392, 137},
1492
+ {GRISU_UINT64_C(0xd1ef0244, af2364ff), 408, 142},
1493
+ {GRISU_UINT64_C(0xa02aa96b, 06deb0fe), 425, 147},
1494
+ {GRISU_UINT64_C(0xf46518c2, ef5b8cd1), 441, 152},
1495
+ {GRISU_UINT64_C(0xba756174, 393d88e0), 458, 157},
1496
+ {GRISU_UINT64_C(0x8e41ade9, fbebc27d), 475, 162},
1497
+ {GRISU_UINT64_C(0xd910f7ff, 28069da4), 491, 167},
1498
+ {GRISU_UINT64_C(0xa59bc234, db398c25), 508, 172},
1499
+ {GRISU_UINT64_C(0xfcb2cb35, e702af78), 524, 177},
1500
+ {GRISU_UINT64_C(0xc0cb28a9, 8fcf3c80), 541, 182},
1501
+ {GRISU_UINT64_C(0x9316ff75, dd87cbd8), 558, 187},
1502
+ {GRISU_UINT64_C(0xe070f78d, 3927556b), 574, 192},
1503
+ {GRISU_UINT64_C(0xab3c2fdd, eeaad25b), 591, 197},
1504
+ {GRISU_UINT64_C(0x82a45b45, 0226b39d), 608, 202},
1505
+ {GRISU_UINT64_C(0xc75809c4, 2c684dd1), 624, 207},
1506
+ {GRISU_UINT64_C(0x98165af3, 7b2153df), 641, 212},
1507
+ {GRISU_UINT64_C(0xe8111c87, c5c1ba9a), 657, 217},
1508
+ {GRISU_UINT64_C(0xb10d8e14, 56105dad), 674, 222},
1509
+ {GRISU_UINT64_C(0x8714a775, e3e95c78), 691, 227},
1510
+ {GRISU_UINT64_C(0xce1de406, 42e3f4b9), 707, 232},
1511
+ {GRISU_UINT64_C(0x9d412e08, 06e88aa6), 724, 237},
1512
+ {GRISU_UINT64_C(0xeff394dc, ff8a948f), 740, 242},
1513
+ {GRISU_UINT64_C(0xb7118682, dbb66a77), 757, 247},
1514
+ {GRISU_UINT64_C(0x8bab8eef, b6409c1a), 774, 252},
1515
+ {GRISU_UINT64_C(0xd51ea6fa, 85785631), 790, 257},
1516
+ {GRISU_UINT64_C(0xa298f2c5, 01f45f43), 807, 262},
1517
+ {GRISU_UINT64_C(0xf81aa16f, dc1b81db), 823, 267},
1518
+ {GRISU_UINT64_C(0xbd49d14a, a79dbc82), 840, 272},
1519
+ {GRISU_UINT64_C(0x906a617d, 450187e2), 857, 277},
1520
+ {GRISU_UINT64_C(0xdc5c5301, c56b75f7), 873, 282},
1521
+ {GRISU_UINT64_C(0xa81f3014, 49ee8c70), 890, 287},
1522
+ {GRISU_UINT64_C(0x80444b5e, 7aa7cf85), 907, 292},
1523
+ {GRISU_UINT64_C(0xc3b83581, 09e84f07), 923, 297},
1524
+ {GRISU_UINT64_C(0x95527a52, 02df0ccb), 940, 302},
1525
+ {GRISU_UINT64_C(0xe3d8f9e5, 63a198e5), 956, 307},
1526
+ {GRISU_UINT64_C(0xadd57a27, d29339f6), 973, 312},
1527
+ {GRISU_UINT64_C(0x849feec2, 81d7f329), 990, 317},
1528
+ {GRISU_UINT64_C(0xca5e89b1, 8b602368), 1006, 322},
1529
+ {GRISU_UINT64_C(0x9a65406d, 44a5c903), 1023, 327},
1530
+ {GRISU_UINT64_C(0xeb96bf6e, badf77d9), 1039, 332},
1531
+ {GRISU_UINT64_C(0xb3bd72ed, 2af29e20), 1056, 337},
1532
+ {GRISU_UINT64_C(0x892179be, 91d43a44), 1073, 342},
1533
+ };
1534
+ static const int GRISU_CACHE_MAX_DISTANCE(5) = 17;
1535
+ // nb elements (5): 131
1536
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(6)[] = {
1537
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
1538
+ {GRISU_UINT64_C(0xdb71e914, 32b1a24b), -1067, -302},
1539
+ {GRISU_UINT64_C(0xd1476e2c, 07286faa), -1047, -296},
1540
+ {GRISU_UINT64_C(0xc795830d, 75038c1e), -1027, -290},
1541
+ {GRISU_UINT64_C(0xbe5691ef, 416bd60c), -1007, -284},
1542
+ {GRISU_UINT64_C(0xb5854744, 8ffffb2e), -987, -278},
1543
+ {GRISU_UINT64_C(0xad1c8eab, 5ee43b67), -967, -272},
1544
+ {GRISU_UINT64_C(0xa5178fff, 668ae0b6), -947, -266},
1545
+ {GRISU_UINT64_C(0x9d71ac8f, ada6c9b5), -927, -260},
1546
+ {GRISU_UINT64_C(0x96267c75, 35b763b5), -907, -254},
1547
+ {GRISU_UINT64_C(0x8f31cc09, 37ae58d3), -887, -248},
1548
+ {GRISU_UINT64_C(0x888f9979, 7a5e012d), -867, -242},
1549
+ {GRISU_UINT64_C(0x823c1279, 5db6ce57), -847, -236},
1550
+ {GRISU_UINT64_C(0xf867241c, 8cc6d4c1), -828, -230},
1551
+ {GRISU_UINT64_C(0xece53cec, 4a314ebe), -808, -224},
1552
+ {GRISU_UINT64_C(0xe1ebce4d, c7f16dfc), -788, -218},
1553
+ {GRISU_UINT64_C(0xd77485cb, 25823ac7), -768, -212},
1554
+ {GRISU_UINT64_C(0xcd795be8, 70516656), -748, -206},
1555
+ {GRISU_UINT64_C(0xc3f490aa, 77bd60fd), -728, -200},
1556
+ {GRISU_UINT64_C(0xbae0a846, d2195713), -708, -194},
1557
+ {GRISU_UINT64_C(0xb23867fb, 2a35b28e), -688, -188},
1558
+ {GRISU_UINT64_C(0xa9f6d30a, 038d1dbc), -668, -182},
1559
+ {GRISU_UINT64_C(0xa21727db, 38cb0030), -648, -176},
1560
+ {GRISU_UINT64_C(0x9a94dd3e, 8cf578ba), -628, -170},
1561
+ {GRISU_UINT64_C(0x936b9fce, bb25c996), -608, -164},
1562
+ {GRISU_UINT64_C(0x8c974f73, 83725573), -588, -158},
1563
+ {GRISU_UINT64_C(0x8613fd01, 45877586), -568, -152},
1564
+ {GRISU_UINT64_C(0xffbbcfe9, 94e5c620), -549, -146},
1565
+ {GRISU_UINT64_C(0xf3e2f893, dec3f126), -529, -140},
1566
+ {GRISU_UINT64_C(0xe896a0d7, e51e1566), -509, -134},
1567
+ {GRISU_UINT64_C(0xddd0467c, 64bce4a1), -489, -128},
1568
+ {GRISU_UINT64_C(0xd389b478, 79823479), -469, -122},
1569
+ {GRISU_UINT64_C(0xc9bcff60, 34c13053), -449, -116},
1570
+ {GRISU_UINT64_C(0xc06481fb, 9bcf8d3a), -429, -110},
1571
+ {GRISU_UINT64_C(0xb77ada06, 17e3bbcb), -409, -104},
1572
+ {GRISU_UINT64_C(0xaefae514, 77a06b04), -389, -98},
1573
+ {GRISU_UINT64_C(0xa6dfbd9f, b8e5b88f), -369, -92},
1574
+ {GRISU_UINT64_C(0x9f24b832, e6b0f436), -349, -86},
1575
+ {GRISU_UINT64_C(0x97c560ba, 6b0919a6), -329, -80},
1576
+ {GRISU_UINT64_C(0x90bd77f3, 483bb9ba), -309, -74},
1577
+ {GRISU_UINT64_C(0x8a08f0f8, bf0f156b), -289, -68},
1578
+ {GRISU_UINT64_C(0x83a3eeee, f9153e89), -269, -62},
1579
+ {GRISU_UINT64_C(0xfb158592, be068d2f), -250, -56},
1580
+ {GRISU_UINT64_C(0xef73d256, a5c0f77d), -230, -50},
1581
+ {GRISU_UINT64_C(0xe45c10c4, 2a2b3b06), -210, -44},
1582
+ {GRISU_UINT64_C(0xd9c7dced, 53c72256), -190, -38},
1583
+ {GRISU_UINT64_C(0xcfb11ead, 453994ba), -170, -32},
1584
+ {GRISU_UINT64_C(0xc6120625, 76589ddb), -150, -26},
1585
+ {GRISU_UINT64_C(0xbce50864, 92111aeb), -130, -20},
1586
+ {GRISU_UINT64_C(0xb424dc35, 095cd80f), -110, -14},
1587
+ {GRISU_UINT64_C(0xabcc7711, 8461cefd), -90, -8},
1588
+ {GRISU_UINT64_C(0xa3d70a3d, 70a3d70a), -70, -2},
1589
+ {GRISU_UINT64_C(0x9c400000, 00000000), -50, 4},
1590
+ {GRISU_UINT64_C(0x9502f900, 00000000), -30, 10},
1591
+ {GRISU_UINT64_C(0x8e1bc9bf, 04000000), -10, 16},
1592
+ {GRISU_UINT64_C(0x87867832, 6eac9000), 10, 22},
1593
+ {GRISU_UINT64_C(0x813f3978, f8940984), 30, 28},
1594
+ {GRISU_UINT64_C(0xf684df56, c3e01bc7), 49, 34},
1595
+ {GRISU_UINT64_C(0xeb194f8e, 1ae525fd), 69, 40},
1596
+ {GRISU_UINT64_C(0xe0352f62, a19e306f), 89, 46},
1597
+ {GRISU_UINT64_C(0xd5d238a4, abe98068), 109, 52},
1598
+ {GRISU_UINT64_C(0xcbea6f8c, eb02bb3a), 129, 58},
1599
+ {GRISU_UINT64_C(0xc2781f49, ffcfa6d5), 149, 64},
1600
+ {GRISU_UINT64_C(0xb975d6b6, ee39e437), 169, 70},
1601
+ {GRISU_UINT64_C(0xb0de6538, 8cc8ada8), 189, 76},
1602
+ {GRISU_UINT64_C(0xa8acd7c0, 222311bd), 209, 82},
1603
+ {GRISU_UINT64_C(0xa0dc75f1, 778e39d6), 229, 88},
1604
+ {GRISU_UINT64_C(0x9968bf6a, bbe85f20), 249, 94},
1605
+ {GRISU_UINT64_C(0x924d692c, a61be758), 269, 100},
1606
+ {GRISU_UINT64_C(0x8b865b21, 5899f46d), 289, 106},
1607
+ {GRISU_UINT64_C(0x850fadc0, 9923329e), 309, 112},
1608
+ {GRISU_UINT64_C(0xfdcb4fa0, 02162a63), 328, 118},
1609
+ {GRISU_UINT64_C(0xf209787b, b47d6b85), 348, 124},
1610
+ {GRISU_UINT64_C(0xe6d3102a, d96cec1e), 368, 130},
1611
+ {GRISU_UINT64_C(0xdc21a117, 1d42645d), 388, 136},
1612
+ {GRISU_UINT64_C(0xd1ef0244, af2364ff), 408, 142},
1613
+ {GRISU_UINT64_C(0xc83553c5, c8965d3d), 428, 148},
1614
+ {GRISU_UINT64_C(0xbeeefb58, 4aff8604), 448, 154},
1615
+ {GRISU_UINT64_C(0xb616a12b, 7fe617aa), 468, 160},
1616
+ {GRISU_UINT64_C(0xada72ccc, 20054aea), 488, 166},
1617
+ {GRISU_UINT64_C(0xa59bc234, db398c25), 508, 172},
1618
+ {GRISU_UINT64_C(0x9defbf01, b061adab), 528, 178},
1619
+ {GRISU_UINT64_C(0x969eb7c4, 7859e744), 548, 184},
1620
+ {GRISU_UINT64_C(0x8fa47579, 1a569d11), 568, 190},
1621
+ {GRISU_UINT64_C(0x88fcf317, f22241e2), 588, 196},
1622
+ {GRISU_UINT64_C(0x82a45b45, 0226b39d), 608, 202},
1623
+ {GRISU_UINT64_C(0xf92e0c35, 37826146), 627, 208},
1624
+ {GRISU_UINT64_C(0xeda2ee1c, 7064130c), 647, 214},
1625
+ {GRISU_UINT64_C(0xe2a0b5dc, 971f303a), 667, 220},
1626
+ {GRISU_UINT64_C(0xd8210bef, d30efa5a), 687, 226},
1627
+ {GRISU_UINT64_C(0xce1de406, 42e3f4b9), 707, 232},
1628
+ {GRISU_UINT64_C(0xc491798a, 08a2ad4f), 727, 238},
1629
+ {GRISU_UINT64_C(0xbb764c4c, a7a44410), 747, 244},
1630
+ {GRISU_UINT64_C(0xb2c71d5b, ca9023f8), 767, 250},
1631
+ {GRISU_UINT64_C(0xaa7eebfb, 9df9de8e), 787, 256},
1632
+ {GRISU_UINT64_C(0xa298f2c5, 01f45f43), 807, 262},
1633
+ {GRISU_UINT64_C(0x9b10a4e5, e9913129), 827, 268},
1634
+ {GRISU_UINT64_C(0x93e1ab82, 52f33b46), 847, 274},
1635
+ {GRISU_UINT64_C(0x8d07e334, 55637eb3), 867, 280},
1636
+ {GRISU_UINT64_C(0x867f59a9, d4bed6c0), 887, 286},
1637
+ {GRISU_UINT64_C(0x80444b5e, 7aa7cf85), 907, 292},
1638
+ {GRISU_UINT64_C(0xf4a642e1, 4c6262c9), 926, 298},
1639
+ {GRISU_UINT64_C(0xe950df20, 247c83fd), 946, 304},
1640
+ {GRISU_UINT64_C(0xde81e40a, 034bcf50), 966, 310},
1641
+ {GRISU_UINT64_C(0xd433179d, 9c8cb841), 986, 316},
1642
+ {GRISU_UINT64_C(0xca5e89b1, 8b602368), 1006, 322},
1643
+ {GRISU_UINT64_C(0xc0fe9088, 95cf3b44), 1026, 328},
1644
+ {GRISU_UINT64_C(0xb80dc58e, 81fe95a1), 1046, 334},
1645
+ {GRISU_UINT64_C(0xaf87023b, 9bf0ee6b), 1066, 340},
1646
+ };
1647
+ static const int GRISU_CACHE_MAX_DISTANCE(6) = 20;
1648
+ // nb elements (6): 109
1649
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(7)[] = {
1650
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
1651
+ {GRISU_UINT64_C(0x892731ac, 9faf056f), -1063, -301},
1652
+ {GRISU_UINT64_C(0xa37fce12, 6597973d), -1040, -294},
1653
+ {GRISU_UINT64_C(0xc2e801fb, 244576d5), -1017, -287},
1654
+ {GRISU_UINT64_C(0xe858ad24, 8f5c22ca), -994, -280},
1655
+ {GRISU_UINT64_C(0x8a7d3eef, 7f1cfc52), -970, -273},
1656
+ {GRISU_UINT64_C(0xa5178fff, 668ae0b6), -947, -266},
1657
+ {GRISU_UINT64_C(0xc4ce17b3, 99107c23), -924, -259},
1658
+ {GRISU_UINT64_C(0xea9c2277, 23ee8bcb), -901, -252},
1659
+ {GRISU_UINT64_C(0x8bd6a141, 006042be), -877, -245},
1660
+ {GRISU_UINT64_C(0xa6b34ad8, c9dfc070), -854, -238},
1661
+ {GRISU_UINT64_C(0xc6b8e9b0, 709f109a), -831, -231},
1662
+ {GRISU_UINT64_C(0xece53cec, 4a314ebe), -808, -224},
1663
+ {GRISU_UINT64_C(0x8d3360f0, 9cf6e4bd), -784, -217},
1664
+ {GRISU_UINT64_C(0xa8530886, b54dbdec), -761, -210},
1665
+ {GRISU_UINT64_C(0xc8a883c0, fdaf7df0), -738, -203},
1666
+ {GRISU_UINT64_C(0xef340a98, 172aace5), -715, -196},
1667
+ {GRISU_UINT64_C(0x8e938662, 882af53e), -691, -189},
1668
+ {GRISU_UINT64_C(0xa9f6d30a, 038d1dbc), -668, -182},
1669
+ {GRISU_UINT64_C(0xca9cf1d2, 06fdc03c), -645, -175},
1670
+ {GRISU_UINT64_C(0xf18899b1, bc3f8ca2), -622, -168},
1671
+ {GRISU_UINT64_C(0x8ff71a0f, e2c2e6dc), -598, -161},
1672
+ {GRISU_UINT64_C(0xab9eb47c, 81f5114f), -575, -154},
1673
+ {GRISU_UINT64_C(0xcc963fee, 10b7d1b3), -552, -147},
1674
+ {GRISU_UINT64_C(0xf3e2f893, dec3f126), -529, -140},
1675
+ {GRISU_UINT64_C(0x915e2486, ef32cd60), -505, -133},
1676
+ {GRISU_UINT64_C(0xad4ab711, 2eb3929e), -482, -126},
1677
+ {GRISU_UINT64_C(0xce947a3d, a6a9273e), -459, -119},
1678
+ {GRISU_UINT64_C(0xf64335bc, f065d37d), -436, -112},
1679
+ {GRISU_UINT64_C(0x92c8ae6b, 464fc96f), -412, -105},
1680
+ {GRISU_UINT64_C(0xaefae514, 77a06b04), -389, -98},
1681
+ {GRISU_UINT64_C(0xd097ad07, a71f26b2), -366, -91},
1682
+ {GRISU_UINT64_C(0xf8a95fcf, 88747d94), -343, -84},
1683
+ {GRISU_UINT64_C(0x9436c076, 0c86e30c), -319, -77},
1684
+ {GRISU_UINT64_C(0xb0af48ec, 79ace837), -296, -70},
1685
+ {GRISU_UINT64_C(0xd29fe4b1, 8e88640f), -273, -63},
1686
+ {GRISU_UINT64_C(0xfb158592, be068d2f), -250, -56},
1687
+ {GRISU_UINT64_C(0x95a86376, 27989aae), -226, -49},
1688
+ {GRISU_UINT64_C(0xb267ed19, 40f1c61c), -203, -42},
1689
+ {GRISU_UINT64_C(0xd4ad2dbf, c3d07788), -180, -35},
1690
+ {GRISU_UINT64_C(0xfd87b5f2, 8300ca0e), -157, -28},
1691
+ {GRISU_UINT64_C(0x971da050, 74da7bef), -133, -21},
1692
+ {GRISU_UINT64_C(0xb424dc35, 095cd80f), -110, -14},
1693
+ {GRISU_UINT64_C(0xd6bf94d5, e57a42bc), -87, -7},
1694
+ {GRISU_UINT64_C(0x80000000, 00000000), -63, 0},
1695
+ {GRISU_UINT64_C(0x98968000, 00000000), -40, 7},
1696
+ {GRISU_UINT64_C(0xb5e620f4, 80000000), -17, 14},
1697
+ {GRISU_UINT64_C(0xd8d726b7, 177a8000), 6, 21},
1698
+ {GRISU_UINT64_C(0x813f3978, f8940984), 30, 28},
1699
+ {GRISU_UINT64_C(0x9a130b96, 3a6c115c), 53, 35},
1700
+ {GRISU_UINT64_C(0xb7abc627, 050305ae), 76, 42},
1701
+ {GRISU_UINT64_C(0xdaf3f046, 51d47b4c), 99, 49},
1702
+ {GRISU_UINT64_C(0x82818f12, 81ed44a0), 123, 56},
1703
+ {GRISU_UINT64_C(0x9b934c3b, 330c8577), 146, 63},
1704
+ {GRISU_UINT64_C(0xb975d6b6, ee39e437), 169, 70},
1705
+ {GRISU_UINT64_C(0xdd15fe86, affad912), 192, 77},
1706
+ {GRISU_UINT64_C(0x83c7088e, 1aab65db), 216, 84},
1707
+ {GRISU_UINT64_C(0x9d174b2d, cec0e47b), 239, 91},
1708
+ {GRISU_UINT64_C(0xbb445da9, ca61281f), 262, 98},
1709
+ {GRISU_UINT64_C(0xdf3d5e9b, c0f653e1), 285, 105},
1710
+ {GRISU_UINT64_C(0x850fadc0, 9923329e), 309, 112},
1711
+ {GRISU_UINT64_C(0x9e9f11c4, 014dda7e), 332, 119},
1712
+ {GRISU_UINT64_C(0xbd176620, a501fc00), 355, 126},
1713
+ {GRISU_UINT64_C(0xe16a1dc9, d8545e95), 378, 133},
1714
+ {GRISU_UINT64_C(0x865b8692, 5b9bc5c2), 402, 140},
1715
+ {GRISU_UINT64_C(0xa02aa96b, 06deb0fe), 425, 147},
1716
+ {GRISU_UINT64_C(0xbeeefb58, 4aff8604), 448, 154},
1717
+ {GRISU_UINT64_C(0xe39c4976, 5fdf9d95), 471, 161},
1718
+ {GRISU_UINT64_C(0x87aa9aff, 79042287), 495, 168},
1719
+ {GRISU_UINT64_C(0xa1ba1ba7, 9e1632dc), 518, 175},
1720
+ {GRISU_UINT64_C(0xc0cb28a9, 8fcf3c80), 541, 182},
1721
+ {GRISU_UINT64_C(0xe5d3ef28, 2a242e82), 564, 189},
1722
+ {GRISU_UINT64_C(0x88fcf317, f22241e2), 588, 196},
1723
+ {GRISU_UINT64_C(0xa34d7216, 42b06084), 611, 203},
1724
+ {GRISU_UINT64_C(0xc2abf989, 935ddbfe), 634, 210},
1725
+ {GRISU_UINT64_C(0xe8111c87, c5c1ba9a), 657, 217},
1726
+ {GRISU_UINT64_C(0x8a5296ff, e33cc930), 681, 224},
1727
+ {GRISU_UINT64_C(0xa4e4b66b, 68b65d61), 704, 231},
1728
+ {GRISU_UINT64_C(0xc491798a, 08a2ad4f), 727, 238},
1729
+ {GRISU_UINT64_C(0xea53df5f, d18d5514), 750, 245},
1730
+ {GRISU_UINT64_C(0x8bab8eef, b6409c1a), 774, 252},
1731
+ {GRISU_UINT64_C(0xa67ff273, b8460357), 797, 259},
1732
+ {GRISU_UINT64_C(0xc67bb459, 7ce2ce49), 820, 266},
1733
+ {GRISU_UINT64_C(0xec9c459d, 51852ba3), 843, 273},
1734
+ {GRISU_UINT64_C(0x8d07e334, 55637eb3), 867, 280},
1735
+ {GRISU_UINT64_C(0xa81f3014, 49ee8c70), 890, 287},
1736
+ {GRISU_UINT64_C(0xc86ab5c3, 9fa63441), 913, 294},
1737
+ {GRISU_UINT64_C(0xeeea5d50, 04981478), 936, 301},
1738
+ {GRISU_UINT64_C(0x8e679c2f, 5e44ff8f), 960, 308},
1739
+ {GRISU_UINT64_C(0xa9c2794a, e3a3c69b), 983, 315},
1740
+ {GRISU_UINT64_C(0xca5e89b1, 8b602368), 1006, 322},
1741
+ {GRISU_UINT64_C(0xf13e34aa, bb430a15), 1029, 329},
1742
+ {GRISU_UINT64_C(0x8fcac257, 558ee4e6), 1053, 336},
1743
+ };
1744
+ static const int GRISU_CACHE_MAX_DISTANCE(7) = 24;
1745
+ // nb elements (7): 93
1746
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(8)[] = {
1747
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
1748
+ {GRISU_UINT64_C(0xab70fe17, c79ac6ca), -1060, -300},
1749
+ {GRISU_UINT64_C(0xff77b1fc, bebcdc4f), -1034, -292},
1750
+ {GRISU_UINT64_C(0xbe5691ef, 416bd60c), -1007, -284},
1751
+ {GRISU_UINT64_C(0x8dd01fad, 907ffc3c), -980, -276},
1752
+ {GRISU_UINT64_C(0xd3515c28, 31559a83), -954, -268},
1753
+ {GRISU_UINT64_C(0x9d71ac8f, ada6c9b5), -927, -260},
1754
+ {GRISU_UINT64_C(0xea9c2277, 23ee8bcb), -901, -252},
1755
+ {GRISU_UINT64_C(0xaecc4991, 4078536d), -874, -244},
1756
+ {GRISU_UINT64_C(0x823c1279, 5db6ce57), -847, -236},
1757
+ {GRISU_UINT64_C(0xc2109436, 4dfb5637), -821, -228},
1758
+ {GRISU_UINT64_C(0x9096ea6f, 3848984f), -794, -220},
1759
+ {GRISU_UINT64_C(0xd77485cb, 25823ac7), -768, -212},
1760
+ {GRISU_UINT64_C(0xa086cfcd, 97bf97f4), -741, -204},
1761
+ {GRISU_UINT64_C(0xef340a98, 172aace5), -715, -196},
1762
+ {GRISU_UINT64_C(0xb23867fb, 2a35b28e), -688, -188},
1763
+ {GRISU_UINT64_C(0x84c8d4df, d2c63f3b), -661, -180},
1764
+ {GRISU_UINT64_C(0xc5dd4427, 1ad3cdba), -635, -172},
1765
+ {GRISU_UINT64_C(0x936b9fce, bb25c996), -608, -164},
1766
+ {GRISU_UINT64_C(0xdbac6c24, 7d62a584), -582, -156},
1767
+ {GRISU_UINT64_C(0xa3ab6658, 0d5fdaf6), -555, -148},
1768
+ {GRISU_UINT64_C(0xf3e2f893, dec3f126), -529, -140},
1769
+ {GRISU_UINT64_C(0xb5b5ada8, aaff80b8), -502, -132},
1770
+ {GRISU_UINT64_C(0x87625f05, 6c7c4a8b), -475, -124},
1771
+ {GRISU_UINT64_C(0xc9bcff60, 34c13053), -449, -116},
1772
+ {GRISU_UINT64_C(0x964e858c, 91ba2655), -422, -108},
1773
+ {GRISU_UINT64_C(0xdff97724, 70297ebd), -396, -100},
1774
+ {GRISU_UINT64_C(0xa6dfbd9f, b8e5b88f), -369, -92},
1775
+ {GRISU_UINT64_C(0xf8a95fcf, 88747d94), -343, -84},
1776
+ {GRISU_UINT64_C(0xb9447093, 8fa89bcf), -316, -76},
1777
+ {GRISU_UINT64_C(0x8a08f0f8, bf0f156b), -289, -68},
1778
+ {GRISU_UINT64_C(0xcdb02555, 653131b6), -263, -60},
1779
+ {GRISU_UINT64_C(0x993fe2c6, d07b7fac), -236, -52},
1780
+ {GRISU_UINT64_C(0xe45c10c4, 2a2b3b06), -210, -44},
1781
+ {GRISU_UINT64_C(0xaa242499, 697392d3), -183, -36},
1782
+ {GRISU_UINT64_C(0xfd87b5f2, 8300ca0e), -157, -28},
1783
+ {GRISU_UINT64_C(0xbce50864, 92111aeb), -130, -20},
1784
+ {GRISU_UINT64_C(0x8cbccc09, 6f5088cc), -103, -12},
1785
+ {GRISU_UINT64_C(0xd1b71758, e219652c), -77, -4},
1786
+ {GRISU_UINT64_C(0x9c400000, 00000000), -50, 4},
1787
+ {GRISU_UINT64_C(0xe8d4a510, 00000000), -24, 12},
1788
+ {GRISU_UINT64_C(0xad78ebc5, ac620000), 3, 20},
1789
+ {GRISU_UINT64_C(0x813f3978, f8940984), 30, 28},
1790
+ {GRISU_UINT64_C(0xc097ce7b, c90715b3), 56, 36},
1791
+ {GRISU_UINT64_C(0x8f7e32ce, 7bea5c70), 83, 44},
1792
+ {GRISU_UINT64_C(0xd5d238a4, abe98068), 109, 52},
1793
+ {GRISU_UINT64_C(0x9f4f2726, 179a2245), 136, 60},
1794
+ {GRISU_UINT64_C(0xed63a231, d4c4fb27), 162, 68},
1795
+ {GRISU_UINT64_C(0xb0de6538, 8cc8ada8), 189, 76},
1796
+ {GRISU_UINT64_C(0x83c7088e, 1aab65db), 216, 84},
1797
+ {GRISU_UINT64_C(0xc45d1df9, 42711d9a), 242, 92},
1798
+ {GRISU_UINT64_C(0x924d692c, a61be758), 269, 100},
1799
+ {GRISU_UINT64_C(0xda01ee64, 1a708dea), 295, 108},
1800
+ {GRISU_UINT64_C(0xa26da399, 9aef774a), 322, 116},
1801
+ {GRISU_UINT64_C(0xf209787b, b47d6b85), 348, 124},
1802
+ {GRISU_UINT64_C(0xb454e4a1, 79dd1877), 375, 132},
1803
+ {GRISU_UINT64_C(0x865b8692, 5b9bc5c2), 402, 140},
1804
+ {GRISU_UINT64_C(0xc83553c5, c8965d3d), 428, 148},
1805
+ {GRISU_UINT64_C(0x952ab45c, fa97a0b3), 455, 156},
1806
+ {GRISU_UINT64_C(0xde469fbd, 99a05fe3), 481, 164},
1807
+ {GRISU_UINT64_C(0xa59bc234, db398c25), 508, 172},
1808
+ {GRISU_UINT64_C(0xf6c69a72, a3989f5c), 534, 180},
1809
+ {GRISU_UINT64_C(0xb7dcbf53, 54e9bece), 561, 188},
1810
+ {GRISU_UINT64_C(0x88fcf317, f22241e2), 588, 196},
1811
+ {GRISU_UINT64_C(0xcc20ce9b, d35c78a5), 614, 204},
1812
+ {GRISU_UINT64_C(0x98165af3, 7b2153df), 641, 212},
1813
+ {GRISU_UINT64_C(0xe2a0b5dc, 971f303a), 667, 220},
1814
+ {GRISU_UINT64_C(0xa8d9d153, 5ce3b396), 694, 228},
1815
+ {GRISU_UINT64_C(0xfb9b7cd9, a4a7443c), 720, 236},
1816
+ {GRISU_UINT64_C(0xbb764c4c, a7a44410), 747, 244},
1817
+ {GRISU_UINT64_C(0x8bab8eef, b6409c1a), 774, 252},
1818
+ {GRISU_UINT64_C(0xd01fef10, a657842c), 800, 260},
1819
+ {GRISU_UINT64_C(0x9b10a4e5, e9913129), 827, 268},
1820
+ {GRISU_UINT64_C(0xe7109bfb, a19c0c9d), 853, 276},
1821
+ {GRISU_UINT64_C(0xac2820d9, 623bf429), 880, 284},
1822
+ {GRISU_UINT64_C(0x80444b5e, 7aa7cf85), 907, 292},
1823
+ {GRISU_UINT64_C(0xbf21e440, 03acdd2d), 933, 300},
1824
+ {GRISU_UINT64_C(0x8e679c2f, 5e44ff8f), 960, 308},
1825
+ {GRISU_UINT64_C(0xd433179d, 9c8cb841), 986, 316},
1826
+ {GRISU_UINT64_C(0x9e19db92, b4e31ba9), 1013, 324},
1827
+ {GRISU_UINT64_C(0xeb96bf6e, badf77d9), 1039, 332},
1828
+ {GRISU_UINT64_C(0xaf87023b, 9bf0ee6b), 1066, 340},
1829
+ };
1830
+ static const int GRISU_CACHE_MAX_DISTANCE(8) = 27;
1831
+ // nb elements (8): 82
1832
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(9)[] = {
1833
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
1834
+ {GRISU_UINT64_C(0xd64d3d9d, b981787d), -1057, -299},
1835
+ {GRISU_UINT64_C(0xc795830d, 75038c1e), -1027, -290},
1836
+ {GRISU_UINT64_C(0xb9e08a83, a5e34f08), -997, -281},
1837
+ {GRISU_UINT64_C(0xad1c8eab, 5ee43b67), -967, -272},
1838
+ {GRISU_UINT64_C(0xa139029f, 6a239f72), -937, -263},
1839
+ {GRISU_UINT64_C(0x96267c75, 35b763b5), -907, -254},
1840
+ {GRISU_UINT64_C(0x8bd6a141, 006042be), -877, -245},
1841
+ {GRISU_UINT64_C(0x823c1279, 5db6ce57), -847, -236},
1842
+ {GRISU_UINT64_C(0xf294b943, e17a2bc4), -818, -227},
1843
+ {GRISU_UINT64_C(0xe1ebce4d, c7f16dfc), -788, -218},
1844
+ {GRISU_UINT64_C(0xd267caa8, 62a12d67), -758, -209},
1845
+ {GRISU_UINT64_C(0xc3f490aa, 77bd60fd), -728, -200},
1846
+ {GRISU_UINT64_C(0xb67f6455, 292cbf08), -698, -191},
1847
+ {GRISU_UINT64_C(0xa9f6d30a, 038d1dbc), -668, -182},
1848
+ {GRISU_UINT64_C(0x9e4a9cec, 15763e2f), -638, -173},
1849
+ {GRISU_UINT64_C(0x936b9fce, bb25c996), -608, -164},
1850
+ {GRISU_UINT64_C(0x894bc396, ce5da772), -578, -155},
1851
+ {GRISU_UINT64_C(0xffbbcfe9, 94e5c620), -549, -146},
1852
+ {GRISU_UINT64_C(0xee2ba6c0, 678b597f), -519, -137},
1853
+ {GRISU_UINT64_C(0xddd0467c, 64bce4a1), -489, -128},
1854
+ {GRISU_UINT64_C(0xce947a3d, a6a9273e), -459, -119},
1855
+ {GRISU_UINT64_C(0xc06481fb, 9bcf8d3a), -429, -110},
1856
+ {GRISU_UINT64_C(0xb32df8e9, f3546564), -399, -101},
1857
+ {GRISU_UINT64_C(0xa6dfbd9f, b8e5b88f), -369, -92},
1858
+ {GRISU_UINT64_C(0x9b69dbe1, b548ce7d), -339, -83},
1859
+ {GRISU_UINT64_C(0x90bd77f3, 483bb9ba), -309, -74},
1860
+ {GRISU_UINT64_C(0x86ccbb52, ea94baeb), -279, -65},
1861
+ {GRISU_UINT64_C(0xfb158592, be068d2f), -250, -56},
1862
+ {GRISU_UINT64_C(0xe9d71b68, 9dde71b0), -220, -47},
1863
+ {GRISU_UINT64_C(0xd9c7dced, 53c72256), -190, -38},
1864
+ {GRISU_UINT64_C(0xcad2f7f5, 359a3b3e), -160, -29},
1865
+ {GRISU_UINT64_C(0xbce50864, 92111aeb), -130, -20},
1866
+ {GRISU_UINT64_C(0xafebff0b, cb24aaff), -100, -11},
1867
+ {GRISU_UINT64_C(0xa3d70a3d, 70a3d70a), -70, -2},
1868
+ {GRISU_UINT64_C(0x98968000, 00000000), -40, 7},
1869
+ {GRISU_UINT64_C(0x8e1bc9bf, 04000000), -10, 16},
1870
+ {GRISU_UINT64_C(0x84595161, 401484a0), 20, 25},
1871
+ {GRISU_UINT64_C(0xf684df56, c3e01bc7), 49, 34},
1872
+ {GRISU_UINT64_C(0xe596b7b0, c643c719), 79, 43},
1873
+ {GRISU_UINT64_C(0xd5d238a4, abe98068), 109, 52},
1874
+ {GRISU_UINT64_C(0xc722f0ef, 9d80aad6), 139, 61},
1875
+ {GRISU_UINT64_C(0xb975d6b6, ee39e437), 169, 70},
1876
+ {GRISU_UINT64_C(0xacb92ed9, 397bf996), 199, 79},
1877
+ {GRISU_UINT64_C(0xa0dc75f1, 778e39d6), 229, 88},
1878
+ {GRISU_UINT64_C(0x95d04aee, 3b80ece6), 259, 97},
1879
+ {GRISU_UINT64_C(0x8b865b21, 5899f46d), 289, 106},
1880
+ {GRISU_UINT64_C(0x81f14fae, 158c5f6e), 319, 115},
1881
+ {GRISU_UINT64_C(0xf209787b, b47d6b85), 348, 124},
1882
+ {GRISU_UINT64_C(0xe16a1dc9, d8545e95), 378, 133},
1883
+ {GRISU_UINT64_C(0xd1ef0244, af2364ff), 408, 142},
1884
+ {GRISU_UINT64_C(0xc38413cf, 25e2d70e), 438, 151},
1885
+ {GRISU_UINT64_C(0xb616a12b, 7fe617aa), 468, 160},
1886
+ {GRISU_UINT64_C(0xa99541bf, 57452b28), 498, 169},
1887
+ {GRISU_UINT64_C(0x9defbf01, b061adab), 528, 178},
1888
+ {GRISU_UINT64_C(0x9316ff75, dd87cbd8), 558, 187},
1889
+ {GRISU_UINT64_C(0x88fcf317, f22241e2), 588, 196},
1890
+ {GRISU_UINT64_C(0xff290242, c83396ce), 617, 205},
1891
+ {GRISU_UINT64_C(0xeda2ee1c, 7064130c), 647, 214},
1892
+ {GRISU_UINT64_C(0xdd50f199, 6b947519), 677, 223},
1893
+ {GRISU_UINT64_C(0xce1de406, 42e3f4b9), 707, 232},
1894
+ {GRISU_UINT64_C(0xbff610b0, cc6edd3f), 737, 241},
1895
+ {GRISU_UINT64_C(0xb2c71d5b, ca9023f8), 767, 250},
1896
+ {GRISU_UINT64_C(0xa67ff273, b8460357), 797, 259},
1897
+ {GRISU_UINT64_C(0x9b10a4e5, e9913129), 827, 268},
1898
+ {GRISU_UINT64_C(0x906a617d, 450187e2), 857, 277},
1899
+ {GRISU_UINT64_C(0x867f59a9, d4bed6c0), 887, 286},
1900
+ {GRISU_UINT64_C(0xfa856334, 878fc151), 916, 295},
1901
+ {GRISU_UINT64_C(0xe950df20, 247c83fd), 946, 304},
1902
+ {GRISU_UINT64_C(0xd94ad8b1, c7380874), 976, 313},
1903
+ {GRISU_UINT64_C(0xca5e89b1, 8b602368), 1006, 322},
1904
+ {GRISU_UINT64_C(0xbc789925, 624c5fe1), 1036, 331},
1905
+ {GRISU_UINT64_C(0xaf87023b, 9bf0ee6b), 1066, 340},
1906
+ };
1907
+ static const int GRISU_CACHE_MAX_DISTANCE(9) = 30;
1908
+ // nb elements (9): 73
1909
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(10)[] = {
1910
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
1911
+ {GRISU_UINT64_C(0x85f04682, 93f0eb4e), -1053, -298},
1912
+ {GRISU_UINT64_C(0x9becce62, 836ac577), -1020, -288},
1913
+ {GRISU_UINT64_C(0xb5854744, 8ffffb2e), -987, -278},
1914
+ {GRISU_UINT64_C(0xd3515c28, 31559a83), -954, -268},
1915
+ {GRISU_UINT64_C(0xf6019da0, 7f549b2b), -921, -258},
1916
+ {GRISU_UINT64_C(0x8f31cc09, 37ae58d3), -887, -248},
1917
+ {GRISU_UINT64_C(0xa6b34ad8, c9dfc070), -854, -238},
1918
+ {GRISU_UINT64_C(0xc2109436, 4dfb5637), -821, -228},
1919
+ {GRISU_UINT64_C(0xe1ebce4d, c7f16dfc), -788, -218},
1920
+ {GRISU_UINT64_C(0x8380dea9, 3da4bc60), -754, -208},
1921
+ {GRISU_UINT64_C(0x99171105, 2d8bf3c5), -721, -198},
1922
+ {GRISU_UINT64_C(0xb23867fb, 2a35b28e), -688, -188},
1923
+ {GRISU_UINT64_C(0xcf79cc9d, b955c2cc), -655, -178},
1924
+ {GRISU_UINT64_C(0xf18899b1, bc3f8ca2), -622, -168},
1925
+ {GRISU_UINT64_C(0x8c974f73, 83725573), -588, -158},
1926
+ {GRISU_UINT64_C(0xa3ab6658, 0d5fdaf6), -555, -148},
1927
+ {GRISU_UINT64_C(0xbe895233, 86091466), -522, -138},
1928
+ {GRISU_UINT64_C(0xddd0467c, 64bce4a1), -489, -128},
1929
+ {GRISU_UINT64_C(0x811ccc66, 8829b887), -455, -118},
1930
+ {GRISU_UINT64_C(0x964e858c, 91ba2655), -422, -108},
1931
+ {GRISU_UINT64_C(0xaefae514, 77a06b04), -389, -98},
1932
+ {GRISU_UINT64_C(0xcbb41ef9, 79346bca), -356, -88},
1933
+ {GRISU_UINT64_C(0xed246723, 473e3813), -323, -78},
1934
+ {GRISU_UINT64_C(0x8a08f0f8, bf0f156b), -289, -68},
1935
+ {GRISU_UINT64_C(0xa0b19d2a, b70e6ed6), -256, -58},
1936
+ {GRISU_UINT64_C(0xbb127c53, b17ec159), -223, -48},
1937
+ {GRISU_UINT64_C(0xd9c7dced, 53c72256), -190, -38},
1938
+ {GRISU_UINT64_C(0xfd87b5f2, 8300ca0e), -157, -28},
1939
+ {GRISU_UINT64_C(0x9392ee8e, 921d5d07), -123, -18},
1940
+ {GRISU_UINT64_C(0xabcc7711, 8461cefd), -90, -8},
1941
+ {GRISU_UINT64_C(0xc8000000, 00000000), -57, 2},
1942
+ {GRISU_UINT64_C(0xe8d4a510, 00000000), -24, 12},
1943
+ {GRISU_UINT64_C(0x87867832, 6eac9000), 10, 22},
1944
+ {GRISU_UINT64_C(0x9dc5ada8, 2b70b59e), 43, 32},
1945
+ {GRISU_UINT64_C(0xb7abc627, 050305ae), 76, 42},
1946
+ {GRISU_UINT64_C(0xd5d238a4, abe98068), 109, 52},
1947
+ {GRISU_UINT64_C(0xf8ebad2b, 84e0d58c), 142, 62},
1948
+ {GRISU_UINT64_C(0x90e40fbe, ea1d3a4b), 176, 72},
1949
+ {GRISU_UINT64_C(0xa8acd7c0, 222311bd), 209, 82},
1950
+ {GRISU_UINT64_C(0xc45d1df9, 42711d9a), 242, 92},
1951
+ {GRISU_UINT64_C(0xe498f455, c38b997a), 275, 102},
1952
+ {GRISU_UINT64_C(0x850fadc0, 9923329e), 309, 112},
1953
+ {GRISU_UINT64_C(0x9ae75759, 6946075f), 342, 122},
1954
+ {GRISU_UINT64_C(0xb454e4a1, 79dd1877), 375, 132},
1955
+ {GRISU_UINT64_C(0xd1ef0244, af2364ff), 408, 142},
1956
+ {GRISU_UINT64_C(0xf46518c2, ef5b8cd1), 441, 152},
1957
+ {GRISU_UINT64_C(0x8e41ade9, fbebc27d), 475, 162},
1958
+ {GRISU_UINT64_C(0xa59bc234, db398c25), 508, 172},
1959
+ {GRISU_UINT64_C(0xc0cb28a9, 8fcf3c80), 541, 182},
1960
+ {GRISU_UINT64_C(0xe070f78d, 3927556b), 574, 192},
1961
+ {GRISU_UINT64_C(0x82a45b45, 0226b39d), 608, 202},
1962
+ {GRISU_UINT64_C(0x98165af3, 7b2153df), 641, 212},
1963
+ {GRISU_UINT64_C(0xb10d8e14, 56105dad), 674, 222},
1964
+ {GRISU_UINT64_C(0xce1de406, 42e3f4b9), 707, 232},
1965
+ {GRISU_UINT64_C(0xeff394dc, ff8a948f), 740, 242},
1966
+ {GRISU_UINT64_C(0x8bab8eef, b6409c1a), 774, 252},
1967
+ {GRISU_UINT64_C(0xa298f2c5, 01f45f43), 807, 262},
1968
+ {GRISU_UINT64_C(0xbd49d14a, a79dbc82), 840, 272},
1969
+ {GRISU_UINT64_C(0xdc5c5301, c56b75f7), 873, 282},
1970
+ {GRISU_UINT64_C(0x80444b5e, 7aa7cf85), 907, 292},
1971
+ {GRISU_UINT64_C(0x95527a52, 02df0ccb), 940, 302},
1972
+ {GRISU_UINT64_C(0xadd57a27, d29339f6), 973, 312},
1973
+ {GRISU_UINT64_C(0xca5e89b1, 8b602368), 1006, 322},
1974
+ {GRISU_UINT64_C(0xeb96bf6e, badf77d9), 1039, 332},
1975
+ {GRISU_UINT64_C(0x892179be, 91d43a44), 1073, 342},
1976
+ };
1977
+ static const int GRISU_CACHE_MAX_DISTANCE(10) = 34;
1978
+ // nb elements (10): 66
1979
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(11)[] = {
1980
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
1981
+ {GRISU_UINT64_C(0xa76c5823, 38ed2622), -1050, -297},
1982
+ {GRISU_UINT64_C(0xf3a20279, ed56d48a), -1014, -286},
1983
+ {GRISU_UINT64_C(0xb1442798, f49ffb4b), -977, -275},
1984
+ {GRISU_UINT64_C(0x80fa687f, 881c7f8e), -940, -264},
1985
+ {GRISU_UINT64_C(0xbbb01b92, 83253ca3), -904, -253},
1986
+ {GRISU_UINT64_C(0x888f9979, 7a5e012d), -867, -242},
1987
+ {GRISU_UINT64_C(0xc6b8e9b0, 709f109a), -831, -231},
1988
+ {GRISU_UINT64_C(0x9096ea6f, 3848984f), -794, -220},
1989
+ {GRISU_UINT64_C(0xd267caa8, 62a12d67), -758, -209},
1990
+ {GRISU_UINT64_C(0x99171105, 2d8bf3c5), -721, -198},
1991
+ {GRISU_UINT64_C(0xdec681f9, f4c31f31), -685, -187},
1992
+ {GRISU_UINT64_C(0xa21727db, 38cb0030), -648, -176},
1993
+ {GRISU_UINT64_C(0xebdf6617, 91d60f56), -612, -165},
1994
+ {GRISU_UINT64_C(0xab9eb47c, 81f5114f), -575, -154},
1995
+ {GRISU_UINT64_C(0xf9bd690a, 1b68637b), -539, -143},
1996
+ {GRISU_UINT64_C(0xb5b5ada8, aaff80b8), -502, -132},
1997
+ {GRISU_UINT64_C(0x843610cb, 4bf160cc), -465, -121},
1998
+ {GRISU_UINT64_C(0xc06481fb, 9bcf8d3a), -429, -110},
1999
+ {GRISU_UINT64_C(0x8bfbea76, c619ef36), -392, -99},
2000
+ {GRISU_UINT64_C(0xcbb41ef9, 79346bca), -356, -88},
2001
+ {GRISU_UINT64_C(0x9436c076, 0c86e30c), -319, -77},
2002
+ {GRISU_UINT64_C(0xd7adf884, aa879177), -283, -66},
2003
+ {GRISU_UINT64_C(0x9ced737b, b6c4183d), -246, -55},
2004
+ {GRISU_UINT64_C(0xe45c10c4, 2a2b3b06), -210, -44},
2005
+ {GRISU_UINT64_C(0xa6274bbd, d0fadd62), -173, -33},
2006
+ {GRISU_UINT64_C(0xf1c90080, baf72cb1), -137, -22},
2007
+ {GRISU_UINT64_C(0xafebff0b, cb24aaff), -100, -11},
2008
+ {GRISU_UINT64_C(0x80000000, 00000000), -63, 0},
2009
+ {GRISU_UINT64_C(0xba43b740, 00000000), -27, 11},
2010
+ {GRISU_UINT64_C(0x87867832, 6eac9000), 10, 22},
2011
+ {GRISU_UINT64_C(0xc5371912, 364ce305), 46, 33},
2012
+ {GRISU_UINT64_C(0x8f7e32ce, 7bea5c70), 83, 44},
2013
+ {GRISU_UINT64_C(0xd0cf4b50, cfe20766), 119, 55},
2014
+ {GRISU_UINT64_C(0x97edd871, cfda3a57), 156, 66},
2015
+ {GRISU_UINT64_C(0xdd15fe86, affad912), 192, 77},
2016
+ {GRISU_UINT64_C(0xa0dc75f1, 778e39d6), 229, 88},
2017
+ {GRISU_UINT64_C(0xea157514, 3cf97227), 265, 99},
2018
+ {GRISU_UINT64_C(0xaa51823e, 34a7eedf), 302, 110},
2019
+ {GRISU_UINT64_C(0xf7d88bc2, 4209a565), 338, 121},
2020
+ {GRISU_UINT64_C(0xb454e4a1, 79dd1877), 375, 132},
2021
+ {GRISU_UINT64_C(0x8335616a, ed761f1f), 412, 143},
2022
+ {GRISU_UINT64_C(0xbeeefb58, 4aff8604), 448, 154},
2023
+ {GRISU_UINT64_C(0x8aec23d6, 80043bee), 485, 165},
2024
+ {GRISU_UINT64_C(0xca28a291, 859bbf93), 521, 176},
2025
+ {GRISU_UINT64_C(0x9316ff75, dd87cbd8), 558, 187},
2026
+ {GRISU_UINT64_C(0xd60b3bd5, 6a5586f2), 594, 198},
2027
+ {GRISU_UINT64_C(0x9bbcc7a1, 42b17ccc), 631, 209},
2028
+ {GRISU_UINT64_C(0xe2a0b5dc, 971f303a), 667, 220},
2029
+ {GRISU_UINT64_C(0xa4e4b66b, 68b65d61), 704, 231},
2030
+ {GRISU_UINT64_C(0xeff394dc, ff8a948f), 740, 242},
2031
+ {GRISU_UINT64_C(0xae9672ab, a3d0c321), 777, 253},
2032
+ {GRISU_UINT64_C(0xfe0efb53, d30dd4d8), 813, 264},
2033
+ {GRISU_UINT64_C(0xb8da1662, e7b00a17), 850, 275},
2034
+ {GRISU_UINT64_C(0x867f59a9, d4bed6c0), 887, 286},
2035
+ {GRISU_UINT64_C(0xc3b83581, 09e84f07), 923, 297},
2036
+ {GRISU_UINT64_C(0x8e679c2f, 5e44ff8f), 960, 308},
2037
+ {GRISU_UINT64_C(0xcf39e50f, eae16bf0), 996, 319},
2038
+ {GRISU_UINT64_C(0x96c6e0ea, b509e64d), 1033, 330},
2039
+ {GRISU_UINT64_C(0xdb68c2ca, 82ed2a06), 1069, 341},
2040
+ };
2041
+ static const int GRISU_CACHE_MAX_DISTANCE(11) = 37;
2042
+ // nb elements (11): 60
2043
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(12)[] = {
2044
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
2045
+ {GRISU_UINT64_C(0xd1476e2c, 07286faa), -1047, -296},
2046
+ {GRISU_UINT64_C(0xbe5691ef, 416bd60c), -1007, -284},
2047
+ {GRISU_UINT64_C(0xad1c8eab, 5ee43b67), -967, -272},
2048
+ {GRISU_UINT64_C(0x9d71ac8f, ada6c9b5), -927, -260},
2049
+ {GRISU_UINT64_C(0x8f31cc09, 37ae58d3), -887, -248},
2050
+ {GRISU_UINT64_C(0x823c1279, 5db6ce57), -847, -236},
2051
+ {GRISU_UINT64_C(0xece53cec, 4a314ebe), -808, -224},
2052
+ {GRISU_UINT64_C(0xd77485cb, 25823ac7), -768, -212},
2053
+ {GRISU_UINT64_C(0xc3f490aa, 77bd60fd), -728, -200},
2054
+ {GRISU_UINT64_C(0xb23867fb, 2a35b28e), -688, -188},
2055
+ {GRISU_UINT64_C(0xa21727db, 38cb0030), -648, -176},
2056
+ {GRISU_UINT64_C(0x936b9fce, bb25c996), -608, -164},
2057
+ {GRISU_UINT64_C(0x8613fd01, 45877586), -568, -152},
2058
+ {GRISU_UINT64_C(0xf3e2f893, dec3f126), -529, -140},
2059
+ {GRISU_UINT64_C(0xddd0467c, 64bce4a1), -489, -128},
2060
+ {GRISU_UINT64_C(0xc9bcff60, 34c13053), -449, -116},
2061
+ {GRISU_UINT64_C(0xb77ada06, 17e3bbcb), -409, -104},
2062
+ {GRISU_UINT64_C(0xa6dfbd9f, b8e5b88f), -369, -92},
2063
+ {GRISU_UINT64_C(0x97c560ba, 6b0919a6), -329, -80},
2064
+ {GRISU_UINT64_C(0x8a08f0f8, bf0f156b), -289, -68},
2065
+ {GRISU_UINT64_C(0xfb158592, be068d2f), -250, -56},
2066
+ {GRISU_UINT64_C(0xe45c10c4, 2a2b3b06), -210, -44},
2067
+ {GRISU_UINT64_C(0xcfb11ead, 453994ba), -170, -32},
2068
+ {GRISU_UINT64_C(0xbce50864, 92111aeb), -130, -20},
2069
+ {GRISU_UINT64_C(0xabcc7711, 8461cefd), -90, -8},
2070
+ {GRISU_UINT64_C(0x9c400000, 00000000), -50, 4},
2071
+ {GRISU_UINT64_C(0x8e1bc9bf, 04000000), -10, 16},
2072
+ {GRISU_UINT64_C(0x813f3978, f8940984), 30, 28},
2073
+ {GRISU_UINT64_C(0xeb194f8e, 1ae525fd), 69, 40},
2074
+ {GRISU_UINT64_C(0xd5d238a4, abe98068), 109, 52},
2075
+ {GRISU_UINT64_C(0xc2781f49, ffcfa6d5), 149, 64},
2076
+ {GRISU_UINT64_C(0xb0de6538, 8cc8ada8), 189, 76},
2077
+ {GRISU_UINT64_C(0xa0dc75f1, 778e39d6), 229, 88},
2078
+ {GRISU_UINT64_C(0x924d692c, a61be758), 269, 100},
2079
+ {GRISU_UINT64_C(0x850fadc0, 9923329e), 309, 112},
2080
+ {GRISU_UINT64_C(0xf209787b, b47d6b85), 348, 124},
2081
+ {GRISU_UINT64_C(0xdc21a117, 1d42645d), 388, 136},
2082
+ {GRISU_UINT64_C(0xc83553c5, c8965d3d), 428, 148},
2083
+ {GRISU_UINT64_C(0xb616a12b, 7fe617aa), 468, 160},
2084
+ {GRISU_UINT64_C(0xa59bc234, db398c25), 508, 172},
2085
+ {GRISU_UINT64_C(0x969eb7c4, 7859e744), 548, 184},
2086
+ {GRISU_UINT64_C(0x88fcf317, f22241e2), 588, 196},
2087
+ {GRISU_UINT64_C(0xf92e0c35, 37826146), 627, 208},
2088
+ {GRISU_UINT64_C(0xe2a0b5dc, 971f303a), 667, 220},
2089
+ {GRISU_UINT64_C(0xce1de406, 42e3f4b9), 707, 232},
2090
+ {GRISU_UINT64_C(0xbb764c4c, a7a44410), 747, 244},
2091
+ {GRISU_UINT64_C(0xaa7eebfb, 9df9de8e), 787, 256},
2092
+ {GRISU_UINT64_C(0x9b10a4e5, e9913129), 827, 268},
2093
+ {GRISU_UINT64_C(0x8d07e334, 55637eb3), 867, 280},
2094
+ {GRISU_UINT64_C(0x80444b5e, 7aa7cf85), 907, 292},
2095
+ {GRISU_UINT64_C(0xe950df20, 247c83fd), 946, 304},
2096
+ {GRISU_UINT64_C(0xd433179d, 9c8cb841), 986, 316},
2097
+ {GRISU_UINT64_C(0xc0fe9088, 95cf3b44), 1026, 328},
2098
+ {GRISU_UINT64_C(0xaf87023b, 9bf0ee6b), 1066, 340},
2099
+ };
2100
+ static const int GRISU_CACHE_MAX_DISTANCE(12) = 40;
2101
+ // nb elements (12): 55
2102
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(13)[] = {
2103
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
2104
+ {GRISU_UINT64_C(0x82cca4db, 847945ca), -1043, -295},
2105
+ {GRISU_UINT64_C(0x94b3a202, eb1c3f39), -1000, -282},
2106
+ {GRISU_UINT64_C(0xa90de353, 5aaae202), -957, -269},
2107
+ {GRISU_UINT64_C(0xc0314325, 637a193a), -914, -256},
2108
+ {GRISU_UINT64_C(0xda7f5bf5, 90966849), -871, -243},
2109
+ {GRISU_UINT64_C(0xf867241c, 8cc6d4c1), -828, -230},
2110
+ {GRISU_UINT64_C(0x8d3360f0, 9cf6e4bd), -784, -217},
2111
+ {GRISU_UINT64_C(0xa086cfcd, 97bf97f4), -741, -204},
2112
+ {GRISU_UINT64_C(0xb67f6455, 292cbf08), -698, -191},
2113
+ {GRISU_UINT64_C(0xcf79cc9d, b955c2cc), -655, -178},
2114
+ {GRISU_UINT64_C(0xebdf6617, 91d60f56), -612, -165},
2115
+ {GRISU_UINT64_C(0x8613fd01, 45877586), -568, -152},
2116
+ {GRISU_UINT64_C(0x986ddb5c, 6b3a76b8), -525, -139},
2117
+ {GRISU_UINT64_C(0xad4ab711, 2eb3929e), -482, -126},
2118
+ {GRISU_UINT64_C(0xc5029163, f384a931), -439, -113},
2119
+ {GRISU_UINT64_C(0xdff97724, 70297ebd), -396, -100},
2120
+ {GRISU_UINT64_C(0xfea126b7, d78186bd), -353, -87},
2121
+ {GRISU_UINT64_C(0x90bd77f3, 483bb9ba), -309, -74},
2122
+ {GRISU_UINT64_C(0xa48ceaaa, b75a8e2b), -266, -61},
2123
+ {GRISU_UINT64_C(0xbb127c53, b17ec159), -223, -48},
2124
+ {GRISU_UINT64_C(0xd4ad2dbf, c3d07788), -180, -35},
2125
+ {GRISU_UINT64_C(0xf1c90080, baf72cb1), -137, -22},
2126
+ {GRISU_UINT64_C(0x89705f41, 36b4a597), -93, -9},
2127
+ {GRISU_UINT64_C(0x9c400000, 00000000), -50, 4},
2128
+ {GRISU_UINT64_C(0xb1a2bc2e, c5000000), -7, 17},
2129
+ {GRISU_UINT64_C(0xc9f2c9cd, 04674edf), 36, 30},
2130
+ {GRISU_UINT64_C(0xe596b7b0, c643c719), 79, 43},
2131
+ {GRISU_UINT64_C(0x82818f12, 81ed44a0), 123, 56},
2132
+ {GRISU_UINT64_C(0x945e455f, 24fb1cf9), 166, 69},
2133
+ {GRISU_UINT64_C(0xa8acd7c0, 222311bd), 209, 82},
2134
+ {GRISU_UINT64_C(0xbfc2ef45, 6ae276e9), 252, 95},
2135
+ {GRISU_UINT64_C(0xda01ee64, 1a708dea), 295, 108},
2136
+ {GRISU_UINT64_C(0xf7d88bc2, 4209a565), 338, 121},
2137
+ {GRISU_UINT64_C(0x8ce2529e, 2734bb1d), 382, 134},
2138
+ {GRISU_UINT64_C(0xa02aa96b, 06deb0fe), 425, 147},
2139
+ {GRISU_UINT64_C(0xb616a12b, 7fe617aa), 468, 160},
2140
+ {GRISU_UINT64_C(0xcf02b2c2, 1207ef2f), 511, 173},
2141
+ {GRISU_UINT64_C(0xeb57ff22, fc0c795a), 554, 186},
2142
+ {GRISU_UINT64_C(0x85c70565, 62757457), 598, 199},
2143
+ {GRISU_UINT64_C(0x98165af3, 7b2153df), 641, 212},
2144
+ {GRISU_UINT64_C(0xace73cbf, dc0bfb7b), 684, 225},
2145
+ {GRISU_UINT64_C(0xc491798a, 08a2ad4f), 727, 238},
2146
+ {GRISU_UINT64_C(0xdf78e4b2, bd342cf7), 770, 251},
2147
+ {GRISU_UINT64_C(0xfe0efb53, d30dd4d8), 813, 264},
2148
+ {GRISU_UINT64_C(0x906a617d, 450187e2), 857, 277},
2149
+ {GRISU_UINT64_C(0xa42e74f3, d032f526), 900, 290},
2150
+ {GRISU_UINT64_C(0xbaa718e6, 8396cffe), 943, 303},
2151
+ {GRISU_UINT64_C(0xd433179d, 9c8cb841), 986, 316},
2152
+ {GRISU_UINT64_C(0xf13e34aa, bb430a15), 1029, 329},
2153
+ {GRISU_UINT64_C(0x892179be, 91d43a44), 1073, 342},
2154
+ };
2155
+ static const int GRISU_CACHE_MAX_DISTANCE(13) = 44;
2156
+ // nb elements (13): 51
2157
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(14)[] = {
2158
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
2159
+ {GRISU_UINT64_C(0xa37fce12, 6597973d), -1040, -294},
2160
+ {GRISU_UINT64_C(0xe858ad24, 8f5c22ca), -994, -280},
2161
+ {GRISU_UINT64_C(0xa5178fff, 668ae0b6), -947, -266},
2162
+ {GRISU_UINT64_C(0xea9c2277, 23ee8bcb), -901, -252},
2163
+ {GRISU_UINT64_C(0xa6b34ad8, c9dfc070), -854, -238},
2164
+ {GRISU_UINT64_C(0xece53cec, 4a314ebe), -808, -224},
2165
+ {GRISU_UINT64_C(0xa8530886, b54dbdec), -761, -210},
2166
+ {GRISU_UINT64_C(0xef340a98, 172aace5), -715, -196},
2167
+ {GRISU_UINT64_C(0xa9f6d30a, 038d1dbc), -668, -182},
2168
+ {GRISU_UINT64_C(0xf18899b1, bc3f8ca2), -622, -168},
2169
+ {GRISU_UINT64_C(0xab9eb47c, 81f5114f), -575, -154},
2170
+ {GRISU_UINT64_C(0xf3e2f893, dec3f126), -529, -140},
2171
+ {GRISU_UINT64_C(0xad4ab711, 2eb3929e), -482, -126},
2172
+ {GRISU_UINT64_C(0xf64335bc, f065d37d), -436, -112},
2173
+ {GRISU_UINT64_C(0xaefae514, 77a06b04), -389, -98},
2174
+ {GRISU_UINT64_C(0xf8a95fcf, 88747d94), -343, -84},
2175
+ {GRISU_UINT64_C(0xb0af48ec, 79ace837), -296, -70},
2176
+ {GRISU_UINT64_C(0xfb158592, be068d2f), -250, -56},
2177
+ {GRISU_UINT64_C(0xb267ed19, 40f1c61c), -203, -42},
2178
+ {GRISU_UINT64_C(0xfd87b5f2, 8300ca0e), -157, -28},
2179
+ {GRISU_UINT64_C(0xb424dc35, 095cd80f), -110, -14},
2180
+ {GRISU_UINT64_C(0x80000000, 00000000), -63, 0},
2181
+ {GRISU_UINT64_C(0xb5e620f4, 80000000), -17, 14},
2182
+ {GRISU_UINT64_C(0x813f3978, f8940984), 30, 28},
2183
+ {GRISU_UINT64_C(0xb7abc627, 050305ae), 76, 42},
2184
+ {GRISU_UINT64_C(0x82818f12, 81ed44a0), 123, 56},
2185
+ {GRISU_UINT64_C(0xb975d6b6, ee39e437), 169, 70},
2186
+ {GRISU_UINT64_C(0x83c7088e, 1aab65db), 216, 84},
2187
+ {GRISU_UINT64_C(0xbb445da9, ca61281f), 262, 98},
2188
+ {GRISU_UINT64_C(0x850fadc0, 9923329e), 309, 112},
2189
+ {GRISU_UINT64_C(0xbd176620, a501fc00), 355, 126},
2190
+ {GRISU_UINT64_C(0x865b8692, 5b9bc5c2), 402, 140},
2191
+ {GRISU_UINT64_C(0xbeeefb58, 4aff8604), 448, 154},
2192
+ {GRISU_UINT64_C(0x87aa9aff, 79042287), 495, 168},
2193
+ {GRISU_UINT64_C(0xc0cb28a9, 8fcf3c80), 541, 182},
2194
+ {GRISU_UINT64_C(0x88fcf317, f22241e2), 588, 196},
2195
+ {GRISU_UINT64_C(0xc2abf989, 935ddbfe), 634, 210},
2196
+ {GRISU_UINT64_C(0x8a5296ff, e33cc930), 681, 224},
2197
+ {GRISU_UINT64_C(0xc491798a, 08a2ad4f), 727, 238},
2198
+ {GRISU_UINT64_C(0x8bab8eef, b6409c1a), 774, 252},
2199
+ {GRISU_UINT64_C(0xc67bb459, 7ce2ce49), 820, 266},
2200
+ {GRISU_UINT64_C(0x8d07e334, 55637eb3), 867, 280},
2201
+ {GRISU_UINT64_C(0xc86ab5c3, 9fa63441), 913, 294},
2202
+ {GRISU_UINT64_C(0x8e679c2f, 5e44ff8f), 960, 308},
2203
+ {GRISU_UINT64_C(0xca5e89b1, 8b602368), 1006, 322},
2204
+ {GRISU_UINT64_C(0x8fcac257, 558ee4e6), 1053, 336},
2205
+ };
2206
+ static const int GRISU_CACHE_MAX_DISTANCE(14) = 47;
2207
+ // nb elements (14): 47
2208
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(15)[] = {
2209
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
2210
+ {GRISU_UINT64_C(0xcc5fc196, fefd7d0c), -1037, -293},
2211
+ {GRISU_UINT64_C(0xb5854744, 8ffffb2e), -987, -278},
2212
+ {GRISU_UINT64_C(0xa139029f, 6a239f72), -937, -263},
2213
+ {GRISU_UINT64_C(0x8f31cc09, 37ae58d3), -887, -248},
2214
+ {GRISU_UINT64_C(0xfe5d5415, 0b090b03), -838, -233},
2215
+ {GRISU_UINT64_C(0xe1ebce4d, c7f16dfc), -788, -218},
2216
+ {GRISU_UINT64_C(0xc8a883c0, fdaf7df0), -738, -203},
2217
+ {GRISU_UINT64_C(0xb23867fb, 2a35b28e), -688, -188},
2218
+ {GRISU_UINT64_C(0x9e4a9cec, 15763e2f), -638, -173},
2219
+ {GRISU_UINT64_C(0x8c974f73, 83725573), -588, -158},
2220
+ {GRISU_UINT64_C(0xf9bd690a, 1b68637b), -539, -143},
2221
+ {GRISU_UINT64_C(0xddd0467c, 64bce4a1), -489, -128},
2222
+ {GRISU_UINT64_C(0xc5029163, f384a931), -439, -113},
2223
+ {GRISU_UINT64_C(0xaefae514, 77a06b04), -389, -98},
2224
+ {GRISU_UINT64_C(0x9b69dbe1, b548ce7d), -339, -83},
2225
+ {GRISU_UINT64_C(0x8a08f0f8, bf0f156b), -289, -68},
2226
+ {GRISU_UINT64_C(0xf5330471, 4d9265e0), -240, -53},
2227
+ {GRISU_UINT64_C(0xd9c7dced, 53c72256), -190, -38},
2228
+ {GRISU_UINT64_C(0xc16d9a00, 95928a27), -140, -23},
2229
+ {GRISU_UINT64_C(0xabcc7711, 8461cefd), -90, -8},
2230
+ {GRISU_UINT64_C(0x98968000, 00000000), -40, 7},
2231
+ {GRISU_UINT64_C(0x87867832, 6eac9000), 10, 22},
2232
+ {GRISU_UINT64_C(0xf0bdc21a, bb48db20), 59, 37},
2233
+ {GRISU_UINT64_C(0xd5d238a4, abe98068), 109, 52},
2234
+ {GRISU_UINT64_C(0xbde94e8e, 43d0c8ec), 159, 67},
2235
+ {GRISU_UINT64_C(0xa8acd7c0, 222311bd), 209, 82},
2236
+ {GRISU_UINT64_C(0x95d04aee, 3b80ece6), 259, 97},
2237
+ {GRISU_UINT64_C(0x850fadc0, 9923329e), 309, 112},
2238
+ {GRISU_UINT64_C(0xec5d3fa8, ce427b00), 358, 127},
2239
+ {GRISU_UINT64_C(0xd1ef0244, af2364ff), 408, 142},
2240
+ {GRISU_UINT64_C(0xba756174, 393d88e0), 458, 157},
2241
+ {GRISU_UINT64_C(0xa59bc234, db398c25), 508, 172},
2242
+ {GRISU_UINT64_C(0x9316ff75, dd87cbd8), 558, 187},
2243
+ {GRISU_UINT64_C(0x82a45b45, 0226b39d), 608, 202},
2244
+ {GRISU_UINT64_C(0xe8111c87, c5c1ba9a), 657, 217},
2245
+ {GRISU_UINT64_C(0xce1de406, 42e3f4b9), 707, 232},
2246
+ {GRISU_UINT64_C(0xb7118682, dbb66a77), 757, 247},
2247
+ {GRISU_UINT64_C(0xa298f2c5, 01f45f43), 807, 262},
2248
+ {GRISU_UINT64_C(0x906a617d, 450187e2), 857, 277},
2249
+ {GRISU_UINT64_C(0x80444b5e, 7aa7cf85), 907, 292},
2250
+ {GRISU_UINT64_C(0xe3d8f9e5, 63a198e5), 956, 307},
2251
+ {GRISU_UINT64_C(0xca5e89b1, 8b602368), 1006, 322},
2252
+ {GRISU_UINT64_C(0xb3bd72ed, 2af29e20), 1056, 337},
2253
+ };
2254
+ static const int GRISU_CACHE_MAX_DISTANCE(15) = 50;
2255
+ // nb elements (15): 44
2256
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(16)[] = {
2257
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
2258
+ {GRISU_UINT64_C(0xff77b1fc, bebcdc4f), -1034, -292},
2259
+ {GRISU_UINT64_C(0x8dd01fad, 907ffc3c), -980, -276},
2260
+ {GRISU_UINT64_C(0x9d71ac8f, ada6c9b5), -927, -260},
2261
+ {GRISU_UINT64_C(0xaecc4991, 4078536d), -874, -244},
2262
+ {GRISU_UINT64_C(0xc2109436, 4dfb5637), -821, -228},
2263
+ {GRISU_UINT64_C(0xd77485cb, 25823ac7), -768, -212},
2264
+ {GRISU_UINT64_C(0xef340a98, 172aace5), -715, -196},
2265
+ {GRISU_UINT64_C(0x84c8d4df, d2c63f3b), -661, -180},
2266
+ {GRISU_UINT64_C(0x936b9fce, bb25c996), -608, -164},
2267
+ {GRISU_UINT64_C(0xa3ab6658, 0d5fdaf6), -555, -148},
2268
+ {GRISU_UINT64_C(0xb5b5ada8, aaff80b8), -502, -132},
2269
+ {GRISU_UINT64_C(0xc9bcff60, 34c13053), -449, -116},
2270
+ {GRISU_UINT64_C(0xdff97724, 70297ebd), -396, -100},
2271
+ {GRISU_UINT64_C(0xf8a95fcf, 88747d94), -343, -84},
2272
+ {GRISU_UINT64_C(0x8a08f0f8, bf0f156b), -289, -68},
2273
+ {GRISU_UINT64_C(0x993fe2c6, d07b7fac), -236, -52},
2274
+ {GRISU_UINT64_C(0xaa242499, 697392d3), -183, -36},
2275
+ {GRISU_UINT64_C(0xbce50864, 92111aeb), -130, -20},
2276
+ {GRISU_UINT64_C(0xd1b71758, e219652c), -77, -4},
2277
+ {GRISU_UINT64_C(0xe8d4a510, 00000000), -24, 12},
2278
+ {GRISU_UINT64_C(0x813f3978, f8940984), 30, 28},
2279
+ {GRISU_UINT64_C(0x8f7e32ce, 7bea5c70), 83, 44},
2280
+ {GRISU_UINT64_C(0x9f4f2726, 179a2245), 136, 60},
2281
+ {GRISU_UINT64_C(0xb0de6538, 8cc8ada8), 189, 76},
2282
+ {GRISU_UINT64_C(0xc45d1df9, 42711d9a), 242, 92},
2283
+ {GRISU_UINT64_C(0xda01ee64, 1a708dea), 295, 108},
2284
+ {GRISU_UINT64_C(0xf209787b, b47d6b85), 348, 124},
2285
+ {GRISU_UINT64_C(0x865b8692, 5b9bc5c2), 402, 140},
2286
+ {GRISU_UINT64_C(0x952ab45c, fa97a0b3), 455, 156},
2287
+ {GRISU_UINT64_C(0xa59bc234, db398c25), 508, 172},
2288
+ {GRISU_UINT64_C(0xb7dcbf53, 54e9bece), 561, 188},
2289
+ {GRISU_UINT64_C(0xcc20ce9b, d35c78a5), 614, 204},
2290
+ {GRISU_UINT64_C(0xe2a0b5dc, 971f303a), 667, 220},
2291
+ {GRISU_UINT64_C(0xfb9b7cd9, a4a7443c), 720, 236},
2292
+ {GRISU_UINT64_C(0x8bab8eef, b6409c1a), 774, 252},
2293
+ {GRISU_UINT64_C(0x9b10a4e5, e9913129), 827, 268},
2294
+ {GRISU_UINT64_C(0xac2820d9, 623bf429), 880, 284},
2295
+ {GRISU_UINT64_C(0xbf21e440, 03acdd2d), 933, 300},
2296
+ {GRISU_UINT64_C(0xd433179d, 9c8cb841), 986, 316},
2297
+ {GRISU_UINT64_C(0xeb96bf6e, badf77d9), 1039, 332},
2298
+ };
2299
+ static const int GRISU_CACHE_MAX_DISTANCE(16) = 54;
2300
+ // nb elements (16): 41
2301
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(17)[] = {
2302
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
2303
+ {GRISU_UINT64_C(0x9faacf3d, f73609b1), -1030, -291},
2304
+ {GRISU_UINT64_C(0xdd95317f, 31c7fa1d), -974, -274},
2305
+ {GRISU_UINT64_C(0x99c10284, 4f94e0fb), -917, -257},
2306
+ {GRISU_UINT64_C(0xd5605fcd, cf32e1d7), -861, -240},
2307
+ {GRISU_UINT64_C(0x940f4613, ae5ed137), -804, -223},
2308
+ {GRISU_UINT64_C(0xcd795be8, 70516656), -748, -206},
2309
+ {GRISU_UINT64_C(0x8e938662, 882af53e), -691, -189},
2310
+ {GRISU_UINT64_C(0xc5dd4427, 1ad3cdba), -635, -172},
2311
+ {GRISU_UINT64_C(0x894bc396, ce5da772), -578, -155},
2312
+ {GRISU_UINT64_C(0xbe895233, 86091466), -522, -138},
2313
+ {GRISU_UINT64_C(0x843610cb, 4bf160cc), -465, -121},
2314
+ {GRISU_UINT64_C(0xb77ada06, 17e3bbcb), -409, -104},
2315
+ {GRISU_UINT64_C(0xfea126b7, d78186bd), -353, -87},
2316
+ {GRISU_UINT64_C(0xb0af48ec, 79ace837), -296, -70},
2317
+ {GRISU_UINT64_C(0xf5330471, 4d9265e0), -240, -53},
2318
+ {GRISU_UINT64_C(0xaa242499, 697392d3), -183, -36},
2319
+ {GRISU_UINT64_C(0xec1e4a7d, b69561a5), -127, -19},
2320
+ {GRISU_UINT64_C(0xa3d70a3d, 70a3d70a), -70, -2},
2321
+ {GRISU_UINT64_C(0xe35fa931, a0000000), -14, 15},
2322
+ {GRISU_UINT64_C(0x9dc5ada8, 2b70b59e), 43, 32},
2323
+ {GRISU_UINT64_C(0xdaf3f046, 51d47b4c), 99, 49},
2324
+ {GRISU_UINT64_C(0x97edd871, cfda3a57), 156, 66},
2325
+ {GRISU_UINT64_C(0xd2d80db0, 2aabd62c), 212, 83},
2326
+ {GRISU_UINT64_C(0x924d692c, a61be758), 269, 100},
2327
+ {GRISU_UINT64_C(0xcb090c80, 01ab551c), 325, 117},
2328
+ {GRISU_UINT64_C(0x8ce2529e, 2734bb1d), 382, 134},
2329
+ {GRISU_UINT64_C(0xc38413cf, 25e2d70e), 438, 151},
2330
+ {GRISU_UINT64_C(0x87aa9aff, 79042287), 495, 168},
2331
+ {GRISU_UINT64_C(0xbc4665b5, 96706115), 551, 185},
2332
+ {GRISU_UINT64_C(0x82a45b45, 0226b39d), 608, 202},
2333
+ {GRISU_UINT64_C(0xb54d5e4a, 127f59c8), 664, 219},
2334
+ {GRISU_UINT64_C(0xfb9b7cd9, a4a7443c), 720, 236},
2335
+ {GRISU_UINT64_C(0xae9672ab, a3d0c321), 777, 253},
2336
+ {GRISU_UINT64_C(0xf24a01a7, 3cf2dcd0), 833, 270},
2337
+ {GRISU_UINT64_C(0xa81f3014, 49ee8c70), 890, 287},
2338
+ {GRISU_UINT64_C(0xe950df20, 247c83fd), 946, 304},
2339
+ {GRISU_UINT64_C(0xa1e53af4, 6f801c53), 1003, 321},
2340
+ {GRISU_UINT64_C(0xe0accfa8, 75af45a8), 1059, 338},
2341
+ };
2342
+ static const int GRISU_CACHE_MAX_DISTANCE(17) = 57;
2343
+ // nb elements (17): 39
2344
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(18)[] = {
2345
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
2346
+ {GRISU_UINT64_C(0xc795830d, 75038c1e), -1027, -290},
2347
+ {GRISU_UINT64_C(0xad1c8eab, 5ee43b67), -967, -272},
2348
+ {GRISU_UINT64_C(0x96267c75, 35b763b5), -907, -254},
2349
+ {GRISU_UINT64_C(0x823c1279, 5db6ce57), -847, -236},
2350
+ {GRISU_UINT64_C(0xe1ebce4d, c7f16dfc), -788, -218},
2351
+ {GRISU_UINT64_C(0xc3f490aa, 77bd60fd), -728, -200},
2352
+ {GRISU_UINT64_C(0xa9f6d30a, 038d1dbc), -668, -182},
2353
+ {GRISU_UINT64_C(0x936b9fce, bb25c996), -608, -164},
2354
+ {GRISU_UINT64_C(0xffbbcfe9, 94e5c620), -549, -146},
2355
+ {GRISU_UINT64_C(0xddd0467c, 64bce4a1), -489, -128},
2356
+ {GRISU_UINT64_C(0xc06481fb, 9bcf8d3a), -429, -110},
2357
+ {GRISU_UINT64_C(0xa6dfbd9f, b8e5b88f), -369, -92},
2358
+ {GRISU_UINT64_C(0x90bd77f3, 483bb9ba), -309, -74},
2359
+ {GRISU_UINT64_C(0xfb158592, be068d2f), -250, -56},
2360
+ {GRISU_UINT64_C(0xd9c7dced, 53c72256), -190, -38},
2361
+ {GRISU_UINT64_C(0xbce50864, 92111aeb), -130, -20},
2362
+ {GRISU_UINT64_C(0xa3d70a3d, 70a3d70a), -70, -2},
2363
+ {GRISU_UINT64_C(0x8e1bc9bf, 04000000), -10, 16},
2364
+ {GRISU_UINT64_C(0xf684df56, c3e01bc7), 49, 34},
2365
+ {GRISU_UINT64_C(0xd5d238a4, abe98068), 109, 52},
2366
+ {GRISU_UINT64_C(0xb975d6b6, ee39e437), 169, 70},
2367
+ {GRISU_UINT64_C(0xa0dc75f1, 778e39d6), 229, 88},
2368
+ {GRISU_UINT64_C(0x8b865b21, 5899f46d), 289, 106},
2369
+ {GRISU_UINT64_C(0xf209787b, b47d6b85), 348, 124},
2370
+ {GRISU_UINT64_C(0xd1ef0244, af2364ff), 408, 142},
2371
+ {GRISU_UINT64_C(0xb616a12b, 7fe617aa), 468, 160},
2372
+ {GRISU_UINT64_C(0x9defbf01, b061adab), 528, 178},
2373
+ {GRISU_UINT64_C(0x88fcf317, f22241e2), 588, 196},
2374
+ {GRISU_UINT64_C(0xeda2ee1c, 7064130c), 647, 214},
2375
+ {GRISU_UINT64_C(0xce1de406, 42e3f4b9), 707, 232},
2376
+ {GRISU_UINT64_C(0xb2c71d5b, ca9023f8), 767, 250},
2377
+ {GRISU_UINT64_C(0x9b10a4e5, e9913129), 827, 268},
2378
+ {GRISU_UINT64_C(0x867f59a9, d4bed6c0), 887, 286},
2379
+ {GRISU_UINT64_C(0xe950df20, 247c83fd), 946, 304},
2380
+ {GRISU_UINT64_C(0xca5e89b1, 8b602368), 1006, 322},
2381
+ {GRISU_UINT64_C(0xaf87023b, 9bf0ee6b), 1066, 340},
2382
+ };
2383
+ static const int GRISU_CACHE_MAX_DISTANCE(18) = 60;
2384
+ // nb elements (18): 37
2385
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(19)[] = {
2386
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
2387
+ {GRISU_UINT64_C(0xf97ae3d0, d2446f25), -1024, -289},
2388
+ {GRISU_UINT64_C(0x873e4f75, e2224e68), -960, -270},
2389
+ {GRISU_UINT64_C(0x92a1958a, 7675175f), -897, -251},
2390
+ {GRISU_UINT64_C(0x9efa548d, 26e5a6e2), -834, -232},
2391
+ {GRISU_UINT64_C(0xac5d37d5, b79b6239), -771, -213},
2392
+ {GRISU_UINT64_C(0xbae0a846, d2195713), -708, -194},
2393
+ {GRISU_UINT64_C(0xca9cf1d2, 06fdc03c), -645, -175},
2394
+ {GRISU_UINT64_C(0xdbac6c24, 7d62a584), -582, -156},
2395
+ {GRISU_UINT64_C(0xee2ba6c0, 678b597f), -519, -137},
2396
+ {GRISU_UINT64_C(0x811ccc66, 8829b887), -455, -118},
2397
+ {GRISU_UINT64_C(0x8bfbea76, c619ef36), -392, -99},
2398
+ {GRISU_UINT64_C(0x97c560ba, 6b0919a6), -329, -80},
2399
+ {GRISU_UINT64_C(0xa48ceaaa, b75a8e2b), -266, -61},
2400
+ {GRISU_UINT64_C(0xb267ed19, 40f1c61c), -203, -42},
2401
+ {GRISU_UINT64_C(0xc16d9a00, 95928a27), -140, -23},
2402
+ {GRISU_UINT64_C(0xd1b71758, e219652c), -77, -4},
2403
+ {GRISU_UINT64_C(0xe35fa931, a0000000), -14, 15},
2404
+ {GRISU_UINT64_C(0xf684df56, c3e01bc7), 49, 34},
2405
+ {GRISU_UINT64_C(0x85a36366, eb71f041), 113, 53},
2406
+ {GRISU_UINT64_C(0x90e40fbe, ea1d3a4b), 176, 72},
2407
+ {GRISU_UINT64_C(0x9d174b2d, cec0e47b), 239, 91},
2408
+ {GRISU_UINT64_C(0xaa51823e, 34a7eedf), 302, 110},
2409
+ {GRISU_UINT64_C(0xb8a8d9bb, e123f018), 365, 129},
2410
+ {GRISU_UINT64_C(0xc83553c5, c8965d3d), 428, 148},
2411
+ {GRISU_UINT64_C(0xd910f7ff, 28069da4), 491, 167},
2412
+ {GRISU_UINT64_C(0xeb57ff22, fc0c795a), 554, 186},
2413
+ {GRISU_UINT64_C(0xff290242, c83396ce), 617, 205},
2414
+ {GRISU_UINT64_C(0x8a5296ff, e33cc930), 681, 224},
2415
+ {GRISU_UINT64_C(0x95f83d0a, 1fb69cd9), 744, 243},
2416
+ {GRISU_UINT64_C(0xa298f2c5, 01f45f43), 807, 262},
2417
+ {GRISU_UINT64_C(0xb049dc01, 6abc5e60), 870, 281},
2418
+ {GRISU_UINT64_C(0xbf21e440, 03acdd2d), 933, 300},
2419
+ {GRISU_UINT64_C(0xcf39e50f, eae16bf0), 996, 319},
2420
+ {GRISU_UINT64_C(0xe0accfa8, 75af45a8), 1059, 338},
2421
+ };
2422
+ static const int GRISU_CACHE_MAX_DISTANCE(19) = 64;
2423
+ // nb elements (19): 35
2424
+ static const GRISU_CACHE_STRUCT GRISU_CACHE_NAME(20)[] = {
2425
+ {GRISU_UINT64_C(0xe61acf03, 3d1a45df), -1087, -308},
2426
+ {GRISU_UINT64_C(0x9becce62, 836ac577), -1020, -288},
2427
+ {GRISU_UINT64_C(0xd3515c28, 31559a83), -954, -268},
2428
+ {GRISU_UINT64_C(0x8f31cc09, 37ae58d3), -887, -248},
2429
+ {GRISU_UINT64_C(0xc2109436, 4dfb5637), -821, -228},
2430
+ {GRISU_UINT64_C(0x8380dea9, 3da4bc60), -754, -208},
2431
+ {GRISU_UINT64_C(0xb23867fb, 2a35b28e), -688, -188},
2432
+ {GRISU_UINT64_C(0xf18899b1, bc3f8ca2), -622, -168},
2433
+ {GRISU_UINT64_C(0xa3ab6658, 0d5fdaf6), -555, -148},
2434
+ {GRISU_UINT64_C(0xddd0467c, 64bce4a1), -489, -128},
2435
+ {GRISU_UINT64_C(0x964e858c, 91ba2655), -422, -108},
2436
+ {GRISU_UINT64_C(0xcbb41ef9, 79346bca), -356, -88},
2437
+ {GRISU_UINT64_C(0x8a08f0f8, bf0f156b), -289, -68},
2438
+ {GRISU_UINT64_C(0xbb127c53, b17ec159), -223, -48},
2439
+ {GRISU_UINT64_C(0xfd87b5f2, 8300ca0e), -157, -28},
2440
+ {GRISU_UINT64_C(0xabcc7711, 8461cefd), -90, -8},
2441
+ {GRISU_UINT64_C(0xe8d4a510, 00000000), -24, 12},
2442
+ {GRISU_UINT64_C(0x9dc5ada8, 2b70b59e), 43, 32},
2443
+ {GRISU_UINT64_C(0xd5d238a4, abe98068), 109, 52},
2444
+ {GRISU_UINT64_C(0x90e40fbe, ea1d3a4b), 176, 72},
2445
+ {GRISU_UINT64_C(0xc45d1df9, 42711d9a), 242, 92},
2446
+ {GRISU_UINT64_C(0x850fadc0, 9923329e), 309, 112},
2447
+ {GRISU_UINT64_C(0xb454e4a1, 79dd1877), 375, 132},
2448
+ {GRISU_UINT64_C(0xf46518c2, ef5b8cd1), 441, 152},
2449
+ {GRISU_UINT64_C(0xa59bc234, db398c25), 508, 172},
2450
+ {GRISU_UINT64_C(0xe070f78d, 3927556b), 574, 192},
2451
+ {GRISU_UINT64_C(0x98165af3, 7b2153df), 641, 212},
2452
+ {GRISU_UINT64_C(0xce1de406, 42e3f4b9), 707, 232},
2453
+ {GRISU_UINT64_C(0x8bab8eef, b6409c1a), 774, 252},
2454
+ {GRISU_UINT64_C(0xbd49d14a, a79dbc82), 840, 272},
2455
+ {GRISU_UINT64_C(0x80444b5e, 7aa7cf85), 907, 292},
2456
+ {GRISU_UINT64_C(0xadd57a27, d29339f6), 973, 312},
2457
+ {GRISU_UINT64_C(0xeb96bf6e, badf77d9), 1039, 332},
2458
+ };
2459
+ static const int GRISU_CACHE_MAX_DISTANCE(20) = 67;
2460
+ // nb elements (20): 33
2461
+ static const int GRISU_CACHE_OFFSET = 308;