## Top method improvements

<details>
<summary>-19 (-3.11 % of base) - System.Number:DiyFp128Log1p(System.Number+DiyFp128,bool,byref):System.Number+DiyFp128</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128Log1p(System.Number+DiyFp128,bool,byref):System.Number+DiyFp128 (FullOpts)
 ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 4 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 7 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 RetBuf       [V00,T00] (  5,  4   )    long  ->  rbx         single-def
 ;  V01 arg0         [V01    ] (  6,  4   )  struct (24) [rbp+0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op single-def <System.Number+DiyFp128>
 ;  V02 arg1         [V02,T02] (  4,  3   )   ubyte  ->  r14         single-def
 ;  V03 arg2         [V03,T01] (  4,  3   )   byref  ->  r15         single-def
 ;  V04 loc0         [V04,T03] (  3,  2.50)     int  ->  rdi        
-;  V05 loc1         [V05,T06] (  2,  1.50)     int  ->  rax        
+;  V05 loc1         [V05,T05] (  2,  1.50)     int  ->  rax        
 ;* V06 loc2         [V06    ] (  0,  0   )   ubyte  ->  zero-ref   
-;  V07 loc3         [V07,T05] (  3,  1.50)    long  ->  rdi        
-;  V08 loc4         [V08    ] (  3,  1.50)  struct (24) [rbp-0x38]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V09 loc5         [V09    ] (  3,  1.50)  struct (24) [rbp-0x50]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V10 loc6         [V10    ] (  8,  4   )  struct (24) [rbp-0x68]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V11 loc7         [V11    ] (  4,  2   )  struct (24) [rbp-0x80]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
-;  V12 loc8         [V12    ] (  2,  1   )  struct (24) [rbp-0x98]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V13 loc9         [V13    ] (  3,  1.50)  struct (24) [rbp-0xB0]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V07 loc3         [V07,T04] (  3,  1.50)    long  ->  rdi        
+;  V08 loc4         [V08    ] (  3,  1.50)  struct (24) [rbp-0x30]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V09 loc5         [V09    ] (  3,  1.50)  struct (24) [rbp-0x48]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V10 loc6         [V10    ] (  8,  4   )  struct (24) [rbp-0x60]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V11 loc7         [V11    ] (  4,  2   )  struct (24) [rbp-0x78]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
+;  V12 loc8         [V12    ] (  2,  1   )  struct (24) [rbp-0x90]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V13 loc9         [V13    ] (  3,  1.50)  struct (24) [rbp-0xA8]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
 ;  V14 OutArgs      [V14    ] (  1,  1   )  struct (24) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V15 tmp1         [V15,T08] (  2,  1   )    long  ->  rcx        
+;  V15 tmp1         [V15,T06] (  2,  1   )    long  ->  rcx        
 ;* V16 tmp2         [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
 ;* V17 tmp3         [V17    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
 ;* V18 tmp4         [V18    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;* V19 tmp5         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V20 tmp6         [V20    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V21 tmp7         [V21,T04] (  2,  2   )     ref  ->  r13         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;  V22 tmp8         [V22    ] (  3,  1.50)  struct (24) [rbp-0xC8]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.Number+DiyFp128>
-;  V23 tmp9         [V23    ] (  4,  2   )  struct (24) [rbp-0xE0]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Number+DiyFp128>
-;* V24 tmp10        [V24    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V25 tmp11        [V25    ] (  2,  1   )  struct (24) [rbp-0xF8]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.Number+DiyFp128>
-;  V26 tmp12        [V26    ] (  6,  3   )     int  ->  [rbp-0x68]  do-not-enreg[X] addr-exposed "field V10._sign (fldOffset=0x0)" P-DEP
-;  V27 tmp13        [V27    ] (  8,  4   )     int  ->  [rbp-0x64]  do-not-enreg[X] addr-exposed "field V10._exponent (fldOffset=0x4)" P-DEP
-;  V28 tmp14        [V28    ] (  6,  3   )    long  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed "field V10._hi (fldOffset=0x8)" P-DEP
-;  V29 tmp15        [V29    ] (  6,  3   )    long  ->  [rbp-0x58]  do-not-enreg[X] addr-exposed "field V10._lo (fldOffset=0x10)" P-DEP
-;* V30 tmp16        [V30,T09] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
-;* V31 tmp17        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
-;* V32 tmp18        [V32,T10] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V33 tmp19        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;* V34 tmp20        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;* V35 tmp21        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
-;  V36 tmp22        [V36,T07] (  2,  1   )   byref  ->  r13         "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V37 tmp23        [V37,T11] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;  V38 tmp24        [V38    ] (  3,  1.50)     int  ->  [rbp-0xE0]  do-not-enreg[X] addr-exposed "field V23._sign (fldOffset=0x0)" P-DEP
-;  V39 tmp25        [V39    ] (  4,  2   )     int  ->  [rbp-0xDC]  do-not-enreg[X] addr-exposed "field V23._exponent (fldOffset=0x4)" P-DEP
-;  V40 tmp26        [V40    ] (  3,  1.50)    long  ->  [rbp-0xD8]  do-not-enreg[X] addr-exposed "field V23._hi (fldOffset=0x8)" P-DEP
-;  V41 tmp27        [V41    ] (  3,  1.50)    long  ->  [rbp-0xD0]  do-not-enreg[X] addr-exposed "field V23._lo (fldOffset=0x10)" P-DEP
+;* V19 tmp5         [V19    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V20 tmp6         [V20    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V21 tmp7         [V21    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V22 tmp8         [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V23 tmp9         [V23    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V24 tmp10        [V24    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V25 tmp11        [V25    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V26 tmp12        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V27 tmp13        [V27    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V28 tmp14        [V28    ] (  3,  1.50)  struct (24) [rbp-0xC0]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.Number+DiyFp128>
+;  V29 tmp15        [V29    ] (  4,  2   )  struct (24) [rbp-0xD8]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Number+DiyFp128>
+;* V30 tmp16        [V30    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
+;  V31 tmp17        [V31    ] (  2,  1   )  struct (24) [rbp-0xF0]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.Number+DiyFp128>
+;  V32 tmp18        [V32    ] (  6,  3   )     int  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed "field V10._sign (fldOffset=0x0)" P-DEP
+;  V33 tmp19        [V33    ] (  8,  4   )     int  ->  [rbp-0x5C]  do-not-enreg[X] addr-exposed "field V10._exponent (fldOffset=0x4)" P-DEP
+;  V34 tmp20        [V34    ] (  6,  3   )    long  ->  [rbp-0x58]  do-not-enreg[X] addr-exposed "field V10._hi (fldOffset=0x8)" P-DEP
+;  V35 tmp21        [V35    ] (  6,  3   )    long  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed "field V10._lo (fldOffset=0x10)" P-DEP
+;* V36 tmp22        [V36,T07] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V37 tmp23        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;* V38 tmp24        [V38,T08] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
+;* V39 tmp25        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
+;* V40 tmp26        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V41 tmp27        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
+;* V42 tmp28        [V42    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V43 tmp29        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;* V44 tmp30        [V44    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V22._reference (fldOffset=0x0)" P-INDEP
+;* V45 tmp31        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
+;* V46 tmp32        [V46    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V25._reference (fldOffset=0x0)" P-INDEP
+;* V47 tmp33        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
+;* V48 tmp34        [V48    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V49 tmp35        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
+;  V50 tmp36        [V50    ] (  3,  1.50)     int  ->  [rbp-0xD8]  do-not-enreg[X] addr-exposed "field V29._sign (fldOffset=0x0)" P-DEP
+;  V51 tmp37        [V51    ] (  4,  2   )     int  ->  [rbp-0xD4]  do-not-enreg[X] addr-exposed "field V29._exponent (fldOffset=0x4)" P-DEP
+;  V52 tmp38        [V52    ] (  3,  1.50)    long  ->  [rbp-0xD0]  do-not-enreg[X] addr-exposed "field V29._hi (fldOffset=0x8)" P-DEP
+;  V53 tmp39        [V53    ] (  3,  1.50)    long  ->  [rbp-0xC8]  do-not-enreg[X] addr-exposed "field V29._lo (fldOffset=0x10)" P-DEP
 ;
-; Lcl frame size = 240
+; Lcl frame size = 248
 
 G_M34379_IG01:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 240
+       sub      rsp, 248
        lea      rbp, [rsp+0x110]
        mov      rbx, rdi
        mov      r14d, esi
        mov      r15, rdx
-						;; size=32 bbWeight=1 PerfScore 6.50
+						;; size=30 bbWeight=1 PerfScore 5.50
 G_M34379_IG02:
        mov      edi, dword ptr [rbp+0x14]
        mov      eax, dword ptr [rbp+0x10]
        test     edi, edi
        jge      SHORT G_M34379_IG04
 						;; size=10 bbWeight=1 PerfScore 3.25
 G_M34379_IG03:
        cmp      edi, -2
        jle      G_M34379_IG05
        mov      rdi, qword ptr [rbp+0x18]
        shr      rdi, 2
        mov      rcx, rdi
        neg      rcx
        test     eax, eax
        cmove    rcx, rdi
        mov      rdi, 0xD1FFAB1E
        add      rdi, rcx
        mov      rax, 0xD1FFAB1E
        cmp      rdi, rax
        jb       SHORT G_M34379_IG05
 						;; size=57 bbWeight=0.50 PerfScore 3.00
 G_M34379_IG04:
        vxorps   xmm0, xmm0, xmm0
-       vmovdqu32 xmmword ptr [rbp-0xB0], xmm0
        vmovdqu  xmmword ptr [rbp-0xA8], xmm0
-       lea      rdi, [rbp-0x80]
+       vmovdqu32 xmmword ptr [rbp-0xA0], xmm0
+       lea      rdi, [rbp-0x78]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:get_DiyFp128One():System.Number+DiyFp128
        call     [rax]System.Number:get_DiyFp128One():System.Number+DiyFp128
-       lea      rcx, bword ptr [rbp-0xB0]
+       lea      rcx, bword ptr [rbp-0xA8]
        mov      r8d, 1
        lea      rsi, [rbp+0x10]
-       lea      rdi, [rbp-0x80]
+       lea      rdi, [rbp-0x78]
        xor      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128AddSub(byref,byref,int,System.Span`1[System.Number+DiyFp128])
        call     [rax]System.Number:DiyFp128AddSub(byref,byref,int,System.Span`1[System.Number+DiyFp128])
-       vmovdqu32 xmm0, xmmword ptr [rbp-0xB0]
+       vmovdqu  xmm0, xmmword ptr [rbp-0xA8]
        vmovdqu  xmmword ptr [rsp], xmm0
-       mov      rsi, qword ptr [rbp-0xA0]
+       mov      rsi, qword ptr [rbp-0x98]
        mov      qword ptr [rsp+0x10], rsi
        movzx    rsi, r14b
        mov      rdi, rbx
        mov      rdx, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Log(System.Number+DiyFp128,bool,byref):System.Number+DiyFp128
        call     [rax]System.Number:DiyFp128Log(System.Number+DiyFp128,bool,byref):System.Number+DiyFp128
        jmp      G_M34379_IG08
-						;; size=121 bbWeight=0.50 PerfScore 10.67
+						;; size=122 bbWeight=0.50 PerfScore 10.67
 G_M34379_IG05:
        vxorps   xmm0, xmm0, xmm0
-       vmovdqu  xmmword ptr [rbp-0x38], xmm0
        vmovdqu  xmmword ptr [rbp-0x30], xmm0
-       lea      rdi, [rbp-0x80]
+       vmovdqu  xmmword ptr [rbp-0x28], xmm0
+       lea      rdi, [rbp-0x78]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:get_LogTwo():System.Number+DiyFp128
        call     [rax]System.Number:get_LogTwo():System.Number+DiyFp128
-       lea      rcx, bword ptr [rbp-0x38]
+       lea      rcx, bword ptr [rbp-0x30]
        mov      r8d, 1
        lea      rsi, [rbp+0x10]
-       lea      rdi, [rbp-0x80]
+       lea      rdi, [rbp-0x78]
        xor      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128AddSub(byref,byref,int,System.Span`1[System.Number+DiyFp128])
        call     [rax]System.Number:DiyFp128AddSub(byref,byref,int,System.Span`1[System.Number+DiyFp128])
        lea      rdi, [rbp+0x10]
-       lea      rsi, [rbp-0x38]
-       lea      rcx, [rbp-0x50]
+       lea      rsi, [rbp-0x30]
+       lea      rcx, [rbp-0x48]
        mov      edx, 2
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Divide(byref,byref,int,byref)
        call     [rax]System.Number:DiyFp128Divide(byref,byref,int,byref)
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      r13, gword ptr [rdi]
-       add      r13, 16
-       vmovdqu  xmm0, xmmword ptr [rbp-0x50]
-       vmovdqu  xmmword ptr [rbp-0xC8], xmm0
-       mov      rdi, qword ptr [rbp-0x40]
-       mov      qword ptr [rbp-0xB8], rdi
-       lea      rdi, [rbp-0xC8]
-       lea      rsi, [rbp-0xC8]
-       lea      rdx, [rbp-0xE0]
+       vmovdqu  xmm0, xmmword ptr [rbp-0x48]
+       vmovdqu32 xmmword ptr [rbp-0xC0], xmm0
+       mov      rdi, qword ptr [rbp-0x38]
+       mov      qword ptr [rbp-0xB0], rdi
+       lea      rdi, [rbp-0xC0]
+       lea      rsi, [rbp-0xC0]
+       lea      rdx, [rbp-0xD8]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Multiply(byref,byref,byref)
        call     [rax]System.Number:DiyFp128Multiply(byref,byref,byref)
-       lea      rdi, [rbp-0xE0]
+       lea      rdi, [rbp-0xD8]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Normalize(byref)
        call     [rax]System.Number:DiyFp128Normalize(byref)
-       lea      rsi, [rbp-0x68]
+       lea      rsi, [rbp-0x60]
        mov      qword ptr [rsp], rsi
-       movsxd   rsi, dword ptr [rbp-0xDC]
+       movsxd   rsi, dword ptr [rbp-0xD4]
        imul     rsi, rsi, -17
-       mov      rdx, r13
+       mov      rdx, 0xD1FFAB1E      ; static handle
        mov      ecx, 18
-       lea      rdi, [rbp-0xE0]
+       lea      rdi, [rbp-0xD8]
        xor      r8d, r8d
        mov      r9d, 17
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128EvaluatePositivePolynomial(byref,long,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,long,byref)
-						;; size=237 bbWeight=0.50 PerfScore 18.79
-G_M34379_IG06:
        call     [rax]System.Number:DiyFp128EvaluatePositivePolynomial(byref,long,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,long,byref)
-       vmovdqu  xmm0, xmmword ptr [rbp-0x50]
-       vmovdqu  xmmword ptr [rbp-0xF8], xmm0
-       mov      rdi, qword ptr [rbp-0x40]
-       mov      qword ptr [rbp-0xE8], rdi
-       lea      rdi, [rbp-0xF8]
-       lea      rsi, [rbp-0x68]
-       lea      rdx, [rbp-0x68]
+       vmovdqu  xmm0, xmmword ptr [rbp-0x48]
+						;; size=233 bbWeight=0.50 PerfScore 19.54
+G_M34379_IG06:
+       vmovdqu32 xmmword ptr [rbp-0xF0], xmm0
+       mov      rdi, qword ptr [rbp-0x38]
+       mov      qword ptr [rbp-0xE0], rdi
+       lea      rdi, [rbp-0xF0]
+       lea      rsi, [rbp-0x60]
+       lea      rdx, [rbp-0x60]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Multiply(byref,byref,byref)
        call     [rax]System.Number:DiyFp128Multiply(byref,byref,byref)
-       mov      edi, dword ptr [rbp-0x64]
+       mov      edi, dword ptr [rbp-0x5C]
        add      edi, 2
-       mov      dword ptr [rbp-0x64], edi
+       mov      dword ptr [rbp-0x5C], edi
        test     r14b, r14b
        je       SHORT G_M34379_IG07
        vmovdqu  xmm0, xmmword ptr [r15]
-       vmovdqu  xmmword ptr [rbp-0x98], xmm0
+       vmovdqu32 xmmword ptr [rbp-0x90], xmm0
        mov      rdi, qword ptr [r15+0x10]
-       mov      qword ptr [rbp-0x88], rdi
-       lea      rdi, [rbp-0x68]
-       lea      rsi, [rbp-0x98]
-       lea      rdx, [rbp-0x68]
+       mov      qword ptr [rbp-0x80], rdi
+       lea      rdi, [rbp-0x60]
+       lea      rsi, [rbp-0x90]
+       lea      rdx, [rbp-0x60]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Multiply(byref,byref,byref)
        call     [rax]System.Number:DiyFp128Multiply(byref,byref,byref)
-						;; size=118 bbWeight=0.50 PerfScore 13.00
+						;; size=106 bbWeight=0.50 PerfScore 11.00
 G_M34379_IG07:
-       vmovdqu  xmm0, xmmword ptr [rbp-0x68]
+       vmovdqu  xmm0, xmmword ptr [rbp-0x60]
        vmovdqu  xmmword ptr [rbx], xmm0
-       mov      rax, qword ptr [rbp-0x58]
+       mov      rax, qword ptr [rbp-0x50]
        mov      qword ptr [rbx+0x10], rax
 						;; size=17 bbWeight=0.50 PerfScore 2.00
 G_M34379_IG08:
        mov      rax, rbx
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M34379_IG09:
-       add      rsp, 240
+       add      rsp, 248
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=16 bbWeight=1 PerfScore 3.75
+						;; size=14 bbWeight=1 PerfScore 3.25
 
-; Total bytes of code 611, prolog size 23, PerfScore 61.21, instruction count 130, allocated bytes for code 611 (MethodHash=819c79b4) for method System.Number:DiyFp128Log1p(System.Number+DiyFp128,bool,byref):System.Number+DiyFp128 (FullOpts)
+; Total bytes of code 592, prolog size 21, PerfScore 58.46, instruction count 125, allocated bytes for code 592 (MethodHash=819c79b4) for method System.Number:DiyFp128Log1p(System.Number+DiyFp128,bool,byref):System.Number+DiyFp128 (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-19 (-5.60 % of base) - System.Number:DiyFp128Tan(byref):System.Number+DiyFp128</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128Tan(byref):System.Number+DiyFp128 (FullOpts)
 ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 7 single block inlinees; 3 inlinees without PGO data
+; 0 inlinees with PGO data; 13 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 RetBuf       [V00,T01] (  5,  4   )    long  ->  rbx         single-def
 ;  V01 arg0         [V01,T00] (  8,  5.50)   byref  ->  rax         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )     int  ->  zero-ref   
 ;  V03 loc1         [V03    ] (  6,  4   )  struct (24) [rbp-0x28]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
 ;* V04 loc2         [V04    ] (  0,  0   )     int  ->  zero-ref   
-;  V05 loc3         [V05,T07] (  2,  1   )     int  ->  rsi        
+;  V05 loc3         [V05,T03] (  2,  1   )     int  ->  rsi        
 ;* V06 loc4         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[System.Number+DiyFp128]>
 ;  V07 loc5         [V07    ] (  7,  3.50)  struct (48) [rbp-0x58]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Runtime.CompilerServices.InlineArray2`1[System.Number+DiyFp128]>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (40) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V09 tmp1         [V09,T08] (  2,  1   )     int  ->  rsi        
+;  V09 tmp1         [V09,T04] (  2,  1   )     int  ->  rsi        
 ;* V10 tmp2         [V10    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;* V12 tmp4         [V12    ] (  0,  0   )   byref  ->  zero-ref    single-def "dup spill"
 ;  V13 tmp5         [V13,T02] (  4,  2   )     int  ->  r15         "Inline return value spill temp"
 ;* V14 tmp6         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
-;* V15 tmp7         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V16 tmp8         [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V17 tmp9         [V17,T03] (  2,  2   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V18 tmp10        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V19 tmp11        [V19    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V20 tmp12        [V20,T04] (  2,  2   )     ref  ->   r8         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;  V21 tmp13        [V21    ] (  4,  2   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V03._sign (fldOffset=0x0)" P-DEP
-;  V22 tmp14        [V22    ] (  4,  2   )     int  ->  [rbp-0x24]  do-not-enreg[X] addr-exposed "field V03._exponent (fldOffset=0x4)" P-DEP
-;  V23 tmp15        [V23    ] (  5,  3   )    long  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V03._hi (fldOffset=0x8)" P-DEP
-;  V24 tmp16        [V24    ] (  5,  3   )    long  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed "field V03._lo (fldOffset=0x10)" P-DEP
-;* V25 tmp17        [V25    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V06._reference (fldOffset=0x0)" P-INDEP
-;* V26 tmp18        [V26    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
-;* V27 tmp19        [V27    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V10._reference (fldOffset=0x0)" P-INDEP
-;* V28 tmp20        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;* V29 tmp21        [V29    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V30 tmp22        [V30    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
-;* V31 tmp23        [V31,T09] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
-;* V32 tmp24        [V32    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
-;  V33 tmp25        [V33,T05] (  2,  1   )   byref  ->  rdx         "field V16._reference (fldOffset=0x0)" P-INDEP
-;* V34 tmp26        [V34,T10] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
-;  V35 tmp27        [V35,T06] (  2,  1   )   byref  ->   r8         "field V19._reference (fldOffset=0x0)" P-INDEP
-;* V36 tmp28        [V36,T11] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
-;* V37 tmp29        [V37    ] (  0,  0   )   byref  ->  zero-ref    single-def "Zero offset field obj"
+;* V15 tmp7         [V15    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V16 tmp8         [V16    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V17 tmp9         [V17    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V18 tmp10        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V19 tmp11        [V19    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V20 tmp12        [V20    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V21 tmp13        [V21    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V22 tmp14        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V23 tmp15        [V23    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V24 tmp16        [V24    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V25 tmp17        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V26 tmp18        [V26    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V27 tmp19        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V28 tmp20        [V28    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V29 tmp21        [V29    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V30 tmp22        [V30    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V31 tmp23        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V32 tmp24        [V32    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V33 tmp25        [V33    ] (  4,  2   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V03._sign (fldOffset=0x0)" P-DEP
+;  V34 tmp26        [V34    ] (  4,  2   )     int  ->  [rbp-0x24]  do-not-enreg[X] addr-exposed "field V03._exponent (fldOffset=0x4)" P-DEP
+;  V35 tmp27        [V35    ] (  5,  3   )    long  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V03._hi (fldOffset=0x8)" P-DEP
+;  V36 tmp28        [V36    ] (  5,  3   )    long  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed "field V03._lo (fldOffset=0x10)" P-DEP
+;* V37 tmp29        [V37    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V06._reference (fldOffset=0x0)" P-INDEP
+;* V38 tmp30        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
+;* V39 tmp31        [V39    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V10._reference (fldOffset=0x0)" P-INDEP
+;* V40 tmp32        [V40    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
+;* V41 tmp33        [V41    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V42 tmp34        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;* V43 tmp35        [V43,T05] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V44 tmp36        [V44    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
+;* V45 tmp37        [V45    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V46 tmp38        [V46    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;* V47 tmp39        [V47    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V48 tmp40        [V48    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
+;* V49 tmp41        [V49    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V21._reference (fldOffset=0x0)" P-INDEP
+;* V50 tmp42        [V50    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
+;* V51 tmp43        [V51    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V22._reference (fldOffset=0x0)" P-INDEP
+;* V52 tmp44        [V52    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
+;* V53 tmp45        [V53    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V54 tmp46        [V54    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
+;* V55 tmp47        [V55    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V56 tmp48        [V56    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
+;* V57 tmp49        [V57    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V30._reference (fldOffset=0x0)" P-INDEP
+;* V58 tmp50        [V58    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
+;* V59 tmp51        [V59    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V31._reference (fldOffset=0x0)" P-INDEP
+;* V60 tmp52        [V60    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
+;* V61 tmp53        [V61    ] (  0,  0   )   byref  ->  zero-ref    single-def "Zero offset field obj"
 ;
 ; Lcl frame size = 112
 
 G_M64545_IG01:
        push     rbp
        push     r15
        push     rbx
        sub      rsp, 112
        lea      rbp, [rsp+0x80]
        mov      rbx, rdi
        mov      rax, rsi
 						;; size=22 bbWeight=1 PerfScore 4.25
 G_M64545_IG02:
        cmp      byte  ptr [rax+0x38], 0
        jne      SHORT G_M64545_IG04
 						;; size=6 bbWeight=1 PerfScore 3.00
 G_M64545_IG03:
        lea      rdx, [rbp-0x28]
        mov      rdi, rax
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128RadianReduce(byref,int,byref):int
        call     [rax]System.Number:DiyFp128RadianReduce(byref,int,byref):int
        mov      r15d, eax
        jmp      SHORT G_M64545_IG05
 						;; size=26 bbWeight=0.50 PerfScore 3.25
 G_M64545_IG04:
        mov      rsi, qword ptr [rax+0x20]
        mov      rdx, qword ptr [rax+0x28]
        mov      edi, dword ptr [rax+0x34]
        mov      ecx, dword ptr [rax+0x30]
        lea      r9, [rbp-0x28]
        xor      r8d, r8d
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128DecimalRadianReduce(uint,System.UInt128,int,int,byref):int
        call     [rax]System.Number:DiyFp128DecimalRadianReduce(uint,System.UInt128,int,int,byref):int
        mov      r15d, eax
 						;; size=36 bbWeight=0.50 PerfScore 6.12
 G_M64545_IG05:
        mov      rsi, qword ptr [rbp-0x20]
        or       rsi, qword ptr [rbp-0x18]
        je       G_M64545_IG08
 						;; size=14 bbWeight=1 PerfScore 3.00
 G_M64545_IG06:
        mov      esi, 512
        xor      edx, edx
        test     r15b, 1
        cmove    esi, edx
        or       esi, 206
        vxorps   ymm0, ymm0, ymm0
        vmovdqu  ymmword ptr [rbp-0x58], ymm0
        vmovdqu  xmmword ptr [rbp-0x38], xmm0
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rbp-0x58], xmm0
        vmovdqu  xmmword ptr [rbp-0x50], xmm0
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rbp-0x40], xmm0
        vmovdqu  xmmword ptr [rbp-0x38], xmm0
-       mov      rdx, 0xD1FFAB1E      ; const ptr
-       mov      rdx, gword ptr [rdx]
-       add      rdx, 16
-       mov      r8, 0xD1FFAB1E      ; const ptr
-       mov      r8, gword ptr [r8]
-       add      r8, 16
        mov      dword ptr [rsp], 1
        mov      dword ptr [rsp+0x08], 7
        mov      dword ptr [rsp+0x10], esi
        lea      rsi, bword ptr [rbp-0x58]
-       mov      r9d, 2
+       mov      edx, 2
        mov      bword ptr [rsp+0x18], rsi
-       mov      dword ptr [rsp+0x20], r9d
-       mov      rsi, rdx
+       mov      dword ptr [rsp+0x20], edx
+       mov      rsi, 0xD1FFAB1E      ; static handle
        mov      edx, 8
+       mov      r8, 0xD1FFAB1E      ; static handle
        mov      r9d, 8
        lea      rdi, [rbp-0x28]
        mov      ecx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128EvaluateRational(byref,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,int,int,System.Span`1[System.Number+DiyFp128])
        call     [rax]System.Number:DiyFp128EvaluateRational(byref,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,int,int,System.Span`1[System.Number+DiyFp128])
        test     r15b, 1
        je       SHORT G_M64545_IG07
        mov      eax, dword ptr [rbp-0x58]
        xor      eax, 0xD1FFAB1E
        mov      dword ptr [rbp-0x58], eax
-						;; size=187 bbWeight=0.50 PerfScore 13.75
+						;; size=168 bbWeight=0.50 PerfScore 11.38
 G_M64545_IG07:
        vmovdqu  xmm0, xmmword ptr [rbp-0x58]
        vmovdqu  xmmword ptr [rbx], xmm0
        mov      rax, qword ptr [rbp-0x48]
        mov      qword ptr [rbx+0x10], rax
        jmp      SHORT G_M64545_IG09
 						;; size=19 bbWeight=0.50 PerfScore 3.00
 G_M64545_IG08:
        vmovdqu  xmm0, xmmword ptr [rbp-0x28]
        vmovdqu  xmmword ptr [rbx], xmm0
        mov      rax, qword ptr [rbp-0x18]
        mov      qword ptr [rbx+0x10], rax
 						;; size=17 bbWeight=0.50 PerfScore 2.00
 G_M64545_IG09:
        mov      rax, rbx
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M64545_IG10:
        add      rsp, 112
        pop      rbx
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=1 PerfScore 2.75
 
-; Total bytes of code 339, prolog size 16, PerfScore 41.38, instruction count 82, allocated bytes for code 339 (MethodHash=04d503de) for method System.Number:DiyFp128Tan(byref):System.Number+DiyFp128 (FullOpts)
+; Total bytes of code 320, prolog size 16, PerfScore 39.00, instruction count 77, allocated bytes for code 320 (MethodHash=04d503de) for method System.Number:DiyFp128Tan(byref):System.Number+DiyFp128 (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-14 (-8.00 % of base) - System.Number:DiyFp128EvaluatePow2Polynomial(byref,byref)</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128EvaluatePow2Polynomial(byref,byref) (FullOpts)
 ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 8 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T01] (  3,  3   )   byref  ->  rdi         single-def
 ;  V01 arg1         [V01,T00] (  6,  5   )   byref  ->  rbx         single-def
 ;  V02 loc0         [V02    ] (  6,  5   )  struct (24) [rbp-0x20]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
 ;  V03 loc1         [V03,T02] (  3,  2   )    long  ->  rsi        
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V05 tmp1         [V05    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;* V06 tmp2         [V06    ] (  0,  0   )   byref  ->  zero-ref    "dup spill"
 ;* V07 tmp3         [V07    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;* V08 tmp4         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V09 tmp5         [V09    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V10 tmp6         [V10,T03] (  2,  2   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V11 tmp7         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V12 tmp8         [V12    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V13 tmp9         [V13,T04] (  2,  2   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;  V14 tmp10        [V14    ] (  5,  4   )     int  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V02._sign (fldOffset=0x0)" P-DEP
-;  V15 tmp11        [V15    ] (  5,  4   )     int  ->  [rbp-0x1C]  do-not-enreg[X] addr-exposed "field V02._exponent (fldOffset=0x4)" P-DEP
-;  V16 tmp12        [V16    ] (  4,  3   )    long  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed "field V02._hi (fldOffset=0x8)" P-DEP
-;  V17 tmp13        [V17    ] (  4,  3   )    long  ->  [rbp-0x10]  do-not-enreg[X] addr-exposed "field V02._lo (fldOffset=0x10)" P-DEP
-;* V18 tmp14        [V18    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V19 tmp15        [V19    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
-;* V20 tmp16        [V20    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
-;* V21 tmp17        [V21    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
-;  V22 tmp18        [V22,T05] (  2,  1   )   byref  ->  rdx         "field V09._reference (fldOffset=0x0)" P-INDEP
-;* V23 tmp19        [V23,T07] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V24 tmp20        [V24,T06] (  2,  1   )   byref  ->  rdx         "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V25 tmp21        [V25,T08] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
+;* V08 tmp4         [V08    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V09 tmp5         [V09    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V10 tmp6         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V11 tmp7         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V12 tmp8         [V12    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V13 tmp9         [V13    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V14 tmp10        [V14    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V15 tmp11        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V16 tmp12        [V16    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V17 tmp13        [V17    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V18 tmp14        [V18    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V19 tmp15        [V19    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V20 tmp16        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V21 tmp17        [V21    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V22 tmp18        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V23 tmp19        [V23    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V24 tmp20        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V25 tmp21        [V25    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V26 tmp22        [V26    ] (  5,  4   )     int  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V02._sign (fldOffset=0x0)" P-DEP
+;  V27 tmp23        [V27    ] (  5,  4   )     int  ->  [rbp-0x1C]  do-not-enreg[X] addr-exposed "field V02._exponent (fldOffset=0x4)" P-DEP
+;  V28 tmp24        [V28    ] (  4,  3   )    long  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed "field V02._hi (fldOffset=0x8)" P-DEP
+;  V29 tmp25        [V29    ] (  4,  3   )    long  ->  [rbp-0x10]  do-not-enreg[X] addr-exposed "field V02._lo (fldOffset=0x10)" P-DEP
+;* V30 tmp26        [V30    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
+;* V31 tmp27        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
+;* V32 tmp28        [V32    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V33 tmp29        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
+;* V34 tmp30        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;* V35 tmp31        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
+;* V36 tmp32        [V36    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V37 tmp33        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;* V38 tmp34        [V38    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V39 tmp35        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
+;* V40 tmp36        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V41 tmp37        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;* V42 tmp38        [V42    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
+;* V43 tmp39        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
+;* V44 tmp40        [V44    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V45 tmp41        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
+;* V46 tmp42        [V46    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
+;* V47 tmp43        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
+;* V48 tmp44        [V48    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V49 tmp45        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 40
 
 G_M6143_IG01:
        push     rbp
        push     rbx
        sub      rsp, 40
        lea      rbp, [rsp+0x30]
        mov      rbx, rsi
 						;; size=14 bbWeight=1 PerfScore 3.00
 G_M6143_IG02:
        vmovdqu  xmm0, xmmword ptr [rdi]
        vmovdqu  xmmword ptr [rbp-0x20], xmm0
        mov      rax, qword ptr [rdi+0x10]
        mov      qword ptr [rbp-0x10], rax
        lea      rdi, [rbp-0x20]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Normalize(byref)
        call     [rax]System.Number:DiyFp128Normalize(byref)
        movsxd   rdx, dword ptr [rbp-0x1C]
        imul     rsi, rdx, -22
        cmp      dword ptr [rbp-0x20], 0
        jne      SHORT G_M6143_IG04
 						;; size=47 bbWeight=1 PerfScore 14.75
 G_M6143_IG03:
-       mov      rdx, 0xD1FFAB1E      ; const ptr
-       mov      rdx, gword ptr [rdx]
-       add      rdx, 16
        mov      bword ptr [rsp], rbx
+       mov      rdx, 0xD1FFAB1E      ; static handle
        mov      ecx, 23
        lea      rdi, [rbp-0x20]
        xor      r8d, r8d
        mov      r9d, 22
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128EvaluatePositivePolynomial(byref,long,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,long,byref)
        call     [rax]System.Number:DiyFp128EvaluatePositivePolynomial(byref,long,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,long,byref)
        jmp      SHORT G_M6143_IG05
-						;; size=53 bbWeight=0.50 PerfScore 5.00
+						;; size=46 bbWeight=0.50 PerfScore 3.88
 G_M6143_IG04:
-       mov      rdx, 0xD1FFAB1E      ; const ptr
-       mov      rdx, gword ptr [rdx]
-       add      rdx, 16
        mov      bword ptr [rsp], rbx
+       mov      rdx, 0xD1FFAB1E      ; static handle
        mov      ecx, 23
        lea      rdi, [rbp-0x20]
        xor      r8d, r8d
        mov      r9d, 22
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128EvaluateNegativePolynomial(byref,long,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,long,byref)
        call     [rax]System.Number:DiyFp128EvaluateNegativePolynomial(byref,long,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,long,byref)
-						;; size=51 bbWeight=0.50 PerfScore 4.00
+						;; size=44 bbWeight=0.50 PerfScore 2.88
 G_M6143_IG05:
        inc      dword ptr [rbx+0x04]
 						;; size=3 bbWeight=1 PerfScore 3.00
 G_M6143_IG06:
        add      rsp, 40
        pop      rbx
        pop      rbp
        ret      
 						;; size=7 bbWeight=1 PerfScore 2.25
 
-; Total bytes of code 175, prolog size 11, PerfScore 32.00, instruction count 42, allocated bytes for code 175 (MethodHash=288de800) for method System.Number:DiyFp128EvaluatePow2Polynomial(byref,byref) (FullOpts)
+; Total bytes of code 161, prolog size 11, PerfScore 29.75, instruction count 38, allocated bytes for code 161 (MethodHash=288de800) for method System.Number:DiyFp128EvaluatePow2Polynomial(byref,byref) (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-13 (-4.64 % of base) - System.Number:DiyFp128LogPoly(byref):System.Number+DiyFp128</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128LogPoly(byref):System.Number+DiyFp128 (FullOpts)
 ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 RetBuf       [V00,T01] (  4,  4   )    long  ->  r15         single-def
 ;  V01 arg0         [V01,T00] (  4,  4   )   byref  ->  rbx         single-def
-;  V02 loc0         [V02    ] (  8,  8   )  struct (24) [rbp-0x30]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V03 loc1         [V03    ] (  2,  2   )  struct (24) [rbp-0x48]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
+;  V02 loc0         [V02    ] (  8,  8   )  struct (24) [rbp-0x28]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V03 loc1         [V03    ] (  2,  2   )  struct (24) [rbp-0x40]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V05 tmp1         [V05    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;* V06 tmp2         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V07 tmp3         [V07    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V08 tmp4         [V08,T02] (  2,  4   )     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;  V09 tmp5         [V09    ] (  3,  3   )  struct (24) [rbp-0x60]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.Number+DiyFp128>
-;  V10 tmp6         [V10    ] (  4,  4   )  struct (24) [rbp-0x78]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Number+DiyFp128>
-;* V11 tmp7         [V11    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V12 tmp8         [V12    ] (  2,  2   )  struct (24) [rbp-0x90]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.Number+DiyFp128>
-;  V13 tmp9         [V13    ] (  6,  6   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._sign (fldOffset=0x0)" P-DEP
-;  V14 tmp10        [V14    ] (  8,  8   )     int  ->  [rbp-0x2C]  do-not-enreg[X] addr-exposed "field V02._exponent (fldOffset=0x4)" P-DEP
-;  V15 tmp11        [V15    ] (  6,  6   )    long  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V02._hi (fldOffset=0x8)" P-DEP
-;  V16 tmp12        [V16    ] (  6,  6   )    long  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V02._lo (fldOffset=0x10)" P-DEP
-;* V17 tmp13        [V17    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V18 tmp14        [V18    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
-;  V19 tmp15        [V19,T03] (  2,  2   )   byref  ->  r14         "field V07._reference (fldOffset=0x0)" P-INDEP
-;* V20 tmp16        [V20,T04] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
-;  V21 tmp17        [V21    ] (  3,  3   )     int  ->  [rbp-0x78]  do-not-enreg[X] addr-exposed "field V10._sign (fldOffset=0x0)" P-DEP
-;  V22 tmp18        [V22    ] (  4,  4   )     int  ->  [rbp-0x74]  do-not-enreg[X] addr-exposed "field V10._exponent (fldOffset=0x4)" P-DEP
-;  V23 tmp19        [V23    ] (  3,  3   )    long  ->  [rbp-0x70]  do-not-enreg[X] addr-exposed "field V10._hi (fldOffset=0x8)" P-DEP
-;  V24 tmp20        [V24    ] (  3,  3   )    long  ->  [rbp-0x68]  do-not-enreg[X] addr-exposed "field V10._lo (fldOffset=0x10)" P-DEP
+;* V06 tmp2         [V06    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V07 tmp3         [V07    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V08 tmp4         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V09 tmp5         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V10 tmp6         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V11 tmp7         [V11    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V12 tmp8         [V12    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V13 tmp9         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V14 tmp10        [V14    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V15 tmp11        [V15    ] (  3,  3   )  struct (24) [rbp-0x58]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.Number+DiyFp128>
+;  V16 tmp12        [V16    ] (  4,  4   )  struct (24) [rbp-0x70]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Number+DiyFp128>
+;* V17 tmp13        [V17    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
+;  V18 tmp14        [V18    ] (  2,  2   )  struct (24) [rbp-0x88]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.Number+DiyFp128>
+;  V19 tmp15        [V19    ] (  6,  6   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V02._sign (fldOffset=0x0)" P-DEP
+;  V20 tmp16        [V20    ] (  8,  8   )     int  ->  [rbp-0x24]  do-not-enreg[X] addr-exposed "field V02._exponent (fldOffset=0x4)" P-DEP
+;  V21 tmp17        [V21    ] (  6,  6   )    long  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V02._hi (fldOffset=0x8)" P-DEP
+;  V22 tmp18        [V22    ] (  6,  6   )    long  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed "field V02._lo (fldOffset=0x10)" P-DEP
+;* V23 tmp19        [V23    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
+;* V24 tmp20        [V24    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
+;* V25 tmp21        [V25    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V06._reference (fldOffset=0x0)" P-INDEP
+;* V26 tmp22        [V26    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
+;* V27 tmp23        [V27    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
+;* V28 tmp24        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
+;* V29 tmp25        [V29    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
+;* V30 tmp26        [V30    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
+;* V31 tmp27        [V31    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
+;* V32 tmp28        [V32    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
+;  V33 tmp29        [V33    ] (  3,  3   )     int  ->  [rbp-0x70]  do-not-enreg[X] addr-exposed "field V16._sign (fldOffset=0x0)" P-DEP
+;  V34 tmp30        [V34    ] (  4,  4   )     int  ->  [rbp-0x6C]  do-not-enreg[X] addr-exposed "field V16._exponent (fldOffset=0x4)" P-DEP
+;  V35 tmp31        [V35    ] (  3,  3   )    long  ->  [rbp-0x68]  do-not-enreg[X] addr-exposed "field V16._hi (fldOffset=0x8)" P-DEP
+;  V36 tmp32        [V36    ] (  3,  3   )    long  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed "field V16._lo (fldOffset=0x10)" P-DEP
 ;
-; Lcl frame size = 136
+; Lcl frame size = 128
 
 G_M56148_IG01:
        push     rbp
        push     r15
-       push     r14
        push     rbx
-       sub      rsp, 136
-       lea      rbp, [rsp+0xA0]
+       sub      rsp, 128
+       lea      rbp, [rsp+0x90]
        mov      r15, rdi
        mov      rbx, rsi
-						;; size=27 bbWeight=1 PerfScore 5.25
+						;; size=25 bbWeight=1 PerfScore 4.25
 G_M56148_IG02:
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      r14, gword ptr [rdi]
-       add      r14, 16
        vmovdqu  xmm0, xmmword ptr [rbx]
-       vmovdqu  xmmword ptr [rbp-0x60], xmm0
+       vmovdqu  xmmword ptr [rbp-0x58], xmm0
        mov      rdi, qword ptr [rbx+0x10]
-       mov      qword ptr [rbp-0x50], rdi
-       lea      rdi, [rbp-0x60]
-       lea      rsi, [rbp-0x60]
-       lea      rdx, [rbp-0x78]
+       mov      qword ptr [rbp-0x48], rdi
+       lea      rdi, [rbp-0x58]
+       lea      rsi, [rbp-0x58]
+       lea      rdx, [rbp-0x70]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Multiply(byref,byref,byref)
        call     [rax]System.Number:DiyFp128Multiply(byref,byref,byref)
-       lea      rdi, [rbp-0x78]
+       lea      rdi, [rbp-0x70]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Normalize(byref)
        call     [rax]System.Number:DiyFp128Normalize(byref)
-       lea      rsi, [rbp-0x30]
+       lea      rsi, [rbp-0x28]
        mov      qword ptr [rsp], rsi
-       movsxd   rsi, dword ptr [rbp-0x74]
+       movsxd   rsi, dword ptr [rbp-0x6C]
        imul     rsi, rsi, -17
-       mov      rdx, r14
+       mov      rdx, 0xD1FFAB1E      ; static handle
        mov      ecx, 18
-       lea      rdi, [rbp-0x78]
+       lea      rdi, [rbp-0x70]
        xor      r8d, r8d
        mov      r9d, 17
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128EvaluatePositivePolynomial(byref,long,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,long,byref)
        call     [rax]System.Number:DiyFp128EvaluatePositivePolynomial(byref,long,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,long,byref)
        vmovdqu  xmm0, xmmword ptr [rbx]
-       vmovdqu32 xmmword ptr [rbp-0x90], xmm0
+       vmovdqu  xmmword ptr [rbp-0x88], xmm0
        mov      rdi, qword ptr [rbx+0x10]
-       mov      qword ptr [rbp-0x80], rdi
-       lea      rdi, [rbp-0x90]
-       lea      rsi, [rbp-0x30]
-       lea      rdx, [rbp-0x30]
+       mov      qword ptr [rbp-0x78], rdi
+       lea      rdi, [rbp-0x88]
+       lea      rsi, [rbp-0x28]
+       lea      rdx, [rbp-0x28]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Multiply(byref,byref,byref)
        call     [rax]System.Number:DiyFp128Multiply(byref,byref,byref)
-       mov      edi, dword ptr [rbp-0x2C]
+       mov      edi, dword ptr [rbp-0x24]
        add      edi, 2
-       mov      dword ptr [rbp-0x2C], edi
-       lea      rdi, [rbp-0x48]
+       mov      dword ptr [rbp-0x24], edi
+       lea      rdi, [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:get_LogLn2():System.Number+DiyFp128
        call     [rax]System.Number:get_LogLn2():System.Number+DiyFp128
-       lea      rdi, [rbp-0x30]
-       lea      rsi, [rbp-0x48]
-       lea      rdx, [rbp-0x30]
+       lea      rdi, [rbp-0x28]
+       lea      rsi, [rbp-0x40]
+       lea      rdx, [rbp-0x28]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Multiply(byref,byref,byref)
        call     [rax]System.Number:DiyFp128Multiply(byref,byref,byref)
-       vmovdqu  xmm0, xmmword ptr [rbp-0x30]
+       vmovdqu  xmm0, xmmword ptr [rbp-0x28]
        vmovdqu  xmmword ptr [r15], xmm0
-       mov      rax, qword ptr [rbp-0x20]
-						;; size=232 bbWeight=1 PerfScore 50.75
-G_M56148_IG03:
+       mov      rax, qword ptr [rbp-0x18]
        mov      qword ptr [r15+0x10], rax
        mov      rax, r15
-						;; size=7 bbWeight=1 PerfScore 1.25
-G_M56148_IG04:
-       add      rsp, 136
+						;; size=230 bbWeight=1 PerfScore 49.50
+G_M56148_IG03:
+       add      rsp, 128
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=14 bbWeight=1 PerfScore 3.25
+						;; size=12 bbWeight=1 PerfScore 2.75
 
-; Total bytes of code 280, prolog size 21, PerfScore 60.50, instruction count 65, allocated bytes for code 280 (MethodHash=8bea24ab) for method System.Number:DiyFp128LogPoly(byref):System.Number+DiyFp128 (FullOpts)
+; Total bytes of code 267, prolog size 19, PerfScore 56.50, instruction count 60, allocated bytes for code 267 (MethodHash=8bea24ab) for method System.Number:DiyFp128LogPoly(byref):System.Number+DiyFp128 (FullOpts)
 ; ============================================================
```

</details>



Note: some changes were skipped as they were too large to fit into a comment.

