## Top method improvements

<details>
<summary>-120 (-41.67 % of base) - System.Half:CompareTo(System.Object):int:this</summary>

```diff
 ; Assembly listing for method System.Half:CompareTo(System.Object):int:this (FullOpts)
 ; Emitting BLENDED_CODE for arm64 + SVE on Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
-; partially interruptible
+; fully interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 3 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  3,  2.50)   byref  ->   x0         this single-def
 ;  V01 arg1         [V01,T00] (  5,  3.75)     ref  ->   x1         class-hnd single-def <System.Object>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct ( 8) zero-ref    <System.Half>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]   do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
 ;* V04 tmp1         [V04    ] (  0,  0   )     int  ->  zero-ref    "spilling qmarkNull"
-;  V05 tmp2         [V05,T11] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-;  V06 tmp3         [V06,T04] (  4,  2   )     int  ->   x0         "Inline return value spill temp"
-;  V07 tmp4         [V07,T06] (  2,  2   )     int  ->   x0         "impAppendStmt"
-;* V08 tmp5         [V08    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Half>
-;  V09 tmp6         [V09,T02] (  4,  4   )  ushort  ->   x0         "Inlining Arg"
-;  V10 tmp7         [V10,T07] (  3,  1.50)     int  ->   x2         "Inline return value spill temp"
-;  V11 tmp8         [V11,T03] (  4,  4   )  ushort  ->   x1         "Inlining Arg"
-;  V12 tmp9         [V12,T05] (  4,  2   )  ushort  ->   x1         "field V02._value (fldOffset=0x0)" P-INDEP
-;  V13 tmp10        [V13,T09] (  2,  1   )  ushort  ->   x2         "field V08._value (fldOffset=0x0)" P-INDEP
-;  V14 tmp11        [V14,T12] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;  V15 cse0         [V15,T08] (  3,  1.50)     int  ->   x0         "CSE #04: aggressive"
-;  V16 cse1         [V16,T10] (  2,  0.50)    long  ->   x3         "CSE #01: aggressive"
+;  V05 tmp2         [V05,T03] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+;* V06 tmp3         [V06    ] (  0,  0   )  ushort  ->  zero-ref    "field V02._value (fldOffset=0x0)" P-INDEP
+;  V07 tmp4         [V07,T04] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
+;  V08 cse0         [V08,T02] (  2,  0.50)    long  ->   x3         "CSE #01: aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M32638_IG01:
             stp     fp, lr, [sp, #-0x20]!
             str     x19, [sp, #0x18]
             mov     fp, sp
 						;; size=12 bbWeight=1 PerfScore 2.50
 G_M32638_IG02:
-            cbz     x1, G_M32638_IG10
+            cbz     x1, G_M32638_IG06
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M32638_IG03:
             ldr     x2, [x1]
             movz    x3, #0xD1FFAB1E
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             cmp     x2, x3
-            bne     G_M32638_IG12
+            bne     G_M32638_IG08
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M32638_IG04:
             ldrh    w1, [x1, #0x08]
-            ldrh    w0, [x0]
-            uxth    w2, w0
-            mov     w2, w2
-            and     x2, x2, #0xD1FFAB1E
-            mov     x3, #0xD1FFAB1E
-            cmp     x2, x3
-            bgt     G_M32638_IG08
-            mov     w2, w1
-            and     x2, x2, #0xD1FFAB1E
-            mov     x3, #0xD1FFAB1E
-            cmp     x2, x3
-            bgt     G_M32638_IG07
-            add     w2, w0, #8, LSL #12
-            and     w3, w0, #0xD1FFAB1E
-            neg     w3, w3
-            add     w3, w3, #8, LSL #12
-            tst     w0, #0xD1FFAB1E
-            csel    w0, w2, w3, eq
-            tbnz    w1, #15, G_M32638_IG05
-            add     w2, w1, #8, LSL #12
-            b       G_M32638_IG06
-						;; size=88 bbWeight=0.50 PerfScore 9.00
+            movz    x2, #0xD1FFAB1E      // code for System.Half:CompareTo(System.Half):int:this
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+						;; size=20 bbWeight=0.50 PerfScore 3.75
 G_M32638_IG05:
-            and     w2, w1, #0xD1FFAB1E
-            neg     w1, w2
-            add     w2, w1, #8, LSL #12
-						;; size=12 bbWeight=0.50 PerfScore 0.75
-G_M32638_IG06:
-            sub     w0, w0, w2
-            b       G_M32638_IG09
-						;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M32638_IG07:
-            mov     w0, #1
-            b       G_M32638_IG09
-						;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M32638_IG08:
-            mov     w0, w1
-            and     x0, x0, #0xD1FFAB1E
-            mov     x1, #0xD1FFAB1E
-            movn    w2, #0
-            cmp     x0, x1
-            cinc    w0, w2, gt
-						;; size=24 bbWeight=0.50 PerfScore 1.50
-G_M32638_IG09:
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
-            ret     lr
+            br      x2      // code for System.Half:CompareTo(System.Half):int:this
 						;; size=12 bbWeight=0.50 PerfScore 2.00
-G_M32638_IG10:
+G_M32638_IG06:
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M32638_IG11:
+G_M32638_IG07:
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 2.00
-G_M32638_IG12:
+G_M32638_IG08:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x0, #0xD1FFAB1E      // code for System.SR:get_Arg_MustBeHalf():System.String
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0      // code for System.SR:get_Arg_MustBeHalf():System.String
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for System.ArgumentException:.ctor(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2      // code for System.ArgumentException:.ctor(System.String):this
             mov     x0, x19
             bl      CORINFO_HELP_THROW
             brk     #0
 						;; size=80 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 288, prolog size 12, PerfScore 22.00, instruction count 72, allocated bytes for code 288 (MethodHash=93f48081) for method System.Half:CompareTo(System.Object):int:this (FullOpts)
+; Total bytes of code 168, prolog size 12, PerfScore 13.00, instruction count 42, allocated bytes for code 168 (MethodHash=93f48081) for method System.Half:CompareTo(System.Object):int:this (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-100 (-64.10 % of base) - System.Half:op_LessThanOrEqual(System.Half,System.Half):bool</summary>

```diff
 ; Assembly listing for method System.Half:op_LessThanOrEqual(System.Half,System.Half):bool (FullOpts)
 ; Emitting BLENDED_CODE for arm64 + SVE on Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Half>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Half>
-;  V02 loc0         [V02,T05] (  4,  2   )   ubyte  ->   x0        
+;* V02 loc0         [V02    ] (  0,  0   )   ubyte  ->  zero-ref   
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]   do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;  V04 tmp1         [V04,T03] (  3,  3   )     int  ->   x0         "Single return block return value"
-;  V05 tmp2         [V05,T00] (  3,  2.50)  ushort  ->   x0         single-def "field V00._value (fldOffset=0x0)" P-INDEP
-;  V06 tmp3         [V06,T01] (  3,  2   )  ushort  ->   x1         single-def "field V01._value (fldOffset=0x0)" P-INDEP
-;  V07 cse0         [V07,T04] (  5,  2.50)     int  ->   x3         "CSE #02: aggressive"
-;  V08 cse1         [V08,T02] (  5,  3.50)     int  ->   x2         "CSE #01: aggressive"
+;  V04 tmp1         [V04,T00] (  2,  2   )  ushort  ->   x0         single-def "field V00._value (fldOffset=0x0)" P-INDEP
+;  V05 tmp2         [V05,T01] (  2,  2   )  ushort  ->   x1         single-def "field V01._value (fldOffset=0x0)" P-INDEP
 ;
 ; Lcl frame size = 0
 
 G_M8986_IG01:
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M8986_IG02:
-            uxth    w2, w0
-            mov     w3, w2
-            and     x3, x3, #0xD1FFAB1E
-            mov     x4, #0xD1FFAB1E
-            cmp     x3, x4
-            bgt     G_M8986_IG09
-						;; size=24 bbWeight=1 PerfScore 3.50
+            movi    v16.4s, #0
+            uxth    w0, w0
+            ins     v16.h[0], w0
+            fcvt    s16, h16
+            movi    v17.4s, #0
+            uxth    w0, w1
+            ins     v17.h[0], w0
+            fcvt    s17, h17
+            fcmp    s16, s17
+            cset    x0, ls
+						;; size=40 bbWeight=1 PerfScore 11.50
 G_M8986_IG03:
-            uxth    w3, w1
-            mov     w4, w3
-            and     x4, x4, #0xD1FFAB1E
-            mov     x5, #0xD1FFAB1E
-            cmp     x4, x5
-            bgt     G_M8986_IG09
-            sxth    w0, w0
-            lsr     w0, w0, #31
-            sxth    w1, w1
-            lsr     w1, w1, #31
-            cmp     w0, w1
-            bne     G_M8986_IG04
-            cmp     w2, w3
-            beq     G_M8986_IG05
-            cmp     w2, w3
-            cset    x2, lt
-            eor     w0, w2, w0
-            uxtb    w0, w0
-            b       G_M8986_IG08
-						;; size=76 bbWeight=0.50 PerfScore 6.25
-G_M8986_IG04:
-            cbz     w0, G_M8986_IG07
-						;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M8986_IG05:
-            mov     w0, #1
-						;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M8986_IG06:
             ldp     fp, lr, [sp], #0x10
             ret     lr
-						;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M8986_IG07:
-            orr     w0, w2, w3
-            tst     w0, #0xD1FFAB1E
-            cset    x0, eq
-						;; size=12 bbWeight=0.50 PerfScore 0.75
-G_M8986_IG08:
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-						;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M8986_IG09:
-            mov     w0, wzr
-						;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M8986_IG10:
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-						;; size=8 bbWeight=0.50 PerfScore 1.00
+						;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 156, prolog size 8, PerfScore 16.00, instruction count 39, allocated bytes for code 156 (MethodHash=e170dce5) for method System.Half:op_LessThanOrEqual(System.Half,System.Half):bool (FullOpts)
+; Total bytes of code 56, prolog size 8, PerfScore 15.00, instruction count 14, allocated bytes for code 56 (MethodHash=e170dce5) for method System.Half:op_LessThanOrEqual(System.Half,System.Half):bool (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-88 (-61.11 % of base) - System.Half:op_LessThan(System.Half,System.Half):bool</summary>

```diff
 ; Assembly listing for method System.Half:op_LessThan(System.Half,System.Half):bool (FullOpts)
 ; Emitting BLENDED_CODE for arm64 + SVE on Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Half>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Half>
-;  V02 loc0         [V02,T05] (  4,  2   )   ubyte  ->   x0        
+;* V02 loc0         [V02    ] (  0,  0   )   ubyte  ->  zero-ref   
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]   do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;  V04 tmp1         [V04,T03] (  3,  3   )     int  ->   x0         "Single return block return value"
-;  V05 tmp2         [V05,T00] (  3,  2.50)  ushort  ->   x0         single-def "field V00._value (fldOffset=0x0)" P-INDEP
-;  V06 tmp3         [V06,T01] (  3,  2   )  ushort  ->   x1         single-def "field V01._value (fldOffset=0x0)" P-INDEP
-;  V07 cse0         [V07,T04] (  5,  2.50)     int  ->   x3         "CSE #02: aggressive"
-;  V08 cse1         [V08,T02] (  5,  3.50)     int  ->   x2         "CSE #01: aggressive"
+;  V04 tmp1         [V04,T00] (  2,  2   )  ushort  ->   x0         single-def "field V00._value (fldOffset=0x0)" P-INDEP
+;  V05 tmp2         [V05,T01] (  2,  2   )  ushort  ->   x1         single-def "field V01._value (fldOffset=0x0)" P-INDEP
 ;
 ; Lcl frame size = 0
 
 G_M34315_IG01:
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M34315_IG02:
-            uxth    w2, w0
-            mov     w3, w2
-            and     x3, x3, #0xD1FFAB1E
-            mov     x4, #0xD1FFAB1E
-            cmp     x3, x4
-            bgt     G_M34315_IG05
-						;; size=24 bbWeight=1 PerfScore 3.50
+            movi    v16.4s, #0
+            uxth    w0, w0
+            ins     v16.h[0], w0
+            fcvt    s16, h16
+            movi    v17.4s, #0
+            uxth    w0, w1
+            ins     v17.h[0], w0
+            fcvt    s17, h17
+            fcmp    s16, s17
+            cset    x0, lo
+						;; size=40 bbWeight=1 PerfScore 11.50
 G_M34315_IG03:
-            uxth    w3, w1
-            mov     w4, w3
-            and     x4, x4, #0xD1FFAB1E
-            mov     x5, #0xD1FFAB1E
-            cmp     x4, x5
-            bgt     G_M34315_IG05
-            sxth    w0, w0
-            lsr     w0, w0, #31
-            sxth    w1, w1
-            lsr     w1, w1, #31
-            cmp     w0, w1
-            bne     G_M34315_IG04
-            cmp     w2, w3
-            beq     G_M34315_IG05
-            cmp     w2, w3
-            cset    x3, lt
-            eor     w0, w3, w0
-            uxtb    w0, w0
-            b       G_M34315_IG08
-						;; size=76 bbWeight=0.50 PerfScore 6.25
-G_M34315_IG04:
-            cbnz    w0, G_M34315_IG07
-						;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M34315_IG05:
-            mov     w0, wzr
-						;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M34315_IG06:
             ldp     fp, lr, [sp], #0x10
             ret     lr
-						;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M34315_IG07:
-            orr     w0, w2, w3
-            tst     w0, #0xD1FFAB1E
-            cset    x0, ne
-						;; size=12 bbWeight=0.50 PerfScore 0.75
-G_M34315_IG08:
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-						;; size=8 bbWeight=0.50 PerfScore 1.00
+						;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 144, prolog size 8, PerfScore 14.75, instruction count 36, allocated bytes for code 144 (MethodHash=27a079f4) for method System.Half:op_LessThan(System.Half,System.Half):bool (FullOpts)
+; Total bytes of code 56, prolog size 8, PerfScore 15.00, instruction count 14, allocated bytes for code 56 (MethodHash=27a079f4) for method System.Half:op_LessThan(System.Half,System.Half):bool (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-88 (-37.93 % of base) - System.Half:System.Numerics.INumberBase<System.Half>.TryConvertToSaturating[byte](System.Half,byref):bool</summary>

```diff
 ; Assembly listing for method System.Half:System.Numerics.INumberBase<System.Half>.TryConvertToSaturating[byte](System.Half,byref):bool (FullOpts)
 ; Emitting BLENDED_CODE for arm64 + SVE on Unix
 ; FullOpts code
 ; optimized code
 ; fp 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; 3 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Half>
-;  V01 arg1         [V01,T00] (  3,  3   )   byref  ->  x19         single-def
+;  V01 arg1         [V01,T00] (  3,  3   )   byref  ->   x1         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]   do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
 ;* V03 tmp1         [V03    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V04 tmp2         [V04    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Half>
-;  V05 tmp3         [V05,T03] (  4,  2.50)     int  ->  x21        
+;* V04 tmp2         [V04    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;  V05 tmp3         [V05,T02] (  4,  2.50)     int  ->   x0        
 ;* V06 tmp4         [V06    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V07 tmp5         [V07    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Half>
-;  V08 tmp6         [V08,T01] (  2,  2   )  ushort  ->  x20         single-def "field V00._value (fldOffset=0x0)" P-INDEP
-;  V09 tmp7         [V09,T04] (  2,  2   )  ushort  ->   x0         "field V04._value (fldOffset=0x0)" P-INDEP
-;  V10 tmp8         [V10,T05] (  2,  1   )  ushort  ->   x1         "field V07._value (fldOffset=0x0)" P-INDEP
-;  V11 cse0         [V11,T02] (  4,  3   )     int  ->  x20         "CSE #01: aggressive"
+;* V07 tmp5         [V07    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;* V08 tmp6         [V08    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;* V09 tmp7         [V09    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;  V10 tmp8         [V10,T01] (  2,  2   )  ushort  ->   x0         single-def "field V00._value (fldOffset=0x0)" P-INDEP
+;* V11 tmp9         [V11    ] (  0,  0   )  ushort  ->  zero-ref    "field V04._value (fldOffset=0x0)" P-INDEP
+;* V12 tmp10        [V12    ] (  0,  0   )  ushort  ->  zero-ref    "field V07._value (fldOffset=0x0)" P-INDEP
+;  V13 tmp11        [V13,T03] (  2,  2   )  ushort  ->   x2         "field V08._value (fldOffset=0x0)" P-INDEP
+;  V14 tmp12        [V14,T04] (  2,  1   )  ushort  ->   x0         "field V09._value (fldOffset=0x0)" P-INDEP
+;  V15 cse0         [V15,T05] (  4,  3   )  simd16  ->  d16         "CSE #02: aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M61822_IG01:
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
-            mov     w20, w0
-            mov     x19, x1
-						;; size=24 bbWeight=1 PerfScore 4.50
+						;; size=8 bbWeight=1 PerfScore 1.50
 G_M61822_IG02:
-            ldr     s0, [@RWD00]
-            movz    x0, #0xD1FFAB1E      // code for System.Half:op_Explicit(float):System.Half
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-            blr     x0      // code for System.Half:op_Explicit(float):System.Half
+            ldr     q16, [@RWD00]
+            fcvt    h16, s16
+            umov    w2, v16.h[0]
+            movi    v16.4s, #0
             uxth    w0, w0
-            uxth    w20, w20
-            mov     w1, w20
-            movz    x2, #0xD1FFAB1E      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
+            ins     v16.h[0], w0
+            movi    v17.4s, #0
+            ins     v17.h[0], w2
+            fcmp    h16, h17
+            cset    w0, ge
             cbz     w0, G_M61822_IG04
-						;; size=60 bbWeight=1 PerfScore 15.50
+						;; size=44 bbWeight=1 PerfScore 12.00
 G_M61822_IG03:
-            mov     w21, #255
+            mov     w0, #255
             b       G_M61822_IG06
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M61822_IG04:
-            movi    v0.16b, #0
-            movz    x0, #0xD1FFAB1E      // code for System.Half:op_Explicit(float):System.Half
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-            blr     x0      // code for System.Half:op_Explicit(float):System.Half
-            uxth    w1, w0
-            mov     w0, w20
-            uxth    w1, w1
-            movz    x2, #0xD1FFAB1E      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
+            movi    v17.4s, #0
+            fcvt    h17, s17
+            umov    w0, v17.h[0]
+            movi    v17.4s, #0
+            ins     v17.h[0], w0
+            fcmp    h16, h17
+            cset    w0, ls
             cbz     w0, G_M61822_IG05
-            mov     w21, wzr
+            mov     w0, wzr
             b       G_M61822_IG06
-						;; size=68 bbWeight=0.50 PerfScore 7.75
+						;; size=40 bbWeight=0.50 PerfScore 5.00
 G_M61822_IG05:
-            mov     w0, w20
-            movz    x1, #0xD1FFAB1E      // code for System.Half:op_Explicit(System.Half):float
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1      // code for System.Half:op_Explicit(System.Half):float
-            movi    v16.2s, #0
-            fmax    s16, s0, s16
-            ldr     d17, [@RWD04]
+            fcvt    s16, h16
+            movi    v17.2s, #0
+            fmax    s16, s16, s17
+            ldr     d17, [@RWD00]
             fmin    s16, s16, s17
             fcvtzs  w0, s16
-            uxtb    w21, w0
-						;; size=48 bbWeight=0.50 PerfScore 8.50
+            uxtb    w0, w0
+						;; size=28 bbWeight=0.50 PerfScore 7.00
 G_M61822_IG06:
-            strb    w21, [x19]
+            strb    w0, [x1]
             mov     w0, #1
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M61822_IG07:
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x10
             ret     lr
-						;; size=16 bbWeight=1 PerfScore 5.00
-RWD00  	dd	437F0000h		;       255
-RWD04  	dq	437F0000437F0000h
+						;; size=8 bbWeight=1 PerfScore 2.00
+RWD00  	dq	437F0000437F0000h, 437F0000437F0000h
 
 
-; Total bytes of code 232, prolog size 16, PerfScore 43.50, instruction count 58, allocated bytes for code 232 (MethodHash=c1320e81) for method System.Half:System.Numerics.INumberBase<System.Half>.TryConvertToSaturating[byte](System.Half,byref):bool (FullOpts)
+; Total bytes of code 144, prolog size 8, PerfScore 29.75, instruction count 36, allocated bytes for code 144 (MethodHash=c1320e81) for method System.Half:System.Numerics.INumberBase<System.Half>.TryConvertToSaturating[byte](System.Half,byref):bool (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-88 (-37.93 % of base) - System.Half:System.Numerics.INumberBase<System.Half>.TryConvertToTruncating[byte](System.Half,byref):bool</summary>

```diff
 ; Assembly listing for method System.Half:System.Numerics.INumberBase<System.Half>.TryConvertToTruncating[byte](System.Half,byref):bool (FullOpts)
 ; Emitting BLENDED_CODE for arm64 + SVE on Unix
 ; FullOpts code
 ; optimized code
 ; fp 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; 3 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Half>
-;  V01 arg1         [V01,T00] (  3,  3   )   byref  ->  x19         single-def
+;  V01 arg1         [V01,T00] (  3,  3   )   byref  ->   x1         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]   do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
 ;* V03 tmp1         [V03    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V04 tmp2         [V04    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Half>
-;  V05 tmp3         [V05,T03] (  4,  2.50)     int  ->  x21        
+;* V04 tmp2         [V04    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;  V05 tmp3         [V05,T02] (  4,  2.50)     int  ->   x0        
 ;* V06 tmp4         [V06    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V07 tmp5         [V07    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Half>
-;  V08 tmp6         [V08,T01] (  2,  2   )  ushort  ->  x20         single-def "field V00._value (fldOffset=0x0)" P-INDEP
-;  V09 tmp7         [V09,T04] (  2,  2   )  ushort  ->   x0         "field V04._value (fldOffset=0x0)" P-INDEP
-;  V10 tmp8         [V10,T05] (  2,  1   )  ushort  ->   x1         "field V07._value (fldOffset=0x0)" P-INDEP
-;  V11 cse0         [V11,T02] (  4,  3   )     int  ->  x20         "CSE #01: aggressive"
+;* V07 tmp5         [V07    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;* V08 tmp6         [V08    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;* V09 tmp7         [V09    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;  V10 tmp8         [V10,T01] (  2,  2   )  ushort  ->   x0         single-def "field V00._value (fldOffset=0x0)" P-INDEP
+;* V11 tmp9         [V11    ] (  0,  0   )  ushort  ->  zero-ref    "field V04._value (fldOffset=0x0)" P-INDEP
+;* V12 tmp10        [V12    ] (  0,  0   )  ushort  ->  zero-ref    "field V07._value (fldOffset=0x0)" P-INDEP
+;  V13 tmp11        [V13,T03] (  2,  2   )  ushort  ->   x2         "field V08._value (fldOffset=0x0)" P-INDEP
+;  V14 tmp12        [V14,T04] (  2,  1   )  ushort  ->   x0         "field V09._value (fldOffset=0x0)" P-INDEP
+;  V15 cse0         [V15,T05] (  4,  3   )  simd16  ->  d16         "CSE #02: aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M8897_IG01:
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
-            mov     w20, w0
-            mov     x19, x1
-						;; size=24 bbWeight=1 PerfScore 4.50
+						;; size=8 bbWeight=1 PerfScore 1.50
 G_M8897_IG02:
-            ldr     s0, [@RWD00]
-            movz    x0, #0xD1FFAB1E      // code for System.Half:op_Explicit(float):System.Half
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-            blr     x0      // code for System.Half:op_Explicit(float):System.Half
+            ldr     q16, [@RWD00]
+            fcvt    h16, s16
+            umov    w2, v16.h[0]
+            movi    v16.4s, #0
             uxth    w0, w0
-            uxth    w20, w20
-            mov     w1, w20
-            movz    x2, #0xD1FFAB1E      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
+            ins     v16.h[0], w0
+            movi    v17.4s, #0
+            ins     v17.h[0], w2
+            fcmp    h16, h17
+            cset    w0, ge
             cbz     w0, G_M8897_IG04
-						;; size=60 bbWeight=1 PerfScore 15.50
+						;; size=44 bbWeight=1 PerfScore 12.00
 G_M8897_IG03:
-            mov     w21, #255
+            mov     w0, #255
             b       G_M8897_IG06
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M8897_IG04:
-            movi    v0.16b, #0
-            movz    x0, #0xD1FFAB1E      // code for System.Half:op_Explicit(float):System.Half
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-            blr     x0      // code for System.Half:op_Explicit(float):System.Half
-            uxth    w1, w0
-            mov     w0, w20
-            uxth    w1, w1
-            movz    x2, #0xD1FFAB1E      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
+            movi    v17.4s, #0
+            fcvt    h17, s17
+            umov    w0, v17.h[0]
+            movi    v17.4s, #0
+            ins     v17.h[0], w0
+            fcmp    h16, h17
+            cset    w0, ls
             cbz     w0, G_M8897_IG05
-            mov     w21, wzr
+            mov     w0, wzr
             b       G_M8897_IG06
-						;; size=68 bbWeight=0.50 PerfScore 7.75
+						;; size=40 bbWeight=0.50 PerfScore 5.00
 G_M8897_IG05:
-            mov     w0, w20
-            movz    x1, #0xD1FFAB1E      // code for System.Half:op_Explicit(System.Half):float
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1      // code for System.Half:op_Explicit(System.Half):float
-            movi    v16.2s, #0
-            fmax    s16, s0, s16
-            ldr     d17, [@RWD04]
+            fcvt    s16, h16
+            movi    v17.2s, #0
+            fmax    s16, s16, s17
+            ldr     d17, [@RWD00]
             fmin    s16, s16, s17
             fcvtzs  w0, s16
-            uxtb    w21, w0
-						;; size=48 bbWeight=0.50 PerfScore 8.50
+            uxtb    w0, w0
+						;; size=28 bbWeight=0.50 PerfScore 7.00
 G_M8897_IG06:
-            strb    w21, [x19]
+            strb    w0, [x1]
             mov     w0, #1
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M8897_IG07:
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x10
             ret     lr
-						;; size=16 bbWeight=1 PerfScore 5.00
-RWD00  	dd	437F0000h		;       255
-RWD04  	dq	437F0000437F0000h
+						;; size=8 bbWeight=1 PerfScore 2.00
+RWD00  	dq	437F0000437F0000h, 437F0000437F0000h
 
 
-; Total bytes of code 232, prolog size 16, PerfScore 43.50, instruction count 58, allocated bytes for code 232 (MethodHash=27dedd3e) for method System.Half:System.Numerics.INumberBase<System.Half>.TryConvertToTruncating[byte](System.Half,byref):bool (FullOpts)
+; Total bytes of code 144, prolog size 8, PerfScore 29.75, instruction count 36, allocated bytes for code 144 (MethodHash=27dedd3e) for method System.Half:System.Numerics.INumberBase<System.Half>.TryConvertToTruncating[byte](System.Half,byref):bool (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-88 (-37.93 % of base) - System.Half:TryConvertTo[byte](System.Half,byref):bool</summary>

```diff
 ; Assembly listing for method System.Half:TryConvertTo[byte](System.Half,byref):bool (FullOpts)
 ; Emitting BLENDED_CODE for arm64 + SVE on Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Half>
-;  V01 arg1         [V01,T00] (  3,  3   )   byref  ->  x19         single-def
+;  V01 arg1         [V01,T00] (  3,  3   )   byref  ->   x1         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )   ubyte  ->  zero-ref   
 ;* V03 loc1         [V03    ] (  0,  0   )  ushort  ->  zero-ref   
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (16) zero-ref    <System.Decimal>
 ;* V05 loc3         [V05    ] (  0,  0   )  ushort  ->  zero-ref   
 ;* V06 loc4         [V06    ] (  0,  0   )     int  ->  zero-ref   
 ;* V07 loc5         [V07    ] (  0,  0   )    long  ->  zero-ref   
 ;* V08 loc6         [V08    ] (  0,  0   )  struct (16) zero-ref    <System.UInt128>
 ;* V09 loc7         [V09    ] (  0,  0   )    long  ->  zero-ref   
 ;# V10 OutArgs      [V10    ] (  1,  1   )  struct ( 0) [sp+0x00]   do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;* V11 tmp1         [V11    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Half>
-;  V12 tmp2         [V12,T03] (  4,  2.50)     int  ->  x21        
-;* V13 tmp3         [V13    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Half>
-;  V14 tmp4         [V14,T01] (  2,  2   )  ushort  ->  x20         single-def "field V00._value (fldOffset=0x0)" P-INDEP
-;* V15 tmp5         [V15    ] (  0,  0   )     int  ->  zero-ref    "field V04._flags (fldOffset=0x0)" P-INDEP
-;* V16 tmp6         [V16    ] (  0,  0   )     int  ->  zero-ref    "field V04._hi32 (fldOffset=0x4)" P-INDEP
-;* V17 tmp7         [V17    ] (  0,  0   )    long  ->  zero-ref    "field V04._lo64 (fldOffset=0x8)" P-INDEP
-;* V18 tmp8         [V18    ] (  0,  0   )    long  ->  zero-ref    "field V08._lower (fldOffset=0x0)" P-INDEP
-;* V19 tmp9         [V19    ] (  0,  0   )    long  ->  zero-ref    "field V08._upper (fldOffset=0x8)" P-INDEP
-;  V20 tmp10        [V20,T04] (  2,  2   )  ushort  ->   x0         "field V11._value (fldOffset=0x0)" P-INDEP
-;  V21 tmp11        [V21,T05] (  2,  1   )  ushort  ->   x1         "field V13._value (fldOffset=0x0)" P-INDEP
-;  V22 cse0         [V22,T02] (  4,  3   )     int  ->  x20         "CSE #01: aggressive"
+;* V11 tmp1         [V11    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;  V12 tmp2         [V12,T02] (  4,  2.50)     int  ->   x0        
+;* V13 tmp3         [V13    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;* V14 tmp4         [V14    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;* V15 tmp5         [V15    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;  V16 tmp6         [V16,T01] (  2,  2   )  ushort  ->   x0         single-def "field V00._value (fldOffset=0x0)" P-INDEP
+;* V17 tmp7         [V17    ] (  0,  0   )     int  ->  zero-ref    "field V04._flags (fldOffset=0x0)" P-INDEP
+;* V18 tmp8         [V18    ] (  0,  0   )     int  ->  zero-ref    "field V04._hi32 (fldOffset=0x4)" P-INDEP
+;* V19 tmp9         [V19    ] (  0,  0   )    long  ->  zero-ref    "field V04._lo64 (fldOffset=0x8)" P-INDEP
+;* V20 tmp10        [V20    ] (  0,  0   )    long  ->  zero-ref    "field V08._lower (fldOffset=0x0)" P-INDEP
+;* V21 tmp11        [V21    ] (  0,  0   )    long  ->  zero-ref    "field V08._upper (fldOffset=0x8)" P-INDEP
+;* V22 tmp12        [V22    ] (  0,  0   )  ushort  ->  zero-ref    "field V11._value (fldOffset=0x0)" P-INDEP
+;* V23 tmp13        [V23    ] (  0,  0   )  ushort  ->  zero-ref    "field V13._value (fldOffset=0x0)" P-INDEP
+;  V24 tmp14        [V24,T03] (  2,  2   )  ushort  ->   x2         "field V14._value (fldOffset=0x0)" P-INDEP
+;  V25 tmp15        [V25,T04] (  2,  1   )  ushort  ->   x0         "field V15._value (fldOffset=0x0)" P-INDEP
+;  V26 cse0         [V26,T05] (  4,  3   )  simd16  ->  d16         "CSE #02: aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M22380_IG01:
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
-            mov     w20, w0
-            mov     x19, x1
-						;; size=24 bbWeight=1 PerfScore 4.50
+						;; size=8 bbWeight=1 PerfScore 1.50
 G_M22380_IG02:
-            ldr     s0, [@RWD00]
-            movz    x0, #0xD1FFAB1E      // code for System.Half:op_Explicit(float):System.Half
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-            blr     x0      // code for System.Half:op_Explicit(float):System.Half
+            ldr     q16, [@RWD00]
+            fcvt    h16, s16
+            umov    w2, v16.h[0]
+            movi    v16.4s, #0
             uxth    w0, w0
-            uxth    w20, w20
-            mov     w1, w20
-            movz    x2, #0xD1FFAB1E      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
+            ins     v16.h[0], w0
+            movi    v17.4s, #0
+            ins     v17.h[0], w2
+            fcmp    h16, h17
+            cset    w0, ge
             cbz     w0, G_M22380_IG04
-						;; size=60 bbWeight=1 PerfScore 15.50
+						;; size=44 bbWeight=1 PerfScore 12.00
 G_M22380_IG03:
-            mov     w21, #255
+            mov     w0, #255
             b       G_M22380_IG06
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M22380_IG04:
-            movi    v0.16b, #0
-            movz    x0, #0xD1FFAB1E      // code for System.Half:op_Explicit(float):System.Half
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-            blr     x0      // code for System.Half:op_Explicit(float):System.Half
-            uxth    w1, w0
-            mov     w0, w20
-            uxth    w1, w1
-            movz    x2, #0xD1FFAB1E      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
+            movi    v17.4s, #0
+            fcvt    h17, s17
+            umov    w0, v17.h[0]
+            movi    v17.4s, #0
+            ins     v17.h[0], w0
+            fcmp    h16, h17
+            cset    w0, ls
             cbz     w0, G_M22380_IG05
-            mov     w21, wzr
+            mov     w0, wzr
             b       G_M22380_IG06
-						;; size=68 bbWeight=0.50 PerfScore 7.75
+						;; size=40 bbWeight=0.50 PerfScore 5.00
 G_M22380_IG05:
-            mov     w0, w20
-            movz    x1, #0xD1FFAB1E      // code for System.Half:op_Explicit(System.Half):float
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1      // code for System.Half:op_Explicit(System.Half):float
-            movi    v16.2s, #0
-            fmax    s16, s0, s16
-            ldr     d17, [@RWD04]
+            fcvt    s16, h16
+            movi    v17.2s, #0
+            fmax    s16, s16, s17
+            ldr     d17, [@RWD00]
             fmin    s16, s16, s17
             fcvtzs  w0, s16
-            uxtb    w21, w0
-						;; size=48 bbWeight=0.50 PerfScore 8.50
+            uxtb    w0, w0
+						;; size=28 bbWeight=0.50 PerfScore 7.00
 G_M22380_IG06:
-            strb    w21, [x19]
+            strb    w0, [x1]
             mov     w0, #1
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M22380_IG07:
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x10
             ret     lr
-						;; size=16 bbWeight=1 PerfScore 5.00
-RWD00  	dd	437F0000h		;       255
-RWD04  	dq	437F0000437F0000h
+						;; size=8 bbWeight=1 PerfScore 2.00
+RWD00  	dq	437F0000437F0000h, 437F0000437F0000h
 
 
-; Total bytes of code 232, prolog size 16, PerfScore 43.50, instruction count 58, allocated bytes for code 232 (MethodHash=08e4a893) for method System.Half:TryConvertTo[byte](System.Half,byref):bool (FullOpts)
+; Total bytes of code 144, prolog size 8, PerfScore 29.75, instruction count 36, allocated bytes for code 144 (MethodHash=08e4a893) for method System.Half:TryConvertTo[byte](System.Half,byref):bool (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-76 (-35.19 % of base) - System.Half:ConvertToInteger[byte](System.Half):byte</summary>

```diff
 ; Assembly listing for method System.Half:ConvertToInteger[byte](System.Half):byte (FullOpts)
 ; Emitting BLENDED_CODE for arm64 + SVE on Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 5 single block inlinees; 3 inlinees without PGO data
+; 0 inlinees with PGO data; 4 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Half>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]   do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;  V02 tmp1         [V02,T03] (  2,  2   )   ubyte  ->   x0         ld-addr-op "Inline ldloca(s) first use temp"
+;  V02 tmp1         [V02,T02] (  2,  2   )   ubyte  ->   x0         ld-addr-op "Inline ldloca(s) first use temp"
 ;* V03 tmp2         [V03    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V04 tmp3         [V04    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V05 tmp4         [V05    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Half>
-;  V06 tmp5         [V06,T02] (  4,  2.50)     int  ->  x20        
+;* V05 tmp4         [V05    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;  V06 tmp5         [V06,T01] (  4,  2.50)     int  ->   x0        
 ;* V07 tmp6         [V07    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V08 tmp7         [V08    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Half>
-;  V09 tmp8         [V09,T00] (  2,  2   )  ushort  ->  x19         single-def "field V00._value (fldOffset=0x0)" P-INDEP
-;  V10 tmp9         [V10,T04] (  2,  2   )  ushort  ->   x0         "field V05._value (fldOffset=0x0)" P-INDEP
-;  V11 tmp10        [V11,T05] (  2,  1   )  ushort  ->   x1         "field V08._value (fldOffset=0x0)" P-INDEP
-;  V12 cse0         [V12,T01] (  4,  3   )     int  ->  x19         "CSE #01: aggressive"
+;* V08 tmp7         [V08    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;* V09 tmp8         [V09    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;* V10 tmp9         [V10    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;  V11 tmp10        [V11,T00] (  2,  2   )  ushort  ->   x0         single-def "field V00._value (fldOffset=0x0)" P-INDEP
+;* V12 tmp11        [V12    ] (  0,  0   )  ushort  ->  zero-ref    "field V05._value (fldOffset=0x0)" P-INDEP
+;* V13 tmp12        [V13    ] (  0,  0   )  ushort  ->  zero-ref    "field V08._value (fldOffset=0x0)" P-INDEP
+;  V14 tmp13        [V14,T03] (  2,  2   )  ushort  ->   x1         "field V09._value (fldOffset=0x0)" P-INDEP
+;  V15 tmp14        [V15,T04] (  2,  1   )  ushort  ->   x0         "field V10._value (fldOffset=0x0)" P-INDEP
+;  V16 cse0         [V16,T05] (  4,  3   )  simd16  ->  d16         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M13495_IG01:
-            stp     fp, lr, [sp, #-0x20]!
-            stp     x19, x20, [sp, #0x10]
+            stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
-            mov     w19, w0
-						;; size=16 bbWeight=1 PerfScore 3.00
+						;; size=8 bbWeight=1 PerfScore 1.50
 G_M13495_IG02:
-            ldr     s0, [@RWD00]
-            movz    x0, #0xD1FFAB1E      // code for System.Half:op_Explicit(float):System.Half
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-            blr     x0      // code for System.Half:op_Explicit(float):System.Half
+            ldr     q16, [@RWD00]
+            fcvt    h16, s16
+            umov    w1, v16.h[0]
+            movi    v16.4s, #0
             uxth    w0, w0
-            uxth    w19, w19
-            mov     w1, w19
-            movz    x2, #0xD1FFAB1E      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
+            ins     v16.h[0], w0
+            movi    v17.4s, #0
+            ins     v17.h[0], w1
+            fcmp    h16, h17
+            cset    w0, ge
             cbz     w0, G_M13495_IG04
-						;; size=60 bbWeight=1 PerfScore 15.50
+						;; size=44 bbWeight=1 PerfScore 12.00
 G_M13495_IG03:
-            mov     w20, #255
+            mov     w0, #255
             b       G_M13495_IG06
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M13495_IG04:
-            movi    v0.16b, #0
-            movz    x0, #0xD1FFAB1E      // code for System.Half:op_Explicit(float):System.Half
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-            blr     x0      // code for System.Half:op_Explicit(float):System.Half
-            uxth    w1, w0
-            mov     w0, w19
-            uxth    w1, w1
-            movz    x2, #0xD1FFAB1E      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
+            movi    v17.4s, #0
+            fcvt    h17, s17
+            umov    w0, v17.h[0]
+            movi    v17.4s, #0
+            ins     v17.h[0], w0
+            fcmp    h16, h17
+            cset    w0, ls
             cbz     w0, G_M13495_IG05
-            mov     w20, wzr
+            mov     w0, wzr
             b       G_M13495_IG06
-						;; size=68 bbWeight=0.50 PerfScore 7.75
+						;; size=40 bbWeight=0.50 PerfScore 5.00
 G_M13495_IG05:
-            mov     w0, w19
-            movz    x1, #0xD1FFAB1E      // code for System.Half:op_Explicit(System.Half):float
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1      // code for System.Half:op_Explicit(System.Half):float
-            movi    v16.2s, #0
-            fmax    s16, s0, s16
-            ldr     d17, [@RWD04]
+            fcvt    s16, h16
+            movi    v17.2s, #0
+            fmax    s16, s16, s17
+            ldr     d17, [@RWD00]
             fmin    s16, s16, s17
             fcvtzs  w0, s16
-            uxtb    w20, w0
-						;; size=48 bbWeight=0.50 PerfScore 8.50
+            uxtb    w0, w0
+						;; size=28 bbWeight=0.50 PerfScore 7.00
 G_M13495_IG06:
-            uxtb    w0, w20
+            uxtb    w0, w0
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M13495_IG07:
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x10
             ret     lr
-						;; size=12 bbWeight=1 PerfScore 3.00
-RWD00  	dd	437F0000h		;       255
-RWD04  	dq	437F0000437F0000h
+						;; size=8 bbWeight=1 PerfScore 2.00
+RWD00  	dq	437F0000437F0000h, 437F0000437F0000h
 
 
-; Total bytes of code 216, prolog size 12, PerfScore 39.00, instruction count 54, allocated bytes for code 216 (MethodHash=0fb1cb48) for method System.Half:ConvertToInteger[byte](System.Half):byte (FullOpts)
+; Total bytes of code 140, prolog size 8, PerfScore 28.75, instruction count 35, allocated bytes for code 140 (MethodHash=0fb1cb48) for method System.Half:ConvertToInteger[byte](System.Half):byte (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-76 (-35.19 % of base) - System.Half:ConvertToIntegerNative[byte](System.Half):byte</summary>

```diff
 ; Assembly listing for method System.Half:ConvertToIntegerNative[byte](System.Half):byte (FullOpts)
 ; Emitting BLENDED_CODE for arm64 + SVE on Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 5 single block inlinees; 3 inlinees without PGO data
+; 0 inlinees with PGO data; 4 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Half>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]   do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;  V02 tmp1         [V02,T03] (  2,  2   )   ubyte  ->   x0         ld-addr-op "Inline ldloca(s) first use temp"
+;  V02 tmp1         [V02,T02] (  2,  2   )   ubyte  ->   x0         ld-addr-op "Inline ldloca(s) first use temp"
 ;* V03 tmp2         [V03    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V04 tmp3         [V04    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V05 tmp4         [V05    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Half>
-;  V06 tmp5         [V06,T02] (  4,  2.50)     int  ->  x20        
+;* V05 tmp4         [V05    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;  V06 tmp5         [V06,T01] (  4,  2.50)     int  ->   x0        
 ;* V07 tmp6         [V07    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V08 tmp7         [V08    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Half>
-;  V09 tmp8         [V09,T00] (  2,  2   )  ushort  ->  x19         single-def "field V00._value (fldOffset=0x0)" P-INDEP
-;  V10 tmp9         [V10,T04] (  2,  2   )  ushort  ->   x0         "field V05._value (fldOffset=0x0)" P-INDEP
-;  V11 tmp10        [V11,T05] (  2,  1   )  ushort  ->   x1         "field V08._value (fldOffset=0x0)" P-INDEP
-;  V12 cse0         [V12,T01] (  4,  3   )     int  ->  x19         "CSE #01: aggressive"
+;* V08 tmp7         [V08    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;* V09 tmp8         [V09    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;* V10 tmp9         [V10    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
+;  V11 tmp10        [V11,T00] (  2,  2   )  ushort  ->   x0         single-def "field V00._value (fldOffset=0x0)" P-INDEP
+;* V12 tmp11        [V12    ] (  0,  0   )  ushort  ->  zero-ref    "field V05._value (fldOffset=0x0)" P-INDEP
+;* V13 tmp12        [V13    ] (  0,  0   )  ushort  ->  zero-ref    "field V08._value (fldOffset=0x0)" P-INDEP
+;  V14 tmp13        [V14,T03] (  2,  2   )  ushort  ->   x1         "field V09._value (fldOffset=0x0)" P-INDEP
+;  V15 tmp14        [V15,T04] (  2,  1   )  ushort  ->   x0         "field V10._value (fldOffset=0x0)" P-INDEP
+;  V16 cse0         [V16,T05] (  4,  3   )  simd16  ->  d16         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M16342_IG01:
-            stp     fp, lr, [sp, #-0x20]!
-            stp     x19, x20, [sp, #0x10]
+            stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
-            mov     w19, w0
-						;; size=16 bbWeight=1 PerfScore 3.00
+						;; size=8 bbWeight=1 PerfScore 1.50
 G_M16342_IG02:
-            ldr     s0, [@RWD00]
-            movz    x0, #0xD1FFAB1E      // code for System.Half:op_Explicit(float):System.Half
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-            blr     x0      // code for System.Half:op_Explicit(float):System.Half
+            ldr     q16, [@RWD00]
+            fcvt    h16, s16
+            umov    w1, v16.h[0]
+            movi    v16.4s, #0
             uxth    w0, w0
-            uxth    w19, w19
-            mov     w1, w19
-            movz    x2, #0xD1FFAB1E      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
+            ins     v16.h[0], w0
+            movi    v17.4s, #0
+            ins     v17.h[0], w1
+            fcmp    h16, h17
+            cset    w0, ge
             cbz     w0, G_M16342_IG04
-						;; size=60 bbWeight=1 PerfScore 15.50
+						;; size=44 bbWeight=1 PerfScore 12.00
 G_M16342_IG03:
-            mov     w20, #255
+            mov     w0, #255
             b       G_M16342_IG06
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M16342_IG04:
-            movi    v0.16b, #0
-            movz    x0, #0xD1FFAB1E      // code for System.Half:op_Explicit(float):System.Half
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-            blr     x0      // code for System.Half:op_Explicit(float):System.Half
-            uxth    w1, w0
-            mov     w0, w19
-            uxth    w1, w1
-            movz    x2, #0xD1FFAB1E      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2      // code for System.Half:op_LessThanOrEqual(System.Half,System.Half):bool
+            movi    v17.4s, #0
+            fcvt    h17, s17
+            umov    w0, v17.h[0]
+            movi    v17.4s, #0
+            ins     v17.h[0], w0
+            fcmp    h16, h17
+            cset    w0, ls
             cbz     w0, G_M16342_IG05
-            mov     w20, wzr
+            mov     w0, wzr
             b       G_M16342_IG06
-						;; size=68 bbWeight=0.50 PerfScore 7.75
+						;; size=40 bbWeight=0.50 PerfScore 5.00
 G_M16342_IG05:
-            mov     w0, w19
-            movz    x1, #0xD1FFAB1E      // code for System.Half:op_Explicit(System.Half):float
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1      // code for System.Half:op_Explicit(System.Half):float
-            movi    v16.2s, #0
-            fmax    s16, s0, s16
-            ldr     d17, [@RWD04]
+            fcvt    s16, h16
+            movi    v17.2s, #0
+            fmax    s16, s16, s17
+            ldr     d17, [@RWD00]
             fmin    s16, s16, s17
             fcvtzs  w0, s16
-            uxtb    w20, w0
-						;; size=48 bbWeight=0.50 PerfScore 8.50
+            uxtb    w0, w0
+						;; size=28 bbWeight=0.50 PerfScore 7.00
 G_M16342_IG06:
-            uxtb    w0, w20
+            uxtb    w0, w0
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M16342_IG07:
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x10
             ret     lr
-						;; size=12 bbWeight=1 PerfScore 3.00
-RWD00  	dd	437F0000h		;       255
-RWD04  	dq	437F0000437F0000h
+						;; size=8 bbWeight=1 PerfScore 2.00
+RWD00  	dq	437F0000437F0000h, 437F0000437F0000h
 
 
-; Total bytes of code 216, prolog size 12, PerfScore 39.00, instruction count 54, allocated bytes for code 216 (MethodHash=4706c029) for method System.Half:ConvertToIntegerNative[byte](System.Half):byte (FullOpts)
+; Total bytes of code 140, prolog size 8, PerfScore 28.75, instruction count 35, allocated bytes for code 140 (MethodHash=4706c029) for method System.Half:ConvertToIntegerNative[byte](System.Half):byte (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>-56 (-48.28 % of base) - System.Half:Atan2(System.Half,System.Half):System.Half</summary>

```diff
 ; Assembly listing for method System.Half:Atan2(System.Half,System.Half):System.Half (FullOpts)
 ; Emitting BLENDED_CODE for arm64 + SVE on Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Half>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Half>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]   do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;* V03 tmp1         [V03    ] (  0,  0   )   float  ->  zero-ref    "impAppendStmt"
+;* V03 tmp1         [V03    ] (  0,  0   )  struct ( 8) zero-ref    "System.Half tmp" <System.Half>
 ;  V04 tmp2         [V04,T00] (  2,  2   )  ushort  ->   x0         single-def "field V00._value (fldOffset=0x0)" P-INDEP
-;  V05 tmp3         [V05,T01] (  2,  2   )  ushort  ->  x19         single-def "field V01._value (fldOffset=0x0)" P-INDEP
-;  V06 rat0         [V06,T02] (  2,  4   )   float  ->   d8         "argument with side effect"
-;  V07 rat1         [V07,T03] (  2,  4   )   float  ->   d1         "argument with side effect"
+;  V05 tmp3         [V05,T01] (  2,  2   )  ushort  ->   x1         single-def "field V01._value (fldOffset=0x0)" P-INDEP
+;  V06 tmp4         [V06,T02] (  2,  2   )  ushort  ->   x0         "field V03._value (fldOffset=0x0)" P-INDEP
 ;
 ; Lcl frame size = 0
 
 G_M37215_IG01:
-            stp     fp, lr, [sp, #-0x20]!
-            str     d8, [sp, #0x10]
-            str     x19, [sp, #0x18]
+            stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
-            mov     w19, w1
-						;; size=20 bbWeight=1 PerfScore 4.00
+						;; size=8 bbWeight=1 PerfScore 1.50
 G_M37215_IG02:
+            movi    v0.4s, #0
             uxth    w0, w0
-            movz    x1, #0xD1FFAB1E      // code for System.Half:op_Explicit(System.Half):float
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1      // code for System.Half:op_Explicit(System.Half):float
-            fmov    s8, s0
-            uxth    w0, w19
-            movz    x1, #0xD1FFAB1E      // code for System.Half:op_Explicit(System.Half):float
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1      // code for System.Half:op_Explicit(System.Half):float
-            fmov    s1, s0
-            fmov    s0, s8
+            ins     v0.h[0], w0
+            fcvt    s0, h0
+            movi    v1.4s, #0
+            uxth    w0, w1
+            ins     v1.h[0], w0
+            fcvt    s1, h1
             bl      System.MathF:Atan2(float,float):float
-            movz    x0, #0xD1FFAB1E      // code for System.Half:op_Explicit(float):System.Half
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-						;; size=80 bbWeight=1 PerfScore 19.00
+            fcvt    h16, s0
+            umov    w0, v16.h[0]
+						;; size=44 bbWeight=1 PerfScore 15.00
 G_M37215_IG03:
-            ldr     x19, [sp, #0x18]
-            ldr     d8, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
-            br      x0      // code for System.Half:op_Explicit(float):System.Half
-						;; size=16 bbWeight=1 PerfScore 6.00
+            ldp     fp, lr, [sp], #0x10
+            ret     lr
+						;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 116, prolog size 16, PerfScore 29.00, instruction count 29, allocated bytes for code 116 (MethodHash=4dab6ea0) for method System.Half:Atan2(System.Half,System.Half):System.Half (FullOpts)
+; Total bytes of code 60, prolog size 8, PerfScore 18.50, instruction count 15, allocated bytes for code 60 (MethodHash=4dab6ea0) for method System.Half:Atan2(System.Half,System.Half):System.Half (FullOpts)
 ; ============================================================
```

</details>



