github.com/bytedance/sonic@v1.11.7-0.20240517092252-d2edb31b167b/internal/native/neon/f32toa_arm64.s (about)

     1  // +build !noasm !appengine
     2  // Code generated by asm2asm, DO NOT EDIT.
     3  
     4  #include "go_asm.h"
     5  #include "funcdata.h"
     6  #include "textflag.h"
     7  
     8  TEXT ·__f32toa_entry__(SB), NOSPLIT, $16
     9  	NO_LOCAL_POINTERS
    10  	WORD $0x100000a0 // adr x0, .+20
    11  	MOVD R0, ret(FP)
    12  	RET
    13  	  // .p2align 2, 0x00
    14  _f32toa:
    15  	WORD $0xd10083ff  // sub	sp, sp, #32
    16  	WORD $0xa900fbfd  // stp	fp, lr, [sp, #8]
    17  	WORD $0xa93ffbfd  // stp	fp, lr, [sp, #-8]
    18  	WORD $0xd10023fd  // sub	fp, sp, #8
    19  	WORD $0x1e260009  // fmov	w9, s0
    20  	WORD $0x5317792b  // ubfx	w11, w9, #23, #8
    21  	WORD $0x7103fd7f  // cmp	w11, #255
    22  	WORD $0x54005b20  // b.eq	LBB0_130 $2916(%rip)
    23  	WORD $0x528005a8  // mov	w8, #45
    24  	WORD $0x39000008  // strb	w8, [x0]
    25  	WORD $0x531f7d2a  // lsr	w10, w9, #31
    26  	WORD $0x8b0a0008  // add	x8, x0, x10
    27  	WORD $0x1e26000c  // fmov	w12, s0
    28  	WORD $0x7200799f  // tst	w12, #0x7fffffff
    29  	WORD $0x54000e00  // b.eq	LBB0_10 $448(%rip)
    30  	WORD $0x1200592e  // and	w14, w9, #0x7fffff
    31  	WORD $0x5290d3e9  // mov	w9, #34463
    32  	WORD $0x72a00029  // movk	w9, #1, lsl #16
    33  	WORD $0x34005a4b  // cbz	w11, LBB0_131 $2888(%rip)
    34  	WORD $0x320901cd  // orr	w13, w14, #0x800000
    35  	WORD $0x5102596c  // sub	w12, w11, #150
    36  	WORD $0x5101fd6f  // sub	w15, w11, #127
    37  	WORD $0x71005dff  // cmp	w15, #23
    38  	WORD $0x54000108  // b.hi	LBB0_5 $32(%rip)
    39  	WORD $0x528012cf  // mov	w15, #150
    40  	WORD $0x4b0b01ef  // sub	w15, w15, w11
    41  	WORD $0x92800010  // mov	x16, #-1
    42  	WORD $0x9acf2210  // lsl	x16, x16, x15
    43  	WORD $0x2a3003f0  // mvn	w16, w16
    44  	WORD $0xea0d021f  // tst	x16, x13
    45  	WORD $0x54001120  // b.eq	LBB0_17 $548(%rip)
    46  LBB0_5:
    47  	WORD $0x120001af  // and	w15, w13, #0x1
    48  	WORD $0x710001df  // cmp	w14, #0
    49  	WORD $0x1a9f17ee  // cset	w14, eq
    50  	WORD $0x7100057f  // cmp	w11, #1
    51  	WORD $0x1a9f97eb  // cset	w11, hi
    52  	WORD $0x531e75b0  // lsl	w16, w13, #2
    53  	WORD $0x6a0b01cb  // ands	w11, w14, w11
    54  	WORD $0x2a0b020b  // orr	w11, w16, w11
    55  	WORD $0x52800051  // mov	w17, #2
    56  	WORD $0x331e5db1  // bfi	w17, w13, #2, #24
    57  	WORD $0x5288826d  // mov	w13, #17427
    58  	WORD $0x72a0026d  // movk	w13, #19, lsl #16
    59  	WORD $0x5280202e  // mov	w14, #257
    60  	WORD $0x72bfff0e  // movk	w14, #65528, lsl #16
    61  	WORD $0x1a9f11ce  // csel	w14, w14, wzr, ne
    62  	WORD $0x51000961  // sub	w1, w11, #2
    63  	WORD $0x1b0d398b  // madd	w11, w12, w13, w14
    64  	WORD $0x13167d6b  // asr	w11, w11, #22
    65  	WORD $0x528d962d  // mov	w13, #27825
    66  	WORD $0x72bffcad  // movk	w13, #65509, lsl #16
    67  	WORD $0x1b0d7d6d  // mul	w13, w11, w13
    68  	WORD $0x0b8d4d8c  // add	w12, w12, w13, asr #19
    69  	WORD $0x1100058c  // add	w12, w12, #1
    70  	WORD $0x528003ed  // mov	w13, #31
    71  Lloh0:
    72  	WORD $0x10005c6e  // adr	x14, _pow10_ceil_sig_f32.g $2956(%rip)
    73  Lloh1:
    74  	WORD $0x910001ce  // add	x14, x14, _pow10_ceil_sig_f32.g@PAGEOFF $0(%rip)
    75  	WORD $0x4b0b01ad  // sub	w13, w13, w11
    76  	WORD $0xf86d59c2  // ldr	x2, [x14, w13, uxtw #3]
    77  	WORD $0x1acc202d  // lsl	w13, w1, w12
    78  	WORD $0x9b027dae  // mul	x14, x13, x2
    79  	WORD $0x9bc27dad  // umulh	x13, x13, x2
    80  	WORD $0xf25f79df  // tst	x14, #0xfffffffe00000000
    81  	WORD $0x1a9f07ee  // cset	w14, ne
    82  	WORD $0x2a0d01c1  // orr	w1, w14, w13
    83  	WORD $0x1acc220d  // lsl	w13, w16, w12
    84  	WORD $0x9b027dae  // mul	x14, x13, x2
    85  	WORD $0x9bc27dad  // umulh	x13, x13, x2
    86  	WORD $0xf25f79df  // tst	x14, #0xfffffffe00000000
    87  	WORD $0x1a9f07ee  // cset	w14, ne
    88  	WORD $0x2a0d01ce  // orr	w14, w14, w13
    89  	WORD $0x1acc222c  // lsl	w12, w17, w12
    90  	WORD $0x9b027d90  // mul	x16, x12, x2
    91  	WORD $0x9bc27d8c  // umulh	x12, x12, x2
    92  	WORD $0xf25f7a1f  // tst	x16, #0xfffffffe00000000
    93  	WORD $0x1a9f07f0  // cset	w16, ne
    94  	WORD $0x2a0c020c  // orr	w12, w16, w12
    95  	WORD $0x0b0f0030  // add	w16, w1, w15
    96  	WORD $0x4b0f018f  // sub	w15, w12, w15
    97  	WORD $0x7100a1df  // cmp	w14, #40
    98  	WORD $0x540001e3  // b.lo	LBB0_7 $60(%rip)
    99  	WORD $0x529999ac  // mov	w12, #52429
   100  	WORD $0x72b9998c  // movk	w12, #52428, lsl #16
   101  	WORD $0x9bac7dac  // umull	x12, w13, w12
   102  	WORD $0xd365fd8c  // lsr	x12, x12, #37
   103  	WORD $0x8b0c0991  // add	x17, x12, x12, lsl #2
   104  	WORD $0xd37df231  // lsl	x17, x17, #3
   105  	WORD $0x9100a221  // add	x1, x17, #40
   106  	WORD $0xeb30423f  // cmp	x17, w16, uxtw
   107  	WORD $0x1a9f27f1  // cset	w17, lo
   108  	WORD $0xeb2f403f  // cmp	x1, w15, uxtw
   109  	WORD $0x1a9f87e1  // cset	w1, ls
   110  	WORD $0x1a8c858c  // cinc	w12, w12, ls
   111  	WORD $0x6b01023f  // cmp	w17, w1
   112  	WORD $0x540004e0  // b.eq	LBB0_11 $156(%rip)
   113  LBB0_7:
   114  	WORD $0xd3427dac  // ubfx	x12, x13, #2, #30
   115  	WORD $0x121e75b1  // and	w17, w13, #0xfffffffc
   116  	WORD $0x11001221  // add	w1, w17, #4
   117  	WORD $0x6b0f003f  // cmp	w1, w15
   118  	WORD $0x1a9f87e2  // cset	w2, ls
   119  	WORD $0x6b11021f  // cmp	w16, w17
   120  	WORD $0x1a9f97f0  // cset	w16, hi
   121  	WORD $0x4a020210  // eor	w16, w16, w2
   122  	WORD $0x321f0231  // orr	w17, w17, #0x2
   123  	WORD $0x52800022  // mov	w2, #1
   124  	WORD $0x6b1101df  // cmp	w14, w17
   125  	WORD $0x1a9f17ee  // cset	w14, eq
   126  	WORD $0x0a4d09cd  // and	w13, w14, w13, lsr #2
   127  	WORD $0x1a8d804d  // csel	w13, w2, w13, hi
   128  	WORD $0x0b0c01ad  // add	w13, w13, w12
   129  	WORD $0x6b0f003f  // cmp	w1, w15
   130  	WORD $0x1a8c858c  // cinc	w12, w12, ls
   131  	WORD $0x7200021f  // tst	w16, #0x1
   132  	WORD $0x1a8c11ac  // csel	w12, w13, w12, ne
   133  	WORD $0x6b09019f  // cmp	w12, w9
   134  	WORD $0x540002a9  // b.ls	LBB0_12 $84(%rip)
   135  LBB0_8:
   136  	WORD $0x52884809  // mov	w9, #16960
   137  	WORD $0x72a001e9  // movk	w9, #15, lsl #16
   138  	WORD $0x6b09019f  // cmp	w12, w9
   139  	WORD $0x54000322  // b.hs	LBB0_14 $100(%rip)
   140  	WORD $0x528000cd  // mov	w13, #6
   141  	WORD $0x0b0b01a9  // add	w9, w13, w11
   142  	WORD $0x5100592e  // sub	w14, w9, #22
   143  	WORD $0x310071df  // cmn	w14, #28
   144  	WORD $0x54000ae8  // b.hi	LBB0_22 $348(%rip)
   145  	WORD $0x140000bc  // b	LBB0_43 $752(%rip)
   146  LBB0_10:
   147  	WORD $0x52800609  // mov	w9, #48
   148  	WORD $0x39000109  // strb	w9, [x8]
   149  	WORD $0x4b000108  // sub	w8, w8, w0
   150  	WORD $0x11000500  // add	w0, w8, #1
   151  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   152  	WORD $0x910083ff  // add	sp, sp, #32
   153  	WORD $0xd65f03c0  // ret
   154  LBB0_11:
   155  	WORD $0x1100056b  // add	w11, w11, #1
   156  	WORD $0x6b09019f  // cmp	w12, w9
   157  	WORD $0x54fffda8  // b.hi	LBB0_8 $-76(%rip)
   158  LBB0_12:
   159  	WORD $0x7100299f  // cmp	w12, #10
   160  	WORD $0x540002c2  // b.hs	LBB0_15 $88(%rip)
   161  	WORD $0x5280002d  // mov	w13, #1
   162  	WORD $0x0b0b01a9  // add	w9, w13, w11
   163  	WORD $0x5100592e  // sub	w14, w9, #22
   164  	WORD $0x310071df  // cmn	w14, #28
   165  	WORD $0x540008a8  // b.hi	LBB0_22 $276(%rip)
   166  	WORD $0x140000aa  // b	LBB0_43 $680(%rip)
   167  LBB0_14:
   168  	WORD $0x528000e9  // mov	w9, #7
   169  	WORD $0x5292d00d  // mov	w13, #38528
   170  	WORD $0x72a0130d  // movk	w13, #152, lsl #16
   171  	WORD $0x529c200e  // mov	w14, #57600
   172  	WORD $0x72a0beae  // movk	w14, #1525, lsl #16
   173  	WORD $0x6b0e019f  // cmp	w12, w14
   174  	WORD $0x5280010e  // mov	w14, #8
   175  	WORD $0x1a8e35ce  // cinc	w14, w14, hs
   176  	WORD $0x6b0d019f  // cmp	w12, w13
   177  	WORD $0x1a8e312d  // csel	w13, w9, w14, lo
   178  	WORD $0x0b0b01a9  // add	w9, w13, w11
   179  	WORD $0x5100592e  // sub	w14, w9, #22
   180  	WORD $0x310071df  // cmn	w14, #28
   181  	WORD $0x540006c8  // b.hi	LBB0_22 $216(%rip)
   182  	WORD $0x1400009b  // b	LBB0_43 $620(%rip)
   183  LBB0_15:
   184  	WORD $0x7101919f  // cmp	w12, #100
   185  	WORD $0x54000582  // b.hs	LBB0_20 $176(%rip)
   186  	WORD $0x5280004d  // mov	w13, #2
   187  	WORD $0x0b0b01a9  // add	w9, w13, w11
   188  	WORD $0x5100592e  // sub	w14, w9, #22
   189  	WORD $0x310071df  // cmn	w14, #28
   190  	WORD $0x540005c8  // b.hi	LBB0_22 $184(%rip)
   191  	WORD $0x14000093  // b	LBB0_43 $588(%rip)
   192  LBB0_17:
   193  	WORD $0x1acf25ab  // lsr	w11, w13, w15
   194  Lloh2:
   195  	WORD $0x100047ea  // adr	x10, _Digits $2300(%rip)
   196  Lloh3:
   197  	WORD $0x9100014a  // add	x10, x10, _Digits@PAGEOFF $0(%rip)
   198  	WORD $0x6b09017f  // cmp	w11, w9
   199  	WORD $0x54001049  // b.ls	LBB0_40 $520(%rip)
   200  	WORD $0x5292d009  // mov	w9, #38528
   201  	WORD $0x72a01309  // movk	w9, #152, lsl #16
   202  	WORD $0x6b09017f  // cmp	w11, w9
   203  	WORD $0x528000e9  // mov	w9, #7
   204  	WORD $0x9a893529  // cinc	x9, x9, hs
   205  	WORD $0x5288480c  // mov	w12, #16960
   206  	WORD $0x72a001ec  // movk	w12, #15, lsl #16
   207  	WORD $0x6b0c017f  // cmp	w11, w12
   208  	WORD $0x528000cc  // mov	w12, #6
   209  	WORD $0x9a893189  // csel	x9, x12, x9, lo
   210  	WORD $0x8b09010c  // add	x12, x8, x9
   211  LBB0_19:
   212  	WORD $0x5286dc69  // mov	w9, #14051
   213  	WORD $0x72a00349  // movk	w9, #26, lsl #16
   214  	WORD $0x9ba97d69  // umull	x9, w11, w9
   215  	WORD $0xd362fd2d  // lsr	x13, x9, #34
   216  	WORD $0x1284e1e9  // mov	w9, #-10000
   217  	WORD $0x1b092da9  // madd	w9, w13, w9, w11
   218  	WORD $0x5290a3eb  // mov	w11, #34079
   219  	WORD $0x72aa3d6b  // movk	w11, #20971, lsl #16
   220  	WORD $0x9bab7d2b  // umull	x11, w9, w11
   221  	WORD $0xd365fd6b  // lsr	x11, x11, #37
   222  	WORD $0x52800c8e  // mov	w14, #100
   223  	WORD $0x1b0ea569  // msub	w9, w11, w14, w9
   224  	WORD $0x7869594e  // ldrh	w14, [x10, w9, uxtw #1]
   225  	WORD $0x786b794b  // ldrh	w11, [x10, x11, lsl #1]
   226  	WORD $0xaa0c03e9  // mov	x9, x12
   227  	WORD $0x781fcd8b  // strh	w11, [x12, #-4]!
   228  	WORD $0x7900058e  // strh	w14, [x12, #2]
   229  	WORD $0xaa0d03eb  // mov	x11, x13
   230  	WORD $0x7101917f  // cmp	w11, #100
   231  	WORD $0x540022e2  // b.hs	LBB0_77 $1116(%rip)
   232  	WORD $0x14000124  // b	LBB0_79 $1168(%rip)
   233  LBB0_20:
   234  	WORD $0x710fa19f  // cmp	w12, #1000
   235  	WORD $0x54000c82  // b.hs	LBB0_42 $400(%rip)
   236  	WORD $0x5280006d  // mov	w13, #3
   237  	WORD $0x0b0b01a9  // add	w9, w13, w11
   238  	WORD $0x5100592e  // sub	w14, w9, #22
   239  	WORD $0x310071df  // cmn	w14, #28
   240  	WORD $0x54000ce9  // b.ls	LBB0_43 $412(%rip)
   241  LBB0_22:
   242  	WORD $0x37f803cb  // tbnz	w11, #31, LBB0_26 $120(%rip)
   243  	WORD $0x2a0d03ee  // mov	w14, w13
   244  	WORD $0x8b0e010b  // add	x11, x8, x14
   245  	WORD $0x53047d8f  // lsr	w15, w12, #4
   246  	WORD $0x7109c5ff  // cmp	w15, #625
   247  	WORD $0x54000483  // b.lo	LBB0_30 $144(%rip)
   248  	WORD $0x5282eb2f  // mov	w15, #5977
   249  	WORD $0x72ba36ef  // movk	w15, #53687, lsl #16
   250  	WORD $0x9baf7d8f  // umull	x15, w12, w15
   251  	WORD $0xd36dfdf0  // lsr	x16, x15, #45
   252  	WORD $0x1284e1ef  // mov	w15, #-10000
   253  	WORD $0x1b0f320c  // madd	w12, w16, w15, w12
   254  	WORD $0x5290a3ef  // mov	w15, #34079
   255  	WORD $0x72aa3d6f  // movk	w15, #20971, lsl #16
   256  	WORD $0x9baf7d8f  // umull	x15, w12, w15
   257  	WORD $0xd365fdef  // lsr	x15, x15, #37
   258  	WORD $0x52800c91  // mov	w17, #100
   259  	WORD $0x1b11b1ec  // msub	w12, w15, w17, w12
   260  Lloh4:
   261  	WORD $0x10004051  // adr	x17, _Digits $2056(%rip)
   262  Lloh5:
   263  	WORD $0x91000231  // add	x17, x17, _Digits@PAGEOFF $0(%rip)
   264  	WORD $0x786c5a2c  // ldrh	w12, [x17, w12, uxtw #1]
   265  	WORD $0x786f7a31  // ldrh	w17, [x17, x15, lsl #1]
   266  	WORD $0xaa0b03ef  // mov	x15, x11
   267  	WORD $0x781fcdf1  // strh	w17, [x15, #-4]!
   268  	WORD $0x790005ec  // strh	w12, [x15, #2]
   269  	WORD $0xaa1003ec  // mov	x12, x16
   270  	WORD $0x7101919f  // cmp	w12, #100
   271  	WORD $0x54000222  // b.hs	LBB0_31 $68(%rip)
   272  LBB0_25:
   273  	WORD $0xaa0c03ef  // mov	x15, x12
   274  	WORD $0x1400001f  // b	LBB0_33 $124(%rip)
   275  LBB0_26:
   276  	WORD $0x7100013f  // cmp	w9, #0
   277  	WORD $0x540024cc  // b.gt	LBB0_88 $1176(%rip)
   278  	WORD $0x5285c60e  // mov	w14, #11824
   279  	WORD $0x7800250e  // strh	w14, [x8], #2
   280  	WORD $0x36f82469  // tbz	w9, #31, LBB0_88 $1164(%rip)
   281  	WORD $0x2a2d03ee  // mvn	w14, w13
   282  	WORD $0x4b0b01ce  // sub	w14, w14, w11
   283  	WORD $0x7100fddf  // cmp	w14, #63
   284  	WORD $0x54002182  // b.hs	LBB0_83 $1072(%rip)
   285  	WORD $0x5280000e  // mov	w14, #0
   286  	WORD $0x14000117  // b	LBB0_86 $1116(%rip)
   287  LBB0_30:
   288  	WORD $0xaa0b03ef  // mov	x15, x11
   289  	WORD $0x7101919f  // cmp	w12, #100
   290  	WORD $0x54fffe23  // b.lo	LBB0_25 $-60(%rip)
   291  LBB0_31:
   292  	WORD $0xd10005f0  // sub	x16, x15, #1
   293  	WORD $0x5290a3f1  // mov	w17, #34079
   294  	WORD $0x72aa3d71  // movk	w17, #20971, lsl #16
   295  	WORD $0x52800c81  // mov	w1, #100
   296  Lloh6:
   297  	WORD $0x10003c82  // adr	x2, _Digits $1936(%rip)
   298  Lloh7:
   299  	WORD $0x91000042  // add	x2, x2, _Digits@PAGEOFF $0(%rip)
   300  LBB0_32:
   301  	WORD $0x9bb17d8f  // umull	x15, w12, w17
   302  	WORD $0xd365fdef  // lsr	x15, x15, #37
   303  	WORD $0x1b01b1e3  // msub	w3, w15, w1, w12
   304  	WORD $0x78635843  // ldrh	w3, [x2, w3, uxtw #1]
   305  	WORD $0x781ff203  // sturh	w3, [x16, #-1]
   306  	WORD $0xd1000a10  // sub	x16, x16, #2
   307  	WORD $0x53047d83  // lsr	w3, w12, #4
   308  	WORD $0xaa0f03ec  // mov	x12, x15
   309  	WORD $0x7109c07f  // cmp	w3, #624
   310  	WORD $0x54fffee8  // b.hi	LBB0_32 $-36(%rip)
   311  LBB0_33:
   312  	WORD $0x8b09010c  // add	x12, x8, x9
   313  	WORD $0x710029ff  // cmp	w15, #10
   314  	WORD $0x54000163  // b.lo	LBB0_36 $44(%rip)
   315  Lloh8:
   316  	WORD $0x10003ab0  // adr	x16, _Digits $1876(%rip)
   317  Lloh9:
   318  	WORD $0x91000210  // add	x16, x16, _Digits@PAGEOFF $0(%rip)
   319  	WORD $0x786f5a0f  // ldrh	w15, [x16, w15, uxtw #1]
   320  	WORD $0x7900010f  // strh	w15, [x8]
   321  	WORD $0x6b0901bf  // cmp	w13, w9
   322  	WORD $0x54000123  // b.lo	LBB0_37 $36(%rip)
   323  LBB0_35:
   324  	WORD $0x4b000180  // sub	w0, w12, w0
   325  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   326  	WORD $0x910083ff  // add	sp, sp, #32
   327  	WORD $0xd65f03c0  // ret
   328  LBB0_36:
   329  	WORD $0x321c05ef  // orr	w15, w15, #0x30
   330  	WORD $0x3900010f  // strb	w15, [x8]
   331  	WORD $0x6b0901bf  // cmp	w13, w9
   332  	WORD $0x54ffff22  // b.hs	LBB0_35 $-28(%rip)
   333  LBB0_37:
   334  	WORD $0x8b0a0008  // add	x8, x0, x10
   335  	WORD $0x8b0e010d  // add	x13, x8, x14
   336  	WORD $0x910005af  // add	x15, x13, #1
   337  	WORD $0x8b090108  // add	x8, x8, x9
   338  	WORD $0xeb0801ff  // cmp	x15, x8
   339  	WORD $0x9a8d9508  // csinc	x8, x8, x13, ls
   340  	WORD $0xcb0d0108  // sub	x8, x8, x13
   341  	WORD $0xf100211f  // cmp	x8, #8
   342  	WORD $0x54003663  // b.lo	LBB0_128 $1740(%rip)
   343  	WORD $0xf101011f  // cmp	x8, #64
   344  	WORD $0x540012a2  // b.hs	LBB0_67 $596(%rip)
   345  	WORD $0xd2800009  // mov	x9, #0
   346  	WORD $0x140000a1  // b	LBB0_71 $644(%rip)
   347  LBB0_40:
   348  	WORD $0x7100297f  // cmp	w11, #10
   349  	WORD $0x540011a2  // b.hs	LBB0_65 $564(%rip)
   350  	WORD $0x52800029  // mov	w9, #1
   351  	WORD $0x140000ad  // b	LBB0_76 $692(%rip)
   352  LBB0_42:
   353  	WORD $0x53047d89  // lsr	w9, w12, #4
   354  	WORD $0x7109c53f  // cmp	w9, #625
   355  	WORD $0x52800089  // mov	w9, #4
   356  	WORD $0x1a89352d  // cinc	w13, w9, hs
   357  	WORD $0x0b0b01a9  // add	w9, w13, w11
   358  	WORD $0x5100592e  // sub	w14, w9, #22
   359  	WORD $0x310071df  // cmn	w14, #28
   360  	WORD $0x54fff368  // b.hi	LBB0_22 $-404(%rip)
   361  LBB0_43:
   362  	WORD $0x9100050b  // add	x11, x8, #1
   363  	WORD $0x2a0d03ed  // mov	w13, w13
   364  	WORD $0x8b0d0170  // add	x16, x11, x13
   365  	WORD $0x53047d8e  // lsr	w14, w12, #4
   366  	WORD $0x7109c5df  // cmp	w14, #625
   367  	WORD $0x540002c3  // b.lo	LBB0_46 $88(%rip)
   368  	WORD $0x5282eb2e  // mov	w14, #5977
   369  	WORD $0x72ba36ee  // movk	w14, #53687, lsl #16
   370  	WORD $0x9bae7d8e  // umull	x14, w12, w14
   371  	WORD $0xd36dfdcf  // lsr	x15, x14, #45
   372  	WORD $0x1284e1ee  // mov	w14, #-10000
   373  	WORD $0x1b0e31ec  // madd	w12, w15, w14, w12
   374  	WORD $0x340002ac  // cbz	w12, LBB0_48 $84(%rip)
   375  	WORD $0xd280000e  // mov	x14, #0
   376  	WORD $0x5290a3f1  // mov	w17, #34079
   377  	WORD $0x72aa3d71  // movk	w17, #20971, lsl #16
   378  	WORD $0x9bb17d91  // umull	x17, w12, w17
   379  	WORD $0xd365fe31  // lsr	x17, x17, #37
   380  	WORD $0x52800c81  // mov	w1, #100
   381  	WORD $0x1b01b22c  // msub	w12, w17, w1, w12
   382  Lloh10:
   383  	WORD $0x10003341  // adr	x1, _Digits $1640(%rip)
   384  Lloh11:
   385  	WORD $0x91000021  // add	x1, x1, _Digits@PAGEOFF $0(%rip)
   386  	WORD $0x786c582c  // ldrh	w12, [x1, w12, uxtw #1]
   387  	WORD $0x781fe20c  // sturh	w12, [x16, #-2]
   388  	WORD $0x7871782c  // ldrh	w12, [x1, x17, lsl #1]
   389  	WORD $0x781fc20c  // sturh	w12, [x16, #-4]
   390  	WORD $0x14000008  // b	LBB0_49 $32(%rip)
   391  LBB0_46:
   392  	WORD $0xd280000e  // mov	x14, #0
   393  	WORD $0xaa0c03ef  // mov	x15, x12
   394  	WORD $0x710191ff  // cmp	w15, #100
   395  	WORD $0x540000e2  // b.hs	LBB0_50 $28(%rip)
   396  LBB0_47:
   397  	WORD $0xaa0f03ec  // mov	x12, x15
   398  	WORD $0x14000015  // b	LBB0_52 $84(%rip)
   399  LBB0_48:
   400  	WORD $0x9280006e  // mov	x14, #-4
   401  LBB0_49:
   402  	WORD $0xd1001210  // sub	x16, x16, #4
   403  	WORD $0x710191ff  // cmp	w15, #100
   404  	WORD $0x54ffff63  // b.lo	LBB0_47 $-20(%rip)
   405  LBB0_50:
   406  	WORD $0xd1000610  // sub	x16, x16, #1
   407  	WORD $0x5290a3f1  // mov	w17, #34079
   408  	WORD $0x72aa3d71  // movk	w17, #20971, lsl #16
   409  	WORD $0x52800c81  // mov	w1, #100
   410  Lloh12:
   411  	WORD $0x100030a2  // adr	x2, _Digits $1556(%rip)
   412  Lloh13:
   413  	WORD $0x91000042  // add	x2, x2, _Digits@PAGEOFF $0(%rip)
   414  LBB0_51:
   415  	WORD $0x9bb17dec  // umull	x12, w15, w17
   416  	WORD $0xd365fd8c  // lsr	x12, x12, #37
   417  	WORD $0x1b01bd83  // msub	w3, w12, w1, w15
   418  	WORD $0x78635843  // ldrh	w3, [x2, w3, uxtw #1]
   419  	WORD $0x781ff203  // sturh	w3, [x16, #-1]
   420  	WORD $0xd1000a10  // sub	x16, x16, #2
   421  	WORD $0x53047de3  // lsr	w3, w15, #4
   422  	WORD $0xaa0c03ef  // mov	x15, x12
   423  	WORD $0x7109c07f  // cmp	w3, #624
   424  	WORD $0x54fffee8  // b.hi	LBB0_51 $-36(%rip)
   425  LBB0_52:
   426  	WORD $0x7100299f  // cmp	w12, #10
   427  	WORD $0x54000123  // b.lo	LBB0_54 $36(%rip)
   428  Lloh14:
   429  	WORD $0x10002eef  // adr	x15, _Digits $1500(%rip)
   430  Lloh15:
   431  	WORD $0x910001ef  // add	x15, x15, _Digits@PAGEOFF $0(%rip)
   432  	WORD $0x8b2c45ef  // add	x15, x15, w12, uxtw #1
   433  	WORD $0x394001ec  // ldrb	w12, [x15]
   434  	WORD $0x3900050c  // strb	w12, [x8, #1]
   435  	WORD $0x394005ef  // ldrb	w15, [x15, #1]
   436  	WORD $0x3900090f  // strb	w15, [x8, #2]
   437  	WORD $0x14000003  // b	LBB0_55 $12(%rip)
   438  LBB0_54:
   439  	WORD $0x321c058c  // orr	w12, w12, #0x30
   440  	WORD $0x3900016c  // strb	w12, [x11]
   441  LBB0_55:
   442  	WORD $0x8b0a01ca  // add	x10, x14, x10
   443  	WORD $0x8b0a000a  // add	x10, x0, x10
   444  	WORD $0x910005ce  // add	x14, x14, #1
   445  LBB0_56:
   446  	WORD $0x386d694f  // ldrb	w15, [x10, x13]
   447  	WORD $0xd100054a  // sub	x10, x10, #1
   448  	WORD $0xd10005ce  // sub	x14, x14, #1
   449  	WORD $0x7100c1ff  // cmp	w15, #48
   450  	WORD $0x54ffff80  // b.eq	LBB0_56 $-16(%rip)
   451  	WORD $0x3900010c  // strb	w12, [x8]
   452  	WORD $0x8b0e01ac  // add	x12, x13, x14
   453  	WORD $0x8b0d0148  // add	x8, x10, x13
   454  	WORD $0xf100099f  // cmp	x12, #2
   455  	WORD $0x540000ab  // b.lt	LBB0_59 $20(%rip)
   456  	WORD $0x91000908  // add	x8, x8, #2
   457  	WORD $0x528005ca  // mov	w10, #46
   458  	WORD $0x3900016a  // strb	w10, [x11]
   459  	WORD $0x14000002  // b	LBB0_60 $8(%rip)
   460  LBB0_59:
   461  	WORD $0x91000508  // add	x8, x8, #1
   462  LBB0_60:
   463  	WORD $0x52800caa  // mov	w10, #101
   464  	WORD $0x3900010a  // strb	w10, [x8]
   465  	WORD $0x5280002a  // mov	w10, #1
   466  	WORD $0x4b09014a  // sub	w10, w10, w9
   467  	WORD $0x71000529  // subs	w9, w9, #1
   468  	WORD $0x5280056b  // mov	w11, #43
   469  	WORD $0x528005ac  // mov	w12, #45
   470  	WORD $0x1a8bb18b  // csel	w11, w12, w11, lt
   471  	WORD $0x1a89b149  // csel	w9, w10, w9, lt
   472  	WORD $0x3900050b  // strb	w11, [x8, #1]
   473  	WORD $0x7101913f  // cmp	w9, #100
   474  	WORD $0x54000243  // b.lo	LBB0_62 $72(%rip)
   475  	WORD $0x529999aa  // mov	w10, #52429
   476  	WORD $0x72b9998a  // movk	w10, #52428, lsl #16
   477  	WORD $0x9baa7d2a  // umull	x10, w9, w10
   478  	WORD $0xd363fd4a  // lsr	x10, x10, #35
   479  	WORD $0x5280014b  // mov	w11, #10
   480  	WORD $0x1b0ba549  // msub	w9, w10, w11, w9
   481  Lloh16:
   482  	WORD $0x1000292b  // adr	x11, _Digits $1316(%rip)
   483  Lloh17:
   484  	WORD $0x9100016b  // add	x11, x11, _Digits@PAGEOFF $0(%rip)
   485  	WORD $0x786a796a  // ldrh	w10, [x11, x10, lsl #1]
   486  	WORD $0x7900050a  // strh	w10, [x8, #2]
   487  	WORD $0x321c0529  // orr	w9, w9, #0x30
   488  	WORD $0x39001109  // strb	w9, [x8, #4]
   489  	WORD $0x9100150c  // add	x12, x8, #5
   490  	WORD $0x4b000180  // sub	w0, w12, w0
   491  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   492  	WORD $0x910083ff  // add	sp, sp, #32
   493  	WORD $0xd65f03c0  // ret
   494  LBB0_62:
   495  	WORD $0x7100293f  // cmp	w9, #10
   496  	WORD $0x54000143  // b.lo	LBB0_64 $40(%rip)
   497  Lloh18:
   498  	WORD $0x1000278a  // adr	x10, _Digits $1264(%rip)
   499  Lloh19:
   500  	WORD $0x9100014a  // add	x10, x10, _Digits@PAGEOFF $0(%rip)
   501  	WORD $0x78695949  // ldrh	w9, [x10, w9, uxtw #1]
   502  	WORD $0x79000509  // strh	w9, [x8, #2]
   503  	WORD $0x9100110c  // add	x12, x8, #4
   504  	WORD $0x4b000180  // sub	w0, w12, w0
   505  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   506  	WORD $0x910083ff  // add	sp, sp, #32
   507  	WORD $0xd65f03c0  // ret
   508  LBB0_64:
   509  	WORD $0x321c0529  // orr	w9, w9, #0x30
   510  	WORD $0x91000d0c  // add	x12, x8, #3
   511  	WORD $0x39000909  // strb	w9, [x8, #2]
   512  	WORD $0x4b000180  // sub	w0, w12, w0
   513  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   514  	WORD $0x910083ff  // add	sp, sp, #32
   515  	WORD $0xd65f03c0  // ret
   516  LBB0_65:
   517  	WORD $0x7101917f  // cmp	w11, #100
   518  	WORD $0x540003c2  // b.hs	LBB0_74 $120(%rip)
   519  	WORD $0x52800049  // mov	w9, #2
   520  	WORD $0x1400001f  // b	LBB0_76 $124(%rip)
   521  LBB0_67:
   522  	WORD $0x927ae509  // and	x9, x8, #0xffffffffffffffc0
   523  	WORD $0x8b0e014d  // add	x13, x10, x14
   524  	WORD $0x8b0001ad  // add	x13, x13, x0
   525  	WORD $0x910081ad  // add	x13, x13, #32
   526  	WORD $0x4f01e600  // movi.16b	v0, #48
   527  	WORD $0xaa0903ef  // mov	x15, x9
   528  LBB0_68:
   529  	WORD $0xad3f01a0  // stp	q0, q0, [x13, #-32]
   530  	WORD $0xac8201a0  // stp	q0, q0, [x13], #64
   531  	WORD $0xf10101ef  // subs	x15, x15, #64
   532  	WORD $0x54ffffa1  // b.ne	LBB0_68 $-12(%rip)
   533  	WORD $0xeb09011f  // cmp	x8, x9
   534  	WORD $0x54ffe9c0  // b.eq	LBB0_35 $-712(%rip)
   535  	WORD $0xf27d091f  // tst	x8, #0x38
   536  	WORD $0x540021c0  // b.eq	LBB0_127 $1080(%rip)
   537  LBB0_71:
   538  	WORD $0x927df10d  // and	x13, x8, #0xfffffffffffffff8
   539  	WORD $0x8b0d016b  // add	x11, x11, x13
   540  	WORD $0x8b0a012a  // add	x10, x9, x10
   541  	WORD $0x8b0e014a  // add	x10, x10, x14
   542  	WORD $0x8b0a000a  // add	x10, x0, x10
   543  	WORD $0xcb0d0129  // sub	x9, x9, x13
   544  	WORD $0x0f01e600  // movi.8b	v0, #48
   545  LBB0_72:
   546  	WORD $0xfc008540  // str	d0, [x10], #8
   547  	WORD $0xb1002129  // adds	x9, x9, #8
   548  	WORD $0x54ffffc1  // b.ne	LBB0_72 $-8(%rip)
   549  	WORD $0xeb0d011f  // cmp	x8, x13
   550  	WORD $0x54ffe800  // b.eq	LBB0_35 $-768(%rip)
   551  	WORD $0x14000102  // b	LBB0_128 $1032(%rip)
   552  LBB0_74:
   553  	WORD $0x710f9d7f  // cmp	w11, #999
   554  	WORD $0x54000448  // b.hi	LBB0_82 $136(%rip)
   555  	WORD $0x52800069  // mov	w9, #3
   556  LBB0_76:
   557  	WORD $0x8b090109  // add	x9, x8, x9
   558  	WORD $0xaa0903ec  // mov	x12, x9
   559  	WORD $0x7101917f  // cmp	w11, #100
   560  	WORD $0x540001e3  // b.lo	LBB0_79 $60(%rip)
   561  LBB0_77:
   562  	WORD $0xd100058c  // sub	x12, x12, #1
   563  	WORD $0x5290a3ed  // mov	w13, #34079
   564  	WORD $0x72aa3d6d  // movk	w13, #20971, lsl #16
   565  	WORD $0x52800c8e  // mov	w14, #100
   566  LBB0_78:
   567  	WORD $0xaa0b03ef  // mov	x15, x11
   568  	WORD $0x9bad7d6b  // umull	x11, w11, w13
   569  	WORD $0xd365fd6b  // lsr	x11, x11, #37
   570  	WORD $0x1b0ebd70  // msub	w16, w11, w14, w15
   571  	WORD $0x78705950  // ldrh	w16, [x10, w16, uxtw #1]
   572  	WORD $0x781ff190  // sturh	w16, [x12, #-1]
   573  	WORD $0xd100098c  // sub	x12, x12, #2
   574  	WORD $0x53047def  // lsr	w15, w15, #4
   575  	WORD $0x7109c1ff  // cmp	w15, #624
   576  	WORD $0x54fffee8  // b.hi	LBB0_78 $-36(%rip)
   577  LBB0_79:
   578  	WORD $0x7100297f  // cmp	w11, #10
   579  	WORD $0x540000e3  // b.lo	LBB0_81 $28(%rip)
   580  	WORD $0x786b594a  // ldrh	w10, [x10, w11, uxtw #1]
   581  	WORD $0x7900010a  // strh	w10, [x8]
   582  	WORD $0x4b000120  // sub	w0, w9, w0
   583  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   584  	WORD $0x910083ff  // add	sp, sp, #32
   585  	WORD $0xd65f03c0  // ret
   586  LBB0_81:
   587  	WORD $0x321c056a  // orr	w10, w11, #0x30
   588  	WORD $0x3900010a  // strb	w10, [x8]
   589  	WORD $0x4b000120  // sub	w0, w9, w0
   590  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   591  	WORD $0x910083ff  // add	sp, sp, #32
   592  	WORD $0xd65f03c0  // ret
   593  LBB0_82:
   594  	WORD $0x53047d69  // lsr	w9, w11, #4
   595  	WORD $0x5280008c  // mov	w12, #4
   596  	WORD $0x7109c53f  // cmp	w9, #625
   597  	WORD $0x9a8c3589  // cinc	x9, x12, hs
   598  	WORD $0x8b09010c  // add	x12, x8, x9
   599  	WORD $0xaa0c03e9  // mov	x9, x12
   600  	WORD $0x54ffd682  // b.hs	LBB0_19 $-1328(%rip)
   601  	WORD $0x17ffffdd  // b	LBB0_77 $-140(%rip)
   602  LBB0_83:
   603  	WORD $0x910005cf  // add	x15, x14, #1
   604  	WORD $0x927a69ee  // and	x14, x15, #0x1ffffffc0
   605  	WORD $0x8b0e0108  // add	x8, x8, x14
   606  	WORD $0x8b00014a  // add	x10, x10, x0
   607  	WORD $0x9100894a  // add	x10, x10, #34
   608  	WORD $0x4f01e600  // movi.16b	v0, #48
   609  	WORD $0xaa0e03f0  // mov	x16, x14
   610  LBB0_84:
   611  	WORD $0xad3f0140  // stp	q0, q0, [x10, #-32]
   612  	WORD $0xac820140  // stp	q0, q0, [x10], #64
   613  	WORD $0xf1010210  // subs	x16, x16, #64
   614  	WORD $0x54ffffa1  // b.ne	LBB0_84 $-12(%rip)
   615  	WORD $0xeb0e01ff  // cmp	x15, x14
   616  	WORD $0x540000e0  // b.eq	LBB0_88 $28(%rip)
   617  LBB0_86:
   618  	WORD $0x0b0901ca  // add	w10, w14, w9
   619  	WORD $0x4b0a03ea  // neg	w10, w10
   620  	WORD $0x5280060e  // mov	w14, #48
   621  LBB0_87:
   622  	WORD $0x3800150e  // strb	w14, [x8], #1
   623  	WORD $0x7100054a  // subs	w10, w10, #1
   624  	WORD $0x54ffffc1  // b.ne	LBB0_87 $-8(%rip)
   625  LBB0_88:
   626  	WORD $0x2a0d03ee  // mov	w14, w13
   627  	WORD $0x8b0e010d  // add	x13, x8, x14
   628  	WORD $0x53047d8a  // lsr	w10, w12, #4
   629  	WORD $0x7109c55f  // cmp	w10, #625
   630  	WORD $0x540002c3  // b.lo	LBB0_91 $88(%rip)
   631  	WORD $0x5282eb2a  // mov	w10, #5977
   632  	WORD $0x72ba36ea  // movk	w10, #53687, lsl #16
   633  	WORD $0x9baa7d8a  // umull	x10, w12, w10
   634  	WORD $0xd36dfd4a  // lsr	x10, x10, #45
   635  	WORD $0x1284e1ef  // mov	w15, #-10000
   636  	WORD $0x1b0f314c  // madd	w12, w10, w15, w12
   637  	WORD $0x340002cc  // cbz	w12, LBB0_93 $88(%rip)
   638  	WORD $0xd280000f  // mov	x15, #0
   639  	WORD $0x5290a3f0  // mov	w16, #34079
   640  	WORD $0x72aa3d70  // movk	w16, #20971, lsl #16
   641  	WORD $0x9bb07d90  // umull	x16, w12, w16
   642  	WORD $0xd365fe10  // lsr	x16, x16, #37
   643  	WORD $0x52800c91  // mov	w17, #100
   644  	WORD $0x1b11b20c  // msub	w12, w16, w17, w12
   645  Lloh20:
   646  	WORD $0x10001791  // adr	x17, _Digits $752(%rip)
   647  Lloh21:
   648  	WORD $0x91000231  // add	x17, x17, _Digits@PAGEOFF $0(%rip)
   649  	WORD $0x786c5a2c  // ldrh	w12, [x17, w12, uxtw #1]
   650  	WORD $0x781fe1ac  // sturh	w12, [x13, #-2]
   651  	WORD $0x78707a2c  // ldrh	w12, [x17, x16, lsl #1]
   652  	WORD $0x781fc1ac  // sturh	w12, [x13, #-4]
   653  	WORD $0x14000009  // b	LBB0_94 $36(%rip)
   654  LBB0_91:
   655  	WORD $0xd280000f  // mov	x15, #0
   656  	WORD $0xaa0d03f0  // mov	x16, x13
   657  	WORD $0xaa0c03ea  // mov	x10, x12
   658  	WORD $0x7101915f  // cmp	w10, #100
   659  	WORD $0x540000e2  // b.hs	LBB0_95 $28(%rip)
   660  LBB0_92:
   661  	WORD $0xaa0a03f0  // mov	x16, x10
   662  	WORD $0x14000015  // b	LBB0_97 $84(%rip)
   663  LBB0_93:
   664  	WORD $0x9280006f  // mov	x15, #-4
   665  LBB0_94:
   666  	WORD $0xd10011b0  // sub	x16, x13, #4
   667  	WORD $0x7101915f  // cmp	w10, #100
   668  	WORD $0x54ffff63  // b.lo	LBB0_92 $-20(%rip)
   669  LBB0_95:
   670  	WORD $0xd100060c  // sub	x12, x16, #1
   671  	WORD $0x5290a3f1  // mov	w17, #34079
   672  	WORD $0x72aa3d71  // movk	w17, #20971, lsl #16
   673  	WORD $0x52800c81  // mov	w1, #100
   674  Lloh22:
   675  	WORD $0x100014c2  // adr	x2, _Digits $664(%rip)
   676  Lloh23:
   677  	WORD $0x91000042  // add	x2, x2, _Digits@PAGEOFF $0(%rip)
   678  LBB0_96:
   679  	WORD $0x9bb17d50  // umull	x16, w10, w17
   680  	WORD $0xd365fe10  // lsr	x16, x16, #37
   681  	WORD $0x1b01aa03  // msub	w3, w16, w1, w10
   682  	WORD $0x78635843  // ldrh	w3, [x2, w3, uxtw #1]
   683  	WORD $0x781ff183  // sturh	w3, [x12, #-1]
   684  	WORD $0xd100098c  // sub	x12, x12, #2
   685  	WORD $0x53047d43  // lsr	w3, w10, #4
   686  	WORD $0xaa1003ea  // mov	x10, x16
   687  	WORD $0x7109c07f  // cmp	w3, #624
   688  	WORD $0x54fffee8  // b.hi	LBB0_96 $-36(%rip)
   689  LBB0_97:
   690  	WORD $0x71002a1f  // cmp	w16, #10
   691  	WORD $0x540000c3  // b.lo	LBB0_99 $24(%rip)
   692  Lloh24:
   693  	WORD $0x1000130a  // adr	x10, _Digits $608(%rip)
   694  Lloh25:
   695  	WORD $0x9100014a  // add	x10, x10, _Digits@PAGEOFF $0(%rip)
   696  	WORD $0x7870594a  // ldrh	w10, [x10, w16, uxtw #1]
   697  	WORD $0x7900010a  // strh	w10, [x8]
   698  	WORD $0x14000003  // b	LBB0_100 $12(%rip)
   699  LBB0_99:
   700  	WORD $0x321c060a  // orr	w10, w16, #0x30
   701  	WORD $0x3900010a  // strb	w10, [x8]
   702  LBB0_100:
   703  	WORD $0xd280000a  // mov	x10, #0
   704  	WORD $0x8b0f01ad  // add	x13, x13, x15
   705  	WORD $0x4b0f016c  // sub	w12, w11, w15
   706  	WORD $0x51000581  // sub	w1, w12, #1
   707  	WORD $0x51000991  // sub	w17, w12, #2
   708  	WORD $0xaa1103f0  // mov	x16, x17
   709  LBB0_101:
   710  	WORD $0x8b0a01ac  // add	x12, x13, x10
   711  	WORD $0x385ff18c  // ldurb	w12, [x12, #-1]
   712  	WORD $0xd100054a  // sub	x10, x10, #1
   713  	WORD $0x11000610  // add	w16, w16, #1
   714  	WORD $0x7100c19f  // cmp	w12, #48
   715  	WORD $0x54ffff60  // b.eq	LBB0_101 $-20(%rip)
   716  	WORD $0x8b0a01ac  // add	x12, x13, x10
   717  	WORD $0x9100058c  // add	x12, x12, #1
   718  	WORD $0x7100053f  // cmp	w9, #1
   719  	WORD $0x54ffd66b  // b.lt	LBB0_35 $-1332(%rip)
   720  	WORD $0x0b0e01e2  // add	w2, w15, w14
   721  	WORD $0x0b0a0042  // add	w2, w2, w10
   722  	WORD $0x11000442  // add	w2, w2, #1
   723  	WORD $0x6b02013f  // cmp	w9, w2
   724  	WORD $0x5400016a  // b.ge	LBB0_107 $44(%rip)
   725  	WORD $0x4b0b01ee  // sub	w14, w15, w11
   726  	WORD $0x110005cb  // add	w11, w14, #1
   727  	WORD $0x8b0a016c  // add	x12, x11, x10
   728  	WORD $0x7100059f  // cmp	w12, #1
   729  	WORD $0x54000c6b  // b.lt	LBB0_126 $396(%rip)
   730  	WORD $0x92407d8b  // and	x11, x12, #0xffffffff
   731  	WORD $0x7100219f  // cmp	w12, #8
   732  	WORD $0x540001a2  // b.hs	LBB0_110 $52(%rip)
   733  	WORD $0xd280000c  // mov	x12, #0
   734  	WORD $0x14000055  // b	LBB0_124 $340(%rip)
   735  LBB0_107:
   736  	WORD $0xcb0a0029  // sub	x9, x1, x10
   737  	WORD $0x7100053f  // cmp	w9, #1
   738  	WORD $0x54ffd42b  // b.lt	LBB0_35 $-1404(%rip)
   739  	WORD $0x4b0f016b  // sub	w11, w11, w15
   740  	WORD $0x4b0a016b  // sub	w11, w11, w10
   741  	WORD $0x5100096b  // sub	w11, w11, #2
   742  	WORD $0x7100fd7f  // cmp	w11, #63
   743  	WORD $0x540000e2  // b.hs	LBB0_112 $28(%rip)
   744  	WORD $0x5280000b  // mov	w11, #0
   745  	WORD $0x1400001f  // b	LBB0_115 $124(%rip)
   746  LBB0_110:
   747  	WORD $0x7101019f  // cmp	w12, #64
   748  	WORD $0x54000462  // b.hs	LBB0_117 $140(%rip)
   749  	WORD $0xd280000c  // mov	x12, #0
   750  	WORD $0x14000038  // b	LBB0_121 $224(%rip)
   751  LBB0_112:
   752  	WORD $0xd2800001  // mov	x1, #0
   753  	WORD $0xcb0a0222  // sub	x2, x17, x10
   754  	WORD $0x91000571  // add	x17, x11, #1
   755  	WORD $0x927a6a2b  // and	x11, x17, #0x1ffffffc0
   756  	WORD $0x9100060c  // add	x12, x16, #1
   757  	WORD $0x927a698c  // and	x12, x12, #0x1ffffffc0
   758  	WORD $0x8b0e01ee  // add	x14, x15, x14
   759  	WORD $0x8b0e0108  // add	x8, x8, x14
   760  	WORD $0x8b0a0108  // add	x8, x8, x10
   761  	WORD $0x8b0c0108  // add	x8, x8, x12
   762  	WORD $0x9100050c  // add	x12, x8, #1
   763  	WORD $0x92407c48  // and	x8, x2, #0xffffffff
   764  	WORD $0x91000508  // add	x8, x8, #1
   765  	WORD $0x927a6908  // and	x8, x8, #0x1ffffffc0
   766  	WORD $0x4f01e600  // movi.16b	v0, #48
   767  LBB0_113:
   768  	WORD $0x8b0101ae  // add	x14, x13, x1
   769  	WORD $0x8b0a01ce  // add	x14, x14, x10
   770  	WORD $0x3c8011c0  // stur	q0, [x14, #1]
   771  	WORD $0x3c8111c0  // stur	q0, [x14, #17]
   772  	WORD $0x3c8211c0  // stur	q0, [x14, #33]
   773  	WORD $0x3c8311c0  // stur	q0, [x14, #49]
   774  	WORD $0x91010021  // add	x1, x1, #64
   775  	WORD $0xeb01011f  // cmp	x8, x1
   776  	WORD $0x54ffff01  // b.ne	LBB0_113 $-32(%rip)
   777  	WORD $0xeb0b023f  // cmp	x17, x11
   778  	WORD $0x54ffcf80  // b.eq	LBB0_35 $-1552(%rip)
   779  LBB0_115:
   780  	WORD $0x52800608  // mov	w8, #48
   781  LBB0_116:
   782  	WORD $0x38001588  // strb	w8, [x12], #1
   783  	WORD $0x1100056b  // add	w11, w11, #1
   784  	WORD $0x6b09017f  // cmp	w11, w9
   785  	WORD $0x54ffffab  // b.lt	LBB0_116 $-12(%rip)
   786  	WORD $0x17fffe76  // b	LBB0_35 $-1576(%rip)
   787  LBB0_117:
   788  	WORD $0xd280000f  // mov	x15, #0
   789  	WORD $0x927a616c  // and	x12, x11, #0x7fffffc0
   790  	WORD $0x0b0a01d0  // add	w16, w14, w10
   791  	WORD $0x11000610  // add	w16, w16, #1
   792  	WORD $0x927a6210  // and	x16, x16, #0x7fffffc0
   793  	WORD $0xcb1003f0  // neg	x16, x16
   794  	WORD $0x8b0a01b1  // add	x17, x13, x10
   795  LBB0_118:
   796  	WORD $0x8b0f0221  // add	x1, x17, x15
   797  	WORD $0x3cdf1020  // ldur	q0, [x1, #-15]
   798  	WORD $0x3cde1021  // ldur	q1, [x1, #-31]
   799  	WORD $0x3cdd1022  // ldur	q2, [x1, #-47]
   800  	WORD $0x3cdc1023  // ldur	q3, [x1, #-63]
   801  	WORD $0x3c9f2020  // stur	q0, [x1, #-14]
   802  	WORD $0x3c9e2021  // stur	q1, [x1, #-30]
   803  	WORD $0x3c9d2022  // stur	q2, [x1, #-46]
   804  	WORD $0x3c9c2023  // stur	q3, [x1, #-62]
   805  	WORD $0xd10101ef  // sub	x15, x15, #64
   806  	WORD $0xeb0f021f  // cmp	x16, x15
   807  	WORD $0x54fffea1  // b.ne	LBB0_118 $-44(%rip)
   808  	WORD $0xeb0b019f  // cmp	x12, x11
   809  	WORD $0x54000360  // b.eq	LBB0_126 $108(%rip)
   810  	WORD $0xf27d097f  // tst	x11, #0x38
   811  	WORD $0x54000200  // b.eq	LBB0_124 $64(%rip)
   812  LBB0_121:
   813  	WORD $0xcb0c03ef  // neg	x15, x12
   814  	WORD $0x927d6d6c  // and	x12, x11, #0x7ffffff8
   815  	WORD $0x0b0a01ce  // add	w14, w14, w10
   816  	WORD $0x110005ce  // add	w14, w14, #1
   817  	WORD $0x927d6dce  // and	x14, x14, #0x7ffffff8
   818  	WORD $0xcb0e03ee  // neg	x14, x14
   819  	WORD $0x8b0a01b0  // add	x16, x13, x10
   820  LBB0_122:
   821  	WORD $0x8b0f0211  // add	x17, x16, x15
   822  	WORD $0xfc5f9220  // ldur	d0, [x17, #-7]
   823  	WORD $0xfc1fa220  // stur	d0, [x17, #-6]
   824  	WORD $0xd10021ef  // sub	x15, x15, #8
   825  	WORD $0xeb0f01df  // cmp	x14, x15
   826  	WORD $0x54ffff61  // b.ne	LBB0_122 $-20(%rip)
   827  	WORD $0xeb0b019f  // cmp	x12, x11
   828  	WORD $0x54000140  // b.eq	LBB0_126 $40(%rip)
   829  LBB0_124:
   830  	WORD $0xcb0c03ee  // neg	x14, x12
   831  	WORD $0x8b0a01af  // add	x15, x13, x10
   832  LBB0_125:
   833  	WORD $0x8b0e01f0  // add	x16, x15, x14
   834  	WORD $0x386e69f1  // ldrb	w17, [x15, x14]
   835  	WORD $0x39000611  // strb	w17, [x16, #1]
   836  	WORD $0x9100058c  // add	x12, x12, #1
   837  	WORD $0xd10005ce  // sub	x14, x14, #1
   838  	WORD $0xeb0b019f  // cmp	x12, x11
   839  	WORD $0x54ffff43  // b.lo	LBB0_125 $-24(%rip)
   840  LBB0_126:
   841  	WORD $0x528005cb  // mov	w11, #46
   842  	WORD $0x3829490b  // strb	w11, [x8, w9, uxtw]
   843  	WORD $0x8b0a01a8  // add	x8, x13, x10
   844  	WORD $0x9100090c  // add	x12, x8, #2
   845  	WORD $0x4b000180  // sub	w0, w12, w0
   846  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   847  	WORD $0x910083ff  // add	sp, sp, #32
   848  	WORD $0xd65f03c0  // ret
   849  LBB0_127:
   850  	WORD $0x8b09016b  // add	x11, x11, x9
   851  LBB0_128:
   852  	WORD $0x52800608  // mov	w8, #48
   853  LBB0_129:
   854  	WORD $0x38001568  // strb	w8, [x11], #1
   855  	WORD $0xeb0c017f  // cmp	x11, x12
   856  	WORD $0x54ffffc3  // b.lo	LBB0_129 $-8(%rip)
   857  	WORD $0x17fffe39  // b	LBB0_35 $-1820(%rip)
   858  LBB0_130:
   859  	WORD $0x52800000  // mov	w0, #0
   860  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   861  	WORD $0x910083ff  // add	sp, sp, #32
   862  	WORD $0xd65f03c0  // ret
   863  LBB0_131:
   864  	WORD $0x1280128c  // mov	w12, #-149
   865  	WORD $0xaa0e03ed  // mov	x13, x14
   866  	WORD $0x17fffd39  // b	LBB0_5 $-2844(%rip)
   867  _Digits:
   868  	WORD $0x31303030  // .ascii 4, '0001020304050607'
   869  	WORD $0x33303230  // .ascii 4, '0203040506070809'
   870  	WORD $0x35303430  // .ascii 4, '0405060708091011'
   871  	WORD $0x37303630  // .ascii 4, '0607080910111213'
   872  	WORD $0x39303830  // .ascii 4, '0809101112131415'
   873  	WORD $0x31313031  // .ascii 4, '1011121314151617'
   874  	WORD $0x33313231  // .ascii 4, '1213141516171819'
   875  	WORD $0x35313431  // .ascii 4, '1415161718192021'
   876  	WORD $0x37313631  // .ascii 4, '1617181920212223'
   877  	WORD $0x39313831  // .ascii 4, '1819202122232425'
   878  	WORD $0x31323032  // .ascii 4, '2021222324252627'
   879  	WORD $0x33323232  // .ascii 4, '2223242526272829'
   880  	WORD $0x35323432  // .ascii 4, '2425262728293031'
   881  	WORD $0x37323632  // .ascii 4, '2627282930313233'
   882  	WORD $0x39323832  // .ascii 4, '2829303132333435'
   883  	WORD $0x31333033  // .ascii 4, '3031323334353637'
   884  	WORD $0x33333233  // .ascii 4, '3233343536373839'
   885  	WORD $0x35333433  // .ascii 4, '3435363738394041'
   886  	WORD $0x37333633  // .ascii 4, '3637383940414243'
   887  	WORD $0x39333833  // .ascii 4, '3839404142434445'
   888  	WORD $0x31343034  // .ascii 4, '4041424344454647'
   889  	WORD $0x33343234  // .ascii 4, '4243444546474849'
   890  	WORD $0x35343434  // .ascii 4, '4445464748495051'
   891  	WORD $0x37343634  // .ascii 4, '4647484950515253'
   892  	WORD $0x39343834  // .ascii 4, '4849505152535455'
   893  	WORD $0x31353035  // .ascii 4, '5051525354555657'
   894  	WORD $0x33353235  // .ascii 4, '5253545556575859'
   895  	WORD $0x35353435  // .ascii 4, '5455565758596061'
   896  	WORD $0x37353635  // .ascii 4, '5657585960616263'
   897  	WORD $0x39353835  // .ascii 4, '5859606162636465'
   898  	WORD $0x31363036  // .ascii 4, '6061626364656667'
   899  	WORD $0x33363236  // .ascii 4, '6263646566676869'
   900  	WORD $0x35363436  // .ascii 4, '6465666768697071'
   901  	WORD $0x37363636  // .ascii 4, '6667686970717273'
   902  	WORD $0x39363836  // .ascii 4, '6869707172737475'
   903  	WORD $0x31373037  // .ascii 4, '7071727374757677'
   904  	WORD $0x33373237  // .ascii 4, '7273747576777879'
   905  	WORD $0x35373437  // .ascii 4, '7475767778798081'
   906  	WORD $0x37373637  // .ascii 4, '7677787980818283'
   907  	WORD $0x39373837  // .ascii 4, '7879808182838485'
   908  	WORD $0x31383038  // .ascii 4, '8081828384858687'
   909  	WORD $0x33383238  // .ascii 4, '8283848586878889'
   910  	WORD $0x35383438  // .ascii 4, '8485868788899091'
   911  	WORD $0x37383638  // .ascii 4, '8687888990919293'
   912  	WORD $0x39383838  // .ascii 4, '8889909192939495'
   913  	WORD $0x31393039  // .ascii 4, '9091929394959697'
   914  	WORD $0x33393239  // .ascii 4, '9293949596979899'
   915  	WORD $0x35393439  // .ascii 4, '949596979899'
   916  	WORD $0x37393639  // .ascii 4, '96979899'
   917  	WORD $0x39393839  // .ascii 4, '9899'
   918  	WORD $0x00000000  // .p2align 3, 0x00
   919  _LB_feba5e89: // _pow10_ceil_sig_f32.g
   920  	WORD $0x4b43fcf5; WORD $0x81ceb32c  // .quad -9093133594791772939
   921  	WORD $0x5e14fc32; WORD $0xa2425ff7  // .quad -6754730975062328270
   922  	WORD $0x359a3b3f; WORD $0xcad2f7f5  // .quad -3831727700400522433
   923  	WORD $0x8300ca0e; WORD $0xfd87b5f2  // .quad -177973607073265138
   924  	WORD $0x91e07e49; WORD $0x9e74d1b7  // .quad -7028762532061872567
   925  	WORD $0x76589ddb; WORD $0xc6120625  // .quad -4174267146649952805
   926  	WORD $0xd3eec552; WORD $0xf79687ae  // .quad -606147914885053102
   927  	WORD $0x44753b53; WORD $0x9abe14cd  // .quad -7296371474444240045
   928  	WORD $0x95928a28; WORD $0xc16d9a00  // .quad -4508778324627912152
   929  	WORD $0xbaf72cb2; WORD $0xf1c90080  // .quad -1024286887357502286
   930  	WORD $0x74da7bef; WORD $0x971da050  // .quad -7557708332239520785
   931  	WORD $0x92111aeb; WORD $0xbce50864  // .quad -4835449396872013077
   932  	WORD $0xb69561a6; WORD $0xec1e4a7d  // .quad -1432625727662628442
   933  	WORD $0x921d5d08; WORD $0x9392ee8e  // .quad -7812920107430224632
   934  	WORD $0x36a4b44a; WORD $0xb877aa32  // .quad -5154464115860392886
   935  	WORD $0xc44de15c; WORD $0xe69594be  // .quad -1831394126398103204
   936  	WORD $0x3ab0acda; WORD $0x901d7cf7  // .quad -8062150356639896358
   937  	WORD $0x095cd810; WORD $0xb424dc35  // .quad -5466001927372482544
   938  	WORD $0x4bb40e14; WORD $0xe12e1342  // .quad -2220816390788215276
   939  	WORD $0x6f5088cc; WORD $0x8cbccc09  // .quad -8305539271883716404
   940  	WORD $0xcb24aaff; WORD $0xafebff0b  // .quad -5770238071427257601
   941  	WORD $0xbdedd5bf; WORD $0xdbe6fece  // .quad -2601111570856684097
   942  	WORD $0x36b4a598; WORD $0x89705f41  // .quad -8543223759426509416
   943  	WORD $0x8461cefd; WORD $0xabcc7711  // .quad -6067343680855748867
   944  	WORD $0xe57a42bd; WORD $0xd6bf94d5  // .quad -2972493582642298179
   945  	WORD $0xaf6c69b6; WORD $0x8637bd05  // .quad -8775337516792518218
   946  	WORD $0x1b478424; WORD $0xa7c5ac47  // .quad -6357485877563259868
   947  	WORD $0xe219652c; WORD $0xd1b71758  // .quad -3335171328526686932
   948  	WORD $0x8d4fdf3c; WORD $0x83126e97  // .quad -9002011107970261188
   949  	WORD $0x70a3d70b; WORD $0xa3d70a3d  // .quad -6640827866535438581
   950  	WORD $0xcccccccd; WORD $0xcccccccc  // .quad -3689348814741910323
   951  	WORD $0x00000000; WORD $0x80000000  // .quad -9223372036854775808
   952  	WORD $0x00000000; WORD $0xa0000000  // .quad -6917529027641081856
   953  	WORD $0x00000000; WORD $0xc8000000  // .quad -4035225266123964416
   954  	WORD $0x00000000; WORD $0xfa000000  // .quad -432345564227567616
   955  	WORD $0x00000000; WORD $0x9c400000  // .quad -7187745005283311616
   956  	WORD $0x00000000; WORD $0xc3500000  // .quad -4372995238176751616
   957  	WORD $0x00000000; WORD $0xf4240000  // .quad -854558029293551616
   958  	WORD $0x00000000; WORD $0x98968000  // .quad -7451627795949551616
   959  	WORD $0x00000000; WORD $0xbebc2000  // .quad -4702848726509551616
   960  	WORD $0x00000000; WORD $0xee6b2800  // .quad -1266874889709551616
   961  	WORD $0x00000000; WORD $0x9502f900  // .quad -7709325833709551616
   962  	WORD $0x00000000; WORD $0xba43b740  // .quad -5024971273709551616
   963  	WORD $0x00000000; WORD $0xe8d4a510  // .quad -1669528073709551616
   964  	WORD $0x00000000; WORD $0x9184e72a  // .quad -7960984073709551616
   965  	WORD $0x80000000; WORD $0xb5e620f4  // .quad -5339544073709551616
   966  	WORD $0xa0000000; WORD $0xe35fa931  // .quad -2062744073709551616
   967  	WORD $0x04000000; WORD $0x8e1bc9bf  // .quad -8206744073709551616
   968  	WORD $0xc5000000; WORD $0xb1a2bc2e  // .quad -5646744073709551616
   969  	WORD $0x76400000; WORD $0xde0b6b3a  // .quad -2446744073709551616
   970  	WORD $0x89e80000; WORD $0x8ac72304  // .quad -8446744073709551616
   971  	WORD $0xac620000; WORD $0xad78ebc5  // .quad -5946744073709551616
   972  	WORD $0x177a8000; WORD $0xd8d726b7  // .quad -2821744073709551616
   973  	WORD $0x6eac9000; WORD $0x87867832  // .quad -8681119073709551616
   974  	WORD $0x0a57b400; WORD $0xa968163f  // .quad -6239712823709551616
   975  	WORD $0xcceda100; WORD $0xd3c21bce  // .quad -3187955011209551616
   976  	WORD $0x401484a0; WORD $0x84595161  // .quad -8910000909647051616
   977  	WORD $0x9019a5c8; WORD $0xa56fa5b9  // .quad -6525815118631426616
   978  	WORD $0xf4200f3a; WORD $0xcecb8f27  // .quad -3545582879861895366
   979  	WORD $0xf8940985; WORD $0x813f3978  // .quad -9133518327554766459
   980  	WORD $0x36b90be6; WORD $0xa18f07d7  // .quad -6805211891016070170
   981  	WORD $0x04674edf; WORD $0xc9f2c9cd  // .quad -3894828845342699809
   982  	WORD $0x45812297; WORD $0xfc6f7c40  // .quad -256850038250986857
   983  	WORD $0x2b70b59e; WORD $0x9dc5ada8  // .quad -7078060301547948642
   984  	WORD $0x364ce306; WORD $0xc5371912  // .quad -4235889358507547898
   985  	WORD $0xc3e01bc7; WORD $0xf684df56  // .quad -683175679707046969
   986  	WORD $0x3a6c115d; WORD $0x9a130b96  // .quad -7344513827457986211
   987  	WORD $0xc90715b4; WORD $0xc097ce7b  // .quad -4568956265895094860
   988  	WORD $0xbb48db21; WORD $0xf0bdc21a  // .quad -1099509313941480671
   989  	WORD $0xb50d88f5; WORD $0x96769950  // .quad -7604722348854507275
   990  	WORD $0xe250eb32; WORD $0xbc143fa4  // .quad -4894216917640746190
   991  	WORD $0x1ae525fe; WORD $0xeb194f8e  // .quad -1506085128623544834
   992  	WORD $0xd0cf37bf; WORD $0x92efd1b8  // .quad -7858832233030797377
   993  	WORD $0x050305ae; WORD $0xb7abc627  // .quad -5211854272861108818
   994  	WORD $0xc643c71a; WORD $0xe596b7b0  // .quad -1903131822648998118
   995  	WORD $0x7bea5c70; WORD $0x8f7e32ce  // .quad -8106986416796705680
   996  	WORD $0x1ae4f38c; WORD $0xb35dbf82  // .quad -5522047002568494196
   997  
   998  TEXT ·__f32toa(SB), NOSPLIT, $0-24
   999  	NO_LOCAL_POINTERS
  1000  
  1001  _entry:
  1002  	MOVD 16(g), R16
  1003  	SUB $96, RSP, R17
  1004  	CMP  R16, R17
  1005  	BLS  _stack_grow
  1006  
  1007  _f32toa:
  1008  	MOVD out+0(FP), R0
  1009  	FMOVD val+8(FP), F0
  1010  	MOVD ·_subr__f32toa(SB), R11
  1011  	WORD $0x1000005e // adr x30, .+8
  1012  	JMP (R11)
  1013  	MOVD R0, ret+16(FP)
  1014  	RET
  1015  
  1016  _stack_grow:
  1017  	MOVD R30, R3
  1018  	CALL runtime·morestack_noctxt<>(SB)
  1019  	JMP  _entry