## Top method improvements

<details>
<summary>-776 (-53.48 % of base) - StackExchange.Redis.Format:FormatInt64(long,System.Span`1[byte]):int</summary>

```diff
 ; Assembly listing for method StackExchange.Redis.Format:FormatInt64(long,System.Span`1[byte]):int (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; 41 single block inlinees; 43 inlinees without PGO data
+; 0 inlinees with PGO data; 40 single block inlinees; 42 inlinees without PGO data
 
 G_M000_IG01:
        push     rbp
-       push     r15
-       push     r14
-       push     r13
-       push     r12
        push     rbx
-       sub      rsp, 24
-       lea      rbp, [rsp+0x40]
-       mov      rbx, rdi
-       mov      r14, rsi
-       mov      r15d, edx
+       push     rax
+       lea      rbp, [rsp+0x10]
  
 G_M000_IG02:
-       mov      word  ptr [rbp-0x38], 0
-       movzx    r13, byte  ptr [rbp-0x38]
-       movzx    rdx, byte  ptr [rbp-0x37]
-       mov      esi, r13d
-       or       esi, edx
-       je       G_M000_IG24
+       test     rdi, rdi
+       jl       G_M000_IG11
  
 G_M000_IG03:
-       mov      r12d, r13d
-       or       r12d, 32
-       cmp      r12d, 103
+       mov      rax, rdi
+       or       rax, 1
+       lzcnt    rax, rax
+       xor      eax, 63
+       mov      rcx, 0xD1FFAB1E
+       movzx    rax, byte  ptr [rcx+rax]
+       mov      rcx, 0xD1FFAB1E
+       cmp      rdi, qword ptr [rcx+8*rax]
+       setb     cl
+       movzx    rcx, cl
+       sub      eax, ecx
+       cmp      eax, edx
        jle      SHORT G_M000_IG05
-       cmp      r12d, 110
-       jne      SHORT G_M000_IG04
-       mov      rsi, r14
-       mov      edx, r15d
-       lea      rcx, [rbp-0x30]
-       mov      rdi, rbx
-       movzx    r8, word  ptr [rbp-0x38]
-       mov      rax, 0xD1FFAB1E
-       call     [rax]System.Buffers.Text.FormattingHelpers:TryFormat[long](long,System.Span`1[byte],byref,System.Buffers.StandardFormat):bool
-       jmp      G_M000_IG44
+       xor      eax, eax
+       mov      dword ptr [rbp-0x10], eax
  
 G_M000_IG04:
-       cmp      r12d, 114
-       je       SHORT G_M000_IG06
-       cmp      r12d, 120
-       jne      G_M000_IG51
-       add      r13d, -33
-       movzx    rsi, r13w
-       xor      ecx, ecx
-       cmp      edx, 255
-       cmove    edx, ecx
-       mov      rcx, r14
-       mov      r8d, r15d
-       lea      r9, [rbp-0x30]
-       mov      rdi, rbx
-       mov      rax, 0xD1FFAB1E
-       call     [rax]System.Number:TryInt64ToHexStr[byte](long,char,int,System.Span`1[byte],byref):bool
-       jmp      G_M000_IG44
+       jmp      SHORT G_M000_IG10
  
 G_M000_IG05:
-       cmp      r12d, 100
-       je       SHORT G_M000_IG07
-       cmp      r12d, 103
-       jne      G_M000_IG51
+       mov      dword ptr [rbp-0x10], eax
+       mov      ecx, edx
+       cmp      rdi, 10
+       jb       G_M000_IG27
  
 G_M000_IG06:
-       lea      rdi, [rbp-0x38]
-       mov      rax, 0xD1FFAB1E
-       call     [rax]System.Buffers.StandardFormat:get_HasPrecision():bool:this
-       test     eax, eax
-       jne      G_M000_IG52
+       cmp      rdi, 100
+       jae      G_M000_IG25
  
 G_M000_IG07:
-       test     rbx, rbx
-       jl       G_M000_IG13
-       movzx    r8, byte  ptr [rbp-0x37]
-       xor      edi, edi
-       cmp      r8d, 255
-       cmove    r8d, edi
-       mov      rdi, rbx
-       or       rdi, 1
-       lzcnt    rdi, rdi
-       xor      edi, 63
-       mov      rsi, 0xD1FFAB1E
-       movzx    rdi, byte  ptr [rsi+rdi]
-       mov      rsi, 0xD1FFAB1E
-       cmp      rbx, qword ptr [rsi+8*rdi]
-       setb     sil
-       movzx    rsi, sil
-       sub      edi, esi
-       cmp      r8d, edi
-       mov      edx, edi
-       cmovge   edx, r8d
-       cmp      edx, r15d
-       jle      SHORT G_M000_IG09
-       xor      edx, edx
-       mov      dword ptr [rbp-0x30], edx
+       mov      rdx, rdi
+       jmp      G_M000_IG26
+       align    [0 bytes for IG13]
  
 G_M000_IG08:
-       xor      eax, eax
-       jmp      SHORT G_M000_IG12
- 
-G_M000_IG09:
-       mov      dword ptr [rbp-0x30], edx
-       cmp      r8d, edi
-       jle      SHORT G_M000_IG10
-       mov      rdi, r14
-       mov      esi, r15d
-       mov      rcx, rbx
-       mov      rax, 0xD1FFAB1E
-       call     [rax]System.Number:UInt64ToDecChars[byte](System.Span`1[byte],int,ulong,int):int
-       jmp      SHORT G_M000_IG11
- 
-G_M000_IG10:
-       mov      rdi, r14
-       mov      esi, r15d
-       mov      rcx, rbx
-       mov      rax, 0xD1FFAB1E
-       call     [rax]System.Number:UInt64ToDecChars[byte](System.Span`1[byte],int,ulong):int
- 
-G_M000_IG11:
-       mov      eax, 1
- 
-G_M000_IG12:
-       jmp      G_M000_IG44
- 
-G_M000_IG13:
-       movzx    r8, byte  ptr [rbp-0x37]
-       xor      edx, edx
-       cmp      r8d, 255
-       cmovne   edx, r8d
-       mov      eax, 1
-       test     edx, edx
-       cmovle   edx, eax
-       mov      rax, rbx
-       neg      rax
-       mov      rcx, rax
-       or       rcx, 1
-       lzcnt    rcx, rcx
-       xor      ecx, 63
-       mov      rdi, 0xD1FFAB1E
-       movzx    rcx, byte  ptr [rdi+rcx]
-       mov      rdi, 0xD1FFAB1E
-       cmp      rax, qword ptr [rdi+8*rcx]
-       setb     al
-       movzx    rax, al
+       add      eax, -2
+       cmp      eax, ecx
+       ja       G_M000_IG28
        sub      ecx, eax
-       cmp      edx, ecx
-       mov      eax, ecx
-       cmovge   eax, edx
-       inc      eax
-       cmp      eax, r15d
-       jg       G_M000_IG22
-       mov      dword ptr [rbp-0x30], eax
-       mov      rcx, rbx
-       neg      rcx
-       mov      edi, edx
-       cmp      rcx, 100
-       jae      SHORT G_M000_IG19
- 
-G_M000_IG14:
-       mov      rsi, rcx
-       jmp      SHORT G_M000_IG16
-       align    [4 bytes for IG15]
- 
-G_M000_IG15:
-       dec      edi
-       mov      rdx, 0xD1FFAB1E
-       mulx     rcx, rcx, rsi
-       shr      rcx, 3
-       lea      rdx, [rcx+4*rcx]
-       add      rdx, rdx
-       mov      r8, rsi
-       sub      r8, rdx
-       mov      rsi, rcx
-       dec      eax
-       cmp      eax, r15d
-       jae      G_M000_IG54
-       mov      ecx, eax
-       add      r8d, 48
-       mov      byte  ptr [r14+rcx], r8b
- 
-G_M000_IG16:
-       test     rsi, rsi
-       jne      SHORT G_M000_IG15
- 
-G_M000_IG17:
-       test     edi, edi
-       jg       SHORT G_M000_IG15
- 
-G_M000_IG18:
-       test     r15d, r15d
-       je       G_M000_IG54
-       mov      byte  ptr [r14], 45
-       mov      eax, 1
-       jmp      SHORT G_M000_IG23
-       align    [0 bytes for IG20]
- 
-G_M000_IG19:
-       mov      r13d, r15d
- 
-G_M000_IG20:
-       add      eax, -2
-       add      edi, -2
-       mov      rsi, 0xD1FFAB1E
-       mov      rdx, rcx
-       shr      rdx, 2
-       mulx     rdx, rdx, rsi
-       shr      rdx, 2
-       imul     rsi, rdx, 100
-       sub      rcx, rsi
-       mov      rsi, rdx
+       cmp      ecx, 2
+       jb       G_M000_IG28
        mov      edx, eax
-       add      rdx, 2
-       cmp      rdx, r13
-       ja       G_M000_IG50
-       mov      edx, eax
-       add      rdx, r14
-       cmp      ecx, 100
-       jae      G_M000_IG54
-       mov      ecx, ecx
-       mov      r8, 0xD1FFAB1E
-       movzx    rcx, word  ptr [r8+2*rcx]
-       mov      word  ptr [rdx], cx
-       cmp      rsi, 100
-       jb       G_M000_IG16
- 
-G_M000_IG21:
-       mov      rcx, rsi
-       jmp      SHORT G_M000_IG20
- 
-G_M000_IG22:
-       xor      eax, eax
-       mov      dword ptr [rbp-0x30], eax
- 
-G_M000_IG23:
-       jmp      G_M000_IG44
- 
-G_M000_IG24:
-       test     rbx, rbx
-       jl       G_M000_IG32
-       mov      rdx, rbx
-       or       rdx, 1
-       lzcnt    rdx, rdx
-       xor      edx, 63
-       mov      rax, 0xD1FFAB1E
-       movzx    rax, byte  ptr [rax+rdx]
-       mov      rdx, 0xD1FFAB1E
-       cmp      rbx, qword ptr [rdx+8*rax]
-       setb     dl
-       movzx    rdx, dl
-       sub      eax, edx
-       cmp      eax, r15d
-       jle      SHORT G_M000_IG26
-       xor      eax, eax
-       mov      dword ptr [rbp-0x30], eax
- 
-G_M000_IG25:
-       jmp      SHORT G_M000_IG31
- 
-G_M000_IG26:
-       mov      dword ptr [rbp-0x30], eax
-       mov      rcx, r14
-       mov      edi, r15d
-       cmp      rbx, 10
-       jb       G_M000_IG49
- 
-G_M000_IG27:
-       cmp      rbx, 100
-       jae      G_M000_IG46
- 
-G_M000_IG28:
-       mov      rdx, rbx
- 
-G_M000_IG29:
-       cmp      rdx, 10
-       mov      rbx, rdx
-       jb       G_M000_IG49
-       add      eax, -2
-       mov      edx, eax
-       add      rdx, 2
-       mov      r13d, edi
-       cmp      rdx, r13
-       ja       G_M000_IG50
-       mov      edx, eax
-       add      rdx, rcx
-       mov      eax, ebx
+       add      rdx, rsi
+       mov      eax, edi
        cmp      eax, 100
-       jae      G_M000_IG54
+       jae      G_M000_IG30
        mov      rcx, 0xD1FFAB1E
        movzx    rax, word  ptr [rcx+2*rax]
        mov      word  ptr [rdx], ax
  
-G_M000_IG30:
+G_M000_IG09:
        mov      eax, 1
  
-G_M000_IG31:
-       jmp      G_M000_IG44
+G_M000_IG10:
+       jmp      G_M000_IG22
  
-G_M000_IG32:
-       xor      eax, eax
-       cmp      edx, 255
-       cmove    edx, eax
-       mov      rax, r14
-       mov      ecx, r15d
-       mov      edi, 1
-       test     edx, edx
-       cmovle   edx, edi
-       mov      rdi, rbx
-       neg      rdi
-       mov      rsi, rdi
+G_M000_IG11:
+       mov      rax, rsi
+       mov      ecx, edx
+       mov      rdx, rdi
+       neg      rdx
+       mov      rsi, rdx
        or       rsi, 1
        lzcnt    rsi, rsi
        xor      esi, 63
        mov      r8, 0xD1FFAB1E
        movzx    rsi, byte  ptr [r8+rsi]
        mov      r8, 0xD1FFAB1E
-       cmp      rdi, qword ptr [r8+8*rsi]
-       setb     dil
-       movzx    rdi, dil
-       sub      esi, edi
-       cmp      edx, esi
-       mov      edi, esi
-       cmovge   edi, edx
-       inc      edi
-       cmp      edi, ecx
-       jg       G_M000_IG41
-       mov      dword ptr [rbp-0x30], edi
-       mov      rsi, rbx
-       neg      rsi
-       mov      r8d, edx
-       cmp      rsi, 100
-       jae      SHORT G_M000_IG38
+       cmp      rdx, qword ptr [r8+8*rsi]
+       setb     dl
+       movzx    rdx, dl
+       sub      esi, edx
+       mov      r8d, 1
+       cmp      esi, 1
+       cmovg    r8d, esi
+       inc      r8d
+       cmp      r8d, ecx
+       jg       G_M000_IG19
+       mov      dword ptr [rbp-0x10], r8d
+       neg      rdi
+       mov      esi, 1
+       cmp      rdi, 100
+       jae      SHORT G_M000_IG18
  
-G_M000_IG33:
-       mov      r9, rsi
-       jmp      SHORT G_M000_IG35
-       align    [7 bytes for IG34]
+G_M000_IG12:
+       mov      r9, rdi
+       jmp      SHORT G_M000_IG14
  
-G_M000_IG34:
-       dec      r8d
+G_M000_IG13:
+       dec      esi
        mov      rdx, 0xD1FFAB1E
        mulx     rdx, rdx, r9
        shr      rdx, 3
-       lea      rsi, [rdx+4*rdx]
-       add      rsi, rsi
+       lea      rdi, [rdx+4*rdx]
+       add      rdi, rdi
        mov      r10, r9
-       sub      r10, rsi
+       sub      r10, rdi
        mov      r9, rdx
-       dec      edi
-       cmp      edi, ecx
-       jae      G_M000_IG54
-       mov      edx, edi
+       dec      r8d
+       cmp      r8d, ecx
+       jae      G_M000_IG30
+       mov      edx, r8d
        add      r10d, 48
        mov      byte  ptr [rax+rdx], r10b
  
-G_M000_IG35:
+G_M000_IG14:
        test     r9, r9
-       jne      SHORT G_M000_IG34
+       jne      SHORT G_M000_IG13
  
-G_M000_IG36:
-       test     r8d, r8d
-       jg       SHORT G_M000_IG34
+G_M000_IG15:
+       test     esi, esi
+       jg       SHORT G_M000_IG13
  
-G_M000_IG37:
+G_M000_IG16:
        test     ecx, ecx
-       je       G_M000_IG54
+       je       G_M000_IG30
        mov      byte  ptr [rax], 45
        mov      ebx, 1
-       jmp      SHORT G_M000_IG43
-       align    [0 bytes for IG39]
+       jmp      SHORT G_M000_IG21
  
-G_M000_IG38:
-       mov      r13d, ecx
+G_M000_IG17:
+       mov      rdi, r9
  
-G_M000_IG39:
-       add      edi, -2
+G_M000_IG18:
        add      r8d, -2
+       add      esi, -2
        mov      r9, 0xD1FFAB1E
-       mov      rdx, rsi
+       mov      rdx, rdi
        shr      rdx, 2
        mulx     rdx, rdx, r9
        shr      rdx, 2
        imul     r9, rdx, 100
-       sub      rsi, r9
+       sub      rdi, r9
        mov      r9, rdx
-       mov      edx, edi
-       add      rdx, 2
-       cmp      rdx, r13
-       ja       G_M000_IG50
-       mov      edx, edi
+       cmp      r8d, ecx
+       ja       G_M000_IG28
+       mov      edx, ecx
+       sub      edx, r8d
+       cmp      edx, 2
+       jb       G_M000_IG28
+       mov      edx, r8d
        add      rdx, rax
-       cmp      esi, 100
-       jae      G_M000_IG54
-       mov      esi, esi
+       cmp      edi, 100
+       jae      G_M000_IG30
+       mov      edi, edi
        mov      r10, 0xD1FFAB1E
-       movzx    rsi, word  ptr [r10+2*rsi]
-       mov      word  ptr [rdx], si
+       movzx    rdi, word  ptr [r10+2*rdi]
+       mov      word  ptr [rdx], di
        cmp      r9, 100
-       jb       G_M000_IG35
+       jae      SHORT G_M000_IG17
+       jmp      G_M000_IG14
  
-G_M000_IG40:
-       mov      rsi, r9
-       jmp      SHORT G_M000_IG39
- 
-G_M000_IG41:
+G_M000_IG19:
        xor      eax, eax
-       mov      dword ptr [rbp-0x30], eax
+       mov      dword ptr [rbp-0x10], eax
  
-G_M000_IG42:
+G_M000_IG20:
        xor      ebx, ebx
  
-G_M000_IG43:
+G_M000_IG21:
        mov      eax, ebx
  
-G_M000_IG44:
+G_M000_IG22:
        test     eax, eax
-       je       G_M000_IG53
-       mov      eax, dword ptr [rbp-0x30]
+       je       G_M000_IG29
+       mov      eax, dword ptr [rbp-0x10]
  
-G_M000_IG45:
-       add      rsp, 24
+G_M000_IG23:
+       add      rsp, 8
        pop      rbx
-       pop      r12
-       pop      r13
-       pop      r14
-       pop      r15
        pop      rbp
        ret      
  
-G_M000_IG46:
-       mov      r13d, edi
-       align    [3 bytes for IG47]
+G_M000_IG24:
+       mov      rdi, rdx
  
-G_M000_IG47:
+G_M000_IG25:
        add      eax, -2
-       mov      rsi, 0xD1FFAB1E
-       mov      rdx, rbx
+       mov      r8, 0xD1FFAB1E
+       mov      rdx, rdi
        shr      rdx, 2
-       mulx     rdx, rdx, rsi
+       mulx     rdx, rdx, r8
        shr      rdx, 2
-       imul     rsi, rdx, 100
-       sub      rbx, rsi
-       mov      esi, eax
-       add      rsi, 2
-       cmp      rsi, r13
-       ja       SHORT G_M000_IG50
-       mov      esi, eax
-       add      rsi, rcx
-       cmp      ebx, 100
-       jae      SHORT G_M000_IG54
-       mov      r8d, ebx
+       imul     r8, rdx, 100
+       sub      rdi, r8
+       cmp      eax, ecx
+       ja       SHORT G_M000_IG28
+       mov      r8d, ecx
+       sub      r8d, eax
+       cmp      r8d, 2
+       jb       SHORT G_M000_IG28
+       mov      r8d, eax
+       add      r8, rsi
+       cmp      edi, 100
+       jae      SHORT G_M000_IG30
+       mov      edi, edi
        mov      r9, 0xD1FFAB1E
-       movzx    r8, word  ptr [r9+2*r8]
-       mov      word  ptr [rsi], r8w
+       movzx    rdi, word  ptr [r9+2*rdi]
+       mov      word  ptr [r8], di
        cmp      rdx, 100
-       jb       G_M000_IG29
+       jae      SHORT G_M000_IG24
  
-G_M000_IG48:
-       mov      rbx, rdx
-       jmp      SHORT G_M000_IG47
+G_M000_IG26:
+       cmp      rdx, 10
+       mov      rdi, rdx
+       jae      G_M000_IG08
  
-G_M000_IG49:
+G_M000_IG27:
        dec      eax
-       cmp      eax, edi
-       jae      SHORT G_M000_IG54
-       mov      edi, eax
-       lea      edx, [rbx+0x30]
-       mov      byte  ptr [rcx+rdi], dl
-       jmp      G_M000_IG30
+       cmp      eax, ecx
+       jae      SHORT G_M000_IG30
+       mov      ecx, eax
+       add      edi, 48
+       mov      byte  ptr [rsi+rcx], dil
+       jmp      G_M000_IG09
  
-G_M000_IG50:
+G_M000_IG28:
        mov      rax, 0xD1FFAB1E
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
  
-G_M000_IG51:
-       mov      rax, 0xD1FFAB1E
-       call     [rax]System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()
-       int3     
- 
-G_M000_IG52:
-       mov      rax, 0xD1FFAB1E
-       call     [rax]System.Buffers.Text.Utf8Formatter:ThrowGWithPrecisionNotSupported()
-       int3     
- 
-G_M000_IG53:
+G_M000_IG29:
        mov      rax, 0xD1FFAB1E
        call     [rax]StackExchange.Redis.Format:ThrowFormatFailed()
        int3     
  
-G_M000_IG54:
+G_M000_IG30:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
  
-; Total bytes of code 1451 for method StackExchange.Redis.Format:FormatInt64(long,System.Span`1[byte]):int (FullOpts)
+; Total bytes of code 675 for method StackExchange.Redis.Format:FormatInt64(long,System.Span`1[byte]):int (FullOpts)
 
```

</details>


<details>
<summary>-157 (-12.12 % of base) - StackExchange.Redis.Format:MeasureInt64(long):int</summary>

```diff
 ; Assembly listing for method StackExchange.Redis.Format:MeasureInt64(long):int (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; 31 single block inlinees; 35 inlinees without PGO data
+; 0 inlinees with PGO data; 30 single block inlinees; 36 inlinees without PGO data
 
 G_M000_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rbx
-       sub      rsp, 56
-       lea      rbp, [rsp+0x60]
+       sub      rsp, 48
+       lea      rbp, [rsp+0x50]
        mov      rax, 0xD1FFAB1E
-       mov      qword ptr [rbp-0x30], rax
+       mov      qword ptr [rbp-0x28], rax
        mov      rbx, rdi
  
 G_M000_IG02:
-       lea      r15, [rbp-0x48]
-       mov      word  ptr [rbp-0x58], 0
-       movzx    r14, byte  ptr [rbp-0x58]
-       movzx    rdx, byte  ptr [rbp-0x57]
+       lea      r15, [rbp-0x40]
+       mov      word  ptr [rbp-0x50], 0
+       movzx    r14, byte  ptr [rbp-0x50]
+       movzx    rdx, byte  ptr [rbp-0x4F]
        mov      esi, r14d
        or       esi, edx
-       je       G_M000_IG16
+       je       G_M000_IG11
  
 G_M000_IG03:
        mov      r13d, r14d
        or       r13d, 32
        cmp      r13d, 103
        jle      SHORT G_M000_IG05
        cmp      r13d, 110
        jne      SHORT G_M000_IG04
        mov      rsi, r15
        mov      edx, 20
-       lea      rcx, [rbp-0x50]
+       lea      rcx, [rbp-0x48]
        mov      rdi, rbx
-       movzx    r8, word  ptr [rbp-0x58]
+       movzx    r8, word  ptr [rbp-0x50]
        mov      rax, 0xD1FFAB1E
        call     [rax]System.Buffers.Text.FormattingHelpers:TryFormat[long](long,System.Span`1[byte],byref,System.Buffers.StandardFormat):bool
-       jmp      G_M000_IG35
+       jmp      G_M000_IG34
  
 G_M000_IG04:
        cmp      r13d, 114
        je       SHORT G_M000_IG06
        cmp      r13d, 120
-       jne      G_M000_IG43
+       jne      G_M000_IG38
        add      r14d, -33
        movzx    rsi, r14w
        xor      ecx, ecx
        cmp      edx, 255
        cmove    edx, ecx
        mov      rcx, r15
        mov      r8d, 20
-       lea      r9, [rbp-0x50]
+       lea      r9, [rbp-0x48]
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E
        call     [rax]System.Number:TryInt64ToHexStr[byte](long,char,int,System.Span`1[byte],byref):bool
-       jmp      G_M000_IG35
+       jmp      G_M000_IG34
  
 G_M000_IG05:
        cmp      r13d, 100
        je       SHORT G_M000_IG07
        cmp      r13d, 103
-       jne      G_M000_IG43
+       jne      G_M000_IG38
  
 G_M000_IG06:
-       lea      rdi, [rbp-0x58]
+       lea      rdi, [rbp-0x50]
        mov      rax, 0xD1FFAB1E
        call     [rax]System.Buffers.StandardFormat:get_HasPrecision():bool:this
        test     eax, eax
-       jne      G_M000_IG44
+       jne      G_M000_IG39
  
 G_M000_IG07:
        test     rbx, rbx
        jl       SHORT G_M000_IG08
-       movzx    rsi, byte  ptr [rbp-0x57]
+       movzx    rsi, byte  ptr [rbp-0x4F]
        xor      edx, edx
        cmp      esi, 255
        cmove    esi, edx
        mov      rdx, r15
        mov      ecx, 20
-       lea      r8, [rbp-0x50]
+       lea      r8, [rbp-0x48]
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E
        call     [rax]System.Number:TryUInt64ToDecStr[byte](ulong,int,System.Span`1[byte],byref):bool
-       jmp      G_M000_IG35
+       jmp      G_M000_IG34
  
 G_M000_IG08:
-       movzx    rsi, byte  ptr [rbp-0x57]
+       movzx    rsi, byte  ptr [rbp-0x4F]
        xor      edi, edi
        cmp      esi, 255
-       cmovne   edi, esi
-       mov      r14, 0xD1FFAB1E
-       mov      esi, 1
-       test     edi, edi
-       cmovle   edi, esi
-       mov      rsi, rbx
-       neg      rsi
-       mov      rax, rsi
-       or       rax, 1
-       lzcnt    rax, rax
-       xor      eax, 63
+       mov      r8d, edi
+       cmovne   r8d, esi
+       mov      edi, 1
+       test     r8d, r8d
+       cmovle   r8d, edi
+       mov      rdi, rbx
+       neg      rdi
+       mov      rsi, rdi
+       or       rsi, 1
+       lzcnt    rsi, rsi
+       xor      esi, 63
        mov      rcx, 0xD1FFAB1E
-       movzx    rax, byte  ptr [rcx+rax]
+       movzx    rsi, byte  ptr [rcx+rsi]
        mov      rcx, 0xD1FFAB1E
-       cmp      rsi, qword ptr [rcx+8*rax]
-       setb     sil
-       movzx    rsi, sil
-       sub      eax, esi
-       cmp      edi, eax
-       mov      r13d, eax
-       cmovge   r13d, edi
-       inc      r13d
-       cmp      r13d, 20
-       jg       G_M000_IG14
-       mov      dword ptr [rbp-0x50], r13d
-       neg      rbx
-       mov      r12d, edi
-       cmp      rbx, 100
-       jb       SHORT G_M000_IG11
+       cmp      rdi, qword ptr [rcx+8*rsi]
+       setb     dil
+       movzx    rdi, dil
+       sub      esi, edi
+       cmp      r8d, esi
+       mov      edx, esi
+       cmovge   edx, r8d
+       inc      edx
+       cmp      edx, 20
+       jg       SHORT G_M000_IG09
+       mov      dword ptr [rbp-0x48], edx
+       mov      rdi, r15
+       mov      esi, 20
+       mov      rcx, rbx
+       neg      rcx
+       mov      rax, 0xD1FFAB1E
+       call     [rax]System.Number:UInt64ToDecChars[byte](System.Span`1[byte],int,ulong,int):int
+       mov      byte  ptr [r15], 45
+       mov      eax, 1
+       jmp      SHORT G_M000_IG10
  
 G_M000_IG09:
-       add      r13d, -2
-       add      r12d, -2
-       mov      rdi, rbx
-       mov      esi, 100
-       mov      rax, 0xD1FFAB1E
-       call     [rax]System.Math:DivRem(ulong,ulong):System.ValueTuple`2[ulong,ulong]
-       mov      rbx, rax
-       mov      rdi, rdx
-       mov      rsi, r15
-       mov      edx, 20
-       mov      ecx, r13d
-       mov      rax, 0xD1FFAB1E
-       call     [rax]System.Number:WriteTwoDigits[byte](uint,System.Span`1[byte],int)
-       cmp      rbx, 100
-       jae      SHORT G_M000_IG09
-       jmp      SHORT G_M000_IG11
+       xor      eax, eax
+       mov      dword ptr [rbp-0x48], eax
  
 G_M000_IG10:
-       dec      r12d
-       mov      rdi, rbx
-       mov      esi, 10
-       mov      rax, 0xD1FFAB1E
-       call     [rax]System.Math:DivRem(ulong,ulong):System.ValueTuple`2[ulong,ulong]
-       mov      rbx, rax
-       dec      r13d
-       cmp      r13d, 20
-       jae      G_M000_IG46
-       mov      edi, r13d
-       add      edx, 48
-       mov      byte  ptr [r15+rdi], dl
+       jmp      G_M000_IG34
  
 G_M000_IG11:
        test     rbx, rbx
-       jne      SHORT G_M000_IG10
- 
-G_M000_IG12:
-       test     r12d, r12d
-       jg       SHORT G_M000_IG10
- 
-G_M000_IG13:
-       mov      rdi, r14
-       mov      esi, 1
-       mov      rdx, r15
-       mov      ecx, 20
-       mov      rax, 0xD1FFAB1E
-       call     [rax]System.Number:CopyNegativeSign[byte](System.ReadOnlySpan`1[byte],System.Span`1[byte])
-       mov      eax, 1
-       jmp      SHORT G_M000_IG15
- 
-G_M000_IG14:
-       xor      eax, eax
-       mov      dword ptr [rbp-0x50], eax
- 
-G_M000_IG15:
-       jmp      G_M000_IG35
- 
-G_M000_IG16:
-       test     rbx, rbx
-       jl       G_M000_IG24
+       jl       G_M000_IG23
        mov      rdx, rbx
        or       rdx, 1
        lzcnt    rdx, rdx
        xor      edx, 63
        mov      rax, 0xD1FFAB1E
        movzx    rax, byte  ptr [rax+rdx]
        mov      rdx, 0xD1FFAB1E
        cmp      rbx, qword ptr [rdx+8*rax]
        setb     dl
        movzx    rdx, dl
        sub      eax, edx
        cmp      eax, 20
-       jle      SHORT G_M000_IG18
+       jle      SHORT G_M000_IG13
        xor      eax, eax
-       mov      dword ptr [rbp-0x50], eax
+       mov      dword ptr [rbp-0x48], eax
  
-G_M000_IG17:
-       jmp      SHORT G_M000_IG23
+G_M000_IG12:
+       jmp      G_M000_IG22
  
-G_M000_IG18:
-       mov      dword ptr [rbp-0x50], eax
-       mov      rcx, r15
+G_M000_IG13:
+       mov      dword ptr [rbp-0x48], eax
        cmp      rbx, 10
-       jb       G_M000_IG41
+       jb       G_M000_IG20
  
-G_M000_IG19:
+G_M000_IG14:
        cmp      rbx, 100
-       jae      G_M000_IG39
+       jae      SHORT G_M000_IG18
  
-G_M000_IG20:
+G_M000_IG15:
        mov      rdx, rbx
-       jmp      G_M000_IG40
-       align    [5 bytes for IG26]
+       jmp      G_M000_IG19
+       align    [8 bytes for IG25]
  
-G_M000_IG21:
+G_M000_IG16:
        add      eax, -2
+       cmp      eax, 20
+       ja       G_M000_IG37
        mov      edx, eax
-       add      rdx, 2
-       cmp      rdx, 20
-       ja       G_M000_IG42
-       mov      edx, eax
-       add      rdx, rcx
+       add      rdx, r15
        mov      eax, ebx
        cmp      eax, 100
-       jae      G_M000_IG46
+       jae      G_M000_IG41
        mov      rcx, 0xD1FFAB1E
        movzx    rax, word  ptr [rcx+2*rax]
        mov      word  ptr [rdx], ax
+       jmp      SHORT G_M000_IG21
  
-G_M000_IG22:
+G_M000_IG17:
+       mov      rbx, rdx
+ 
+G_M000_IG18:
+       add      eax, -2
+       mov      rcx, 0xD1FFAB1E
+       mov      rdx, rbx
+       shr      rdx, 2
+       mulx     rdx, rdx, rcx
+       shr      rdx, 2
+       imul     rcx, rdx, 100
+       sub      rbx, rcx
+       cmp      eax, 20
+       ja       G_M000_IG37
+       mov      ecx, eax
+       add      rcx, r15
+       cmp      ebx, 100
+       jae      G_M000_IG41
+       mov      edi, ebx
+       mov      rsi, 0xD1FFAB1E
+       movzx    rdi, word  ptr [rsi+2*rdi]
+       mov      word  ptr [rcx], di
+       cmp      rdx, 100
+       jae      SHORT G_M000_IG17
+ 
+G_M000_IG19:
+       cmp      rdx, 10
+       mov      rbx, rdx
+       jae      G_M000_IG16
+ 
+G_M000_IG20:
+       dec      eax
+       cmp      eax, 20
+       jae      G_M000_IG41
+       mov      edx, eax
+       lea      eax, [rbx+0x30]
+       mov      byte  ptr [r15+rdx], al
+ 
+G_M000_IG21:
        mov      eax, 1
  
-G_M000_IG23:
-       jmp      G_M000_IG35
+G_M000_IG22:
+       jmp      G_M000_IG34
  
-G_M000_IG24:
+G_M000_IG23:
        xor      eax, eax
        cmp      edx, 255
        cmove    edx, eax
        mov      rax, r15
        mov      ecx, 1
        test     edx, edx
        cmovle   edx, ecx
        mov      rcx, rbx
        neg      rcx
        mov      rdi, rcx
        or       rdi, 1
        lzcnt    rdi, rdi
        xor      edi, 63
        mov      rsi, 0xD1FFAB1E
        movzx    rdi, byte  ptr [rsi+rdi]
        mov      rsi, 0xD1FFAB1E
        cmp      rcx, qword ptr [rsi+8*rdi]
        setb     cl
        movzx    rcx, cl
        sub      edi, ecx
        cmp      edx, edi
        mov      ecx, edi
        cmovge   ecx, edx
        inc      ecx
        cmp      ecx, 20
-       jg       G_M000_IG32
-       mov      dword ptr [rbp-0x50], ecx
+       jg       G_M000_IG31
+       mov      dword ptr [rbp-0x48], ecx
        mov      rdi, rbx
        neg      rdi
        mov      esi, edx
        cmp      rdi, 100
-       jae      SHORT G_M000_IG31
+       jae      SHORT G_M000_IG30
+ 
+G_M000_IG24:
+       mov      r8, rdi
+       jmp      SHORT G_M000_IG26
  
 G_M000_IG25:
-       mov      r8, rdi
-       jmp      SHORT G_M000_IG27
- 
-G_M000_IG26:
        dec      esi
        mov      rdx, 0xD1FFAB1E
        mulx     rdx, rdx, r8
        shr      rdx, 3
        lea      rdi, [rdx+4*rdx]
        add      rdi, rdi
        mov      r9, r8
        sub      r9, rdi
        mov      r8, rdx
        dec      ecx
        cmp      ecx, 20
-       jae      G_M000_IG46
+       jae      G_M000_IG41
        mov      edx, ecx
        add      r9d, 48
        mov      byte  ptr [rax+rdx], r9b
  
-G_M000_IG27:
+G_M000_IG26:
        test     r8, r8
-       jne      SHORT G_M000_IG26
+       jne      SHORT G_M000_IG25
+ 
+G_M000_IG27:
+       test     esi, esi
+       jg       SHORT G_M000_IG25
  
 G_M000_IG28:
-       test     esi, esi
-       jg       SHORT G_M000_IG26
- 
-G_M000_IG29:
        mov      byte  ptr [rax], 45
        mov      ebx, 1
-       jmp      SHORT G_M000_IG34
+       jmp      SHORT G_M000_IG33
  
-G_M000_IG30:
+G_M000_IG29:
        mov      rdi, r8
  
-G_M000_IG31:
+G_M000_IG30:
        add      ecx, -2
        add      esi, -2
        mov      r8, 0xD1FFAB1E
        mov      rdx, rdi
        shr      rdx, 2
        mulx     rdx, rdx, r8
        shr      rdx, 2
        imul     r8, rdx, 100
        sub      rdi, r8
        mov      r8, rdx
-       mov      edx, ecx
-       add      rdx, 2
-       cmp      rdx, 20
-       ja       G_M000_IG42
+       cmp      ecx, 20
+       ja       SHORT G_M000_IG37
+       mov      edx, 20
+       sub      edx, ecx
+       cmp      edx, 2
+       jb       SHORT G_M000_IG37
        mov      edx, ecx
        add      rdx, rax
        cmp      edi, 100
-       jae      G_M000_IG46
+       jae      G_M000_IG41
        mov      edi, edi
        mov      r9, 0xD1FFAB1E
        movzx    rdi, word  ptr [r9+2*rdi]
        mov      word  ptr [rdx], di
        cmp      r8, 100
-       jae      SHORT G_M000_IG30
-       jmp      SHORT G_M000_IG27
+       jae      SHORT G_M000_IG29
+       jmp      SHORT G_M000_IG26
+ 
+G_M000_IG31:
+       xor      eax, eax
+       mov      dword ptr [rbp-0x48], eax
  
 G_M000_IG32:
-       xor      eax, eax
-       mov      dword ptr [rbp-0x50], eax
- 
-G_M000_IG33:
        xor      ebx, ebx
  
-G_M000_IG34:
+G_M000_IG33:
        mov      eax, ebx
  
-G_M000_IG35:
+G_M000_IG34:
        test     eax, eax
-       je       G_M000_IG45
-       mov      eax, dword ptr [rbp-0x50]
+       je       SHORT G_M000_IG40
+       mov      eax, dword ptr [rbp-0x48]
        mov      r9, 0xD1FFAB1E
-       cmp      qword ptr [rbp-0x30], r9
-       je       SHORT G_M000_IG36
+       cmp      qword ptr [rbp-0x28], r9
+       je       SHORT G_M000_IG35
        call     CORINFO_HELP_FAIL_FAST
  
-G_M000_IG36:
+G_M000_IG35:
        nop      
  
-G_M000_IG37:
-       add      rsp, 56
+G_M000_IG36:
+       add      rsp, 48
        pop      rbx
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
  
-G_M000_IG38:
-       mov      rbx, rdx
- 
-G_M000_IG39:
-       add      eax, -2
-       mov      rdi, 0xD1FFAB1E
-       mov      rdx, rbx
-       shr      rdx, 2
-       mulx     rdx, rdx, rdi
-       shr      rdx, 2
-       imul     rdi, rdx, 100
-       sub      rbx, rdi
-       mov      edi, eax
-       add      rdi, 2
-       cmp      rdi, 20
-       ja       SHORT G_M000_IG42
-       mov      edi, eax
-       add      rdi, rcx
-       cmp      ebx, 100
-       jae      SHORT G_M000_IG46
-       mov      esi, ebx
-       mov      r8, 0xD1FFAB1E
-       movzx    rsi, word  ptr [r8+2*rsi]
-       mov      word  ptr [rdi], si
-       cmp      rdx, 100
-       jae      SHORT G_M000_IG38
- 
-G_M000_IG40:
-       cmp      rdx, 10
-       mov      rbx, rdx
-       jae      G_M000_IG21
- 
-G_M000_IG41:
-       dec      eax
-       cmp      eax, 20
-       jae      SHORT G_M000_IG46
-       mov      edx, eax
-       lea      eax, [rbx+0x30]
-       mov      byte  ptr [rcx+rdx], al
-       jmp      G_M000_IG22
- 
-G_M000_IG42:
+G_M000_IG37:
        mov      rax, 0xD1FFAB1E
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
  
-G_M000_IG43:
+G_M000_IG38:
        mov      rax, 0xD1FFAB1E
        call     [rax]System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()
        int3     
  
-G_M000_IG44:
+G_M000_IG39:
        mov      rax, 0xD1FFAB1E
        call     [rax]System.Buffers.Text.Utf8Formatter:ThrowGWithPrecisionNotSupported()
        int3     
  
-G_M000_IG45:
+G_M000_IG40:
        mov      rax, 0xD1FFAB1E
        call     [rax]StackExchange.Redis.Format:ThrowFormatFailed()
        int3     
  
-G_M000_IG46:
+G_M000_IG41:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
  
-; Total bytes of code 1295 for method StackExchange.Redis.Format:MeasureInt64(long):int (FullOpts)
+; Total bytes of code 1138 for method StackExchange.Redis.Format:MeasureInt64(long):int (FullOpts)
 
```

</details>


<details>
<summary>-108 (-7.28 % of base) - System.Numerics.BigInteger:.ctor(System.ReadOnlySpan`1[byte],bool,bool):this</summary>

```diff
 ; Assembly listing for method System.Numerics.BigInteger:.ctor(System.ReadOnlySpan`1[byte],bool,bool):this (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; 43 single block inlinees; 32 inlinees without PGO data
 
 G_M000_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 40
-       lea      rbp, [rsp+0x50]
+       sub      rsp, 56
+       lea      rbp, [rsp+0x60]
+       mov      bword ptr [rbp-0x38], rsi
+       mov      qword ptr [rbp-0x30], rdx
        mov      rbx, rdi
-       mov      r15, rsi
-       mov      r14d, edx
-       mov      r13d, r8d
+       mov      r15d, r8d
  
 G_M000_IG02:
-       mov      r12d, r14d
-       test     r12d, r12d
-       jne      SHORT G_M000_IG04
+       mov      r14d, dword ptr [rbp-0x30]
+       test     r14d, r14d
+       jg       SHORT G_M000_IG04
  
 G_M000_IG03:
-       xor      eax, eax
-       mov      dword ptr [rbp-0x2C], eax
+       xor      r13d, r13d
        jmp      G_M000_IG10
  
 G_M000_IG04:
-       test     r13b, r13b
+       test     r15b, r15b
        je       SHORT G_M000_IG05
-       movzx    rdi, byte  ptr [r15]
+       cmp      dword ptr [rbp-0x30], 0
+       jbe      G_M000_IG49
+       mov      rdi, bword ptr [rbp-0x38]
+       movzx    rdi, byte  ptr [rdi]
        jmp      SHORT G_M000_IG06
  
 G_M000_IG05:
-       lea      edi, [r12-0x01]
-       mov      eax, edi
-       movzx    rdi, byte  ptr [r15+rax]
+       lea      edi, [r14-0x01]
+       cmp      edi, dword ptr [rbp-0x30]
+       jae      G_M000_IG49
+       mov      rdi, bword ptr [rbp-0x38]
+       lea      edx, [r14-0x01]
+       movzx    rdi, byte  ptr [rdi+rdx]
  
 G_M000_IG06:
        test     dil, 128
        jne      SHORT G_M000_IG07
-       xor      eax, eax
+       xor      r13d, r13d
        jmp      SHORT G_M000_IG08
  
 G_M000_IG07:
        test     cl, cl
-       sete     al
-       movzx    rax, al
+       sete     r13b
+       movzx    r13, r13b
  
 G_M000_IG08:
-       mov      dword ptr [rbp-0x2C], eax
        test     edi, edi
        jne      SHORT G_M000_IG10
-       test     r13b, r13b
+       test     r15b, r15b
        jne      SHORT G_M000_IG09
-       lea      edx, [r14-0x01]
-       mov      rdi, r15
+       mov      edx, dword ptr [rbp-0x30]
+       dec      edx
+       cmp      edx, dword ptr [rbp-0x30]
+       ja       G_M000_IG46
+       mov      rdi, bword ptr [rbp-0x38]
        xor      esi, esi
-       mov      rcx, 0xD1FFAB1E
-       call     [rcx]System.SpanHelpers:LastIndexOfValueType[byte,System.SpanHelpers+Negate`1[byte]](byref,byte,int):int
-       lea      r12d, [rax+0x01]
+       mov      rax, 0xD1FFAB1E
+       call     [rax]System.SpanHelpers:LastIndexOfValueType[byte,System.SpanHelpers+Negate`1[byte]](byref,byte,int):int
+       lea      r14d, [rax+0x01]
        jmp      SHORT G_M000_IG10
  
 G_M000_IG09:
-       lea      rdi, bword ptr [r15+0x01]
-       lea      edx, [r14-0x01]
+       mov      rdi, bword ptr [rbp-0x38]
+       inc      rdi
+       mov      edx, dword ptr [rbp-0x30]
+       dec      edx
        xor      esi, esi
-       mov      rcx, 0xD1FFAB1E
-       call     [rcx]System.SpanHelpers:NonPackedIndexOfValueType[byte,System.SpanHelpers+Negate`1[byte]](byref,byte,int):int
+       mov      rax, 0xD1FFAB1E
+       call     [rax]System.SpanHelpers:NonPackedIndexOfValueType[byte,System.SpanHelpers+Negate`1[byte]](byref,byte,int):int
        lea      esi, [rax+0x01]
        test     eax, eax
-       cmovl    esi, r14d
-       cmp      esi, r14d
-       ja       G_M000_IG49
-       mov      edi, esi
-       add      r15, rdi
-       sub      r14d, esi
-       mov      r12d, r14d
+       cmovge   r14d, esi
+       cmp      r14d, dword ptr [rbp-0x30]
+       ja       G_M000_IG46
+       mov      esi, r14d
+       add      rsi, bword ptr [rbp-0x38]
+       mov      edi, dword ptr [rbp-0x30]
+       sub      edi, r14d
+       mov      bword ptr [rbp-0x38], rsi
+       mov      dword ptr [rbp-0x30], edi
+       mov      r14d, dword ptr [rbp-0x30]
  
 G_M000_IG10:
-       test     r12d, r12d
-       je       G_M000_IG46
+       test     r14d, r14d
+       je       G_M000_IG43
  
 G_M000_IG11:
-       cmp      r12d, 4
-       jle      G_M000_IG37
-       mov      ecx, r12d
-       shr      ecx, 3
-       lea      edx, [8*rcx]
-       mov      dword ptr [rbp-0x40], edx
-       mov      r8d, r12d
-       sub      r8d, edx
-       mov      dword ptr [rbp-0x34], r8d
-       mov      dword ptr [rbp-0x30], ecx
-       test     r8d, r8d
-       setne    r9b
-       movzx    r9, r9b
-       add      r9d, ecx
-       mov      dword ptr [rbp-0x3C], r9d
-       movsxd   rsi, r9d
+       cmp      r14d, 4
+       jle      G_M000_IG36
+       mov      r12d, r14d
+       shr      r12d, 3
+       lea      eax, [8*r12]
+       mov      dword ptr [rbp-0x48], eax
+       mov      ecx, r14d
+       sub      ecx, eax
+       mov      dword ptr [rbp-0x3C], ecx
+       test     ecx, ecx
+       setne    dl
+       movzx    rdx, dl
+       add      edx, r12d
+       mov      dword ptr [rbp-0x44], edx
+       movsxd   rsi, edx
        mov      rdi, 0xD1FFAB1E
        call     CORINFO_HELP_NEWARR_1_PTR
-       mov      gword ptr [rbp-0x48], rax
-       test     r13b, r13b
+       mov      gword ptr [rbp-0x50], rax
+       test     r15b, r15b
        jne      SHORT G_M000_IG12
-       mov      ecx, dword ptr [rbp-0x40]
+       mov      ecx, dword ptr [rbp-0x48]
        mov      edx, ecx
-       cmp      edx, r14d
-       ja       G_M000_IG49
+       cmp      edx, dword ptr [rbp-0x30]
+       ja       G_M000_IG46
+       mov      rsi, bword ptr [rbp-0x38]
        lea      rdi, bword ptr [rax+0x10]
-       mov      r8d, dword ptr [rbp-0x3C]
-       mov      esi, r8d
-       imul     esi, esi, 8
-       jo       G_M000_IG53
-       cmp      edx, esi
-       ja       G_M000_IG50
-       mov      rsi, r15
+       mov      r8d, dword ptr [rbp-0x44]
+       mov      r9d, r8d
+       imul     r9d, r9d, 8
+       jo       G_M000_IG50
+       cmp      edx, r9d
+       ja       G_M000_IG47
        mov      r9, 0xD1FFAB1E
        call     [r9]System.SpanHelpers:Memmove(byref,byref,nuint)
        jmp      SHORT G_M000_IG13
  
 G_M000_IG12:
-       mov      edx, dword ptr [rbp-0x30]
-       cmp      dword ptr [rbp-0x3C], edx
-       jb       G_M000_IG49
-       lea      rdi, bword ptr [rax+0x10]
-       mov      bword ptr [rbp-0x50], rdi
-       imul     esi, edx, 8
-       jo       G_M000_IG53
-       mov      dword ptr [rbp-0x38], esi
-       mov      r8d, dword ptr [rbp-0x34]
-       cmp      r8d, r14d
-       ja       G_M000_IG49
-       mov      r9d, r8d
-       add      r9, r15
-       mov      r10d, r14d
-       sub      r10d, r8d
-       cmp      r10d, esi
-       ja       G_M000_IG50
-       mov      edx, r10d
-       mov      rsi, r9
-       mov      r9, 0xD1FFAB1E
-       call     [r9]System.SpanHelpers:Memmove(byref,byref,nuint)
-       mov      esi, dword ptr [rbp-0x38]
+       cmp      dword ptr [rbp-0x44], r12d
+       jb       G_M000_IG46
+       lea      rdx, bword ptr [rax+0x10]
+       mov      bword ptr [rbp-0x58], rdx
+       imul     edi, r12d, 8
+       jo       G_M000_IG50
+       mov      dword ptr [rbp-0x40], edi
+       mov      esi, dword ptr [rbp-0x3C]
+       cmp      esi, dword ptr [rbp-0x30]
+       ja       G_M000_IG46
+       mov      r8d, esi
+       add      r8, bword ptr [rbp-0x38]
+       mov      r9d, dword ptr [rbp-0x30]
+       sub      r9d, esi
+       cmp      r9d, edi
+       ja       G_M000_IG47
+       mov      edx, r9d
+       mov      rdi, bword ptr [rbp-0x58]
+       mov      rsi, r8
+       mov      r8, 0xD1FFAB1E
+       call     [r8]System.SpanHelpers:Memmove(byref,byref,nuint)
+       mov      esi, dword ptr [rbp-0x40]
        cmp      esi, 1
        jle      SHORT G_M000_IG13
-       mov      rdi, bword ptr [rbp-0x50]
+       mov      rdi, bword ptr [rbp-0x58]
        mov      rax, 0xD1FFAB1E
        call     [rax]System.SpanHelpers:Reverse(byref,nuint)
  
 G_M000_IG13:
-       mov      edi, dword ptr [rbp-0x34]
+       mov      edi, dword ptr [rbp-0x3C]
        test     edi, edi
        jne      G_M000_IG16
  
 G_M000_IG14:
-       mov      eax, dword ptr [rbp-0x2C]
-       mov      ecx, dword ptr [rbp-0x3C]
-       mov      r8, gword ptr [rbp-0x48]
+       mov      eax, dword ptr [rbp-0x44]
+       mov      rcx, gword ptr [rbp-0x50]
  
 G_M000_IG15:
-       test     eax, eax
-       je       G_M000_IG28
-       lea      rdi, bword ptr [r8+0x10]
-       mov      esi, ecx
-       mov      rax, 0xD1FFAB1E
-       call     [rax]System.Numerics.NumericsHelpers:DangerousMakeTwosComplement(System.Span`1[nuint])
-       mov      r14, gword ptr [rbp-0x48]
-       lea      rdi, bword ptr [r14+0x10]
-       mov      r15d, dword ptr [rbp-0x3C]
-       mov      edx, r15d
+       test     r13d, r13d
+       je       G_M000_IG27
+       lea      rdi, bword ptr [rcx+0x10]
+       mov      esi, eax
+       mov      rdx, 0xD1FFAB1E
+       call     [rdx]System.Numerics.NumericsHelpers:DangerousMakeTwosComplement(System.Span`1[nuint])
+       mov      r13, gword ptr [rbp-0x50]
+       lea      rdi, bword ptr [r13+0x10]
+       mov      r14d, dword ptr [rbp-0x44]
+       mov      edx, r14d
        xor      esi, esi
        mov      rax, 0xD1FFAB1E
        call     [rax]System.SpanHelpers:LastIndexOfValueType[long,System.SpanHelpers+Negate`1[long]](byref,long,int):int
        inc      eax
-       mov      r13d, eax
-       cmp      r13d, 1
-       jne      G_M000_IG30
-       test     r15d, r15d
-       je       G_M000_IG52
-       mov      rdi, qword ptr [r14+0x10]
-       cmp      rdi, 1
+       mov      r15d, eax
+       cmp      r15d, 1
        jne      G_M000_IG29
+       test     r14d, r14d
+       je       G_M000_IG49
+       mov      rdi, qword ptr [r13+0x10]
+       cmp      rdi, 1
+       jne      G_M000_IG28
        mov      rdi, 0xD1FFAB1E
        mov      r15, gword ptr [rdi]
        add      r15, 8
        mov      rsi, gword ptr [r15]
        mov      rdi, rbx
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        mov      rdi, qword ptr [r15+0x08]
        mov      qword ptr [rbx+0x08], rdi
-       jmp      G_M000_IG48
+       jmp      G_M000_IG45
  
 G_M000_IG16:
-       mov      eax, dword ptr [rbp-0x2C]
-       test     eax, eax
+       test     r13d, r13d
        je       SHORT G_M000_IG17
-       mov      esi, dword ptr [rbp-0x30]
-       mov      ecx, dword ptr [rbp-0x3C]
-       cmp      esi, ecx
-       jae      G_M000_IG52
-       mov      edx, esi
-       mov      r8, gword ptr [rbp-0x48]
-       mov      qword ptr [r8+8*rdx+0x10], -1
+       mov      eax, dword ptr [rbp-0x44]
+       cmp      r12d, eax
+       jae      G_M000_IG49
+       mov      esi, r12d
+       mov      rcx, gword ptr [rbp-0x50]
+       mov      qword ptr [rcx+8*rsi+0x10], -1
  
 G_M000_IG17:
-       test     r13b, r13b
+       test     r15b, r15b
        jne      SHORT G_M000_IG22
-       dec      r12d
-       mov      edi, r12d
-       mov      r13d, dword ptr [rbp-0x40]
-       cmp      r13d, edi
+       lea      esi, [r14-0x01]
+       mov      edi, esi
+       mov      r15d, dword ptr [rbp-0x48]
+       cmp      r15d, edi
        jle      SHORT G_M000_IG19
  
 G_M000_IG18:
-       mov      ecx, dword ptr [rbp-0x3C]
-       mov      r8, gword ptr [rbp-0x48]
+       mov      eax, dword ptr [rbp-0x44]
+       mov      rcx, gword ptr [rbp-0x50]
        jmp      G_M000_IG15
-       align    [2 bytes for IG20]
+       align    [0 bytes for IG20]
  
 G_M000_IG19:
-       mov      esi, dword ptr [rbp-0x30]
-       mov      edx, esi
+       mov      esi, r12d
  
 G_M000_IG20:
-       cmp      edi, r14d
-       jae      G_M000_IG52
-       movzx    r9, byte  ptr [r15+rdi]
-       mov      ecx, dword ptr [rbp-0x3C]
-       cmp      esi, ecx
-       jae      G_M000_IG52
-       mov      r8, gword ptr [rbp-0x48]
-       mov      r10, qword ptr [r8+8*rdx+0x10]
-       shl      r10, 8
-       or       r9, r10
-       mov      qword ptr [r8+8*rdx+0x10], r9
+       cmp      edi, dword ptr [rbp-0x30]
+       jae      G_M000_IG49
+       mov      rdx, bword ptr [rbp-0x38]
+       movzx    rdx, byte  ptr [rdx+rdi]
+       mov      eax, dword ptr [rbp-0x44]
+       cmp      r12d, eax
+       jae      G_M000_IG49
+       mov      rcx, gword ptr [rbp-0x50]
+       mov      r8, qword ptr [rcx+8*rsi+0x10]
+       shl      r8, 8
+       or       rdx, r8
+       mov      qword ptr [rcx+8*rsi+0x10], rdx
        dec      edi
-       cmp      r13d, edi
+       cmp      r15d, edi
        jg       G_M000_IG15
  
 G_M000_IG21:
        jmp      SHORT G_M000_IG20
  
 G_M000_IG22:
-       xor      r9d, r9d
+       xor      edx, edx
        test     edi, edi
        jg       SHORT G_M000_IG24
  
 G_M000_IG23:
-       mov      ecx, dword ptr [rbp-0x3C]
-       mov      r8, gword ptr [rbp-0x48]
+       mov      eax, dword ptr [rbp-0x44]
+       mov      rcx, gword ptr [rbp-0x50]
        jmp      G_M000_IG15
        align    [0 bytes for IG25]
  
 G_M000_IG24:
-       cmp      edi, r14d
-       jg       SHORT G_M000_IG27
-       mov      esi, dword ptr [rbp-0x30]
-       mov      edx, esi
+       mov      esi, r12d
  
 G_M000_IG25:
-       mov      r10d, r9d
-       movzx    r10, byte  ptr [r15+r10]
-       mov      ecx, dword ptr [rbp-0x3C]
-       cmp      esi, ecx
-       jae      G_M000_IG52
-       mov      r8, gword ptr [rbp-0x48]
-       mov      r11, qword ptr [r8+8*rdx+0x10]
-       shl      r11, 8
-       or       r10, r11
-       mov      qword ptr [r8+8*rdx+0x10], r10
-       inc      r9d
-       cmp      r9d, edi
+       cmp      edx, dword ptr [rbp-0x30]
+       jae      G_M000_IG49
+       mov      r8, bword ptr [rbp-0x38]
+       movzx    r8, byte  ptr [r8+rdx]
+       mov      eax, dword ptr [rbp-0x44]
+       cmp      r12d, eax
+       jae      G_M000_IG49
+       mov      rcx, gword ptr [rbp-0x50]
+       mov      r9, qword ptr [rcx+8*rsi+0x10]
+       shl      r9, 8
+       or       r8, r9
+       mov      qword ptr [rcx+8*rsi+0x10], r8
+       inc      edx
+       cmp      edx, edi
        jge      G_M000_IG15
  
 G_M000_IG26:
        jmp      SHORT G_M000_IG25
  
 G_M000_IG27:
-       cmp      r9d, r14d
-       jae      G_M000_IG52
-       mov      edx, r9d
-       movzx    r10, byte  ptr [r15+rdx]
-       mov      esi, dword ptr [rbp-0x30]
-       mov      ecx, dword ptr [rbp-0x3C]
-       cmp      esi, ecx
-       jae      G_M000_IG52
-       mov      edx, esi
-       mov      r8, gword ptr [rbp-0x48]
-       mov      r11, qword ptr [r8+8*rdx+0x10]
-       shl      r11, 8
-       or       r10, r11
-       mov      qword ptr [r8+8*rdx+0x10], r10
-       inc      r9d
-       cmp      r9d, edi
-       jl       SHORT G_M000_IG27
-       jmp      G_M000_IG15
+       mov      dword ptr [rbx+0x08], 1
+       mov      r13, rcx
+       jmp      SHORT G_M000_IG30
+       align    [0 bytes for IG37]
  
 G_M000_IG28:
-       mov      dword ptr [rbx+0x08], 1
-       mov      r14, r8
-       jmp      SHORT G_M000_IG31
-       align    [0 bytes for IG38]
+       mov      esi, 0xD1FFAB1E
+       cmp      rdi, rsi
+       je       G_M000_IG42
+       mov      esi, 0xD1FFAB1E
+       cmp      rdi, rsi
+       jb       G_M000_IG35
  
 G_M000_IG29:
-       mov      esi, 0xD1FFAB1E
-       cmp      rdi, rsi
-       je       G_M000_IG41
-       mov      esi, 0xD1FFAB1E
-       cmp      rdi, rsi
-       jb       G_M000_IG36
+       cmp      r14d, r15d
+       jne      SHORT G_M000_IG31
+       mov      dword ptr [rbx+0x08], -1
  
 G_M000_IG30:
-       cmp      r15d, r13d
-       jne      SHORT G_M000_IG32
-       mov      dword ptr [rbx+0x08], -1
+       mov      rdi, rbx
+       mov      rsi, r13
+       call     CORINFO_HELP_CHECKED_ASSIGN_REF
+       jmp      G_M000_IG45
  
 G_M000_IG31:
-       mov      rdi, rbx
-       mov      rsi, r14
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       jmp      G_M000_IG48
- 
-G_M000_IG32:
        mov      dword ptr [rbx+0x08], -1
-       cmp      r15d, r13d
-       jb       G_M000_IG49
-       add      r14, 16
-       test     r13d, r13d
-       je       SHORT G_M000_IG33
-       movsxd   rsi, r13d
+       cmp      r14d, r15d
+       jb       G_M000_IG46
+       add      r13, 16
+       test     r15d, r15d
+       je       SHORT G_M000_IG32
+       movsxd   rsi, r15d
        mov      rdi, 0xD1FFAB1E
        call     CORINFO_HELP_NEWARR_1_PTR
-       mov      r15, rax
-       lea      rdi, bword ptr [r15+0x10]
-       mov      edx, r13d
+       mov      r14, rax
+       lea      rdi, bword ptr [r14+0x10]
+       mov      edx, r15d
        shl      rdx, 3
-       mov      rsi, r14
+       mov      rsi, r13
        mov      rax, 0xD1FFAB1E
        call     [rax]System.SpanHelpers:Memmove(byref,byref,nuint)
-       jmp      SHORT G_M000_IG35
+       jmp      SHORT G_M000_IG34
+ 
+G_M000_IG32:
+       mov      rdi, 0xD1FFAB1E
+       test     byte  ptr [rdi], 1
+       je       G_M000_IG48
  
 G_M000_IG33:
        mov      rdi, 0xD1FFAB1E
-       test     byte  ptr [rdi], 1
-       je       G_M000_IG51
+       mov      r14, gword ptr [rdi]
  
 G_M000_IG34:
-       mov      rdi, 0xD1FFAB1E
-       mov      r15, gword ptr [rdi]
+       mov      rdi, rbx
+       mov      rsi, r14
+       call     CORINFO_HELP_CHECKED_ASSIGN_REF
+       jmp      G_M000_IG45
  
 G_M000_IG35:
-       mov      rdi, rbx
-       mov      rsi, r15
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       jmp      G_M000_IG48
- 
-G_M000_IG36:
-       mov      edi, dword ptr [r14+0x10]
+       mov      edi, dword ptr [r13+0x10]
        neg      edi
        mov      dword ptr [rbx+0x08], edi
-       jmp      G_M000_IG47
+       jmp      G_M000_IG44
  
-G_M000_IG37:
+G_M000_IG36:
        mov      edi, -1
        xor      esi, esi
-       mov      eax, dword ptr [rbp-0x2C]
-       test     eax, eax
+       test     r13d, r13d
        cmove    edi, esi
        mov      dword ptr [rbx+0x08], edi
-       test     r13b, r13b
-       jne      G_M000_IG43
-       lea      edi, [r12-0x01]
+       test     r15b, r15b
+       jne      SHORT G_M000_IG38
+       lea      edi, [r14-0x01]
        test     edi, edi
-       jl       SHORT G_M000_IG39
-       cmp      edi, r14d
-       jge      G_M000_IG42
+       jl       SHORT G_M000_IG40
  
-G_M000_IG38:
+G_M000_IG37:
        mov      esi, dword ptr [rbx+0x08]
        shl      esi, 8
-       mov      ecx, edi
-       movzx    rcx, byte  ptr [r15+rcx]
-       or       esi, ecx
+       cmp      edi, dword ptr [rbp-0x30]
+       jae      G_M000_IG49
+       mov      rax, bword ptr [rbp-0x38]
+       movzx    rax, byte  ptr [rax+rdi]
+       or       esi, eax
        mov      dword ptr [rbx+0x08], esi
        dec      edi
-       jns      SHORT G_M000_IG38
+       jns      SHORT G_M000_IG37
+       jmp      SHORT G_M000_IG40
+ 
+G_M000_IG38:
+       xor      edi, edi
+       test     r14d, r14d
+       jle      SHORT G_M000_IG40
+       align    [0 bytes for IG39]
  
 G_M000_IG39:
+       mov      esi, dword ptr [rbx+0x08]
+       shl      esi, 8
+       cmp      edi, dword ptr [rbp-0x30]
+       jae      G_M000_IG49
+       mov      rax, bword ptr [rbp-0x38]
+       movzx    rax, byte  ptr [rax+rdi]
+       or       esi, eax
+       mov      dword ptr [rbx+0x08], esi
+       inc      edi
+       cmp      edi, r14d
+       jl       SHORT G_M000_IG39
+ 
+G_M000_IG40:
        xor      rdi, rdi
        mov      gword ptr [rbx], rdi
        cmp      dword ptr [rbx+0x08], 0
-       jge      SHORT G_M000_IG40
-       test     eax, eax
-       jne      SHORT G_M000_IG40
+       jge      SHORT G_M000_IG41
+       test     r13d, r13d
+       jne      SHORT G_M000_IG41
        mov      rdi, 0xD1FFAB1E
        mov      esi, 1
        call     CORINFO_HELP_NEWARR_1_PTR
        mov      edi, dword ptr [rbx+0x08]
        mov      qword ptr [rax+0x10], rdi
        mov      rdi, rbx
        mov      rsi, rax
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        mov      dword ptr [rbx+0x08], 1
  
-G_M000_IG40:
-       cmp      dword ptr [rbx+0x08], 0xD1FFAB1E
-       jne      G_M000_IG48
- 
 G_M000_IG41:
+       cmp      dword ptr [rbx+0x08], 0xD1FFAB1E
+       jne      SHORT G_M000_IG45
+ 
+G_M000_IG42:
        mov      rdi, 0xD1FFAB1E
        mov      r15, gword ptr [rdi]
        add      r15, 8
        mov      rsi, gword ptr [r15]
        mov      rdi, rbx
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        mov      rax, qword ptr [r15+0x08]
        mov      qword ptr [rbx+0x08], rax
-       jmp      G_M000_IG48
-       align    [10 bytes for IG44]
- 
-G_M000_IG42:
-       mov      esi, dword ptr [rbx+0x08]
-       shl      esi, 8
-       cmp      edi, r14d
-       jae      G_M000_IG52
-       mov      ecx, edi
-       movzx    rcx, byte  ptr [r15+rcx]
-       or       esi, ecx
-       mov      dword ptr [rbx+0x08], esi
-       dec      edi
-       jns      SHORT G_M000_IG42
-       jmp      G_M000_IG39
+       jmp      SHORT G_M000_IG45
  
 G_M000_IG43:
-       xor      edi, edi
-       test     r12d, r12d
-       jle      G_M000_IG39
-       cmp      r12d, r14d
-       jg       SHORT G_M000_IG45
- 
-G_M000_IG44:
-       mov      esi, dword ptr [rbx+0x08]
-       shl      esi, 8
-       mov      ecx, edi
-       movzx    rcx, byte  ptr [r15+rcx]
-       or       esi, ecx
-       mov      dword ptr [rbx+0x08], esi
-       inc      edi
-       cmp      edi, r12d
-       jl       SHORT G_M000_IG44
-       jmp      G_M000_IG39
- 
-G_M000_IG45:
-       mov      esi, dword ptr [rbx+0x08]
-       shl      esi, 8
-       cmp      edi, r14d
-       jae      SHORT G_M000_IG52
-       mov      ecx, edi
-       movzx    rcx, byte  ptr [r15+rcx]
-       or       esi, ecx
-       mov      dword ptr [rbx+0x08], esi
-       inc      edi
-       cmp      edi, r12d
-       jl       SHORT G_M000_IG45
-       jmp      G_M000_IG39
- 
-G_M000_IG46:
        xor      eax, eax
        mov      dword ptr [rbx+0x08], eax
  
-G_M000_IG47:
+G_M000_IG44:
        xor      rax, rax
        mov      gword ptr [rbx], rax
  
-G_M000_IG48:
-       add      rsp, 40
+G_M000_IG45:
+       add      rsp, 56
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
  
-G_M000_IG49:
+G_M000_IG46:
        mov      rax, 0xD1FFAB1E
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
  
-G_M000_IG50:
+G_M000_IG47:
        mov      rax, 0xD1FFAB1E
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
  
-G_M000_IG51:
+G_M000_IG48:
        mov      rdi, 0xD1FFAB1E
        mov      rax, 0xD1FFAB1E
        call     [rax]CORINFO_HELP_GET_GCSTATIC_BASE
-       jmp      G_M000_IG34
+       jmp      G_M000_IG33
  
-G_M000_IG52:
+G_M000_IG49:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
  
-G_M000_IG53:
+G_M000_IG50:
        call     CORINFO_HELP_OVERFLOW
        int3     
  
-; Total bytes of code 1483 for method System.Numerics.BigInteger:.ctor(System.ReadOnlySpan`1[byte],bool,bool):this (FullOpts)
+; Total bytes of code 1375 for method System.Numerics.BigInteger:.ctor(System.ReadOnlySpan`1[byte],bool,bool):this (FullOpts)
 
```

</details>



