## Top method improvements

<details>
<summary>-31 (-6.72 % of base) - System.Number:DiyFp128SinCos(byref,int,int,System.Span`1[System.Number+DiyFp128])</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128SinCos(byref,int,int,System.Span`1[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; 5 inlinees without PGO data
+; 0 inlinees with PGO data; 16 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  8,  5.50)   byref  ->  rax         single-def
 ;  V01 arg1         [V01,T04] (  4,  3   )     int  ->   r8         single-def
 ;  V02 arg2         [V02,T02] (  4,  4   )     int  ->  r15         single-def
 ;* V03 arg3         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[System.Number+DiyFp128]>
 ;* V04 loc0         [V04    ] (  0,  0   )     int  ->  zero-ref   
 ;  V05 loc1         [V05    ] (  5,  2.50)  struct (24) [rbp-0x38]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V06 loc2         [V06,T15] (  2,  1   )     int  ->  rsi        
+;  V06 loc2         [V06,T07] (  2,  1   )     int  ->  rsi        
 ;* V07 loc3         [V07    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (40) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V09 tmp1         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;* V10 tmp2         [V10    ] (  0,  0   )   byref  ->  zero-ref    single-def "dup spill"
 ;* V11 tmp3         [V11    ] (  0,  0   )   byref  ->  zero-ref    single-def "dup spill"
 ;* V12 tmp4         [V12    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;* V13 tmp5         [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;* V14 tmp6         [V14    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;* V15 tmp7         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;  V16 tmp8         [V16,T05] (  6,  3.50)     int  ->  r13         "Inline return value spill temp"
-;* V17 tmp9         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V18 tmp10        [V18    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V19 tmp11        [V19,T07] (  2,  2   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V20 tmp12        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* 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,T08] (  2,  2   )     ref  ->   r8         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V23 tmp15        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V24 tmp16        [V24    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V25 tmp17        [V25,T09] (  2,  2   )     ref  ->   r8         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V26 tmp18        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V27 tmp19        [V27    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V28 tmp20        [V28,T10] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;  V29 tmp21        [V29,T01] (  7,  4   )   byref  ->  rbx         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
-;  V30 tmp22        [V30,T03] (  6,  3.50)     int  ->  r14         single-def "field V03._length (fldOffset=0x8)" P-INDEP
-;* V31 tmp23        [V31    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
-;* V32 tmp24        [V32    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
-;* V33 tmp25        [V33    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
-;* V34 tmp26        [V34    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;* V35 tmp27        [V35    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V36 tmp28        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
-;* V37 tmp29        [V37    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V38 tmp30        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;* V39 tmp31        [V39    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
-;* V40 tmp32        [V40    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
-;* V41 tmp33        [V41    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
-;* V42 tmp34        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
-;  V43 tmp35        [V43,T11] (  2,  1   )   byref  ->  rdx         "field V18._reference (fldOffset=0x0)" P-INDEP
-;* V44 tmp36        [V44,T16] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
-;  V45 tmp37        [V45,T12] (  2,  1   )   byref  ->   r8         "field V21._reference (fldOffset=0x0)" P-INDEP
-;* V46 tmp38        [V46,T17] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
-;  V47 tmp39        [V47,T13] (  2,  1   )   byref  ->   r8         "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V48 tmp40        [V48,T18] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;  V49 tmp41        [V49,T14] (  2,  1   )   byref  ->  rsi         "field V27._reference (fldOffset=0x0)" P-INDEP
-;* V50 tmp42        [V50,T19] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
-;* V51 tmp43        [V51    ] (  0,  0   )   byref  ->  zero-ref    single-def "Zero offset field obj"
-;  V52 tmp44        [V52,T06] (  3,  3   )   byref  ->  rbx         single-def "Zero offset field obj"
+;* V17 tmp9         [V17    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V18 tmp10        [V18    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V19 tmp11        [V19    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V20 tmp12        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V21 tmp13        [V21    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V22 tmp14        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V23 tmp15        [V23    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V24 tmp16        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V25 tmp17        [V25    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V26 tmp18        [V26    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V27 tmp19        [V27    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V28 tmp20        [V28    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V29 tmp21        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V30 tmp22        [V30    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V31 tmp23        [V31    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V32 tmp24        [V32    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V33 tmp25        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V34 tmp26        [V34    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V35 tmp27        [V35    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V36 tmp28        [V36    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V37 tmp29        [V37    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V38 tmp30        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V39 tmp31        [V39    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V40 tmp32        [V40    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V41 tmp33        [V41    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V42 tmp34        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V43 tmp35        [V43    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V44 tmp36        [V44    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V45 tmp37        [V45    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V46 tmp38        [V46    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V47 tmp39        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V48 tmp40        [V48    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V49 tmp41        [V49    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V50 tmp42        [V50    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V51 tmp43        [V51    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V52 tmp44        [V52    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V53 tmp45        [V53,T01] (  7,  4   )   byref  ->  rbx         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V54 tmp46        [V54,T03] (  6,  3.50)     int  ->  r14         single-def "field V03._length (fldOffset=0x8)" P-INDEP
+;* V55 tmp47        [V55    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V56 tmp48        [V56    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
+;* V57 tmp49        [V57    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
+;* V58 tmp50        [V58    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
+;* V59 tmp51        [V59    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
+;* V60 tmp52        [V60    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
+;* V61 tmp53        [V61    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
+;* V62 tmp54        [V62    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
+;* V63 tmp55        [V63    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V64 tmp56        [V64    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
+;* V65 tmp57        [V65    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V66 tmp58        [V66    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;* V67 tmp59        [V67    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
+;* V68 tmp60        [V68    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
+;* V69 tmp61        [V69    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V70 tmp62        [V70    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
+;* V71 tmp63        [V71    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
+;* V72 tmp64        [V72    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
+;* V73 tmp65        [V73    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V74 tmp66        [V74    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
+;* V75 tmp67        [V75    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V76 tmp68        [V76    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
+;* V77 tmp69        [V77    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V29._reference (fldOffset=0x0)" P-INDEP
+;* V78 tmp70        [V78    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
+;* V79 tmp71        [V79    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V32._reference (fldOffset=0x0)" P-INDEP
+;* V80 tmp72        [V80    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
+;* V81 tmp73        [V81    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V33._reference (fldOffset=0x0)" P-INDEP
+;* V82 tmp74        [V82    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
+;* V83 tmp75        [V83    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V35._reference (fldOffset=0x0)" P-INDEP
+;* V84 tmp76        [V84    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
+;* V85 tmp77        [V85    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V38._reference (fldOffset=0x0)" P-INDEP
+;* V86 tmp78        [V86    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
+;* V87 tmp79        [V87    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V41._reference (fldOffset=0x0)" P-INDEP
+;* V88 tmp80        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
+;* V89 tmp81        [V89    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V90 tmp82        [V90    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
+;* V91 tmp83        [V91    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V44._reference (fldOffset=0x0)" P-INDEP
+;* V92 tmp84        [V92    ] (  0,  0   )     int  ->  zero-ref    "field V44._length (fldOffset=0x8)" P-INDEP
+;* V93 tmp85        [V93    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V47._reference (fldOffset=0x0)" P-INDEP
+;* V94 tmp86        [V94    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
+;* V95 tmp87        [V95    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V50._reference (fldOffset=0x0)" P-INDEP
+;* V96 tmp88        [V96    ] (  0,  0   )     int  ->  zero-ref    "field V50._length (fldOffset=0x8)" P-INDEP
+;* V97 tmp89        [V97    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V51._reference (fldOffset=0x0)" P-INDEP
+;* V98 tmp90        [V98    ] (  0,  0   )     int  ->  zero-ref    "field V51._length (fldOffset=0x8)" P-INDEP
+;* V99 tmp91        [V99    ] (  0,  0   )   byref  ->  zero-ref    single-def "Zero offset field obj"
+;  V100 tmp92       [V100,T06] (  3,  3   )   byref  ->  rbx         single-def "Zero offset field obj"
 ;
 ; Lcl frame size = 64
 
 G_M13399_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        sub      rsp, 64
        lea      rbp, [rsp+0x60]
        mov      rax, rdi
        mov      r15d, edx
        mov      rbx, rcx
        mov      r14d, r8d
        mov      r8d, esi
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M13399_IG02:
        cmp      byte  ptr [rax+0x38], 0
        jne      SHORT G_M13399_IG04
 						;; size=6 bbWeight=1 PerfScore 3.00
 G_M13399_IG03:
        lea      rdx, [rbp-0x38]
        mov      rdi, rax
        mov      esi, r8d
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128RadianReduce(byref,int,byref):int
        call     [rax]System.Number:DiyFp128RadianReduce(byref,int,byref):int
        mov      r13d, eax
        jmp      SHORT G_M13399_IG05
 						;; size=27 bbWeight=0.50 PerfScore 3.25
 G_M13399_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-0x38]
        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      r13d, eax
 						;; size=33 bbWeight=0.50 PerfScore 6.00
 G_M13399_IG05:
        cmp      r15d, 3
        je       G_M13399_IG08
 						;; size=10 bbWeight=1 PerfScore 1.25
 G_M13399_IG06:
        test     r13b, 1
        jne      SHORT G_M13399_IG07
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rsi, gword ptr [rsi]
-       add      rsi, 16
-       xor      edx, edx
-       mov      dword ptr [rsp], edx
+       xor      esi, esi
+       mov      dword ptr [rsp], esi
        mov      dword ptr [rsp+0x08], 13
        mov      dword ptr [rsp+0x10], 0x40E
        mov      bword ptr [rsp+0x18], rbx
        mov      dword ptr [rsp+0x20], r14d
+       mov      rsi, 0xD1FFAB1E      ; static handle
        mov      edx, 14
        lea      rdi, [rbp-0x38]
        xor      r8, r8
        xor      r9d, r9d
        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])
        jmp      G_M13399_IG09
-						;; size=91 bbWeight=0.50 PerfScore 7.88
+						;; size=84 bbWeight=0.50 PerfScore 6.75
 G_M13399_IG07:
-       mov      r8, 0xD1FFAB1E      ; const ptr
-       mov      r8, gword ptr [r8]
-       add      r8, 16
        mov      dword ptr [rsp], 1
        mov      dword ptr [rsp+0x08], 13
        mov      dword ptr [rsp+0x10], 0x4C0
        mov      bword ptr [rsp+0x18], rbx
        mov      dword ptr [rsp+0x20], r14d
+       mov      r8, 0xD1FFAB1E      ; static handle
        mov      r9d, 14
        lea      rdi, [rbp-0x38]
        xor      rsi, rsi
        xor      edx, edx
        xor      ecx, ecx
        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])
        jmp      SHORT G_M13399_IG09
-						;; size=80 bbWeight=0.50 PerfScore 7.12
+						;; size=73 bbWeight=0.50 PerfScore 6.00
 G_M13399_IG08:
        mov      esi, 462
        mov      edx, 974
        test     r13b, 1
        cmovne   esi, edx
-       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], 13
        mov      dword ptr [rsp+0x10], esi
        mov      bword ptr [rsp+0x18], rbx
        mov      dword ptr [rsp+0x20], r14d
-       mov      rsi, rdx
+       mov      rsi, 0xD1FFAB1E      ; static handle
        mov      edx, 14
+       mov      r8, 0xD1FFAB1E      ; static handle
        mov      r9d, 14
        lea      rdi, [rbp-0x38]
        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])
-						;; size=115 bbWeight=0.50 PerfScore 8.00
+						;; size=98 bbWeight=0.50 PerfScore 5.62
 G_M13399_IG09:
        test     r13b, 2
        je       SHORT G_M13399_IG11
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M13399_IG10:
        test     r14d, r14d
        je       SHORT G_M13399_IG14
        xor      dword ptr [rbx], 0xD1FFAB1E
 						;; size=11 bbWeight=0.50 PerfScore 2.12
 G_M13399_IG11:
        cmp      r15d, 3
        jne      SHORT G_M13399_IG13
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M13399_IG12:
        inc      r13d
        test     r13b, 2
        je       SHORT G_M13399_IG13
        cmp      r14d, 1
        jbe      SHORT G_M13399_IG14
        add      rbx, 24
        xor      dword ptr [rbx], 0xD1FFAB1E
 						;; size=25 bbWeight=0.50 PerfScore 3.00
 G_M13399_IG13:
        add      rsp, 64
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=13 bbWeight=1 PerfScore 3.75
 G_M13399_IG14:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 461, prolog size 17, PerfScore 54.88, instruction count 111, allocated bytes for code 461 (MethodHash=4538cba8) for method System.Number:DiyFp128SinCos(byref,int,int,System.Span`1[System.Number+DiyFp128]) (FullOpts)
+; Total bytes of code 430, prolog size 17, PerfScore 50.25, instruction count 102, allocated bytes for code 430 (MethodHash=4538cba8) for method System.Number:DiyFp128SinCos(byref,int,int,System.Span`1[System.Number+DiyFp128]) (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-29 (-3.01 % of base) - System.Number:DiyFp128Atan2(System.Number+DiyFp128,System.Number+DiyFp128,bool):System.Number+DiyFp128</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128Atan2(System.Number+DiyFp128,System.Number+DiyFp128,bool):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; 14 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 20 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 RetBuf       [V00,T01] (  4,  4   )    long  ->  rbx         single-def
 ;  V01 arg0         [V01    ] ( 11,  7   )  struct (24) [rbp+0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op <System.Number+DiyFp128>
 ;  V02 arg1         [V02    ] ( 12,  6.50)  struct (24) [rbp+0x28]  do-not-enreg[XSF] addr-exposed ld-addr-op <System.Number+DiyFp128>
 ;  V03 arg2         [V03,T02] (  3,  3   )   ubyte  ->  rsi         single-def
 ;* V04 loc0         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Number+DiyFp128>
 ;  V05 loc1         [V05,T00] ( 15, 10.50)     int  ->  rcx        
 ;  V06 loc2         [V06    ] (  5,  2.50)  struct (24) [rbp-0x40]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
 ;  V07 loc3         [V07,T03] (  8,  4.50)     int  ->  r15        
 ;  V08 loc4         [V08,T04] (  7,  4.50)     int  ->  r13        
-;  V09 loc5         [V09,T11] (  2,  2   )     int  ->  r12        
+;  V09 loc5         [V09,T06] (  2,  2   )     int  ->  r12        
 ;  V10 loc6         [V10    ] (  7,  6.50)  struct (24) [rbp-0x58]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
 ;* V11 loc7         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[System.Number+DiyFp128]>
 ;* V12 loc8         [V12    ] (  0,  0   )     int  ->  zero-ref   
 ;  V13 loc9         [V13    ] (  8,  6.50)  struct (24) [rbp-0x70]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
 ;  V14 loc10        [V14    ] (  6,  3   )  struct (48) [rbp-0xA0]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Runtime.CompilerServices.InlineArray2`1[System.Number+DiyFp128]>
 ;  V15 loc11        [V15    ] (  5,  5   )  struct (48) [rbp-0xD0]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Runtime.CompilerServices.InlineArray2`1[System.Number+DiyFp128]>
-;  V16 loc12        [V16,T13] (  3,  1.50)    long  ->   r8        
+;  V16 loc12        [V16,T08] (  3,  1.50)    long  ->   r8        
 ;* V17 loc13        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[System.Number+DiyFp128]>
-;  V18 loc14        [V18,T17] (  2,  1   )     int  ->  r15        
-;  V19 loc15        [V19    ] (  3,  1.50)  struct (24) [rbp-0xE8]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V18 loc14        [V18    ] (  3,  1.50)  struct (24) [rbp-0xE8]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V19 loc15        [V19    ] (  2,  1   )  struct (24) [rbp-0x100]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
 ;  V20 OutArgs      [V20    ] (  1,  1   )  struct (40) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V21 tmp1         [V21,T07] (  5,  3   )     int  ->  r14        
+;  V21 tmp1         [V21,T05] (  5,  3   )     int  ->  r14        
 ;* V22 tmp2         [V22    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;* V23 tmp3         [V23    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;* V24 tmp4         [V24    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
-;  V25 tmp5         [V25,T08] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
-;  V26 tmp6         [V26,T12] (  2,  2   )  struct (24) [rbp-0x100]  do-not-enreg[S] "impAppendStmt" <System.Number+DiyFp128>
+;  V25 tmp5         [V25,T07] (  2,  2   )  struct (24) [rbp-0x118]  do-not-enreg[S] "impAppendStmt" <System.Number+DiyFp128>
+;* V26 tmp6         [V26    ] (  0,  0   )     int  ->  zero-ref   
 ;* V27 tmp7         [V27    ] (  0,  0   )     int  ->  zero-ref   
-;* V28 tmp8         [V28    ] (  0,  0   )     int  ->  zero-ref   
-;  V29 tmp9         [V29,T14] (  3,  1.50)     int  ->  rsi        
-;* V30 tmp10        [V30    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
-;* V31 tmp11        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
-;* V32 tmp12        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V33 tmp13        [V33    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V34 tmp14        [V34,T05] (  2,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V35 tmp15        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V36 tmp16        [V36    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V37 tmp17        [V37,T06] (  2,  4   )     ref  ->   r8         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V38 tmp18        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V04._sign (fldOffset=0x0)" P-INDEP
-;* V39 tmp19        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V04._exponent (fldOffset=0x4)" P-INDEP
-;* V40 tmp20        [V40    ] (  0,  0   )    long  ->  zero-ref    "field V04._hi (fldOffset=0x8)" P-INDEP
-;* V41 tmp21        [V41    ] (  0,  0   )    long  ->  zero-ref    "field V04._lo (fldOffset=0x10)" P-INDEP
-;* V42 tmp22        [V42    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V43 tmp23        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp24        [V44    ] (  8,  6.50)     int  ->  [rbp-0x70]  do-not-enreg[X] addr-exposed "field V13._sign (fldOffset=0x0)" P-DEP
-;  V45 tmp25        [V45    ] (  5,  3.50)     int  ->  [rbp-0x6C]  do-not-enreg[X] addr-exposed "field V13._exponent (fldOffset=0x4)" P-DEP
-;  V46 tmp26        [V46    ] (  5,  3.50)    long  ->  [rbp-0x68]  do-not-enreg[X] addr-exposed "field V13._hi (fldOffset=0x8)" P-DEP
-;  V47 tmp27        [V47    ] (  5,  3.50)    long  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed "field V13._lo (fldOffset=0x10)" P-DEP
-;* V48 tmp28        [V48    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V49 tmp29        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;* V50 tmp30        [V50    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V22._reference (fldOffset=0x0)" P-INDEP
-;* V51 tmp31        [V51    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
-;* V52 tmp32        [V52    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
-;* V53 tmp33        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
-;* V54 tmp34        [V54,T21] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V55 tmp35        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;* V56 tmp36        [V56,T22] (  0,  0   )   byref  ->  zero-ref    single-def "field V30._reference (fldOffset=0x0)" P-INDEP
-;* V57 tmp37        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
-;* V58 tmp38        [V58,T18] (  0,  0   )   byref  ->  zero-ref    single-def "field V31._reference (fldOffset=0x0)" P-INDEP
-;* V59 tmp39        [V59    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
-;  V60 tmp40        [V60,T09] (  2,  2   )   byref  ->  rsi         "field V33._reference (fldOffset=0x0)" P-INDEP
-;* V61 tmp41        [V61,T19] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
-;  V62 tmp42        [V62,T10] (  2,  2   )   byref  ->   r8         "field V36._reference (fldOffset=0x0)" P-INDEP
-;* V63 tmp43        [V63,T20] (  0,  0   )     int  ->  zero-ref    "field V36._length (fldOffset=0x8)" P-INDEP
-;  V64 cse0         [V64,T15] (  3,  1.50)     int  ->  rcx         "CSE #02: moderate"
-;  V65 cse1         [V65,T16] (  2,  1   )     ref  ->   r8         "CSE #03: moderate"
+;  V28 tmp8         [V28,T09] (  3,  1.50)     int  ->  rsi        
+;* V29 tmp9         [V29    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
+;* V30 tmp10        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
+;* V31 tmp11        [V31    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V32 tmp12        [V32    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V33 tmp13        [V33    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V34 tmp14        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V35 tmp15        [V35    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V36 tmp16        [V36    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V37 tmp17        [V37    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V38 tmp18        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V39 tmp19        [V39    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V40 tmp20        [V40    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V41 tmp21        [V41    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V42 tmp22        [V42    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V43 tmp23        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V44 tmp24        [V44    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V45 tmp25        [V45    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V46 tmp26        [V46    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V47 tmp27        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V48 tmp28        [V48    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V49 tmp29        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V04._sign (fldOffset=0x0)" P-INDEP
+;* V50 tmp30        [V50    ] (  0,  0   )     int  ->  zero-ref    "field V04._exponent (fldOffset=0x4)" P-INDEP
+;* V51 tmp31        [V51    ] (  0,  0   )    long  ->  zero-ref    "field V04._hi (fldOffset=0x8)" P-INDEP
+;* V52 tmp32        [V52    ] (  0,  0   )    long  ->  zero-ref    "field V04._lo (fldOffset=0x10)" P-INDEP
+;* V53 tmp33        [V53    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V54 tmp34        [V54    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;  V55 tmp35        [V55    ] (  8,  6.50)     int  ->  [rbp-0x70]  do-not-enreg[X] addr-exposed "field V13._sign (fldOffset=0x0)" P-DEP
+;  V56 tmp36        [V56    ] (  5,  3.50)     int  ->  [rbp-0x6C]  do-not-enreg[X] addr-exposed "field V13._exponent (fldOffset=0x4)" P-DEP
+;  V57 tmp37        [V57    ] (  5,  3.50)    long  ->  [rbp-0x68]  do-not-enreg[X] addr-exposed "field V13._hi (fldOffset=0x8)" P-DEP
+;  V58 tmp38        [V58    ] (  5,  3.50)    long  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed "field V13._lo (fldOffset=0x10)" P-DEP
+;* V59 tmp39        [V59    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
+;* V60 tmp40        [V60    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
+;* V61 tmp41        [V61    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V22._reference (fldOffset=0x0)" P-INDEP
+;* V62 tmp42        [V62    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
+;* V63 tmp43        [V63    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
+;* V64 tmp44        [V64    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
+;* V65 tmp45        [V65,T11] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V66 tmp46        [V66    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
+;* V67 tmp47        [V67,T12] (  0,  0   )   byref  ->  zero-ref    single-def "field V29._reference (fldOffset=0x0)" P-INDEP
+;* V68 tmp48        [V68    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
+;* V69 tmp49        [V69,T10] (  0,  0   )   byref  ->  zero-ref    single-def "field V30._reference (fldOffset=0x0)" P-INDEP
+;* V70 tmp50        [V70    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
+;* V71 tmp51        [V71    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V31._reference (fldOffset=0x0)" P-INDEP
+;* V72 tmp52        [V72    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
+;* V73 tmp53        [V73    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V34._reference (fldOffset=0x0)" P-INDEP
+;* V74 tmp54        [V74    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
+;* V75 tmp55        [V75    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V37._reference (fldOffset=0x0)" P-INDEP
+;* V76 tmp56        [V76    ] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
+;* V77 tmp57        [V77    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V38._reference (fldOffset=0x0)" P-INDEP
+;* V78 tmp58        [V78    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
+;* V79 tmp59        [V79    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V40._reference (fldOffset=0x0)" P-INDEP
+;* V80 tmp60        [V80    ] (  0,  0   )     int  ->  zero-ref    "field V40._length (fldOffset=0x8)" P-INDEP
+;* V81 tmp61        [V81    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V43._reference (fldOffset=0x0)" P-INDEP
+;* V82 tmp62        [V82    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
+;* V83 tmp63        [V83    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V46._reference (fldOffset=0x0)" P-INDEP
+;* V84 tmp64        [V84    ] (  0,  0   )     int  ->  zero-ref    "field V46._length (fldOffset=0x8)" P-INDEP
+;* V85 tmp65        [V85    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V47._reference (fldOffset=0x0)" P-INDEP
+;* V86 tmp66        [V86    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
 ;
-; Lcl frame size = 264
+; Lcl frame size = 280
 
 G_M62678_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 264
-       lea      rbp, [rsp+0x130]
+       sub      rsp, 280
+       lea      rbp, [rsp+0x140]
        mov      rbx, rdi
 						;; size=28 bbWeight=1 PerfScore 7.00
 G_M62678_IG02:
        test     sil, sil
        je       SHORT G_M62678_IG07
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M62678_IG03:
        mov      ecx, dword ptr [rbp+0x14]
        sub      ecx, dword ptr [rbp+0x2C]
        vmovdqu  xmm0, xmmword ptr [rbp+0x28]
        vmovdqu  xmmword ptr [rbp-0x40], xmm0
        mov      r8, qword ptr [rbp+0x38]
        mov      qword ptr [rbp-0x30], r8
        mov      r15d, dword ptr [rbp+0x28]
        xor      r8d, r8d
        mov      dword ptr [rbp+0x28], r8d
        mov      r8, qword ptr [rbp+0x18]
        sub      r8, qword ptr [rbp+0x30]
        test     ecx, ecx
        jl       SHORT G_M62678_IG06
        test     r8, r8
        jne      SHORT G_M62678_IG04
        test     ecx, ecx
        jle      SHORT G_M62678_IG04
        mov      esi, 1
        jmp      SHORT G_M62678_IG05
 						;; size=63 bbWeight=0.50 PerfScore 8.12
 G_M62678_IG04:
        xor      esi, esi
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M62678_IG05:
        sub      ecx, esi
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M62678_IG06:
        not      r8
        shr      r8, 63
        add      ecx, r8d
        test     r15d, r15d
        je       SHORT G_M62678_IG09
        mov      r14d, 12
        jmp      SHORT G_M62678_IG10
 						;; size=23 bbWeight=0.50 PerfScore 2.25
 G_M62678_IG07:
        mov      ecx, dword ptr [rbp+0x14]
        mov      r8, 0xD1FFAB1E
        mov      qword ptr [rbp-0x40], r8
        mov      r8, 0xD1FFAB1E
        mov      qword ptr [rbp-0x38], r8
        xor      r8d, r8d
        mov      qword ptr [rbp-0x30], r8
        mov      r8, 0xD1FFAB1E
        mov      qword ptr [rbp+0x28], r8
        mov      r8, 0xD1FFAB1E
        mov      qword ptr [rbp+0x30], r8
        xor      r8d, r8d
        mov      qword ptr [rbp+0x38], r8
 						;; size=73 bbWeight=0.50 PerfScore 4.25
 G_M62678_IG08:
        xor      r15d, r15d
 						;; size=3 bbWeight=0.50 PerfScore 0.12
 G_M62678_IG09:
        xor      r14d, r14d
 						;; size=3 bbWeight=0.50 PerfScore 0.12
 G_M62678_IG10:
        mov      r13d, r14d
        mov      r12d, dword ptr [rbp+0x10]
        xor      r8d, r8d
        mov      dword ptr [rbp+0x10], r8d
        cmp      ecx, 1
        jg       G_M62678_IG12
 						;; size=23 bbWeight=1 PerfScore 3.75
 G_M62678_IG11:
        test     ecx, ecx
        jl       G_M62678_IG13
        lea      r13d, [r14+0x04]
        vxorps   ymm0, ymm0, ymm0
        vmovdqu32 ymmword ptr [rbp-0xA0], ymm0
        vmovdqu  xmmword ptr [rbp-0x80], xmm0
        vxorps   xmm0, xmm0, xmm0
        vmovdqu32 xmmword ptr [rbp-0xA0], xmm0
        vmovdqu  xmmword ptr [rbp-0x98], xmm0
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rbp-0x88], xmm0
        vmovdqu  xmmword ptr [rbp-0x80], xmm0
        lea      rcx, bword ptr [rbp-0xA0]
        mov      r8d, 2
        lea      rsi, [rbp-0x40]
        lea      rdi, [rbp+0x10]
        mov      edx, 14
        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])
        vmovdqu  xmm0, xmmword ptr [rbp-0x88]
        vmovdqu  xmmword ptr [rbp+0x10], xmm0
        mov      rdi, qword ptr [rbp-0x78]
        mov      qword ptr [rbp+0x20], rdi
        vmovdqu32 xmm0, xmmword ptr [rbp-0xA0]
        vmovdqu  xmmword ptr [rbp+0x28], xmm0
        mov      rdi, qword ptr [rbp-0x90]
        mov      qword ptr [rbp+0x38], rdi
        lea      rdi, [rbp+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Normalize(byref)
        call     [rax]System.Number:DiyFp128Normalize(byref)
        jmp      SHORT G_M62678_IG13
 						;; size=164 bbWeight=0.50 PerfScore 13.88
 G_M62678_IG12:
        lea      r13d, [r14+0x08]
        vmovdqu  xmm0, xmmword ptr [rbp+0x10]
-       vmovdqu32 xmmword ptr [rbp-0x100], xmm0
+       vmovdqu  xmmword ptr [rbp-0x118], xmm0
        mov      rdi, qword ptr [rbp+0x20]
-       mov      qword ptr [rbp-0xF0], rdi
+       mov      qword ptr [rbp-0x108], rdi
        vmovdqu  xmm0, xmmword ptr [rbp+0x28]
        vmovdqu  xmmword ptr [rbp+0x10], xmm0
        mov      rdi, qword ptr [rbp+0x38]
        mov      qword ptr [rbp+0x20], rdi
-       vmovdqu32 xmm0, xmmword ptr [rbp-0x100]
+       vmovdqu  xmm0, xmmword ptr [rbp-0x118]
        vmovdqu  xmmword ptr [rbp+0x28], xmm0
-       mov      rdi, qword ptr [rbp-0xF0]
+       mov      rdi, qword ptr [rbp-0x108]
        mov      qword ptr [rbp+0x38], rdi
        xor      r15d, 0xD1FFAB1E
-						;; size=75 bbWeight=0.50 PerfScore 6.38
+						;; size=77 bbWeight=0.50 PerfScore 6.38
 G_M62678_IG13:
        lea      rdi, [rbp+0x10]
        lea      rsi, [rbp+0x28]
        lea      rcx, [rbp-0x58]
        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      ecx, dword ptr [rbp-0x54]
        mov      rdi, 0xD1FFAB1E
        lea      eax, [rcx-0x01]
        test     qword ptr [rbp-0x50], rdi
        cmove    ecx, eax
        test     ecx, ecx
        jl       SHORT G_M62678_IG15
 						;; size=56 bbWeight=1 PerfScore 9.50
 G_M62678_IG14:
        add      r13d, -4
        xor      r15d, 0xD1FFAB1E
        lea      rdi, [rbp-0x58]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:get_InvTrigOneThird():System.Number+DiyFp128
        call     [rax]System.Number:get_InvTrigOneThird():System.Number+DiyFp128
 						;; size=27 bbWeight=0.50 PerfScore 2.12
 G_M62678_IG15:
        mov      esi, dword ptr [rbp-0x54]
        inc      esi
        mov      dword ptr [rbp-0x54], esi
        vxorps   ymm0, ymm0, ymm0
        vmovdqu  ymmword ptr [rbp-0xD0], ymm0
        vmovdqu32 xmmword ptr [rbp-0xB0], xmm0
        vxorps   xmm0, xmm0, xmm0
        vmovdqu32 xmmword ptr [rbp-0xD0], xmm0
        vmovdqu  xmmword ptr [rbp-0xC8], xmm0
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rbp-0xB8], xmm0
        vmovdqu32 xmmword ptr [rbp-0xB0], xmm0
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rsi, gword ptr [rsi]
-       add      rsi, 16
-       mov      rdx, 0xD1FFAB1E      ; const ptr
-       mov      r8, gword ptr [rdx]
-       add      r8, 16
        mov      dword ptr [rsp], 1
        mov      dword ptr [rsp+0x08], 11
        mov      dword ptr [rsp+0x10], 70
-       lea      rdx, bword ptr [rbp-0xD0]
-       mov      r9d, 2
-       mov      bword ptr [rsp+0x18], rdx
-       mov      dword ptr [rsp+0x20], r9d
+       lea      rsi, bword ptr [rbp-0xD0]
+       mov      edx, 2
+       mov      bword ptr [rsp+0x18], rsi
+       mov      dword ptr [rsp+0x20], edx
+       mov      rsi, 0xD1FFAB1E      ; static handle
        mov      edx, 12
+       mov      r8, 0xD1FFAB1E      ; static handle
        mov      r9d, 12
        lea      rdi, [rbp-0x58]
        xor      ecx, ecx
        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])
        vmovdqu32 xmm0, xmmword ptr [rbp-0xD0]
        vmovdqu  xmmword ptr [rbp-0x70], xmm0
        mov      rdi, qword ptr [rbp-0xC0]
        mov      qword ptr [rbp-0x60], rdi
        mov      edi, r15d
        xor      edi, dword ptr [rbp-0x70]
        mov      dword ptr [rbp-0x70], edi
        test     r13d, r13d
        je       G_M62678_IG17
-						;; size=215 bbWeight=1 PerfScore 32.00
+						;; size=199 bbWeight=1 PerfScore 27.50
 G_M62678_IG16:
-       mov      edi, 0xD1FFAB1E
-       sarx     r15, rdi, r13
-       and      r15d, 120
        lea      rdi, [rbp-0x70]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Normalize(byref)
        call     [rax]System.Number:DiyFp128Normalize(byref)
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rbp-0xE8], xmm0
        vmovdqu32 xmmword ptr [rbp-0xE0], xmm0
-       mov      ecx, 0xD1FFAB1E
-       mov      r8d, r15d
-       imul     rcx, r8
-       shr      rcx, 36
-       mov      r8, 0xD1FFAB1E      ; const ptr
-       mov      r8, gword ptr [r8]
-       cmp      ecx, 5
-       jae      SHORT G_M62678_IG19
-       mov      ecx, ecx
-       lea      rcx, [rcx+2*rcx]
-       lea      rdi, bword ptr [r8+8*rcx+0x10]
+       mov      esi, 0xD1FFAB1E
+       sarx     rsi, rsi, r13
+       and      esi, 120
+       imul     rsi, rsi, 0xD1FFAB1E
+       shr      rsi, 32
+       lea      rdi, [rbp-0x100]
+       mov      rax, 0xD1FFAB1E      ; code for System.Number:GetInvTrigConstant(int):System.Number+DiyFp128
+       call     [rax]System.Number:GetInvTrigConstant(int):System.Number+DiyFp128
        lea      rcx, bword ptr [rbp-0xE8]
        mov      r8d, 1
        lea      rsi, [rbp-0x70]
+       lea      rdi, [rbp-0x100]
        mov      edx, 8
        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])
        vmovdqu  xmm0, xmmword ptr [rbp-0xE8]
        vmovdqu  xmmword ptr [rbp-0x70], xmm0
        mov      rax, qword ptr [rbp-0xD8]
        mov      qword ptr [rbp-0x60], rax
-						;; size=152 bbWeight=0.50 PerfScore 12.04
+						;; size=143 bbWeight=0.50 PerfScore 11.29
 G_M62678_IG17:
        mov      dword ptr [rbp-0x70], r12d
        vmovdqu  xmm0, xmmword ptr [rbp-0x70]
        vmovdqu  xmmword ptr [rbx], xmm0
        mov      rax, qword ptr [rbp-0x60]
        mov      qword ptr [rbx+0x10], rax
        mov      rax, rbx
 						;; size=24 bbWeight=1 PerfScore 5.25
 G_M62678_IG18:
-       add      rsp, 264
+       add      rsp, 280
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
-G_M62678_IG19:
-       call     CORINFO_HELP_RNGCHKFAIL
-       int3     
-						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 962, prolog size 25, PerfScore 112.54, instruction count 209, allocated bytes for code 962 (MethodHash=ed1b0b29) for method System.Number:DiyFp128Atan2(System.Number+DiyFp128,System.Number+DiyFp128,bool):System.Number+DiyFp128 (FullOpts)
+; Total bytes of code 933, prolog size 25, PerfScore 107.29, instruction count 198, allocated bytes for code 933 (MethodHash=ed1b0b29) for method System.Number:DiyFp128Atan2(System.Number+DiyFp128,System.Number+DiyFp128,bool):System.Number+DiyFp128 (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-28 (-6.05 % of base) - System.Number:FormatNumber[byte](byref,byref,int,System.Globalization.NumberFormatInfo)</summary>

```diff
 ; Assembly listing for method System.Number:FormatNumber[byte](byref,byref,int,System.Globalization.NumberFormatInfo) (FullOpts)
 ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 9 single block inlinees; 8 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] ( 13, 24   )   byref  ->  rbx         single-def
-;  V01 arg1         [V01,T27] (  4,  5   )   byref  ->  r14         single-def
-;  V02 arg2         [V02,T28] (  3,  4   )     int  ->  r13         single-def
-;  V03 arg3         [V03,T01] ( 10, 16.50)     ref  ->  r15         class-hnd single-def <System.Globalization.NumberFormatInfo>
-;  V04 loc0         [V04,T34] (  3,  2.50)     ref  ->  r12         class-hnd single-def <System.String>
-;* V05 loc1         [V05,T38] (  0,  0   )     int  ->  zero-ref   
-;  V06 loc2         [V06,T04] (  4, 12   )  ushort  ->  rcx        
+;  V00 arg0         [V00,T00] ( 13, 23.78)   byref  ->  rbx         single-def
+;  V01 arg1         [V01,T25] (  4,  4.98)   byref  ->  r14         single-def
+;  V02 arg2         [V02,T26] (  3,  3.98)     int  ->  r13         single-def
+;  V03 arg3         [V03,T01] ( 10, 16.86)     ref  ->  r15         class-hnd single-def <System.Globalization.NumberFormatInfo>
+;* V04 loc0         [V04    ] (  0,  0   )  struct (16) zero-ref    multireg-ret multireg-dest ld-addr-op <System.ReadOnlySpan`1[byte]>
+;* V05 loc1         [V05,T33] (  0,  0   )     int  ->  zero-ref   
+;  V06 loc2         [V06,T03] (  5, 13.86)   ubyte  ->  rsi        
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V08 tmp1         [V08,T36] (  3,  2   )     ref  ->  r12        
-;  V09 tmp2         [V09,T16] (  2,  8   )     ref  ->  [rbp-0x38]  class-hnd spill-single-def "impAppendStmt" <int[]>
+;* V08 tmp1         [V08    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
+;  V09 tmp2         [V09,T14] (  2,  7.92)     ref  ->  [rbp-0x40]  class-hnd spill-single-def "impAppendStmt" <int[]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[byte]>
 ;* V11 tmp4         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;  V14 tmp7         [V14,T05] (  3, 12   )   byref  ->  rdi         "Inlining Arg"
-;  V15 tmp8         [V15,T17] (  2,  8   )     ref  ->  rdx         class-hnd "dup spill" <System.Object>
-;  V16 tmp9         [V16,T11] (  5, 10   )     ref  ->  rdx        
+;  V14 tmp7         [V14,T04] (  3, 11.88)   byref  ->  rdi         "Inlining Arg"
+;  V15 tmp8         [V15,T15] (  2,  7.92)     ref  ->   r8         class-hnd "dup spill" <System.Object>
+;  V16 tmp9         [V16,T09] (  5,  9.90)     ref  ->   r8        
 ;* V17 tmp10        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
-;  V18 tmp11        [V18,T18] (  2,  8   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
-;  V19 tmp12        [V19,T19] (  2,  8   )   byref  ->  [rbp-0x40]  spill-single-def "Inlining Arg"
-;  V20 tmp13        [V20,T25] (  2,  8   )     int  ->  [rbp-0x2C]  spill-single-def "Inlining Arg"
+;  V18 tmp11        [V18,T16] (  2,  7.92)     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
+;  V19 tmp12        [V19,T17] (  2,  7.92)   byref  ->  [rbp-0x48]  spill-single-def "Inlining Arg"
+;  V20 tmp13        [V20,T23] (  2,  7.92)     int  ->  [rbp-0x2C]  spill-single-def "Inlining Arg"
 ;* V21 tmp14        [V21    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
 ;* V22 tmp15        [V22    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
 ;* V23 tmp16        [V23    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;  V24 tmp17        [V24,T06] (  3, 12   )   byref  ->  rdi         "Inlining Arg"
-;  V25 tmp18        [V25,T20] (  2,  8   )     ref  ->   r9         class-hnd "dup spill" <System.Object>
-;  V26 tmp19        [V26,T12] (  5, 10   )     ref  ->   r9        
+;  V24 tmp17        [V24,T05] (  3, 11.88)   byref  ->  rdi         "Inlining Arg"
+;  V25 tmp18        [V25,T18] (  2,  7.92)     ref  ->  r10         class-hnd "dup spill" <System.Object>
+;  V26 tmp19        [V26,T10] (  5,  9.90)     ref  ->  r10        
 ;* V27 tmp20        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
-;  V28 tmp21        [V28,T21] (  2,  8   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
-;  V29 tmp22        [V29,T22] (  2,  8   )   byref  ->  rdi         "Inlining Arg"
-;  V30 tmp23        [V30,T26] (  2,  8   )     int  ->   r9         "Inlining Arg"
+;  V28 tmp21        [V28,T19] (  2,  7.92)     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
+;  V29 tmp22        [V29,T20] (  2,  7.92)   byref  ->  rdi         "Inlining Arg"
+;  V30 tmp23        [V30,T24] (  2,  7.92)     int  ->  rsi         "Inlining Arg"
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
 ;* V32 tmp25        [V32    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
 ;* V33 tmp26        [V33    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;  V34 tmp27        [V34,T07] (  3, 12   )   byref  ->  rdi         "Inlining Arg"
-;  V35 tmp28        [V35,T23] (  2,  8   )     ref  ->  rcx         class-hnd "dup spill" <System.Object>
-;  V36 tmp29        [V36,T13] (  5, 10   )     ref  ->  rcx        
+;  V34 tmp27        [V34,T06] (  3, 11.88)   byref  ->  rdi         "Inlining Arg"
+;  V35 tmp28        [V35,T21] (  2,  7.92)     ref  ->  rdx         class-hnd "dup spill" <System.Object>
+;  V36 tmp29        [V36,T11] (  5,  9.90)     ref  ->  rdx        
 ;* V37 tmp30        [V37    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
-;  V38 tmp31        [V38,T24] (  2,  8   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
-;  V39 tmp32        [V39,T08] (  3, 12   )   byref  ->  rsi         "Inlining Arg"
-;  V40 tmp33        [V40,T09] (  3, 12   )     int  ->  rdx         "Inlining Arg"
+;  V38 tmp31        [V38,T22] (  2,  7.92)     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
+;  V39 tmp32        [V39,T07] (  3, 11.88)   byref  ->  rsi         "Inlining Arg"
+;  V40 tmp33        [V40,T08] (  3, 11.88)     int  ->  rdx         "Inlining Arg"
 ;* V41 tmp34        [V41    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
-;  V42 tmp35        [V42,T14] (  4,  8   )     int  ->  rcx         "Inline stloc first use temp"
+;  V42 tmp35        [V42,T12] (  4,  7.92)     int  ->   r8         "Inline stloc first use temp"
 ;* V43 tmp36        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[byte]>
 ;* V44 tmp37        [V44    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[byte]>
-;  V45 tmp38        [V45,T15] (  4,  8   )     int  ->  rcx         "Inline stloc first use temp"
+;  V45 tmp38        [V45,T13] (  4,  7.92)     int  ->  rdx         "Inline stloc first use temp"
 ;* V46 tmp39        [V46    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[byte]>
-;  V47 tmp40        [V47,T10] (  3, 12   )   ubyte  ->  rsi         "Inlining Arg"
-;* V48 tmp41        [V48    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
-;* V49 tmp42        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V51 tmp44        [V51    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
-;* V52 tmp45        [V52    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V53 tmp46        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
-;* V54 tmp47        [V54    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V55 tmp48        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V21._reference (fldOffset=0x0)" P-INDEP
-;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
-;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
-;* V59 tmp52        [V59    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
-;* V60 tmp53        [V60    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
-;* V61 tmp54        [V61    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
-;* V62 tmp55        [V62    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
-;* V63 tmp56        [V63    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
-;* V64 tmp57        [V64    ] (  0,  0   )   byref  ->  zero-ref    "field V32._reference (fldOffset=0x0)" P-INDEP
-;* V65 tmp58        [V65    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
-;* V66 tmp59        [V66    ] (  0,  0   )   byref  ->  zero-ref    "field V33._reference (fldOffset=0x0)" P-INDEP
-;* V67 tmp60        [V67    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
-;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V41._reference (fldOffset=0x0)" P-INDEP
-;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
-;  V70 tmp63        [V70,T29] (  2,  4   )   byref  ->   r8         "field V43._reference (fldOffset=0x0)" P-INDEP
-;  V71 tmp64        [V71,T31] (  2,  4   )     int  ->  rdi         "field V43._length (fldOffset=0x8)" P-INDEP
-;* V72 tmp65        [V72    ] (  0,  0   )   byref  ->  zero-ref    "field V44._reference (fldOffset=0x0)" P-INDEP
-;* V73 tmp66        [V73    ] (  0,  0   )     int  ->  zero-ref    "field V44._length (fldOffset=0x8)" P-INDEP
-;  V74 tmp67        [V74,T30] (  2,  4   )   byref  ->  rdx         "field V46._reference (fldOffset=0x0)" P-INDEP
-;  V75 tmp68        [V75,T32] (  2,  4   )     int  ->  rdi         "field V46._length (fldOffset=0x8)" P-INDEP
-;  V76 tmp69        [V76,T33] (  3,  3   )     int  ->  rdi         "index expr"
-;  V77 cse0         [V77,T37] (  2,  1   )     ref  ->  rsi         "CSE #01: conservative"
-;  V78 cse1         [V78,T35] (  3,  2.50)     int  ->  rax         "CSE #02: moderate"
-;  V79 rat0         [V79,T02] (  4, 12.50)   byref  ->  r12         "Strength reduced derived IV"
-;  V80 rat1         [V80,T03] (  4, 12.50)     int  ->  [rbp-0x30]  "Trip count IV"
+;  V47 tmp40        [V47,T28] (  2,  4.96)   byref  ->  r12         "field V04._reference (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T27] (  3,  5.96)     int  ->  [rbp-0x30]  spill-single-def "field V04._length (fldOffset=0x8)" P-INDEP
+;* V49 tmp42        [V49    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
+;* V50 tmp43        [V50    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
+;* V51 tmp44        [V51    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V52 tmp45        [V52    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;* V53 tmp46        [V53    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
+;* V54 tmp47        [V54    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
+;* V55 tmp48        [V55    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
+;* V56 tmp49        [V56    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
+;* V57 tmp50        [V57    ] (  0,  0   )   byref  ->  zero-ref    "field V21._reference (fldOffset=0x0)" P-INDEP
+;* V58 tmp51        [V58    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
+;* V59 tmp52        [V59    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
+;* V60 tmp53        [V60    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
+;* V61 tmp54        [V61    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
+;* V62 tmp55        [V62    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
+;* V63 tmp56        [V63    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
+;* V64 tmp57        [V64    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
+;* V65 tmp58        [V65    ] (  0,  0   )   byref  ->  zero-ref    "field V32._reference (fldOffset=0x0)" P-INDEP
+;* V66 tmp59        [V66    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
+;* V67 tmp60        [V67    ] (  0,  0   )   byref  ->  zero-ref    "field V33._reference (fldOffset=0x0)" P-INDEP
+;* V68 tmp61        [V68    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
+;* V69 tmp62        [V69    ] (  0,  0   )   byref  ->  zero-ref    "field V41._reference (fldOffset=0x0)" P-INDEP
+;* V70 tmp63        [V70    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
+;  V71 tmp64        [V71,T29] (  2,  3.96)   byref  ->   r9         "field V43._reference (fldOffset=0x0)" P-INDEP
+;  V72 tmp65        [V72,T31] (  2,  3.96)     int  ->  rdi         "field V43._length (fldOffset=0x8)" P-INDEP
+;* V73 tmp66        [V73    ] (  0,  0   )   byref  ->  zero-ref    "field V44._reference (fldOffset=0x0)" P-INDEP
+;* V74 tmp67        [V74    ] (  0,  0   )     int  ->  zero-ref    "field V44._length (fldOffset=0x8)" P-INDEP
+;  V75 tmp68        [V75,T30] (  2,  3.96)   byref  ->   r8         "field V46._reference (fldOffset=0x0)" P-INDEP
+;  V76 tmp69        [V76,T32] (  2,  3.96)     int  ->  rdi         "field V46._length (fldOffset=0x8)" P-INDEP
+;  V77 rat0         [V77,T02] (  5, 16.84)    long  ->  [rbp-0x38]  "Widened IV V05"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 56
 
 G_M27508_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 40
-       lea      rbp, [rsp+0x50]
+       sub      rsp, 56
+       lea      rbp, [rsp+0x60]
        mov      rbx, rdi
        mov      r14, rsi
        mov      r13d, edx
        mov      r15, rcx
 						;; size=31 bbWeight=1 PerfScore 7.75
 G_M27508_IG02:
-       cmp      byte  ptr [r14+0x08], 0
-       je       SHORT G_M27508_IG04
-						;; size=7 bbWeight=1 PerfScore 3.00
-G_M27508_IG03:
-       mov      edi, dword ptr [r15+0x118]
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rsi, gword ptr [rsi]
-       cmp      edi, 5
-       jae      G_M27508_IG21
-       mov      r12, gword ptr [rsi+8*rdi+0x10]
-       jmp      SHORT G_M27508_IG05
-						;; size=36 bbWeight=0.50 PerfScore 4.75
-G_M27508_IG04:
-       mov      r12, 0xD1FFAB1E      ; '#'
-						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M27508_IG05:
-       mov      eax, dword ptr [r12+0x08]
+       movzx    rdi, byte  ptr [r14+0x08]
+       mov      esi, dword ptr [r15+0x118]
+       mov      rax, 0xD1FFAB1E      ; code for System.Number:GetNumberFormat(bool,int):System.ReadOnlySpan`1[byte]
+       call     [rax]System.Number:GetNumberFormat(bool,int):System.ReadOnlySpan`1[byte]
+       mov      r12, rax
+       mov      eax, edx
+       mov      dword ptr [rbp-0x30], edx
+       xor      ecx, ecx
        test     eax, eax
-       jle      G_M27508_IG20
-						;; size=13 bbWeight=1 PerfScore 3.25
-G_M27508_IG06:
-       add      r12, 12
-       mov      dword ptr [rbp-0x30], eax
-						;; size=7 bbWeight=0.50 PerfScore 0.62
-G_M27508_IG07:
-       movzx    rcx, word  ptr [r12]
-       cmp      ecx, 35
-       jne      G_M27508_IG13
-						;; size=14 bbWeight=4 PerfScore 13.00
-G_M27508_IG08:
-       mov      rcx, gword ptr [r15+0x08]
-       mov      gword ptr [rbp-0x38], rcx
+       je       G_M27508_IG16
+						;; size=42 bbWeight=1 PerfScore 10.25
+G_M27508_IG03:
+       mov      qword ptr [rbp-0x38], rcx
+       movzx    rsi, byte  ptr [r12+rcx]
+       cmp      esi, 35
+       jne      G_M27508_IG09
+						;; size=18 bbWeight=3.96 PerfScore 16.83
+G_M27508_IG04:
+       mov      rdx, gword ptr [r15+0x08]
+       mov      gword ptr [rbp-0x40], rdx
        lea      rdi, bword ptr [r15+0xA8]
        mov      rsi, gword ptr [r15+0x30]
-       mov      rdx, gword ptr [rdi]
-       test     rdx, rdx
-       jne      SHORT G_M27508_IG09
-       mov      rdx, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       call     [rdx]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       mov      rdx, rax
-						;; size=42 bbWeight=2 PerfScore 24.50
-G_M27508_IG09:
-       lea      r8, bword ptr [rdx+0x10]
-       mov      bword ptr [rbp-0x40], r8
-       mov      edx, dword ptr [rdx+0x08]
-       dec      edx
-       mov      dword ptr [rbp-0x2C], edx
+       mov      r8, gword ptr [rdi]
+       test     r8, r8
+       jne      SHORT G_M27508_IG05
+       mov      r8, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       call     [r8]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       mov      r8, rax
+						;; size=43 bbWeight=1.98 PerfScore 24.25
+G_M27508_IG05:
+       lea      r9, bword ptr [r8+0x10]
+       mov      bword ptr [rbp-0x48], r9
+       mov      r8d, dword ptr [r8+0x08]
+       dec      r8d
+       mov      dword ptr [rbp-0x2C], r8d
        lea      rdi, bword ptr [r15+0xC0]
        mov      rsi, gword ptr [r15+0x38]
-       mov      r9, gword ptr [rdi]
-       test     r9, r9
-       je       SHORT G_M27508_IG11
-						;; size=35 bbWeight=2 PerfScore 21.00
-G_M27508_IG10:
-       mov      edx, dword ptr [rbp-0x2C]
-       jmp      SHORT G_M27508_IG12
-						;; size=5 bbWeight=1 PerfScore 3.00
-G_M27508_IG11:
-       mov      r9, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       call     [r9]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       mov      r9, rax
-       mov      edx, dword ptr [rbp-0x2C]
-						;; size=19 bbWeight=2 PerfScore 9.00
-G_M27508_IG12:
-       lea      rdi, bword ptr [r9+0x10]
-       mov      r9d, dword ptr [r9+0x08]
-       dec      r9d
+       mov      r10, gword ptr [rdi]
+       test     r10, r10
+       je       SHORT G_M27508_IG07
+						;; size=38 bbWeight=1.98 PerfScore 20.79
+G_M27508_IG06:
+       mov      r9, bword ptr [rbp-0x48]
+       jmp      SHORT G_M27508_IG08
+						;; size=6 bbWeight=0.99 PerfScore 2.97
+G_M27508_IG07:
+       mov      r10, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       call     [r10]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       mov      r10, rax
+       mov      r9, bword ptr [rbp-0x48]
+						;; size=20 bbWeight=1.98 PerfScore 8.91
+G_M27508_IG08:
+       lea      rdi, bword ptr [r10+0x10]
+       mov      esi, dword ptr [r10+0x08]
+       dec      esi
        mov      bword ptr [rsp], rdi
-       mov      dword ptr [rsp+0x08], r9d
-       mov      r8, bword ptr [rbp-0x40]
-       mov      r9d, edx
+       mov      dword ptr [rsp+0x08], esi
+       mov      r8, r9
+       mov      r9d, dword ptr [rbp-0x2C]
        mov      rdi, rbx
        mov      rsi, r14
        mov      edx, r13d
-       mov      rcx, gword ptr [rbp-0x38]
+       mov      rcx, gword ptr [rbp-0x40]
        mov      r10, 0xD1FFAB1E      ; code for System.Number:FormatFixed[byte](byref,byref,int,int[],System.ReadOnlySpan`1[byte],System.ReadOnlySpan`1[byte])
        call     [r10]System.Number:FormatFixed[byte](byref,byref,int,int[],System.ReadOnlySpan`1[byte],System.ReadOnlySpan`1[byte])
-       jmp      G_M27508_IG19
-						;; size=58 bbWeight=2 PerfScore 26.00
-G_M27508_IG13:
-       cmp      ecx, 45
-       jne      SHORT G_M27508_IG17
+       jmp      G_M27508_IG15
+						;; size=56 bbWeight=1.98 PerfScore 25.74
+G_M27508_IG09:
+       cmp      esi, 45
+       jne      SHORT G_M27508_IG13
        lea      rdi, bword ptr [r15+0x98]
        mov      rsi, gword ptr [r15+0x28]
-       mov      rcx, gword ptr [rdi]
-       test     rcx, rcx
-       jne      SHORT G_M27508_IG14
-       mov      rcx, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       call     [rcx]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       mov      rcx, rax
-						;; size=39 bbWeight=2 PerfScore 21.00
-G_M27508_IG14:
-       lea      rsi, bword ptr [rcx+0x10]
-       mov      edx, dword ptr [rcx+0x08]
+       mov      rdx, gword ptr [rdi]
+       test     rdx, rdx
+       jne      SHORT G_M27508_IG10
+       mov      rdx, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       call     [rdx]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       mov      rdx, rax
+						;; size=39 bbWeight=1.98 PerfScore 20.79
+G_M27508_IG10:
+       lea      rsi, bword ptr [rdx+0x10]
+       mov      edx, dword ptr [rdx+0x08]
        dec      edx
-       mov      ecx, dword ptr [rbx+0x08]
-       mov      r8, bword ptr [rbx+0x10]
+       mov      r8d, dword ptr [rbx+0x08]
+       mov      r9, bword ptr [rbx+0x10]
        mov      edi, dword ptr [rbx+0x18]
        cmp      edx, 1
-       jne      SHORT G_M27508_IG15
-       cmp      ecx, edi
-       jb       SHORT G_M27508_IG16
-						;; size=28 bbWeight=2 PerfScore 22.50
-G_M27508_IG15:
+       jne      SHORT G_M27508_IG11
+       cmp      r8d, edi
+       jb       SHORT G_M27508_IG12
+						;; size=30 bbWeight=1.98 PerfScore 22.28
+G_M27508_IG11:
        mov      rdi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
-       call     [rcx]System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
-       jmp      SHORT G_M27508_IG19
-						;; size=17 bbWeight=2 PerfScore 11.00
-G_M27508_IG16:
-       mov      edi, ecx
+       mov      r8, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
+       call     [r8]System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
+       jmp      SHORT G_M27508_IG15
+						;; size=18 bbWeight=1.98 PerfScore 10.89
+G_M27508_IG12:
+       mov      edi, r8d
        movzx    rsi, byte  ptr [rsi]
-       mov      byte  ptr [r8+rdi], sil
-       inc      ecx
-       mov      dword ptr [rbx+0x08], ecx
-       jmp      SHORT G_M27508_IG19
-						;; size=17 bbWeight=2 PerfScore 13.00
-G_M27508_IG17:
-       movzx    rsi, cl
-       mov      ecx, dword ptr [rbx+0x08]
-       mov      rdx, bword ptr [rbx+0x10]
+       mov      byte  ptr [r9+rdi], sil
+       inc      r8d
+       mov      dword ptr [rbx+0x08], r8d
+       jmp      SHORT G_M27508_IG15
+						;; size=20 bbWeight=1.98 PerfScore 12.87
+G_M27508_IG13:
+       mov      edx, dword ptr [rbx+0x08]
+       mov      r8, bword ptr [rbx+0x10]
        mov      edi, dword ptr [rbx+0x18]
-       cmp      ecx, edi
-       jb       SHORT G_M27508_IG18
+       cmp      edx, edi
+       jb       SHORT G_M27508_IG14
        mov      rdi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AddWithResize(byte):this
-       call     [rcx]System.Collections.Generic.ValueListBuilder`1[byte]:AddWithResize(byte):this
-       jmp      SHORT G_M27508_IG19
-						;; size=35 bbWeight=2 PerfScore 26.00
-G_M27508_IG18:
-       mov      edi, ecx
-       mov      byte  ptr [rdx+rdi], sil
+       mov      rdx, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AddWithResize(byte):this
+       call     [rdx]System.Collections.Generic.ValueListBuilder`1[byte]:AddWithResize(byte):this
+       jmp      SHORT G_M27508_IG15
+						;; size=31 bbWeight=1.98 PerfScore 25.24
+G_M27508_IG14:
+       mov      edi, edx
+       mov      byte  ptr [r8+rdi], sil
+       inc      edx
+       mov      dword ptr [rbx+0x08], edx
+						;; size=11 bbWeight=1.98 PerfScore 4.95
+G_M27508_IG15:
+       mov      rcx, qword ptr [rbp-0x38]
        inc      ecx
-       mov      dword ptr [rbx+0x08], ecx
-						;; size=11 bbWeight=2 PerfScore 5.00
-G_M27508_IG19:
-       add      r12, 2
        mov      eax, dword ptr [rbp-0x30]
-       dec      eax
-       mov      dword ptr [rbp-0x30], eax
-       jne      G_M27508_IG07
-						;; size=18 bbWeight=4 PerfScore 14.00
-G_M27508_IG20:
-       add      rsp, 40
+       cmp      ecx, eax
+       jl       G_M27508_IG03
+						;; size=17 bbWeight=3.96 PerfScore 13.86
+G_M27508_IG16:
+       add      rsp, 56
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M27508_IG21:
-       call     CORINFO_HELP_RNGCHKFAIL
-       int3     
-						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 463, prolog size 31, PerfScore 232.75, instruction count 129, allocated bytes for code 463 (MethodHash=6396948b) for method System.Number:FormatNumber[byte](byref,byref,int,System.Globalization.NumberFormatInfo) (FullOpts)
+; Total bytes of code 435, prolog size 31, PerfScore 232.63, instruction count 122, allocated bytes for code 435 (MethodHash=6396948b) for method System.Number:FormatNumber[byte](byref,byref,int,System.Globalization.NumberFormatInfo) (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-27 (-3.72 % of base) - System.Number:DiyFp128AsinAcos(System.Number+DiyFp128,bool):System.Number+DiyFp128</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128AsinAcos(System.Number+DiyFp128,bool):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; 11 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 17 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 RetBuf       [V00,T00] (  4,  4   )    long  ->  rbx         single-def
 ;  V01 arg0         [V01    ] ( 17, 11.50)  struct (24) [rbp+0x10]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
-;  V02 arg1         [V02,T02] (  3,  3   )   ubyte  ->  rsi         single-def
-;  V03 loc0         [V03,T08] (  3,  2.50)     int  ->  r13        
-;  V04 loc1         [V04,T07] (  4,  3   )     int  ->  rcx        
-;  V05 loc2         [V05,T09] (  3,  2.50)     int  ->  r12        
+;  V02 arg1         [V02,T01] (  3,  3   )   ubyte  ->  rsi         single-def
+;  V03 loc0         [V03,T04] (  3,  2.50)     int  ->  r13        
+;  V04 loc1         [V04,T03] (  4,  3   )     int  ->  rcx        
+;  V05 loc2         [V05,T05] (  3,  2.50)     int  ->  r12        
 ;* V06 loc3         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[System.Number+DiyFp128]>
 ;* V07 loc4         [V07    ] (  0,  0   )     int  ->  zero-ref   
 ;  V08 loc5         [V08    ] (  8,  8   )  struct (24) [rbp-0x40]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V09 loc6         [V09,T03] (  4,  4   )     int  ->  r15        
+;  V09 loc6         [V09,T02] (  4,  4   )     int  ->  r15        
 ;  V10 loc7         [V10    ] (  3,  3   )  struct (24) [rbp-0x58]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
 ;  V11 loc8         [V11    ] (  5,  5   )  struct (48) [rbp-0x88]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Runtime.CompilerServices.InlineArray2`1[System.Number+DiyFp128]>
 ;  V12 loc9         [V12    ] (  3,  1.50)  struct (24) [rbp-0xA0]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V13 loc10        [V13    ] (  4,  2   )  struct (24) [rbp-0xB8]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V13 loc10        [V13    ] (  6,  4   )  struct (24) [rbp-0xB8]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
 ;  V14 OutArgs      [V14    ] (  1,  1   )  struct (40) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V15 tmp1         [V15,T14] (  2,  2   )     int  ->  r15        
+;  V15 tmp1         [V15,T07] (  2,  2   )     int  ->  r15        
 ;* V16 tmp2         [V16    ] (  0,  0   )     int  ->  zero-ref   
 ;* V17 tmp3         [V17    ] (  0,  0   )     int  ->  zero-ref   
-;  V18 tmp4         [V18,T10] (  3,  2.50)     int  ->  r14        
+;  V18 tmp4         [V18,T06] (  3,  2.50)     int  ->  r14        
 ;* V19 tmp5         [V19    ] (  0,  0   )     int  ->  zero-ref   
 ;* V20 tmp6         [V20    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;* V21 tmp7         [V21    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;* V22 tmp8         [V22    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V23 tmp9         [V23    ] (  0,  0   )   byref  ->  zero-ref   
-;  V24 tmp10        [V24,T15] (  2,  2   )     int  ->  rcx        
+;  V24 tmp10        [V24,T08] (  2,  2   )     int  ->  rsi        
 ;* V25 tmp11        [V25    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
-;  V26 tmp12        [V26,T04] (  2,  4   )   byref  ->  rdi         single-def "impAppendStmt"
+;* V26 tmp12        [V26    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V27 tmp13        [V27    ] (  0,  0   )   byref  ->  zero-ref   
-;* V28 tmp14        [V28    ] (  0,  0   )   byref  ->  zero-ref   
-;  V29 tmp15        [V29,T16] (  2,  2   )     int  ->  rax        
-;* V30 tmp16        [V30    ] (  0,  0   )     int  ->  zero-ref   
-;* V31 tmp17        [V31    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Number+DiyFp128>
-;* V32 tmp18        [V32    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
-;* V33 tmp19        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
-;* V34 tmp20        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V35 tmp21        [V35    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V36 tmp22        [V36,T05] (  2,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V37 tmp23        [V37    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V38 tmp24        [V38    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V39 tmp25        [V39,T06] (  2,  4   )     ref  ->   r8         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V40 tmp26        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V06._reference (fldOffset=0x0)" P-INDEP
-;* V41 tmp27        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
-;  V42 tmp28        [V42    ] (  6,  6   )     int  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V08._sign (fldOffset=0x0)" P-DEP
-;  V43 tmp29        [V43    ] (  6,  6   )     int  ->  [rbp-0x3C]  do-not-enreg[X] addr-exposed "field V08._exponent (fldOffset=0x4)" P-DEP
-;  V44 tmp30        [V44    ] (  4,  4   )    long  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V08._hi (fldOffset=0x8)" P-DEP
-;  V45 tmp31        [V45    ] (  4,  4   )    long  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V08._lo (fldOffset=0x10)" P-DEP
-;* V46 tmp32        [V46    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V47 tmp33        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;* V48 tmp34        [V48    ] (  0,  0   )   byref  ->  zero-ref    "field V21._reference (fldOffset=0x0)" P-INDEP
-;* V49 tmp35        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
-;* V50 tmp36        [V50,T17] (  0,  0   )   byref  ->  zero-ref    single-def "field V25._reference (fldOffset=0x0)" P-INDEP
-;* V51 tmp37        [V51    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
-;* V52 tmp38        [V52    ] (  0,  0   )     int  ->  zero-ref    "field V31._sign (fldOffset=0x0)" P-INDEP
-;* V53 tmp39        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V31._exponent (fldOffset=0x4)" P-INDEP
-;* V54 tmp40        [V54    ] (  0,  0   )    long  ->  zero-ref    "field V31._hi (fldOffset=0x8)" P-INDEP
-;* V55 tmp41        [V55    ] (  0,  0   )    long  ->  zero-ref    "field V31._lo (fldOffset=0x10)" P-INDEP
-;* V56 tmp42        [V56,T21] (  0,  0   )   byref  ->  zero-ref    single-def "field V32._reference (fldOffset=0x0)" P-INDEP
-;* V57 tmp43        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
-;* V58 tmp44        [V58,T18] (  0,  0   )   byref  ->  zero-ref    single-def "field V33._reference (fldOffset=0x0)" P-INDEP
-;* V59 tmp45        [V59    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
-;  V60 tmp46        [V60,T11] (  2,  2   )   byref  ->  rsi         "field V35._reference (fldOffset=0x0)" P-INDEP
-;* V61 tmp47        [V61,T19] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
-;  V62 tmp48        [V62,T12] (  2,  2   )   byref  ->   r8         "field V38._reference (fldOffset=0x0)" P-INDEP
-;* V63 tmp49        [V63,T20] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
-;  V64 tmp50        [V64,T01] (  3,  6   )     int  ->  rcx         "index expr"
-;  V65 cse0         [V65,T13] (  2,  2   )     ref  ->   r8         "CSE #01: moderate"
+;  V28 tmp14        [V28,T09] (  2,  2   )     int  ->  rax        
+;* V29 tmp15        [V29    ] (  0,  0   )     int  ->  zero-ref   
+;* V30 tmp16        [V30    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Number+DiyFp128>
+;* V31 tmp17        [V31    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
+;* V32 tmp18        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
+;* V33 tmp19        [V33    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V34 tmp20        [V34    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V35 tmp21        [V35    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V36 tmp22        [V36    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V37 tmp23        [V37    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V38 tmp24        [V38    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V39 tmp25        [V39    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V40 tmp26        [V40    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V41 tmp27        [V41    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V42 tmp28        [V42    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V43 tmp29        [V43    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V44 tmp30        [V44    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V45 tmp31        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V46 tmp32        [V46    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V47 tmp33        [V47    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V48 tmp34        [V48    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V49 tmp35        [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V50 tmp36        [V50    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V51 tmp37        [V51    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V06._reference (fldOffset=0x0)" P-INDEP
+;* V52 tmp38        [V52    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp39        [V53    ] (  6,  6   )     int  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V08._sign (fldOffset=0x0)" P-DEP
+;  V54 tmp40        [V54    ] (  6,  6   )     int  ->  [rbp-0x3C]  do-not-enreg[X] addr-exposed "field V08._exponent (fldOffset=0x4)" P-DEP
+;  V55 tmp41        [V55    ] (  4,  4   )    long  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V08._hi (fldOffset=0x8)" P-DEP
+;  V56 tmp42        [V56    ] (  4,  4   )    long  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V08._lo (fldOffset=0x10)" P-DEP
+;* V57 tmp43        [V57    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V58 tmp44        [V58    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
+;* V59 tmp45        [V59    ] (  0,  0   )   byref  ->  zero-ref    "field V21._reference (fldOffset=0x0)" P-INDEP
+;* V60 tmp46        [V60    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
+;* V61 tmp47        [V61,T10] (  0,  0   )   byref  ->  zero-ref    single-def "field V25._reference (fldOffset=0x0)" P-INDEP
+;* V62 tmp48        [V62    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
+;* V63 tmp49        [V63    ] (  0,  0   )     int  ->  zero-ref    "field V30._sign (fldOffset=0x0)" P-INDEP
+;* V64 tmp50        [V64    ] (  0,  0   )     int  ->  zero-ref    "field V30._exponent (fldOffset=0x4)" P-INDEP
+;* V65 tmp51        [V65    ] (  0,  0   )    long  ->  zero-ref    "field V30._hi (fldOffset=0x8)" P-INDEP
+;* V66 tmp52        [V66    ] (  0,  0   )    long  ->  zero-ref    "field V30._lo (fldOffset=0x10)" P-INDEP
+;* V67 tmp53        [V67,T12] (  0,  0   )   byref  ->  zero-ref    single-def "field V31._reference (fldOffset=0x0)" P-INDEP
+;* V68 tmp54        [V68    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
+;* V69 tmp55        [V69,T11] (  0,  0   )   byref  ->  zero-ref    single-def "field V32._reference (fldOffset=0x0)" P-INDEP
+;* V70 tmp56        [V70    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
+;* V71 tmp57        [V71    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V33._reference (fldOffset=0x0)" P-INDEP
+;* V72 tmp58        [V72    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
+;* V73 tmp59        [V73    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V36._reference (fldOffset=0x0)" P-INDEP
+;* V74 tmp60        [V74    ] (  0,  0   )     int  ->  zero-ref    "field V36._length (fldOffset=0x8)" P-INDEP
+;* V75 tmp61        [V75    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V39._reference (fldOffset=0x0)" P-INDEP
+;* V76 tmp62        [V76    ] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
+;* V77 tmp63        [V77    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V40._reference (fldOffset=0x0)" P-INDEP
+;* V78 tmp64        [V78    ] (  0,  0   )     int  ->  zero-ref    "field V40._length (fldOffset=0x8)" P-INDEP
+;* V79 tmp65        [V79    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V80 tmp66        [V80    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
+;* V81 tmp67        [V81    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V45._reference (fldOffset=0x0)" P-INDEP
+;* V82 tmp68        [V82    ] (  0,  0   )     int  ->  zero-ref    "field V45._length (fldOffset=0x8)" P-INDEP
+;* V83 tmp69        [V83    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V48._reference (fldOffset=0x0)" P-INDEP
+;* V84 tmp70        [V84    ] (  0,  0   )     int  ->  zero-ref    "field V48._length (fldOffset=0x8)" P-INDEP
+;* V85 tmp71        [V85    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V49._reference (fldOffset=0x0)" P-INDEP
+;* V86 tmp72        [V86    ] (  0,  0   )     int  ->  zero-ref    "field V49._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 184
 
 G_M8515_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 184
        lea      rbp, [rsp+0xE0]
        mov      rbx, rdi
 						;; size=28 bbWeight=1 PerfScore 7.00
 G_M8515_IG02:
        mov      r15d, 0xD1FFAB1E
        mov      ecx, 0xD1FFAB1E
        test     sil, sil
        cmove    r15d, ecx
        mov      r14d, 12
        xor      ecx, ecx
        cmp      dword ptr [rbp+0x10], 0
        cmove    r14d, ecx
        mov      r13d, r14d
 						;; size=37 bbWeight=1 PerfScore 3.50
 G_M8515_IG03:
        mov      dword ptr [rbp+0x10], ecx
        mov      ecx, dword ptr [rbp+0x14]
        xor      r12d, r12d
        test     ecx, ecx
        jl       G_M8515_IG07
 						;; size=17 bbWeight=1 PerfScore 3.50
 G_M8515_IG04:
        lea      r13d, [r14+0x06]
        test     ecx, ecx
        jle      SHORT G_M8515_IG06
        cmp      ecx, 1
        jne      G_M8515_IG07
        mov      rcx, 0xD1FFAB1E
        cmp      qword ptr [rbp+0x18], rcx
        jne      G_M8515_IG07
        cmp      qword ptr [rbp+0x20], 0
        jne      G_M8515_IG07
        mov      rcx, 0xD1FFAB1E
        mov      qword ptr [rbp+0x10], rcx
        xor      ecx, ecx
        mov      qword ptr [rbp+0x18], rcx
 						;; size=68 bbWeight=0.50 PerfScore 4.88
 G_M8515_IG05:
        mov      qword ptr [rbp+0x20], rcx
        jmp      G_M8515_IG07
 						;; size=9 bbWeight=0.50 PerfScore 1.50
 G_M8515_IG06:
        mov      r12d, 1
        vxorps   xmm0, xmm0, xmm0
        vmovdqu32 xmmword ptr [rbp-0xA0], xmm0
        vmovdqu  xmmword ptr [rbp-0x98], xmm0
        mov      rcx, 0xD1FFAB1E
        mov      qword ptr [rbp-0xB8], rcx
        mov      rcx, 0xD1FFAB1E
        mov      qword ptr [rbp-0xB0], rcx
        xor      ecx, ecx
        mov      qword ptr [rbp-0xA8], rcx
        lea      rcx, bword ptr [rbp-0xA0]
        mov      r8d, 1
        lea      rsi, [rbp+0x10]
        lea      rdi, [rbp-0xB8]
        mov      edx, 5
        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-0xA0]
        vmovdqu  xmmword ptr [rbp+0x10], xmm0
        mov      rdi, qword ptr [rbp-0x90]
        mov      qword ptr [rbp+0x20], rdi
        mov      edi, dword ptr [rbp+0x14]
        dec      edi
        mov      dword ptr [rbp+0x14], edi
        vmovdqu  xmm0, xmmword ptr [rbp+0x10]
        vmovdqu  xmmword ptr [rsp], xmm0
        mov      rdi, qword ptr [rbp+0x20]
        mov      qword ptr [rsp+0x10], rdi
        lea      rdi, [rbp+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Sqrt(System.Number+DiyFp128):System.Number+DiyFp128
        call     [rax]System.Number:DiyFp128Sqrt(System.Number+DiyFp128):System.Number+DiyFp128
 						;; size=175 bbWeight=0.50 PerfScore 12.79
 G_M8515_IG07:
        mov      esi, dword ptr [rbp+0x14]
        inc      esi
        mov      dword ptr [rbp+0x14], esi
        vxorps   ymm0, ymm0, ymm0
        vmovdqu  ymmword ptr [rbp-0x88], ymm0
        vmovdqu  xmmword ptr [rbp-0x68], xmm0
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rbp-0x88], xmm0
        vmovdqu  xmmword ptr [rbp-0x80], xmm0
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rbp-0x70], xmm0
        vmovdqu  xmmword ptr [rbp-0x68], xmm0
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rsi, gword ptr [rsi]
-       add      rsi, 16
-       mov      rdx, 0xD1FFAB1E      ; const ptr
-       mov      r8, gword ptr [rdx]
-       add      r8, 16
        mov      dword ptr [rsp], 1
        mov      dword ptr [rsp+0x08], 11
        mov      dword ptr [rsp+0x10], 206
-       lea      rdx, bword ptr [rbp-0x88]
-       mov      r9d, 2
-       mov      bword ptr [rsp+0x18], rdx
-       mov      dword ptr [rsp+0x20], r9d
+       lea      rsi, bword ptr [rbp-0x88]
+       mov      edx, 2
+       mov      bword ptr [rsp+0x18], rsi
+       mov      dword ptr [rsp+0x20], edx
+       mov      rsi, 0xD1FFAB1E      ; static handle
        mov      edx, 12
+       mov      r8, 0xD1FFAB1E      ; static handle
        mov      r9d, 12
        lea      rdi, [rbp+0x10]
        xor      ecx, ecx
        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])
        vmovdqu  xmm0, xmmword ptr [rbp-0x88]
        vmovdqu  xmmword ptr [rbp-0x40], xmm0
-       mov      rcx, qword ptr [rbp-0x78]
-       mov      qword ptr [rbp-0x30], rcx
+       mov      rsi, qword ptr [rbp-0x78]
+       mov      qword ptr [rbp-0x30], rsi
        sarx     r15d, r15d, r13d
-       mov      ecx, 0xD1FFAB1E
-       xor      r8d, r8d
+       mov      esi, 0xD1FFAB1E
+       xor      edi, edi
        test     r15b, 8
-       cmove    ecx, r8d
-       mov      dword ptr [rbp-0x40], ecx
+       cmove    esi, edi
+       mov      dword ptr [rbp-0x40], esi
        add      r12d, dword ptr [rbp-0x3C]
        mov      dword ptr [rbp-0x3C], r12d
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rbp-0x58], xmm0
        vmovdqu  xmmword ptr [rbp-0x50], xmm0
-       mov      ecx, r15d
-       and      ecx, 240
-       imul     rcx, rcx, 0xD1FFAB1E
-       shr      rcx, 32
-       mov      r8, 0xD1FFAB1E      ; const ptr
-       mov      r8, gword ptr [r8]
-       cmp      ecx, 5
-       jae      SHORT G_M8515_IG10
-       mov      ecx, ecx
-       lea      rcx, [rcx+2*rcx]
-       lea      rdi, bword ptr [r8+8*rcx+0x10]
-						;; size=281 bbWeight=1 PerfScore 43.83
-G_M8515_IG08:
+       mov      esi, r15d
+       and      esi, 240
+       imul     rsi, rsi, 0xD1FFAB1E
+       shr      rsi, 32
+       lea      rdi, [rbp-0xB8]
+       mov      rax, 0xD1FFAB1E      ; code for System.Number:GetInvTrigConstant(int):System.Number+DiyFp128
+       call     [rax]System.Number:GetInvTrigConstant(int):System.Number+DiyFp128
        lea      rcx, bword ptr [rbp-0x58]
        mov      r8d, 1
        lea      rsi, [rbp-0x40]
+       lea      rdi, [rbp-0xB8]
        mov      edx, 8
        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])
        vmovdqu  xmm0, xmmword ptr [rbp-0x58]
        vmovdqu  xmmword ptr [rbp-0x40], xmm0
        mov      rax, qword ptr [rbp-0x48]
+						;; size=305 bbWeight=1 PerfScore 46.08
+G_M8515_IG08:
        mov      qword ptr [rbp-0x30], rax
        mov      eax, 0xD1FFAB1E
        xor      ecx, ecx
        test     r15b, 4
        cmove    eax, ecx
        mov      dword ptr [rbp-0x40], eax
        vmovdqu  xmm0, xmmword ptr [rbp-0x40]
        vmovdqu  xmmword ptr [rbx], xmm0
        mov      rax, qword ptr [rbp-0x30]
        mov      qword ptr [rbx+0x10], rax
        mov      rax, rbx
-						;; size=86 bbWeight=1 PerfScore 15.25
+						;; size=41 bbWeight=1 PerfScore 7.50
 G_M8515_IG09:
        add      rsp, 184
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
-G_M8515_IG10:
-       call     CORINFO_HELP_RNGCHKFAIL
-       int3     
-						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 725, prolog size 25, PerfScore 96.50, instruction count 157, allocated bytes for code 725 (MethodHash=67bddebc) for method System.Number:DiyFp128AsinAcos(System.Number+DiyFp128,bool):System.Number+DiyFp128 (FullOpts)
+; Total bytes of code 698, prolog size 25, PerfScore 91.00, instruction count 148, allocated bytes for code 698 (MethodHash=67bddebc) for method System.Number:DiyFp128AsinAcos(System.Number+DiyFp128,bool):System.Number+DiyFp128 (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-25 (-4.22 % of base) - System.Number:FormatCurrency[byte](byref,byref,int,System.Globalization.NumberFormatInfo)</summary>

```diff
 ; Assembly listing for method System.Number:FormatCurrency[byte](byref,byref,int,System.Globalization.NumberFormatInfo) (FullOpts)
 ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 11 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] ( 18, 34   )   byref  ->  rbx         single-def
-;  V01 arg1         [V01,T34] (  4,  5   )   byref  ->  r14         single-def
-;  V02 arg2         [V02,T35] (  3,  4   )     int  ->  r13         single-def
-;  V03 arg3         [V03,T01] ( 13, 21   )     ref  ->  r15         class-hnd single-def <System.Globalization.NumberFormatInfo>
-;  V04 loc0         [V04,T17] (  4, 10   )     ref  ->  r12         class-hnd single-def <System.String>
-;* V05 loc1         [V05,T47] (  0,  0   )     int  ->  zero-ref   
-;  V06 loc2         [V06,T03] (  5, 14   )  ushort  ->  rcx        
+;  V00 arg0         [V00,T00] ( 18, 33.68)   byref  ->  rbx         single-def
+;  V01 arg1         [V01,T32] (  4,  4.98)   byref  ->  r14         single-def
+;  V02 arg2         [V02,T33] (  3,  3.98)     int  ->  r13         single-def
+;  V03 arg3         [V03,T01] ( 13, 20.82)     ref  ->  r15         class-hnd single-def <System.Globalization.NumberFormatInfo>
+;* V04 loc0         [V04    ] (  0,  0   )  struct (16) zero-ref    multireg-ret multireg-dest ld-addr-op <System.ReadOnlySpan`1[byte]>
+;* V05 loc1         [V05,T45] (  0,  0   )     int  ->  zero-ref   
+;  V06 loc2         [V06,T03] (  6, 15.84)   ubyte  ->  rsi        
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V08 tmp1         [V08,T44] (  3,  2   )     ref  ->  r12        
-;  V09 tmp2         [V09,T21] (  2,  8   )     ref  ->  [rbp-0x40]  class-hnd spill-single-def "impAppendStmt" <int[]>
-;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[byte]>
-;* V11 tmp4         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
-;* V12 tmp5         [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
-;* V13 tmp6         [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
-;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;  V15 tmp8         [V15,T04] (  3, 12   )   byref  ->  rdi         "Inlining Arg"
-;  V16 tmp9         [V16,T22] (  2,  8   )     ref  ->  rdx         class-hnd "dup spill" <System.Object>
-;  V17 tmp10        [V17,T13] (  5, 10   )     ref  ->  rdx        
-;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
-;  V19 tmp12        [V19,T23] (  2,  8   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
-;  V20 tmp13        [V20,T24] (  2,  8   )   byref  ->  [rbp-0x48]  spill-single-def "Inlining Arg"
-;  V21 tmp14        [V21,T32] (  2,  8   )     int  ->  [rbp-0x2C]  spill-single-def "Inlining Arg"
-;* V22 tmp15        [V22    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
-;* V23 tmp16        [V23    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;* V24 tmp17        [V24    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;  V25 tmp18        [V25,T05] (  3, 12   )   byref  ->  rdi         "Inlining Arg"
-;  V26 tmp19        [V26,T25] (  2,  8   )     ref  ->   r9         class-hnd "dup spill" <System.Object>
-;  V27 tmp20        [V27,T14] (  5, 10   )     ref  ->   r9        
-;* V28 tmp21        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
-;  V29 tmp22        [V29,T26] (  2,  8   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
-;  V30 tmp23        [V30,T27] (  2,  8   )   byref  ->  rdi         "Inlining Arg"
-;  V31 tmp24        [V31,T33] (  2,  8   )     int  ->   r9         "Inlining Arg"
-;* V32 tmp25        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
-;* V33 tmp26        [V33    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;* V34 tmp27        [V34    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;  V35 tmp28        [V35,T06] (  3, 12   )   byref  ->  rdi         "Inlining Arg"
-;  V36 tmp29        [V36,T28] (  2,  8   )     ref  ->  rcx         class-hnd "dup spill" <System.Object>
-;  V37 tmp30        [V37,T15] (  5, 10   )     ref  ->  rcx        
-;* V38 tmp31        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
-;  V39 tmp32        [V39,T29] (  2,  8   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
-;  V40 tmp33        [V40,T07] (  3, 12   )   byref  ->  rsi         "Inlining Arg"
-;  V41 tmp34        [V41,T10] (  3, 12   )     int  ->  rdx         "Inlining Arg"
-;* V42 tmp35        [V42    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
-;  V43 tmp36        [V43,T18] (  4,  8   )     int  ->  rcx         "Inline stloc first use temp"
-;* V44 tmp37        [V44    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[byte]>
-;* V45 tmp38        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[byte]>
-;* V46 tmp39        [V46    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;* V47 tmp40        [V47    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;  V48 tmp41        [V48,T08] (  3, 12   )   byref  ->  rdi         "Inlining Arg"
-;  V49 tmp42        [V49,T30] (  2,  8   )     ref  ->  rcx         class-hnd "dup spill" <System.Object>
-;  V50 tmp43        [V50,T16] (  5, 10   )     ref  ->  rcx        
-;* V51 tmp44        [V51    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
-;  V52 tmp45        [V52,T31] (  2,  8   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
-;  V53 tmp46        [V53,T09] (  3, 12   )   byref  ->  rsi         "Inlining Arg"
-;  V54 tmp47        [V54,T11] (  3, 12   )     int  ->  rdx         "Inlining Arg"
-;* V55 tmp48        [V55    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
-;  V56 tmp49        [V56,T19] (  4,  8   )     int  ->  rcx         "Inline stloc first use temp"
-;* V57 tmp50        [V57    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[byte]>
-;* V58 tmp51        [V58    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[byte]>
-;  V59 tmp52        [V59,T20] (  4,  8   )     int  ->  rcx         "Inline stloc first use temp"
-;* V60 tmp53        [V60    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[byte]>
-;  V61 tmp54        [V61,T12] (  3, 12   )   ubyte  ->  rsi         "Inlining Arg"
-;* V62 tmp55        [V62    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
-;* V63 tmp56        [V63    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;* V64 tmp57        [V64    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V65 tmp58        [V65    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
-;* V66 tmp59        [V66    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V67 tmp60        [V67    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
-;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;* V70 tmp63        [V70    ] (  0,  0   )   byref  ->  zero-ref    "field V14._reference (fldOffset=0x0)" P-INDEP
-;* V71 tmp64        [V71    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
-;* V72 tmp65        [V72    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
-;* V73 tmp66        [V73    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
-;* V74 tmp67        [V74    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
-;* V75 tmp68        [V75    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
-;* V76 tmp69        [V76    ] (  0,  0   )   byref  ->  zero-ref    "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V77 tmp70        [V77    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;* V78 tmp71        [V78    ] (  0,  0   )   byref  ->  zero-ref    "field V32._reference (fldOffset=0x0)" P-INDEP
-;* V79 tmp72        [V79    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
-;* V80 tmp73        [V80    ] (  0,  0   )   byref  ->  zero-ref    "field V33._reference (fldOffset=0x0)" P-INDEP
-;* V81 tmp74        [V81    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
-;* V82 tmp75        [V82    ] (  0,  0   )   byref  ->  zero-ref    "field V34._reference (fldOffset=0x0)" P-INDEP
-;* V83 tmp76        [V83    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
-;* V84 tmp77        [V84    ] (  0,  0   )   byref  ->  zero-ref    "field V42._reference (fldOffset=0x0)" P-INDEP
-;* V85 tmp78        [V85    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
-;  V86 tmp79        [V86,T36] (  2,  4   )   byref  ->   r8         "field V44._reference (fldOffset=0x0)" P-INDEP
-;  V87 tmp80        [V87,T39] (  2,  4   )     int  ->  rdi         "field V44._length (fldOffset=0x8)" P-INDEP
-;* V88 tmp81        [V88    ] (  0,  0   )   byref  ->  zero-ref    "field V45._reference (fldOffset=0x0)" P-INDEP
-;* V89 tmp82        [V89    ] (  0,  0   )     int  ->  zero-ref    "field V45._length (fldOffset=0x8)" P-INDEP
-;* V90 tmp83        [V90    ] (  0,  0   )   byref  ->  zero-ref    "field V46._reference (fldOffset=0x0)" P-INDEP
-;* V91 tmp84        [V91    ] (  0,  0   )     int  ->  zero-ref    "field V46._length (fldOffset=0x8)" P-INDEP
-;* V92 tmp85        [V92    ] (  0,  0   )   byref  ->  zero-ref    "field V47._reference (fldOffset=0x0)" P-INDEP
-;* V93 tmp86        [V93    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
-;* V94 tmp87        [V94    ] (  0,  0   )   byref  ->  zero-ref    "field V55._reference (fldOffset=0x0)" P-INDEP
-;* V95 tmp88        [V95    ] (  0,  0   )     int  ->  zero-ref    "field V55._length (fldOffset=0x8)" P-INDEP
-;  V96 tmp89        [V96,T37] (  2,  4   )   byref  ->   r8         "field V57._reference (fldOffset=0x0)" P-INDEP
-;  V97 tmp90        [V97,T40] (  2,  4   )     int  ->  rdi         "field V57._length (fldOffset=0x8)" P-INDEP
-;* V98 tmp91        [V98    ] (  0,  0   )   byref  ->  zero-ref    "field V58._reference (fldOffset=0x0)" P-INDEP
-;* V99 tmp92        [V99    ] (  0,  0   )     int  ->  zero-ref    "field V58._length (fldOffset=0x8)" P-INDEP
-;  V100 tmp93       [V100,T38] (  2,  4   )   byref  ->  rdx         "field V60._reference (fldOffset=0x0)" P-INDEP
-;  V101 tmp94       [V101,T41] (  2,  4   )     int  ->  rdi         "field V60._length (fldOffset=0x8)" P-INDEP
-;  V102 tmp95       [V102,T42] (  3,  3   )     int  ->  rdi         "index expr"
-;  V103 tmp96       [V103,T43] (  3,  3   )     int  ->  rdi         "index expr"
-;  V104 cse0        [V104,T45] (  2,  1   )     ref  ->  rsi         "CSE #01: conservative"
-;  V105 cse1        [V105,T46] (  2,  1   )     ref  ->  rsi         "CSE #02: conservative"
-;  V106 rat0        [V106,T02] (  5, 17   )    long  ->  [rbp-0x38]  "Widened IV V05"
+;* V08 tmp1         [V08    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
+;* V09 tmp2         [V09    ] (  0,  0   )     int  ->  zero-ref   
+;  V10 tmp3         [V10,T44] (  2,  2   )     int  ->  rsi        
+;  V11 tmp4         [V11,T43] (  3,  2   )     int  ->  rax        
+;* V12 tmp5         [V12    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.ReadOnlySpan`1[byte]>
+;  V13 tmp6         [V13,T19] (  2,  7.92)     ref  ->  [rbp-0x40]  class-hnd spill-single-def "impAppendStmt" <int[]>
+;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[byte]>
+;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
+;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
+;* V17 tmp10        [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
+;* V18 tmp11        [V18    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
+;  V19 tmp12        [V19,T04] (  3, 11.88)   byref  ->  rdi         "Inlining Arg"
+;  V20 tmp13        [V20,T20] (  2,  7.92)     ref  ->   r8         class-hnd "dup spill" <System.Object>
+;  V21 tmp14        [V21,T12] (  5,  9.90)     ref  ->   r8        
+;* V22 tmp15        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
+;  V23 tmp16        [V23,T21] (  2,  7.92)     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
+;  V24 tmp17        [V24,T22] (  2,  7.92)   byref  ->  [rbp-0x48]  spill-single-def "Inlining Arg"
+;  V25 tmp18        [V25,T30] (  2,  7.92)     int  ->  [rbp-0x2C]  spill-single-def "Inlining Arg"
+;* V26 tmp19        [V26    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
+;* V27 tmp20        [V27    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
+;* V28 tmp21        [V28    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
+;  V29 tmp22        [V29,T05] (  3, 11.88)   byref  ->  rdi         "Inlining Arg"
+;  V30 tmp23        [V30,T23] (  2,  7.92)     ref  ->  r10         class-hnd "dup spill" <System.Object>
+;  V31 tmp24        [V31,T13] (  5,  9.90)     ref  ->  r10        
+;* V32 tmp25        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
+;  V33 tmp26        [V33,T24] (  2,  7.92)     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
+;  V34 tmp27        [V34,T25] (  2,  7.92)   byref  ->  rdi         "Inlining Arg"
+;  V35 tmp28        [V35,T31] (  2,  7.92)     int  ->  rsi         "Inlining Arg"
+;* V36 tmp29        [V36    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
+;* V37 tmp30        [V37    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
+;* V38 tmp31        [V38    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
+;  V39 tmp32        [V39,T06] (  3, 11.88)   byref  ->  rdi         "Inlining Arg"
+;  V40 tmp33        [V40,T26] (  2,  7.92)     ref  ->  rdx         class-hnd "dup spill" <System.Object>
+;  V41 tmp34        [V41,T14] (  5,  9.90)     ref  ->  rdx        
+;* V42 tmp35        [V42    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
+;  V43 tmp36        [V43,T27] (  2,  7.92)     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
+;  V44 tmp37        [V44,T07] (  3, 11.88)   byref  ->  rsi         "Inlining Arg"
+;  V45 tmp38        [V45,T10] (  3, 11.88)     int  ->  rdx         "Inlining Arg"
+;* V46 tmp39        [V46    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
+;  V47 tmp40        [V47,T16] (  4,  7.92)     int  ->   r8         "Inline stloc first use temp"
+;* V48 tmp41        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[byte]>
+;* V49 tmp42        [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[byte]>
+;* V50 tmp43        [V50    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
+;* V51 tmp44        [V51    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
+;  V52 tmp45        [V52,T08] (  3, 11.88)   byref  ->  rdi         "Inlining Arg"
+;  V53 tmp46        [V53,T28] (  2,  7.92)     ref  ->  rdx         class-hnd "dup spill" <System.Object>
+;  V54 tmp47        [V54,T15] (  5,  9.90)     ref  ->  rdx        
+;* V55 tmp48        [V55    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
+;  V56 tmp49        [V56,T29] (  2,  7.92)     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
+;  V57 tmp50        [V57,T09] (  3, 11.88)   byref  ->  rsi         "Inlining Arg"
+;  V58 tmp51        [V58,T11] (  3, 11.88)     int  ->  rdx         "Inlining Arg"
+;* V59 tmp52        [V59    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
+;  V60 tmp53        [V60,T17] (  4,  7.92)     int  ->   r8         "Inline stloc first use temp"
+;* V61 tmp54        [V61    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[byte]>
+;* V62 tmp55        [V62    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[byte]>
+;  V63 tmp56        [V63,T18] (  4,  7.92)     int  ->  rdx         "Inline stloc first use temp"
+;* V64 tmp57        [V64    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[byte]>
+;  V65 tmp58        [V65,T35] (  2,  4.96)   byref  ->  r12         "field V04._reference (fldOffset=0x0)" P-INDEP
+;  V66 tmp59        [V66,T34] (  3,  5.96)     int  ->  [rbp-0x30]  spill-single-def "field V04._length (fldOffset=0x8)" P-INDEP
+;* V67 tmp60        [V67    ] (  0,  0   )   byref  ->  zero-ref    do-not-enreg[] "field V12._reference (fldOffset=0x0)" P-DEP
+;* V68 tmp61        [V68    ] (  0,  0   )     int  ->  zero-ref    do-not-enreg[] "field V12._length (fldOffset=0x8)" P-DEP
+;* V69 tmp62        [V69    ] (  0,  0   )   byref  ->  zero-ref    "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V70 tmp63        [V70    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
+;* V71 tmp64        [V71    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V72 tmp65        [V72    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;* V73 tmp66        [V73    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V74 tmp67        [V74    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;* V75 tmp68        [V75    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
+;* V76 tmp69        [V76    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
+;* V77 tmp70        [V77    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V78 tmp71        [V78    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
+;* V79 tmp72        [V79    ] (  0,  0   )   byref  ->  zero-ref    "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V80 tmp73        [V80    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
+;* V81 tmp74        [V81    ] (  0,  0   )   byref  ->  zero-ref    "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V82 tmp75        [V82    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
+;* V83 tmp76        [V83    ] (  0,  0   )   byref  ->  zero-ref    "field V28._reference (fldOffset=0x0)" P-INDEP
+;* V84 tmp77        [V84    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
+;* V85 tmp78        [V85    ] (  0,  0   )   byref  ->  zero-ref    "field V36._reference (fldOffset=0x0)" P-INDEP
+;* V86 tmp79        [V86    ] (  0,  0   )     int  ->  zero-ref    "field V36._length (fldOffset=0x8)" P-INDEP
+;* V87 tmp80        [V87    ] (  0,  0   )   byref  ->  zero-ref    "field V37._reference (fldOffset=0x0)" P-INDEP
+;* V88 tmp81        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
+;* V89 tmp82        [V89    ] (  0,  0   )   byref  ->  zero-ref    "field V38._reference (fldOffset=0x0)" P-INDEP
+;* V90 tmp83        [V90    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
+;* V91 tmp84        [V91    ] (  0,  0   )   byref  ->  zero-ref    "field V46._reference (fldOffset=0x0)" P-INDEP
+;* V92 tmp85        [V92    ] (  0,  0   )     int  ->  zero-ref    "field V46._length (fldOffset=0x8)" P-INDEP
+;  V93 tmp86        [V93,T36] (  2,  3.96)   byref  ->   r9         "field V48._reference (fldOffset=0x0)" P-INDEP
+;  V94 tmp87        [V94,T39] (  2,  3.96)     int  ->  rdi         "field V48._length (fldOffset=0x8)" P-INDEP
+;* V95 tmp88        [V95    ] (  0,  0   )   byref  ->  zero-ref    "field V49._reference (fldOffset=0x0)" P-INDEP
+;* V96 tmp89        [V96    ] (  0,  0   )     int  ->  zero-ref    "field V49._length (fldOffset=0x8)" P-INDEP
+;* V97 tmp90        [V97    ] (  0,  0   )   byref  ->  zero-ref    "field V50._reference (fldOffset=0x0)" P-INDEP
+;* V98 tmp91        [V98    ] (  0,  0   )     int  ->  zero-ref    "field V50._length (fldOffset=0x8)" P-INDEP
+;* V99 tmp92        [V99    ] (  0,  0   )   byref  ->  zero-ref    "field V51._reference (fldOffset=0x0)" P-INDEP
+;* V100 tmp93       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V51._length (fldOffset=0x8)" P-INDEP
+;* V101 tmp94       [V101    ] (  0,  0   )   byref  ->  zero-ref    "field V59._reference (fldOffset=0x0)" P-INDEP
+;* V102 tmp95       [V102    ] (  0,  0   )     int  ->  zero-ref    "field V59._length (fldOffset=0x8)" P-INDEP
+;  V103 tmp96       [V103,T37] (  2,  3.96)   byref  ->   r9         "field V61._reference (fldOffset=0x0)" P-INDEP
+;  V104 tmp97       [V104,T40] (  2,  3.96)     int  ->  rdi         "field V61._length (fldOffset=0x8)" P-INDEP
+;* V105 tmp98       [V105    ] (  0,  0   )   byref  ->  zero-ref    "field V62._reference (fldOffset=0x0)" P-INDEP
+;* V106 tmp99       [V106    ] (  0,  0   )     int  ->  zero-ref    "field V62._length (fldOffset=0x8)" P-INDEP
+;  V107 tmp100      [V107,T38] (  2,  3.96)   byref  ->   r8         "field V64._reference (fldOffset=0x0)" P-INDEP
+;  V108 tmp101      [V108,T41] (  2,  3.96)     int  ->  rdi         "field V64._length (fldOffset=0x8)" P-INDEP
+;  V109 cse0        [V109,T42] (  3,  3   )     int  ->  rdi         "CSE #01: conservative"
+;  V110 rat0        [V110,T02] (  5, 16.84)    long  ->  [rbp-0x38]  "Widened IV V05"
 ;
 ; Lcl frame size = 56
 
 G_M6160_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 56
        lea      rbp, [rsp+0x60]
        mov      rbx, rdi
        mov      r14, rsi
        mov      r13d, edx
        mov      r15, rcx
 						;; size=31 bbWeight=1 PerfScore 7.75
 G_M6160_IG02:
-       cmp      byte  ptr [r14+0x08], 0
+       movzx    rdi, byte  ptr [r14+0x08]
+       mov      esi, edi
+       test     edi, edi
        je       SHORT G_M6160_IG04
-						;; size=7 bbWeight=1 PerfScore 3.00
+						;; size=11 bbWeight=1 PerfScore 3.50
 G_M6160_IG03:
-       mov      edi, dword ptr [r15+0x114]
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rsi, gword ptr [rsi]
-       cmp      edi, 17
-       jae      G_M6160_IG24
-       mov      r12, gword ptr [rsi+8*rdi+0x10]
+       mov      eax, dword ptr [r15+0x114]
        jmp      SHORT G_M6160_IG05
-						;; size=36 bbWeight=0.50 PerfScore 4.75
+						;; size=9 bbWeight=0.50 PerfScore 2.00
 G_M6160_IG04:
-       mov      edi, dword ptr [r15+0x110]
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rsi, gword ptr [rsi]
-       cmp      edi, 4
-       jae      G_M6160_IG24
-       mov      r12, gword ptr [rsi+8*rdi+0x10]
-						;; size=34 bbWeight=0.50 PerfScore 3.75
+       mov      eax, dword ptr [r15+0x110]
+						;; size=7 bbWeight=0.50 PerfScore 1.00
 G_M6160_IG05:
-       xor      eax, eax
-       cmp      dword ptr [r12+0x08], 0
+       mov      edi, esi
+       mov      esi, eax
+       mov      rax, 0xD1FFAB1E      ; code for System.Number:GetCurrencyFormat(bool,int):System.ReadOnlySpan`1[byte]
+       call     [rax]System.Number:GetCurrencyFormat(bool,int):System.ReadOnlySpan`1[byte]
+       mov      r12, rax
+       mov      eax, edx
+       mov      dword ptr [rbp-0x30], edx
+       xor      ecx, ecx
+       test     eax, eax
        je       G_M6160_IG23
-						;; size=14 bbWeight=1 PerfScore 3.25
+						;; size=34 bbWeight=1 PerfScore 6.75
 G_M6160_IG06:
-       mov      qword ptr [rbp-0x38], rax
-       movzx    rcx, word  ptr [r12+2*rax+0x0C]
-       cmp      ecx, 35
+       mov      qword ptr [rbp-0x38], rcx
+       movzx    rsi, byte  ptr [r12+rcx]
+       cmp      esi, 35
        jne      G_M6160_IG12
-						;; size=19 bbWeight=4 PerfScore 17.00
+						;; size=18 bbWeight=3.96 PerfScore 16.83
 G_M6160_IG07:
-       mov      rcx, gword ptr [r15+0x10]
-       mov      gword ptr [rbp-0x40], rcx
+       mov      rdx, gword ptr [r15+0x10]
+       mov      gword ptr [rbp-0x40], rdx
        lea      rdi, bword ptr [r15+0xB0]
        mov      rsi, gword ptr [r15+0x48]
-       mov      rdx, gword ptr [rdi]
-       test     rdx, rdx
+       mov      r8, gword ptr [rdi]
+       test     r8, r8
        jne      SHORT G_M6160_IG08
-       mov      rdx, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       call     [rdx]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       mov      rdx, rax
-						;; size=42 bbWeight=2 PerfScore 24.50
+       mov      r8, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       call     [r8]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       mov      r8, rax
+						;; size=43 bbWeight=1.98 PerfScore 24.25
 G_M6160_IG08:
-       lea      r8, bword ptr [rdx+0x10]
-       mov      bword ptr [rbp-0x48], r8
-       mov      edx, dword ptr [rdx+0x08]
-       dec      edx
-       mov      dword ptr [rbp-0x2C], edx
+       lea      r9, bword ptr [r8+0x10]
+       mov      bword ptr [rbp-0x48], r9
+       mov      r8d, dword ptr [r8+0x08]
+       dec      r8d
+       mov      dword ptr [rbp-0x2C], r8d
        lea      rdi, bword ptr [r15+0xB8]
        mov      rsi, gword ptr [r15+0x40]
-       mov      r9, gword ptr [rdi]
-       test     r9, r9
+       mov      r10, gword ptr [rdi]
+       test     r10, r10
        je       SHORT G_M6160_IG10
-						;; size=35 bbWeight=2 PerfScore 21.00
+						;; size=38 bbWeight=1.98 PerfScore 20.79
 G_M6160_IG09:
-       mov      edx, dword ptr [rbp-0x2C]
+       mov      r9, bword ptr [rbp-0x48]
        jmp      SHORT G_M6160_IG11
-						;; size=5 bbWeight=1 PerfScore 3.00
+						;; size=6 bbWeight=0.99 PerfScore 2.97
 G_M6160_IG10:
-       mov      r9, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       call     [r9]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       mov      r9, rax
-       mov      edx, dword ptr [rbp-0x2C]
-						;; size=19 bbWeight=2 PerfScore 9.00
+       mov      r10, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       call     [r10]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       mov      r10, rax
+       mov      r9, bword ptr [rbp-0x48]
+						;; size=20 bbWeight=1.98 PerfScore 8.91
 G_M6160_IG11:
-       lea      rdi, bword ptr [r9+0x10]
-       mov      r9d, dword ptr [r9+0x08]
-       dec      r9d
+       lea      rdi, bword ptr [r10+0x10]
+       mov      esi, dword ptr [r10+0x08]
+       dec      esi
        mov      bword ptr [rsp], rdi
-       mov      dword ptr [rsp+0x08], r9d
-       mov      r8, bword ptr [rbp-0x48]
-       mov      r9d, edx
+       mov      dword ptr [rsp+0x08], esi
+       mov      r8, r9
+       mov      r9d, dword ptr [rbp-0x2C]
        mov      rdi, rbx
        mov      rsi, r14
        mov      edx, r13d
        mov      rcx, gword ptr [rbp-0x40]
        mov      r10, 0xD1FFAB1E      ; code for System.Number:FormatFixed[byte](byref,byref,int,int[],System.ReadOnlySpan`1[byte],System.ReadOnlySpan`1[byte])
        call     [r10]System.Number:FormatFixed[byte](byref,byref,int,int[],System.ReadOnlySpan`1[byte],System.ReadOnlySpan`1[byte])
        jmp      G_M6160_IG22
-						;; size=58 bbWeight=2 PerfScore 26.00
+						;; size=56 bbWeight=1.98 PerfScore 25.74
 G_M6160_IG12:
-       cmp      ecx, 36
+       cmp      esi, 36
        jne      SHORT G_M6160_IG16
        lea      rdi, bword ptr [r15+0xA0]
        mov      rsi, gword ptr [r15+0x50]
-       mov      rcx, gword ptr [rdi]
-       test     rcx, rcx
+       mov      rdx, gword ptr [rdi]
+       test     rdx, rdx
        jne      SHORT G_M6160_IG13
-       mov      rcx, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       call     [rcx]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       mov      rcx, rax
-						;; size=39 bbWeight=2 PerfScore 21.00
+       mov      rdx, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       call     [rdx]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       mov      rdx, rax
+						;; size=39 bbWeight=1.98 PerfScore 20.79
 G_M6160_IG13:
-       lea      rsi, bword ptr [rcx+0x10]
-       mov      edx, dword ptr [rcx+0x08]
+       lea      rsi, bword ptr [rdx+0x10]
+       mov      edx, dword ptr [rdx+0x08]
        dec      edx
-       mov      ecx, dword ptr [rbx+0x08]
-       mov      r8, bword ptr [rbx+0x10]
+       mov      r8d, dword ptr [rbx+0x08]
+       mov      r9, bword ptr [rbx+0x10]
        mov      edi, dword ptr [rbx+0x18]
        cmp      edx, 1
        jne      SHORT G_M6160_IG14
-       cmp      ecx, edi
+       cmp      r8d, edi
        jb       SHORT G_M6160_IG15
-						;; size=28 bbWeight=2 PerfScore 22.50
+						;; size=30 bbWeight=1.98 PerfScore 22.28
 G_M6160_IG14:
        mov      rdi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
-       call     [rcx]System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
+       mov      r8, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
+       call     [r8]System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
        jmp      G_M6160_IG22
-						;; size=20 bbWeight=2 PerfScore 11.00
+						;; size=21 bbWeight=1.98 PerfScore 10.89
 G_M6160_IG15:
-       mov      edi, ecx
+       mov      edi, r8d
        movzx    rsi, byte  ptr [rsi]
-       mov      byte  ptr [r8+rdi], sil
-       inc      ecx
-       mov      dword ptr [rbx+0x08], ecx
+       mov      byte  ptr [r9+rdi], sil
+       inc      r8d
+       mov      dword ptr [rbx+0x08], r8d
        jmp      G_M6160_IG22
-						;; size=20 bbWeight=2 PerfScore 13.00
+						;; size=23 bbWeight=1.98 PerfScore 12.87
 G_M6160_IG16:
-       cmp      ecx, 45
+       cmp      esi, 45
        jne      SHORT G_M6160_IG20
        lea      rdi, bword ptr [r15+0x98]
        mov      rsi, gword ptr [r15+0x28]
-       mov      rcx, gword ptr [rdi]
-       test     rcx, rcx
+       mov      rdx, gword ptr [rdi]
+       test     rdx, rdx
        jne      SHORT G_M6160_IG17
-       mov      rcx, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       call     [rcx]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       mov      rcx, rax
-						;; size=39 bbWeight=2 PerfScore 21.00
+       mov      rdx, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       call     [rdx]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       mov      rdx, rax
+						;; size=39 bbWeight=1.98 PerfScore 20.79
 G_M6160_IG17:
-       lea      rsi, bword ptr [rcx+0x10]
-       mov      edx, dword ptr [rcx+0x08]
+       lea      rsi, bword ptr [rdx+0x10]
+       mov      edx, dword ptr [rdx+0x08]
        dec      edx
-       mov      ecx, dword ptr [rbx+0x08]
-       mov      r8, bword ptr [rbx+0x10]
+       mov      r8d, dword ptr [rbx+0x08]
+       mov      r9, bword ptr [rbx+0x10]
        mov      edi, dword ptr [rbx+0x18]
        cmp      edx, 1
        jne      SHORT G_M6160_IG18
-       cmp      ecx, edi
+       cmp      r8d, edi
        jb       SHORT G_M6160_IG19
-						;; size=28 bbWeight=2 PerfScore 22.50
+						;; size=30 bbWeight=1.98 PerfScore 22.28
 G_M6160_IG18:
        mov      rdi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
-       call     [rcx]System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
+       mov      r8, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
+       call     [r8]System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
        jmp      SHORT G_M6160_IG22
-						;; size=17 bbWeight=2 PerfScore 11.00
+						;; size=18 bbWeight=1.98 PerfScore 10.89
 G_M6160_IG19:
-       mov      edi, ecx
+       mov      edi, r8d
        movzx    rsi, byte  ptr [rsi]
-       mov      byte  ptr [r8+rdi], sil
-       inc      ecx
-       mov      dword ptr [rbx+0x08], ecx
+       mov      byte  ptr [r9+rdi], sil
+       inc      r8d
+       mov      dword ptr [rbx+0x08], r8d
        jmp      SHORT G_M6160_IG22
-						;; size=17 bbWeight=2 PerfScore 13.00
+						;; size=20 bbWeight=1.98 PerfScore 12.87
 G_M6160_IG20:
-       movzx    rsi, cl
-       mov      ecx, dword ptr [rbx+0x08]
-       mov      rdx, bword ptr [rbx+0x10]
+       mov      edx, dword ptr [rbx+0x08]
+       mov      r8, bword ptr [rbx+0x10]
        mov      edi, dword ptr [rbx+0x18]
-       cmp      ecx, edi
+       cmp      edx, edi
        jb       SHORT G_M6160_IG21
        mov      rdi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AddWithResize(byte):this
-       call     [rcx]System.Collections.Generic.ValueListBuilder`1[byte]:AddWithResize(byte):this
+       mov      rdx, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AddWithResize(byte):this
+       call     [rdx]System.Collections.Generic.ValueListBuilder`1[byte]:AddWithResize(byte):this
        jmp      SHORT G_M6160_IG22
-						;; size=35 bbWeight=2 PerfScore 26.00
+						;; size=31 bbWeight=1.98 PerfScore 25.24
 G_M6160_IG21:
-       mov      edi, ecx
-       mov      byte  ptr [rdx+rdi], sil
-       inc      ecx
-       mov      dword ptr [rbx+0x08], ecx
-						;; size=11 bbWeight=2 PerfScore 5.00
+       mov      edi, edx
+       mov      byte  ptr [r8+rdi], sil
+       inc      edx
+       mov      dword ptr [rbx+0x08], edx
+						;; size=11 bbWeight=1.98 PerfScore 4.95
 G_M6160_IG22:
-       mov      rax, qword ptr [rbp-0x38]
-       inc      eax
-       cmp      dword ptr [r12+0x08], eax
-       jg       G_M6160_IG06
-						;; size=17 bbWeight=4 PerfScore 17.00
+       mov      rcx, qword ptr [rbp-0x38]
+       inc      ecx
+       mov      eax, dword ptr [rbp-0x30]
+       cmp      ecx, eax
+       jl       G_M6160_IG06
+						;; size=17 bbWeight=3.96 PerfScore 13.86
 G_M6160_IG23:
        add      rsp, 56
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M6160_IG24:
-       call     CORINFO_HELP_RNGCHKFAIL
-       int3     
-						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 592, prolog size 31, PerfScore 310.25, instruction count 162, allocated bytes for code 592 (MethodHash=5f15e7ef) for method System.Number:FormatCurrency[byte](byref,byref,int,System.Globalization.NumberFormatInfo) (FullOpts)
+; Total bytes of code 567, prolog size 31, PerfScore 302.45, instruction count 159, allocated bytes for code 567 (MethodHash=5f15e7ef) for method System.Number:FormatCurrency[byte](byref,byref,int,System.Globalization.NumberFormatInfo) (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-25 (-4.20 % of base) - System.Number:FormatPercent[byte](byref,byref,int,System.Globalization.NumberFormatInfo)</summary>

```diff
 ; Assembly listing for method System.Number:FormatPercent[byte](byref,byref,int,System.Globalization.NumberFormatInfo) (FullOpts)
 ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 11 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] ( 18, 34   )   byref  ->  rbx         single-def
-;  V01 arg1         [V01,T34] (  4,  5   )   byref  ->  r14         single-def
-;  V02 arg2         [V02,T35] (  3,  4   )     int  ->  r13         single-def
-;  V03 arg3         [V03,T01] ( 13, 21   )     ref  ->  r15         class-hnd single-def <System.Globalization.NumberFormatInfo>
-;  V04 loc0         [V04,T17] (  4, 10   )     ref  ->  r12         class-hnd single-def <System.String>
-;* V05 loc1         [V05,T47] (  0,  0   )     int  ->  zero-ref   
-;  V06 loc2         [V06,T03] (  5, 14   )  ushort  ->  rcx        
+;  V00 arg0         [V00,T00] ( 18, 33.68)   byref  ->  rbx         single-def
+;  V01 arg1         [V01,T32] (  4,  4.98)   byref  ->  r14         single-def
+;  V02 arg2         [V02,T33] (  3,  3.98)     int  ->  r13         single-def
+;  V03 arg3         [V03,T01] ( 13, 20.82)     ref  ->  r15         class-hnd single-def <System.Globalization.NumberFormatInfo>
+;* V04 loc0         [V04    ] (  0,  0   )  struct (16) zero-ref    multireg-ret multireg-dest ld-addr-op <System.ReadOnlySpan`1[byte]>
+;* V05 loc1         [V05,T45] (  0,  0   )     int  ->  zero-ref   
+;  V06 loc2         [V06,T03] (  6, 15.84)   ubyte  ->  rsi        
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V08 tmp1         [V08,T44] (  3,  2   )     ref  ->  r12        
-;  V09 tmp2         [V09,T21] (  2,  8   )     ref  ->  [rbp-0x40]  class-hnd spill-single-def "impAppendStmt" <int[]>
-;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[byte]>
-;* V11 tmp4         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
-;* V12 tmp5         [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
-;* V13 tmp6         [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
-;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;  V15 tmp8         [V15,T04] (  3, 12   )   byref  ->  rdi         "Inlining Arg"
-;  V16 tmp9         [V16,T22] (  2,  8   )     ref  ->  rdx         class-hnd "dup spill" <System.Object>
-;  V17 tmp10        [V17,T13] (  5, 10   )     ref  ->  rdx        
-;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
-;  V19 tmp12        [V19,T23] (  2,  8   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
-;  V20 tmp13        [V20,T24] (  2,  8   )   byref  ->  [rbp-0x48]  spill-single-def "Inlining Arg"
-;  V21 tmp14        [V21,T32] (  2,  8   )     int  ->  [rbp-0x2C]  spill-single-def "Inlining Arg"
-;* V22 tmp15        [V22    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
-;* V23 tmp16        [V23    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;* V24 tmp17        [V24    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;  V25 tmp18        [V25,T05] (  3, 12   )   byref  ->  rdi         "Inlining Arg"
-;  V26 tmp19        [V26,T25] (  2,  8   )     ref  ->   r9         class-hnd "dup spill" <System.Object>
-;  V27 tmp20        [V27,T14] (  5, 10   )     ref  ->   r9        
-;* V28 tmp21        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
-;  V29 tmp22        [V29,T26] (  2,  8   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
-;  V30 tmp23        [V30,T27] (  2,  8   )   byref  ->  rdi         "Inlining Arg"
-;  V31 tmp24        [V31,T33] (  2,  8   )     int  ->   r9         "Inlining Arg"
-;* V32 tmp25        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
-;* V33 tmp26        [V33    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;* V34 tmp27        [V34    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;  V35 tmp28        [V35,T06] (  3, 12   )   byref  ->  rdi         "Inlining Arg"
-;  V36 tmp29        [V36,T28] (  2,  8   )     ref  ->  rcx         class-hnd "dup spill" <System.Object>
-;  V37 tmp30        [V37,T15] (  5, 10   )     ref  ->  rcx        
-;* V38 tmp31        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
-;  V39 tmp32        [V39,T29] (  2,  8   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
-;  V40 tmp33        [V40,T07] (  3, 12   )   byref  ->  rsi         "Inlining Arg"
-;  V41 tmp34        [V41,T10] (  3, 12   )     int  ->  rdx         "Inlining Arg"
-;* V42 tmp35        [V42    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
-;  V43 tmp36        [V43,T18] (  4,  8   )     int  ->  rcx         "Inline stloc first use temp"
-;* V44 tmp37        [V44    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[byte]>
-;* V45 tmp38        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[byte]>
-;* V46 tmp39        [V46    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;* V47 tmp40        [V47    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
-;  V48 tmp41        [V48,T08] (  3, 12   )   byref  ->  rdi         "Inlining Arg"
-;  V49 tmp42        [V49,T30] (  2,  8   )     ref  ->  rcx         class-hnd "dup spill" <System.Object>
-;  V50 tmp43        [V50,T16] (  5, 10   )     ref  ->  rcx        
-;* V51 tmp44        [V51    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
-;  V52 tmp45        [V52,T31] (  2,  8   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
-;  V53 tmp46        [V53,T09] (  3, 12   )   byref  ->  rsi         "Inlining Arg"
-;  V54 tmp47        [V54,T11] (  3, 12   )     int  ->  rdx         "Inlining Arg"
-;* V55 tmp48        [V55    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
-;  V56 tmp49        [V56,T19] (  4,  8   )     int  ->  rcx         "Inline stloc first use temp"
-;* V57 tmp50        [V57    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[byte]>
-;* V58 tmp51        [V58    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[byte]>
-;  V59 tmp52        [V59,T20] (  4,  8   )     int  ->  rcx         "Inline stloc first use temp"
-;* V60 tmp53        [V60    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[byte]>
-;  V61 tmp54        [V61,T12] (  3, 12   )   ubyte  ->  rsi         "Inlining Arg"
-;* V62 tmp55        [V62    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
-;* V63 tmp56        [V63    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;* V64 tmp57        [V64    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V65 tmp58        [V65    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
-;* V66 tmp59        [V66    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V67 tmp60        [V67    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
-;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;* V70 tmp63        [V70    ] (  0,  0   )   byref  ->  zero-ref    "field V14._reference (fldOffset=0x0)" P-INDEP
-;* V71 tmp64        [V71    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
-;* V72 tmp65        [V72    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
-;* V73 tmp66        [V73    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
-;* V74 tmp67        [V74    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
-;* V75 tmp68        [V75    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
-;* V76 tmp69        [V76    ] (  0,  0   )   byref  ->  zero-ref    "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V77 tmp70        [V77    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;* V78 tmp71        [V78    ] (  0,  0   )   byref  ->  zero-ref    "field V32._reference (fldOffset=0x0)" P-INDEP
-;* V79 tmp72        [V79    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
-;* V80 tmp73        [V80    ] (  0,  0   )   byref  ->  zero-ref    "field V33._reference (fldOffset=0x0)" P-INDEP
-;* V81 tmp74        [V81    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
-;* V82 tmp75        [V82    ] (  0,  0   )   byref  ->  zero-ref    "field V34._reference (fldOffset=0x0)" P-INDEP
-;* V83 tmp76        [V83    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
-;* V84 tmp77        [V84    ] (  0,  0   )   byref  ->  zero-ref    "field V42._reference (fldOffset=0x0)" P-INDEP
-;* V85 tmp78        [V85    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
-;  V86 tmp79        [V86,T36] (  2,  4   )   byref  ->   r8         "field V44._reference (fldOffset=0x0)" P-INDEP
-;  V87 tmp80        [V87,T39] (  2,  4   )     int  ->  rdi         "field V44._length (fldOffset=0x8)" P-INDEP
-;* V88 tmp81        [V88    ] (  0,  0   )   byref  ->  zero-ref    "field V45._reference (fldOffset=0x0)" P-INDEP
-;* V89 tmp82        [V89    ] (  0,  0   )     int  ->  zero-ref    "field V45._length (fldOffset=0x8)" P-INDEP
-;* V90 tmp83        [V90    ] (  0,  0   )   byref  ->  zero-ref    "field V46._reference (fldOffset=0x0)" P-INDEP
-;* V91 tmp84        [V91    ] (  0,  0   )     int  ->  zero-ref    "field V46._length (fldOffset=0x8)" P-INDEP
-;* V92 tmp85        [V92    ] (  0,  0   )   byref  ->  zero-ref    "field V47._reference (fldOffset=0x0)" P-INDEP
-;* V93 tmp86        [V93    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
-;* V94 tmp87        [V94    ] (  0,  0   )   byref  ->  zero-ref    "field V55._reference (fldOffset=0x0)" P-INDEP
-;* V95 tmp88        [V95    ] (  0,  0   )     int  ->  zero-ref    "field V55._length (fldOffset=0x8)" P-INDEP
-;  V96 tmp89        [V96,T37] (  2,  4   )   byref  ->   r8         "field V57._reference (fldOffset=0x0)" P-INDEP
-;  V97 tmp90        [V97,T40] (  2,  4   )     int  ->  rdi         "field V57._length (fldOffset=0x8)" P-INDEP
-;* V98 tmp91        [V98    ] (  0,  0   )   byref  ->  zero-ref    "field V58._reference (fldOffset=0x0)" P-INDEP
-;* V99 tmp92        [V99    ] (  0,  0   )     int  ->  zero-ref    "field V58._length (fldOffset=0x8)" P-INDEP
-;  V100 tmp93       [V100,T38] (  2,  4   )   byref  ->  rdx         "field V60._reference (fldOffset=0x0)" P-INDEP
-;  V101 tmp94       [V101,T41] (  2,  4   )     int  ->  rdi         "field V60._length (fldOffset=0x8)" P-INDEP
-;  V102 tmp95       [V102,T42] (  3,  3   )     int  ->  rdi         "index expr"
-;  V103 tmp96       [V103,T43] (  3,  3   )     int  ->  rdi         "index expr"
-;  V104 cse0        [V104,T45] (  2,  1   )     ref  ->  rsi         "CSE #01: conservative"
-;  V105 cse1        [V105,T46] (  2,  1   )     ref  ->  rsi         "CSE #02: conservative"
-;  V106 rat0        [V106,T02] (  5, 17   )    long  ->  [rbp-0x38]  "Widened IV V05"
+;* V08 tmp1         [V08    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
+;* V09 tmp2         [V09    ] (  0,  0   )     int  ->  zero-ref   
+;  V10 tmp3         [V10,T44] (  2,  2   )     int  ->  rsi        
+;  V11 tmp4         [V11,T43] (  3,  2   )     int  ->  rax        
+;* V12 tmp5         [V12    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.ReadOnlySpan`1[byte]>
+;  V13 tmp6         [V13,T19] (  2,  7.92)     ref  ->  [rbp-0x40]  class-hnd spill-single-def "impAppendStmt" <int[]>
+;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[byte]>
+;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
+;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
+;* V17 tmp10        [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
+;* V18 tmp11        [V18    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
+;  V19 tmp12        [V19,T04] (  3, 11.88)   byref  ->  rdi         "Inlining Arg"
+;  V20 tmp13        [V20,T20] (  2,  7.92)     ref  ->   r8         class-hnd "dup spill" <System.Object>
+;  V21 tmp14        [V21,T12] (  5,  9.90)     ref  ->   r8        
+;* V22 tmp15        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
+;  V23 tmp16        [V23,T21] (  2,  7.92)     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
+;  V24 tmp17        [V24,T22] (  2,  7.92)   byref  ->  [rbp-0x48]  spill-single-def "Inlining Arg"
+;  V25 tmp18        [V25,T30] (  2,  7.92)     int  ->  [rbp-0x2C]  spill-single-def "Inlining Arg"
+;* V26 tmp19        [V26    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
+;* V27 tmp20        [V27    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
+;* V28 tmp21        [V28    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
+;  V29 tmp22        [V29,T05] (  3, 11.88)   byref  ->  rdi         "Inlining Arg"
+;  V30 tmp23        [V30,T23] (  2,  7.92)     ref  ->  r10         class-hnd "dup spill" <System.Object>
+;  V31 tmp24        [V31,T13] (  5,  9.90)     ref  ->  r10        
+;* V32 tmp25        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
+;  V33 tmp26        [V33,T24] (  2,  7.92)     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
+;  V34 tmp27        [V34,T25] (  2,  7.92)   byref  ->  rdi         "Inlining Arg"
+;  V35 tmp28        [V35,T31] (  2,  7.92)     int  ->  rsi         "Inlining Arg"
+;* V36 tmp29        [V36    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
+;* V37 tmp30        [V37    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
+;* V38 tmp31        [V38    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
+;  V39 tmp32        [V39,T06] (  3, 11.88)   byref  ->  rdi         "Inlining Arg"
+;  V40 tmp33        [V40,T26] (  2,  7.92)     ref  ->  rdx         class-hnd "dup spill" <System.Object>
+;  V41 tmp34        [V41,T14] (  5,  9.90)     ref  ->  rdx        
+;* V42 tmp35        [V42    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
+;  V43 tmp36        [V43,T27] (  2,  7.92)     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
+;  V44 tmp37        [V44,T07] (  3, 11.88)   byref  ->  rsi         "Inlining Arg"
+;  V45 tmp38        [V45,T10] (  3, 11.88)     int  ->  rdx         "Inlining Arg"
+;* V46 tmp39        [V46    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
+;  V47 tmp40        [V47,T16] (  4,  7.92)     int  ->   r8         "Inline stloc first use temp"
+;* V48 tmp41        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[byte]>
+;* V49 tmp42        [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[byte]>
+;* V50 tmp43        [V50    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
+;* V51 tmp44        [V51    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[byte]>
+;  V52 tmp45        [V52,T08] (  3, 11.88)   byref  ->  rdi         "Inlining Arg"
+;  V53 tmp46        [V53,T28] (  2,  7.92)     ref  ->  rdx         class-hnd "dup spill" <System.Object>
+;  V54 tmp47        [V54,T15] (  5,  9.90)     ref  ->  rdx        
+;* V55 tmp48        [V55    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <byte[]>
+;  V56 tmp49        [V56,T29] (  2,  7.92)     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
+;  V57 tmp50        [V57,T09] (  3, 11.88)   byref  ->  rsi         "Inlining Arg"
+;  V58 tmp51        [V58,T11] (  3, 11.88)     int  ->  rdx         "Inlining Arg"
+;* V59 tmp52        [V59    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[byte]>
+;  V60 tmp53        [V60,T17] (  4,  7.92)     int  ->   r8         "Inline stloc first use temp"
+;* V61 tmp54        [V61    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[byte]>
+;* V62 tmp55        [V62    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[byte]>
+;  V63 tmp56        [V63,T18] (  4,  7.92)     int  ->  rdx         "Inline stloc first use temp"
+;* V64 tmp57        [V64    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[byte]>
+;  V65 tmp58        [V65,T35] (  2,  4.96)   byref  ->  r12         "field V04._reference (fldOffset=0x0)" P-INDEP
+;  V66 tmp59        [V66,T34] (  3,  5.96)     int  ->  [rbp-0x30]  spill-single-def "field V04._length (fldOffset=0x8)" P-INDEP
+;* V67 tmp60        [V67    ] (  0,  0   )   byref  ->  zero-ref    do-not-enreg[] "field V12._reference (fldOffset=0x0)" P-DEP
+;* V68 tmp61        [V68    ] (  0,  0   )     int  ->  zero-ref    do-not-enreg[] "field V12._length (fldOffset=0x8)" P-DEP
+;* V69 tmp62        [V69    ] (  0,  0   )   byref  ->  zero-ref    "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V70 tmp63        [V70    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
+;* V71 tmp64        [V71    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V72 tmp65        [V72    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;* V73 tmp66        [V73    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V74 tmp67        [V74    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;* V75 tmp68        [V75    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
+;* V76 tmp69        [V76    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
+;* V77 tmp70        [V77    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V78 tmp71        [V78    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
+;* V79 tmp72        [V79    ] (  0,  0   )   byref  ->  zero-ref    "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V80 tmp73        [V80    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
+;* V81 tmp74        [V81    ] (  0,  0   )   byref  ->  zero-ref    "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V82 tmp75        [V82    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
+;* V83 tmp76        [V83    ] (  0,  0   )   byref  ->  zero-ref    "field V28._reference (fldOffset=0x0)" P-INDEP
+;* V84 tmp77        [V84    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
+;* V85 tmp78        [V85    ] (  0,  0   )   byref  ->  zero-ref    "field V36._reference (fldOffset=0x0)" P-INDEP
+;* V86 tmp79        [V86    ] (  0,  0   )     int  ->  zero-ref    "field V36._length (fldOffset=0x8)" P-INDEP
+;* V87 tmp80        [V87    ] (  0,  0   )   byref  ->  zero-ref    "field V37._reference (fldOffset=0x0)" P-INDEP
+;* V88 tmp81        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
+;* V89 tmp82        [V89    ] (  0,  0   )   byref  ->  zero-ref    "field V38._reference (fldOffset=0x0)" P-INDEP
+;* V90 tmp83        [V90    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
+;* V91 tmp84        [V91    ] (  0,  0   )   byref  ->  zero-ref    "field V46._reference (fldOffset=0x0)" P-INDEP
+;* V92 tmp85        [V92    ] (  0,  0   )     int  ->  zero-ref    "field V46._length (fldOffset=0x8)" P-INDEP
+;  V93 tmp86        [V93,T36] (  2,  3.96)   byref  ->   r9         "field V48._reference (fldOffset=0x0)" P-INDEP
+;  V94 tmp87        [V94,T39] (  2,  3.96)     int  ->  rdi         "field V48._length (fldOffset=0x8)" P-INDEP
+;* V95 tmp88        [V95    ] (  0,  0   )   byref  ->  zero-ref    "field V49._reference (fldOffset=0x0)" P-INDEP
+;* V96 tmp89        [V96    ] (  0,  0   )     int  ->  zero-ref    "field V49._length (fldOffset=0x8)" P-INDEP
+;* V97 tmp90        [V97    ] (  0,  0   )   byref  ->  zero-ref    "field V50._reference (fldOffset=0x0)" P-INDEP
+;* V98 tmp91        [V98    ] (  0,  0   )     int  ->  zero-ref    "field V50._length (fldOffset=0x8)" P-INDEP
+;* V99 tmp92        [V99    ] (  0,  0   )   byref  ->  zero-ref    "field V51._reference (fldOffset=0x0)" P-INDEP
+;* V100 tmp93       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V51._length (fldOffset=0x8)" P-INDEP
+;* V101 tmp94       [V101    ] (  0,  0   )   byref  ->  zero-ref    "field V59._reference (fldOffset=0x0)" P-INDEP
+;* V102 tmp95       [V102    ] (  0,  0   )     int  ->  zero-ref    "field V59._length (fldOffset=0x8)" P-INDEP
+;  V103 tmp96       [V103,T37] (  2,  3.96)   byref  ->   r9         "field V61._reference (fldOffset=0x0)" P-INDEP
+;  V104 tmp97       [V104,T40] (  2,  3.96)     int  ->  rdi         "field V61._length (fldOffset=0x8)" P-INDEP
+;* V105 tmp98       [V105    ] (  0,  0   )   byref  ->  zero-ref    "field V62._reference (fldOffset=0x0)" P-INDEP
+;* V106 tmp99       [V106    ] (  0,  0   )     int  ->  zero-ref    "field V62._length (fldOffset=0x8)" P-INDEP
+;  V107 tmp100      [V107,T38] (  2,  3.96)   byref  ->   r8         "field V64._reference (fldOffset=0x0)" P-INDEP
+;  V108 tmp101      [V108,T41] (  2,  3.96)     int  ->  rdi         "field V64._length (fldOffset=0x8)" P-INDEP
+;  V109 cse0        [V109,T42] (  3,  3   )     int  ->  rdi         "CSE #01: conservative"
+;  V110 rat0        [V110,T02] (  5, 16.84)    long  ->  [rbp-0x38]  "Widened IV V05"
 ;
 ; Lcl frame size = 56
 
 G_M33676_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 56
        lea      rbp, [rsp+0x60]
        mov      rbx, rdi
        mov      r14, rsi
        mov      r13d, edx
        mov      r15, rcx
 						;; size=31 bbWeight=1 PerfScore 7.75
 G_M33676_IG02:
-       cmp      byte  ptr [r14+0x08], 0
+       movzx    rdi, byte  ptr [r14+0x08]
+       mov      esi, edi
+       test     edi, edi
        je       SHORT G_M33676_IG04
-						;; size=7 bbWeight=1 PerfScore 3.00
+						;; size=11 bbWeight=1 PerfScore 3.50
 G_M33676_IG03:
-       mov      edi, dword ptr [r15+0x120]
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rsi, gword ptr [rsi]
-       cmp      edi, 12
-       jae      G_M33676_IG24
-       mov      r12, gword ptr [rsi+8*rdi+0x10]
+       mov      eax, dword ptr [r15+0x120]
        jmp      SHORT G_M33676_IG05
-						;; size=36 bbWeight=0.50 PerfScore 4.75
+						;; size=9 bbWeight=0.50 PerfScore 2.00
 G_M33676_IG04:
-       mov      edi, dword ptr [r15+0x11C]
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rsi, gword ptr [rsi]
-       cmp      edi, 4
-       jae      G_M33676_IG24
-       mov      r12, gword ptr [rsi+8*rdi+0x10]
-						;; size=34 bbWeight=0.50 PerfScore 3.75
+       mov      eax, dword ptr [r15+0x11C]
+						;; size=7 bbWeight=0.50 PerfScore 1.00
 G_M33676_IG05:
-       xor      eax, eax
-       cmp      dword ptr [r12+0x08], 0
+       mov      edi, esi
+       mov      esi, eax
+       mov      rax, 0xD1FFAB1E      ; code for System.Number:GetPercentFormat(bool,int):System.ReadOnlySpan`1[byte]
+       call     [rax]System.Number:GetPercentFormat(bool,int):System.ReadOnlySpan`1[byte]
+       mov      r12, rax
+       mov      eax, edx
+       mov      dword ptr [rbp-0x30], edx
+       xor      ecx, ecx
+       test     eax, eax
        je       G_M33676_IG23
-						;; size=14 bbWeight=1 PerfScore 3.25
+						;; size=34 bbWeight=1 PerfScore 6.75
 G_M33676_IG06:
-       mov      qword ptr [rbp-0x38], rax
-       movzx    rcx, word  ptr [r12+2*rax+0x0C]
-       cmp      ecx, 35
+       mov      qword ptr [rbp-0x38], rcx
+       movzx    rsi, byte  ptr [r12+rcx]
+       cmp      esi, 35
        jne      G_M33676_IG12
-						;; size=19 bbWeight=4 PerfScore 17.00
+						;; size=18 bbWeight=3.96 PerfScore 16.83
 G_M33676_IG07:
-       mov      rcx, gword ptr [r15+0x18]
-       mov      gword ptr [rbp-0x40], rcx
+       mov      rdx, gword ptr [r15+0x18]
+       mov      gword ptr [rbp-0x40], rdx
        lea      rdi, bword ptr [r15+0xD0]
        mov      rsi, gword ptr [r15+0x70]
-       mov      rdx, gword ptr [rdi]
-       test     rdx, rdx
+       mov      r8, gword ptr [rdi]
+       test     r8, r8
        jne      SHORT G_M33676_IG08
-       mov      rdx, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       call     [rdx]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       mov      rdx, rax
-						;; size=42 bbWeight=2 PerfScore 24.50
+       mov      r8, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       call     [r8]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       mov      r8, rax
+						;; size=43 bbWeight=1.98 PerfScore 24.25
 G_M33676_IG08:
-       lea      r8, bword ptr [rdx+0x10]
-       mov      bword ptr [rbp-0x48], r8
-       mov      edx, dword ptr [rdx+0x08]
-       dec      edx
-       mov      dword ptr [rbp-0x2C], edx
+       lea      r9, bword ptr [r8+0x10]
+       mov      bword ptr [rbp-0x48], r9
+       mov      r8d, dword ptr [r8+0x08]
+       dec      r8d
+       mov      dword ptr [rbp-0x2C], r8d
        lea      rdi, bword ptr [r15+0xD8]
        mov      rsi, gword ptr [r15+0x78]
-       mov      r9, gword ptr [rdi]
-       test     r9, r9
+       mov      r10, gword ptr [rdi]
+       test     r10, r10
        je       SHORT G_M33676_IG10
-						;; size=35 bbWeight=2 PerfScore 21.00
+						;; size=38 bbWeight=1.98 PerfScore 20.79
 G_M33676_IG09:
-       mov      edx, dword ptr [rbp-0x2C]
+       mov      r9, bword ptr [rbp-0x48]
        jmp      SHORT G_M33676_IG11
-						;; size=5 bbWeight=1 PerfScore 3.00
+						;; size=6 bbWeight=0.99 PerfScore 2.97
 G_M33676_IG10:
-       mov      r9, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       call     [r9]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       mov      r9, rax
-       mov      edx, dword ptr [rbp-0x2C]
-						;; size=19 bbWeight=2 PerfScore 9.00
+       mov      r10, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       call     [r10]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       mov      r10, rax
+       mov      r9, bword ptr [rbp-0x48]
+						;; size=20 bbWeight=1.98 PerfScore 8.91
 G_M33676_IG11:
-       lea      rdi, bword ptr [r9+0x10]
-       mov      r9d, dword ptr [r9+0x08]
-       dec      r9d
+       lea      rdi, bword ptr [r10+0x10]
+       mov      esi, dword ptr [r10+0x08]
+       dec      esi
        mov      bword ptr [rsp], rdi
-       mov      dword ptr [rsp+0x08], r9d
-       mov      r8, bword ptr [rbp-0x48]
-       mov      r9d, edx
+       mov      dword ptr [rsp+0x08], esi
+       mov      r8, r9
+       mov      r9d, dword ptr [rbp-0x2C]
        mov      rdi, rbx
        mov      rsi, r14
        mov      edx, r13d
        mov      rcx, gword ptr [rbp-0x40]
        mov      r10, 0xD1FFAB1E      ; code for System.Number:FormatFixed[byte](byref,byref,int,int[],System.ReadOnlySpan`1[byte],System.ReadOnlySpan`1[byte])
        call     [r10]System.Number:FormatFixed[byte](byref,byref,int,int[],System.ReadOnlySpan`1[byte],System.ReadOnlySpan`1[byte])
        jmp      G_M33676_IG22
-						;; size=58 bbWeight=2 PerfScore 26.00
+						;; size=56 bbWeight=1.98 PerfScore 25.74
 G_M33676_IG12:
-       cmp      ecx, 37
+       cmp      esi, 37
        jne      SHORT G_M33676_IG16
        lea      rdi, bword ptr [r15+0xC8]
        mov      rsi, gword ptr [r15+0x80]
-       mov      rcx, gword ptr [rdi]
-       test     rcx, rcx
+       mov      rdx, gword ptr [rdi]
+       test     rdx, rdx
        jne      SHORT G_M33676_IG13
-       mov      rcx, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       call     [rcx]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       mov      rcx, rax
-						;; size=42 bbWeight=2 PerfScore 21.00
+       mov      rdx, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       call     [rdx]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       mov      rdx, rax
+						;; size=42 bbWeight=1.98 PerfScore 20.79
 G_M33676_IG13:
-       lea      rsi, bword ptr [rcx+0x10]
-       mov      edx, dword ptr [rcx+0x08]
+       lea      rsi, bword ptr [rdx+0x10]
+       mov      edx, dword ptr [rdx+0x08]
        dec      edx
-       mov      ecx, dword ptr [rbx+0x08]
-       mov      r8, bword ptr [rbx+0x10]
+       mov      r8d, dword ptr [rbx+0x08]
+       mov      r9, bword ptr [rbx+0x10]
        mov      edi, dword ptr [rbx+0x18]
        cmp      edx, 1
        jne      SHORT G_M33676_IG14
-       cmp      ecx, edi
+       cmp      r8d, edi
        jb       SHORT G_M33676_IG15
-						;; size=28 bbWeight=2 PerfScore 22.50
+						;; size=30 bbWeight=1.98 PerfScore 22.28
 G_M33676_IG14:
        mov      rdi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
-       call     [rcx]System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
+       mov      r8, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
+       call     [r8]System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
        jmp      G_M33676_IG22
-						;; size=20 bbWeight=2 PerfScore 11.00
+						;; size=21 bbWeight=1.98 PerfScore 10.89
 G_M33676_IG15:
-       mov      edi, ecx
+       mov      edi, r8d
        movzx    rsi, byte  ptr [rsi]
-       mov      byte  ptr [r8+rdi], sil
-       inc      ecx
-       mov      dword ptr [rbx+0x08], ecx
+       mov      byte  ptr [r9+rdi], sil
+       inc      r8d
+       mov      dword ptr [rbx+0x08], r8d
        jmp      G_M33676_IG22
-						;; size=20 bbWeight=2 PerfScore 13.00
+						;; size=23 bbWeight=1.98 PerfScore 12.87
 G_M33676_IG16:
-       cmp      ecx, 45
+       cmp      esi, 45
        jne      SHORT G_M33676_IG20
        lea      rdi, bword ptr [r15+0x98]
        mov      rsi, gword ptr [r15+0x28]
-       mov      rcx, gword ptr [rdi]
-       test     rcx, rcx
+       mov      rdx, gword ptr [rdi]
+       test     rdx, rdx
        jne      SHORT G_M33676_IG17
-       mov      rcx, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       call     [rcx]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
-       mov      rcx, rax
-						;; size=39 bbWeight=2 PerfScore 21.00
+       mov      rdx, 0xD1FFAB1E      ; code for System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       call     [rdx]System.Globalization.NumberFormatInfo:CreateUtf8Cache(byref,System.String):byte[]
+       mov      rdx, rax
+						;; size=39 bbWeight=1.98 PerfScore 20.79
 G_M33676_IG17:
-       lea      rsi, bword ptr [rcx+0x10]
-       mov      edx, dword ptr [rcx+0x08]
+       lea      rsi, bword ptr [rdx+0x10]
+       mov      edx, dword ptr [rdx+0x08]
        dec      edx
-       mov      ecx, dword ptr [rbx+0x08]
-       mov      r8, bword ptr [rbx+0x10]
+       mov      r8d, dword ptr [rbx+0x08]
+       mov      r9, bword ptr [rbx+0x10]
        mov      edi, dword ptr [rbx+0x18]
        cmp      edx, 1
        jne      SHORT G_M33676_IG18
-       cmp      ecx, edi
+       cmp      r8d, edi
        jb       SHORT G_M33676_IG19
-						;; size=28 bbWeight=2 PerfScore 22.50
+						;; size=30 bbWeight=1.98 PerfScore 22.28
 G_M33676_IG18:
        mov      rdi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
-       call     [rcx]System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
+       mov      r8, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
+       call     [r8]System.Collections.Generic.ValueListBuilder`1[byte]:AppendMultiChar(System.ReadOnlySpan`1[byte]):this
        jmp      SHORT G_M33676_IG22
-						;; size=17 bbWeight=2 PerfScore 11.00
+						;; size=18 bbWeight=1.98 PerfScore 10.89
 G_M33676_IG19:
-       mov      edi, ecx
+       mov      edi, r8d
        movzx    rsi, byte  ptr [rsi]
-       mov      byte  ptr [r8+rdi], sil
-       inc      ecx
-       mov      dword ptr [rbx+0x08], ecx
+       mov      byte  ptr [r9+rdi], sil
+       inc      r8d
+       mov      dword ptr [rbx+0x08], r8d
        jmp      SHORT G_M33676_IG22
-						;; size=17 bbWeight=2 PerfScore 13.00
+						;; size=20 bbWeight=1.98 PerfScore 12.87
 G_M33676_IG20:
-       movzx    rsi, cl
-       mov      ecx, dword ptr [rbx+0x08]
-       mov      rdx, bword ptr [rbx+0x10]
+       mov      edx, dword ptr [rbx+0x08]
+       mov      r8, bword ptr [rbx+0x10]
        mov      edi, dword ptr [rbx+0x18]
-       cmp      ecx, edi
+       cmp      edx, edi
        jb       SHORT G_M33676_IG21
        mov      rdi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AddWithResize(byte):this
-       call     [rcx]System.Collections.Generic.ValueListBuilder`1[byte]:AddWithResize(byte):this
+       mov      rdx, 0xD1FFAB1E      ; code for System.Collections.Generic.ValueListBuilder`1[byte]:AddWithResize(byte):this
+       call     [rdx]System.Collections.Generic.ValueListBuilder`1[byte]:AddWithResize(byte):this
        jmp      SHORT G_M33676_IG22
-						;; size=35 bbWeight=2 PerfScore 26.00
+						;; size=31 bbWeight=1.98 PerfScore 25.24
 G_M33676_IG21:
-       mov      edi, ecx
-       mov      byte  ptr [rdx+rdi], sil
-       inc      ecx
-       mov      dword ptr [rbx+0x08], ecx
-						;; size=11 bbWeight=2 PerfScore 5.00
+       mov      edi, edx
+       mov      byte  ptr [r8+rdi], sil
+       inc      edx
+       mov      dword ptr [rbx+0x08], edx
+						;; size=11 bbWeight=1.98 PerfScore 4.95
 G_M33676_IG22:
-       mov      rax, qword ptr [rbp-0x38]
-       inc      eax
-       cmp      dword ptr [r12+0x08], eax
-       jg       G_M33676_IG06
-						;; size=17 bbWeight=4 PerfScore 17.00
+       mov      rcx, qword ptr [rbp-0x38]
+       inc      ecx
+       mov      eax, dword ptr [rbp-0x30]
+       cmp      ecx, eax
+       jl       G_M33676_IG06
+						;; size=17 bbWeight=3.96 PerfScore 13.86
 G_M33676_IG23:
        add      rsp, 56
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M33676_IG24:
-       call     CORINFO_HELP_RNGCHKFAIL
-       int3     
-						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 595, prolog size 31, PerfScore 310.25, instruction count 162, allocated bytes for code 595 (MethodHash=9ad97c73) for method System.Number:FormatPercent[byte](byref,byref,int,System.Globalization.NumberFormatInfo) (FullOpts)
+; Total bytes of code 570, prolog size 31, PerfScore 302.45, instruction count 159, allocated bytes for code 570 (MethodHash=9ad97c73) for method System.Number:FormatPercent[byte](byref,byref,int,System.Globalization.NumberFormatInfo) (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-24 (-2.65 % of base) - System.Number:DiyFp128Sqrt(System.Number+DiyFp128):System.Number+DiyFp128</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128Sqrt(System.Number+DiyFp128):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; 9 single block inlinees; 0 inlinees without PGO data
+; 0 inlinees with PGO data; 11 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 RetBuf       [V00,T03] (  4,  4   )    long  ->  rbx         single-def
+;  V00 RetBuf       [V00,T02] (  4,  4   )    long  ->  rbx         single-def
 ;  V01 arg0         [V01    ] (  4,  4   )  struct (24) [rbp+0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op single-def <System.Number+DiyFp128>
 ;  V02 loc0         [V02,T10] (  2,  2   )    long  ->  rdi        
-;  V03 loc1         [V03,T17] (  7,  7   )  double  ->  [rbp-0x30] 
-;  V04 loc2         [V04,T05] (  5,  5   )     int  ->  r14        
-;  V05 loc3         [V05,T06] (  4,  4   )     int  ->  r13        
-;  V06 loc4         [V06,T07] (  4,  4   )     int  ->  r12        
-;  V07 loc5         [V07,T18] (  5,  5   )  double  ->  [rbp-0x38] 
-;  V08 loc6         [V08,T20] (  3,  3   )  double  ->  [rbp-0x40]  spill-single-def
-;* V09 loc7         [V09    ] (  0,  0   )     int  ->  zero-ref   
-;* V10 loc8         [V10    ] (  0,  0   )  struct (16) zero-ref    <System.Number+SqrtCoefficients>
-;  V11 loc9         [V11,T14] ( 12, 12   )  double  ->  mm1        
-;  V12 loc10        [V12,T21] (  3,  3   )  double  ->  mm3        
-;  V13 loc11        [V13,T22] (  2,  2   )  double  ->  mm0        
-;  V14 loc12        [V14,T23] (  2,  2   )  double  ->  [rbp-0x48]  spill-single-def
-;  V15 loc13        [V15,T02] (  6,  6   )    long  ->  r15        
-;  V16 loc14        [V16,T08] (  3,  3   )    long  ->  rdi        
-;* V17 loc15        [V17    ] (  0,  0   )    long  ->  zero-ref   
-;  V18 loc16        [V18    ] (  6,  6   )  struct (24) [rbp-0x60]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V19 loc17        [V19    ] (  3,  3   )  struct (24) [rbp-0x78]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V20 loc18        [V20    ] (  2,  2   )  struct (24) [rbp-0x90]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V21 loc19        [V21    ] (  4,  4   )  struct (24) [rbp-0xA8]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V22 loc20        [V22    ] (  3,  3   )  struct (24) [rbp-0xC0]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V23 loc21        [V23    ] (  4,  4   )  struct (24) [rbp-0xD8]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V24 loc22        [V24    ] (  2,  2   )  struct (24) [rbp-0xF0]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
-;# V25 OutArgs      [V25    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;  V26 tmp1         [V26,T00] (  5, 10   )    long  ->  r15         "dup spill"
-;  V27 tmp2         [V27,T11] (  2,  2   )    long  ->  rsi        
-;  V28 tmp3         [V28,T12] (  2,  2   )    long  ->  rdi        
-;* V29 tmp4         [V29    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
-;* V30 tmp5         [V30    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V31 tmp6         [V31,T24] (  2,  2   )   float  ->  mm1         "field V10.A (fldOffset=0x0)" P-INDEP
-;  V32 tmp7         [V32,T25] (  2,  2   )   float  ->  mm2         "field V10.B (fldOffset=0x4)" P-INDEP
-;  V33 tmp8         [V33,T26] (  2,  2   )  double  ->  mm3         "field V10.C (fldOffset=0x8)" P-INDEP
-;  V34 tmp9         [V34    ] (  3,  3   )     int  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed "field V18._sign (fldOffset=0x0)" P-DEP
-;  V35 tmp10        [V35    ] (  3,  3   )     int  ->  [rbp-0x5C]  do-not-enreg[X] addr-exposed "field V18._exponent (fldOffset=0x4)" P-DEP
-;  V36 tmp11        [V36    ] (  3,  3   )    long  ->  [rbp-0x58]  do-not-enreg[X] addr-exposed "field V18._hi (fldOffset=0x8)" P-DEP
-;  V37 tmp12        [V37    ] (  3,  3   )    long  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed "field V18._lo (fldOffset=0x10)" P-DEP
-;  V38 tmp13        [V38    ] (  2,  2   )     int  ->  [rbp-0xD8]  do-not-enreg[X] addr-exposed "field V23._sign (fldOffset=0x0)" P-DEP
-;  V39 tmp14        [V39    ] (  4,  4   )     int  ->  [rbp-0xD4]  do-not-enreg[X] addr-exposed "field V23._exponent (fldOffset=0x4)" P-DEP
-;  V40 tmp15        [V40    ] (  2,  2   )    long  ->  [rbp-0xD0]  do-not-enreg[X] addr-exposed "field V23._hi (fldOffset=0x8)" P-DEP
-;  V41 tmp16        [V41    ] (  2,  2   )    long  ->  [rbp-0xC8]  do-not-enreg[X] addr-exposed "field V23._lo (fldOffset=0x10)" P-DEP
-;* V42 tmp17        [V42,T13] (  0,  0   )   byref  ->  zero-ref    single-def "field V29._reference (fldOffset=0x0)" P-INDEP
-;* V43 tmp18        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp19        [V44,T04] (  3,  6   )     int  ->  rdi         "index expr"
-;  V45 tmp20        [V45,T01] (  4,  8   )   byref  ->  rdi         single-def "BlockOp address local"
-;  V46 cse0         [V46,T19] (  5,  5   )  double  ->  [rbp-0xF8]  spill-single-def "CSE #02: aggressive"
-;  V47 cse1         [V47,T09] (  2,  2   )     ref  ->  rax         "CSE #03: moderate"
-;  V48 rat0         [V48,T15] (  5, 10   )  simd16  ->  mm1         "ReplaceWithLclVar is creating a new local variable"
-;  V49 rat1         [V49,T16] (  5, 10   )  simd16  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
+;  V03 loc1         [V03,T18] (  7,  7   )  double  ->  [rbp-0x30] 
+;  V04 loc2         [V04,T03] (  5,  5   )     int  ->  r14        
+;  V05 loc3         [V05,T04] (  4,  4   )     int  ->  r13        
+;  V06 loc4         [V06,T05] (  4,  4   )     int  ->  r12        
+;  V07 loc5         [V07,T19] (  5,  5   )  double  ->  [rbp-0x38] 
+;  V08 loc6         [V08,T21] (  3,  3   )  double  ->  [rbp-0x40]  spill-single-def
+;  V09 loc7         [V09,T07] (  3,  3   )     int  ->  rdi        
+;* V10 loc8         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[float]>
+;* V11 loc9         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[double]>
+;  V12 loc10        [V12,T08] (  3,  3   )     int  ->  rax        
+;  V13 loc11        [V13,T15] ( 14, 14   )  double  ->  mm1        
+;  V14 loc12        [V14,T22] (  3,  3   )  double  ->  mm4        
+;  V15 loc13        [V15,T23] (  2,  2   )  double  ->  mm0        
+;  V16 loc14        [V16,T24] (  2,  2   )  double  ->  [rbp-0x48]  spill-single-def
+;  V17 loc15        [V17,T01] (  6,  6   )    long  ->  r15        
+;  V18 loc16        [V18,T09] (  3,  3   )    long  ->  rdi        
+;* V19 loc17        [V19    ] (  0,  0   )    long  ->  zero-ref   
+;  V20 loc18        [V20    ] (  6,  6   )  struct (24) [rbp-0x60]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V21 loc19        [V21    ] (  3,  3   )  struct (24) [rbp-0x78]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V22 loc20        [V22    ] (  2,  2   )  struct (24) [rbp-0x90]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V23 loc21        [V23    ] (  4,  4   )  struct (24) [rbp-0xA8]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V24 loc22        [V24    ] (  3,  3   )  struct (24) [rbp-0xC0]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V25 loc23        [V25    ] (  4,  4   )  struct (24) [rbp-0xD8]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V26 loc24        [V26    ] (  2,  2   )  struct (24) [rbp-0xF0]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
+;# V27 OutArgs      [V27    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
+;  V28 tmp1         [V28,T00] (  5, 10   )    long  ->  r15         "dup spill"
+;  V29 tmp2         [V29,T11] (  2,  2   )    long  ->  rsi        
+;  V30 tmp3         [V30,T12] (  2,  2   )    long  ->  rdi        
+;* V31 tmp4         [V31    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
+;* V32 tmp5         [V32    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[float]>
+;* V33 tmp6         [V33    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[double]>
+;* V34 tmp7         [V34    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V35 tmp8         [V35    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V10._reference (fldOffset=0x0)" P-INDEP
+;* V36 tmp9         [V36    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
+;* V37 tmp10        [V37    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V38 tmp11        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;  V39 tmp12        [V39    ] (  3,  3   )     int  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed "field V20._sign (fldOffset=0x0)" P-DEP
+;  V40 tmp13        [V40    ] (  3,  3   )     int  ->  [rbp-0x5C]  do-not-enreg[X] addr-exposed "field V20._exponent (fldOffset=0x4)" P-DEP
+;  V41 tmp14        [V41    ] (  3,  3   )    long  ->  [rbp-0x58]  do-not-enreg[X] addr-exposed "field V20._hi (fldOffset=0x8)" P-DEP
+;  V42 tmp15        [V42    ] (  3,  3   )    long  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed "field V20._lo (fldOffset=0x10)" P-DEP
+;  V43 tmp16        [V43    ] (  2,  2   )     int  ->  [rbp-0xD8]  do-not-enreg[X] addr-exposed "field V25._sign (fldOffset=0x0)" P-DEP
+;  V44 tmp17        [V44    ] (  4,  4   )     int  ->  [rbp-0xD4]  do-not-enreg[X] addr-exposed "field V25._exponent (fldOffset=0x4)" P-DEP
+;  V45 tmp18        [V45    ] (  2,  2   )    long  ->  [rbp-0xD0]  do-not-enreg[X] addr-exposed "field V25._hi (fldOffset=0x8)" P-DEP
+;  V46 tmp19        [V46    ] (  2,  2   )    long  ->  [rbp-0xC8]  do-not-enreg[X] addr-exposed "field V25._lo (fldOffset=0x10)" P-DEP
+;* V47 tmp20        [V47,T14] (  0,  0   )   byref  ->  zero-ref    single-def "field V31._reference (fldOffset=0x0)" P-INDEP
+;* V48 tmp21        [V48    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
+;* V49 tmp22        [V49    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V32._reference (fldOffset=0x0)" P-INDEP
+;* V50 tmp23        [V50    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
+;* V51 tmp24        [V51    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V33._reference (fldOffset=0x0)" P-INDEP
+;* V52 tmp25        [V52    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
+;  V53 cse0         [V53,T20] (  5,  5   )  double  ->  [rbp-0xF8]  spill-single-def "CSE #02: aggressive"
+;  V54 cse1         [V54,T13] (  2,  2   )     int  ->  rax         "CSE #03: moderate"
+;  V55 cse2         [V55,T06] (  3,  3   )   byref  ->  rdx         "CSE #04: moderate"
+;  V56 rat0         [V56,T16] (  5, 10   )  simd16  ->  mm1         "ReplaceWithLclVar is creating a new local variable"
+;  V57 rat1         [V57,T17] (  5, 10   )  simd16  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 216
 
 G_M2702_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 216
        lea      rbp, [rsp+0x100]
        mov      rbx, rdi
 						;; size=28 bbWeight=1 PerfScore 7.00
 G_M2702_IG02:
        mov      rdi, qword ptr [rbp+0x20]
        mov      r15, qword ptr [rbp+0x18]
        mov      rax, r15
        shr      rax, 11
        mov      rcx, 0xD1FFAB1E
        lea      r14, [rax+rcx]
        mov      qword ptr [rbp-0x30], r14
        mov      r14d, dword ptr [rbp+0x14]
        mov      r13d, r14d
        and      r13d, 1
        add      r14d, r13d
        sar      r14d, 1
        lea      r12d, [r13+0x28]
        mov      eax, r12d
        neg      eax
        add      eax, 64
        shlx     rax, r15, rax
        shrx     rdi, rdi, r12
        or       rdi, rax
        shr      rdi, 11
        vxorps   xmm0, xmm0, xmm0
        vcvtusi2sd xmm0, xmm0, rdi
        vmovsd   qword ptr [rbp-0x38], xmm0
        vmovsd   xmm2, qword ptr [reloc @RWD00]
        vmovsd   qword ptr [rbp-0xF8], xmm2
        vmovaps  xmm0, xmm2
        mov      edi, -24
        mov      rax, 0xD1FFAB1E      ; code for System.Math:ScaleB(double,int):double
        call     [rax]System.Math:ScaleB(double,int):double
        shrx     rdi, r15, r12
        vxorps   xmm1, xmm1, xmm1
        vcvtusi2sd xmm1, xmm1, rdi
        vmulsd   xmm0, xmm0, xmm1
        vmovsd   qword ptr [rbp-0x40], xmm0
        vmovsd   xmm0, qword ptr [rbp-0xF8]
        mov      edi, -77
        mov      rax, 0xD1FFAB1E      ; code for System.Math:ScaleB(double,int):double
        call     [rax]System.Math:ScaleB(double,int):double
        vmulsd   xmm0, xmm0, qword ptr [rbp-0x38]
        shr      r15, 56
-       movzx    rdi, r15b
        shl      r13d, 7
-       xor      edi, r13d
-       mov      rax, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rax]
-       cmp      edi, 256
-       jae      G_M2702_IG06
-       shl      rdi, 4
-       lea      rdi, bword ptr [rax+rdi+0x10]
-       vmovss   xmm1, dword ptr [rdi]
-       vmovss   xmm2, dword ptr [rdi+0x04]
-       vmovsd   xmm3, qword ptr [rdi+0x08]
-       vcvtss2sd xmm2, xmm2, xmm2
-       vmovsd   xmm4, qword ptr [rbp-0x30]
-       vmulsd   xmm2, xmm2, xmm4
-       vaddsd   xmm2, xmm2, xmm3
-       vmulsd   xmm4, xmm4, xmm4
-       vcvtss2sd xmm1, xmm1, xmm1
-       vmulsd   xmm1, xmm4, xmm1
-						;; size=275 bbWeight=1 PerfScore 78.67
-G_M2702_IG03:
-       vaddsd   xmm1, xmm2, xmm1
+       xor      r15d, r13d
+       movzx    rdi, r15b
+       lea      eax, [rdi+rdi]
+       mov      ecx, eax
+       mov      rdx, 0xD1FFAB1E      ; static handle
+       vcvtss2sd xmm1, xmm1, dword ptr [rdx+4*rcx]
+       vmovsd   xmm2, qword ptr [rbp-0x30]
+       vmulsd   xmm3, xmm2, xmm2
+       vmulsd   xmm1, xmm1, xmm3
+       inc      eax
+       vcvtss2sd xmm3, xmm3, dword ptr [rdx+4*rax]
+       vmulsd   xmm2, xmm3, xmm2
+       mov      rax, 0xD1FFAB1E      ; static handle
+       vaddsd   xmm2, xmm2, qword ptr [rax+8*rdi]
+       vaddsd   xmm1, xmm1, xmm2
        vmulsd   xmm1, xmm1, qword ptr [reloc @RWD08]
        vmovsd   xmm2, qword ptr [rbp-0x40]
-       vaddsd   xmm4, xmm2, xmm0
-       vmulsd   xmm3, xmm4, xmm1
-       vcvtsd2ss xmm3, xmm3, xmm3
-       vcvtss2sd xmm3, xmm3, xmm3
+       vaddsd   xmm3, xmm2, xmm0
+       vmulsd   xmm4, xmm3, xmm1
+       vcvtsd2ss xmm4, xmm4, xmm4
+						;; size=286 bbWeight=1 PerfScore 95.17
+G_M2702_IG03:
+       vcvtss2sd xmm4, xmm4, xmm4
        vcvtsd2ss xmm1, xmm1, xmm1
        vcvtss2sd xmm1, xmm1, xmm1
        vmulsd   xmm2, xmm2, xmm1
-       vsubsd   xmm2, xmm2, xmm3
+       vsubsd   xmm2, xmm2, xmm4
        vmulsd   xmm0, xmm0, xmm1
        vaddsd   xmm0, xmm2, xmm0
        vmulsd   xmm0, xmm0, xmm1
-       vmulsd   xmm2, xmm3, xmm1
-       vmovsd   xmm3, qword ptr [rbp-0xF8]
-       vsubsd   xmm2, xmm3, xmm2
+       vmulsd   xmm2, xmm4, xmm1
+       vmovsd   xmm4, qword ptr [rbp-0xF8]
+       vsubsd   xmm2, xmm4, xmm2
        vsubsd   xmm0, xmm2, xmm0
        vmulsd   xmm2, xmm1, xmm1
-       vmulsd   xmm4, xmm4, qword ptr [reloc @RWD16]
-       vmulsd   xmm2, xmm2, xmm4
-       vmovsd   xmm4, qword ptr [reloc @RWD24]
-       vsubsd   xmm2, xmm4, xmm2
+       vmulsd   xmm3, xmm3, qword ptr [reloc @RWD16]
+       vmulsd   xmm2, xmm2, xmm3
+       vmovsd   xmm3, qword ptr [reloc @RWD24]
+       vsubsd   xmm2, xmm3, xmm2
        vmulsd   xmm2, xmm1, xmm2
        vmulsd   xmm0, xmm2, xmm0
        vmovsd   qword ptr [rbp-0x48], xmm0
        vmulsd   xmm1, xmm1, qword ptr [reloc @RWD32]
        vcmpordsd xmm2, xmm1, xmm1
        vandpd   xmm2, xmm2, xmm1
        mov      r15, 0xD1FFAB1E
        vcvttsd2si rdi, xmm2
        vucomisd xmm1, qword ptr [reloc @RWD40]
        cmovb    r15, rdi
-       vmovaps  xmm0, xmm3
+       vmovaps  xmm0, xmm4
        mov      edi, 75
        mov      rax, 0xD1FFAB1E      ; code for System.Math:ScaleB(double,int):double
        call     [rax]System.Math:ScaleB(double,int):double
        vmulsd   xmm0, xmm0, qword ptr [rbp-0x48]
        vcmpordsd xmm1, xmm0, xmm0
        vandpd   xmm1, xmm1, xmm0
        mov      rdi, 0xD1FFAB1E
        vcvttsd2si rsi, xmm1
        vucomisd xmm0, qword ptr [reloc @RWD40]
        cmovb    rdi, rsi
        shl      r15, 39
        mov      rsi, rdi
        sar      rsi, 12
        add      r15, rsi
        sar      rdi, 11
        and      rdi, 1
        add      r15, rdi
        mov      rdi, 0xD1FFAB1E
        mov      rsi, 0xD1FFAB1E
        mov      rdx, -1
        test     r15, rdi
        cmove    rsi, rdx
        test     r15, r15
        mov      rdi, rsi
        cmovl    rdi, r15
        xor      esi, esi
        mov      dword ptr [rbp-0x60], esi
        mov      esi, r14d
        neg      esi
-						;; size=309 bbWeight=1 PerfScore 129.67
-G_M2702_IG04:
        inc      esi
        mov      dword ptr [rbp-0x5C], esi
        mov      qword ptr [rbp-0x58], rdi
        xor      edi, edi
        mov      qword ptr [rbp-0x50], rdi
        lea      rdi, [rbp-0x60]
        lea      rsi, [rbp+0x10]
+						;; size=303 bbWeight=1 PerfScore 114.17
+G_M2702_IG04:
        lea      rdx, [rbp-0x78]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Multiply(byref,byref,byref)
        call     [rax]System.Number:DiyFp128Multiply(byref,byref,byref)
        vmovdqu  xmm0, xmmword ptr [rbp-0x60]
        vmovdqu32 xmmword ptr [rbp-0x90], xmm0
        mov      rdi, qword ptr [rbp-0x50]
        mov      qword ptr [rbp-0x80], rdi
        lea      rdi, [rbp-0x90]
        lea      rsi, [rbp-0x78]
        lea      rdx, [rbp-0xA8]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Multiply(byref,byref,byref)
        call     [rax]System.Number:DiyFp128Multiply(byref,byref,byref)
        vxorps   xmm0, xmm0, xmm0
        vmovdqu32 xmmword ptr [rbp-0xC0], xmm0
        vmovdqu  xmmword ptr [rbp-0xB8], xmm0
        lea      rdi, [rbp-0xF0]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:get_UxThree():System.Number+DiyFp128
        call     [rax]System.Number:get_UxThree():System.Number+DiyFp128
        lea      rcx, bword ptr [rbp-0xC0]
        mov      r8d, 1
        lea      rsi, [rbp-0xA8]
        lea      rdi, [rbp-0xF0]
        mov      edx, 9
        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-0xC0]
        vmovdqu  xmmword ptr [rbp-0xA8], xmm0
        mov      rdi, qword ptr [rbp-0xB0]
        mov      qword ptr [rbp-0x98], rdi
        lea      rdi, [rbp-0xA8]
        lea      rsi, [rbp-0x78]
        lea      rdx, [rbp-0xD8]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Multiply(byref,byref,byref)
        call     [rax]System.Number:DiyFp128Multiply(byref,byref,byref)
        mov      eax, dword ptr [rbp-0xD4]
        dec      eax
        mov      dword ptr [rbp-0xD4], eax
        vmovdqu  xmm0, xmmword ptr [rbp-0xD8]
        vmovdqu  xmmword ptr [rbx], xmm0
        mov      rax, qword ptr [rbp-0xC8]
        mov      qword ptr [rbx+0x10], rax
        mov      rax, rbx
-						;; size=270 bbWeight=1 PerfScore 43.58
+						;; size=247 bbWeight=1 PerfScore 39.08
 G_M2702_IG05:
        add      rsp, 216
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
-G_M2702_IG06:
-       call     CORINFO_HELP_RNGCHKFAIL
-       int3     
-						;; size=6 bbWeight=0 PerfScore 0.00
 RWD00  	dq	3FF0000000000000h	;            1
 RWD08  	dq	3FF6A09E667F3BCDh	;   1.41421356
 RWD16  	dq	3FD8000000000000h	;        0.375
 RWD24  	dq	3FEC000000000000h	;        0.875
 RWD32  	dq	4170000000000000h	;     16777216
 RWD40  	dq	43E0000000000000h
 
 
-; Total bytes of code 906, prolog size 25, PerfScore 263.17, instruction count 190, allocated bytes for code 906 (MethodHash=d273f571) for method System.Number:DiyFp128Sqrt(System.Number+DiyFp128):System.Number+DiyFp128 (FullOpts)
+; Total bytes of code 882, prolog size 25, PerfScore 259.67, instruction count 184, allocated bytes for code 882 (MethodHash=d273f571) for method System.Number:DiyFp128Sqrt(System.Number+DiyFp128):System.Number+DiyFp128 (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-23 (-3.73 % of base) - System.Number:DiyFp128Log(System.Number+DiyFp128,bool,byref):System.Number+DiyFp128</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128Log(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; 8 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 11 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 RetBuf       [V00,T01] (  4,  4   )    long  ->  rbx         single-def
 ;  V01 arg0         [V01    ] (  4,  4   )  struct (24) [rbp+0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op single-def <System.Number+DiyFp128>
 ;  V02 arg1         [V02,T02] (  3,  3   )   ubyte  ->  r15         single-def
 ;  V03 arg2         [V03,T03] (  3,  2.50)   byref  ->  r14         single-def
 ;  V04 loc0         [V04,T00] (  6,  6   )    long  ->  r13        
 ;* V05 loc1         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[System.Number+DiyFp128]>
-;  V06 loc2         [V06    ] (  3,  3   )  struct (24) [rbp-0x40]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V07 loc3         [V07    ] (  6,  6   )  struct (24) [rbp-0x58]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V08 loc4         [V08    ] (  6,  5   )  struct (24) [rbp-0x70]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
-;  V09 loc5         [V09    ] (  3,  3   )  struct (24) [rbp-0x88]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V10 loc6         [V10    ] (  6,  6   )  struct (48) [rbp-0xB8]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Runtime.CompilerServices.InlineArray2`1[System.Number+DiyFp128]>
-;  V11 loc7         [V11    ] (  2,  2   )  struct (24) [rbp-0xD0]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
-;  V12 loc8         [V12    ] (  2,  1   )  struct (24) [rbp-0xE8]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V06 loc2         [V06    ] (  3,  3   )  struct (24) [rbp-0x38]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V07 loc3         [V07    ] (  6,  6   )  struct (24) [rbp-0x50]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V08 loc4         [V08    ] (  6,  5   )  struct (24) [rbp-0x68]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
+;  V09 loc5         [V09    ] (  3,  3   )  struct (24) [rbp-0x80]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V10 loc6         [V10    ] (  6,  6   )  struct (48) [rbp-0xB0]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Runtime.CompilerServices.InlineArray2`1[System.Number+DiyFp128]>
+;  V11 loc7         [V11    ] (  2,  2   )  struct (24) [rbp-0xC8]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
+;  V12 loc8         [V12    ] (  2,  1   )  struct (24) [rbp-0xE0]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
 ;  V13 OutArgs      [V13    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V14 tmp1         [V14    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;* V15 tmp2         [V15    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
 ;* V16 tmp3         [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
-;* V17 tmp4         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V18 tmp5         [V18    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V19 tmp6         [V19,T04] (  2,  4   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;  V20 tmp7         [V20    ] (  3,  3   )  struct (24) [rbp-0x100]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.Number+DiyFp128>
-;  V21 tmp8         [V21    ] (  4,  4   )  struct (24) [rbp-0x118]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Number+DiyFp128>
-;* V22 tmp9         [V22    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V23 tmp10        [V23    ] (  2,  2   )  struct (24) [rbp-0x130]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.Number+DiyFp128>
-;* V24 tmp11        [V24    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V25 tmp12        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
-;  V26 tmp13        [V26    ] (  4,  4   )     int  ->  [rbp-0x58]  do-not-enreg[X] addr-exposed "field V07._sign (fldOffset=0x0)" P-DEP
-;  V27 tmp14        [V27    ] (  6,  6   )     int  ->  [rbp-0x54]  do-not-enreg[X] addr-exposed "field V07._exponent (fldOffset=0x4)" P-DEP
-;  V28 tmp15        [V28    ] (  4,  4   )    long  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed "field V07._hi (fldOffset=0x8)" P-DEP
-;  V29 tmp16        [V29    ] (  4,  4   )    long  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed "field V07._lo (fldOffset=0x10)" P-DEP
-;* V30 tmp17        [V30    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
-;* V31 tmp18        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
-;* V32 tmp19        [V32,T07] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
-;* V33 tmp20        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
-;* V34 tmp21        [V34,T08] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
-;* V35 tmp22        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
-;  V36 tmp23        [V36,T06] (  2,  2   )   byref  ->  r12         "field V18._reference (fldOffset=0x0)" P-INDEP
-;* V37 tmp24        [V37,T09] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
-;  V38 tmp25        [V38    ] (  3,  3   )     int  ->  [rbp-0x118]  do-not-enreg[X] addr-exposed "field V21._sign (fldOffset=0x0)" P-DEP
-;  V39 tmp26        [V39    ] (  4,  4   )     int  ->  [rbp-0x114]  do-not-enreg[X] addr-exposed "field V21._exponent (fldOffset=0x4)" P-DEP
-;  V40 tmp27        [V40    ] (  3,  3   )    long  ->  [rbp-0x110]  do-not-enreg[X] addr-exposed "field V21._hi (fldOffset=0x8)" P-DEP
-;  V41 tmp28        [V41    ] (  3,  3   )    long  ->  [rbp-0x108]  do-not-enreg[X] addr-exposed "field V21._lo (fldOffset=0x10)" P-DEP
-;  V42 cse0         [V42,T05] (  3,  3   )     int  ->  rdi         "CSE #01: moderate"
+;* V17 tmp4         [V17    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V18 tmp5         [V18    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V19 tmp6         [V19    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V20 tmp7         [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V21 tmp8         [V21    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V22 tmp9         [V22    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V23 tmp10        [V23    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V24 tmp11        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V25 tmp12        [V25    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V26 tmp13        [V26    ] (  3,  3   )  struct (24) [rbp-0xF8]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.Number+DiyFp128>
+;  V27 tmp14        [V27    ] (  4,  4   )  struct (24) [rbp-0x110]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Number+DiyFp128>
+;* V28 tmp15        [V28    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
+;  V29 tmp16        [V29    ] (  2,  2   )  struct (24) [rbp-0x128]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.Number+DiyFp128>
+;* V30 tmp17        [V30    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
+;* V31 tmp18        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
+;  V32 tmp19        [V32    ] (  4,  4   )     int  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed "field V07._sign (fldOffset=0x0)" P-DEP
+;  V33 tmp20        [V33    ] (  6,  6   )     int  ->  [rbp-0x4C]  do-not-enreg[X] addr-exposed "field V07._exponent (fldOffset=0x4)" P-DEP
+;  V34 tmp21        [V34    ] (  4,  4   )    long  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed "field V07._hi (fldOffset=0x8)" P-DEP
+;  V35 tmp22        [V35    ] (  4,  4   )    long  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V07._lo (fldOffset=0x10)" P-DEP
+;* V36 tmp23        [V36    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V37 tmp24        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
+;* V38 tmp25        [V38,T05] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V39 tmp26        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;* V40 tmp27        [V40,T06] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V41 tmp28        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;* V42 tmp29        [V42    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
+;* V43 tmp30        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
+;* V44 tmp31        [V44    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V45 tmp32        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
+;* V46 tmp33        [V46    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
+;* V47 tmp34        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
+;* V48 tmp35        [V48    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V49 tmp36        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
+;  V50 tmp37        [V50    ] (  3,  3   )     int  ->  [rbp-0x110]  do-not-enreg[X] addr-exposed "field V27._sign (fldOffset=0x0)" P-DEP
+;  V51 tmp38        [V51    ] (  4,  4   )     int  ->  [rbp-0x10C]  do-not-enreg[X] addr-exposed "field V27._exponent (fldOffset=0x4)" P-DEP
+;  V52 tmp39        [V52    ] (  3,  3   )    long  ->  [rbp-0x108]  do-not-enreg[X] addr-exposed "field V27._hi (fldOffset=0x8)" P-DEP
+;  V53 tmp40        [V53    ] (  3,  3   )    long  ->  [rbp-0x100]  do-not-enreg[X] addr-exposed "field V27._lo (fldOffset=0x10)" P-DEP
+;  V54 cse0         [V54,T04] (  3,  3   )     int  ->  rdi         "CSE #01: aggressive"
 ;
-; Lcl frame size = 280
+; Lcl frame size = 272
 
 G_M33514_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rbx
-       sub      rsp, 280
-       lea      rbp, [rsp+0x140]
+       sub      rsp, 272
+       lea      rbp, [rsp+0x130]
        mov      rbx, rdi
        mov      r15d, esi
        mov      r14, rdx
-						;; size=34 bbWeight=1 PerfScore 7.50
+						;; size=32 bbWeight=1 PerfScore 6.50
 G_M33514_IG02:
        mov      edi, dword ptr [rbp+0x14]
        movsxd   r13, edi
        mov      rax, 0xD1FFAB1E
        lea      rcx, [r13-0x01]
        cmp      qword ptr [rbp+0x18], rax
        cmovbe   r13, rcx
        sub      edi, r13d
        mov      dword ptr [rbp+0x14], edi
        vxorps   ymm0, ymm0, ymm0
-       vmovdqu  ymmword ptr [rbp-0xB8], ymm0
-       vmovdqu  xmmword ptr [rbp-0x98], xmm0
+       vmovdqu  ymmword ptr [rbp-0xB0], ymm0
+       vmovdqu32 xmmword ptr [rbp-0x90], xmm0
        vxorps   xmm0, xmm0, xmm0
-       vmovdqu  xmmword ptr [rbp-0xB8], xmm0
        vmovdqu32 xmmword ptr [rbp-0xB0], xmm0
+       vmovdqu  xmmword ptr [rbp-0xA8], xmm0
        vxorps   xmm0, xmm0, xmm0
-       vmovdqu32 xmmword ptr [rbp-0xA0], xmm0
        vmovdqu  xmmword ptr [rbp-0x98], xmm0
-       lea      rdi, [rbp-0xD0]
+       vmovdqu32 xmmword ptr [rbp-0x90], xmm0
+       lea      rdi, [rbp-0xC8]
        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-0xB8]
+       lea      rcx, bword ptr [rbp-0xB0]
        mov      r8d, 2
-       lea      rsi, [rbp-0xD0]
+       lea      rsi, [rbp-0xC8]
        lea      rdi, [rbp+0x10]
        mov      edx, 6
        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, bword ptr [rbp-0xA0]
-       lea      rcx, [rbp-0x40]
-       lea      rsi, bword ptr [rbp-0xB8]
+       lea      rdi, bword ptr [rbp-0x98]
+       lea      rcx, [rbp-0x38]
+       lea      rsi, bword ptr [rbp-0xB0]
        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      r12, gword ptr [rdi]
-       add      r12, 16
-       vmovdqu  xmm0, xmmword ptr [rbp-0x40]
-       vmovdqu32 xmmword ptr [rbp-0x100], xmm0
-       mov      rdi, qword ptr [rbp-0x30]
-       mov      qword ptr [rbp-0xF0], rdi
-       lea      rdi, [rbp-0x100]
-       lea      rsi, [rbp-0x100]
-       lea      rdx, [rbp-0x118]
+       vmovdqu  xmm0, xmmword ptr [rbp-0x38]
+       vmovdqu  xmmword ptr [rbp-0xF8], xmm0
+       mov      rdi, qword ptr [rbp-0x28]
+       mov      qword ptr [rbp-0xE8], rdi
+       lea      rdi, [rbp-0xF8]
+       lea      rsi, [rbp-0xF8]
+       lea      rdx, [rbp-0x110]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Multiply(byref,byref,byref)
        call     [rax]System.Number:DiyFp128Multiply(byref,byref,byref)
-       lea      rdi, [rbp-0x118]
+       lea      rdi, [rbp-0x110]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Normalize(byref)
-						;; size=277 bbWeight=1 PerfScore 37.75
-G_M33514_IG03:
        call     [rax]System.Number:DiyFp128Normalize(byref)
-       lea      rsi, [rbp-0x58]
+       lea      rsi, [rbp-0x50]
        mov      qword ptr [rsp], rsi
-       movsxd   rsi, dword ptr [rbp-0x114]
+						;; size=270 bbWeight=1 PerfScore 39.75
+G_M33514_IG03:
+       movsxd   rsi, dword ptr [rbp-0x10C]
        imul     rsi, rsi, -17
-       mov      rdx, r12
+       mov      rdx, 0xD1FFAB1E      ; static handle
        mov      ecx, 18
-       lea      rdi, [rbp-0x118]
+       lea      rdi, [rbp-0x110]
        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 [rbp-0x40]
-       vmovdqu32 xmmword ptr [rbp-0x130], xmm0
-       mov      rdi, qword ptr [rbp-0x30]
-       mov      qword ptr [rbp-0x120], rdi
-       lea      rdi, [rbp-0x130]
-       lea      rsi, [rbp-0x58]
-       lea      rdx, [rbp-0x58]
+       vmovdqu  xmm0, xmmword ptr [rbp-0x38]
+       vmovdqu  xmmword ptr [rbp-0x128], xmm0
+       mov      rdi, qword ptr [rbp-0x28]
+       mov      qword ptr [rbp-0x118], rdi
+       lea      rdi, [rbp-0x128]
+       lea      rsi, [rbp-0x50]
+       lea      rdx, [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Multiply(byref,byref,byref)
        call     [rax]System.Number:DiyFp128Multiply(byref,byref,byref)
-       mov      edi, dword ptr [rbp-0x54]
+       mov      edi, dword ptr [rbp-0x4C]
        add      edi, 2
-       mov      dword ptr [rbp-0x54], edi
-       lea      rdi, [rbp-0x70]
+       mov      dword ptr [rbp-0x4C], edi
+       lea      rdi, [rbp-0x68]
        mov      rsi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128FromWord(long):System.Number+DiyFp128
        call     [rax]System.Number:DiyFp128FromWord(long):System.Number+DiyFp128
        vxorps   xmm0, xmm0, xmm0
-       vmovdqu  xmmword ptr [rbp-0x88], xmm0
        vmovdqu  xmmword ptr [rbp-0x80], xmm0
-       lea      rcx, bword ptr [rbp-0x88]
+       vmovdqu  xmmword ptr [rbp-0x78], xmm0
+       lea      rcx, bword ptr [rbp-0x80]
        mov      r8d, 1
-       lea      rsi, [rbp-0x58]
-       lea      rdi, [rbp-0x70]
+       lea      rsi, [rbp-0x50]
+       lea      rdi, [rbp-0x68]
        mov      edx, 8
        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])
-       vmovdqu  xmm0, xmmword ptr [rbp-0x88]
-       vmovdqu  xmmword ptr [rbp-0x70], xmm0
-       mov      rdi, qword ptr [rbp-0x78]
-       mov      qword ptr [rbp-0x60], rdi
+       vmovdqu  xmm0, xmmword ptr [rbp-0x80]
+       vmovdqu  xmmword ptr [rbp-0x68], xmm0
+       mov      rdi, qword ptr [rbp-0x70]
+       mov      qword ptr [rbp-0x58], rdi
        test     r15b, r15b
        je       SHORT G_M33514_IG05
-						;; size=216 bbWeight=1 PerfScore 40.08
+						;; size=205 bbWeight=1 PerfScore 35.58
 G_M33514_IG04:
        vmovdqu  xmm0, xmmword ptr [r14]
-       vmovdqu  xmmword ptr [rbp-0xE8], xmm0
+       vmovdqu32 xmmword ptr [rbp-0xE0], xmm0
        mov      rdi, qword ptr [r14+0x10]
-       mov      qword ptr [rbp-0xD8], rdi
-       lea      rdi, [rbp-0x70]
-       lea      rsi, [rbp-0xE8]
-       lea      rdx, [rbp-0x70]
+       mov      qword ptr [rbp-0xD0], rdi
+       lea      rdi, [rbp-0x68]
+       lea      rsi, [rbp-0xE0]
+       lea      rdx, [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Multiply(byref,byref,byref)
        call     [rax]System.Number:DiyFp128Multiply(byref,byref,byref)
-						;; size=51 bbWeight=0.50 PerfScore 5.38
+						;; size=50 bbWeight=0.50 PerfScore 5.38
 G_M33514_IG05:
-       vmovdqu  xmm0, xmmword ptr [rbp-0x70]
+       vmovdqu  xmm0, xmmword ptr [rbp-0x68]
        vmovdqu  xmmword ptr [rbx], xmm0
-       mov      rax, qword ptr [rbp-0x60]
+       mov      rax, qword ptr [rbp-0x58]
        mov      qword ptr [rbx+0x10], rax
        mov      rax, rbx
 						;; size=20 bbWeight=1 PerfScore 4.25
 G_M33514_IG06:
-       add      rsp, 280
+       add      rsp, 272
        pop      rbx
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=18 bbWeight=1 PerfScore 4.25
+						;; size=16 bbWeight=1 PerfScore 3.75
 
-; Total bytes of code 616, prolog size 25, PerfScore 99.21, instruction count 124, allocated bytes for code 616 (MethodHash=4db27d15) for method System.Number:DiyFp128Log(System.Number+DiyFp128,bool,byref):System.Number+DiyFp128 (FullOpts)
+; Total bytes of code 593, prolog size 23, PerfScore 95.21, instruction count 119, allocated bytes for code 593 (MethodHash=4db27d15) for method System.Number:DiyFp128Log(System.Number+DiyFp128,bool,byref):System.Number+DiyFp128 (FullOpts)
 ; ============================================================
```

</details>


<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>-14 (-2.61 % of base) - System.Number:DiyFp128Hyperbolic(byref,int,int,int,System.Span`1[System.Number+DiyFp128])</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128Hyperbolic(byref,int,int,int,System.Span`1[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; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 13 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T03] (  3,  3   )   byref  ->  rdi         single-def
 ;  V01 arg1         [V01,T02] (  4,  3.50)     int  ->  r14         single-def
 ;  V02 arg2         [V02,T04] (  3,  3   )     int  ->  r13         single-def
 ;  V03 arg3         [V03,T05] (  3,  2.50)     int  ->  r12         single-def
 ;* V04 arg4         [V04    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[System.Number+DiyFp128]>
 ;  V05 loc0         [V05    ] (  4,  4   )  struct (24) [rbp-0x40]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V06 loc1         [V06,T14] (  2,  2   )     int  ->  rdi        
+;  V06 loc1         [V06,T10] (  2,  2   )     int  ->  rdi        
 ;  V07 loc2         [V07,T07] (  5,  4   )     int  ->  [rbp-0x44]  spill-single-def
 ;  V08 loc3         [V08    ] (  2,  2   )  struct (24) [rbp-0x60]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
 ;* V09 loc4         [V09    ] (  0,  0   )     int  ->  zero-ref   
 ;  V10 loc5         [V10    ] (  8,  4   )  struct (48) [rbp-0x90]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Runtime.CompilerServices.InlineArray2`1[System.Number+DiyFp128]>
 ;  V11 loc6         [V11    ] (  2,  2   )  struct (24) [rbp-0xA8]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
 ;* V12 loc7         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[System.Number+DiyFp128]>
 ;  V13 OutArgs      [V13    ] (  1,  1   )  struct (40) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V14 tmp1         [V14,T15] (  2,  2   )     int  ->  [rbp-0xAC]  spill-single-def
-;  V15 tmp2         [V15,T16] (  2,  2   )     int  ->  r13        
+;  V14 tmp1         [V14,T11] (  2,  2   )     int  ->  [rbp-0xAC]  spill-single-def
+;  V15 tmp2         [V15,T12] (  2,  2   )     int  ->  r13        
 ;* V16 tmp3         [V16    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;* V17 tmp4         [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V18 tmp5         [V18,T10] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
-;  V19 tmp6         [V19,T11] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
-;* V20 tmp7         [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V21 tmp8         [V21    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V22 tmp9         [V22,T08] (  2,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V23 tmp10        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V24 tmp11        [V24    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V25 tmp12        [V25,T09] (  2,  4   )     ref  ->   r8         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V26 tmp13        [V26    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
-;  V27 tmp14        [V27,T00] (  6,  4.50)   byref  ->  rbx         single-def "field V04._reference (fldOffset=0x0)" P-INDEP
-;  V28 tmp15        [V28,T01] (  5,  4   )     int  ->  r15         single-def "field V04._length (fldOffset=0x8)" P-INDEP
-;  V29 tmp16        [V29    ] (  4,  4   )     int  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V05._sign (fldOffset=0x0)" P-DEP
-;  V30 tmp17        [V30    ] (  2,  2   )     int  ->  [rbp-0x3C]  do-not-enreg[X] addr-exposed "field V05._exponent (fldOffset=0x4)" P-DEP
-;  V31 tmp18        [V31    ] (  2,  2   )    long  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V05._hi (fldOffset=0x8)" P-DEP
-;  V32 tmp19        [V32    ] (  2,  2   )    long  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V05._lo (fldOffset=0x10)" P-DEP
-;* V33 tmp20        [V33    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V34 tmp21        [V34    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
-;* V35 tmp22        [V35    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
-;* V36 tmp23        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
-;* V37 tmp24        [V37    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V38 tmp25        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;  V39 tmp26        [V39,T12] (  2,  2   )   byref  ->  rsi         "field V21._reference (fldOffset=0x0)" P-INDEP
-;* V40 tmp27        [V40,T19] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
-;  V41 tmp28        [V41,T13] (  2,  2   )   byref  ->   r8         "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V42 tmp29        [V42,T20] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;* V43 tmp30        [V43,T21] (  0,  0   )   byref  ->  zero-ref    single-def "field V26._reference (fldOffset=0x0)" P-INDEP
-;* V44 tmp31        [V44    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
-;  V45 tmp32        [V45,T18] (  2,  1   )   byref  ->  rcx         "Field obj"
-;  V46 cse0         [V46,T17] (  3,  1.50)   byref  ->  [rbp-0xB8]  spill-single-def "CSE #03: moderate"
-;  V47 cse1         [V47,T06] (  6,  4   )   byref  ->  [rbp-0xC0]  multi-def "CSE #04: aggressive"
+;  V18 tmp5         [V18,T08] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
+;  V19 tmp6         [V19,T09] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
+;* V20 tmp7         [V20    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V21 tmp8         [V21    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V22 tmp9         [V22    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V23 tmp10        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V24 tmp11        [V24    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V25 tmp12        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V26 tmp13        [V26    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V27 tmp14        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V28 tmp15        [V28    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V29 tmp16        [V29    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V30 tmp17        [V30    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V31 tmp18        [V31    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V32 tmp19        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V33 tmp20        [V33    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V34 tmp21        [V34    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V35 tmp22        [V35    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V36 tmp23        [V36    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V37 tmp24        [V37    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V38 tmp25        [V38    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Number+DiyFp128]>
+;  V39 tmp26        [V39,T00] (  6,  4.50)   byref  ->  rbx         single-def "field V04._reference (fldOffset=0x0)" P-INDEP
+;  V40 tmp27        [V40,T01] (  5,  4   )     int  ->  r15         single-def "field V04._length (fldOffset=0x8)" P-INDEP
+;  V41 tmp28        [V41    ] (  4,  4   )     int  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V05._sign (fldOffset=0x0)" P-DEP
+;  V42 tmp29        [V42    ] (  2,  2   )     int  ->  [rbp-0x3C]  do-not-enreg[X] addr-exposed "field V05._exponent (fldOffset=0x4)" P-DEP
+;  V43 tmp30        [V43    ] (  2,  2   )    long  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V05._hi (fldOffset=0x8)" P-DEP
+;  V44 tmp31        [V44    ] (  2,  2   )    long  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V05._lo (fldOffset=0x10)" P-DEP
+;* V45 tmp32        [V45    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
+;* V46 tmp33        [V46    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
+;* V47 tmp34        [V47    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V48 tmp35        [V48    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;* V49 tmp36        [V49    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
+;* V50 tmp37        [V50    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
+;* V51 tmp38        [V51    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V52 tmp39        [V52    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
+;* V53 tmp40        [V53    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
+;* V54 tmp41        [V54    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
+;* V55 tmp42        [V55    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V56 tmp43        [V56    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
+;* V57 tmp44        [V57    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V58 tmp45        [V58    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
+;* V59 tmp46        [V59    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V29._reference (fldOffset=0x0)" P-INDEP
+;* V60 tmp47        [V60    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
+;* V61 tmp48        [V61    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V32._reference (fldOffset=0x0)" P-INDEP
+;* V62 tmp49        [V62    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
+;* V63 tmp50        [V63    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V35._reference (fldOffset=0x0)" P-INDEP
+;* V64 tmp51        [V64    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
+;* V65 tmp52        [V65    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V36._reference (fldOffset=0x0)" P-INDEP
+;* V66 tmp53        [V66    ] (  0,  0   )     int  ->  zero-ref    "field V36._length (fldOffset=0x8)" P-INDEP
+;* V67 tmp54        [V67,T15] (  0,  0   )   byref  ->  zero-ref    single-def "field V38._reference (fldOffset=0x0)" P-INDEP
+;* V68 tmp55        [V68    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
+;  V69 tmp56        [V69,T14] (  2,  1   )   byref  ->  rcx         "Field obj"
+;  V70 cse0         [V70,T13] (  3,  1.50)   byref  ->  [rbp-0xB8]  spill-single-def "CSE #03: moderate"
+;  V71 cse1         [V71,T06] (  6,  4   )   byref  ->  [rbp-0xC0]  multi-def "CSE #04: moderate"
 ;
 ; Lcl frame size = 200
 
 G_M15646_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 200
        lea      rbp, [rsp+0xF0]
        mov      r14d, esi
        mov      r13d, edx
        mov      r12d, ecx
        mov      rbx, r8
        mov      r15d, r9d
 						;; size=40 bbWeight=1 PerfScore 8.00
 G_M15646_IG02:
        vmovdqu  xmm0, xmmword ptr [rdi]
        vmovdqu  xmmword ptr [rbp-0x40], xmm0
        mov      rax, qword ptr [rdi+0x10]
        mov      qword ptr [rbp-0x30], rax
        mov      edi, dword ptr [rbp-0x40]
        xor      eax, eax
        mov      dword ptr [rbp-0x40], eax
 						;; size=25 bbWeight=1 PerfScore 8.25
 G_M15646_IG03:
        cmp      r14d, 2
        cmovne   eax, edi
        mov      dword ptr [rbp-0xAC], eax
        lea      rdi, [rbp-0xA8]
        mov      rcx, 0xD1FFAB1E      ; code for System.Number:get_ExpLn2Low():System.Number+DiyFp128
        call     [rcx]System.Number:get_ExpLn2Low():System.Number+DiyFp128
        lea      rdi, [rbp-0x40]
        lea      rsi, [rbp-0x60]
        lea      r9, [rbp-0xA8]
        mov      rdx, 0xD1FFAB1E
        mov      rcx, 0xD1FFAB1E
        xor      r8d, r8d
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128ExpReduce(byref,byref,ulong,ulong,int,byref):int
        call     [rax]System.Number:DiyFp128ExpReduce(byref,byref,ulong,ulong,int,byref):int
        mov      dword ptr [rbp-0x44], eax
        mov      esi, 326
        test     eax, eax
        cmovne   r13d, esi
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rsi, gword ptr [rsi]
-       add      rsi, 16
-       mov      rdx, 0xD1FFAB1E      ; const ptr
-       mov      r8, gword ptr [rdx]
-       add      r8, 16
        mov      dword ptr [rsp], 1
        mov      dword ptr [rsp+0x08], 11
        mov      dword ptr [rsp+0x10], r13d
        mov      bword ptr [rsp+0x18], rbx
        mov      dword ptr [rsp+0x20], r15d
+       mov      rsi, 0xD1FFAB1E      ; static handle
        mov      edx, 12
+       mov      r8, 0xD1FFAB1E      ; static handle
        mov      r9d, 12
        lea      rdi, [rbp-0x60]
        mov      ecx, 1
        mov      r10, 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     [r10]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])
        mov      r13d, dword ptr [rbp-0x44]
        test     r13d, r13d
        je       G_M15646_IG05
-						;; size=206 bbWeight=1 PerfScore 29.75
+						;; size=192 bbWeight=1 PerfScore 25.25
 G_M15646_IG04:
        vxorps   ymm0, ymm0, ymm0
        vmovdqu  ymmword ptr [rbp-0x90], ymm0
        vmovdqu  xmmword ptr [rbp-0x70], xmm0
        vxorps   xmm0, xmm0, xmm0
        vmovdqu32 xmmword ptr [rbp-0x90], xmm0
        vmovdqu  xmmword ptr [rbp-0x88], xmm0
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rbp-0x78], xmm0
        vmovdqu  xmmword ptr [rbp-0x70], xmm0
        cmp      r15d, 1
        jbe      G_M15646_IG07
        lea      rax, bword ptr [rbx+0x18]
        mov      bword ptr [rbp-0xB8], rax
        mov      rdi, rax
        mov      r9, rbx
        mov      bword ptr [rbp-0xC0], r9
        mov      rsi, r9
        lea      rcx, bword ptr [rbp-0x90]
        mov      r8d, 2
        mov      edx, 10
        mov      r10, 0xD1FFAB1E      ; code for System.Number:DiyFp128AddSub(byref,byref,int,System.Span`1[System.Number+DiyFp128])
        call     [r10]System.Number:DiyFp128AddSub(byref,byref,int,System.Span`1[System.Number+DiyFp128])
        lea      rcx, bword ptr [rbp-0x8C]
        mov      r8d, r13d
        add      r8d, dword ptr [rcx]
        dec      r8d
        mov      dword ptr [rcx], r8d
        lea      rcx, bword ptr [rbp-0x78]
        add      rcx, 4
        inc      r13d
        sub      dword ptr [rcx], r13d
        mov      rcx, rbx
        mov      r8d, r15d
        lea      rsi, bword ptr [rbp-0x78]
        mov      edx, r12d
        or       edx, 12
        lea      rdi, bword ptr [rbp-0x90]
        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])
        cmp      r14d, 3
        jne      SHORT G_M15646_IG05
        mov      rsi, bword ptr [rbp-0xB8]
        mov      rdi, bword ptr [rbp-0xC0]
        mov      rcx, rdi
        mov      edx, 2
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Divide(byref,byref,int,byref)
        call     [rax]System.Number:DiyFp128Divide(byref,byref,int,byref)
 						;; size=226 bbWeight=0.50 PerfScore 18.00
 G_M15646_IG05:
        test     r15d, r15d
        je       SHORT G_M15646_IG07
        mov      r15d, dword ptr [rbp-0xAC]
        mov      dword ptr [rbx], r15d
 						;; size=15 bbWeight=1 PerfScore 3.25
 G_M15646_IG06:
        add      rsp, 200
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
 G_M15646_IG07:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 536, prolog size 25, PerfScore 71.50, instruction count 119, allocated bytes for code 536 (MethodHash=ecc4c2e1) for method System.Number:DiyFp128Hyperbolic(byref,int,int,int,System.Span`1[System.Number+DiyFp128]) (FullOpts)
+; Total bytes of code 522, prolog size 25, PerfScore 67.00, instruction count 115, allocated bytes for code 522 (MethodHash=ecc4c2e1) for method System.Number:DiyFp128Hyperbolic(byref,int,int,int,System.Span`1[System.Number+DiyFp128]) (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>


<details>
<summary>-7 (-4.46 % of base) - System.Number:DiyFp128EvaluatePowLog2Polynomial(byref,byref)</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128EvaluatePowLog2Polynomial(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; 1 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 4 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T01] (  3,  3   )   byref  ->  rdi         single-def
 ;  V01 arg1         [V01,T00] (  7,  7   )   byref  ->  rbx         single-def
 ;  V02 loc0         [V02    ] (  5,  5   )  struct (24) [rbp-0x20]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V03 loc1         [V03,T04] (  2,  2   )    long  ->  rsi        
+;  V03 loc1         [V03,T02] (  2,  2   )    long  ->  rsi        
 ;  V04 loc2         [V04    ] (  2,  2   )  struct (24) [rbp-0x38]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
 ;* V07 tmp2         [V07    ] (  0,  0   )   byref  ->  zero-ref    "dup spill"
-;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V09 tmp4         [V09    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V10 tmp5         [V10,T02] (  2,  4   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;  V11 tmp6         [V11    ] (  4,  4   )     int  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V02._sign (fldOffset=0x0)" P-DEP
-;  V12 tmp7         [V12    ] (  5,  5   )     int  ->  [rbp-0x1C]  do-not-enreg[X] addr-exposed "field V02._exponent (fldOffset=0x4)" P-DEP
-;  V13 tmp8         [V13    ] (  4,  4   )    long  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed "field V02._hi (fldOffset=0x8)" P-DEP
-;  V14 tmp9         [V14    ] (  4,  4   )    long  ->  [rbp-0x10]  do-not-enreg[X] addr-exposed "field V02._lo (fldOffset=0x10)" P-DEP
-;* V15 tmp10        [V15    ] (  0,  0   )   byref  ->  zero-ref    "field V06._reference (fldOffset=0x0)" P-INDEP
-;* V16 tmp11        [V16    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
-;  V17 tmp12        [V17,T03] (  2,  2   )   byref  ->  rdx         "field V09._reference (fldOffset=0x0)" P-INDEP
-;* V18 tmp13        [V18,T05] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
+;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V09 tmp4         [V09    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V10 tmp5         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V11 tmp6         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V12 tmp7         [V12    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V13 tmp8         [V13    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V14 tmp9         [V14    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V15 tmp10        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V16 tmp11        [V16    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V17 tmp12        [V17    ] (  4,  4   )     int  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V02._sign (fldOffset=0x0)" P-DEP
+;  V18 tmp13        [V18    ] (  5,  5   )     int  ->  [rbp-0x1C]  do-not-enreg[X] addr-exposed "field V02._exponent (fldOffset=0x4)" P-DEP
+;  V19 tmp14        [V19    ] (  4,  4   )    long  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed "field V02._hi (fldOffset=0x8)" P-DEP
+;  V20 tmp15        [V20    ] (  4,  4   )    long  ->  [rbp-0x10]  do-not-enreg[X] addr-exposed "field V02._lo (fldOffset=0x10)" P-DEP
+;* V21 tmp16        [V21    ] (  0,  0   )   byref  ->  zero-ref    "field V06._reference (fldOffset=0x0)" P-INDEP
+;* V22 tmp17        [V22    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
+;* V23 tmp18        [V23    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;* V24 tmp19        [V24    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
+;* V25 tmp20        [V25    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V26 tmp21        [V26    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;* V27 tmp22        [V27    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V28 tmp23        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
+;* V29 tmp24        [V29    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V30 tmp25        [V30    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 56
 
 G_M29243_IG01:
        push     rbp
        push     rbx
        sub      rsp, 56
        lea      rbp, [rsp+0x40]
        mov      rbx, rsi
 						;; size=14 bbWeight=1 PerfScore 3.00
 G_M29243_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, -17
-       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, 18
        lea      rdi, [rbp-0x20]
        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 [rbp-0x20]
        vmovdqu  xmmword ptr [rbp-0x38], xmm0
        mov      rdi, qword ptr [rbp-0x10]
        mov      qword ptr [rbp-0x28], rdi
        lea      rdi, [rbp-0x38]
        mov      rsi, rbx
        mov      rdx, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Multiply(byref,byref,byref)
        call     [rax]System.Number:DiyFp128Multiply(byref,byref,byref)
        add      dword ptr [rbx+0x04], -4
-						;; size=136 bbWeight=1 PerfScore 32.00
+						;; size=129 bbWeight=1 PerfScore 29.75
 G_M29243_IG03:
        add      rsp, 56
        pop      rbx
        pop      rbp
        ret      
 						;; size=7 bbWeight=1 PerfScore 2.25
 
-; Total bytes of code 157, prolog size 11, PerfScore 37.25, instruction count 38, allocated bytes for code 157 (MethodHash=60388dc4) for method System.Number:DiyFp128EvaluatePowLog2Polynomial(byref,byref) (FullOpts)
+; Total bytes of code 150, prolog size 11, PerfScore 35.00, instruction count 36, allocated bytes for code 150 (MethodHash=60388dc4) for method System.Number:DiyFp128EvaluatePowLog2Polynomial(byref,byref) (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-7 (-2.37 % of base) - System.Number:DiyFp128Exp(byref):System.Number+DiyFp128</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128Exp(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; 1 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 RetBuf       [V00,T00] (  4,  4   )    long  ->  rbx         single-def
 ;  V01 arg0         [V01,T01] (  3,  3   )   byref  ->  r15         single-def
-;  V02 loc0         [V02,T05] (  2,  2   )     int  ->  r15        
-;  V03 loc1         [V03    ] (  5,  5   )  struct (24) [rbp-0x30]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V04 loc2         [V04    ] (  7,  6   )  struct (24) [rbp-0x48]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V05 loc3         [V05    ] (  2,  2   )  struct (24) [rbp-0x60]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
+;  V02 loc0         [V02,T03] (  2,  2   )     int  ->  r15        
+;  V03 loc1         [V03    ] (  5,  5   )  struct (24) [rbp-0x28]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V04 loc2         [V04    ] (  7,  6   )  struct (24) [rbp-0x40]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V05 loc3         [V05    ] (  2,  2   )  struct (24) [rbp-0x58]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] "impAppendStmt" <System.Number+DiyFp128>
 ;* V08 tmp2         [V08    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;* V09 tmp3         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V10 tmp4         [V10    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V11 tmp5         [V11,T02] (  2,  4   )     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;  V12 tmp6         [V12    ] (  9, 16   )  struct (24) [rbp-0x78]  do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" <System.Number+DiyFp128>
-;  V13 tmp7         [V13,T04] (  3,  2   )    long  ->  rsi         "Inline stloc first use temp"
-;  V14 tmp8         [V14    ] (  3,  2   )     int  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed "field V04._sign (fldOffset=0x0)" P-DEP
-;  V15 tmp9         [V15    ] (  7,  6   )     int  ->  [rbp-0x44]  do-not-enreg[X] addr-exposed "field V04._exponent (fldOffset=0x4)" P-DEP
-;  V16 tmp10        [V16    ] (  3,  2   )    long  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V04._hi (fldOffset=0x8)" P-DEP
-;  V17 tmp11        [V17    ] (  3,  2   )    long  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V04._lo (fldOffset=0x10)" P-DEP
-;* V18 tmp12        [V18    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
-;* V19 tmp13        [V19    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
-;  V20 tmp14        [V20,T03] (  3,  2   )   byref  ->  r14         "field V10._reference (fldOffset=0x0)" P-INDEP
-;* V21 tmp15        [V21,T10] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V22 tmp16        [V22    ] (  5,  6   )     int  ->  [rbp-0x78]  do-not-enreg[X] addr-exposed "field V12._sign (fldOffset=0x0)" P-DEP
-;  V23 tmp17        [V23    ] (  5,  6   )     int  ->  [rbp-0x74]  do-not-enreg[X] addr-exposed "field V12._exponent (fldOffset=0x4)" P-DEP
-;  V24 tmp18        [V24    ] (  4,  5   )    long  ->  [rbp-0x70]  do-not-enreg[X] addr-exposed "field V12._hi (fldOffset=0x8)" P-DEP
-;  V25 tmp19        [V25    ] (  4,  5   )    long  ->  [rbp-0x68]  do-not-enreg[X] addr-exposed "field V12._lo (fldOffset=0x10)" P-DEP
-;  V26 tmp20        [V26,T06] (  2,  2   )     int  ->  rdi         "V07.[000..004)"
-;  V27 tmp21        [V27,T07] (  2,  2   )     int  ->  rax         "V07.[004..008)"
-;  V28 tmp22        [V28,T08] (  2,  2   )    long  ->  rcx         "V07.[008..016)"
-;  V29 tmp23        [V29,T09] (  2,  2   )    long  ->  rdx         "V07.[016..024)"
+;* V09 tmp3         [V09    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V10 tmp4         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V11 tmp5         [V11    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V12 tmp6         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V13 tmp7         [V13    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V14 tmp8         [V14    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V15 tmp9         [V15    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V16 tmp10        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V17 tmp11        [V17    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V18 tmp12        [V18    ] (  9, 16   )  struct (24) [rbp-0x70]  do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" <System.Number+DiyFp128>
+;  V19 tmp13        [V19,T02] (  3,  2   )    long  ->  rsi         "Inline stloc first use temp"
+;  V20 tmp14        [V20    ] (  3,  2   )     int  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V04._sign (fldOffset=0x0)" P-DEP
+;  V21 tmp15        [V21    ] (  7,  6   )     int  ->  [rbp-0x3C]  do-not-enreg[X] addr-exposed "field V04._exponent (fldOffset=0x4)" P-DEP
+;  V22 tmp16        [V22    ] (  3,  2   )    long  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V04._hi (fldOffset=0x8)" P-DEP
+;  V23 tmp17        [V23    ] (  3,  2   )    long  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V04._lo (fldOffset=0x10)" P-DEP
+;* V24 tmp18        [V24    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;* V25 tmp19        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
+;* V26 tmp20        [V26    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
+;* V27 tmp21        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
+;* V28 tmp22        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
+;* V29 tmp23        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
+;* V30 tmp24        [V30    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V31 tmp25        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;* V32 tmp26        [V32    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;  V34 tmp28        [V34    ] (  5,  6   )     int  ->  [rbp-0x70]  do-not-enreg[X] addr-exposed "field V18._sign (fldOffset=0x0)" P-DEP
+;  V35 tmp29        [V35    ] (  5,  6   )     int  ->  [rbp-0x6C]  do-not-enreg[X] addr-exposed "field V18._exponent (fldOffset=0x4)" P-DEP
+;  V36 tmp30        [V36    ] (  4,  5   )    long  ->  [rbp-0x68]  do-not-enreg[X] addr-exposed "field V18._hi (fldOffset=0x8)" P-DEP
+;  V37 tmp31        [V37    ] (  4,  5   )    long  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed "field V18._lo (fldOffset=0x10)" P-DEP
+;  V38 tmp32        [V38,T04] (  2,  2   )     int  ->  rdi         "V07.[000..004)"
+;  V39 tmp33        [V39,T05] (  2,  2   )     int  ->  rax         "V07.[004..008)"
+;  V40 tmp34        [V40,T06] (  2,  2   )    long  ->  rcx         "V07.[008..016)"
+;  V41 tmp35        [V41,T07] (  2,  2   )    long  ->  rdx         "V07.[016..024)"
 ;
-; Lcl frame size = 104
+; Lcl frame size = 112
 
 G_M33303_IG01:
        push     rbp
        push     r15
-       push     r14
        push     rbx
-       sub      rsp, 104
+       sub      rsp, 112
        lea      rbp, [rsp+0x80]
        mov      rbx, rdi
        mov      r15, rsi
-						;; size=24 bbWeight=1 PerfScore 5.25
+						;; size=22 bbWeight=1 PerfScore 4.25
 G_M33303_IG02:
-       lea      rdi, [rbp-0x60]
+       lea      rdi, [rbp-0x58]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:get_ExpLn2Low():System.Number+DiyFp128
        call     [rax]System.Number:get_ExpLn2Low():System.Number+DiyFp128
-       lea      r9, [rbp-0x60]
-       lea      rsi, [rbp-0x30]
+       lea      r9, [rbp-0x58]
+       lea      rsi, [rbp-0x28]
        mov      rdi, r15
        mov      rdx, 0xD1FFAB1E
        mov      rcx, 0xD1FFAB1E
        xor      r8d, r8d
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128ExpReduce(byref,byref,ulong,ulong,int,byref):int
        call     [rax]System.Number:DiyFp128ExpReduce(byref,byref,ulong,ulong,int,byref):int
        mov      r15d, eax
-       mov      edi, dword ptr [rbp-0x30]
-       mov      eax, dword ptr [rbp-0x2C]
-       mov      rcx, qword ptr [rbp-0x28]
-       mov      rdx, qword ptr [rbp-0x20]
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      r14, gword ptr [rsi]
-       add      r14, 16
-       mov      dword ptr [rbp-0x78], edi
-       mov      dword ptr [rbp-0x74], eax
-       mov      qword ptr [rbp-0x70], rcx
-       mov      qword ptr [rbp-0x68], rdx
-       lea      rdi, [rbp-0x78]
+       mov      edi, dword ptr [rbp-0x28]
+       mov      eax, dword ptr [rbp-0x24]
+       mov      rcx, qword ptr [rbp-0x20]
+       mov      rdx, qword ptr [rbp-0x18]
+       mov      dword ptr [rbp-0x70], edi
+       mov      dword ptr [rbp-0x6C], eax
+       mov      qword ptr [rbp-0x68], rcx
+       mov      qword ptr [rbp-0x60], rdx
+       lea      rdi, [rbp-0x70]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Normalize(byref)
        call     [rax]System.Number:DiyFp128Normalize(byref)
-       movsxd   rdx, dword ptr [rbp-0x74]
+       movsxd   rdx, dword ptr [rbp-0x6C]
        imul     rsi, rdx, -22
-       cmp      dword ptr [rbp-0x78], 0
+       cmp      dword ptr [rbp-0x70], 0
        jne      SHORT G_M33303_IG04
-						;; size=140 bbWeight=1 PerfScore 28.50
+						;; size=123 bbWeight=1 PerfScore 26.00
 G_M33303_IG03:
-       lea      rdx, [rbp-0x48]
+       lea      rdx, [rbp-0x40]
        mov      qword ptr [rsp], rdx
-       mov      rdx, r14
+       mov      rdx, 0xD1FFAB1E      ; static handle
        mov      ecx, 23
-       lea      rdi, [rbp-0x78]
+       lea      rdi, [rbp-0x70]
        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_M33303_IG05
-						;; size=43 bbWeight=0.50 PerfScore 4.12
+						;; size=50 bbWeight=0.50 PerfScore 4.12
 G_M33303_IG04:
-       lea      rdx, [rbp-0x48]
+       lea      rdx, [rbp-0x40]
        mov      qword ptr [rsp], rdx
-       mov      rdx, r14
+       mov      rdx, 0xD1FFAB1E      ; static handle
        mov      ecx, 23
-       lea      rdi, [rbp-0x78]
+       lea      rdi, [rbp-0x70]
        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=41 bbWeight=0.50 PerfScore 3.12
+						;; size=48 bbWeight=0.50 PerfScore 3.12
 G_M33303_IG05:
-       mov      eax, dword ptr [rbp-0x44]
+       mov      eax, dword ptr [rbp-0x3C]
        inc      eax
-       mov      dword ptr [rbp-0x44], eax
-       add      r15d, dword ptr [rbp-0x44]
-       mov      dword ptr [rbp-0x44], r15d
-       vmovdqu  xmm0, xmmword ptr [rbp-0x48]
+       mov      dword ptr [rbp-0x3C], eax
+       add      r15d, dword ptr [rbp-0x3C]
+       mov      dword ptr [rbp-0x3C], r15d
+       vmovdqu  xmm0, xmmword ptr [rbp-0x40]
        vmovdqu  xmmword ptr [rbx], xmm0
-       mov      rax, qword ptr [rbp-0x38]
+       mov      rax, qword ptr [rbp-0x30]
        mov      qword ptr [rbx+0x10], rax
        mov      rax, rbx
 						;; size=36 bbWeight=1 PerfScore 8.50
 G_M33303_IG06:
-       add      rsp, 104
+       add      rsp, 112
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=11 bbWeight=1 PerfScore 3.25
+						;; size=9 bbWeight=1 PerfScore 2.75
 
-; Total bytes of code 295, prolog size 18, PerfScore 52.75, instruction count 73, allocated bytes for code 295 (MethodHash=a2077de8) for method System.Number:DiyFp128Exp(byref):System.Number+DiyFp128 (FullOpts)
+; Total bytes of code 288, prolog size 16, PerfScore 48.75, instruction count 68, allocated bytes for code 288 (MethodHash=a2077de8) for method System.Number:DiyFp128Exp(byref):System.Number+DiyFp128 (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-7 (-2.34 % of base) - System.Number:DiyFp128Exp10(byref):System.Number+DiyFp128</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128Exp10(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; 1 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 RetBuf       [V00,T00] (  4,  4   )    long  ->  rbx         single-def
 ;  V01 arg0         [V01,T01] (  3,  3   )   byref  ->  r15         single-def
-;  V02 loc0         [V02,T05] (  2,  2   )     int  ->  r15        
-;  V03 loc1         [V03    ] (  5,  5   )  struct (24) [rbp-0x30]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V04 loc2         [V04    ] (  7,  6   )  struct (24) [rbp-0x48]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
-;  V05 loc3         [V05    ] (  2,  2   )  struct (24) [rbp-0x60]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
+;  V02 loc0         [V02,T03] (  2,  2   )     int  ->  r15        
+;  V03 loc1         [V03    ] (  5,  5   )  struct (24) [rbp-0x28]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V04 loc2         [V04    ] (  7,  6   )  struct (24) [rbp-0x40]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Number+DiyFp128>
+;  V05 loc3         [V05    ] (  2,  2   )  struct (24) [rbp-0x58]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] "impAppendStmt" <System.Number+DiyFp128>
 ;* V08 tmp2         [V08    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;* V09 tmp3         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V10 tmp4         [V10    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V11 tmp5         [V11,T02] (  2,  4   )     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;  V12 tmp6         [V12    ] (  9, 16   )  struct (24) [rbp-0x78]  do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" <System.Number+DiyFp128>
-;  V13 tmp7         [V13,T04] (  3,  2   )    long  ->  rsi         "Inline stloc first use temp"
-;  V14 tmp8         [V14    ] (  3,  2   )     int  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed "field V04._sign (fldOffset=0x0)" P-DEP
-;  V15 tmp9         [V15    ] (  7,  6   )     int  ->  [rbp-0x44]  do-not-enreg[X] addr-exposed "field V04._exponent (fldOffset=0x4)" P-DEP
-;  V16 tmp10        [V16    ] (  3,  2   )    long  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V04._hi (fldOffset=0x8)" P-DEP
-;  V17 tmp11        [V17    ] (  3,  2   )    long  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V04._lo (fldOffset=0x10)" P-DEP
-;* V18 tmp12        [V18    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
-;* V19 tmp13        [V19    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
-;  V20 tmp14        [V20,T03] (  3,  2   )   byref  ->  r14         "field V10._reference (fldOffset=0x0)" P-INDEP
-;* V21 tmp15        [V21,T10] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V22 tmp16        [V22    ] (  5,  6   )     int  ->  [rbp-0x78]  do-not-enreg[X] addr-exposed "field V12._sign (fldOffset=0x0)" P-DEP
-;  V23 tmp17        [V23    ] (  5,  6   )     int  ->  [rbp-0x74]  do-not-enreg[X] addr-exposed "field V12._exponent (fldOffset=0x4)" P-DEP
-;  V24 tmp18        [V24    ] (  4,  5   )    long  ->  [rbp-0x70]  do-not-enreg[X] addr-exposed "field V12._hi (fldOffset=0x8)" P-DEP
-;  V25 tmp19        [V25    ] (  4,  5   )    long  ->  [rbp-0x68]  do-not-enreg[X] addr-exposed "field V12._lo (fldOffset=0x10)" P-DEP
-;  V26 tmp20        [V26,T06] (  2,  2   )     int  ->  rdi         "V07.[000..004)"
-;  V27 tmp21        [V27,T07] (  2,  2   )     int  ->  rax         "V07.[004..008)"
-;  V28 tmp22        [V28,T08] (  2,  2   )    long  ->  rcx         "V07.[008..016)"
-;  V29 tmp23        [V29,T09] (  2,  2   )    long  ->  rdx         "V07.[016..024)"
+;* V09 tmp3         [V09    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V10 tmp4         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V11 tmp5         [V11    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V12 tmp6         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V13 tmp7         [V13    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V14 tmp8         [V14    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V15 tmp9         [V15    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V16 tmp10        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V17 tmp11        [V17    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V18 tmp12        [V18    ] (  9, 16   )  struct (24) [rbp-0x70]  do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" <System.Number+DiyFp128>
+;  V19 tmp13        [V19,T02] (  3,  2   )    long  ->  rsi         "Inline stloc first use temp"
+;  V20 tmp14        [V20    ] (  3,  2   )     int  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V04._sign (fldOffset=0x0)" P-DEP
+;  V21 tmp15        [V21    ] (  7,  6   )     int  ->  [rbp-0x3C]  do-not-enreg[X] addr-exposed "field V04._exponent (fldOffset=0x4)" P-DEP
+;  V22 tmp16        [V22    ] (  3,  2   )    long  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V04._hi (fldOffset=0x8)" P-DEP
+;  V23 tmp17        [V23    ] (  3,  2   )    long  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V04._lo (fldOffset=0x10)" P-DEP
+;* V24 tmp18        [V24    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;* V25 tmp19        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
+;* V26 tmp20        [V26    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
+;* V27 tmp21        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
+;* V28 tmp22        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
+;* V29 tmp23        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
+;* V30 tmp24        [V30    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V31 tmp25        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;* V32 tmp26        [V32    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;  V34 tmp28        [V34    ] (  5,  6   )     int  ->  [rbp-0x70]  do-not-enreg[X] addr-exposed "field V18._sign (fldOffset=0x0)" P-DEP
+;  V35 tmp29        [V35    ] (  5,  6   )     int  ->  [rbp-0x6C]  do-not-enreg[X] addr-exposed "field V18._exponent (fldOffset=0x4)" P-DEP
+;  V36 tmp30        [V36    ] (  4,  5   )    long  ->  [rbp-0x68]  do-not-enreg[X] addr-exposed "field V18._hi (fldOffset=0x8)" P-DEP
+;  V37 tmp31        [V37    ] (  4,  5   )    long  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed "field V18._lo (fldOffset=0x10)" P-DEP
+;  V38 tmp32        [V38,T04] (  2,  2   )     int  ->  rdi         "V07.[000..004)"
+;  V39 tmp33        [V39,T05] (  2,  2   )     int  ->  rax         "V07.[004..008)"
+;  V40 tmp34        [V40,T06] (  2,  2   )    long  ->  rcx         "V07.[008..016)"
+;  V41 tmp35        [V41,T07] (  2,  2   )    long  ->  rdx         "V07.[016..024)"
 ;
-; Lcl frame size = 104
+; Lcl frame size = 112
 
 G_M60662_IG01:
        push     rbp
        push     r15
-       push     r14
        push     rbx
-       sub      rsp, 104
+       sub      rsp, 112
        lea      rbp, [rsp+0x80]
        mov      rbx, rdi
        mov      r15, rsi
-						;; size=24 bbWeight=1 PerfScore 5.25
+						;; size=22 bbWeight=1 PerfScore 4.25
 G_M60662_IG02:
-       lea      rdi, [rbp-0x60]
+       lea      rdi, [rbp-0x58]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:get_Exp10Ln2Low():System.Number+DiyFp128
        call     [rax]System.Number:get_Exp10Ln2Low():System.Number+DiyFp128
-       lea      r9, [rbp-0x60]
-       lea      rsi, [rbp-0x30]
+       lea      r9, [rbp-0x58]
+       lea      rsi, [rbp-0x28]
        mov      rdi, r15
        mov      rdx, 0xD1FFAB1E
        mov      rcx, 0xD1FFAB1E
        mov      r8d, -1
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128ExpReduce(byref,byref,ulong,ulong,int,byref):int
        call     [rax]System.Number:DiyFp128ExpReduce(byref,byref,ulong,ulong,int,byref):int
        mov      r15d, eax
-       mov      edi, dword ptr [rbp-0x30]
-       mov      eax, dword ptr [rbp-0x2C]
-       mov      rcx, qword ptr [rbp-0x28]
-       mov      rdx, qword ptr [rbp-0x20]
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      r14, gword ptr [rsi]
-       add      r14, 16
-       mov      dword ptr [rbp-0x78], edi
-       mov      dword ptr [rbp-0x74], eax
-       mov      qword ptr [rbp-0x70], rcx
-       mov      qword ptr [rbp-0x68], rdx
-       lea      rdi, [rbp-0x78]
+       mov      edi, dword ptr [rbp-0x28]
+       mov      eax, dword ptr [rbp-0x24]
+       mov      rcx, qword ptr [rbp-0x20]
+       mov      rdx, qword ptr [rbp-0x18]
+       mov      dword ptr [rbp-0x70], edi
+       mov      dword ptr [rbp-0x6C], eax
+       mov      qword ptr [rbp-0x68], rcx
+       mov      qword ptr [rbp-0x60], rdx
+       lea      rdi, [rbp-0x70]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128Normalize(byref)
        call     [rax]System.Number:DiyFp128Normalize(byref)
-       movsxd   rdx, dword ptr [rbp-0x74]
+       movsxd   rdx, dword ptr [rbp-0x6C]
        imul     rsi, rdx, -22
-       cmp      dword ptr [rbp-0x78], 0
+       cmp      dword ptr [rbp-0x70], 0
        jne      SHORT G_M60662_IG04
-						;; size=143 bbWeight=1 PerfScore 28.50
+						;; size=126 bbWeight=1 PerfScore 26.00
 G_M60662_IG03:
-       lea      rdx, [rbp-0x48]
+       lea      rdx, [rbp-0x40]
        mov      qword ptr [rsp], rdx
-       mov      rdx, r14
+       mov      rdx, 0xD1FFAB1E      ; static handle
        mov      ecx, 23
-       lea      rdi, [rbp-0x78]
+       lea      rdi, [rbp-0x70]
        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_M60662_IG05
-						;; size=43 bbWeight=0.50 PerfScore 4.12
+						;; size=50 bbWeight=0.50 PerfScore 4.12
 G_M60662_IG04:
-       lea      rdx, [rbp-0x48]
+       lea      rdx, [rbp-0x40]
        mov      qword ptr [rsp], rdx
-       mov      rdx, r14
+       mov      rdx, 0xD1FFAB1E      ; static handle
        mov      ecx, 23
-       lea      rdi, [rbp-0x78]
+       lea      rdi, [rbp-0x70]
        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=41 bbWeight=0.50 PerfScore 3.12
+						;; size=48 bbWeight=0.50 PerfScore 3.12
 G_M60662_IG05:
-       mov      eax, dword ptr [rbp-0x44]
+       mov      eax, dword ptr [rbp-0x3C]
        add      eax, 2
-       mov      dword ptr [rbp-0x44], eax
-       add      r15d, dword ptr [rbp-0x44]
-       mov      dword ptr [rbp-0x44], r15d
-       vmovdqu  xmm0, xmmword ptr [rbp-0x48]
+       mov      dword ptr [rbp-0x3C], eax
+       add      r15d, dword ptr [rbp-0x3C]
+       mov      dword ptr [rbp-0x3C], r15d
+       vmovdqu  xmm0, xmmword ptr [rbp-0x40]
        vmovdqu  xmmword ptr [rbx], xmm0
-       mov      rax, qword ptr [rbp-0x38]
+       mov      rax, qword ptr [rbp-0x30]
        mov      qword ptr [rbx+0x10], rax
        mov      rax, rbx
 						;; size=37 bbWeight=1 PerfScore 8.50
 G_M60662_IG06:
-       add      rsp, 104
+       add      rsp, 112
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=11 bbWeight=1 PerfScore 3.25
+						;; size=9 bbWeight=1 PerfScore 2.75
 
-; Total bytes of code 299, prolog size 18, PerfScore 52.75, instruction count 73, allocated bytes for code 299 (MethodHash=ecad1309) for method System.Number:DiyFp128Exp10(byref):System.Number+DiyFp128 (FullOpts)
+; Total bytes of code 292, prolog size 16, PerfScore 48.75, instruction count 68, allocated bytes for code 292 (MethodHash=ecad1309) for method System.Number:DiyFp128Exp10(byref):System.Number+DiyFp128 (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-7 (-4.96 % of base) - System.Number:DiyFp128Exp10M1(byref):System.Number+DiyFp128</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128Exp10M1(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; 1 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 4 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 RetBuf       [V00,T00] (  4,  4   )    long  ->  rbx         single-def
 ;  V01 arg0         [V01,T01] (  3,  3   )   byref  ->  r15         single-def
 ;  V02 loc0         [V02    ] (  2,  2   )  struct (24) [rbp-0x28]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V04 tmp1         [V04    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;* V05 tmp2         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V06 tmp3         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V07 tmp4         [V07,T02] (  2,  4   )     ref  ->   r9         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V08 tmp5         [V08    ] (  0,  0   )   byref  ->  zero-ref    "field V04._reference (fldOffset=0x0)" P-INDEP
-;* V09 tmp6         [V09    ] (  0,  0   )     int  ->  zero-ref    "field V04._length (fldOffset=0x8)" P-INDEP
-;  V10 tmp7         [V10,T03] (  2,  2   )   byref  ->   r9         "field V06._reference (fldOffset=0x0)" P-INDEP
-;* V11 tmp8         [V11,T04] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
+;* V05 tmp2         [V05    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V06 tmp3         [V06    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V07 tmp4         [V07    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V08 tmp5         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V09 tmp6         [V09    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V10 tmp7         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V11 tmp8         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V12 tmp9         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V13 tmp10        [V13    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V14 tmp11        [V14    ] (  0,  0   )   byref  ->  zero-ref    "field V04._reference (fldOffset=0x0)" P-INDEP
+;* V15 tmp12        [V15    ] (  0,  0   )     int  ->  zero-ref    "field V04._length (fldOffset=0x8)" P-INDEP
+;* V16 tmp13        [V16    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
+;* V17 tmp14        [V17    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
+;* V18 tmp15        [V18    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;* V19 tmp16        [V19    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
+;* V20 tmp17        [V20    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V21 tmp18        [V21    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;* V22 tmp19        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
+;* V23 tmp20        [V23    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 64
 
 G_M2986_IG01:
        push     rbp
        push     r15
        push     rbx
        sub      rsp, 64
        lea      rbp, [rsp+0x50]
        mov      rbx, rdi
        mov      r15, rsi
 						;; size=19 bbWeight=1 PerfScore 4.25
 G_M2986_IG02:
        lea      rdi, [rbp-0x28]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:get_Exp10Ln2Low():System.Number+DiyFp128
        call     [rax]System.Number:get_Exp10Ln2Low():System.Number+DiyFp128
-       mov      r9, 0xD1FFAB1E      ; const ptr
-       mov      r9, gword ptr [r9]
-       add      r9, 16
+       mov      r9, 0xD1FFAB1E      ; static handle
        mov      edi, 23
        mov      bword ptr [rsp], r9
        mov      dword ptr [rsp+0x08], edi
        mov      dword ptr [rsp+0x10], 22
        mov      dword ptr [rsp+0x18], 2
        lea      r9, [rbp-0x28]
        mov      rdi, rbx
        mov      rsi, r15
        mov      rdx, 0xD1FFAB1E
        mov      rcx, 0xD1FFAB1E
        mov      r8d, -1
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128ExpM1(byref,ulong,ulong,int,byref,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,int):System.Number+DiyFp128
        call     [rax]System.Number:DiyFp128ExpM1(byref,ulong,ulong,int,byref,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,int):System.Number+DiyFp128
        mov      rax, rbx
-						;; size=113 bbWeight=1 PerfScore 15.75
+						;; size=106 bbWeight=1 PerfScore 13.50
 G_M2986_IG03:
        add      rsp, 64
        pop      rbx
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=1 PerfScore 2.75
 
-; Total bytes of code 141, prolog size 13, PerfScore 22.75, instruction count 32, allocated bytes for code 141 (MethodHash=9b74f455) for method System.Number:DiyFp128Exp10M1(byref):System.Number+DiyFp128 (FullOpts)
+; Total bytes of code 134, prolog size 13, PerfScore 20.50, instruction count 30, allocated bytes for code 134 (MethodHash=9b74f455) for method System.Number:DiyFp128Exp10M1(byref):System.Number+DiyFp128 (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-7 (-5.07 % of base) - System.Number:DiyFp128ExpM1(byref):System.Number+DiyFp128</summary>

```diff
 ; Assembly listing for method System.Number:DiyFp128ExpM1(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; 1 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 4 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 RetBuf       [V00,T00] (  4,  4   )    long  ->  rbx         single-def
 ;  V01 arg0         [V01,T01] (  3,  3   )   byref  ->  r15         single-def
 ;  V02 loc0         [V02    ] (  2,  2   )  struct (24) [rbp-0x28]  do-not-enreg[XDAS] addr-exposed defined-via-address ld-addr-op <System.Number+DiyFp128>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V04 tmp1         [V04    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;* V05 tmp2         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V06 tmp3         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
-;  V07 tmp4         [V07,T02] (  2,  4   )     ref  ->   r9         class-hnd exact single-def "Inlining Arg" <System.Number+DiyFp128FixedCoefficient[]>
-;* V08 tmp5         [V08    ] (  0,  0   )   byref  ->  zero-ref    "field V04._reference (fldOffset=0x0)" P-INDEP
-;* V09 tmp6         [V09    ] (  0,  0   )     int  ->  zero-ref    "field V04._length (fldOffset=0x8)" P-INDEP
-;  V10 tmp7         [V10,T03] (  2,  2   )   byref  ->   r9         "field V06._reference (fldOffset=0x0)" P-INDEP
-;* V11 tmp8         [V11,T04] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
+;* V05 tmp2         [V05    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V06 tmp3         [V06    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V07 tmp4         [V07    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V08 tmp5         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V09 tmp6         [V09    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V10 tmp7         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V11 tmp8         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient]>
+;* V12 tmp9         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V13 tmp10        [V13    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V14 tmp11        [V14    ] (  0,  0   )   byref  ->  zero-ref    "field V04._reference (fldOffset=0x0)" P-INDEP
+;* V15 tmp12        [V15    ] (  0,  0   )     int  ->  zero-ref    "field V04._length (fldOffset=0x8)" P-INDEP
+;* V16 tmp13        [V16    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
+;* V17 tmp14        [V17    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
+;* V18 tmp15        [V18    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;* V19 tmp16        [V19    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
+;* V20 tmp17        [V20    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V21 tmp18        [V21    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;* V22 tmp19        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
+;* V23 tmp20        [V23    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 64
 
 G_M34187_IG01:
        push     rbp
        push     r15
        push     rbx
        sub      rsp, 64
        lea      rbp, [rsp+0x50]
        mov      rbx, rdi
        mov      r15, rsi
 						;; size=19 bbWeight=1 PerfScore 4.25
 G_M34187_IG02:
        lea      rdi, [rbp-0x28]
        mov      rax, 0xD1FFAB1E      ; code for System.Number:get_ExpLn2Low():System.Number+DiyFp128
        call     [rax]System.Number:get_ExpLn2Low():System.Number+DiyFp128
-       mov      r9, 0xD1FFAB1E      ; const ptr
-       mov      r9, gword ptr [r9]
-       add      r9, 16
+       mov      r9, 0xD1FFAB1E      ; static handle
        mov      edi, 23
        mov      bword ptr [rsp], r9
        mov      dword ptr [rsp+0x08], edi
        mov      dword ptr [rsp+0x10], 22
        mov      dword ptr [rsp+0x18], 1
        lea      r9, [rbp-0x28]
        mov      rdi, rbx
        mov      rsi, r15
        mov      rdx, 0xD1FFAB1E
        mov      rcx, 0xD1FFAB1E
        xor      r8d, r8d
        mov      rax, 0xD1FFAB1E      ; code for System.Number:DiyFp128ExpM1(byref,ulong,ulong,int,byref,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,int):System.Number+DiyFp128
        call     [rax]System.Number:DiyFp128ExpM1(byref,ulong,ulong,int,byref,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,int):System.Number+DiyFp128
        mov      rax, rbx
-						;; size=110 bbWeight=1 PerfScore 15.75
+						;; size=103 bbWeight=1 PerfScore 13.50
 G_M34187_IG03:
        add      rsp, 64
        pop      rbx
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=1 PerfScore 2.75
 
-; Total bytes of code 138, prolog size 13, PerfScore 22.75, instruction count 32, allocated bytes for code 138 (MethodHash=e28a7a74) for method System.Number:DiyFp128ExpM1(byref):System.Number+DiyFp128 (FullOpts)
+; Total bytes of code 131, prolog size 13, PerfScore 20.50, instruction count 30, allocated bytes for code 131 (MethodHash=e28a7a74) for method System.Number:DiyFp128ExpM1(byref):System.Number+DiyFp128 (FullOpts)
 ; ============================================================
```

</details>



