i64toa_text_amd64.go raw
1 // +build amd64
2 // Code generated by asm2asm, DO NOT EDIT.
3
4 package avx2
5
6 var _text_i64toa = []byte{
7 // .p2align 4, 0x00
8 // LCPI0_0
9 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, // .quad 3518437209
10 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, //0x00000008 .quad 3518437209
11 //0x00000010 LCPI0_3
12 0x0a, 0x00, //0x00000010 .word 10
13 0x0a, 0x00, //0x00000012 .word 10
14 0x0a, 0x00, //0x00000014 .word 10
15 0x0a, 0x00, //0x00000016 .word 10
16 0x0a, 0x00, //0x00000018 .word 10
17 0x0a, 0x00, //0x0000001a .word 10
18 0x0a, 0x00, //0x0000001c .word 10
19 0x0a, 0x00, //0x0000001e .word 10
20 //0x00000020 LCPI0_4
21 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, //0x00000020 QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000'
22 //0x00000030 .p2align 3, 0x00
23 //0x00000030 LCPI0_1
24 0xc5, 0x20, 0x7b, 0x14, 0x34, 0x33, 0x00, 0x80, //0x00000030 .quad -9223315738079846203
25 //0x00000038 LCPI0_2
26 0x80, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, //0x00000038 .quad -9223336852348469120
27 //0x00000040 .p2align 4, 0x90
28 //0x00000040 _i64toa
29 0x55, //0x00000040 pushq %rbp
30 0x48, 0x89, 0xe5, //0x00000041 movq %rsp, %rbp
31 0x48, 0x85, 0xf6, //0x00000044 testq %rsi, %rsi
32 0x0f, 0x88, 0xb2, 0x00, 0x00, 0x00, //0x00000047 js LBB0_25
33 0x48, 0x81, 0xfe, 0x0f, 0x27, 0x00, 0x00, //0x0000004d cmpq $9999, %rsi
34 0x0f, 0x87, 0xfb, 0x00, 0x00, 0x00, //0x00000054 ja LBB0_9
35 0x0f, 0xb7, 0xc6, //0x0000005a movzwl %si, %eax
36 0xc1, 0xe8, 0x02, //0x0000005d shrl $2, %eax
37 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000060 imull $5243, %eax, %eax
38 0xc1, 0xe8, 0x11, //0x00000066 shrl $17, %eax
39 0x48, 0x8d, 0x14, 0x00, //0x00000069 leaq (%rax,%rax), %rdx
40 0x6b, 0xc0, 0x64, //0x0000006d imull $100, %eax, %eax
41 0x89, 0xf1, //0x00000070 movl %esi, %ecx
42 0x29, 0xc1, //0x00000072 subl %eax, %ecx
43 0x0f, 0xb7, 0xc1, //0x00000074 movzwl %cx, %eax
44 0x48, 0x01, 0xc0, //0x00000077 addq %rax, %rax
45 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x0000007a cmpl $1000, %esi
46 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00000080 jb LBB0_4
47 0x48, 0x8d, 0x0d, 0x93, 0x08, 0x00, 0x00, //0x00000086 leaq $2195(%rip), %rcx /* _Digits+0(%rip) */
48 0x8a, 0x0c, 0x0a, //0x0000008d movb (%rdx,%rcx), %cl
49 0x88, 0x0f, //0x00000090 movb %cl, (%rdi)
50 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000092 movl $1, %ecx
51 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00000097 jmp LBB0_5
52 //0x0000009c LBB0_4
53 0x31, 0xc9, //0x0000009c xorl %ecx, %ecx
54 0x83, 0xfe, 0x64, //0x0000009e cmpl $100, %esi
55 0x0f, 0x82, 0x48, 0x00, 0x00, 0x00, //0x000000a1 jb LBB0_6
56 //0x000000a7 LBB0_5
57 0x0f, 0xb7, 0xd2, //0x000000a7 movzwl %dx, %edx
58 0x48, 0x83, 0xca, 0x01, //0x000000aa orq $1, %rdx
59 0x48, 0x8d, 0x35, 0x6b, 0x08, 0x00, 0x00, //0x000000ae leaq $2155(%rip), %rsi /* _Digits+0(%rip) */
60 0x8a, 0x14, 0x32, //0x000000b5 movb (%rdx,%rsi), %dl
61 0x89, 0xce, //0x000000b8 movl %ecx, %esi
62 0x83, 0xc1, 0x01, //0x000000ba addl $1, %ecx
63 0x88, 0x14, 0x37, //0x000000bd movb %dl, (%rdi,%rsi)
64 //0x000000c0 LBB0_7
65 0x48, 0x8d, 0x15, 0x59, 0x08, 0x00, 0x00, //0x000000c0 leaq $2137(%rip), %rdx /* _Digits+0(%rip) */
66 0x8a, 0x14, 0x10, //0x000000c7 movb (%rax,%rdx), %dl
67 0x89, 0xce, //0x000000ca movl %ecx, %esi
68 0x83, 0xc1, 0x01, //0x000000cc addl $1, %ecx
69 0x88, 0x14, 0x37, //0x000000cf movb %dl, (%rdi,%rsi)
70 //0x000000d2 LBB0_8
71 0x0f, 0xb7, 0xc0, //0x000000d2 movzwl %ax, %eax
72 0x48, 0x83, 0xc8, 0x01, //0x000000d5 orq $1, %rax
73 0x48, 0x8d, 0x15, 0x40, 0x08, 0x00, 0x00, //0x000000d9 leaq $2112(%rip), %rdx /* _Digits+0(%rip) */
74 0x8a, 0x04, 0x10, //0x000000e0 movb (%rax,%rdx), %al
75 0x89, 0xca, //0x000000e3 movl %ecx, %edx
76 0x83, 0xc1, 0x01, //0x000000e5 addl $1, %ecx
77 0x88, 0x04, 0x17, //0x000000e8 movb %al, (%rdi,%rdx)
78 0x89, 0xc8, //0x000000eb movl %ecx, %eax
79 0x5d, //0x000000ed popq %rbp
80 0xc3, //0x000000ee retq
81 //0x000000ef LBB0_6
82 0x31, 0xc9, //0x000000ef xorl %ecx, %ecx
83 0x83, 0xfe, 0x0a, //0x000000f1 cmpl $10, %esi
84 0x0f, 0x83, 0xc6, 0xff, 0xff, 0xff, //0x000000f4 jae LBB0_7
85 0xe9, 0xd3, 0xff, 0xff, 0xff, //0x000000fa jmp LBB0_8
86 //0x000000ff LBB0_25
87 0xc6, 0x07, 0x2d, //0x000000ff movb $45, (%rdi)
88 0x48, 0xf7, 0xde, //0x00000102 negq %rsi
89 0x48, 0x81, 0xfe, 0x0f, 0x27, 0x00, 0x00, //0x00000105 cmpq $9999, %rsi
90 0x0f, 0x87, 0xd9, 0x01, 0x00, 0x00, //0x0000010c ja LBB0_33
91 0x0f, 0xb7, 0xc6, //0x00000112 movzwl %si, %eax
92 0xc1, 0xe8, 0x02, //0x00000115 shrl $2, %eax
93 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000118 imull $5243, %eax, %eax
94 0xc1, 0xe8, 0x11, //0x0000011e shrl $17, %eax
95 0x48, 0x8d, 0x14, 0x00, //0x00000121 leaq (%rax,%rax), %rdx
96 0x6b, 0xc0, 0x64, //0x00000125 imull $100, %eax, %eax
97 0x89, 0xf1, //0x00000128 movl %esi, %ecx
98 0x29, 0xc1, //0x0000012a subl %eax, %ecx
99 0x0f, 0xb7, 0xc1, //0x0000012c movzwl %cx, %eax
100 0x48, 0x01, 0xc0, //0x0000012f addq %rax, %rax
101 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x00000132 cmpl $1000, %esi
102 0x0f, 0x82, 0xab, 0x00, 0x00, 0x00, //0x00000138 jb LBB0_28
103 0x48, 0x8d, 0x0d, 0xdb, 0x07, 0x00, 0x00, //0x0000013e leaq $2011(%rip), %rcx /* _Digits+0(%rip) */
104 0x8a, 0x0c, 0x0a, //0x00000145 movb (%rdx,%rcx), %cl
105 0x88, 0x4f, 0x01, //0x00000148 movb %cl, $1(%rdi)
106 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000014b movl $1, %ecx
107 0xe9, 0x9f, 0x00, 0x00, 0x00, //0x00000150 jmp LBB0_29
108 //0x00000155 LBB0_9
109 0x48, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x00000155 cmpq $99999999, %rsi
110 0x0f, 0x87, 0x1e, 0x02, 0x00, 0x00, //0x0000015c ja LBB0_17
111 0x89, 0xf0, //0x00000162 movl %esi, %eax
112 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x00000164 movl $3518437209, %edx
113 0x48, 0x0f, 0xaf, 0xd0, //0x00000169 imulq %rax, %rdx
114 0x48, 0xc1, 0xea, 0x2d, //0x0000016d shrq $45, %rdx
115 0x44, 0x69, 0xc2, 0x10, 0x27, 0x00, 0x00, //0x00000171 imull $10000, %edx, %r8d
116 0x89, 0xf1, //0x00000178 movl %esi, %ecx
117 0x44, 0x29, 0xc1, //0x0000017a subl %r8d, %ecx
118 0x4c, 0x69, 0xd0, 0x83, 0xde, 0x1b, 0x43, //0x0000017d imulq $1125899907, %rax, %r10
119 0x49, 0xc1, 0xea, 0x31, //0x00000184 shrq $49, %r10
120 0x41, 0x83, 0xe2, 0xfe, //0x00000188 andl $-2, %r10d
121 0x0f, 0xb7, 0xc2, //0x0000018c movzwl %dx, %eax
122 0xc1, 0xe8, 0x02, //0x0000018f shrl $2, %eax
123 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000192 imull $5243, %eax, %eax
124 0xc1, 0xe8, 0x11, //0x00000198 shrl $17, %eax
125 0x6b, 0xc0, 0x64, //0x0000019b imull $100, %eax, %eax
126 0x29, 0xc2, //0x0000019e subl %eax, %edx
127 0x44, 0x0f, 0xb7, 0xca, //0x000001a0 movzwl %dx, %r9d
128 0x4d, 0x01, 0xc9, //0x000001a4 addq %r9, %r9
129 0x0f, 0xb7, 0xc1, //0x000001a7 movzwl %cx, %eax
130 0xc1, 0xe8, 0x02, //0x000001aa shrl $2, %eax
131 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000001ad imull $5243, %eax, %eax
132 0xc1, 0xe8, 0x11, //0x000001b3 shrl $17, %eax
133 0x4c, 0x8d, 0x04, 0x00, //0x000001b6 leaq (%rax,%rax), %r8
134 0x6b, 0xc0, 0x64, //0x000001ba imull $100, %eax, %eax
135 0x29, 0xc1, //0x000001bd subl %eax, %ecx
136 0x44, 0x0f, 0xb7, 0xd9, //0x000001bf movzwl %cx, %r11d
137 0x4d, 0x01, 0xdb, //0x000001c3 addq %r11, %r11
138 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x000001c6 cmpl $10000000, %esi
139 0x0f, 0x82, 0x70, 0x00, 0x00, 0x00, //0x000001cc jb LBB0_12
140 0x48, 0x8d, 0x05, 0x47, 0x07, 0x00, 0x00, //0x000001d2 leaq $1863(%rip), %rax /* _Digits+0(%rip) */
141 0x41, 0x8a, 0x04, 0x02, //0x000001d9 movb (%r10,%rax), %al
142 0x88, 0x07, //0x000001dd movb %al, (%rdi)
143 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000001df movl $1, %ecx
144 0xe9, 0x67, 0x00, 0x00, 0x00, //0x000001e4 jmp LBB0_13
145 //0x000001e9 LBB0_28
146 0x31, 0xc9, //0x000001e9 xorl %ecx, %ecx
147 0x83, 0xfe, 0x64, //0x000001eb cmpl $100, %esi
148 0x0f, 0x82, 0xd4, 0x00, 0x00, 0x00, //0x000001ee jb LBB0_30
149 //0x000001f4 LBB0_29
150 0x0f, 0xb7, 0xd2, //0x000001f4 movzwl %dx, %edx
151 0x48, 0x83, 0xca, 0x01, //0x000001f7 orq $1, %rdx
152 0x48, 0x8d, 0x35, 0x1e, 0x07, 0x00, 0x00, //0x000001fb leaq $1822(%rip), %rsi /* _Digits+0(%rip) */
153 0x8a, 0x14, 0x32, //0x00000202 movb (%rdx,%rsi), %dl
154 0x89, 0xce, //0x00000205 movl %ecx, %esi
155 0x83, 0xc1, 0x01, //0x00000207 addl $1, %ecx
156 0x88, 0x54, 0x37, 0x01, //0x0000020a movb %dl, $1(%rdi,%rsi)
157 //0x0000020e LBB0_31
158 0x48, 0x8d, 0x15, 0x0b, 0x07, 0x00, 0x00, //0x0000020e leaq $1803(%rip), %rdx /* _Digits+0(%rip) */
159 0x8a, 0x14, 0x10, //0x00000215 movb (%rax,%rdx), %dl
160 0x89, 0xce, //0x00000218 movl %ecx, %esi
161 0x83, 0xc1, 0x01, //0x0000021a addl $1, %ecx
162 0x88, 0x54, 0x37, 0x01, //0x0000021d movb %dl, $1(%rdi,%rsi)
163 //0x00000221 LBB0_32
164 0x0f, 0xb7, 0xc0, //0x00000221 movzwl %ax, %eax
165 0x48, 0x83, 0xc8, 0x01, //0x00000224 orq $1, %rax
166 0x48, 0x8d, 0x15, 0xf1, 0x06, 0x00, 0x00, //0x00000228 leaq $1777(%rip), %rdx /* _Digits+0(%rip) */
167 0x8a, 0x04, 0x10, //0x0000022f movb (%rax,%rdx), %al
168 0x89, 0xca, //0x00000232 movl %ecx, %edx
169 0x83, 0xc1, 0x01, //0x00000234 addl $1, %ecx
170 0x88, 0x44, 0x17, 0x01, //0x00000237 movb %al, $1(%rdi,%rdx)
171 0x83, 0xc1, 0x01, //0x0000023b addl $1, %ecx
172 0x89, 0xc8, //0x0000023e movl %ecx, %eax
173 0x5d, //0x00000240 popq %rbp
174 0xc3, //0x00000241 retq
175 //0x00000242 LBB0_12
176 0x31, 0xc9, //0x00000242 xorl %ecx, %ecx
177 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x00000244 cmpl $1000000, %esi
178 0x0f, 0x82, 0x88, 0x00, 0x00, 0x00, //0x0000024a jb LBB0_14
179 //0x00000250 LBB0_13
180 0x44, 0x89, 0xd0, //0x00000250 movl %r10d, %eax
181 0x48, 0x83, 0xc8, 0x01, //0x00000253 orq $1, %rax
182 0x48, 0x8d, 0x35, 0xc2, 0x06, 0x00, 0x00, //0x00000257 leaq $1730(%rip), %rsi /* _Digits+0(%rip) */
183 0x8a, 0x04, 0x30, //0x0000025e movb (%rax,%rsi), %al
184 0x89, 0xce, //0x00000261 movl %ecx, %esi
185 0x83, 0xc1, 0x01, //0x00000263 addl $1, %ecx
186 0x88, 0x04, 0x37, //0x00000266 movb %al, (%rdi,%rsi)
187 //0x00000269 LBB0_15
188 0x48, 0x8d, 0x05, 0xb0, 0x06, 0x00, 0x00, //0x00000269 leaq $1712(%rip), %rax /* _Digits+0(%rip) */
189 0x41, 0x8a, 0x04, 0x01, //0x00000270 movb (%r9,%rax), %al
190 0x89, 0xce, //0x00000274 movl %ecx, %esi
191 0x83, 0xc1, 0x01, //0x00000276 addl $1, %ecx
192 0x88, 0x04, 0x37, //0x00000279 movb %al, (%rdi,%rsi)
193 //0x0000027c LBB0_16
194 0x41, 0x0f, 0xb7, 0xc1, //0x0000027c movzwl %r9w, %eax
195 0x48, 0x83, 0xc8, 0x01, //0x00000280 orq $1, %rax
196 0x48, 0x8d, 0x35, 0x95, 0x06, 0x00, 0x00, //0x00000284 leaq $1685(%rip), %rsi /* _Digits+0(%rip) */
197 0x8a, 0x04, 0x30, //0x0000028b movb (%rax,%rsi), %al
198 0x89, 0xca, //0x0000028e movl %ecx, %edx
199 0x88, 0x04, 0x17, //0x00000290 movb %al, (%rdi,%rdx)
200 0x41, 0x8a, 0x04, 0x30, //0x00000293 movb (%r8,%rsi), %al
201 0x88, 0x44, 0x17, 0x01, //0x00000297 movb %al, $1(%rdi,%rdx)
202 0x41, 0x0f, 0xb7, 0xc0, //0x0000029b movzwl %r8w, %eax
203 0x48, 0x83, 0xc8, 0x01, //0x0000029f orq $1, %rax
204 0x8a, 0x04, 0x30, //0x000002a3 movb (%rax,%rsi), %al
205 0x88, 0x44, 0x17, 0x02, //0x000002a6 movb %al, $2(%rdi,%rdx)
206 0x41, 0x8a, 0x04, 0x33, //0x000002aa movb (%r11,%rsi), %al
207 0x88, 0x44, 0x17, 0x03, //0x000002ae movb %al, $3(%rdi,%rdx)
208 0x41, 0x0f, 0xb7, 0xc3, //0x000002b2 movzwl %r11w, %eax
209 0x48, 0x83, 0xc8, 0x01, //0x000002b6 orq $1, %rax
210 0x8a, 0x04, 0x30, //0x000002ba movb (%rax,%rsi), %al
211 0x83, 0xc1, 0x05, //0x000002bd addl $5, %ecx
212 0x88, 0x44, 0x17, 0x04, //0x000002c0 movb %al, $4(%rdi,%rdx)
213 0x89, 0xc8, //0x000002c4 movl %ecx, %eax
214 0x5d, //0x000002c6 popq %rbp
215 0xc3, //0x000002c7 retq
216 //0x000002c8 LBB0_30
217 0x31, 0xc9, //0x000002c8 xorl %ecx, %ecx
218 0x83, 0xfe, 0x0a, //0x000002ca cmpl $10, %esi
219 0x0f, 0x83, 0x3b, 0xff, 0xff, 0xff, //0x000002cd jae LBB0_31
220 0xe9, 0x49, 0xff, 0xff, 0xff, //0x000002d3 jmp LBB0_32
221 //0x000002d8 LBB0_14
222 0x31, 0xc9, //0x000002d8 xorl %ecx, %ecx
223 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x000002da cmpl $100000, %esi
224 0x0f, 0x83, 0x83, 0xff, 0xff, 0xff, //0x000002e0 jae LBB0_15
225 0xe9, 0x91, 0xff, 0xff, 0xff, //0x000002e6 jmp LBB0_16
226 //0x000002eb LBB0_33
227 0x48, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x000002eb cmpq $99999999, %rsi
228 0x0f, 0x87, 0x3e, 0x02, 0x00, 0x00, //0x000002f2 ja LBB0_41
229 0x89, 0xf0, //0x000002f8 movl %esi, %eax
230 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x000002fa movl $3518437209, %edx
231 0x48, 0x0f, 0xaf, 0xd0, //0x000002ff imulq %rax, %rdx
232 0x48, 0xc1, 0xea, 0x2d, //0x00000303 shrq $45, %rdx
233 0x44, 0x69, 0xc2, 0x10, 0x27, 0x00, 0x00, //0x00000307 imull $10000, %edx, %r8d
234 0x89, 0xf1, //0x0000030e movl %esi, %ecx
235 0x44, 0x29, 0xc1, //0x00000310 subl %r8d, %ecx
236 0x4c, 0x69, 0xd0, 0x83, 0xde, 0x1b, 0x43, //0x00000313 imulq $1125899907, %rax, %r10
237 0x49, 0xc1, 0xea, 0x31, //0x0000031a shrq $49, %r10
238 0x41, 0x83, 0xe2, 0xfe, //0x0000031e andl $-2, %r10d
239 0x0f, 0xb7, 0xc2, //0x00000322 movzwl %dx, %eax
240 0xc1, 0xe8, 0x02, //0x00000325 shrl $2, %eax
241 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000328 imull $5243, %eax, %eax
242 0xc1, 0xe8, 0x11, //0x0000032e shrl $17, %eax
243 0x6b, 0xc0, 0x64, //0x00000331 imull $100, %eax, %eax
244 0x29, 0xc2, //0x00000334 subl %eax, %edx
245 0x44, 0x0f, 0xb7, 0xca, //0x00000336 movzwl %dx, %r9d
246 0x4d, 0x01, 0xc9, //0x0000033a addq %r9, %r9
247 0x0f, 0xb7, 0xc1, //0x0000033d movzwl %cx, %eax
248 0xc1, 0xe8, 0x02, //0x00000340 shrl $2, %eax
249 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000343 imull $5243, %eax, %eax
250 0xc1, 0xe8, 0x11, //0x00000349 shrl $17, %eax
251 0x4c, 0x8d, 0x04, 0x00, //0x0000034c leaq (%rax,%rax), %r8
252 0x6b, 0xc0, 0x64, //0x00000350 imull $100, %eax, %eax
253 0x29, 0xc1, //0x00000353 subl %eax, %ecx
254 0x44, 0x0f, 0xb7, 0xd9, //0x00000355 movzwl %cx, %r11d
255 0x4d, 0x01, 0xdb, //0x00000359 addq %r11, %r11
256 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x0000035c cmpl $10000000, %esi
257 0x0f, 0x82, 0x2f, 0x01, 0x00, 0x00, //0x00000362 jb LBB0_36
258 0x48, 0x8d, 0x05, 0xb1, 0x05, 0x00, 0x00, //0x00000368 leaq $1457(%rip), %rax /* _Digits+0(%rip) */
259 0x41, 0x8a, 0x04, 0x02, //0x0000036f movb (%r10,%rax), %al
260 0x88, 0x47, 0x01, //0x00000373 movb %al, $1(%rdi)
261 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000376 movl $1, %ecx
262 0xe9, 0x25, 0x01, 0x00, 0x00, //0x0000037b jmp LBB0_37
263 //0x00000380 LBB0_17
264 0x48, 0xb9, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x00000380 movabsq $10000000000000000, %rcx
265 0x48, 0x39, 0xce, //0x0000038a cmpq %rcx, %rsi
266 0x0f, 0x83, 0xbe, 0x02, 0x00, 0x00, //0x0000038d jae LBB0_19
267 0x48, 0xb9, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000393 movabsq $-6067343680855748867, %rcx
268 0x48, 0x89, 0xf0, //0x0000039d movq %rsi, %rax
269 0x48, 0xf7, 0xe1, //0x000003a0 mulq %rcx
270 0x48, 0xc1, 0xea, 0x1a, //0x000003a3 shrq $26, %rdx
271 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x000003a7 imull $100000000, %edx, %eax
272 0x29, 0xc6, //0x000003ad subl %eax, %esi
273 0xc5, 0xf9, 0x6e, 0xc2, //0x000003af vmovd %edx, %xmm0
274 0xc5, 0xfa, 0x6f, 0x0d, 0x45, 0xfc, 0xff, 0xff, //0x000003b3 vmovdqu $-955(%rip), %xmm1 /* LCPI0_0+0(%rip) */
275 0xc5, 0xf9, 0xf4, 0xd1, //0x000003bb vpmuludq %xmm1, %xmm0, %xmm2
276 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x000003bf vpsrlq $45, %xmm2, %xmm2
277 0xb8, 0x10, 0x27, 0x00, 0x00, //0x000003c4 movl $10000, %eax
278 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x000003c9 vmovq %rax, %xmm3
279 0xc5, 0xe9, 0xf4, 0xe3, //0x000003ce vpmuludq %xmm3, %xmm2, %xmm4
280 0xc5, 0xf9, 0xfa, 0xc4, //0x000003d2 vpsubd %xmm4, %xmm0, %xmm0
281 0xc5, 0xe9, 0x61, 0xc0, //0x000003d6 vpunpcklwd %xmm0, %xmm2, %xmm0
282 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x000003da vpsllq $2, %xmm0, %xmm0
283 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x000003df vpshuflw $80, %xmm0, %xmm0
284 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x000003e4 vpshufd $80, %xmm0, %xmm0
285 0xc4, 0xe2, 0x79, 0x59, 0x15, 0x3e, 0xfc, 0xff, 0xff, //0x000003e9 vpbroadcastq $-962(%rip), %xmm2 /* LCPI0_1+0(%rip) */
286 0xc4, 0xe2, 0x79, 0x59, 0x25, 0x3d, 0xfc, 0xff, 0xff, //0x000003f2 vpbroadcastq $-963(%rip), %xmm4 /* LCPI0_2+0(%rip) */
287 0xc5, 0xf9, 0xe4, 0xc2, //0x000003fb vpmulhuw %xmm2, %xmm0, %xmm0
288 0xc5, 0xf9, 0xe4, 0xc4, //0x000003ff vpmulhuw %xmm4, %xmm0, %xmm0
289 0xc5, 0xfa, 0x6f, 0x2d, 0x05, 0xfc, 0xff, 0xff, //0x00000403 vmovdqu $-1019(%rip), %xmm5 /* LCPI0_3+0(%rip) */
290 0xc5, 0xf9, 0xd5, 0xf5, //0x0000040b vpmullw %xmm5, %xmm0, %xmm6
291 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x0000040f vpsllq $16, %xmm6, %xmm6
292 0xc5, 0xf9, 0xf9, 0xc6, //0x00000414 vpsubw %xmm6, %xmm0, %xmm0
293 0xc5, 0xf9, 0x6e, 0xf6, //0x00000418 vmovd %esi, %xmm6
294 0xc5, 0xc9, 0xf4, 0xc9, //0x0000041c vpmuludq %xmm1, %xmm6, %xmm1
295 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x00000420 vpsrlq $45, %xmm1, %xmm1
296 0xc5, 0xf1, 0xf4, 0xdb, //0x00000425 vpmuludq %xmm3, %xmm1, %xmm3
297 0xc5, 0xc9, 0xfa, 0xdb, //0x00000429 vpsubd %xmm3, %xmm6, %xmm3
298 0xc5, 0xf1, 0x61, 0xcb, //0x0000042d vpunpcklwd %xmm3, %xmm1, %xmm1
299 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x00000431 vpsllq $2, %xmm1, %xmm1
300 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x00000436 vpshuflw $80, %xmm1, %xmm1
301 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x0000043b vpshufd $80, %xmm1, %xmm1
302 0xc5, 0xf1, 0xe4, 0xca, //0x00000440 vpmulhuw %xmm2, %xmm1, %xmm1
303 0xc5, 0xf1, 0xe4, 0xcc, //0x00000444 vpmulhuw %xmm4, %xmm1, %xmm1
304 0xc5, 0xf1, 0xd5, 0xd5, //0x00000448 vpmullw %xmm5, %xmm1, %xmm2
305 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x0000044c vpsllq $16, %xmm2, %xmm2
306 0xc5, 0xf1, 0xf9, 0xca, //0x00000451 vpsubw %xmm2, %xmm1, %xmm1
307 0xc5, 0xf9, 0x67, 0xc1, //0x00000455 vpackuswb %xmm1, %xmm0, %xmm0
308 0xc5, 0xf9, 0xfc, 0x0d, 0xbf, 0xfb, 0xff, 0xff, //0x00000459 vpaddb $-1089(%rip), %xmm0, %xmm1 /* LCPI0_4+0(%rip) */
309 0xc5, 0xe9, 0xef, 0xd2, //0x00000461 vpxor %xmm2, %xmm2, %xmm2
310 0xc5, 0xf9, 0x74, 0xc2, //0x00000465 vpcmpeqb %xmm2, %xmm0, %xmm0
311 0xc5, 0xf9, 0xd7, 0xc0, //0x00000469 vpmovmskb %xmm0, %eax
312 0xf7, 0xd0, //0x0000046d notl %eax
313 0x0d, 0x00, 0x80, 0x00, 0x00, //0x0000046f orl $32768, %eax
314 0x0f, 0xbc, 0xc0, //0x00000474 bsfl %eax, %eax
315 0xb9, 0x10, 0x00, 0x00, 0x00, //0x00000477 movl $16, %ecx
316 0x29, 0xc1, //0x0000047c subl %eax, %ecx
317 0x48, 0xc1, 0xe0, 0x04, //0x0000047e shlq $4, %rax
318 0x48, 0x8d, 0x15, 0x67, 0x05, 0x00, 0x00, //0x00000482 leaq $1383(%rip), %rdx /* _VecShiftShuffles+0(%rip) */
319 0xc4, 0xe2, 0x71, 0x00, 0x04, 0x10, //0x00000489 vpshufb (%rax,%rdx), %xmm1, %xmm0
320 0xc5, 0xfa, 0x7f, 0x07, //0x0000048f vmovdqu %xmm0, (%rdi)
321 0x89, 0xc8, //0x00000493 movl %ecx, %eax
322 0x5d, //0x00000495 popq %rbp
323 0xc3, //0x00000496 retq
324 //0x00000497 LBB0_36
325 0x31, 0xc9, //0x00000497 xorl %ecx, %ecx
326 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x00000499 cmpl $1000000, %esi
327 0x0f, 0x82, 0x7e, 0x00, 0x00, 0x00, //0x0000049f jb LBB0_38
328 //0x000004a5 LBB0_37
329 0x44, 0x89, 0xd0, //0x000004a5 movl %r10d, %eax
330 0x48, 0x83, 0xc8, 0x01, //0x000004a8 orq $1, %rax
331 0x48, 0x8d, 0x35, 0x6d, 0x04, 0x00, 0x00, //0x000004ac leaq $1133(%rip), %rsi /* _Digits+0(%rip) */
332 0x8a, 0x04, 0x30, //0x000004b3 movb (%rax,%rsi), %al
333 0x89, 0xce, //0x000004b6 movl %ecx, %esi
334 0x83, 0xc1, 0x01, //0x000004b8 addl $1, %ecx
335 0x88, 0x44, 0x37, 0x01, //0x000004bb movb %al, $1(%rdi,%rsi)
336 //0x000004bf LBB0_39
337 0x48, 0x8d, 0x05, 0x5a, 0x04, 0x00, 0x00, //0x000004bf leaq $1114(%rip), %rax /* _Digits+0(%rip) */
338 0x41, 0x8a, 0x04, 0x01, //0x000004c6 movb (%r9,%rax), %al
339 0x89, 0xce, //0x000004ca movl %ecx, %esi
340 0x83, 0xc1, 0x01, //0x000004cc addl $1, %ecx
341 0x88, 0x44, 0x37, 0x01, //0x000004cf movb %al, $1(%rdi,%rsi)
342 //0x000004d3 LBB0_40
343 0x41, 0x0f, 0xb7, 0xc1, //0x000004d3 movzwl %r9w, %eax
344 0x48, 0x83, 0xc8, 0x01, //0x000004d7 orq $1, %rax
345 0x48, 0x8d, 0x35, 0x3e, 0x04, 0x00, 0x00, //0x000004db leaq $1086(%rip), %rsi /* _Digits+0(%rip) */
346 0x8a, 0x04, 0x30, //0x000004e2 movb (%rax,%rsi), %al
347 0x89, 0xca, //0x000004e5 movl %ecx, %edx
348 0x88, 0x44, 0x17, 0x01, //0x000004e7 movb %al, $1(%rdi,%rdx)
349 0x41, 0x8a, 0x04, 0x30, //0x000004eb movb (%r8,%rsi), %al
350 0x88, 0x44, 0x17, 0x02, //0x000004ef movb %al, $2(%rdi,%rdx)
351 0x41, 0x0f, 0xb7, 0xc0, //0x000004f3 movzwl %r8w, %eax
352 0x48, 0x83, 0xc8, 0x01, //0x000004f7 orq $1, %rax
353 0x8a, 0x04, 0x30, //0x000004fb movb (%rax,%rsi), %al
354 0x88, 0x44, 0x17, 0x03, //0x000004fe movb %al, $3(%rdi,%rdx)
355 0x41, 0x8a, 0x04, 0x33, //0x00000502 movb (%r11,%rsi), %al
356 0x88, 0x44, 0x17, 0x04, //0x00000506 movb %al, $4(%rdi,%rdx)
357 0x41, 0x0f, 0xb7, 0xc3, //0x0000050a movzwl %r11w, %eax
358 0x48, 0x83, 0xc8, 0x01, //0x0000050e orq $1, %rax
359 0x8a, 0x04, 0x30, //0x00000512 movb (%rax,%rsi), %al
360 0x83, 0xc1, 0x05, //0x00000515 addl $5, %ecx
361 0x88, 0x44, 0x17, 0x05, //0x00000518 movb %al, $5(%rdi,%rdx)
362 0x83, 0xc1, 0x01, //0x0000051c addl $1, %ecx
363 0x89, 0xc8, //0x0000051f movl %ecx, %eax
364 0x5d, //0x00000521 popq %rbp
365 0xc3, //0x00000522 retq
366 //0x00000523 LBB0_38
367 0x31, 0xc9, //0x00000523 xorl %ecx, %ecx
368 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x00000525 cmpl $100000, %esi
369 0x0f, 0x83, 0x8e, 0xff, 0xff, 0xff, //0x0000052b jae LBB0_39
370 0xe9, 0x9d, 0xff, 0xff, 0xff, //0x00000531 jmp LBB0_40
371 //0x00000536 LBB0_41
372 0x48, 0xb9, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x00000536 movabsq $10000000000000000, %rcx
373 0x48, 0x39, 0xce, //0x00000540 cmpq %rcx, %rsi
374 0x0f, 0x83, 0x69, 0x02, 0x00, 0x00, //0x00000543 jae LBB0_43
375 0x48, 0xb9, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000549 movabsq $-6067343680855748867, %rcx
376 0x48, 0x89, 0xf0, //0x00000553 movq %rsi, %rax
377 0x48, 0xf7, 0xe1, //0x00000556 mulq %rcx
378 0x48, 0xc1, 0xea, 0x1a, //0x00000559 shrq $26, %rdx
379 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x0000055d imull $100000000, %edx, %eax
380 0x29, 0xc6, //0x00000563 subl %eax, %esi
381 0xc5, 0xf9, 0x6e, 0xc2, //0x00000565 vmovd %edx, %xmm0
382 0xc5, 0xfa, 0x6f, 0x0d, 0x8f, 0xfa, 0xff, 0xff, //0x00000569 vmovdqu $-1393(%rip), %xmm1 /* LCPI0_0+0(%rip) */
383 0xc5, 0xf9, 0xf4, 0xd1, //0x00000571 vpmuludq %xmm1, %xmm0, %xmm2
384 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x00000575 vpsrlq $45, %xmm2, %xmm2
385 0xb8, 0x10, 0x27, 0x00, 0x00, //0x0000057a movl $10000, %eax
386 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x0000057f vmovq %rax, %xmm3
387 0xc5, 0xe9, 0xf4, 0xe3, //0x00000584 vpmuludq %xmm3, %xmm2, %xmm4
388 0xc5, 0xf9, 0xfa, 0xc4, //0x00000588 vpsubd %xmm4, %xmm0, %xmm0
389 0xc5, 0xe9, 0x61, 0xc0, //0x0000058c vpunpcklwd %xmm0, %xmm2, %xmm0
390 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x00000590 vpsllq $2, %xmm0, %xmm0
391 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x00000595 vpshuflw $80, %xmm0, %xmm0
392 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x0000059a vpshufd $80, %xmm0, %xmm0
393 0xc4, 0xe2, 0x79, 0x59, 0x15, 0x88, 0xfa, 0xff, 0xff, //0x0000059f vpbroadcastq $-1400(%rip), %xmm2 /* LCPI0_1+0(%rip) */
394 0xc4, 0xe2, 0x79, 0x59, 0x25, 0x87, 0xfa, 0xff, 0xff, //0x000005a8 vpbroadcastq $-1401(%rip), %xmm4 /* LCPI0_2+0(%rip) */
395 0xc5, 0xf9, 0xe4, 0xc2, //0x000005b1 vpmulhuw %xmm2, %xmm0, %xmm0
396 0xc5, 0xf9, 0xe4, 0xc4, //0x000005b5 vpmulhuw %xmm4, %xmm0, %xmm0
397 0xc5, 0xfa, 0x6f, 0x2d, 0x4f, 0xfa, 0xff, 0xff, //0x000005b9 vmovdqu $-1457(%rip), %xmm5 /* LCPI0_3+0(%rip) */
398 0xc5, 0xf9, 0xd5, 0xf5, //0x000005c1 vpmullw %xmm5, %xmm0, %xmm6
399 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x000005c5 vpsllq $16, %xmm6, %xmm6
400 0xc5, 0xf9, 0xf9, 0xc6, //0x000005ca vpsubw %xmm6, %xmm0, %xmm0
401 0xc5, 0xf9, 0x6e, 0xf6, //0x000005ce vmovd %esi, %xmm6
402 0xc5, 0xc9, 0xf4, 0xc9, //0x000005d2 vpmuludq %xmm1, %xmm6, %xmm1
403 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x000005d6 vpsrlq $45, %xmm1, %xmm1
404 0xc5, 0xf1, 0xf4, 0xdb, //0x000005db vpmuludq %xmm3, %xmm1, %xmm3
405 0xc5, 0xc9, 0xfa, 0xdb, //0x000005df vpsubd %xmm3, %xmm6, %xmm3
406 0xc5, 0xf1, 0x61, 0xcb, //0x000005e3 vpunpcklwd %xmm3, %xmm1, %xmm1
407 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x000005e7 vpsllq $2, %xmm1, %xmm1
408 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x000005ec vpshuflw $80, %xmm1, %xmm1
409 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x000005f1 vpshufd $80, %xmm1, %xmm1
410 0xc5, 0xf1, 0xe4, 0xca, //0x000005f6 vpmulhuw %xmm2, %xmm1, %xmm1
411 0xc5, 0xf1, 0xe4, 0xcc, //0x000005fa vpmulhuw %xmm4, %xmm1, %xmm1
412 0xc5, 0xf1, 0xd5, 0xd5, //0x000005fe vpmullw %xmm5, %xmm1, %xmm2
413 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x00000602 vpsllq $16, %xmm2, %xmm2
414 0xc5, 0xf1, 0xf9, 0xca, //0x00000607 vpsubw %xmm2, %xmm1, %xmm1
415 0xc5, 0xf9, 0x67, 0xc1, //0x0000060b vpackuswb %xmm1, %xmm0, %xmm0
416 0xc5, 0xf9, 0xfc, 0x0d, 0x09, 0xfa, 0xff, 0xff, //0x0000060f vpaddb $-1527(%rip), %xmm0, %xmm1 /* LCPI0_4+0(%rip) */
417 0xc5, 0xe9, 0xef, 0xd2, //0x00000617 vpxor %xmm2, %xmm2, %xmm2
418 0xc5, 0xf9, 0x74, 0xc2, //0x0000061b vpcmpeqb %xmm2, %xmm0, %xmm0
419 0xc5, 0xf9, 0xd7, 0xc0, //0x0000061f vpmovmskb %xmm0, %eax
420 0xf7, 0xd0, //0x00000623 notl %eax
421 0x0d, 0x00, 0x80, 0x00, 0x00, //0x00000625 orl $32768, %eax
422 0x0f, 0xbc, 0xc0, //0x0000062a bsfl %eax, %eax
423 0xb9, 0x10, 0x00, 0x00, 0x00, //0x0000062d movl $16, %ecx
424 0x29, 0xc1, //0x00000632 subl %eax, %ecx
425 0x48, 0xc1, 0xe0, 0x04, //0x00000634 shlq $4, %rax
426 0x48, 0x8d, 0x15, 0xb1, 0x03, 0x00, 0x00, //0x00000638 leaq $945(%rip), %rdx /* _VecShiftShuffles+0(%rip) */
427 0xc4, 0xe2, 0x71, 0x00, 0x04, 0x10, //0x0000063f vpshufb (%rax,%rdx), %xmm1, %xmm0
428 0xc5, 0xfa, 0x7f, 0x47, 0x01, //0x00000645 vmovdqu %xmm0, $1(%rdi)
429 0x83, 0xc1, 0x01, //0x0000064a addl $1, %ecx
430 0x89, 0xc8, //0x0000064d movl %ecx, %eax
431 0x5d, //0x0000064f popq %rbp
432 0xc3, //0x00000650 retq
433 //0x00000651 LBB0_19
434 0x48, 0xba, 0x57, 0x78, 0x13, 0xb1, 0x2f, 0x65, 0xa5, 0x39, //0x00000651 movabsq $4153837486827862103, %rdx
435 0x48, 0x89, 0xf0, //0x0000065b movq %rsi, %rax
436 0x48, 0xf7, 0xe2, //0x0000065e mulq %rdx
437 0x48, 0xc1, 0xea, 0x33, //0x00000661 shrq $51, %rdx
438 0x48, 0x0f, 0xaf, 0xca, //0x00000665 imulq %rdx, %rcx
439 0x48, 0x29, 0xce, //0x00000669 subq %rcx, %rsi
440 0x83, 0xfa, 0x09, //0x0000066c cmpl $9, %edx
441 0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x0000066f ja LBB0_21
442 0x80, 0xc2, 0x30, //0x00000675 addb $48, %dl
443 0x88, 0x17, //0x00000678 movb %dl, (%rdi)
444 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000067a movl $1, %ecx
445 0xe9, 0x52, 0x00, 0x00, 0x00, //0x0000067f jmp LBB0_24
446 //0x00000684 LBB0_21
447 0x83, 0xfa, 0x63, //0x00000684 cmpl $99, %edx
448 0x0f, 0x87, 0x1a, 0x00, 0x00, 0x00, //0x00000687 ja LBB0_23
449 0x89, 0xd0, //0x0000068d movl %edx, %eax
450 0x48, 0x8d, 0x0d, 0x8a, 0x02, 0x00, 0x00, //0x0000068f leaq $650(%rip), %rcx /* _Digits+0(%rip) */
451 0x0f, 0xb7, 0x04, 0x41, //0x00000696 movzwl (%rcx,%rax,2), %eax
452 0x66, 0x89, 0x07, //0x0000069a movw %ax, (%rdi)
453 0xb9, 0x02, 0x00, 0x00, 0x00, //0x0000069d movl $2, %ecx
454 0xe9, 0x2f, 0x00, 0x00, 0x00, //0x000006a2 jmp LBB0_24
455 //0x000006a7 LBB0_23
456 0x89, 0xd0, //0x000006a7 movl %edx, %eax
457 0xc1, 0xe8, 0x02, //0x000006a9 shrl $2, %eax
458 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000006ac imull $5243, %eax, %eax
459 0xc1, 0xe8, 0x11, //0x000006b2 shrl $17, %eax
460 0x8d, 0x48, 0x30, //0x000006b5 leal $48(%rax), %ecx
461 0x88, 0x0f, //0x000006b8 movb %cl, (%rdi)
462 0x6b, 0xc0, 0x64, //0x000006ba imull $100, %eax, %eax
463 0x29, 0xc2, //0x000006bd subl %eax, %edx
464 0x0f, 0xb7, 0xc2, //0x000006bf movzwl %dx, %eax
465 0x48, 0x8d, 0x0d, 0x57, 0x02, 0x00, 0x00, //0x000006c2 leaq $599(%rip), %rcx /* _Digits+0(%rip) */
466 0x0f, 0xb7, 0x04, 0x41, //0x000006c9 movzwl (%rcx,%rax,2), %eax
467 0x66, 0x89, 0x47, 0x01, //0x000006cd movw %ax, $1(%rdi)
468 0xb9, 0x03, 0x00, 0x00, 0x00, //0x000006d1 movl $3, %ecx
469 //0x000006d6 LBB0_24
470 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x000006d6 movabsq $-6067343680855748867, %rdx
471 0x48, 0x89, 0xf0, //0x000006e0 movq %rsi, %rax
472 0x48, 0xf7, 0xe2, //0x000006e3 mulq %rdx
473 0x48, 0xc1, 0xea, 0x1a, //0x000006e6 shrq $26, %rdx
474 0xc5, 0xf9, 0x6e, 0xc2, //0x000006ea vmovd %edx, %xmm0
475 0xc5, 0xfa, 0x6f, 0x0d, 0x0a, 0xf9, 0xff, 0xff, //0x000006ee vmovdqu $-1782(%rip), %xmm1 /* LCPI0_0+0(%rip) */
476 0xc5, 0xf9, 0xf4, 0xd1, //0x000006f6 vpmuludq %xmm1, %xmm0, %xmm2
477 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x000006fa vpsrlq $45, %xmm2, %xmm2
478 0xb8, 0x10, 0x27, 0x00, 0x00, //0x000006ff movl $10000, %eax
479 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x00000704 vmovq %rax, %xmm3
480 0xc5, 0xe9, 0xf4, 0xe3, //0x00000709 vpmuludq %xmm3, %xmm2, %xmm4
481 0xc5, 0xf9, 0xfa, 0xc4, //0x0000070d vpsubd %xmm4, %xmm0, %xmm0
482 0xc5, 0xe9, 0x61, 0xc0, //0x00000711 vpunpcklwd %xmm0, %xmm2, %xmm0
483 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x00000715 vpsllq $2, %xmm0, %xmm0
484 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x0000071a vpshuflw $80, %xmm0, %xmm0
485 0xc4, 0xe2, 0x79, 0x59, 0x15, 0x08, 0xf9, 0xff, 0xff, //0x0000071f vpbroadcastq $-1784(%rip), %xmm2 /* LCPI0_1+0(%rip) */
486 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x00000728 vpshufd $80, %xmm0, %xmm0
487 0xc5, 0xf9, 0xe4, 0xc2, //0x0000072d vpmulhuw %xmm2, %xmm0, %xmm0
488 0xc4, 0xe2, 0x79, 0x59, 0x25, 0xfe, 0xf8, 0xff, 0xff, //0x00000731 vpbroadcastq $-1794(%rip), %xmm4 /* LCPI0_2+0(%rip) */
489 0xc5, 0xf9, 0xe4, 0xc4, //0x0000073a vpmulhuw %xmm4, %xmm0, %xmm0
490 0xc5, 0xfa, 0x6f, 0x2d, 0xca, 0xf8, 0xff, 0xff, //0x0000073e vmovdqu $-1846(%rip), %xmm5 /* LCPI0_3+0(%rip) */
491 0xc5, 0xf9, 0xd5, 0xf5, //0x00000746 vpmullw %xmm5, %xmm0, %xmm6
492 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x0000074a vpsllq $16, %xmm6, %xmm6
493 0xc5, 0xf9, 0xf9, 0xc6, //0x0000074f vpsubw %xmm6, %xmm0, %xmm0
494 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x00000753 imull $100000000, %edx, %eax
495 0x29, 0xc6, //0x00000759 subl %eax, %esi
496 0xc5, 0xf9, 0x6e, 0xf6, //0x0000075b vmovd %esi, %xmm6
497 0xc5, 0xc9, 0xf4, 0xc9, //0x0000075f vpmuludq %xmm1, %xmm6, %xmm1
498 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x00000763 vpsrlq $45, %xmm1, %xmm1
499 0xc5, 0xf1, 0xf4, 0xdb, //0x00000768 vpmuludq %xmm3, %xmm1, %xmm3
500 0xc5, 0xc9, 0xfa, 0xdb, //0x0000076c vpsubd %xmm3, %xmm6, %xmm3
501 0xc5, 0xf1, 0x61, 0xcb, //0x00000770 vpunpcklwd %xmm3, %xmm1, %xmm1
502 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x00000774 vpsllq $2, %xmm1, %xmm1
503 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x00000779 vpshuflw $80, %xmm1, %xmm1
504 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x0000077e vpshufd $80, %xmm1, %xmm1
505 0xc5, 0xf1, 0xe4, 0xca, //0x00000783 vpmulhuw %xmm2, %xmm1, %xmm1
506 0xc5, 0xf1, 0xe4, 0xcc, //0x00000787 vpmulhuw %xmm4, %xmm1, %xmm1
507 0xc5, 0xf1, 0xd5, 0xd5, //0x0000078b vpmullw %xmm5, %xmm1, %xmm2
508 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x0000078f vpsllq $16, %xmm2, %xmm2
509 0xc5, 0xf1, 0xf9, 0xca, //0x00000794 vpsubw %xmm2, %xmm1, %xmm1
510 0xc5, 0xf9, 0x67, 0xc1, //0x00000798 vpackuswb %xmm1, %xmm0, %xmm0
511 0xc5, 0xf9, 0xfc, 0x05, 0x7c, 0xf8, 0xff, 0xff, //0x0000079c vpaddb $-1924(%rip), %xmm0, %xmm0 /* LCPI0_4+0(%rip) */
512 0x89, 0xc8, //0x000007a4 movl %ecx, %eax
513 0xc5, 0xfa, 0x7f, 0x04, 0x07, //0x000007a6 vmovdqu %xmm0, (%rdi,%rax)
514 0x83, 0xc9, 0x10, //0x000007ab orl $16, %ecx
515 0x89, 0xc8, //0x000007ae movl %ecx, %eax
516 0x5d, //0x000007b0 popq %rbp
517 0xc3, //0x000007b1 retq
518 //0x000007b2 LBB0_43
519 0x48, 0xba, 0x57, 0x78, 0x13, 0xb1, 0x2f, 0x65, 0xa5, 0x39, //0x000007b2 movabsq $4153837486827862103, %rdx
520 0x48, 0x89, 0xf0, //0x000007bc movq %rsi, %rax
521 0x48, 0xf7, 0xe2, //0x000007bf mulq %rdx
522 0x48, 0xc1, 0xea, 0x33, //0x000007c2 shrq $51, %rdx
523 0x48, 0x0f, 0xaf, 0xca, //0x000007c6 imulq %rdx, %rcx
524 0x48, 0x29, 0xce, //0x000007ca subq %rcx, %rsi
525 0x83, 0xfa, 0x09, //0x000007cd cmpl $9, %edx
526 0x0f, 0x87, 0x10, 0x00, 0x00, 0x00, //0x000007d0 ja LBB0_45
527 0x80, 0xc2, 0x30, //0x000007d6 addb $48, %dl
528 0x88, 0x57, 0x01, //0x000007d9 movb %dl, $1(%rdi)
529 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000007dc movl $1, %ecx
530 0xe9, 0x54, 0x00, 0x00, 0x00, //0x000007e1 jmp LBB0_48
531 //0x000007e6 LBB0_45
532 0x83, 0xfa, 0x63, //0x000007e6 cmpl $99, %edx
533 0x0f, 0x87, 0x1b, 0x00, 0x00, 0x00, //0x000007e9 ja LBB0_47
534 0x89, 0xd0, //0x000007ef movl %edx, %eax
535 0x48, 0x8d, 0x0d, 0x28, 0x01, 0x00, 0x00, //0x000007f1 leaq $296(%rip), %rcx /* _Digits+0(%rip) */
536 0x0f, 0xb7, 0x04, 0x41, //0x000007f8 movzwl (%rcx,%rax,2), %eax
537 0x66, 0x89, 0x47, 0x01, //0x000007fc movw %ax, $1(%rdi)
538 0xb9, 0x02, 0x00, 0x00, 0x00, //0x00000800 movl $2, %ecx
539 0xe9, 0x30, 0x00, 0x00, 0x00, //0x00000805 jmp LBB0_48
540 //0x0000080a LBB0_47
541 0x89, 0xd0, //0x0000080a movl %edx, %eax
542 0xc1, 0xe8, 0x02, //0x0000080c shrl $2, %eax
543 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000080f imull $5243, %eax, %eax
544 0xc1, 0xe8, 0x11, //0x00000815 shrl $17, %eax
545 0x8d, 0x48, 0x30, //0x00000818 leal $48(%rax), %ecx
546 0x88, 0x4f, 0x01, //0x0000081b movb %cl, $1(%rdi)
547 0x6b, 0xc0, 0x64, //0x0000081e imull $100, %eax, %eax
548 0x29, 0xc2, //0x00000821 subl %eax, %edx
549 0x0f, 0xb7, 0xc2, //0x00000823 movzwl %dx, %eax
550 0x48, 0x8d, 0x0d, 0xf3, 0x00, 0x00, 0x00, //0x00000826 leaq $243(%rip), %rcx /* _Digits+0(%rip) */
551 0x0f, 0xb7, 0x04, 0x41, //0x0000082d movzwl (%rcx,%rax,2), %eax
552 0x66, 0x89, 0x47, 0x02, //0x00000831 movw %ax, $2(%rdi)
553 0xb9, 0x03, 0x00, 0x00, 0x00, //0x00000835 movl $3, %ecx
554 //0x0000083a LBB0_48
555 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x0000083a movabsq $-6067343680855748867, %rdx
556 0x48, 0x89, 0xf0, //0x00000844 movq %rsi, %rax
557 0x48, 0xf7, 0xe2, //0x00000847 mulq %rdx
558 0x48, 0xc1, 0xea, 0x1a, //0x0000084a shrq $26, %rdx
559 0xc5, 0xf9, 0x6e, 0xc2, //0x0000084e vmovd %edx, %xmm0
560 0xc5, 0xfa, 0x6f, 0x0d, 0xa6, 0xf7, 0xff, 0xff, //0x00000852 vmovdqu $-2138(%rip), %xmm1 /* LCPI0_0+0(%rip) */
561 0xc5, 0xf9, 0xf4, 0xd1, //0x0000085a vpmuludq %xmm1, %xmm0, %xmm2
562 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x0000085e vpsrlq $45, %xmm2, %xmm2
563 0xb8, 0x10, 0x27, 0x00, 0x00, //0x00000863 movl $10000, %eax
564 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x00000868 vmovq %rax, %xmm3
565 0xc5, 0xe9, 0xf4, 0xe3, //0x0000086d vpmuludq %xmm3, %xmm2, %xmm4
566 0xc5, 0xf9, 0xfa, 0xc4, //0x00000871 vpsubd %xmm4, %xmm0, %xmm0
567 0xc5, 0xe9, 0x61, 0xc0, //0x00000875 vpunpcklwd %xmm0, %xmm2, %xmm0
568 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x00000879 vpsllq $2, %xmm0, %xmm0
569 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x0000087e vpshuflw $80, %xmm0, %xmm0
570 0xc4, 0xe2, 0x79, 0x59, 0x15, 0xa4, 0xf7, 0xff, 0xff, //0x00000883 vpbroadcastq $-2140(%rip), %xmm2 /* LCPI0_1+0(%rip) */
571 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x0000088c vpshufd $80, %xmm0, %xmm0
572 0xc5, 0xf9, 0xe4, 0xc2, //0x00000891 vpmulhuw %xmm2, %xmm0, %xmm0
573 0xc4, 0xe2, 0x79, 0x59, 0x25, 0x9a, 0xf7, 0xff, 0xff, //0x00000895 vpbroadcastq $-2150(%rip), %xmm4 /* LCPI0_2+0(%rip) */
574 0xc5, 0xf9, 0xe4, 0xc4, //0x0000089e vpmulhuw %xmm4, %xmm0, %xmm0
575 0xc5, 0xfa, 0x6f, 0x2d, 0x66, 0xf7, 0xff, 0xff, //0x000008a2 vmovdqu $-2202(%rip), %xmm5 /* LCPI0_3+0(%rip) */
576 0xc5, 0xf9, 0xd5, 0xf5, //0x000008aa vpmullw %xmm5, %xmm0, %xmm6
577 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x000008ae vpsllq $16, %xmm6, %xmm6
578 0xc5, 0xf9, 0xf9, 0xc6, //0x000008b3 vpsubw %xmm6, %xmm0, %xmm0
579 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x000008b7 imull $100000000, %edx, %eax
580 0x29, 0xc6, //0x000008bd subl %eax, %esi
581 0xc5, 0xf9, 0x6e, 0xf6, //0x000008bf vmovd %esi, %xmm6
582 0xc5, 0xc9, 0xf4, 0xc9, //0x000008c3 vpmuludq %xmm1, %xmm6, %xmm1
583 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x000008c7 vpsrlq $45, %xmm1, %xmm1
584 0xc5, 0xf1, 0xf4, 0xdb, //0x000008cc vpmuludq %xmm3, %xmm1, %xmm3
585 0xc5, 0xc9, 0xfa, 0xdb, //0x000008d0 vpsubd %xmm3, %xmm6, %xmm3
586 0xc5, 0xf1, 0x61, 0xcb, //0x000008d4 vpunpcklwd %xmm3, %xmm1, %xmm1
587 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x000008d8 vpsllq $2, %xmm1, %xmm1
588 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x000008dd vpshuflw $80, %xmm1, %xmm1
589 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x000008e2 vpshufd $80, %xmm1, %xmm1
590 0xc5, 0xf1, 0xe4, 0xca, //0x000008e7 vpmulhuw %xmm2, %xmm1, %xmm1
591 0xc5, 0xf1, 0xe4, 0xcc, //0x000008eb vpmulhuw %xmm4, %xmm1, %xmm1
592 0xc5, 0xf1, 0xd5, 0xd5, //0x000008ef vpmullw %xmm5, %xmm1, %xmm2
593 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x000008f3 vpsllq $16, %xmm2, %xmm2
594 0xc5, 0xf1, 0xf9, 0xca, //0x000008f8 vpsubw %xmm2, %xmm1, %xmm1
595 0xc5, 0xf9, 0x67, 0xc1, //0x000008fc vpackuswb %xmm1, %xmm0, %xmm0
596 0xc5, 0xf9, 0xfc, 0x05, 0x18, 0xf7, 0xff, 0xff, //0x00000900 vpaddb $-2280(%rip), %xmm0, %xmm0 /* LCPI0_4+0(%rip) */
597 0x89, 0xc8, //0x00000908 movl %ecx, %eax
598 0xc5, 0xfa, 0x7f, 0x44, 0x07, 0x01, //0x0000090a vmovdqu %xmm0, $1(%rdi,%rax)
599 0x83, 0xc9, 0x10, //0x00000910 orl $16, %ecx
600 0x83, 0xc1, 0x01, //0x00000913 addl $1, %ecx
601 0x89, 0xc8, //0x00000916 movl %ecx, %eax
602 0x5d, //0x00000918 popq %rbp
603 0xc3, //0x00000919 retq
604 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000091a .p2align 4, 0x00
605 //0x00000920 _Digits
606 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, //0x00000920 QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607'
607 0x30, 0x38, 0x30, 0x39, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x31, 0x33, 0x31, 0x34, 0x31, 0x35, //0x00000930 QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415'
608 0x31, 0x36, 0x31, 0x37, 0x31, 0x38, 0x31, 0x39, 0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x33, //0x00000940 QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223'
609 0x32, 0x34, 0x32, 0x35, 0x32, 0x36, 0x32, 0x37, 0x32, 0x38, 0x32, 0x39, 0x33, 0x30, 0x33, 0x31, //0x00000950 QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031'
610 0x33, 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x35, 0x33, 0x36, 0x33, 0x37, 0x33, 0x38, 0x33, 0x39, //0x00000960 QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839'
611 0x34, 0x30, 0x34, 0x31, 0x34, 0x32, 0x34, 0x33, 0x34, 0x34, 0x34, 0x35, 0x34, 0x36, 0x34, 0x37, //0x00000970 QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647'
612 0x34, 0x38, 0x34, 0x39, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35, 0x35, //0x00000980 QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455'
613 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x36, 0x30, 0x36, 0x31, 0x36, 0x32, 0x36, 0x33, //0x00000990 QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263'
614 0x36, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x37, 0x36, 0x38, 0x36, 0x39, 0x37, 0x30, 0x37, 0x31, //0x000009a0 QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071'
615 0x37, 0x32, 0x37, 0x33, 0x37, 0x34, 0x37, 0x35, 0x37, 0x36, 0x37, 0x37, 0x37, 0x38, 0x37, 0x39, //0x000009b0 QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879'
616 0x38, 0x30, 0x38, 0x31, 0x38, 0x32, 0x38, 0x33, 0x38, 0x34, 0x38, 0x35, 0x38, 0x36, 0x38, 0x37, //0x000009c0 QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687'
617 0x38, 0x38, 0x38, 0x39, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x39, 0x33, 0x39, 0x34, 0x39, 0x35, //0x000009d0 QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495'
618 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, //0x000009e0 QUAD $0x3939383937393639 // .ascii 8, '96979899'
619 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009e8 .p2align 4, 0x00
620 //0x000009f0 _VecShiftShuffles
621 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, //0x000009f0 QUAD $0x0706050403020100; QUAD $0x0f0e0d0c0b0a0908 // .ascii 16, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'
622 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, //0x00000a00 QUAD $0x0807060504030201; QUAD $0xff0f0e0d0c0b0a09 // .ascii 16, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff'
623 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, //0x00000a10 QUAD $0x0908070605040302; QUAD $0xffff0f0e0d0c0b0a // .ascii 16, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff'
624 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, //0x00000a20 QUAD $0x0a09080706050403; QUAD $0xffffff0f0e0d0c0b // .ascii 16, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff'
625 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, //0x00000a30 QUAD $0x0b0a090807060504; QUAD $0xffffffff0f0e0d0c // .ascii 16, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff'
626 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000a40 QUAD $0x0c0b0a0908070605; QUAD $0xffffffffff0f0e0d // .ascii 16, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff'
627 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000a50 QUAD $0x0d0c0b0a09080706; QUAD $0xffffffffffff0f0e // .ascii 16, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff'
628 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000a60 QUAD $0x0e0d0c0b0a090807; QUAD $0xffffffffffffff0f // .ascii 16, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff'
629 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000a70 QUAD $0x0f0e0d0c0b0a0908; QUAD $0xffffffffffffffff // .ascii 16, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff'
630 }
631
632