## Top method improvements

<details>
<summary>-60 (-2.91 % of base) - MoreLinq.Experimental.ExperimentalEnumerable:Batch[short](System.Collections.Generic.IEnumerable`1[short],int,System.Buffers.ArrayPool`1[short]):MoreLinq.Experimental.ICurrentBufferProvider`1[short]</summary>

```diff
 ; Assembly listing for method MoreLinq.Experimental.ExperimentalEnumerable:Batch[short](System.Collections.Generic.IEnumerable`1[short],int,System.Buffers.ArrayPool`1[short]):MoreLinq.Experimental.ICurrentBufferProvider`1[short] (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; 54 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T15] (  3,  3   )     ref  ->  x20         class-hnd single-def <System.Collections.Generic.IEnumerable`1[short]>
 ;  V01 arg1         [V01,T03] (  7,  5   )     int  ->  x19         single-def
 ;  V02 arg2         [V02,T16] (  3,  3   )     ref  ->  x21         class-hnd single-def <System.Buffers.ArrayPool`1[short]>
 ;  V03 loc0         [V03,T05] (  6,  6   )     ref  ->  x22         class-hnd exact single-def <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]>
-;  V04 loc1         [V04,T04] ( 11,  6.50)     ref  ->  x21         class-hnd exact single-def <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_1`1[short]>
+;  V04 loc1         [V04,T04] ( 11,  6.50)     ref  ->  x23         class-hnd exact single-def <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_1`1[short]>
 ;  V05 loc2         [V05,T17] (  7,  4.50)     ref  ->  x22         class-hnd single-def <System.Collections.Generic.ICollection`1[short]>
 ;  V06 loc3         [V06,T26] (  5,  2.50)     ref  ->  x22         class-hnd <System.Collections.Generic.IReadOnlyCollection`1[short]>
 ;  V07 loc4         [V07,T21] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.Collections.Generic.IEnumerable`1[short]>
-;  V08 loc5         [V08,T46] (  3,  1.50)     ref  ->  x25         class-hnd single-def <short[]>
+;  V08 loc5         [V08,T46] (  3,  1.50)     ref  ->  x19         class-hnd single-def <short[]>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]   do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
 ;* V10 tmp1         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]>
 ;* V11 tmp2         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_1`1[short]>
 ;  V12 tmp3         [V12,T28] (  2,  2   )     ref  ->  x25         class-hnd exact single-def "impAppendStmt" <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]>
 ;  V13 tmp4         [V13,T29] (  2,  2   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]>
-;  V14 tmp5         [V14,T30] (  2,  2   )     ref  ->  x25         class-hnd exact single-def "non-inline candidate call" <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]>
+;  V14 tmp5         [V14,T30] (  2,  2   )     ref  ->  x19         class-hnd exact single-def "non-inline candidate call" <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]>
 ;* V15 tmp6         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "non-inline candidate call" <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]>
 ;  V16 tmp7         [V16,T31] (  2,  2   )     ref  ->  x25         class-hnd exact single-def "impAppendStmt" <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]>
 ;  V17 tmp8         [V17,T32] (  2,  2   )     ref  ->  x22         class-hnd exact single-def "impAppendStmt" <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]>
 ;* V18 tmp9         [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "non-inline candidate call" <System.Buffers.ArrayPool`1[short]>
-;  V19 tmp10        [V19,T33] (  2,  2   )     ref  ->  x19         class-hnd exact single-def "non-inline candidate call" <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]>
+;  V19 tmp10        [V19,T33] (  2,  2   )     ref  ->  x20         class-hnd exact single-def "non-inline candidate call" <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]>
 ;* V20 tmp11        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[short[],int]>
-;  V21 tmp12        [V21,T55] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-;  V22 tmp13        [V22,T56] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
-;  V23 tmp14        [V23,T57] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
-;  V24 tmp15        [V24,T22] (  3,  3   )     ref  ->  x23         class-hnd exact single-def "Spilling to split statement for tree" <System.ValueTuple`2[short[],int][]>
+;  V21 tmp12        [V21,T57] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
+;  V22 tmp13        [V22,T58] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
+;  V23 tmp14        [V23,T59] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
+;  V24 tmp15        [V24,T22] (  3,  3   )     ref  ->  x24         class-hnd exact single-def "Spilling to split statement for tree" <System.ValueTuple`2[short[],int][]>
 ;  V25 tmp16        [V25,T47] (  3,  1.50)     ref  ->  x20         class-hnd exact "Inline return value spill temp" <System.SZGenericArrayEnumerator`1[System.ValueTuple`2[short[],int]]>
 ;* V26 tmp17        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.ValueTuple`2[short[],int][]>
 ;  V27 tmp18        [V27,T51] (  3,  1.50)     int  ->  x19         single-def "Inline stloc first use temp"
 ;  V28 tmp19        [V28,T07] (  5,  5   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.SZGenericArrayEnumerator`1[System.ValueTuple`2[short[],int]]>
 ;  V29 tmp20        [V29,T08] (  5,  5   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <MoreLinq.Experimental.ExperimentalEnumerable+CurrentPoolArrayProvider`1[short]>
 ;* V30 tmp21        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.SZGenericArrayEnumerator`1[System.ValueTuple`2[short[],int]]>
-;  V31 tmp22        [V31,T34] (  2,  2   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Buffers.ArrayPool`1[short]>
+;  V31 tmp22        [V31,T34] (  2,  2   )     ref  ->  x23         class-hnd single-def "Inlining Arg" <System.Buffers.ArrayPool`1[short]>
 ;* V32 tmp23        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <System.Buffers.ArrayPool`1[short]>
-;  V33 tmp24        [V33,T43] (  2,  2   )     int  ->  x20         "Inlining Arg"
+;  V33 tmp24        [V33,T43] (  2,  2   )     int  ->  x22         "Inlining Arg"
 ;* V34 tmp25        [V34    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ValueTuple`2[short[],int]>
-;  V35 tmp26        [V35,T18] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <MoreLinq.MoreEnumerable+SingleElementList`1[System.ValueTuple`2[short[],int]]>
-;  V36 tmp27        [V36,T19] (  4,  4   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <MoreLinq.MoreEnumerable+SingleElementList`1+<GetEnumerator>d__9[System.ValueTuple`2[short[],int]]>
+;  V35 tmp26        [V35,T18] (  4,  4   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <MoreLinq.MoreEnumerable+SingleElementList`1[System.ValueTuple`2[short[],int]]>
+;  V36 tmp27        [V36,T19] (  4,  4   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <MoreLinq.MoreEnumerable+SingleElementList`1+<GetEnumerator>d__9[System.ValueTuple`2[short[],int]]>
 ;  V37 tmp28        [V37,T09] (  5,  5   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <MoreLinq.Experimental.ExperimentalEnumerable+CurrentPoolArrayProvider`1[short]>
 ;* V38 tmp29        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <MoreLinq.MoreEnumerable+SingleElementList`1+<GetEnumerator>d__9[System.ValueTuple`2[short[],int]]>
-;  V39 tmp30        [V39,T35] (  2,  2   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <System.Buffers.ArrayPool`1[short]>
+;  V39 tmp30        [V39,T35] (  2,  2   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <System.Buffers.ArrayPool`1[short]>
 ;* V40 tmp31        [V40    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <System.Buffers.ArrayPool`1[short]>
-;  V41 tmp32        [V41,T23] (  3,  3   )     ref  ->  x21         class-hnd exact single-def "Spilling to split statement for tree" <System.ValueTuple`2[short[],int][]>
+;  V41 tmp32        [V41,T23] (  3,  3   )     ref  ->  x23         class-hnd exact single-def "Spilling to split statement for tree" <System.ValueTuple`2[short[],int][]>
 ;  V42 tmp33        [V42,T48] (  3,  1.50)     ref  ->  x19         class-hnd exact "Inline return value spill temp" <System.SZGenericArrayEnumerator`1[System.ValueTuple`2[short[],int]]>
 ;* V43 tmp34        [V43    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.ValueTuple`2[short[],int][]>
-;  V44 tmp35        [V44,T52] (  3,  1.50)     int  ->  x23         single-def "Inline stloc first use temp"
+;  V44 tmp35        [V44,T52] (  3,  1.50)     int  ->  x24         single-def "Inline stloc first use temp"
 ;  V45 tmp36        [V45,T10] (  5,  5   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.SZGenericArrayEnumerator`1[System.ValueTuple`2[short[],int]]>
 ;  V46 tmp37        [V46,T11] (  5,  5   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <MoreLinq.Experimental.ExperimentalEnumerable+CurrentPoolArrayProvider`1[short]>
 ;* V47 tmp38        [V47    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.SZGenericArrayEnumerator`1[System.ValueTuple`2[short[],int]]>
-;  V48 tmp39        [V48,T36] (  2,  2   )     ref  ->  x24         class-hnd single-def "Inlining Arg" <System.Buffers.ArrayPool`1[short]>
+;  V48 tmp39        [V48,T36] (  2,  2   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Buffers.ArrayPool`1[short]>
 ;* V49 tmp40        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <System.Buffers.ArrayPool`1[short]>
 ;  V50 tmp41        [V50,T20] (  4,  4   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_1`1+<<Batch>g___|2>d[short]>
 ;  V51 tmp42        [V51,T12] (  5,  5   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <MoreLinq.Experimental.ExperimentalEnumerable+CurrentPoolArrayProvider`1[short]>
 ;* V52 tmp43        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_1`1+<<Batch>g___|2>d[short]>
 ;  V53 tmp44        [V53,T37] (  2,  2   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Buffers.ArrayPool`1[short]>
 ;* V54 tmp45        [V54    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <System.Buffers.ArrayPool`1[short]>
-;  V55 tmp46        [V55,T38] (  2,  2   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEnumerator`1[System.ValueTuple`2[short[],int]]>
+;  V55 tmp46        [V55,T38] (  2,  2   )     ref  ->  x23         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEnumerator`1[System.ValueTuple`2[short[],int]]>
 ;  V56 tmp47        [V56,T13] (  5,  5   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <MoreLinq.Experimental.ExperimentalEnumerable+CurrentPoolArrayProvider`1[short]>
 ;* V57 tmp48        [V57    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <System.Collections.Generic.IEnumerator`1[System.ValueTuple`2[short[],int]]>
 ;  V58 tmp49        [V58,T39] (  2,  2   )     ref  ->  x24         class-hnd single-def "Inlining Arg" <System.Buffers.ArrayPool`1[short]>
 ;* V59 tmp50        [V59    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <System.Buffers.ArrayPool`1[short]>
-;  V60 tmp51        [V60,T40] (  2,  2   )     ref  ->  x23         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEnumerator`1[System.ValueTuple`2[short[],int]]>
+;  V60 tmp51        [V60,T40] (  2,  2   )     ref  ->  x24         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEnumerator`1[System.ValueTuple`2[short[],int]]>
 ;  V61 tmp52        [V61,T14] (  5,  5   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <MoreLinq.Experimental.ExperimentalEnumerable+CurrentPoolArrayProvider`1[short]>
 ;* V62 tmp53        [V62    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <System.Collections.Generic.IEnumerator`1[System.ValueTuple`2[short[],int]]>
-;  V63 tmp54        [V63,T41] (  2,  2   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Buffers.ArrayPool`1[short]>
+;  V63 tmp54        [V63,T41] (  2,  2   )     ref  ->  x23         class-hnd single-def "Inlining Arg" <System.Buffers.ArrayPool`1[short]>
 ;* V64 tmp55        [V64    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <System.Buffers.ArrayPool`1[short]>
 ;  V65 tmp56        [V65,T02] (  7,  8   )     ref  ->  x19         "Single return block return value"
 ;* V66 tmp57        [V66    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V20.Item1 (fldOffset=0x0)" P-INDEP
 ;* V67 tmp58        [V67    ] (  0,  0   )     int  ->  zero-ref    single-def "field V20.Item2 (fldOffset=0x8)" P-INDEP
 ;* V68 tmp59        [V68    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V34.Item1 (fldOffset=0x0)" P-INDEP
 ;* V69 tmp60        [V69    ] (  0,  0   )     int  ->  zero-ref    single-def "field V34.Item2 (fldOffset=0x8)" P-INDEP
 ;  V70 tmp61        [V70,T44] (  2,  2   )     int  ->   x1         "argument with side effect"
-;  V71 tmp62        [V71,T42] (  2,  2   )     ref  ->  x24         single-def "argument with side effect"
+;  V71 tmp62        [V71,T42] (  2,  2   )     ref  ->  x25         single-def "argument with side effect"
 ;  V72 tmp63        [V72,T45] (  2,  2   )     int  ->   x1         "argument with side effect"
-;  V73 tmp64        [V73,T24] (  3,  3   )     ref  ->  x24         single-def "argument with side effect"
-;  V74 cse0         [V74,T27] (  4,  2   )     ref  ->   x0         "CSE #05: moderate"
-;  V75 cse1         [V75,T25] (  3,  3   )     ref  ->  x20         "CSE #03: moderate"
-;  V76 cse2         [V76,T49] (  3,  1.50)     ref  ->  x24         "CSE #13: moderate"
-;  V77 cse3         [V77,T50] (  3,  1.50)     ref  ->   x0         "CSE #14: moderate"
-;  V78 cse4         [V78,T06] ( 11,  5.50)    long  ->  x23         multi-def "CSE #04: moderate"
-;  V79 cse5         [V79,T00] ( 19,  8.50)    long  ->  x24         multi-def "CSE #06: aggressive"
-;  V80 cse6         [V80,T01] ( 16,  8   )    long  ->  x25         multi-def "CSE #07: aggressive"
+;  V73 tmp64        [V73,T24] (  3,  3   )     ref  ->  x25         single-def "argument with side effect"
+;  V74 cse0         [V74,T27] (  4,  2   )     ref  ->   x0         "CSE #04: moderate"
+;  V75 cse1         [V75,T25] (  3,  3   )     ref  ->  x20         "CSE #02: moderate"
+;  V76 cse2         [V76,T49] (  3,  1.50)     ref  ->  x25         "CSE #12: moderate"
+;  V77 cse3         [V77,T50] (  3,  1.50)     ref  ->   x0         "CSE #13: moderate"
+;  V78 cse4         [V78,T01] ( 14,  8   )    long  ->  x21         "CSE #05: aggressive"
+;  V79 cse5         [V79,T06] ( 11,  5.50)    long  ->  x24         multi-def "CSE #03: moderate"
+;  V80 cse6         [V80,T00] ( 16,  8   )    long  ->  x25         multi-def "CSE #06: aggressive"
 ;  V81 rat0         [V81,T53] (  2,  1   )    long  ->   x0         "Spilling to split statement for tree"
 ;  V82 rat1         [V82,T54] (  2,  1   )    long  ->   x0         "Spilling to split statement for tree"
+;  V83 rat2         [V83,T55] (  2,  1   )    long  ->   x0         "Spilling to split statement for tree"
+;  V84 rat3         [V84,T56] (  2,  1   )    long  ->   x0         "Spilling to split statement for tree"
 ;
 ; Lcl frame size = 8
 
 G_M43117_IG01:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
             stp     x23, x24, [sp, #0x38]
             str     x25, [sp, #0x48]
             mov     fp, sp
             mov     x20, x0
             mov     w19, w1
             mov     x21, x2
 						;; size=36 bbWeight=1 PerfScore 7.00
 G_M43117_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             add     x14, x22, #8
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #16
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x20, [x22, #0x10]
             cbz     x20, G_M43117_IG28
             ldr     x0, [x22, #0x08]
             cbz     x0, G_M43117_IG29
             cmp     w19, #0
             ble     G_M43117_IG30
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            movz    x21, #0xD1FFAB1E
+            movk    x21, #0xD1FFAB1E LSL #16
+            movk    x21, #0xD1FFAB1E LSL #32
+            mov     x0, x21
             bl      CORINFO_HELP_NEWSFAST
-            mov     x21, x0
-            add     x14, x21, #16
+            mov     x23, x0
+            add     x14, x23, #16
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x20
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             mov     x22, x0
             cbz     x22, G_M43117_IG10
-						;; size=144 bbWeight=1 PerfScore 30.50
+						;; size=148 bbWeight=1 PerfScore 31.00
 G_M43117_IG03:
             mov     x0, x22
-            movz    x23, #0xD1FFAB1E      // code for System.Collections.Generic.ICollection`1[short]:get_Count():int:this
-            movk    x23, #0xD1FFAB1E LSL #16
-            movk    x23, #0xD1FFAB1E LSL #32
-            mov     x11, x23
+            movz    x24, #0xD1FFAB1E      // code for System.Collections.Generic.ICollection`1[short]:get_Count():int:this
+            movk    x24, #0xD1FFAB1E LSL #16
+            movk    x24, #0xD1FFAB1E LSL #32
+            mov     x11, x24
             ldr     xip0, [x11]
             blr     xip0      // code for System.Collections.Generic.ICollection`1[short]:get_Count():int:this
             cbnz    w0, G_M43117_IG09
-            ldr     x22, [x21, #0x10]
-            movz    x24, #0xD1FFAB1E
-            movk    x24, #0xD1FFAB1E LSL #16
-            movk    x24, #0xD1FFAB1E LSL #32
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldapr   w0, [x0]
-            tbz     w0, #0, G_M43117_IG31
-						;; size=68 bbWeight=0.50 PerfScore 8.75
+            ldr     x22, [x23, #0x10]
+            add     x0, x21, #0xD1FFAB1E
+            movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
+            movk    x1, #0xD1FFAB1E LSL #32
+            ldapr   w1, [x1]
+            tbz     w1, #0, G_M43117_IG31
+						;; size=60 bbWeight=0.50 PerfScore 8.25
 G_M43117_IG04:
             movz    x25, #0xD1FFAB1E
             movk    x25, #0xD1FFAB1E LSL #16
             movk    x25, #0xD1FFAB1E LSL #32
-            ldr     x23, [x25, #0xD1FFAB1E]
-            ldr     w19, [x23, #0x08]
+            ldr     x24, [x25, #0xD1FFAB1E]
+            ldr     w19, [x24, #0x08]
             cbnz    w19, G_M43117_IG06
-            add     x0, x24, #0xD1FFAB1E
+            add     x0, x21, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldapr   w1, [x1]
             tbz     w1, #0, G_M43117_IG32
 						;; size=48 bbWeight=0.50 PerfScore 7.25
 G_M43117_IG05:
             ldr     x20, [x25, #0xD1FFAB1E]
             b       G_M43117_IG07
 						;; size=8 bbWeight=0.50 PerfScore 2.00
 G_M43117_IG06:
-            add     x0, x24, #0xD1FFAB1E
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movn    w14, #0
             stp     w14, w19, [x20, #0x08]
             add     x14, x20, #16
-            mov     x15, x23
+            mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=32 bbWeight=0.50 PerfScore 2.75
 G_M43117_IG07:
-            add     x0, x24, #0xD1FFAB1E
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
-            ldr     x21, [x22, #0x08]
+            ldr     x23, [x22, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbz     w0, #0, G_M43117_IG33
 						;; size=36 bbWeight=0.50 PerfScore 5.25
 G_M43117_IG08:
             ldr     x15, [x25]
             add     x14, x19, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #16
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #24
-            mov     x15, x21
+            mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             b       G_M43117_IG26
 						;; size=40 bbWeight=0.50 PerfScore 4.75
 G_M43117_IG09:
             mov     x0, x22
-            add     x11, x23, #16
+            add     x11, x24, #16
             ldr     xip0, [x11]
             blr     xip0      // code for System.Collections.Generic.ICollection`1[short]:get_Count():int:this
             cmp     w0, w19
             ble     G_M43117_IG24
 						;; size=24 bbWeight=0.50 PerfScore 3.25
 G_M43117_IG10:
             mov     x1, x20
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2      // code for CORINFO_HELP_ISINSTANCEOFANY
             mov     x22, x0
             cbz     x22, G_M43117_IG18
             mov     x0, x22
-            movz    x23, #0xD1FFAB1E
-            movk    x23, #0xD1FFAB1E LSL #16
-            movk    x23, #0xD1FFAB1E LSL #32
-            sub     x11, x23, #40
-            ldr     xip0, [x11]
-            blr     xip0      // code for System.Collections.Generic.IReadOnlyCollection`1[short]:get_Count():int:this
-            cbnz    w0, G_M43117_IG16
-            ldr     x20, [x21, #0x10]
             movz    x24, #0xD1FFAB1E
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #0xD1FFAB1E LSL #32
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldapr   w0, [x0]
-            tbz     w0, #0, G_M43117_IG35
-						;; size=112 bbWeight=0.50 PerfScore 13.25
+            sub     x11, x24, #40
+            ldr     xip0, [x11]
+            blr     xip0      // code for System.Collections.Generic.IReadOnlyCollection`1[short]:get_Count():int:this
+            cbnz    w0, G_M43117_IG16
+            ldr     x20, [x23, #0x10]
+            add     x0, x21, #0xD1FFAB1E
+            movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
+            movk    x1, #0xD1FFAB1E LSL #32
+            ldapr   w1, [x1]
+            tbz     w1, #0, G_M43117_IG35
+						;; size=104 bbWeight=0.50 PerfScore 12.75
 G_M43117_IG11:
             movz    x25, #0xD1FFAB1E
             movk    x25, #0xD1FFAB1E LSL #16
             movk    x25, #0xD1FFAB1E LSL #32
-            ldr     x21, [x25, #0xD1FFAB1E]
-            ldr     w23, [x21, #0x08]
-            cbnz    w23, G_M43117_IG13
-            add     x0, x24, #0xD1FFAB1E
+            ldr     x23, [x25, #0xD1FFAB1E]
+            ldr     w24, [x23, #0x08]
+            cbnz    w24, G_M43117_IG13
+            add     x0, x21, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldapr   w1, [x1]
             tbz     w1, #0, G_M43117_IG36
 						;; size=48 bbWeight=0.50 PerfScore 7.25
 G_M43117_IG12:
             ldr     x19, [x25, #0xD1FFAB1E]
             b       G_M43117_IG14
 						;; size=8 bbWeight=0.50 PerfScore 2.00
 G_M43117_IG13:
-            add     x0, x24, #0xD1FFAB1E
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movn    w14, #0
-            stp     w14, w23, [x19, #0x08]
+            stp     w14, w24, [x19, #0x08]
             add     x14, x19, #16
-            mov     x15, x21
+            mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=32 bbWeight=0.50 PerfScore 2.75
 G_M43117_IG14:
-            add     x0, x24, #0xD1FFAB1E
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
-            ldr     x24, [x20, #0x08]
+            ldr     x21, [x20, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbz     w0, #0, G_M43117_IG37
 						;; size=36 bbWeight=0.50 PerfScore 5.25
 G_M43117_IG15:
             ldr     x15, [x25]
             add     x14, x22, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #16
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #24
-            mov     x15, x24
+            mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x19, x22
             b       G_M43117_IG26
 						;; size=44 bbWeight=0.50 PerfScore 5.00
 G_M43117_IG16:
             mov     x1, x20
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2      // code for CORINFO_HELP_ISINSTANCEOFANY
-            add     x14, x21, #8
+            add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             cbz     x0, G_M43117_IG17
-            sub     x11, x23, #24
+            sub     x11, x24, #24
             ldr     xip0, [x11]
             blr     xip0      // code for System.Collections.Generic.IReadOnlyCollection`1[short]:get_Count():int:this
             cmp     w0, w19
             ble     G_M43117_IG22
 						;; size=72 bbWeight=0.50 PerfScore 8.25
 G_M43117_IG17:
             mov     x0, x22
-            sub     x11, x23, #16
+            sub     x11, x24, #16
             ldr     xip0, [x11]
             blr     xip0      // code for System.Collections.Generic.IReadOnlyCollection`1[short]:get_Count():int:this
             cmp     w0, w19
             ble     G_M43117_IG20
 						;; size=24 bbWeight=0.50 PerfScore 3.25
 G_M43117_IG18:
-            ldr     x0, [x21, #0x10]
+            ldr     x0, [x23, #0x10]
             mov     x25, x0
             mov     w1, w19
             movz    x2, #0xD1FFAB1E      // code for MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]:<Batch>g__Batch|1(int):System.Collections.Generic.IEnumerator`1[System.ValueTuple`2[short[],int]]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2      // code for MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]:<Batch>g__Batch|1(int):System.Collections.Generic.IEnumerator`1[System.ValueTuple`2[short[],int]]:this
-            mov     x23, x0
-            movz    x24, #0xD1FFAB1E
-            movk    x24, #0xD1FFAB1E LSL #16
-            movk    x24, #0xD1FFAB1E LSL #32
-            add     x0, x24, #0xD1FFAB1E
+            mov     x24, x0
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
-            ldr     x21, [x25, #0x08]
+            ldr     x23, [x25, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbz     w0, #0, G_M43117_IG40
-						;; size=88 bbWeight=0.50 PerfScore 12.50
+						;; size=76 bbWeight=0.50 PerfScore 11.75
 G_M43117_IG19:
             movz    x25, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[short]:Value
             movk    x25, #0xD1FFAB1E LSL #16
             movk    x25, #0xD1FFAB1E LSL #32
             ldr     x15, [x25]
             add     x14, x19, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #16
-            mov     x15, x23
+            mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #24
-            mov     x15, x21
+            mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             b       G_M43117_IG26
 						;; size=52 bbWeight=0.50 PerfScore 5.50
 G_M43117_IG20:
-            ldr     x24, [x21, #0x10]
-            mov     x25, x24
+            ldr     x25, [x23, #0x10]
+            mov     x19, x25
             mov     x0, x22
-            sub     x11, x23, #8
+            sub     x11, x24, #8
             ldr     xip0, [x11]
             blr     xip0      // code for System.Collections.Generic.IReadOnlyCollection`1[short]:get_Count():int:this
             mov     w1, w0
-            mov     x0, x24
+            mov     x0, x25
             movz    x2, #0xD1FFAB1E      // code for MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]:<Batch>g__Batch|1(int):System.Collections.Generic.IEnumerator`1[System.ValueTuple`2[short[],int]]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2      // code for MoreLinq.Experimental.ExperimentalEnumerable+<>c__DisplayClass28_0`1[short]:<Batch>g__Batch|1(int):System.Collections.Generic.IEnumerator`1[System.ValueTuple`2[short[],int]]:this
-            mov     x19, x0
-            movz    x24, #0xD1FFAB1E
-            movk    x24, #0xD1FFAB1E LSL #16
-            movk    x24, #0xD1FFAB1E LSL #32
-            add     x0, x24, #0xD1FFAB1E
+            mov     x23, x0
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
-            ldr     x24, [x25, #0x08]
+            ldr     x24, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbz     w0, #0, G_M43117_IG39
-						;; size=108 bbWeight=0.50 PerfScore 15.25
+						;; size=96 bbWeight=0.50 PerfScore 14.50
 G_M43117_IG21:
             movz    x25, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[short]:Value
             movk    x25, #0xD1FFAB1E LSL #16
             movk    x25, #0xD1FFAB1E LSL #32
             ldr     x15, [x25]
             add     x14, x21, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #16
-            mov     x15, x19
+            mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #24
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x19, x21
             b       G_M43117_IG26
 						;; size=56 bbWeight=0.50 PerfScore 5.75
 G_M43117_IG22:
-            ldr     x25, [x21, #0x10]
+            ldr     x25, [x23, #0x10]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             str     wzr, [x19, #0x10]
             add     x14, x19, #8
-            mov     x15, x21
+            mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
-            movz    x24, #0xD1FFAB1E
-            movk    x24, #0xD1FFAB1E LSL #16
-            movk    x24, #0xD1FFAB1E LSL #32
-            add     x0, x24, #0xD1FFAB1E
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             ldr     x21, [x25, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbz     w0, #0, G_M43117_IG38
-						;; size=88 bbWeight=0.50 PerfScore 10.50
+						;; size=76 bbWeight=0.50 PerfScore 9.75
 G_M43117_IG23:
             movz    x25, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[short]:Value
             movk    x25, #0xD1FFAB1E LSL #16
             movk    x25, #0xD1FFAB1E LSL #32
             ldr     x15, [x25]
             add     x14, x23, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #16
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #24
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x19, x23
             b       G_M43117_IG26
 						;; size=56 bbWeight=0.50 PerfScore 5.75
 G_M43117_IG24:
-            ldr     x0, [x21, #0x10]
-            ldr     x24, [x0, #0x08]
+            ldr     x0, [x23, #0x10]
+            ldr     x25, [x0, #0x08]
             mov     x0, x22
-            add     x11, x23, #24
+            add     x11, x24, #24
             ldr     xip0, [x11]
             blr     xip0      // code for System.Collections.Generic.ICollection`1[short]:get_Count():int:this
             mov     w1, w0
-            mov     x0, x24
-            ldr     x2, [x24]
+            mov     x0, x25
+            ldr     x2, [x25]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x20]
             blr     x2      // code for System.Buffers.ArrayPool`1[short]:Rent(int):short[]:this
-            mov     x25, x0
+            mov     x19, x0
             mov     x0, x22
-            mov     x1, x25
-            add     x11, x23, #32
+            mov     x1, x19
+            add     x11, x24, #32
             mov     w2, wzr
             ldr     xip0, [x11]
             blr     xip0      // code for System.Collections.Generic.ICollection`1[short]:CopyTo(short[],int):this
-            ldr     x19, [x21, #0x10]
+            ldr     x20, [x23, #0x10]
             mov     x0, x22
-            add     x11, x23, #40
+            add     x11, x24, #40
             ldr     xip0, [x11]
             blr     xip0      // code for System.Collections.Generic.ICollection`1[short]:get_Count():int:this
-            mov     w20, w0
-            movz    x24, #0xD1FFAB1E
-            movk    x24, #0xD1FFAB1E LSL #16
-            movk    x24, #0xD1FFAB1E LSL #32
-            add     x0, x24, #0xD1FFAB1E
-            bl      CORINFO_HELP_NEWSFAST
-            mov     x21, x0
-            add     x14, x21, #8
-            mov     x15, x25
-            bl      CORINFO_HELP_ASSIGN_REF
-            str     w20, [x21, #0x10]
+            mov     w22, w0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x20, x0
-            str     wzr, [x20, #0x10]
-            add     x14, x20, #8
-            mov     x15, x21
+            mov     x23, x0
+            add     x14, x23, #8
+            mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
-            add     x0, x24, #0xD1FFAB1E
+            str     w22, [x23, #0x10]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            bl      CORINFO_HELP_NEWSFAST
+            mov     x19, x0
+            str     wzr, [x19, #0x10]
+            add     x14, x19, #8
+            mov     x15, x23
+            bl      CORINFO_HELP_ASSIGN_REF
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
-            ldr     x19, [x19, #0x08]
+            ldr     x20, [x20, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbz     w0, #0, G_M43117_IG34
-						;; size=212 bbWeight=0.50 PerfScore 30.00
+						;; size=208 bbWeight=0.50 PerfScore 29.75
 G_M43117_IG25:
             movz    x25, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[short]:Value
             movk    x25, #0xD1FFAB1E LSL #16
             movk    x25, #0xD1FFAB1E LSL #32
             ldr     x15, [x25]
             add     x14, x21, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #16
-            mov     x15, x20
+            mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #24
-            mov     x15, x19
+            mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x19, x21
 						;; size=52 bbWeight=0.50 PerfScore 5.25
 G_M43117_IG26:
             mov     x0, x19
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M43117_IG27:
             ldr     x25, [sp, #0x48]
             ldp     x23, x24, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=24 bbWeight=1 PerfScore 7.00
 G_M43117_IG28:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.ArgumentNullException:.ctor(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2      // code for System.ArgumentNullException:.ctor(System.String):this
             mov     x0, x19
             bl      CORINFO_HELP_THROW
             brk     #0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M43117_IG29:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.ArgumentNullException:.ctor(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2      // code for System.ArgumentNullException:.ctor(System.String):this
             mov     x0, x19
             bl      CORINFO_HELP_THROW
             brk     #0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M43117_IG30:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.ArgumentOutOfRangeException:.ctor(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2      // code for System.ArgumentOutOfRangeException:.ctor(System.String):this
             mov     x0, x19
             bl      CORINFO_HELP_THROW
             brk     #0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M43117_IG31:
-            mov     x0, x24
             movz    x1, #0xD1FFAB1E      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M43117_IG04
-						;; size=28 bbWeight=0 PerfScore 0.00
+						;; size=24 bbWeight=0 PerfScore 0.00
 G_M43117_IG32:
             movz    x1, #0xD1FFAB1E      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M43117_IG05
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M43117_IG33:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x1, #0xD1FFAB1E      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M43117_IG08
 						;; size=36 bbWeight=0 PerfScore 0.00
 G_M43117_IG34:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x1, #0xD1FFAB1E      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M43117_IG25
 						;; size=36 bbWeight=0 PerfScore 0.00
 G_M43117_IG35:
-            mov     x0, x24
             movz    x1, #0xD1FFAB1E      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M43117_IG11
-						;; size=28 bbWeight=0 PerfScore 0.00
+						;; size=24 bbWeight=0 PerfScore 0.00
 G_M43117_IG36:
             movz    x1, #0xD1FFAB1E      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M43117_IG12
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M43117_IG37:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x1, #0xD1FFAB1E      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M43117_IG15
 						;; size=36 bbWeight=0 PerfScore 0.00
 G_M43117_IG38:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x1, #0xD1FFAB1E      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M43117_IG23
 						;; size=36 bbWeight=0 PerfScore 0.00
 G_M43117_IG39:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x1, #0xD1FFAB1E      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M43117_IG21
 						;; size=36 bbWeight=0 PerfScore 0.00
 G_M43117_IG40:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x1, #0xD1FFAB1E      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M43117_IG19
 						;; size=36 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2064, prolog size 24, PerfScore 216.50, instruction count 516, allocated bytes for code 2064 (MethodHash=720f5792) for method MoreLinq.Experimental.ExperimentalEnumerable:Batch[short](System.Collections.Generic.IEnumerable`1[short],int,System.Buffers.ArrayPool`1[short]):MoreLinq.Experimental.ICurrentBufferProvider`1[short] (FullOpts)
+; Total bytes of code 2004, prolog size 24, PerfScore 213.50, instruction count 501, allocated bytes for code 2004 (MethodHash=720f5792) for method MoreLinq.Experimental.ExperimentalEnumerable:Batch[short](System.Collections.Generic.IEnumerable`1[short],int,System.Buffers.ArrayPool`1[short]):MoreLinq.Experimental.ICurrentBufferProvider`1[short] (FullOpts)
 ; ============================================================
```

</details>



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

