clarify the purpose of this project
[nyanglibc.git] / stdlib / strfmon_l.shared.s
blob8d7e423fc2302caca6e4aa7b76ecd19a9b583dc7
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .section .rodata.str1.1,"aMS",@progbits,1
7 .LC0:
8 .string "-"
9 .globl __lttf2
10 #NO_APP
11 .text
12 .p2align 4,,15
13 .globl __vstrfmon_l_internal
14 .hidden __vstrfmon_l_internal
15 .type __vstrfmon_l_internal, @function
16 __vstrfmon_l_internal:
17 pushq %r15
18 pushq %r14
19 movq %rdi, %r11
20 pushq %r13
21 pushq %r12
22 movq %rsi, %r15
23 pushq %rbp
24 pushq %rbx
25 movq %rcx, %r14
26 pxor %xmm2, %xmm2
27 subq $552, %rsp
28 movq 32(%rdx), %r10
29 movq %r8, 72(%rsp)
30 movq %rdx, 64(%rsp)
31 movq %rdi, %r8
32 movl %r9d, 96(%rsp)
33 .L2:
34 movzbl (%r14), %eax
35 testb %al, %al
36 je .L359
37 .L145:
38 cmpb $37, %al
39 je .L3
40 leaq -1(%r11,%r15), %rdx
41 cmpq %rdx, %r8
42 jnb .L21
43 addq $1, %r14
44 movb %al, (%r8)
45 addq $1, %r8
46 movzbl (%r14), %eax
47 testb %al, %al
48 jne .L145
49 .L359:
50 movq %r8, %rax
51 movb $0, (%r8)
52 subq %r11, %rax
53 jmp .L1
54 .p2align 4,,10
55 .p2align 3
56 .L3:
57 movzbl 1(%r14), %eax
58 cmpb $37, %al
59 jne .L171
60 leaq -1(%r11,%r15), %rax
61 cmpq %rax, %r8
62 jnb .L21
63 movb $37, (%r8)
64 addq $2, %r14
65 addq $1, %r8
66 jmp .L2
67 .p2align 4,,10
68 .p2align 3
69 .L171:
70 movl $-2, %ebp
71 cmpb $43, %al
72 movl $0, 28(%rsp)
73 movl %ebp, %r13d
74 movb $32, 149(%rsp)
75 movl $1, (%rsp)
76 movl $1, 24(%rsp)
77 leaq 1(%r14), %rdx
78 je .L12
79 .p2align 4,,10
80 .p2align 3
81 .L367:
82 jle .L360
83 cmpb $61, %al
84 je .L15
85 cmpb $94, %al
86 je .L9
87 cmpb $45, %al
88 je .L361
89 .L11:
90 movsbl %al, %ecx
91 movq $-1, %rbx
92 subl $48, %ecx
93 cmpl $9, %ecx
94 jbe .L362
95 cmpb $35, %al
96 movl $-1, %r9d
97 je .L363
98 .L24:
99 cmpb $46, %al
100 movl $-1, %r12d
101 je .L364
102 .L26:
103 cmpb $76, %al
104 leaq 1(%rdx), %r14
105 movl $0, 100(%rsp)
106 movl $0, 144(%rsp)
107 je .L365
108 cmpb $105, %al
109 je .L30
110 .L369:
111 cmpb $110, %al
112 jne .L330
113 movq 72(%r10), %rax
114 movq %r11, 104(%rsp)
115 movq %r8, 80(%rsp)
116 movl %r9d, 40(%rsp)
117 movaps %xmm2, 48(%rsp)
118 movq %rax, %rdi
119 movq %r10, 32(%rsp)
120 movq %rax, 136(%rsp)
121 call __GI_strlen
122 cmpl $-2, %r13d
123 movq %rax, 120(%rsp)
124 movq 32(%rsp), %r10
125 movl 40(%rsp), %r9d
126 movq 80(%rsp), %r8
127 movdqa 48(%rsp), %xmm2
128 movq 104(%rsp), %r11
129 jne .L357
130 movq 168(%r10), %rax
131 movsbl (%rax), %r13d
132 .L357:
133 cmpl $-2, %ebp
134 jne .L352
135 movq 176(%r10), %rax
136 movsbl (%rax), %ebp
137 .L352:
138 xorl %edx, %edx
139 cmpl $-1, %r12d
140 movb $32, 151(%rsp)
141 je .L218
142 .L36:
143 movzbl (%rsp), %eax
144 andl $1, %eax
145 cmpl $-1, %r9d
146 movb %al, 150(%rsp)
147 je .L37
148 testb %al, %al
149 je .L37
150 movq 96(%r10), %rsi
151 movl %r9d, %edi
152 movq %r11, 104(%rsp)
153 movq %r8, 80(%rsp)
154 movl %edx, 40(%rsp)
155 movaps %xmm2, 48(%rsp)
156 movq %r10, 32(%rsp)
157 movl %r9d, (%rsp)
158 call __guess_grouping
159 movl (%rsp), %r9d
160 movq 104(%rsp), %r11
161 movq 80(%rsp), %r8
162 movl 40(%rsp), %edx
163 movq 32(%rsp), %r10
164 movdqa 48(%rsp), %xmm2
165 addl %eax, %r9d
166 .L37:
167 cmpl $1, 144(%rsp)
168 movq 72(%rsp), %rsi
169 je .L366
170 movl 4(%rsi), %ecx
171 cmpl $175, %ecx
172 ja .L47
173 movl %ecx, %eax
174 addl $16, %ecx
175 addq 16(%rsi), %rax
176 movl %ecx, 4(%rsi)
177 jmp .L48
178 .p2align 4,,10
179 .p2align 3
180 .L360:
181 cmpb $33, %al
182 je .L172
183 cmpb $40, %al
184 jne .L11
185 cmpl $-2, %ebp
186 jne .L330
187 xorl %ebp, %ebp
188 xorl %r13d, %r13d
189 .p2align 4,,10
190 .p2align 3
191 .L10:
192 movzbl 1(%rdx), %eax
193 movq %rdx, %r14
194 leaq 1(%r14), %rdx
195 cmpb $43, %al
196 jne .L367
197 .L12:
198 cmpl $-2, %ebp
199 jne .L330
200 movq 168(%r10), %rax
201 movsbl (%rax), %r13d
202 movq 176(%r10), %rax
203 movsbl (%rax), %ebp
204 jmp .L10
205 .p2align 4,,10
206 .p2align 3
207 .L15:
208 movzbl 2(%r14), %eax
209 leaq 2(%r14), %rdx
210 testb %al, %al
211 movb %al, 149(%rsp)
212 jne .L10
213 .p2align 4,,10
214 .p2align 3
215 .L330:
216 movq __libc_errno@gottpoff(%rip), %rax
217 movl $22, %fs:(%rax)
218 jmp .L5
219 .p2align 4,,10
220 .p2align 3
221 .L172:
222 movl $0, 24(%rsp)
223 jmp .L10
224 .p2align 4,,10
225 .p2align 3
226 .L361:
227 movl $1, 28(%rsp)
228 jmp .L10
229 .p2align 4,,10
230 .p2align 3
231 .L9:
232 movl $0, (%rsp)
233 jmp .L10
234 .L381:
235 movq 136(%rsp), %rax
236 movzbl (%rax), %edx
237 testb %dl, %dl
238 je .L104
239 movq 40(%rsp), %rsi
240 cmpq %rsi, %r13
241 jnb .L21
242 movq %rsi, %rcx
243 subq %r13, %rcx
244 addq %rax, %rcx
245 jmp .L105
246 .p2align 4,,10
247 .p2align 3
248 .L106:
249 cmpq %rcx, %rax
250 je .L21
251 .L105:
252 addq $1, %rax
253 addq $1, %r13
254 movb %dl, -1(%r13)
255 movzbl (%rax), %edx
256 testb %dl, %dl
257 jne .L106
258 .L104:
259 cmpl $4, %ebp
260 jne .L107
261 cmpl $2, (%rsp)
262 jne .L108
263 cmpq 40(%rsp), %r13
264 jnb .L21
265 movzbl 151(%rsp), %eax
266 addq $1, %r13
267 movb %al, -1(%r13)
268 .L108:
269 movq 112(%rsp), %rax
270 movzbl (%rax), %edx
271 testb %dl, %dl
272 je .L110
273 movq 40(%rsp), %rsi
274 cmpq %rsi, %r13
275 jnb .L21
276 movq %rsi, %rcx
277 subq %r13, %rcx
278 addq %rax, %rcx
279 jmp .L111
280 .p2align 4,,10
281 .p2align 3
282 .L109:
283 cmpq %rcx, %rax
284 je .L21
285 .L111:
286 addq $1, %rax
287 addq $1, %r13
288 movb %dl, -1(%r13)
289 movzbl (%rax), %edx
290 testb %dl, %dl
291 jne .L109
292 .L110:
293 cmpl $1, (%rsp)
294 jne .L112
295 cmpq 40(%rsp), %r13
296 jnb .L21
297 movb $32, 0(%r13)
298 addq $1, %r13
299 .p2align 4,,10
300 .p2align 3
301 .L112:
302 leaq 304(%rsp), %rax
303 xorl %esi, %esi
304 movq %r10, 208(%rsp)
305 movq %r8, 176(%rsp)
306 movl %r9d, 128(%rsp)
307 movq %rax, %rdi
308 movq %rax, 80(%rsp)
309 movq %r11, 152(%rsp)
310 movaps %xmm2, 160(%rsp)
311 movq $0, 440(%rsp)
312 call _IO_init_internal
313 leaq _IO_str_jumps(%rip), %rsi
314 movq %r13, %rcx
315 movq 152(%rsp), %r11
316 movq 80(%rsp), %rdi
317 movq %rsi, 520(%rsp)
318 movq %r13, %rsi
319 leaq (%r11,%r15), %rdx
320 subq %r13, %rdx
321 call _IO_str_init_static_internal@PLT
322 movl 128(%rsp), %r9d
323 movzbl 150(%rsp), %ecx
324 testl %r12d, %r12d
325 movq 40(%rsp), %rsi
326 movl $0, 284(%rsp)
327 leaq 272(%rsp), %rdx
328 movq 80(%rsp), %rdi
329 movl %r12d, 272(%rsp)
330 leal 1(%r9,%r12), %eax
331 movl $102, 280(%rsp)
332 movb $0, (%rsi)
333 movq 64(%rsp), %rsi
334 cmovne %eax, %r9d
335 sall $7, %ecx
336 orb 144(%rsp), %cl
337 movzbl 100(%rsp), %eax
338 movl %r9d, 276(%rsp)
339 movb %cl, 284(%rsp)
340 movsbl 149(%rsp), %ecx
341 sall $4, %eax
342 orl $1, %eax
343 movb %al, 285(%rsp)
344 leaq 256(%rsp), %rax
345 movl %ecx, 288(%rsp)
346 leaq 248(%rsp), %rcx
347 movq %rax, 248(%rsp)
348 call __GI___printf_fp_l
349 testl %eax, %eax
350 js .L5
351 movq 40(%rsp), %rsi
352 cmpb $0, (%rsi)
353 jne .L21
354 cltq
355 movq 152(%rsp), %r11
356 movq 176(%rsp), %r8
357 leaq 0(%r13,%rax), %rdi
358 movl 32(%rsp), %r13d
359 movq 208(%rsp), %r10
360 movdqa 160(%rsp), %xmm2
361 testl %r13d, %r13d
362 jne .L116
363 cmpl $3, %ebp
364 jne .L117
365 cmpl $1, (%rsp)
366 je .L368
367 .L118:
368 movq 112(%rsp), %rax
369 movzbl (%rax), %edx
370 testb %dl, %dl
371 je .L120
372 movq 40(%rsp), %rsi
373 cmpq %rsi, %rdi
374 jnb .L21
375 movq %rsi, %rcx
376 subq %rdi, %rcx
377 addq %rax, %rcx
378 jmp .L121
379 .p2align 4,,10
380 .p2align 3
381 .L119:
382 cmpq %rcx, %rax
383 je .L21
384 .L121:
385 addq $1, %rax
386 addq $1, %rdi
387 movb %dl, -1(%rdi)
388 movzbl (%rax), %edx
389 testb %dl, %dl
390 jne .L119
391 .L120:
392 movl 24(%rsp), %r12d
393 testl %r12d, %r12d
394 je .L122
395 cmpl $2, (%rsp)
396 jne .L159
397 .L123:
398 cmpq 40(%rsp), %rdi
399 jnb .L21
400 movzbl 151(%rsp), %eax
401 leaq 1(%rdi), %rcx
402 movb %al, (%rdi)
403 .L124:
404 movq 120(%rsp), %rax
405 testl %eax, %eax
406 jle .L206
407 movq 40(%rsp), %rsi
408 cmpq %rsi, %rcx
409 jnb .L21
410 movq 136(%rsp), %rdi
411 subl $1, %eax
412 leaq 1(%rdi,%rax), %rdx
413 movq %rsi, %rax
414 movq %rdi, %rsi
415 subq %rcx, %rax
416 addq %rdi, %rax
417 movq %rcx, %rdi
418 .p2align 4,,10
419 .p2align 3
420 .L126:
421 movsb
422 cmpq %rdx, %rsi
423 je .L125
424 cmpq %rax, %rsi
425 jne .L126
426 .p2align 4,,10
427 .p2align 3
428 .L21:
429 movq __libc_errno@gottpoff(%rip), %rax
430 movl $7, %fs:(%rax)
431 .L5:
432 movq $-1, %rax
433 .L1:
434 addq $552, %rsp
435 popq %rbx
436 popq %rbp
437 popq %r12
438 popq %r13
439 popq %r14
440 popq %r15
442 .p2align 4,,10
443 .p2align 3
444 .L362:
445 movsbl 2(%r14), %eax
446 movslq %ecx, %rbx
447 leaq 2(%r14), %rdx
448 movabsq $922337203685477580, %rcx
449 subl $48, %eax
450 cmpl $9, %eax
451 jbe .L23
452 jmp .L20
453 .p2align 4,,10
454 .p2align 3
455 .L22:
456 cmpq %rcx, %rbx
457 jg .L21
458 .L23:
459 leaq (%rbx,%rbx,4), %rsi
460 cltq
461 addq $1, %rdx
462 leaq (%rax,%rsi,2), %rbx
463 movsbl (%rdx), %eax
464 subl $48, %eax
465 cmpl $9, %eax
466 jbe .L22
467 .L20:
468 movq %r8, %rax
469 movq %r15, %rsi
470 subq %r11, %rax
471 subq %rax, %rsi
472 cmpq %rbx, %rsi
473 jbe .L21
474 movzbl (%rdx), %eax
475 movl $-1, %r9d
476 cmpb $35, %al
477 jne .L24
478 jmp .L363
479 .p2align 4,,10
480 .p2align 3
481 .L364:
482 movsbl 1(%rdx), %r12d
483 subl $48, %r12d
484 cmpl $9, %r12d
485 ja .L330
486 leaq 2(%rdx), %rcx
487 movsbl 2(%rdx), %edx
488 movl %edx, %eax
489 subl $48, %edx
490 cmpl $9, %edx
491 ja .L177
492 .p2align 4,,10
493 .p2align 3
494 .L27:
495 leal (%r12,%r12,4), %eax
496 addq $1, %rcx
497 leal (%rdx,%rax,2), %r12d
498 movsbl (%rcx), %edx
499 movl %edx, %eax
500 subl $48, %edx
501 cmpl $9, %edx
502 jbe .L27
503 .L177:
504 movq %rcx, %rdx
505 jmp .L26
506 .p2align 4,,10
507 .p2align 3
508 .L365:
509 movl 96(%rsp), %edi
510 leaq 2(%rdx), %r14
511 movl %edi, %eax
512 notl %eax
513 andl $1, %eax
514 andl $2, %edi
515 movl $0, %edi
516 movl %eax, %esi
517 movl %eax, 144(%rsp)
518 movzbl 1(%rdx), %eax
519 cmovne %esi, %edi
520 movl %edi, 100(%rsp)
521 cmpb $105, %al
522 jne .L369
523 .L30:
524 movq 64(%r10), %rax
525 leaq 244(%rsp), %rcx
526 movl $3, %edx
527 movq %r11, 112(%rsp)
528 movq %r8, 104(%rsp)
529 movq %rcx, %rdi
530 movl %r9d, 48(%rsp)
531 movq %r10, 40(%rsp)
532 movq %rax, %rsi
533 movq %rax, 32(%rsp)
534 movaps %xmm2, 80(%rsp)
535 call __GI_strncpy
536 movq %rax, %rcx
537 cmpl $-2, %r13d
538 movq 32(%rsp), %rax
539 movb $0, 247(%rsp)
540 movq 40(%rsp), %r10
541 movl 48(%rsp), %r9d
542 movdqa 80(%rsp), %xmm2
543 movzbl 3(%rax), %eax
544 movq 104(%rsp), %r8
545 movq 112(%rsp), %r11
546 movb %al, 151(%rsp)
547 jne .L355
548 movq 224(%r10), %rax
549 movsbl (%rax), %r13d
550 .L355:
551 cmpl $-2, %ebp
552 jne .L349
553 movq 232(%r10), %rax
554 movsbl (%rax), %ebp
555 .L349:
556 cmpl $-1, %r12d
557 movq $3, 120(%rsp)
558 movq %rcx, 136(%rsp)
559 movl $1, %edx
560 jne .L36
561 movl $7, %eax
562 .L147:
563 movq 64(%r10,%rax,8), %rax
564 movsbl (%rax), %r12d
565 movl $2, %eax
566 cmpl $-1, %r12d
567 cmove %eax, %r12d
568 jmp .L36
569 .p2align 4,,10
570 .p2align 3
571 .L363:
572 movsbl 1(%rdx), %eax
573 subl $48, %eax
574 cmpl $9, %eax
575 ja .L330
576 leaq 2(%rdx), %rcx
577 movsbl 2(%rdx), %edx
578 movl %eax, %r9d
579 movl %edx, %eax
580 subl $48, %edx
581 cmpl $9, %edx
582 ja .L175
583 .p2align 4,,10
584 .p2align 3
585 .L25:
586 leal (%r9,%r9,4), %eax
587 addq $1, %rcx
588 leal (%rdx,%rax,2), %r9d
589 movsbl (%rcx), %edx
590 movl %edx, %eax
591 subl $48, %edx
592 cmpl $9, %edx
593 jbe .L25
594 .L175:
595 cmpb $46, %al
596 movq %rcx, %rdx
597 movl $-1, %r12d
598 jne .L26
599 jmp .L364
600 .p2align 4,,10
601 .p2align 3
602 .L366:
603 cmpl $1, 100(%rsp)
604 je .L370
605 movq 8(%rsi), %rax
606 movq %rax, (%rsp)
607 addq $15, %rax
608 andq $-16, %rax
609 leaq 16(%rax), %rcx
610 movq %rcx, 8(%rsi)
611 fldt (%rax)
612 fldz
613 fucomip %st(1), %st
614 ja .L45
615 fstpt 256(%rsp)
616 seta %sil
617 movzbl %sil, %esi
618 .L46:
619 movq 104(%r10), %rax
620 testl %esi, %esi
621 movq %rax, 112(%rsp)
622 movq 112(%r10), %rax
623 movzbl (%rax), %ecx
624 jne .L371
625 testl %edx, %edx
626 je .L372
627 movq 192(%r10), %rdx
628 testb %cl, %cl
629 movsbl (%rdx), %edi
630 movq 200(%r10), %rdx
631 movl %edi, 32(%rsp)
632 movsbl (%rdx), %edi
633 movq 208(%r10), %rdx
634 movsbl (%rdx), %ecx
635 leaq .LC0(%rip), %rdx
636 movl %edi, (%rsp)
637 cmovne %rax, %rdx
638 movl $19, %eax
639 movq %rdx, 128(%rsp)
640 .L154:
641 movq 64(%r10,%rax,8), %rax
642 movl %ebp, %edx
643 movl %r13d, %ebp
644 movl %edx, %r13d
645 movsbl (%rax), %eax
646 .L55:
647 movl 32(%rsp), %edx
648 testl %edx, %edx
649 movl $0, %edx
650 setne 152(%rsp)
651 testl %ecx, %ecx
652 movl %edx, %edi
653 setne 80(%rsp)
654 cmpl $-1, (%rsp)
655 cmovne (%rsp), %edi
656 cmpl $-1, %eax
657 movl %edi, (%rsp)
658 leaq -1(%r11,%r15), %rdi
659 movq %rdi, 40(%rsp)
660 je .L373
661 movl %esi, %edi
662 andl $1, %edi
663 cmpl $-1, %ebp
664 movb %dil, 48(%rsp)
665 je .L374
666 cmpl $-1, %r13d
667 je .L375
668 .L67:
669 cmpl $2, (%rsp)
670 je .L77
671 testl %ebp, %ebp
672 sete 104(%rsp)
673 movzbl 104(%rsp), %edi
674 andb %dil, 48(%rsp)
675 .L66:
676 cmpl $2, %eax
677 je .L376
678 .L80:
679 cmpl $-1, %r9d
680 je .L196
681 .L163:
682 movl 32(%rsp), %edi
683 xorl %edx, %edx
684 testl %edi, %edi
685 je .L76
686 cmpl $1, (%rsp)
687 movl 120(%rsp), %edx
688 sbbl $-1, %edx
689 .L76:
690 testl %ecx, %ecx
691 movl $0, 80(%rsp)
692 je .L85
693 movl 120(%rsp), %edi
694 testl %eax, %eax
695 movl %edi, 80(%rsp)
696 je .L85
697 .L165:
698 addl $1, 80(%rsp)
699 .L85:
700 cmpb $0, 48(%rsp)
701 je .L86
702 .L166:
703 addl $1, %edx
704 .L87:
705 cmpl $1, %r13d
706 je .L377
707 testl %ecx, %ecx
708 jne .L378
709 .L93:
710 movl 80(%rsp), %eax
711 cmpl %edx, %eax
712 jle .L199
713 movl %eax, %r13d
714 .L347:
715 subl %edx, %r13d
716 cmpq 40(%rsp), %r8
717 jnb .L21
718 leal -1(%r13), %eax
719 movq 40(%rsp), %rcx
720 leaq 1(%r8,%rax), %rdx
721 movq %r8, %rax
722 .p2align 4,,10
723 .p2align 3
724 .L96:
725 addq $1, %rax
726 movb $32, -1(%rax)
727 cmpq %rdx, %rax
728 je .L75
729 cmpq %rcx, %rax
730 jne .L96
731 jmp .L21
732 .p2align 4,,10
733 .p2align 3
734 .L373:
735 cmpl $-1, %ebp
736 je .L379
737 movl %esi, %eax
738 andl $1, %eax
739 movb %al, 48(%rsp)
740 xorl %eax, %eax
741 cmpl $-1, %r13d
742 jne .L67
743 cmpl $2, (%rsp)
744 je .L380
745 testl %ebp, %ebp
746 movl $1, %r13d
747 sete 104(%rsp)
748 movzbl 104(%rsp), %edi
749 andb %dil, 48(%rsp)
750 jmp .L80
751 .p2align 4,,10
752 .p2align 3
753 .L196:
754 movq %r8, %rdx
755 xorl %r9d, %r9d
756 .L75:
757 cmpb $0, 48(%rsp)
758 je .L200
759 cmpq 40(%rsp), %rdx
760 jnb .L21
761 movl 32(%rsp), %eax
762 leaq 1(%rdx), %r13
763 movb $40, (%rdx)
764 testl %eax, %eax
765 je .L99
766 .L98:
767 movl 24(%rsp), %eax
768 testl %eax, %eax
769 jne .L381
770 cmpl $4, %ebp
771 jne .L112
772 jmp .L108
773 .p2align 4,,10
774 .p2align 3
775 .L86:
776 cmpl $1, %ebp
777 je .L382
778 .L88:
779 movl 32(%rsp), %eax
780 testl %eax, %eax
781 je .L89
782 leal -3(%rbp), %eax
783 cmpl $1, %eax
784 ja .L89
785 movq 112(%rsp), %rdi
786 movq %r11, 232(%rsp)
787 movq %r10, 224(%rsp)
788 movq %r8, 216(%rsp)
789 movaps %xmm2, 192(%rsp)
790 movl %r9d, 208(%rsp)
791 movl %edx, 176(%rsp)
792 movl %ecx, 160(%rsp)
793 movl %esi, 152(%rsp)
794 call __GI_strlen
795 movl 176(%rsp), %edx
796 movq 232(%rsp), %r11
797 movq 224(%rsp), %r10
798 movq 216(%rsp), %r8
799 movl 208(%rsp), %r9d
800 movl 160(%rsp), %ecx
801 movl 152(%rsp), %esi
802 addl %eax, %edx
803 movdqa 192(%rsp), %xmm2
804 .p2align 4,,10
805 .p2align 3
806 .L89:
807 orl %r13d, %esi
808 jne .L87
809 movl 80(%rsp), %r13d
810 addl $1, %r13d
811 cmpl %r13d, %edx
812 jl .L347
813 movq %r8, %r13
814 .L91:
815 movl 32(%rsp), %eax
816 testl %eax, %eax
817 jne .L383
818 movb $0, 48(%rsp)
819 .L99:
820 leal -2(%rbp), %eax
821 cmpl $3, %eax
822 jbe .L112
823 testl %ebp, %ebp
824 je .L112
825 .L169:
826 movq 112(%rsp), %rax
827 movzbl (%rax), %edx
828 testb %dl, %dl
829 je .L112
830 movq 40(%rsp), %rsi
831 cmpq %r13, %rsi
832 jbe .L21
833 movq %rsi, %rcx
834 subq %r13, %rcx
835 addq %rax, %rcx
836 jmp .L113
837 .p2align 4,,10
838 .p2align 3
839 .L114:
840 cmpq %rcx, %rax
841 je .L21
842 .L113:
843 addq $1, %rax
844 addq $1, %r13
845 movb %dl, -1(%r13)
846 movzbl (%rax), %edx
847 testb %dl, %dl
848 jne .L114
849 jmp .L112
850 .p2align 4,,10
851 .p2align 3
852 .L116:
853 cmpl $2, %ebp
854 je .L384
855 .L122:
856 cmpb $0, 48(%rsp)
857 je .L207
858 cmpq 40(%rsp), %rdi
859 jnb .L21
860 leaq 1(%rdi), %rdx
861 movb $41, (%rdi)
862 .L135:
863 movq %rdx, %rax
864 subq %r8, %rax
865 cmpq %rbx, %rax
866 jge .L136
867 movl 28(%rsp), %r9d
868 testl %r9d, %r9d
869 je .L137
870 cmpq 40(%rsp), %rdx
871 jnb .L21
872 leaq 1(%rdx), %rax
873 movb $32, (%rdx)
874 movq 40(%rsp), %rcx
875 movq %rax, %rdx
876 subq %r8, %rdx
877 cmpq %rdx, %rbx
878 jg .L138
879 jmp .L208
880 .p2align 4,,10
881 .p2align 3
882 .L339:
883 addq $1, %rax
884 movb $32, -1(%rax)
885 movq %rax, %rdx
886 subq %r8, %rdx
887 cmpq %rbx, %rdx
888 jge .L208
889 .L138:
890 cmpq %rcx, %rax
891 jne .L339
892 jmp .L21
893 .p2align 4,,10
894 .p2align 3
895 .L372:
896 movq 136(%r10), %rdx
897 testb %cl, %cl
898 movsbl (%rdx), %edi
899 movq 144(%r10), %rdx
900 movl %edi, 32(%rsp)
901 movsbl (%rdx), %edi
902 movq 152(%r10), %rdx
903 movsbl (%rdx), %ecx
904 leaq .LC0(%rip), %rdx
905 movl %edi, (%rsp)
906 cmovne %rax, %rdx
907 movl $12, %eax
908 movq %rdx, 128(%rsp)
909 jmp .L154
910 .p2align 4,,10
911 .p2align 3
912 .L376:
913 xorl %eax, %eax
914 testl %r13d, %r13d
915 je .L80
916 cmpl $1, %r13d
917 sete %dl
918 jmp .L155
919 .p2align 4,,10
920 .p2align 3
921 .L374:
922 cmpl $-1, %r13d
923 je .L65
924 cmpl $2, (%rsp)
925 je .L62
926 .L346:
927 movb $0, 48(%rsp)
928 movb $0, 104(%rsp)
929 movl $1, %ebp
930 jmp .L66
931 .p2align 4,,10
932 .p2align 3
933 .L218:
934 movl $8, %eax
935 jmp .L147
936 .p2align 4,,10
937 .p2align 3
938 .L199:
939 movq %r8, %rdx
940 jmp .L75
941 .p2align 4,,10
942 .p2align 3
943 .L77:
944 testl %ebp, %ebp
945 movl $0, (%rsp)
946 movb $1, 104(%rsp)
947 je .L66
948 cmpl $1, %ebp
949 movb $0, 48(%rsp)
950 movb $0, 104(%rsp)
951 sete %dl
952 .L73:
953 movl 32(%rsp), %edi
954 testl %edi, %edi
955 jne .L222
956 testb %dl, %dl
957 movl $0, (%rsp)
958 jne .L66
959 .L222:
960 cmpl $2, %ebp
961 jne .L223
962 cmpb $0, 152(%rsp)
963 je .L223
964 movl $0, (%rsp)
965 jmp .L66
966 .p2align 4,,10
967 .p2align 3
968 .L375:
969 cmpl $2, (%rsp)
970 je .L385
971 testl %ebp, %ebp
972 sete 104(%rsp)
973 movzbl 104(%rsp), %edi
974 andb %dil, 48(%rsp)
975 .L161:
976 cmpl $2, %eax
977 movl $1, %edx
978 movl $1, %r13d
979 jne .L80
980 .L155:
981 testl %ecx, %ecx
982 jne .L224
983 testb %dl, %dl
984 je .L224
985 movl $1, %r13d
986 xorl %eax, %eax
987 jmp .L80
988 .p2align 4,,10
989 .p2align 3
990 .L371:
991 movq 112(%rsp), %rsi
992 movq %rsi, 128(%rsp)
993 .L160:
994 testb %cl, %cl
995 leaq .LC0(%rip), %rcx
996 cmovne %rax, %rcx
997 testl %edx, %edx
998 movq %rcx, 112(%rsp)
999 je .L386
1000 movq 208(%r10), %rax
1001 movsbl (%rax), %eax
1002 movl %eax, 32(%rsp)
1003 movq 216(%r10), %rax
1004 movsbl (%rax), %eax
1005 movl %eax, (%rsp)
1006 movq 192(%r10), %rax
1007 movsbl (%rax), %ecx
1008 movl $17, %eax
1009 .L150:
1010 movq 64(%r10,%rax,8), %rax
1011 movl $1, %esi
1012 movsbl (%rax), %eax
1013 jmp .L55
1014 .p2align 4,,10
1015 .p2align 3
1016 .L386:
1017 movq 152(%r10), %rax
1018 movsbl (%rax), %eax
1019 movl %eax, 32(%rsp)
1020 movq 160(%r10), %rax
1021 movsbl (%rax), %eax
1022 movl %eax, (%rsp)
1023 movq 136(%r10), %rax
1024 movsbl (%rax), %ecx
1025 movl $10, %eax
1026 jmp .L150
1027 .L117:
1028 movl 24(%rsp), %ecx
1029 testl %ecx, %ecx
1030 jne .L159
1031 .L125:
1032 cmpl $4, %ebp
1033 jne .L116
1034 cmpl $2, (%rsp)
1035 je .L387
1036 .L128:
1037 movq 112(%rsp), %rcx
1038 movzbl (%rcx), %eax
1039 testb %al, %al
1040 je .L207
1041 movq 40(%rsp), %rsi
1042 cmpq %rsi, %rdi
1043 jnb .L21
1044 movq %rsi, %rdx
1045 subq %rdi, %rdx
1046 addq %rcx, %rdx
1047 jmp .L131
1048 .p2align 4,,10
1049 .p2align 3
1050 .L129:
1051 cmpq %rdx, %rcx
1052 je .L21
1053 .L131:
1054 addq $1, %rcx
1055 addq $1, %rdi
1056 movb %al, -1(%rdi)
1057 movzbl (%rcx), %eax
1058 testb %al, %al
1059 jne .L129
1060 .L207:
1061 movq %rdi, %rdx
1062 jmp .L135
1063 .L383:
1064 testl $-3, %ebp
1065 je .L388
1066 .L170:
1067 leal -4(%rbp), %eax
1068 movb $0, 48(%rsp)
1069 cmpl $1, %eax
1070 jbe .L98
1071 .L168:
1072 movq 112(%rsp), %rax
1073 movzbl (%rax), %edx
1074 testb %dl, %dl
1075 je .L100
1076 movq 40(%rsp), %rsi
1077 cmpq %r13, %rsi
1078 jbe .L21
1079 movq %rsi, %rcx
1080 subq %r13, %rcx
1081 addq %rax, %rcx
1082 jmp .L101
1083 .p2align 4,,10
1084 .p2align 3
1085 .L102:
1086 cmpq %rcx, %rax
1087 je .L21
1088 .L101:
1089 addq $1, %rax
1090 addq $1, %r13
1091 movb %dl, -1(%r13)
1092 movzbl (%rax), %edx
1093 testb %dl, %dl
1094 jne .L102
1095 .L100:
1096 cmpl $2, (%rsp)
1097 movb $0, 48(%rsp)
1098 jne .L98
1099 cmpq 40(%rsp), %r13
1100 jnb .L21
1101 movb $32, 0(%r13)
1102 addq $1, %r13
1103 jmp .L98
1104 .p2align 4,,10
1105 .p2align 3
1106 .L378:
1107 leal -3(%r13), %eax
1108 cmpl $1, %eax
1109 ja .L93
1110 movq 128(%rsp), %rdi
1111 movq %r11, 216(%rsp)
1112 movq %r10, 192(%rsp)
1113 movq %r8, 208(%rsp)
1114 movaps %xmm2, 176(%rsp)
1115 movl %r9d, 160(%rsp)
1116 movl %edx, 152(%rsp)
1117 call __GI_strlen
1118 movq 216(%rsp), %r11
1119 addl %eax, 80(%rsp)
1120 movq 192(%rsp), %r10
1121 movq 208(%rsp), %r8
1122 movdqa 176(%rsp), %xmm2
1123 movl 160(%rsp), %r9d
1124 movl 152(%rsp), %edx
1125 jmp .L93
1126 .L215:
1127 xorl %eax, %eax
1128 .L62:
1129 cmpl $1, 32(%rsp)
1130 sbbl %edi, %edi
1131 notl %edi
1132 andl $2, %edi
1133 movl %edi, (%rsp)
1134 jmp .L346
1135 .L385:
1136 testl %ebp, %ebp
1137 jne .L70
1138 cmpl $2, %eax
1139 jne .L69
1140 testl %ecx, %ecx
1141 je .L156
1142 cmpl $-1, %r9d
1143 je .L211
1144 movl 32(%rsp), %edi
1145 movq 120(%rsp), %rax
1146 movl $0, %edx
1147 movl $0, (%rsp)
1148 movb $1, 104(%rsp)
1149 movl $1, %r13d
1150 testl %edi, %edi
1151 movl %eax, 80(%rsp)
1152 cmovne %rax, %rdx
1153 jmp .L165
1154 .L208:
1155 movq %rax, %rdx
1156 .p2align 4,,10
1157 .p2align 3
1158 .L136:
1159 movq %rdx, %r8
1160 jmp .L2
1161 .L379:
1162 cmpl $-1, %r13d
1163 je .L389
1164 cmpl $2, (%rsp)
1165 je .L215
1166 cmpl $-1, %r9d
1167 je .L162
1168 movb $0, 48(%rsp)
1169 movb $0, 104(%rsp)
1170 movl $1, %ebp
1171 xorl %eax, %eax
1172 jmp .L163
1173 .L377:
1174 movq 128(%rsp), %rdi
1175 movq %r11, 216(%rsp)
1176 movq %r10, 192(%rsp)
1177 movq %r8, 208(%rsp)
1178 movaps %xmm2, 176(%rsp)
1179 movl %r9d, 160(%rsp)
1180 movl %edx, 152(%rsp)
1181 call __GI_strlen
1182 movl 152(%rsp), %edx
1183 addl %eax, 80(%rsp)
1184 movl 160(%rsp), %r9d
1185 movq 208(%rsp), %r8
1186 movdqa 176(%rsp), %xmm2
1187 movq 192(%rsp), %r10
1188 movq 216(%rsp), %r11
1189 jmp .L93
1190 .L382:
1191 movq 112(%rsp), %rdi
1192 movq %r11, 232(%rsp)
1193 movq %r10, 224(%rsp)
1194 movq %r8, 216(%rsp)
1195 movaps %xmm2, 192(%rsp)
1196 movl %r9d, 208(%rsp)
1197 movl %edx, 176(%rsp)
1198 movl %ecx, 160(%rsp)
1199 movl %esi, 152(%rsp)
1200 call __GI_strlen
1201 movl 176(%rsp), %edx
1202 movl 152(%rsp), %esi
1203 movl 160(%rsp), %ecx
1204 movl 208(%rsp), %r9d
1205 movdqa 192(%rsp), %xmm2
1206 addl %eax, %edx
1207 movq 216(%rsp), %r8
1208 movq 224(%rsp), %r10
1209 movq 232(%rsp), %r11
1210 jmp .L89
1211 .L384:
1212 cmpl $2, (%rsp)
1213 je .L390
1214 .L132:
1215 movq 112(%rsp), %rcx
1216 movzbl (%rcx), %eax
1217 testb %al, %al
1218 je .L207
1219 movq 40(%rsp), %rsi
1220 cmpq %rsi, %rdi
1221 jnb .L21
1222 movq %rsi, %rdx
1223 subq %rdi, %rdx
1224 addq %rcx, %rdx
1225 jmp .L134
1226 .p2align 4,,10
1227 .p2align 3
1228 .L133:
1229 cmpq %rdx, %rcx
1230 je .L21
1231 .L134:
1232 addq $1, %rcx
1233 addq $1, %rdi
1234 movb %al, -1(%rdi)
1235 movzbl (%rcx), %eax
1236 testb %al, %al
1237 jne .L133
1238 jmp .L207
1239 .L45:
1240 fchs
1241 fstpt 256(%rsp)
1242 .L44:
1243 movq 104(%r10), %rax
1244 movq %rax, 128(%rsp)
1245 movq 112(%r10), %rax
1246 movzbl (%rax), %ecx
1247 jmp .L160
1248 .L65:
1249 cmpl $2, (%rsp)
1250 je .L214
1251 movb $0, 48(%rsp)
1252 movb $0, 104(%rsp)
1253 movl $1, %ebp
1254 jmp .L161
1255 .L224:
1256 cmpl $2, %r13d
1257 jne .L225
1258 xorl %eax, %eax
1259 cmpb $0, 80(%rsp)
1260 jne .L80
1261 .L225:
1262 movl $2, %eax
1263 jmp .L80
1264 .L200:
1265 movq %rdx, %r13
1266 jmp .L91
1267 .L137:
1268 subq %rax, %rbx
1269 leaq -1(%rdx), %rax
1270 cmpq %rax, %r8
1271 ja .L140
1272 leaq -1(%r8), %rsi
1273 .p2align 4,,10
1274 .p2align 3
1275 .L141:
1276 movzbl (%rax), %ecx
1277 subq $1, %rax
1278 movb %cl, 1(%rax,%rbx)
1279 cmpq %rax, %rsi
1280 jne .L141
1281 .L140:
1282 addq %rbx, %rdx
1283 .p2align 4,,10
1284 .p2align 3
1285 .L142:
1286 subq $1, %rbx
1287 testq %rbx, %rbx
1288 movb $32, (%r8,%rbx)
1289 jne .L142
1290 jmp .L136
1291 .L159:
1292 leal -2(%rbp), %eax
1293 andl $-3, %eax
1294 sete %al
1295 cmpl $1, %ebp
1296 sete %dl
1297 orb 104(%rsp), %dl
1298 orl %edx, %eax
1299 cmpl $1, (%rsp)
1300 sete %dl
1301 testb %dl, %al
1302 jne .L123
1303 movq %rdi, %rcx
1304 jmp .L124
1305 .L389:
1306 cmpl $2, (%rsp)
1307 je .L391
1308 cmpl $-1, %r9d
1309 je .L164
1310 movb $0, 48(%rsp)
1311 movb $0, 104(%rsp)
1312 movl $1, %r13d
1313 movl $1, %ebp
1314 xorl %eax, %eax
1315 jmp .L163
1316 .L69:
1317 cmpl $-1, %r9d
1318 je .L186
1319 movl 32(%rsp), %ebp
1320 movl $0, %edx
1321 movb $1, 104(%rsp)
1322 movl $0, (%rsp)
1323 movl $1, %r13d
1324 testl %ebp, %ebp
1325 cmovne 120(%rsp), %edx
1326 xorl %ebp, %ebp
1327 jmp .L76
1328 .L390:
1329 cmpq 40(%rsp), %rdi
1330 jnb .L21
1331 movb $32, (%rdi)
1332 addq $1, %rdi
1333 jmp .L132
1334 .L380:
1335 testl %ebp, %ebp
1336 je .L69
1337 .L70:
1338 cmpl $1, %ebp
1339 movl $1, %r13d
1340 sete %dl
1341 testl %ebp, %ebp
1342 sete 104(%rsp)
1343 movzbl 104(%rsp), %edi
1344 andb %dil, 48(%rsp)
1345 jmp .L73
1346 .L214:
1347 movl $1, %r13d
1348 jmp .L62
1349 .L368:
1350 cmpq %rsi, %rdi
1351 jnb .L21
1352 movb $32, (%rdi)
1353 addq $1, %rdi
1354 jmp .L118
1355 .L162:
1356 movl 32(%rsp), %eax
1357 testl %eax, %eax
1358 je .L392
1359 movq %r8, %r13
1360 movb $0, 104(%rsp)
1361 movl $1, %ebp
1362 xorl %r9d, %r9d
1363 jmp .L170
1364 .L387:
1365 cmpq 40(%rsp), %rdi
1366 jnb .L21
1367 movb $32, (%rdi)
1368 addq $1, %rdi
1369 jmp .L128
1370 .L186:
1371 movq %r8, %rdx
1372 movb $1, 104(%rsp)
1373 movl $0, (%rsp)
1374 xorl %ebp, %ebp
1375 xorl %r9d, %r9d
1376 jmp .L75
1377 .L391:
1378 xorl %eax, %eax
1379 movl $1, %r13d
1380 jmp .L62
1381 .L156:
1382 cmpl $-1, %r9d
1383 je .L211
1384 movl 32(%rsp), %ebp
1385 movl $0, %edx
1386 testl %ebp, %ebp
1387 cmovne 120(%rsp), %rdx
1388 cmpb $0, 48(%rsp)
1389 je .L337
1390 movzbl 48(%rsp), %eax
1391 movl $0, (%rsp)
1392 movl %ecx, %ebp
1393 movl $0, 80(%rsp)
1394 movl $1, %r13d
1395 movb %al, 104(%rsp)
1396 jmp .L166
1397 .L164:
1398 movl 32(%rsp), %edx
1399 xorl %r9d, %r9d
1400 movq %r8, %r13
1401 movl $1, %ebp
1402 movb $0, 104(%rsp)
1403 testl %edx, %edx
1404 jne .L168
1405 movb $0, 48(%rsp)
1406 jmp .L169
1407 .L392:
1408 xorl %r9d, %r9d
1409 movq %r8, %r13
1410 movl $1, %ebp
1411 movb $0, 48(%rsp)
1412 movb $0, 104(%rsp)
1413 jmp .L99
1414 .L211:
1415 movl $0, (%rsp)
1416 xorl %r9d, %r9d
1417 movq %r8, %rdx
1418 movb $1, 104(%rsp)
1419 jmp .L75
1420 .L107:
1421 cmpl $1, (%rsp)
1422 jne .L112
1423 cmpq 40(%rsp), %r13
1424 jnb .L21
1425 movzbl 151(%rsp), %eax
1426 addq $1, %r13
1427 movb %al, -1(%r13)
1428 jmp .L112
1429 .L206:
1430 movq %rcx, %rdi
1431 jmp .L125
1432 .L337:
1433 movl $0, (%rsp)
1434 movl %ecx, %ebp
1435 movl $0, 80(%rsp)
1436 movl $1, %r13d
1437 movb $1, 104(%rsp)
1438 jmp .L88
1439 .L388:
1440 movb $0, 48(%rsp)
1441 jmp .L98
1442 .L223:
1443 movl $2, (%rsp)
1444 jmp .L66
1445 .L47:
1446 movq 72(%rsp), %rsi
1447 movq 8(%rsi), %rax
1448 leaq 8(%rax), %rcx
1449 movq %rcx, 8(%rsi)
1450 .L48:
1451 pxor %xmm1, %xmm1
1452 movsd (%rax), %xmm0
1453 ucomisd %xmm0, %xmm1
1454 ja .L49
1455 seta %sil
1456 movsd %xmm0, 256(%rsp)
1457 movzbl %sil, %esi
1458 jmp .L46
1459 .p2align 4,,10
1460 .p2align 3
1461 .L49:
1462 xorpd .LC5(%rip), %xmm0
1463 movsd %xmm0, 256(%rsp)
1464 jmp .L44
1465 .L370:
1466 movl 4(%rsi), %ecx
1467 cmpl $175, %ecx
1468 ja .L40
1469 movl %ecx, %eax
1470 addq 16(%rsi), %rax
1471 addl $16, %ecx
1472 movl %ecx, 4(%rsi)
1473 .L41:
1474 movdqa (%rax), %xmm3
1475 pxor %xmm1, %xmm1
1476 movq %r11, 112(%rsp)
1477 movq %r10, 104(%rsp)
1478 movdqa %xmm3, %xmm0
1479 movq %r8, 80(%rsp)
1480 movl %r9d, 40(%rsp)
1481 movaps %xmm2, 48(%rsp)
1482 movl %edx, 32(%rsp)
1483 movaps %xmm3, (%rsp)
1484 call __lttf2@PLT
1485 testq %rax, %rax
1486 movdqa (%rsp), %xmm3
1487 movl 32(%rsp), %edx
1488 movl 40(%rsp), %r9d
1489 movdqa 48(%rsp), %xmm2
1490 movq 80(%rsp), %r8
1491 movq 104(%rsp), %r10
1492 movq 112(%rsp), %r11
1493 js .L393
1494 movdqa %xmm2, %xmm1
1495 movdqa %xmm3, %xmm0
1496 movq %r11, 104(%rsp)
1497 movq %r10, 80(%rsp)
1498 movq %r8, 48(%rsp)
1499 movl %r9d, 40(%rsp)
1500 movl %edx, 32(%rsp)
1501 movaps %xmm2, (%rsp)
1502 movaps %xmm3, 256(%rsp)
1503 call __lttf2@PLT
1504 xorl %esi, %esi
1505 testq %rax, %rax
1506 sets %sil
1507 movq 104(%rsp), %r11
1508 movq 80(%rsp), %r10
1509 movq 48(%rsp), %r8
1510 movl 40(%rsp), %r9d
1511 movl 32(%rsp), %edx
1512 movdqa (%rsp), %xmm2
1513 jmp .L46
1514 .L393:
1515 pxor .LC2(%rip), %xmm3
1516 movaps %xmm3, 256(%rsp)
1517 jmp .L44
1518 .L40:
1519 movq 72(%rsp), %rsi
1520 movq 8(%rsi), %rax
1521 movq %rax, (%rsp)
1522 addq $15, %rax
1523 andq $-16, %rax
1524 leaq 16(%rax), %rcx
1525 movq %rcx, 8(%rsi)
1526 jmp .L41
1527 .size __vstrfmon_l_internal, .-__vstrfmon_l_internal
1528 .p2align 4,,15
1529 .globl ___strfmon_l
1530 .type ___strfmon_l, @function
1531 ___strfmon_l:
1532 subq $216, %rsp
1533 testb %al, %al
1534 movq %r8, 64(%rsp)
1535 movq %r9, 72(%rsp)
1536 je .L396
1537 movaps %xmm0, 80(%rsp)
1538 movaps %xmm1, 96(%rsp)
1539 movaps %xmm2, 112(%rsp)
1540 movaps %xmm3, 128(%rsp)
1541 movaps %xmm4, 144(%rsp)
1542 movaps %xmm5, 160(%rsp)
1543 movaps %xmm6, 176(%rsp)
1544 movaps %xmm7, 192(%rsp)
1545 .L396:
1546 leaq 224(%rsp), %rax
1547 leaq 8(%rsp), %r8
1548 xorl %r9d, %r9d
1549 movq %rax, 16(%rsp)
1550 leaq 32(%rsp), %rax
1551 movl $32, 8(%rsp)
1552 movl $48, 12(%rsp)
1553 movq %rax, 24(%rsp)
1554 call __vstrfmon_l_internal
1555 addq $216, %rsp
1557 .size ___strfmon_l, .-___strfmon_l
1558 .weak strfmon_l
1559 .set strfmon_l,___strfmon_l
1560 .globl __strfmon_l
1561 .set __strfmon_l,___strfmon_l
1562 .section .rodata.cst16,"aM",@progbits,16
1563 .align 16
1564 .LC2:
1565 .long 0
1566 .long 0
1567 .long 0
1568 .long -2147483648
1569 .align 16
1570 .LC5:
1571 .long 0
1572 .long -2147483648
1573 .long 0
1574 .long 0
1575 .hidden _IO_str_jumps
1576 .hidden _IO_init_internal
1577 .hidden __guess_grouping