## Top method regressions

<details>
<summary>90 (8.75 % of base) - System.Numerics.BigIntegerCalculator:Gcd(System.Span`1[nuint],System.Span`1[nuint])</summary>

```diff
 ; Assembly listing for method System.Numerics.BigIntegerCalculator:Gcd(System.Span`1[nuint],System.Span`1[nuint]) (FullOpts)
 ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 35 single block inlinees; 19 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[nuint]>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[nuint]>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[nuint]>
 ;  V03 loc1         [V03    ] (  8,116   )    long  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V04 loc2         [V04    ] ( 10,152   )    long  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V05 loc3         [V05,T08] (  5, 54   )     int  ->   r8        
 ;  V06 loc4         [V06,T07] (  6, 58   )     int  ->   r9        
 ;  V07 loc5         [V07,T09] (  5, 54   )     int  ->  rdi        
 ;  V08 loc6         [V08,T10] (  5, 54   )     int  ->  rsi        
 ;  V09 loc7         [V09,T04] (  8, 74   )     int  ->  [rbp-0x3C] 
 ;  V10 loc8         [V10,T00] ( 10,160   )    long  ->  rax        
 ;  V11 loc9         [V11,T01] (  8,128   )    long  ->  r11        
 ;  V12 loc10        [V12,T02] (  8,128   )    long  ->  r12        
 ;  V13 loc11        [V13,T03] (  8,128   )    long  ->  rdx        
-;  V14 loc12        [V14,T15] (  8, 16   )     int  ->  r13        
+;  V14 loc12        [V14,T17] (  9, 18   )     int  ->  r13        
 ;* V15 loc13        [V15    ] (  0,  0   )    long  ->  zero-ref   
 ;* V16 loc14        [V16    ] (  0,  0   )    long  ->  zero-ref   
 ;  V17 OutArgs      [V17    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V18 tmp1         [V18    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V19 tmp2         [V19    ] (  0,  0   )     int  ->  zero-ref   
 ;* V20 tmp3         [V20    ] (  0,  0   )     int  ->  zero-ref   
 ;* V21 tmp4         [V21    ] (  0,  0   )     int  ->  zero-ref   
 ;* V22 tmp5         [V22    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[nuint]>
 ;* V23 tmp6         [V23    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[nuint]>
 ;* V24 tmp7         [V24    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Span`1[nuint]>
 ;* V25 tmp8         [V25    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Span`1[nuint]>
 ;* V26 tmp9         [V26    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[nuint]>
 ;* V27 tmp10        [V27    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Span`1[nuint]>
 ;* V28 tmp11        [V28    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Span`1[nuint]>
 ;* V29 tmp12        [V29    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[nuint]>
 ;* V30 tmp13        [V30    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Span`1[nuint]>
 ;* V31 tmp14        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[nuint]>
 ;* V32 tmp15        [V32    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[nuint]>
 ;* V33 tmp16        [V33    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V34 tmp17        [V34    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V35 tmp18        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[nuint]>
 ;* V36 tmp19        [V36    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[nuint]>
 ;* V37 tmp20        [V37    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V38 tmp21        [V38    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V39 tmp22        [V39    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[nuint]>
 ;* V40 tmp23        [V40    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[nuint]>
 ;* V41 tmp24        [V41    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V42 tmp25        [V42    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V43 tmp26        [V43,T18] (  4,  8   )     int  ->  r13         "Inline return value spill temp"
+;  V43 tmp26        [V43,T18] (  5, 10   )     int  ->  r13         "Inline return value spill temp"
 ;* V44 tmp27        [V44    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[nuint]>
 ;* V45 tmp28        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[nuint]>
 ;* V46 tmp29        [V46    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[nuint]>
 ;* V47 tmp30        [V47    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Span`1[nuint]>
 ;* V48 tmp31        [V48    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[nuint]>
 ;* V49 tmp32        [V49    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[nuint]>
 ;* V50 tmp33        [V50    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[nuint]>
 ;* V51 tmp34        [V51    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V52 tmp35        [V52    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[nuint]>
 ;* V53 tmp36        [V53    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V54 tmp37        [V54    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[nuint]>
 ;* V55 tmp38        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[nuint]>
 ;* V56 tmp39        [V56    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V57 tmp40        [V57    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V58 tmp41        [V58    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V59 tmp42        [V59    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[nuint]>
 ;* V60 tmp43        [V60    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[nuint]>
 ;* V61 tmp44        [V61    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V62 tmp45        [V62    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V63 tmp46        [V63    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[nuint]>
 ;* V64 tmp47        [V64    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V65 tmp48        [V65    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V66 tmp49        [V66    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V67 tmp50        [V67    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V68 tmp51        [V68    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V69 tmp52        [V69    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V70 tmp53        [V70    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[nuint]>
 ;* V71 tmp54        [V71    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V72 tmp55        [V72    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[nuint]>
 ;* V73 tmp56        [V73    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[nuint]>
 ;* V74 tmp57        [V74    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[nuint]>
 ;* V75 tmp58        [V75    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[nuint]>
 ;* V76 tmp59        [V76    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[nuint]>
 ;  V77 tmp60        [V77,T19] (  2,  8   )   byref  ->  rdi         "Inlining Arg"
 ;  V78 tmp61        [V78,T20] (  2,  8   )     int  ->  rsi         "Inlining Arg"
 ;* V79 tmp62        [V79    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[nuint]>
 ;* V80 tmp63        [V80    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V81 tmp64        [V81    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[nuint]>
 ;* V82 tmp65        [V82    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[nuint]>
 ;* V83 tmp66        [V83    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V84 tmp67        [V84    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V85 tmp68        [V85    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V86 tmp69        [V86    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[nuint]>
 ;* V87 tmp70        [V87    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[nuint]>
 ;* V88 tmp71        [V88    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V89 tmp72        [V89    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V90 tmp73        [V90    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[nuint]>
 ;* V91 tmp74        [V91    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V92 tmp75        [V92    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V93 tmp76        [V93    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V94 tmp77        [V94    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V95 tmp78        [V95    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V96 tmp79        [V96    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inlining Arg"
-;  V97 tmp80        [V97,T16] (  4, 16   )     int  ->  r12         "Inlining Arg"
+;  V97 tmp80        [V97,T15] (  5, 20   )     int  ->  r12         "Inlining Arg"
 ;* V98 tmp81        [V98    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[nuint]>
 ;* V99 tmp82        [V99    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V100 tmp83       [V100,T17] (  4, 16   )     int  ->  rax         "Inlining Arg"
+;  V100 tmp83       [V100,T16] (  5, 20   )     int  ->  rax         "Inlining Arg"
 ;* V101 tmp84       [V101    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[nuint]>
 ;* V102 tmp85       [V102    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V103 tmp86       [V103    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[nuint]>
 ;* V104 tmp87       [V104    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[nuint]>
 ;* V105 tmp88       [V105    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;* V106 tmp89       [V106    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V107 tmp90       [V107,T24] (  3,  3   )     int  ->  rax         "Inlining Arg"
+;  V107 tmp90       [V107,T23] (  4,  4   )     int  ->  rax         "Inlining Arg"
 ;* V108 tmp91       [V108    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[nuint]>
 ;* V109 tmp92       [V109    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V110 tmp93       [V110    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[nuint]>
 ;* V111 tmp94       [V111    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V112 tmp95       [V112    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V113 tmp96       [V113    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V114 tmp97       [V114,T13] ( 19, 29.50)   byref  ->  registers   "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V115 tmp98       [V115,T11] ( 23, 36.50)     int  ->  [rbp-0x40]  "field V00._length (fldOffset=0x8)" P-INDEP
+;  V115 tmp98       [V115,T11] ( 24, 38.50)     int  ->  [rbp-0x40]  "field V00._length (fldOffset=0x8)" P-INDEP
 ;  V116 tmp99       [V116,T14] ( 13, 22.50)   byref  ->  [rbp-0x50]  "field V01._reference (fldOffset=0x0)" P-INDEP
-;  V117 tmp100      [V117,T12] ( 17, 36   )     int  ->  [rbp-0x44]  "field V01._length (fldOffset=0x8)" P-INDEP
+;  V117 tmp100      [V117,T12] ( 18, 38   )     int  ->  [rbp-0x44]  "field V01._length (fldOffset=0x8)" P-INDEP
 ;  V118 tmp101      [V118,T25] (  2,  2   )   byref  ->  [rbp-0x58]  spill-single-def "field V02._reference (fldOffset=0x0)" P-INDEP
 ;  V119 tmp102      [V119,T26] (  2,  2   )     int  ->  [rbp-0x48]  spill-single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;* V120 tmp103      [V120    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V121 tmp104      [V121    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;* V122 tmp105      [V122    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
 ;* V123 tmp106      [V123    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V124 tmp107      [V124    ] (  0,  0   )   byref  ->  zero-ref    "field V24._reference (fldOffset=0x0)" P-INDEP
 ;* V125 tmp108      [V125    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
 ;* V126 tmp109      [V126    ] (  0,  0   )   byref  ->  zero-ref    "field V25._reference (fldOffset=0x0)" P-INDEP
 ;* V127 tmp110      [V127    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
 ;* V128 tmp111      [V128    ] (  0,  0   )   byref  ->  zero-ref    "field V26._reference (fldOffset=0x0)" P-INDEP
 ;* V129 tmp112      [V129    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
 ;* V130 tmp113      [V130    ] (  0,  0   )   byref  ->  zero-ref    "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V131 tmp114      [V131    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V132 tmp115      [V132    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V28._reference (fldOffset=0x0)" P-INDEP
 ;* V133 tmp116      [V133    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V134 tmp117      [V134    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
 ;* V135 tmp118      [V135    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
 ;* V136 tmp119      [V136    ] (  0,  0   )   byref  ->  zero-ref    "field V30._reference (fldOffset=0x0)" P-INDEP
 ;* V137 tmp120      [V137    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
 ;* V138 tmp121      [V138    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V139 tmp122      [V139    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;* V140 tmp123      [V140    ] (  0,  0   )   byref  ->  zero-ref    "field V32._reference (fldOffset=0x0)" P-INDEP
 ;* V141 tmp124      [V141    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
 ;* V142 tmp125      [V142    ] (  0,  0   )   byref  ->  zero-ref    "field V35._reference (fldOffset=0x0)" P-INDEP
 ;* V143 tmp126      [V143    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
 ;* V144 tmp127      [V144    ] (  0,  0   )   byref  ->  zero-ref    "field V36._reference (fldOffset=0x0)" P-INDEP
 ;* V145 tmp128      [V145    ] (  0,  0   )     int  ->  zero-ref    "field V36._length (fldOffset=0x8)" P-INDEP
 ;* V146 tmp129      [V146    ] (  0,  0   )   byref  ->  zero-ref    "field V39._reference (fldOffset=0x0)" P-INDEP
 ;* V147 tmp130      [V147    ] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
 ;* V148 tmp131      [V148    ] (  0,  0   )   byref  ->  zero-ref    "field V40._reference (fldOffset=0x0)" P-INDEP
 ;* V149 tmp132      [V149    ] (  0,  0   )     int  ->  zero-ref    "field V40._length (fldOffset=0x8)" P-INDEP
 ;* V150 tmp133      [V150    ] (  0,  0   )   byref  ->  zero-ref    "field V44._reference (fldOffset=0x0)" P-INDEP
 ;* V151 tmp134      [V151    ] (  0,  0   )     int  ->  zero-ref    "field V44._length (fldOffset=0x8)" P-INDEP
 ;* V152 tmp135      [V152    ] (  0,  0   )   byref  ->  zero-ref    "field V45._reference (fldOffset=0x0)" P-INDEP
 ;* V153 tmp136      [V153    ] (  0,  0   )     int  ->  zero-ref    "field V45._length (fldOffset=0x8)" P-INDEP
 ;* V154 tmp137      [V154    ] (  0,  0   )   byref  ->  zero-ref    "field V46._reference (fldOffset=0x0)" P-INDEP
 ;* V155 tmp138      [V155    ] (  0,  0   )     int  ->  zero-ref    "field V46._length (fldOffset=0x8)" P-INDEP
 ;* V156 tmp139      [V156    ] (  0,  0   )   byref  ->  zero-ref    "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V157 tmp140      [V157    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V158 tmp141      [V158    ] (  0,  0   )   byref  ->  zero-ref    "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V159 tmp142      [V159    ] (  0,  0   )     int  ->  zero-ref    "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V160 tmp143      [V160    ] (  0,  0   )   byref  ->  zero-ref    "field V49._reference (fldOffset=0x0)" P-INDEP
 ;* V161 tmp144      [V161    ] (  0,  0   )     int  ->  zero-ref    "field V49._length (fldOffset=0x8)" P-INDEP
 ;* V162 tmp145      [V162    ] (  0,  0   )   byref  ->  zero-ref    "field V50._reference (fldOffset=0x0)" P-INDEP
 ;* V163 tmp146      [V163    ] (  0,  0   )     int  ->  zero-ref    "field V50._length (fldOffset=0x8)" P-INDEP
 ;* V164 tmp147      [V164    ] (  0,  0   )   byref  ->  zero-ref    "field V52._reference (fldOffset=0x0)" P-INDEP
 ;* V165 tmp148      [V165    ] (  0,  0   )     int  ->  zero-ref    "field V52._length (fldOffset=0x8)" P-INDEP
 ;* V166 tmp149      [V166    ] (  0,  0   )   byref  ->  zero-ref    "field V54._reference (fldOffset=0x0)" P-INDEP
 ;* V167 tmp150      [V167    ] (  0,  0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
 ;* V168 tmp151      [V168    ] (  0,  0   )   byref  ->  zero-ref    "field V55._reference (fldOffset=0x0)" P-INDEP
 ;* V169 tmp152      [V169    ] (  0,  0   )     int  ->  zero-ref    "field V55._length (fldOffset=0x8)" P-INDEP
 ;* V170 tmp153      [V170    ] (  0,  0   )   byref  ->  zero-ref    "field V59._reference (fldOffset=0x0)" P-INDEP
 ;* V171 tmp154      [V171    ] (  0,  0   )     int  ->  zero-ref    "field V59._length (fldOffset=0x8)" P-INDEP
 ;* V172 tmp155      [V172    ] (  0,  0   )   byref  ->  zero-ref    "field V60._reference (fldOffset=0x0)" P-INDEP
 ;* V173 tmp156      [V173    ] (  0,  0   )     int  ->  zero-ref    "field V60._length (fldOffset=0x8)" P-INDEP
 ;* V174 tmp157      [V174    ] (  0,  0   )   byref  ->  zero-ref    "field V63._reference (fldOffset=0x0)" P-INDEP
 ;* V175 tmp158      [V175    ] (  0,  0   )     int  ->  zero-ref    "field V63._length (fldOffset=0x8)" P-INDEP
-;  V176 tmp159      [V176,T23] (  2,  4   )   byref  ->  rdi         "field V70._reference (fldOffset=0x0)" P-INDEP
+;  V176 tmp159      [V176,T24] (  2,  4   )   byref  ->  rdi         "field V70._reference (fldOffset=0x0)" P-INDEP
 ;* V177 tmp160      [V177    ] (  0,  0   )     int  ->  zero-ref    "field V70._length (fldOffset=0x8)" P-INDEP
 ;* V178 tmp161      [V178    ] (  0,  0   )   byref  ->  zero-ref    "field V72._reference (fldOffset=0x0)" P-INDEP
 ;* V179 tmp162      [V179    ] (  0,  0   )     int  ->  zero-ref    "field V72._length (fldOffset=0x8)" P-INDEP
 ;* V180 tmp163      [V180    ] (  0,  0   )   byref  ->  zero-ref    "field V73._reference (fldOffset=0x0)" P-INDEP
 ;* V181 tmp164      [V181    ] (  0,  0   )     int  ->  zero-ref    "field V73._length (fldOffset=0x8)" P-INDEP
 ;* V182 tmp165      [V182    ] (  0,  0   )   byref  ->  zero-ref    "field V74._reference (fldOffset=0x0)" P-INDEP
 ;* V183 tmp166      [V183    ] (  0,  0   )     int  ->  zero-ref    "field V74._length (fldOffset=0x8)" P-INDEP
 ;* V184 tmp167      [V184    ] (  0,  0   )   byref  ->  zero-ref    "field V75._reference (fldOffset=0x0)" P-INDEP
 ;* V185 tmp168      [V185    ] (  0,  0   )     int  ->  zero-ref    "field V75._length (fldOffset=0x8)" P-INDEP
 ;* V186 tmp169      [V186    ] (  0,  0   )   byref  ->  zero-ref    "field V76._reference (fldOffset=0x0)" P-INDEP
 ;* V187 tmp170      [V187    ] (  0,  0   )     int  ->  zero-ref    "field V76._length (fldOffset=0x8)" P-INDEP
 ;* V188 tmp171      [V188    ] (  0,  0   )   byref  ->  zero-ref    "field V79._reference (fldOffset=0x0)" P-INDEP
 ;* V189 tmp172      [V189    ] (  0,  0   )     int  ->  zero-ref    "field V79._length (fldOffset=0x8)" P-INDEP
 ;* V190 tmp173      [V190    ] (  0,  0   )   byref  ->  zero-ref    "field V81._reference (fldOffset=0x0)" P-INDEP
 ;* V191 tmp174      [V191    ] (  0,  0   )     int  ->  zero-ref    "field V81._length (fldOffset=0x8)" P-INDEP
 ;* V192 tmp175      [V192    ] (  0,  0   )   byref  ->  zero-ref    "field V82._reference (fldOffset=0x0)" P-INDEP
 ;* V193 tmp176      [V193    ] (  0,  0   )     int  ->  zero-ref    "field V82._length (fldOffset=0x8)" P-INDEP
 ;* V194 tmp177      [V194    ] (  0,  0   )   byref  ->  zero-ref    "field V86._reference (fldOffset=0x0)" P-INDEP
 ;* V195 tmp178      [V195    ] (  0,  0   )     int  ->  zero-ref    "field V86._length (fldOffset=0x8)" P-INDEP
 ;* V196 tmp179      [V196    ] (  0,  0   )   byref  ->  zero-ref    "field V87._reference (fldOffset=0x0)" P-INDEP
 ;* V197 tmp180      [V197    ] (  0,  0   )     int  ->  zero-ref    "field V87._length (fldOffset=0x8)" P-INDEP
 ;* V198 tmp181      [V198    ] (  0,  0   )   byref  ->  zero-ref    "field V90._reference (fldOffset=0x0)" P-INDEP
 ;* V199 tmp182      [V199    ] (  0,  0   )     int  ->  zero-ref    "field V90._length (fldOffset=0x8)" P-INDEP
 ;  V200 tmp183      [V200,T21] (  3,  6   )   byref  ->  r14         "field V98._reference (fldOffset=0x0)" P-INDEP
 ;* V201 tmp184      [V201    ] (  0,  0   )     int  ->  zero-ref    "field V98._length (fldOffset=0x8)" P-INDEP
 ;  V202 tmp185      [V202,T22] (  3,  6   )   byref  ->  r13         "field V101._reference (fldOffset=0x0)" P-INDEP
 ;* V203 tmp186      [V203    ] (  0,  0   )     int  ->  zero-ref    "field V101._length (fldOffset=0x8)" P-INDEP
 ;* V204 tmp187      [V204    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V103._reference (fldOffset=0x0)" P-INDEP
 ;* V205 tmp188      [V205    ] (  0,  0   )     int  ->  zero-ref    "field V103._length (fldOffset=0x8)" P-INDEP
 ;* V206 tmp189      [V206    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V104._reference (fldOffset=0x0)" P-INDEP
 ;* V207 tmp190      [V207    ] (  0,  0   )     int  ->  zero-ref    "field V104._length (fldOffset=0x8)" P-INDEP
-;  V208 tmp191      [V208,T29] (  2,  1   )   byref  ->  rbx         single-def "field V108._reference (fldOffset=0x0)" P-INDEP
+;  V208 tmp191      [V208,T29] (  2,  1   )   byref  ->  r14         single-def "field V108._reference (fldOffset=0x0)" P-INDEP
 ;* V209 tmp192      [V209    ] (  0,  0   )     int  ->  zero-ref    "field V108._length (fldOffset=0x8)" P-INDEP
 ;* V210 tmp193      [V210    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V110._reference (fldOffset=0x0)" P-INDEP
 ;* V211 tmp194      [V211    ] (  0,  0   )     int  ->  zero-ref    "field V110._length (fldOffset=0x8)" P-INDEP
 ;  V212 tmp195      [V212,T27] (  2,  2   )    long  ->  rdi         "argument with side effect"
 ;  V213 tmp196      [V213,T28] (  2,  2   )    long  ->  rdx         "argument with side effect"
 ;  V214 cse0        [V214,T05] (  4, 64   )    long  ->  r10         "CSE #01: moderate"
 ;  V215 cse1        [V215,T06] (  4, 64   )    long  ->  r13         "CSE #02: moderate"
 ;
 ; Lcl frame size = 72
 
 G_M17702_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 72
        lea      rbp, [rsp+0x70]
        mov      r14, rdi
        mov      ebx, esi
        mov      r13, rdx
        mov      r15d, ecx
 						;; size=30 bbWeight=1 PerfScore 7.75
 G_M17702_IG02:
        mov      bword ptr [rbp-0x58], r14
        mov      dword ptr [rbp-0x48], ebx
        cmp      r15d, 1
-       jg       G_M17702_IG35
+       jg       G_M17702_IG34
 						;; size=17 bbWeight=1 PerfScore 3.25
 G_M17702_IG03:
        mov      r10d, r15d
-       mov      r15d, ebx
+       mov      r15, r13
+       mov      r13d, ebx
        mov      rbx, r14
-       mov      r14, r13
 						;; size=12 bbWeight=0.50 PerfScore 0.50
 G_M17702_IG04:
        test     r10d, r10d
-       je       SHORT G_M17702_IG06
-						;; size=5 bbWeight=1 PerfScore 1.25
+       je       G_M17702_IG06
+						;; size=9 bbWeight=1 PerfScore 1.25
 G_M17702_IG05:
        mov      rdi, rbx
-       mov      esi, r15d
-       mov      rdx, r14
+       mov      esi, r13d
+       mov      rdx, r15
        mov      dword ptr [rbp-0x44], r10d
        mov      ecx, r10d
        mov      rax, 0xD1FFAB1E      ; code for System.Numerics.BigIntegerCalculator:Reduce(System.Span`1[nuint],System.ReadOnlySpan`1[nuint]):int
        call     [rax]System.Numerics.BigIntegerCalculator:Reduce(System.Span`1[nuint],System.ReadOnlySpan`1[nuint]):int
-       mov      rdi, qword ptr [r14]
-       test     r15d, r15d
-       je       G_M17702_IG39
+       mov      rdi, qword ptr [r15]
+       test     r13d, r13d
+       je       G_M17702_IG38
        mov      rsi, qword ptr [rbx]
        mov      rax, 0xD1FFAB1E      ; code for System.Numerics.BigIntegerCalculator:Gcd(ulong,ulong):ulong
        call     [rax]System.Numerics.BigIntegerCalculator:Gcd(ulong,ulong):ulong
        mov      rdx, rax
        mov      rdi, rbx
-       mov      esi, r15d
+       mov      esi, r13d
        mov      rax, 0xD1FFAB1E      ; code for System.Numerics.BigIntegerCalculator:Overwrite(System.Span`1[nuint],ulong):int
        call     [rax]System.Numerics.BigIntegerCalculator:Overwrite(System.Span`1[nuint],ulong):int
-       cmp      eax, r15d
-       ja       G_M17702_IG37
-       mov      r15d, eax
-       mov      esi, dword ptr [rbp-0x44]
+       mov      ecx, r13d
+       sub      ecx, eax
+       or       ecx, eax
+       mov      bword ptr [rbp-0x50], r15
+       jl       G_M17702_IG36
+       mov      r14, rbx
+       mov      r15d, dword ptr [rbp-0x44]
+       mov      r13d, eax
+       mov      esi, r15d
        shl      rsi, 3
-       mov      rdi, r14
+       mov      rdi, bword ptr [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:ClearWithoutReferences(byref,nuint)
        call     [rax]System.SpanHelpers:ClearWithoutReferences(byref,nuint)
-						;; size=110 bbWeight=0.50 PerfScore 12.12
+       mov      rbx, r14
+						;; size=129 bbWeight=0.50 PerfScore 13.62
 G_M17702_IG06:
-       cmp      r15d, dword ptr [rbp-0x48]
-       jg       G_M17702_IG38
-       mov      edx, r15d
+       cmp      r13d, dword ptr [rbp-0x48]
+       jg       G_M17702_IG37
+       mov      edx, r13d
        shl      rdx, 3
        mov      rdi, bword ptr [rbp-0x58]
        mov      rsi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,nuint)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,nuint)
        nop      
 						;; size=37 bbWeight=1 PerfScore 7.50
 G_M17702_IG07:
        add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M17702_IG08:
-       align    [0 bytes for IG09]
-						;; size=0 bbWeight=1 PerfScore 0.00
-G_M17702_IG09:
-       mov      r10d, edi
-       mov      r11, rax
-       imul     r11, r10
-       mov      edx, r8d
-       add      r11, rdx
-       mov      edx, esi
-       imul     rdx, rax
-       mov      r12d, r9d
-       add      r12, rdx
-       mov      rdx, qword ptr [rbp-0x30]
-       imul     rax, qword ptr [rbp-0x38]
-       sub      rdx, rax
-       cmp      r11, 0xD1FFAB1E
-       ja       G_M17702_IG17
-       cmp      r12, 0xD1FFAB1E
-       ja       G_M17702_IG18
-       cmp      rdx, r12
-       jb       G_M17702_IG19
-       lea      rax, [rdx+r11]
-       mov      r13, qword ptr [rbp-0x38]
-       sub      r13, r10
-       cmp      rax, r13
-       ja       G_M17702_IG20
-       mov      r8d, r11d
-       mov      r9d, r12d
-       mov      qword ptr [rbp-0x30], rdx
-       inc      ecx
-       mov      r13d, r9d
-       cmp      qword ptr [rbp-0x30], r13
-       je       G_M17702_IG21
-       mov      rax, qword ptr [rbp-0x38]
-       xor      edx, edx
-       div      rdx:rax, qword ptr [rbp-0x30]
-       mov      r11, rax
-       shr      r11, 32
-       jne      G_M17702_IG22
-       mov      r11, rax
-       imul     r11, r13
-       mov      edx, esi
-       add      r11, rdx
-       mov      r12d, r8d
-       imul     r12, rax
-       add      r12, r10
-       mov      rdx, qword ptr [rbp-0x38]
-       imul     rax, qword ptr [rbp-0x30]
-       sub      rdx, rax
-       cmp      r11, 0xD1FFAB1E
-       ja       G_M17702_IG23
-       cmp      r12, 0xD1FFAB1E
-       ja       G_M17702_IG24
-       cmp      rdx, r12
-       jb       G_M17702_IG25
-       lea      rax, [rdx+r11]
-       mov      r10, qword ptr [rbp-0x30]
-       sub      r10, r13
-						;; size=223 bbWeight=16 PerfScore 1660.00
-G_M17702_IG10:
-       cmp      rax, r10
-       ja       G_M17702_IG26
-       mov      esi, r11d
-       mov      edi, r12d
-       mov      qword ptr [rbp-0x38], rdx
-       inc      ecx
        mov      dword ptr [rbp-0x3C], ecx
-       mov      edx, edi
-       cmp      qword ptr [rbp-0x38], rdx
-       je       SHORT G_M17702_IG15
-						;; size=32 bbWeight=16 PerfScore 100.00
+       jmp      G_M17702_IG29
+						;; size=8 bbWeight=8 PerfScore 24.00
+G_M17702_IG09:
+       mov      dword ptr [rbp-0x3C], ecx
+       jmp      G_M17702_IG29
+						;; size=8 bbWeight=8 PerfScore 24.00
+G_M17702_IG10:
+       mov      dword ptr [rbp-0x3C], ecx
+       jmp      G_M17702_IG29
+						;; size=8 bbWeight=8 PerfScore 24.00
 G_M17702_IG11:
-       cmp      qword ptr [rbp-0x38], 0
-       je       SHORT G_M17702_IG15
-						;; size=7 bbWeight=32 PerfScore 64.00
+       mov      dword ptr [rbp-0x3C], ecx
+       jmp      G_M17702_IG29
+						;; size=8 bbWeight=8 PerfScore 24.00
 G_M17702_IG12:
-       mov      ecx, dword ptr [rbp-0x3C]
-						;; size=3 bbWeight=16 PerfScore 16.00
+       mov      dword ptr [rbp-0x3C], ecx
+       jmp      G_M17702_IG29
+						;; size=8 bbWeight=8 PerfScore 24.00
 G_M17702_IG13:
-       mov      rax, qword ptr [rbp-0x30]
-       xor      edx, edx
-       div      rdx:rax, qword ptr [rbp-0x38]
-       mov      rdx, rax
-       shr      rdx, 32
-       je       G_M17702_IG09
-						;; size=23 bbWeight=16 PerfScore 1056.00
+       mov      dword ptr [rbp-0x3C], ecx
+       jmp      G_M17702_IG29
+						;; size=8 bbWeight=8 PerfScore 24.00
 G_M17702_IG14:
        mov      dword ptr [rbp-0x3C], ecx
-						;; size=3 bbWeight=8 PerfScore 8.00
+       jmp      G_M17702_IG29
+						;; size=8 bbWeight=8 PerfScore 24.00
 G_M17702_IG15:
-       test     r9d, r9d
-       jne      SHORT G_M17702_IG27
-						;; size=5 bbWeight=4 PerfScore 5.00
+       mov      dword ptr [rbp-0x3C], ecx
+       jmp      G_M17702_IG29
+						;; size=8 bbWeight=8 PerfScore 24.00
 G_M17702_IG16:
-       cmp      ebx, r15d
-       jl       G_M17702_IG31
-       mov      rdi, r14
-       mov      esi, ebx
-       mov      rdx, bword ptr [rbp-0x50]
-       mov      ecx, r15d
-       xor      r8, r8
-       xor      r9d, r9d
-       mov      rax, 0xD1FFAB1E      ; code for System.Numerics.BigIntegerCalculator:DivRem(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],System.Span`1[nuint])
-       call     [rax]System.Numerics.BigIntegerCalculator:DivRem(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],System.Span`1[nuint])
-       mov      rdi, r14
-       mov      edx, r15d
-       xor      esi, esi
-       mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:LastIndexOfValueType[long,System.SpanHelpers+Negate`1[long]](byref,long,int):int
-       call     [rax]System.SpanHelpers:LastIndexOfValueType[long,System.SpanHelpers+Negate`1[long]](byref,long,int):int
-       lea      r13d, [rax+0x01]
-       jmp      G_M17702_IG32
-						;; size=68 bbWeight=2 PerfScore 26.50
+       mov      dword ptr [rbp-0x3C], ecx
+       jmp      G_M17702_IG29
+						;; size=8 bbWeight=8 PerfScore 24.00
 G_M17702_IG17:
        mov      dword ptr [rbp-0x3C], ecx
-       jmp      SHORT G_M17702_IG15
-						;; size=5 bbWeight=8 PerfScore 24.00
+       jmp      G_M17702_IG29
+						;; size=8 bbWeight=8 PerfScore 24.00
 G_M17702_IG18:
-       mov      dword ptr [rbp-0x3C], ecx
-       jmp      SHORT G_M17702_IG15
-						;; size=5 bbWeight=8 PerfScore 24.00
-G_M17702_IG19:
-       mov      dword ptr [rbp-0x3C], ecx
-       jmp      SHORT G_M17702_IG15
-						;; size=5 bbWeight=8 PerfScore 24.00
-G_M17702_IG20:
-       mov      dword ptr [rbp-0x3C], ecx
-       jmp      SHORT G_M17702_IG15
-						;; size=5 bbWeight=8 PerfScore 24.00
-G_M17702_IG21:
-       mov      dword ptr [rbp-0x3C], ecx
-       jmp      SHORT G_M17702_IG15
-						;; size=5 bbWeight=8 PerfScore 24.00
-G_M17702_IG22:
-       mov      dword ptr [rbp-0x3C], ecx
-       jmp      SHORT G_M17702_IG15
-						;; size=5 bbWeight=8 PerfScore 24.00
-G_M17702_IG23:
-       mov      dword ptr [rbp-0x3C], ecx
-       jmp      SHORT G_M17702_IG15
-						;; size=5 bbWeight=8 PerfScore 24.00
-G_M17702_IG24:
-       mov      dword ptr [rbp-0x3C], ecx
-       jmp      SHORT G_M17702_IG15
-						;; size=5 bbWeight=8 PerfScore 24.00
-G_M17702_IG25:
-       mov      dword ptr [rbp-0x3C], ecx
-       jmp      SHORT G_M17702_IG15
-						;; size=5 bbWeight=8 PerfScore 24.00
-G_M17702_IG26:
-       mov      dword ptr [rbp-0x3C], ecx
-       jmp      SHORT G_M17702_IG15
-						;; size=5 bbWeight=8 PerfScore 24.00
-G_M17702_IG27:
        mov      edi, edi
        mov      qword ptr [rsp], rdi
        mov      edi, esi
        mov      qword ptr [rsp+0x08], rdi
        mov      rdi, r14
        mov      esi, ebx
        mov      rdx, bword ptr [rbp-0x50]
        mov      ecx, r15d
        mov      r8d, r8d
        mov      r9d, r9d
        mov      rax, 0xD1FFAB1E      ; code for System.Numerics.BigIntegerCalculator:LehmerCore(System.Span`1[nuint],System.Span`1[nuint],long,long,long,long):int
        call     [rax]System.Numerics.BigIntegerCalculator:LehmerCore(System.Span`1[nuint],System.Span`1[nuint],long,long,long,long):int
        mov      r13d, eax
        cmp      ebx, r13d
-       jle      SHORT G_M17702_IG28
+       jle      SHORT G_M17702_IG19
        cmp      r13d, ebx
-       ja       G_M17702_IG37
+       ja       G_M17702_IG36
        mov      esi, r13d
        lea      rdi, bword ptr [r14+8*rsi]
        mov      esi, ebx
        sub      esi, r13d
        shl      rsi, 3
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:ClearWithoutReferences(byref,nuint)
        call     [rax]System.SpanHelpers:ClearWithoutReferences(byref,nuint)
 						;; size=88 bbWeight=2 PerfScore 31.50
-G_M17702_IG28:
-       cmp      r13d, ebx
-       ja       G_M17702_IG37
+G_M17702_IG19:
+       mov      edi, ebx
+       sub      edi, r13d
+       or       edi, r13d
+       jl       G_M17702_IG36
        mov      rdi, r14
        mov      edx, r13d
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:LastIndexOfValueType[long,System.SpanHelpers+Negate`1[long]](byref,long,int):int
        call     [rax]System.SpanHelpers:LastIndexOfValueType[long,System.SpanHelpers+Negate`1[long]](byref,long,int):int
        lea      r12d, [rax+0x01]
-       cmp      r12d, ebx
-       ja       G_M17702_IG37
+       sub      ebx, r12d
+       or       ebx, r12d
+       jl       G_M17702_IG36
        mov      rbx, r14
        mov      dword ptr [rbp-0x40], r12d
        mov      rdi, bword ptr [rbp-0x50]
        mov      esi, r15d
        mov      edx, r13d
        mov      rcx, 0xD1FFAB1E      ; code for System.Numerics.BigIntegerCalculator:Refresh(System.Span`1[nuint],int):int
        call     [rcx]System.Numerics.BigIntegerCalculator:Refresh(System.Span`1[nuint],int):int
-       cmp      eax, r15d
-       ja       G_M17702_IG37
+       sub      r15d, eax
+       or       r15d, eax
+       jl       G_M17702_IG36
        mov      r13, bword ptr [rbp-0x50]
        mov      r15, r13
        mov      r10d, eax
        mov      edi, dword ptr [rbp-0x3C]
        mov      esi, edi
        shr      esi, 31
        add      esi, edi
        and      esi, -2
        sub      edi, esi
        cmp      edi, 1
-       je       SHORT G_M17702_IG30
-						;; size=110 bbWeight=2 PerfScore 39.00
-G_M17702_IG29:
-       mov      r14, r15
-       mov      r15d, dword ptr [rbp-0x40]
-       jmp      SHORT G_M17702_IG33
-						;; size=9 bbWeight=1 PerfScore 3.25
-G_M17702_IG30:
+       je       SHORT G_M17702_IG21
+						;; size=121 bbWeight=2 PerfScore 41.00
+G_M17702_IG20:
+       mov      r13d, dword ptr [rbp-0x40]
+       jmp      G_M17702_IG32
+       align    [0 bytes for IG23]
+						;; size=9 bbWeight=1 PerfScore 3.00
+G_M17702_IG21:
        mov      rbx, r13
-       mov      r15d, eax
+       mov      r13d, eax
+       mov      r15, r14
        mov      r10d, r12d
-       jmp      SHORT G_M17702_IG33
-						;; size=11 bbWeight=2 PerfScore 5.50
-G_M17702_IG31:
+       jmp      G_M17702_IG32
+						;; size=17 bbWeight=2 PerfScore 6.00
+G_M17702_IG22:
        mov      r13d, ebx
-						;; size=3 bbWeight=2 PerfScore 0.50
-G_M17702_IG32:
-       cmp      r13d, ebx
-       ja       G_M17702_IG37
+       jmp      G_M17702_IG31
+						;; size=8 bbWeight=2 PerfScore 4.50
+G_M17702_IG23:
+       mov      r10d, edi
+       mov      r11, rax
+       imul     r11, r10
+       mov      edx, r8d
+       add      r11, rdx
+       mov      edx, esi
+       imul     rdx, rax
+       mov      r12d, r9d
+       add      r12, rdx
+       mov      rdx, qword ptr [rbp-0x30]
+       imul     rax, qword ptr [rbp-0x38]
+       sub      rdx, rax
+       cmp      r11, 0xD1FFAB1E
+       ja       G_M17702_IG08
+       cmp      r12, 0xD1FFAB1E
+       ja       G_M17702_IG09
+       cmp      rdx, r12
+       jb       G_M17702_IG10
+       lea      rax, [rdx+r11]
+       mov      r13, qword ptr [rbp-0x38]
+       sub      r13, r10
+       cmp      rax, r13
+       ja       G_M17702_IG11
+       mov      r8d, r11d
+       mov      r9d, r12d
+       mov      qword ptr [rbp-0x30], rdx
+       inc      ecx
+       mov      r13d, r9d
+       cmp      qword ptr [rbp-0x30], r13
+       je       G_M17702_IG12
+       mov      rax, qword ptr [rbp-0x38]
+       xor      edx, edx
+       div      rdx:rax, qword ptr [rbp-0x30]
+       mov      r11, rax
+       shr      r11, 32
+       jne      G_M17702_IG13
+       mov      r11, rax
+       imul     r11, r13
+       mov      edx, esi
+       add      r11, rdx
+       mov      r12d, r8d
+       imul     r12, rax
+       add      r12, r10
+       mov      rdx, qword ptr [rbp-0x38]
+       imul     rax, qword ptr [rbp-0x30]
+       sub      rdx, rax
+       cmp      r11, 0xD1FFAB1E
+       ja       G_M17702_IG14
+       cmp      r12, 0xD1FFAB1E
+       ja       G_M17702_IG15
+       cmp      rdx, r12
+       jb       G_M17702_IG16
+       lea      rax, [rdx+r11]
+       mov      r10, qword ptr [rbp-0x30]
+       sub      r10, r13
+						;; size=223 bbWeight=16 PerfScore 1660.00
+G_M17702_IG24:
+       cmp      rax, r10
+       ja       G_M17702_IG17
+       mov      esi, r11d
+       mov      edi, r12d
+       mov      qword ptr [rbp-0x38], rdx
+       inc      ecx
+       mov      dword ptr [rbp-0x3C], ecx
+       mov      edx, edi
+       cmp      qword ptr [rbp-0x38], rdx
+       je       SHORT G_M17702_IG29
+						;; size=32 bbWeight=16 PerfScore 100.00
+G_M17702_IG25:
+       cmp      qword ptr [rbp-0x38], 0
+       je       SHORT G_M17702_IG29
+						;; size=7 bbWeight=32 PerfScore 64.00
+G_M17702_IG26:
+       mov      ecx, dword ptr [rbp-0x3C]
+						;; size=3 bbWeight=16 PerfScore 16.00
+G_M17702_IG27:
+       mov      rax, qword ptr [rbp-0x30]
+       xor      edx, edx
+       div      rdx:rax, qword ptr [rbp-0x38]
+       mov      rdx, rax
+       shr      rdx, 32
+       je       G_M17702_IG23
+						;; size=23 bbWeight=16 PerfScore 1056.00
+G_M17702_IG28:
+       mov      dword ptr [rbp-0x3C], ecx
+						;; size=3 bbWeight=8 PerfScore 8.00
+G_M17702_IG29:
+       test     r9d, r9d
+       jne      G_M17702_IG18
+						;; size=9 bbWeight=4 PerfScore 5.00
+G_M17702_IG30:
+       cmp      ebx, r15d
+       jl       G_M17702_IG22
+       mov      rdi, r14
+       mov      esi, ebx
+       mov      rdx, bword ptr [rbp-0x50]
+       mov      ecx, r15d
+       xor      r8, r8
+       xor      r9d, r9d
+       mov      rax, 0xD1FFAB1E      ; code for System.Numerics.BigIntegerCalculator:DivRem(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],System.Span`1[nuint])
+       call     [rax]System.Numerics.BigIntegerCalculator:DivRem(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],System.Span`1[nuint])
+       mov      edi, ebx
+       sub      edi, r15d
+       js       G_M17702_IG36
+       mov      rdi, r14
+       mov      edx, r15d
+       xor      esi, esi
+       mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:LastIndexOfValueType[long,System.SpanHelpers+Negate`1[long]](byref,long,int):int
+       call     [rax]System.SpanHelpers:LastIndexOfValueType[long,System.SpanHelpers+Negate`1[long]](byref,long,int):int
+       lea      r13d, [rax+0x01]
+						;; size=74 bbWeight=2 PerfScore 25.50
+G_M17702_IG31:
+       mov      edi, ebx
+       sub      edi, r13d
+       or       edi, r13d
+       jl       G_M17702_IG36
        mov      rdi, r14
        mov      r12, bword ptr [rbp-0x50]
        mov      r14, r12
        mov      ebx, r15d
        mov      r12, rdi
        mov      r15d, r13d
        mov      r10d, r15d
-       mov      r15d, ebx
+       mov      r13d, ebx
        mov      rbx, r14
-       mov      r14, r12
-						;; size=40 bbWeight=2 PerfScore 9.00
-G_M17702_IG33:
+       mov      r15, r12
+						;; size=45 bbWeight=2 PerfScore 10.00
+G_M17702_IG32:
        cmp      r10d, 1
        jle      G_M17702_IG04
 						;; size=10 bbWeight=8 PerfScore 10.00
-G_M17702_IG34:
-       mov      r13, r14
+G_M17702_IG33:
        mov      r14, rbx
-       mov      ebx, r15d
+       mov      ebx, r13d
+       mov      r13, r15
        mov      r15d, r10d
 						;; size=12 bbWeight=4 PerfScore 4.00
-G_M17702_IG35:
+G_M17702_IG34:
        mov      rdi, r14
        mov      esi, ebx
        mov      bword ptr [rbp-0x50], r13
        mov      rdx, r13
        mov      ecx, r15d
        lea      r8, [rbp-0x30]
        lea      r9, [rbp-0x38]
        mov      r10, 0xD1FFAB1E      ; code for System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[nuint],System.ReadOnlySpan`1[nuint],byref,byref)
        call     [r10]System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[nuint],System.ReadOnlySpan`1[nuint],byref,byref)
        mov      r8d, 1
        xor      r9d, r9d
        xor      edi, edi
        mov      esi, 1
        xor      ecx, ecx
        cmp      qword ptr [rbp-0x38], 0
-       jne      G_M17702_IG13
+       jne      G_M17702_IG27
 						;; size=65 bbWeight=4 PerfScore 38.00
-G_M17702_IG36:
+G_M17702_IG35:
        mov      dword ptr [rbp-0x3C], ecx
-       jmp      G_M17702_IG15
+       jmp      G_M17702_IG29
 						;; size=8 bbWeight=2 PerfScore 6.00
-G_M17702_IG37:
+G_M17702_IG36:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M17702_IG38:
+G_M17702_IG37:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M17702_IG39:
+G_M17702_IG38:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1028, prolog size 30, PerfScore 3358.88, instruction count 286, allocated bytes for code 1028 (MethodHash=c409bad9) for method System.Numerics.BigIntegerCalculator:Gcd(System.Span`1[nuint],System.Span`1[nuint]) (FullOpts)
+; Total bytes of code 1118, prolog size 30, PerfScore 3366.62, instruction count 301, allocated bytes for code 1118 (MethodHash=c409bad9) for method System.Numerics.BigIntegerCalculator:Gcd(System.Span`1[nuint],System.Span`1[nuint]) (FullOpts)
 ; ============================================================
```

</details>



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

