Iterations:        1
Instructions:      181
Total Cycles:      315
Total uOps:        181

Dispatch Width:    3
uOps Per Cycle:    0.57
IPC:               0.57
Block RThroughput: 203.0


Cycles with backend pressure increase [ 15.87% ]
Throughput Bottlenecks: 
  Resource Pressure       [ 11.43% ]
  - A57UnitI  [ 1.59% ]
  - A57UnitM  [ 9.84% ]
  Data Dependencies:      [ 8.89% ]
  - Register Dependencies [ 8.89% ]
  - Memory Dependencies   [ 0.00% ]

Critical sequence based on the simulation:

              Instruction                                 Dependency Information
        0.    b	_ZN9fixedmath4atanENS_7fixed_tE
        1.    cmp	x0, #0
        2.    mov	x11, #-37449
        3.    mov	x8, #-43690
        4.    mov	w9, #13107
        5.    cneg	x12, x0, mi
        6.    mov	w10, #14563
        7.    movk	x11, #65534, lsl #16
        8.    movk	x8, #65532, lsl #16
        9.    movk	w9, #2, lsl #16
        10.   cmp	x12, #7, lsl #12
        11.   movk	w10, #1, lsl #16
        12.   b.ge	.LBB1_2
        13.   mul	x13, x0, x0
        14.   lsr	x13, x13, #16
        15.   sub	x10, x10, x13
        16.   mul	x10, x10, x13
        17.   add	x10, x11, x10, asr #16
        18.   mul	x10, x10, x13
        19.   add	x9, x9, x10, asr #16
        20.   mul	x9, x9, x13
        21.   add	x8, x8, x9, asr #16
        22.   mul	x8, x8, x13
        23.   asr	x8, x8, #16
        24.   mov	x9, #35747
        25.   add	x8, x8, #176, lsl #12
        26.   movk	x9, #47662, lsl #16
        27.   mul	x8, x8, x12
        28.   movk	x9, #41704, lsl #32
        29.   asr	x8, x8, #16
        30.   movk	x9, #11915, lsl #48
        31.   smulh	x8, x8, x9
        32.   asr	x9, x8, #1
        33.   add	x8, x9, x8, lsr #63
        34.   cmp	x0, #0
        35.   cneg	x0, x8, lt
        36.   ret
 +----< 37.   cmp	x12, #11, lsl #12
 |      38.   b.ge	.LBB1_4
 |      39.   mov	w13, #28672
 |      40.   mov	x14, #-65536
 +----> 41.   mul	x13, x12, x13                     ## REGISTER dependency:  xzr
 |      42.   movk	x14, #36864, lsl #16
 +----> 43.   lsr	x13, x13, #16                     ## REGISTER dependency:  x13
 |      44.   add	x12, x14, x12, lsl #16
 +----> 45.   add	x13, x13, #16, lsl #12            ## REGISTER dependency:  x13
 +----> 46.   sdiv	x12, x12, x13                     ## REGISTER dependency:  x13
 +----> 47.   mul	x13, x12, x12                     ## REGISTER dependency:  x12
 +----> 48.   lsr	x13, x13, #16                     ## REGISTER dependency:  x13
 |      49.   sub	x10, x10, x13
 |      50.   mul	x10, x10, x13
 |      51.   add	x10, x11, x10, asr #16
 +----> 52.   mul	x10, x10, x13                     ## REGISTER dependency:  x13
 |      53.   add	x9, x9, x10, asr #16
 |      54.   mul	x9, x9, x13
 |      55.   add	x8, x8, x9, asr #16
 |      56.   mul	x8, x8, x13
 |      57.   mov	x14, #35747
 |      58.   asr	x8, x8, #16
 |      59.   movk	x14, #47662, lsl #16
 |      60.   add	x8, x8, #176, lsl #12
 |      61.   movk	x14, #41704, lsl #32
 |      62.   mul	x8, x8, x12
 |      63.   movk	x14, #11915, lsl #48
 |      64.   asr	x8, x8, #16
 |      65.   smulh	x8, x8, x14
 |      66.   asr	x9, x8, #1
 |      67.   add	x8, x9, x8, lsr #63
 |      68.   mov	w9, #27028
 |      69.   add	x8, x8, x9
 |      70.   cmp	x0, #0
 |      71.   cneg	x0, x8, lt
 |      72.   ret
 +----> 73.   sub	x13, x10, #2275                   ## REGISTER dependency:  x10
 +----> 74.   cmp	x12, x13                          ## REGISTER dependency:  x13
 |      75.   b.ge	.LBB1_6
 |      76.   mov	w13, #45056
 |      77.   mov	x14, #-65536
 +----> 78.   mul	x13, x12, x13                     ## REGISTER dependency:  xzr
 |      79.   movk	x14, #20480, lsl #16
 +----> 80.   lsr	x13, x13, #16                     ## REGISTER dependency:  x13
 |      81.   add	x12, x14, x12, lsl #16
 +----> 82.   add	x13, x13, #16, lsl #12            ## REGISTER dependency:  x13
 +----> 83.   sdiv	x12, x12, x13                     ## REGISTER dependency:  x13
        84.   mul	x13, x12, x12
        85.   lsr	x13, x13, #16
        86.   sub	x10, x10, x13
        87.   mul	x10, x10, x13
        88.   add	x10, x11, x10, asr #16
        89.   mul	x10, x10, x13
        90.   add	x9, x9, x10, asr #16
        91.   mul	x9, x9, x13
        92.   add	x8, x8, x9, asr #16
        93.   mul	x8, x8, x13
        94.   mov	x14, #35747
        95.   asr	x8, x8, #16
        96.   movk	x14, #47662, lsl #16
        97.   add	x8, x8, #176, lsl #12
        98.   movk	x14, #41704, lsl #32
        99.   mul	x8, x8, x12
        100.  movk	x14, #11915, lsl #48
        101.  asr	x8, x8, #16
        102.  smulh	x8, x8, x14
        103.  asr	x9, x8, #1
        104.  add	x8, x9, x8, lsr #63
        105.  mov	w9, #39472
        106.  add	x8, x8, x9
        107.  cmp	x0, #0
        108.  cneg	x0, x8, lt
        109.  ret
        110.  cmp	x12, #39, lsl #12
        111.  b.ge	.LBB1_8
        112.  mul	x13, x12, x13
        113.  mov	x14, #-8589934592
        114.  movk	x14, #53248, lsl #16
        115.  lsr	x13, x13, #16
        116.  add	x12, x14, x12, lsl #16
        117.  add	x13, x13, #16, lsl #12
        118.  sdiv	x12, x12, x13
        119.  mul	x13, x12, x12
        120.  lsr	x13, x13, #16
        121.  sub	x10, x10, x13
        122.  mul	x10, x10, x13
        123.  add	x10, x11, x10, asr #16
        124.  mul	x10, x10, x13
        125.  add	x9, x9, x10, asr #16
        126.  mul	x9, x9, x13
        127.  add	x8, x8, x9, asr #16
        128.  mul	x8, x8, x13
        129.  mov	x14, #35747
        130.  asr	x8, x8, #16
        131.  movk	x14, #47662, lsl #16
        132.  add	x8, x8, #176, lsl #12
        133.  movk	x14, #41704, lsl #32
        134.  mul	x8, x8, x12
        135.  movk	x14, #11915, lsl #48
        136.  asr	x8, x8, #16
        137.  smulh	x8, x8, x14
        138.  asr	x9, x8, #1
        139.  add	x8, x9, x8, lsr #63
        140.  mov	w9, #57076
        141.  add	x8, x8, x9
        142.  cmp	x0, #0
        143.  cneg	x0, x8, lt
        144.  ret
        145.  mov	w13, #28672
        146.  movk	w13, #2, lsl #16
        147.  mov	x14, #2415919104
        148.  movk	x14, #65533, lsl #32
        149.  mul	x13, x12, x13
        150.  movk	x14, #65535, lsl #48
        151.  lsr	x13, x13, #16
        152.  add	x12, x14, x12, lsl #16
        153.  add	x13, x13, #16, lsl #12
        154.  sdiv	x12, x12, x13
        155.  mul	x13, x12, x12
        156.  lsr	x13, x13, #16
        157.  sub	x14, x10, x13
        158.  mul	x14, x14, x13
        159.  add	x11, x11, x14, asr #16
        160.  mul	x11, x11, x13
        161.  add	x9, x9, x11, asr #16
        162.  mul	x9, x9, x13
        163.  add	x8, x8, x9, asr #16
        164.  mul	x8, x8, x13
        165.  asr	x8, x8, #16
        166.  mov	x9, #35747
        167.  add	x8, x8, #176, lsl #12
        168.  movk	x9, #47662, lsl #16
        169.  mul	x8, x8, x12
        170.  movk	x9, #41704, lsl #32
        171.  asr	x8, x8, #16
        172.  movk	x9, #11915, lsl #48
        173.  smulh	x8, x8, x9
        174.  asr	x9, x8, #1
        175.  add	x8, x9, x8, lsr #63
        176.  add	x8, x10, x8
        177.  sub	x8, x8, #2670
        178.  cmp	x0, #0
        179.  cneg	x0, x8, lt
        180.  ret


Instruction Info:
[1]: #uOps
[2]: Latency
[3]: RThroughput
[4]: MayLoad
[5]: MayStore
[6]: HasSideEffects (U)

[1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 1      1     1.00                        b	_ZN9fixedmath4atanENS_7fixed_tE
 1      1     0.50                        cmp	x0, #0
 1      1     0.50                        mov	x11, #-37449
 1      1     0.50                        mov	x8, #-43690
 1      1     0.50                        mov	w9, #13107
 1      1     0.50                        cneg	x12, x0, mi
 1      1     0.50                        mov	w10, #14563
 1      1     0.50                        movk	x11, #65534, lsl #16
 1      1     0.50                        movk	x8, #65532, lsl #16
 1      1     0.50                        movk	w9, #2, lsl #16
 1      1     0.50                        cmp	x12, #7, lsl #12
 1      1     0.50                        movk	w10, #1, lsl #16
 1      1     1.00                        b.ge	.LBB1_2
 1      5     1.00                        mul	x13, x0, x0
 1      1     0.50                        lsr	x13, x13, #16
 1      1     0.50                        sub	x10, x10, x13
 1      5     1.00                        mul	x10, x10, x13
 1      2     1.00                        add	x10, x11, x10, asr #16
 1      5     1.00                        mul	x10, x10, x13
 1      2     1.00                        add	x9, x9, x10, asr #16
 1      5     1.00                        mul	x9, x9, x13
 1      2     1.00                        add	x8, x8, x9, asr #16
 1      5     1.00                        mul	x8, x8, x13
 1      1     0.50                        asr	x8, x8, #16
 1      1     0.50                        mov	x9, #35747
 1      1     0.50                        add	x8, x8, #176, lsl #12
 1      1     0.50                        movk	x9, #47662, lsl #16
 1      5     1.00                        mul	x8, x8, x12
 1      1     0.50                        movk	x9, #41704, lsl #32
 1      1     0.50                        asr	x8, x8, #16
 1      1     0.50                        movk	x9, #11915, lsl #48
 1      6     1.00                        smulh	x8, x8, x9
 1      1     0.50                        asr	x9, x8, #1
 1      2     1.00                        add	x8, x9, x8, lsr #63
 1      1     0.50                        cmp	x0, #0
 1      1     0.50                        cneg	x0, x8, lt
 1      1     1.00                  U     ret
 1      1     0.50                        cmp	x12, #11, lsl #12
 1      1     1.00                        b.ge	.LBB1_4
 1      1     0.50                        mov	w13, #28672
 1      1     0.50                        mov	x14, #-65536
 1      5     1.00                        mul	x13, x12, x13
 1      1     0.50                        movk	x14, #36864, lsl #16
 1      1     0.50                        lsr	x13, x13, #16
 1      2     1.00                        add	x12, x14, x12, lsl #16
 1      1     0.50                        add	x13, x13, #16, lsl #12
 1      35    35.00                       sdiv	x12, x12, x13
 1      5     1.00                        mul	x13, x12, x12
 1      1     0.50                        lsr	x13, x13, #16
 1      1     0.50                        sub	x10, x10, x13
 1      5     1.00                        mul	x10, x10, x13
 1      2     1.00                        add	x10, x11, x10, asr #16
 1      5     1.00                        mul	x10, x10, x13
 1      2     1.00                        add	x9, x9, x10, asr #16
 1      5     1.00                        mul	x9, x9, x13
 1      2     1.00                        add	x8, x8, x9, asr #16
 1      5     1.00                        mul	x8, x8, x13
 1      1     0.50                        mov	x14, #35747
 1      1     0.50                        asr	x8, x8, #16
 1      1     0.50                        movk	x14, #47662, lsl #16
 1      1     0.50                        add	x8, x8, #176, lsl #12
 1      1     0.50                        movk	x14, #41704, lsl #32
 1      5     1.00                        mul	x8, x8, x12
 1      1     0.50                        movk	x14, #11915, lsl #48
 1      1     0.50                        asr	x8, x8, #16
 1      6     1.00                        smulh	x8, x8, x14
 1      1     0.50                        asr	x9, x8, #1
 1      2     1.00                        add	x8, x9, x8, lsr #63
 1      1     0.50                        mov	w9, #27028
 1      1     0.50                        add	x8, x8, x9
 1      1     0.50                        cmp	x0, #0
 1      1     0.50                        cneg	x0, x8, lt
 1      1     1.00                  U     ret
 1      1     0.50                        sub	x13, x10, #2275
 1      1     0.50                        cmp	x12, x13
 1      1     1.00                        b.ge	.LBB1_6
 1      1     0.50                        mov	w13, #45056
 1      1     0.50                        mov	x14, #-65536
 1      5     1.00                        mul	x13, x12, x13
 1      1     0.50                        movk	x14, #20480, lsl #16
 1      1     0.50                        lsr	x13, x13, #16
 1      2     1.00                        add	x12, x14, x12, lsl #16
 1      1     0.50                        add	x13, x13, #16, lsl #12
 1      35    35.00                       sdiv	x12, x12, x13
 1      5     1.00                        mul	x13, x12, x12
 1      1     0.50                        lsr	x13, x13, #16
 1      1     0.50                        sub	x10, x10, x13
 1      5     1.00                        mul	x10, x10, x13
 1      2     1.00                        add	x10, x11, x10, asr #16
 1      5     1.00                        mul	x10, x10, x13
 1      2     1.00                        add	x9, x9, x10, asr #16
 1      5     1.00                        mul	x9, x9, x13
 1      2     1.00                        add	x8, x8, x9, asr #16
 1      5     1.00                        mul	x8, x8, x13
 1      1     0.50                        mov	x14, #35747
 1      1     0.50                        asr	x8, x8, #16
 1      1     0.50                        movk	x14, #47662, lsl #16
 1      1     0.50                        add	x8, x8, #176, lsl #12
 1      1     0.50                        movk	x14, #41704, lsl #32
 1      5     1.00                        mul	x8, x8, x12
 1      1     0.50                        movk	x14, #11915, lsl #48
 1      1     0.50                        asr	x8, x8, #16
 1      6     1.00                        smulh	x8, x8, x14
 1      1     0.50                        asr	x9, x8, #1
 1      2     1.00                        add	x8, x9, x8, lsr #63
 1      1     0.50                        mov	w9, #39472
 1      1     0.50                        add	x8, x8, x9
 1      1     0.50                        cmp	x0, #0
 1      1     0.50                        cneg	x0, x8, lt
 1      1     1.00                  U     ret
 1      1     0.50                        cmp	x12, #39, lsl #12
 1      1     1.00                        b.ge	.LBB1_8
 1      5     1.00                        mul	x13, x12, x13
 1      1     0.50                        mov	x14, #-8589934592
 1      1     0.50                        movk	x14, #53248, lsl #16
 1      1     0.50                        lsr	x13, x13, #16
 1      2     1.00                        add	x12, x14, x12, lsl #16
 1      1     0.50                        add	x13, x13, #16, lsl #12
 1      35    35.00                       sdiv	x12, x12, x13
 1      5     1.00                        mul	x13, x12, x12
 1      1     0.50                        lsr	x13, x13, #16
 1      1     0.50                        sub	x10, x10, x13
 1      5     1.00                        mul	x10, x10, x13
 1      2     1.00                        add	x10, x11, x10, asr #16
 1      5     1.00                        mul	x10, x10, x13
 1      2     1.00                        add	x9, x9, x10, asr #16
 1      5     1.00                        mul	x9, x9, x13
 1      2     1.00                        add	x8, x8, x9, asr #16
 1      5     1.00                        mul	x8, x8, x13
 1      1     0.50                        mov	x14, #35747
 1      1     0.50                        asr	x8, x8, #16
 1      1     0.50                        movk	x14, #47662, lsl #16
 1      1     0.50                        add	x8, x8, #176, lsl #12
 1      1     0.50                        movk	x14, #41704, lsl #32
 1      5     1.00                        mul	x8, x8, x12
 1      1     0.50                        movk	x14, #11915, lsl #48
 1      1     0.50                        asr	x8, x8, #16
 1      6     1.00                        smulh	x8, x8, x14
 1      1     0.50                        asr	x9, x8, #1
 1      2     1.00                        add	x8, x9, x8, lsr #63
 1      1     0.50                        mov	w9, #57076
 1      1     0.50                        add	x8, x8, x9
 1      1     0.50                        cmp	x0, #0
 1      1     0.50                        cneg	x0, x8, lt
 1      1     1.00                  U     ret
 1      1     0.50                        mov	w13, #28672
 1      1     0.50                        movk	w13, #2, lsl #16
 1      1     0.50                        mov	x14, #2415919104
 1      1     0.50                        movk	x14, #65533, lsl #32
 1      5     1.00                        mul	x13, x12, x13
 1      1     0.50                        movk	x14, #65535, lsl #48
 1      1     0.50                        lsr	x13, x13, #16
 1      2     1.00                        add	x12, x14, x12, lsl #16
 1      1     0.50                        add	x13, x13, #16, lsl #12
 1      35    35.00                       sdiv	x12, x12, x13
 1      5     1.00                        mul	x13, x12, x12
 1      1     0.50                        lsr	x13, x13, #16
 1      1     0.50                        sub	x14, x10, x13
 1      5     1.00                        mul	x14, x14, x13
 1      2     1.00                        add	x11, x11, x14, asr #16
 1      5     1.00                        mul	x11, x11, x13
 1      2     1.00                        add	x9, x9, x11, asr #16
 1      5     1.00                        mul	x9, x9, x13
 1      2     1.00                        add	x8, x8, x9, asr #16
 1      5     1.00                        mul	x8, x8, x13
 1      1     0.50                        asr	x8, x8, #16
 1      1     0.50                        mov	x9, #35747
 1      1     0.50                        add	x8, x8, #176, lsl #12
 1      1     0.50                        movk	x9, #47662, lsl #16
 1      5     1.00                        mul	x8, x8, x12
 1      1     0.50                        movk	x9, #41704, lsl #32
 1      1     0.50                        asr	x8, x8, #16
 1      1     0.50                        movk	x9, #11915, lsl #48
 1      6     1.00                        smulh	x8, x8, x9
 1      1     0.50                        asr	x9, x8, #1
 1      2     1.00                        add	x8, x9, x8, lsr #63
 1      1     0.50                        add	x8, x10, x8
 1      1     0.50                        sub	x8, x8, #2670
 1      1     0.50                        cmp	x0, #0
 1      1     0.50                        cneg	x0, x8, lt
 1      1     1.00                  U     ret


Resources:
[0]   - A57UnitB
[1.0] - A57UnitI
[1.1] - A57UnitI
[2]   - A57UnitL
[3]   - A57UnitM
[4]   - A57UnitS
[5]   - A57UnitW
[6]   - A57UnitX


Resource pressure per iteration:
[0]    [1.0]  [1.1]  [2]    [3]    [4]    [5]    [6]    
10.00  52.00  52.00   -     203.00  -      -      -     

Resource pressure by instruction:
[0]    [1.0]  [1.1]  [2]    [3]    [4]    [5]    [6]    Instructions:
1.00    -      -      -      -      -      -      -     b	_ZN9fixedmath4atanENS_7fixed_tE
 -      -     1.00    -      -      -      -      -     cmp	x0, #0
 -     1.00    -      -      -      -      -      -     mov	x11, #-37449
 -      -     1.00    -      -      -      -      -     mov	x8, #-43690
 -     1.00    -      -      -      -      -      -     mov	w9, #13107
 -      -     1.00    -      -      -      -      -     cneg	x12, x0, mi
 -     1.00    -      -      -      -      -      -     mov	w10, #14563
 -      -     1.00    -      -      -      -      -     movk	x11, #65534, lsl #16
 -     1.00    -      -      -      -      -      -     movk	x8, #65532, lsl #16
 -     1.00    -      -      -      -      -      -     movk	w9, #2, lsl #16
 -      -     1.00    -      -      -      -      -     cmp	x12, #7, lsl #12
 -      -     1.00    -      -      -      -      -     movk	w10, #1, lsl #16
1.00    -      -      -      -      -      -      -     b.ge	.LBB1_2
 -      -      -      -     1.00    -      -      -     mul	x13, x0, x0
 -     1.00    -      -      -      -      -      -     lsr	x13, x13, #16
 -     1.00    -      -      -      -      -      -     sub	x10, x10, x13
 -      -      -      -     1.00    -      -      -     mul	x10, x10, x13
 -      -      -      -     1.00    -      -      -     add	x10, x11, x10, asr #16
 -      -      -      -     1.00    -      -      -     mul	x10, x10, x13
 -      -      -      -     1.00    -      -      -     add	x9, x9, x10, asr #16
 -      -      -      -     1.00    -      -      -     mul	x9, x9, x13
 -      -      -      -     1.00    -      -      -     add	x8, x8, x9, asr #16
 -      -      -      -     1.00    -      -      -     mul	x8, x8, x13
 -      -     1.00    -      -      -      -      -     asr	x8, x8, #16
 -     1.00    -      -      -      -      -      -     mov	x9, #35747
 -     1.00    -      -      -      -      -      -     add	x8, x8, #176, lsl #12
 -      -     1.00    -      -      -      -      -     movk	x9, #47662, lsl #16
 -      -      -      -     1.00    -      -      -     mul	x8, x8, x12
 -      -     1.00    -      -      -      -      -     movk	x9, #41704, lsl #32
 -      -     1.00    -      -      -      -      -     asr	x8, x8, #16
 -      -     1.00    -      -      -      -      -     movk	x9, #11915, lsl #48
 -      -      -      -     1.00    -      -      -     smulh	x8, x8, x9
 -      -     1.00    -      -      -      -      -     asr	x9, x8, #1
 -      -      -      -     1.00    -      -      -     add	x8, x9, x8, lsr #63
 -     1.00    -      -      -      -      -      -     cmp	x0, #0
 -     1.00    -      -      -      -      -      -     cneg	x0, x8, lt
1.00    -      -      -      -      -      -      -     ret
 -      -     1.00    -      -      -      -      -     cmp	x12, #11, lsl #12
1.00    -      -      -      -      -      -      -     b.ge	.LBB1_4
 -     1.00    -      -      -      -      -      -     mov	w13, #28672
 -      -     1.00    -      -      -      -      -     mov	x14, #-65536
 -      -      -      -     1.00    -      -      -     mul	x13, x12, x13
 -     1.00    -      -      -      -      -      -     movk	x14, #36864, lsl #16
 -      -     1.00    -      -      -      -      -     lsr	x13, x13, #16
 -      -      -      -     1.00    -      -      -     add	x12, x14, x12, lsl #16
 -      -     1.00    -      -      -      -      -     add	x13, x13, #16, lsl #12
 -      -      -      -     35.00   -      -      -     sdiv	x12, x12, x13
 -      -      -      -     1.00    -      -      -     mul	x13, x12, x12
 -     1.00    -      -      -      -      -      -     lsr	x13, x13, #16
 -      -     1.00    -      -      -      -      -     sub	x10, x10, x13
 -      -      -      -     1.00    -      -      -     mul	x10, x10, x13
 -      -      -      -     1.00    -      -      -     add	x10, x11, x10, asr #16
 -      -      -      -     1.00    -      -      -     mul	x10, x10, x13
 -      -      -      -     1.00    -      -      -     add	x9, x9, x10, asr #16
 -      -      -      -     1.00    -      -      -     mul	x9, x9, x13
 -      -      -      -     1.00    -      -      -     add	x8, x8, x9, asr #16
 -      -      -      -     1.00    -      -      -     mul	x8, x8, x13
 -     1.00    -      -      -      -      -      -     mov	x14, #35747
 -      -     1.00    -      -      -      -      -     asr	x8, x8, #16
 -     1.00    -      -      -      -      -      -     movk	x14, #47662, lsl #16
 -     1.00    -      -      -      -      -      -     add	x8, x8, #176, lsl #12
 -      -     1.00    -      -      -      -      -     movk	x14, #41704, lsl #32
 -      -      -      -     1.00    -      -      -     mul	x8, x8, x12
 -     1.00    -      -      -      -      -      -     movk	x14, #11915, lsl #48
 -      -     1.00    -      -      -      -      -     asr	x8, x8, #16
 -      -      -      -     1.00    -      -      -     smulh	x8, x8, x14
 -     1.00    -      -      -      -      -      -     asr	x9, x8, #1
 -      -      -      -     1.00    -      -      -     add	x8, x9, x8, lsr #63
 -      -     1.00    -      -      -      -      -     mov	w9, #27028
 -      -     1.00    -      -      -      -      -     add	x8, x8, x9
 -      -     1.00    -      -      -      -      -     cmp	x0, #0
 -     1.00    -      -      -      -      -      -     cneg	x0, x8, lt
1.00    -      -      -      -      -      -      -     ret
 -     1.00    -      -      -      -      -      -     sub	x13, x10, #2275
 -     1.00    -      -      -      -      -      -     cmp	x12, x13
1.00    -      -      -      -      -      -      -     b.ge	.LBB1_6
 -     1.00    -      -      -      -      -      -     mov	w13, #45056
 -      -     1.00    -      -      -      -      -     mov	x14, #-65536
 -      -      -      -     1.00    -      -      -     mul	x13, x12, x13
 -     1.00    -      -      -      -      -      -     movk	x14, #20480, lsl #16
 -     1.00    -      -      -      -      -      -     lsr	x13, x13, #16
 -      -      -      -     1.00    -      -      -     add	x12, x14, x12, lsl #16
 -      -     1.00    -      -      -      -      -     add	x13, x13, #16, lsl #12
 -      -      -      -     35.00   -      -      -     sdiv	x12, x12, x13
 -      -      -      -     1.00    -      -      -     mul	x13, x12, x12
 -      -     1.00    -      -      -      -      -     lsr	x13, x13, #16
 -     1.00    -      -      -      -      -      -     sub	x10, x10, x13
 -      -      -      -     1.00    -      -      -     mul	x10, x10, x13
 -      -      -      -     1.00    -      -      -     add	x10, x11, x10, asr #16
 -      -      -      -     1.00    -      -      -     mul	x10, x10, x13
 -      -      -      -     1.00    -      -      -     add	x9, x9, x10, asr #16
 -      -      -      -     1.00    -      -      -     mul	x9, x9, x13
 -      -      -      -     1.00    -      -      -     add	x8, x8, x9, asr #16
 -      -      -      -     1.00    -      -      -     mul	x8, x8, x13
 -      -     1.00    -      -      -      -      -     mov	x14, #35747
 -     1.00    -      -      -      -      -      -     asr	x8, x8, #16
 -     1.00    -      -      -      -      -      -     movk	x14, #47662, lsl #16
 -      -     1.00    -      -      -      -      -     add	x8, x8, #176, lsl #12
 -      -     1.00    -      -      -      -      -     movk	x14, #41704, lsl #32
 -      -      -      -     1.00    -      -      -     mul	x8, x8, x12
 -     1.00    -      -      -      -      -      -     movk	x14, #11915, lsl #48
 -     1.00    -      -      -      -      -      -     asr	x8, x8, #16
 -      -      -      -     1.00    -      -      -     smulh	x8, x8, x14
 -      -     1.00    -      -      -      -      -     asr	x9, x8, #1
 -      -      -      -     1.00    -      -      -     add	x8, x9, x8, lsr #63
 -      -     1.00    -      -      -      -      -     mov	w9, #39472
 -     1.00    -      -      -      -      -      -     add	x8, x8, x9
 -      -     1.00    -      -      -      -      -     cmp	x0, #0
 -      -     1.00    -      -      -      -      -     cneg	x0, x8, lt
1.00    -      -      -      -      -      -      -     ret
 -     1.00    -      -      -      -      -      -     cmp	x12, #39, lsl #12
1.00    -      -      -      -      -      -      -     b.ge	.LBB1_8
 -      -      -      -     1.00    -      -      -     mul	x13, x12, x13
 -      -     1.00    -      -      -      -      -     mov	x14, #-8589934592
 -     1.00    -      -      -      -      -      -     movk	x14, #53248, lsl #16
 -      -     1.00    -      -      -      -      -     lsr	x13, x13, #16
 -      -      -      -     1.00    -      -      -     add	x12, x14, x12, lsl #16
 -     1.00    -      -      -      -      -      -     add	x13, x13, #16, lsl #12
 -      -      -      -     35.00   -      -      -     sdiv	x12, x12, x13
 -      -      -      -     1.00    -      -      -     mul	x13, x12, x12
 -      -     1.00    -      -      -      -      -     lsr	x13, x13, #16
 -     1.00    -      -      -      -      -      -     sub	x10, x10, x13
 -      -      -      -     1.00    -      -      -     mul	x10, x10, x13
 -      -      -      -     1.00    -      -      -     add	x10, x11, x10, asr #16
 -      -      -      -     1.00    -      -      -     mul	x10, x10, x13
 -      -      -      -     1.00    -      -      -     add	x9, x9, x10, asr #16
 -      -      -      -     1.00    -      -      -     mul	x9, x9, x13
 -      -      -      -     1.00    -      -      -     add	x8, x8, x9, asr #16
 -      -      -      -     1.00    -      -      -     mul	x8, x8, x13
 -     1.00    -      -      -      -      -      -     mov	x14, #35747
 -      -     1.00    -      -      -      -      -     asr	x8, x8, #16
 -      -     1.00    -      -      -      -      -     movk	x14, #47662, lsl #16
 -     1.00    -      -      -      -      -      -     add	x8, x8, #176, lsl #12
 -     1.00    -      -      -      -      -      -     movk	x14, #41704, lsl #32
 -      -      -      -     1.00    -      -      -     mul	x8, x8, x12
 -      -     1.00    -      -      -      -      -     movk	x14, #11915, lsl #48
 -      -     1.00    -      -      -      -      -     asr	x8, x8, #16
 -      -      -      -     1.00    -      -      -     smulh	x8, x8, x14
 -     1.00    -      -      -      -      -      -     asr	x9, x8, #1
 -      -      -      -     1.00    -      -      -     add	x8, x9, x8, lsr #63
 -     1.00    -      -      -      -      -      -     mov	w9, #57076
 -      -     1.00    -      -      -      -      -     add	x8, x8, x9
 -     1.00    -      -      -      -      -      -     cmp	x0, #0
 -     1.00    -      -      -      -      -      -     cneg	x0, x8, lt
1.00    -      -      -      -      -      -      -     ret
 -      -     1.00    -      -      -      -      -     mov	w13, #28672
 -     1.00    -      -      -      -      -      -     movk	w13, #2, lsl #16
 -      -     1.00    -      -      -      -      -     mov	x14, #2415919104
 -     1.00    -      -      -      -      -      -     movk	x14, #65533, lsl #32
 -      -      -      -     1.00    -      -      -     mul	x13, x12, x13
 -      -     1.00    -      -      -      -      -     movk	x14, #65535, lsl #48
 -      -     1.00    -      -      -      -      -     lsr	x13, x13, #16
 -      -      -      -     1.00    -      -      -     add	x12, x14, x12, lsl #16
 -     1.00    -      -      -      -      -      -     add	x13, x13, #16, lsl #12
 -      -      -      -     35.00   -      -      -     sdiv	x12, x12, x13
 -      -      -      -     1.00    -      -      -     mul	x13, x12, x12
 -     1.00    -      -      -      -      -      -     lsr	x13, x13, #16
 -      -     1.00    -      -      -      -      -     sub	x14, x10, x13
 -      -      -      -     1.00    -      -      -     mul	x14, x14, x13
 -      -      -      -     1.00    -      -      -     add	x11, x11, x14, asr #16
 -      -      -      -     1.00    -      -      -     mul	x11, x11, x13
 -      -      -      -     1.00    -      -      -     add	x9, x9, x11, asr #16
 -      -      -      -     1.00    -      -      -     mul	x9, x9, x13
 -      -      -      -     1.00    -      -      -     add	x8, x8, x9, asr #16
 -      -      -      -     1.00    -      -      -     mul	x8, x8, x13
 -     1.00    -      -      -      -      -      -     asr	x8, x8, #16
 -     1.00    -      -      -      -      -      -     mov	x9, #35747
 -      -     1.00    -      -      -      -      -     add	x8, x8, #176, lsl #12
 -      -     1.00    -      -      -      -      -     movk	x9, #47662, lsl #16
 -      -      -      -     1.00    -      -      -     mul	x8, x8, x12
 -     1.00    -      -      -      -      -      -     movk	x9, #41704, lsl #32
 -     1.00    -      -      -      -      -      -     asr	x8, x8, #16
 -      -     1.00    -      -      -      -      -     movk	x9, #11915, lsl #48
 -      -      -      -     1.00    -      -      -     smulh	x8, x8, x9
 -      -     1.00    -      -      -      -      -     asr	x9, x8, #1
 -      -      -      -     1.00    -      -      -     add	x8, x9, x8, lsr #63
 -     1.00    -      -      -      -      -      -     add	x8, x10, x8
 -      -     1.00    -      -      -      -      -     sub	x8, x8, #2670
 -      -     1.00    -      -      -      -      -     cmp	x0, #0
 -     1.00    -      -      -      -      -      -     cneg	x0, x8, lt
1.00    -      -      -      -      -      -      -     ret
