Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[JitDiff X64] [hez2010] JIT: Allow limited recursive inlining #992

Open
MihuBot opened this issue Feb 9, 2025 · 3 comments
Open

[JitDiff X64] [hez2010] JIT: Allow limited recursive inlining #992

MihuBot opened this issue Feb 9, 2025 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Feb 9, 2025

Job completed in 15 minutes 11 seconds (remote runner delay: 1 minute 19 seconds).
dotnet/runtime#112318

Diffs

Diffs
Found 99 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 43692361
Total bytes of diff: 43900487
Total bytes of delta: 208126 (0.48 % of base)
Total relative delta: 352.16
    diff is a regression.
    relative diff is a regression.


Top file regressions (bytes):
      120549 : System.Numerics.Tensors.dasm (6.67 % of base)
       51121 : System.Collections.Immutable.dasm (2.73 % of base)
       25265 : System.Private.Xml.dasm (0.62 % of base)
        5235 : System.Data.Common.dasm (0.32 % of base)
        3141 : System.ComponentModel.Composition.dasm (0.75 % of base)
         948 : System.Text.RegularExpressions.dasm (0.12 % of base)
         826 : System.IO.Packaging.dasm (0.77 % of base)
         389 : System.ComponentModel.TypeConverter.dasm (0.13 % of base)
         347 : System.Private.CoreLib.dasm (0.00 % of base)
         154 : Microsoft.Extensions.Logging.dasm (0.44 % of base)
         154 : Microsoft.Extensions.Logging.Abstractions.dasm (0.22 % of base)
          28 : System.Configuration.ConfigurationManager.dasm (0.01 % of base)
          13 : System.Private.DataContractSerialization.dasm (0.00 % of base)
           9 : System.Net.Http.dasm (0.00 % of base)

Top file improvements (bytes):
         -53 : MihuBot.dasm (-0.00 % of base)

15 total files with Code Size differences (1 improved, 14 regressed), 248 unchanged.

Top method regressions (bytes):
        5235 (948.37 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this (FullOpts)
        2816 (929.37 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Contains(System.Collections.Generic.KeyValuePair`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Numerics.Vector`1[float]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]):ubyte:this (FullOpts)
        2601 (38.93 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteMember(System.Xml.Serialization.SourceInfo,System.Xml.Serialization.AttributeAccessor,System.Xml.Serialization.TypeDesc,System.String):this (FullOpts)
        2413 (874.28 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte (FullOpts)
        2220 (898.79 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetValue(System.Numerics.Vector`1[float],System.Collections.Generic.IComparer`1[System.Numerics.Vector`1[float]],byref):ubyte:this (FullOpts)
        2218 (830.71 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetKey(System.Numerics.Vector`1[float],System.Collections.Generic.IComparer`1[System.Numerics.Vector`1[float]],byref):ubyte:this (FullOpts)
        2083 (689.74 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.__Canon],System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte (FullOpts)
        2017 (904.48 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Nullable`1[int]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Nullable`1[int]],System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]):ubyte (FullOpts)
        1950 (81.66 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:this (FullOpts)
        1826 (742.28 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ValueRef(System.Numerics.Vector`1[float],System.Collections.Generic.IComparer`1[System.Numerics.Vector`1[float]]):byref:this (FullOpts)
        1718 (28.09 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WritePrimitive(System.Xml.Serialization.TypeMapping,System.String):this (FullOpts)
        1612 (92.54 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteMemberEnd(System.Xml.Serialization.XmlSerializationReaderILGen+Member[],ubyte):this (FullOpts)
        1559 (118.92 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.Numerics.Vector`1[float]]:Union(System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[System.Numerics.Vector`1[float]] (FullOpts)
        1540 (117.65 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:Intersect(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:this (FullOpts)
        1530 (66.72 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.Numerics.Vector`1[float]]:Union(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[System.Numerics.Vector`1[float]] (FullOpts)
        1513 (710.33 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ContainsKey(System.Numerics.Vector`1[float],System.Collections.Generic.IComparer`1[System.Numerics.Vector`1[float]]):ubyte:this (FullOpts)
        1454 (14.88 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
        1420 (45.63 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteAttribute(System.Xml.Serialization.XmlSerializationReaderILGen+Member):this (FullOpts)
        1385 (400.29 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Nullable`1[int],System.Nullable`1[int]]:Contains(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]):ubyte:this (FullOpts)
        1319 (523.41 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Nullable`1[int],System.Nullable`1[int]]:ValueRef(System.Nullable`1[int],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):byref:this (FullOpts)
        1309 (483.03 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Builder[System.Numerics.Vector`1[float]]:TryGetValue(System.Numerics.Vector`1[float],byref):ubyte:this (FullOpts)
        1308 (480.88 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Nullable`1[int],System.Nullable`1[int]]:TryGetKey(System.Nullable`1[int],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],byref):ubyte:this (FullOpts)
        1308 (488.06 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Nullable`1[int],System.Nullable`1[int]]:TryGetValue(System.Nullable`1[int],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],byref):ubyte:this (FullOpts)
        1268 (122.87 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.Numerics.Vector`1[float]]:Add(System.Numerics.Vector`1[float],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[System.Numerics.Vector`1[float]] (FullOpts)
        1224 (472.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetKey(System.Numerics.Vector`1[float],byref):ubyte:this (FullOpts)
        1214 (485.60 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ValueRef(System.Numerics.Vector`1[float]):byref:this (FullOpts)
        1214 (485.60 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ValueRef(System.Numerics.Vector`1[float]):byref:this (FullOpts)
        1177 (58.97 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Add(System.Numerics.Vector`1[float],System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],int,byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Numerics.Vector`1[float],System.Nullable`1[int]]:this (FullOpts)
        1158 (507.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Nullable`1[int],System.Nullable`1[int]]:ContainsKey(System.Nullable`1[int],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):ubyte:this (FullOpts)
        1128 (164.43 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]:Add(System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]:this (FullOpts)
        1061 (42.63 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteSourceBegin(System.String):this (FullOpts)
        1031 (20.01 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteEnumAndArrayTypes():this (FullOpts)
        1024 (414.57 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[System.Numerics.Vector`1[float],System.Nullable`1[int]]:GetValueOrDefault(System.Numerics.Vector`1[float],System.Nullable`1[int]):System.Nullable`1[int]:this (FullOpts)
        1012 (70.87 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ImportEngine:OnExportsChanging(System.Object,System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs):this (FullOpts)
        1010 (35.41 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteMemberBegin(System.Xml.Serialization.XmlSerializationReaderILGen+Member[]):this (FullOpts)
        1007 (163.74 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.CompositionException:VisitCompositionException(System.ComponentModel.Composition.CompositionException,System.ComponentModel.Composition.CompositionException+VisitContext) (FullOpts)
         948 (351.11 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:SupportsCompilation(byref):ubyte:this (FullOpts)
         906 (180.48 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Add(System.Numerics.Vector`1[float]):System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:this (FullOpts)
         832 (498.20 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte:this (FullOpts)
         820 (384.98 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Numerics.Vector`1[float],System.Collections.Generic.IComparer`1[System.Numerics.Vector`1[float]]):ubyte:this (FullOpts)
         772 (31.89 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:ILGenElseString(System.String):this (FullOpts)
         744 (266.67 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[System.Numerics.Vector`1[float]]:Add(System.Numerics.Vector`1[float]):System.Collections.Immutable.ImmutableList`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         721 (300.42 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[System.Numerics.Vector`1[float],System.Nullable`1[int]]:GetValueOrDefault(System.Numerics.Vector`1[float]):System.Nullable`1[int]:this (FullOpts)
         691 (31.52 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteMemberElementsIf(System.Xml.Serialization.XmlSerializationReaderILGen+Member[],System.Xml.Serialization.XmlSerializationReaderILGen+Member,System.String):this (FullOpts)
         681 (343.94 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
         672 (483.45 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Nullable`1[int]]:Contains(System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]):ubyte:this (FullOpts)
         653 (9.23 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteElement(System.String,System.String,System.String,System.Xml.Serialization.ElementAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.String,ubyte,ubyte,int,int):this (FullOpts)
         648 (37.50 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteArray(System.Xml.Serialization.SourceInfo,System.String,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.Xml.Serialization.TypeDesc):this (FullOpts)
         624 (17.30 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteArrayItems(System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.Xml.Serialization.TypeDesc,System.String,System.String):this (FullOpts)
         613 (8.88 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
         584 (138.06 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):System.Collections.Immutable.ImmutableList`1[System.Numerics.Vector`1[float]] (FullOpts)
         561 (181.55 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ImportEngine+EngineContext:GetAddedPartManagers():System.Collections.Generic.IEnumerable`1[System.ComponentModel.Composition.Hosting.ImportEngine+PartManager]:this (FullOpts)
         561 (181.55 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ImportEngine+EngineContext:GetRemovedPartManagers():System.Collections.Generic.IEnumerable`1[System.ComponentModel.Composition.Hosting.ImportEngine+PartManager]:this (FullOpts)
         549 (205.62 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpanHelpers:AdjustIndexes(int,long,byref,System.ReadOnlySpan`1[long]) (FullOpts)
         548 (15.29 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:PermuteDimensions[System.__Canon](System.Numerics.Tensors.Tensor`1[System.__Canon],System.ReadOnlySpan`1[int]):System.Numerics.Tensors.Tensor`1[System.__Canon] (FullOpts)
         542 (26.54 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:CopyTo(System.Numerics.Tensors.TensorSpan`1[double]):this (FullOpts)
         542 (26.54 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:CopyTo(System.Numerics.Tensors.TensorSpan`1[int]):this (FullOpts)
         542 (26.54 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:CopyTo(System.Numerics.Tensors.TensorSpan`1[long]):this (FullOpts)
         542 (26.54 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:CopyTo(System.Numerics.Tensors.TensorSpan`1[short]):this (FullOpts)
         542 (26.54 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:CopyTo(System.Numerics.Tensors.TensorSpan`1[System.Nullable`1[int]]):this (FullOpts)
         542 (26.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:CopyTo(System.Numerics.Tensors.TensorSpan`1[System.Numerics.Vector`1[float]]):this (FullOpts)
         542 (26.57 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:CopyTo(System.Numerics.Tensors.TensorSpan`1[ubyte]):this (FullOpts)
         541 (29.43 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:ConcatenateOnDimension[double](int,System.ReadOnlySpan`1[System.Numerics.Tensors.Tensor`1[double]],byref):byref (FullOpts)
         541 (29.43 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:ConcatenateOnDimension[int](int,System.ReadOnlySpan`1[System.Numerics.Tensors.Tensor`1[int]],byref):byref (FullOpts)
         541 (29.43 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:ConcatenateOnDimension[long](int,System.ReadOnlySpan`1[System.Numerics.Tensors.Tensor`1[long]],byref):byref (FullOpts)
         541 (29.45 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:ConcatenateOnDimension[short](int,System.ReadOnlySpan`1[System.Numerics.Tensors.Tensor`1[short]],byref):byref (FullOpts)
         541 (29.43 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:ConcatenateOnDimension[System.Nullable`1[int]](int,System.ReadOnlySpan`1[System.Numerics.Tensors.Tensor`1[System.Nullable`1[int]]],byref):byref (FullOpts)
         541 (29.37 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:ConcatenateOnDimension[System.Numerics.Vector`1[float]](int,System.ReadOnlySpan`1[System.Numerics.Tensors.Tensor`1[System.Numerics.Vector`1[float]]],byref):byref (FullOpts)
         541 (29.56 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:ConcatenateOnDimension[ubyte](int,System.ReadOnlySpan`1[System.Numerics.Tensors.Tensor`1[ubyte]],byref):byref (FullOpts)
         537 (35.47 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:Equals[long](byref,long,byref):byref (FullOpts)
         537 (35.47 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThan[long](byref,long,byref):byref (FullOpts)
         537 (35.47 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThan[long](long,byref,byref):byref (FullOpts)
         537 (35.47 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThanOrEqual[long](byref,long,byref):byref (FullOpts)
         537 (35.47 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThanOrEqual[long](long,byref,byref):byref (FullOpts)
         537 (35.47 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:LessThan[long](byref,long,byref):byref (FullOpts)
         537 (35.47 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:LessThan[long](long,byref,byref):byref (FullOpts)
         537 (35.47 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:LessThanOrEqual[long](byref,long,byref):byref (FullOpts)
         537 (35.47 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:LessThanOrEqual[long](long,byref,byref):byref (FullOpts)
         534 (41.78 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:EqualsAny[System.Numerics.Vector`1[float]](byref,System.Numerics.Vector`1[float]):ubyte (FullOpts)
         529 (27.95 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:ConcatenateOnDimension[System.__Canon](int,System.ReadOnlySpan`1[System.__Canon],byref):byref (FullOpts)
         528 (16.54 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:PermuteDimensions[int](System.Numerics.Tensors.Tensor`1[int],System.ReadOnlySpan`1[int]):System.Numerics.Tensors.Tensor`1[int] (FullOpts)
         528 (16.16 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:PermuteDimensions[long](System.Numerics.Tensors.Tensor`1[long],System.ReadOnlySpan`1[int]):System.Numerics.Tensors.Tensor`1[long] (FullOpts)
         528 (16.16 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:PermuteDimensions[System.Nullable`1[int]](System.Numerics.Tensors.Tensor`1[System.Nullable`1[int]],System.ReadOnlySpan`1[int]):System.Numerics.Tensors.Tensor`1[System.Nullable`1[int]] (FullOpts)
         528 (16.09 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:PermuteDimensions[System.Numerics.Vector`1[float]](System.Numerics.Tensors.Tensor`1[System.Numerics.Vector`1[float]],System.ReadOnlySpan`1[int]):System.Numerics.Tensors.Tensor`1[System.Numerics.Vector`1[float]] (FullOpts)
         528 (16.16 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:PermuteDimensions[ubyte](System.Numerics.Tensors.Tensor`1[ubyte],System.ReadOnlySpan`1[int]):System.Numerics.Tensors.Tensor`1[ubyte] (FullOpts)
         526 (34.74 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:Equals[int](byref,int,byref):byref (FullOpts)
         526 (34.65 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:Equals[short](byref,short,byref):byref (FullOpts)
         526 (34.67 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:Equals[ubyte](byref,ubyte,byref):byref (FullOpts)
         526 (34.74 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThan[int](byref,int,byref):byref (FullOpts)
         526 (34.74 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThan[int](int,byref,byref):byref (FullOpts)
         526 (34.65 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThan[short](byref,short,byref):byref (FullOpts)
         526 (34.65 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThan[short](short,byref,byref):byref (FullOpts)
         526 (34.67 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThan[ubyte](byref,ubyte,byref):byref (FullOpts)
         526 (34.67 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThan[ubyte](ubyte,byref,byref):byref (FullOpts)
         526 (34.74 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThanOrEqual[int](byref,int,byref):byref (FullOpts)
         526 (34.74 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThanOrEqual[int](int,byref,byref):byref (FullOpts)
         526 (34.65 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThanOrEqual[short](byref,short,byref):byref (FullOpts)
         526 (34.65 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThanOrEqual[short](short,byref,byref):byref (FullOpts)
         526 (34.67 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThanOrEqual[ubyte](byref,ubyte,byref):byref (FullOpts)
         526 (34.67 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:GreaterThanOrEqual[ubyte](ubyte,byref,byref):byref (FullOpts)

Top method improvements (bytes):
         -53 (-2.05 % of base) : MihuBot.dasm - MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0+<<MonitorRuntimeTestServiceAsync>g__TestRemoteServer|0>d:MoveNext():this (FullOpts)
         -41 (-23.03 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SourceInfo:op_Inequality(System.Xml.Serialization.SourceInfo,System.Xml.Serialization.SourceInfo):ubyte (FullOpts)
         -33 (-22.60 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SourceInfo:op_Equality(System.Xml.Serialization.SourceInfo,System.Xml.Serialization.SourceInfo):ubyte (FullOpts)
          -4 (-5.48 % of base) : System.Net.Http.dasm - System.Net.Http.DecompressionHandler+DeflateDecompressedContent+ZLibOrDeflateStream:Dispose(ubyte):this (FullOpts)

Top method regressions (percentages):
        5235 (948.37 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this (FullOpts)
        2816 (929.37 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Contains(System.Collections.Generic.KeyValuePair`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Numerics.Vector`1[float]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]):ubyte:this (FullOpts)
        2017 (904.48 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Nullable`1[int]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Nullable`1[int]],System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]):ubyte (FullOpts)
        2220 (898.79 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetValue(System.Numerics.Vector`1[float],System.Collections.Generic.IComparer`1[System.Numerics.Vector`1[float]],byref):ubyte:this (FullOpts)
        2413 (874.28 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte (FullOpts)
        2218 (830.71 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetKey(System.Numerics.Vector`1[float],System.Collections.Generic.IComparer`1[System.Numerics.Vector`1[float]],byref):ubyte:this (FullOpts)
        1826 (742.28 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ValueRef(System.Numerics.Vector`1[float],System.Collections.Generic.IComparer`1[System.Numerics.Vector`1[float]]):byref:this (FullOpts)
        1513 (710.33 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ContainsKey(System.Numerics.Vector`1[float],System.Collections.Generic.IComparer`1[System.Numerics.Vector`1[float]]):ubyte:this (FullOpts)
        2083 (689.74 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.__Canon],System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte (FullOpts)
        1319 (523.41 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Nullable`1[int],System.Nullable`1[int]]:ValueRef(System.Nullable`1[int],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):byref:this (FullOpts)
        1158 (507.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Nullable`1[int],System.Nullable`1[int]]:ContainsKey(System.Nullable`1[int],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):ubyte:this (FullOpts)
         832 (498.20 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte:this (FullOpts)
        1308 (488.06 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Nullable`1[int],System.Nullable`1[int]]:TryGetValue(System.Nullable`1[int],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],byref):ubyte:this (FullOpts)
        1214 (485.60 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ValueRef(System.Numerics.Vector`1[float]):byref:this (FullOpts)
        1214 (485.60 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ValueRef(System.Numerics.Vector`1[float]):byref:this (FullOpts)
         672 (483.45 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Nullable`1[int]]:Contains(System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]):ubyte:this (FullOpts)
        1309 (483.03 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Builder[System.Numerics.Vector`1[float]]:TryGetValue(System.Numerics.Vector`1[float],byref):ubyte:this (FullOpts)
        1308 (480.88 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Nullable`1[int],System.Nullable`1[int]]:TryGetKey(System.Nullable`1[int],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],byref):ubyte:this (FullOpts)
        1224 (472.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetKey(System.Numerics.Vector`1[float],byref):ubyte:this (FullOpts)
        1024 (414.57 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[System.Numerics.Vector`1[float],System.Nullable`1[int]]:GetValueOrDefault(System.Numerics.Vector`1[float],System.Nullable`1[int]):System.Nullable`1[int]:this (FullOpts)
        1385 (400.29 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Nullable`1[int],System.Nullable`1[int]]:Contains(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]):ubyte:this (FullOpts)
         820 (384.98 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Numerics.Vector`1[float],System.Collections.Generic.IComparer`1[System.Numerics.Vector`1[float]]):ubyte:this (FullOpts)
         948 (351.11 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:SupportsCompilation(byref):ubyte:this (FullOpts)
         681 (343.94 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
         721 (300.42 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[System.Numerics.Vector`1[float],System.Nullable`1[int]]:GetValueOrDefault(System.Numerics.Vector`1[float]):System.Nullable`1[int]:this (FullOpts)
         421 (290.34 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpanHelpers:AdjustIndexesDown(int,long,System.Span`1[long],System.ReadOnlySpan`1[long]) (FullOpts)
         744 (266.67 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[System.Numerics.Vector`1[float]]:Add(System.Numerics.Vector`1[float]):System.Collections.Immutable.ImmutableList`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         521 (257.92 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor`1+Enumerator[double]:MoveNext():ubyte:this (FullOpts)
         521 (257.92 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor`1+Enumerator[int]:MoveNext():ubyte:this (FullOpts)
         521 (257.92 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor`1+Enumerator[long]:MoveNext():ubyte:this (FullOpts)
         521 (257.92 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor`1+Enumerator[short]:MoveNext():ubyte:this (FullOpts)
         521 (257.92 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         521 (257.92 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor`1+Enumerator[System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts)
         521 (257.92 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor`1+Enumerator[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this (FullOpts)
         521 (257.92 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor`1+Enumerator[ubyte]:MoveNext():ubyte:this (FullOpts)
         426 (230.27 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpanHelpers:AdjustIndexes(int,long,System.Span`1[long],System.ReadOnlySpan`1[long]) (FullOpts)
         257 (217.80 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.LocalScope:get_Item(System.String):System.Reflection.Emit.LocalBuilder:this (FullOpts)
         257 (215.97 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeGenerator:GetLocal(System.String):System.Reflection.Emit.LocalBuilder:this (FullOpts)
         549 (205.62 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpanHelpers:AdjustIndexes(int,long,byref,System.ReadOnlySpan`1[long]) (FullOpts)
         320 (195.12 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[double]:AddRange(System.ReadOnlySpan`1[double]):System.Collections.Immutable.ImmutableList`1+Node[double]:this (FullOpts)
         320 (195.12 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[int]:AddRange(System.ReadOnlySpan`1[int]):System.Collections.Immutable.ImmutableList`1+Node[int]:this (FullOpts)
         320 (195.12 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[long]:AddRange(System.ReadOnlySpan`1[long]):System.Collections.Immutable.ImmutableList`1+Node[long]:this (FullOpts)
         320 (195.12 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[short]:AddRange(System.ReadOnlySpan`1[short]):System.Collections.Immutable.ImmutableList`1+Node[short]:this (FullOpts)
         320 (195.12 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Nullable`1[int]]:AddRange(System.ReadOnlySpan`1[System.Nullable`1[int]]):System.Collections.Immutable.ImmutableList`1+Node[System.Nullable`1[int]]:this (FullOpts)
         320 (195.12 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:AddRange(System.ReadOnlySpan`1[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:this (FullOpts)
         320 (195.12 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[ubyte]:AddRange(System.ReadOnlySpan`1[ubyte]):System.Collections.Immutable.ImmutableList`1+Node[ubyte]:this (FullOpts)
         561 (181.55 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ImportEngine+EngineContext:GetAddedPartManagers():System.Collections.Generic.IEnumerable`1[System.ComponentModel.Composition.Hosting.ImportEngine+PartManager]:this (FullOpts)
         561 (181.55 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ImportEngine+EngineContext:GetRemovedPartManagers():System.Collections.Generic.IEnumerable`1[System.ComponentModel.Composition.Hosting.ImportEngine+PartManager]:this (FullOpts)
         906 (180.48 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Add(System.Numerics.Vector`1[float]):System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:this (FullOpts)
         257 (177.24 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeGenerator:Ldloc(System.String):this (FullOpts)
         257 (177.24 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeGenerator:Ldloc(System.Type,System.String):this (FullOpts)
         282 (174.07 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeGenerator:DeclareOrGetLocal(System.Type,System.String):System.Reflection.Emit.LocalBuilder:this (FullOpts)
         287 (165.90 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.XmlCompatibilityReader+CompatibilityScope:CanIgnore(System.String):ubyte:this (FullOpts)
        1128 (164.43 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]:Add(System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]:this (FullOpts)
         295 (163.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:AddRange(System.ReadOnlySpan`1[System.__Canon]):System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:this (FullOpts)
        1007 (163.74 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.CompositionException:VisitCompositionException(System.ComponentModel.Composition.CompositionException,System.ComponentModel.Composition.CompositionException+VisitContext) (FullOpts)
         282 (158.43 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeGenerator:Stloc(System.Type,System.String):this (FullOpts)
         283 (157.22 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.XmlCompatibilityReader:ShouldIgnoreNamespace(System.String):ubyte:this (FullOpts)
         584 (138.06 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):System.Collections.Immutable.ImmutableList`1[System.Numerics.Vector`1[float]] (FullOpts)
         257 (136.70 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareILGen:WriteArrayTypeCompare(System.String,System.Type,System.Xml.Serialization.CodeGenerator) (FullOpts)
         257 (136.70 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareILGen:WriteTypeCompare(System.String,System.Type,System.Xml.Serialization.CodeGenerator) (FullOpts)
         154 (136.28 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExternalScopeProvider:<ForEachScope>g__Report|2_0[System.__Canon](Microsoft.Extensions.Logging.LoggerExternalScopeProvider+Scope,byref) (FullOpts)
         154 (136.28 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.LoggerFactoryScopeProvider:<ForEachScope>g__Report|3_0[System.__Canon](Microsoft.Extensions.Logging.LoggerFactoryScopeProvider+Scope,byref) (FullOpts)
         257 (135.98 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteArrayTypeCompare(System.String,System.Type):this (FullOpts)
         257 (135.98 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteTypeCompare(System.String,System.Type):this (FullOpts)
        1268 (122.87 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.Numerics.Vector`1[float]]:Add(System.Numerics.Vector`1[float],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[System.Numerics.Vector`1[float]] (FullOpts)
          89 (120.27 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlSortKey:AddSortKey(System.Xml.Xsl.Runtime.XmlSortKey):System.Xml.Xsl.Runtime.XmlSortKey:this (FullOpts)
        1559 (118.92 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.Numerics.Vector`1[float]]:Union(System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[System.Numerics.Vector`1[float]] (FullOpts)
        1540 (117.65 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:Intersect(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         331 (117.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[double]:AddRange(System.ReadOnlySpan`1[double]):System.Collections.Immutable.ImmutableList`1[double]:this (FullOpts)
         331 (117.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[int]:AddRange(System.ReadOnlySpan`1[int]):System.Collections.Immutable.ImmutableList`1[int]:this (FullOpts)
         331 (117.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[long]:AddRange(System.ReadOnlySpan`1[long]):System.Collections.Immutable.ImmutableList`1[long]:this (FullOpts)
         331 (117.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[short]:AddRange(System.ReadOnlySpan`1[short]):System.Collections.Immutable.ImmutableList`1[short]:this (FullOpts)
         331 (117.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[System.Nullable`1[int]]:AddRange(System.ReadOnlySpan`1[System.Nullable`1[int]]):System.Collections.Immutable.ImmutableList`1[System.Nullable`1[int]]:this (FullOpts)
         331 (117.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[System.Numerics.Vector`1[float]]:AddRange(System.ReadOnlySpan`1[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableList`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         331 (117.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[ubyte]:AddRange(System.ReadOnlySpan`1[ubyte]):System.Collections.Immutable.ImmutableList`1[ubyte]:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1+Enumerator[double]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1+Enumerator[int]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1+Enumerator[long]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1+Enumerator[short]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1+Enumerator[System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1+Enumerator[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1+Enumerator[ubyte]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1+Enumerator[double]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1+Enumerator[int]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1+Enumerator[long]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1+Enumerator[short]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1+Enumerator[System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1+Enumerator[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this (FullOpts)
         421 (99.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1+Enumerator[ubyte]:MoveNext():ubyte:this (FullOpts)
        1612 (92.54 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteMemberEnd(System.Xml.Serialization.XmlSerializationReaderILGen+Member[],ubyte):this (FullOpts)
         284 (88.47 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeGenerator:TryGetVariable(System.String,byref):ubyte:this (FullOpts)
         283 (88.16 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XPathNavigatorReader:GetAttribute(int):System.String:this (FullOpts)
         319 (86.45 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[System.__Canon]:AddRange(System.ReadOnlySpan`1[System.__Canon]):System.Collections.Immutable.ImmutableList`1[System.__Canon]:this (FullOpts)
        1950 (81.66 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         200 (81.63 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.TypeDescriptor:GetDescriptorFromRegisteredType(System.Object):System.ComponentModel.ICustomTypeDescriptor (FullOpts)
          99 (74.44 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlSortKeyAccumulator:AppendSortKey(System.Xml.Xsl.Runtime.XmlSortKey):this (FullOpts)
        1012 (70.87 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ImportEngine:OnExportsChanging(System.Object,System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs):this (FullOpts)

Top method improvements (percentages):
         -41 (-23.03 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SourceInfo:op_Inequality(System.Xml.Serialization.SourceInfo,System.Xml.Serialization.SourceInfo):ubyte (FullOpts)
         -33 (-22.60 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SourceInfo:op_Equality(System.Xml.Serialization.SourceInfo,System.Xml.Serialization.SourceInfo):ubyte (FullOpts)
          -4 (-5.48 % of base) : System.Net.Http.dasm - System.Net.Http.DecompressionHandler+DeflateDecompressedContent+ZLibOrDeflateStream:Dispose(ubyte):this (FullOpts)
         -53 (-2.05 % of base) : MihuBot.dasm - MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0+<<MonitorRuntimeTestServiceAsync>g__TestRemoteServer|0>d:MoveNext():this (FullOpts)

406 total methods with Code Size differences (4 improved, 402 regressed), 247262 unchanged.

--------------------------------------------------------------------------------

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Feb 9, 2025

Top method regressions

2413 (874.28 % of base) - System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
 ; Assembly listing for method System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 25 single block inlinees; 24 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T01] (  6,  4.50)     ref  ->  r15         class-hnd single-def <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
-;  V01 arg1         [V01,T04] (  5,  2.50)  simd32  ->  [rbp+0x10]  single-def <System.Numerics.Vector`1[float]>
-;  V02 arg2         [V02,T00] (  7,  4.50)     ref  ->  rbx         class-hnd single-def <System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]>
+;  V01 arg1         [V01,T50] ( 51, 25.50)  simd32  ->  [rbp+0x10]  single-def <System.Numerics.Vector`1[float]>
+;  V02 arg2         [V02,T00] ( 53, 27.50)     ref  ->  rbx         class-hnd single-def <System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (64) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V04 tmp1         [V04,T03] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V04 tmp1         [V04,T37] (  2,  1   )   ubyte  ->  r13         "Inline return value spill temp"
 ;  V05 tmp2         [V05,T02] (  5,  5   )     ref  ->  r14         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V06 tmp3         [V06,T38] (  2,  1   )   ubyte  ->  r12         "Inline return value spill temp"
+;  V07 tmp4         [V07,T03] (  5,  5   )     ref  ->  r13         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V08 tmp5         [V08,T39] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V09 tmp6         [V09,T04] (  5,  5   )     ref  ->  r12         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V10 tmp7         [V10,T40] (  2,  1   )   ubyte  ->  rcx         "Inline return value spill temp"
+;  V11 tmp8         [V11,T05] (  5,  5   )     ref  ->  [rbp-0x30]  class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V12 tmp9         [V12,T41] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V13 tmp10        [V13,T06] (  5,  5   )     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V14 tmp11        [V14,T26] (  4,  2   )   ubyte  ->  rcx         "Inline return value spill temp"
+;  V15 tmp12        [V15,T07] (  5,  5   )     ref  ->  [rbp-0x40]  class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V16 tmp13        [V16,T27] (  4,  2   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V17 tmp14        [V17,T08] (  5,  5   )     ref  ->  r12         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V18 tmp15        [V18,T42] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V19 tmp16        [V19,T09] (  5,  5   )     ref  ->  [rbp-0x48]  class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V20 tmp17        [V20,T28] (  4,  2   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V21 tmp18        [V21,T10] (  5,  5   )     ref  ->  r12         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V22 tmp19        [V22,T29] (  4,  2   )   ubyte  ->  r12         "Inline return value spill temp"
+;  V23 tmp20        [V23,T11] (  5,  5   )     ref  ->  r13         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V24 tmp21        [V24,T43] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V25 tmp22        [V25,T12] (  5,  5   )     ref  ->  r12         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V26 tmp23        [V26,T44] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V27 tmp24        [V27,T13] (  5,  5   )     ref  ->  [rbp-0x50]  class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V28 tmp25        [V28,T30] (  4,  2   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V29 tmp26        [V29,T14] (  5,  5   )     ref  ->  r12         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V30 tmp27        [V30,T31] (  4,  2   )   ubyte  ->  r12         "Inline return value spill temp"
+;  V31 tmp28        [V31,T15] (  5,  5   )     ref  ->  r12         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V32 tmp29        [V32,T45] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V33 tmp30        [V33,T16] (  5,  5   )     ref  ->  r13         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V34 tmp31        [V34,T32] (  4,  2   )   ubyte  ->  r12         "Inline return value spill temp"
+;  V35 tmp32        [V35,T17] (  5,  5   )     ref  ->  r13         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V36 tmp33        [V36,T33] (  4,  2   )   ubyte  ->  r13         "Inline return value spill temp"
+;  V37 tmp34        [V37,T18] (  5,  5   )     ref  ->  r14         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V38 tmp35        [V38,T46] (  2,  1   )   ubyte  ->  r12         "Inline return value spill temp"
+;  V39 tmp36        [V39,T19] (  5,  5   )     ref  ->  r13         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V40 tmp37        [V40,T47] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V41 tmp38        [V41,T20] (  5,  5   )     ref  ->  r12         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V42 tmp39        [V42,T48] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V43 tmp40        [V43,T21] (  5,  5   )     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V44 tmp41        [V44,T34] (  4,  2   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V45 tmp42        [V45,T22] (  5,  5   )     ref  ->  r12         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V46 tmp43        [V46,T35] (  4,  2   )   ubyte  ->  r12         "Inline return value spill temp"
+;  V47 tmp44        [V47,T23] (  5,  5   )     ref  ->  r13         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V48 tmp45        [V48,T49] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V49 tmp46        [V49,T24] (  5,  5   )     ref  ->  r12         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+;  V50 tmp47        [V50,T36] (  4,  2   )   ubyte  ->  r12         "Inline return value spill temp"
+;  V51 tmp48        [V51,T25] (  5,  5   )     ref  ->  r12         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
 ;
-; Lcl frame size = 72
+; Lcl frame size = 120
 
 G_M2075_IG01:
        push     rbp
        push     r15
        push     r14
+       push     r13
+       push     r12
        push     rbx
-       sub      rsp, 72
-       lea      rbp, [rsp+0x60]
+       sub      rsp, 120
+       lea      rbp, [rsp+0xA0]
        mov      r15, rdi
        mov      rbx, rsi
        vmovups  ymm0, ymmword ptr [rbp+0x10]
-						;; size=26 bbWeight=1 PerfScore 9.25
+						;; size=33 bbWeight=1 PerfScore 11.25
 G_M2075_IG02:
        cmp      gword ptr [r15+0x08], 0
        jne      SHORT G_M2075_IG05
 						;; size=7 bbWeight=1 PerfScore 4.00
 G_M2075_IG03:
        xor      eax, eax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M2075_IG04:
        vzeroupper 
-       add      rsp, 72
+       add      rsp, 120
        pop      rbx
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=14 bbWeight=0.50 PerfScore 2.12
+						;; size=18 bbWeight=0.50 PerfScore 2.62
 G_M2075_IG05:
        vmovups  ymmword ptr [rbp+0x10], ymm0
        vmovups  ymmword ptr [rsp], ymm0
        vmovups  ymm1, ymmword ptr [r15+0x20]
        vmovups  ymmword ptr [rsp+0x20], ymm1
        mov      rdi, rbx
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
        call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
        test     eax, eax
-       jne      SHORT G_M2075_IG06
+       jne      G_M2075_IG56
        mov      r14, gword ptr [r15+0x08]
        cmp      gword ptr [r14+0x08], 0
-       je       G_M2075_IG08
+       je       G_M2075_IG58
        vmovups  ymm0, ymmword ptr [rbp+0x10]
        vmovups  ymmword ptr [rsp], ymm0
        vmovups  ymm1, ymmword ptr [r14+0x20]
        vmovups  ymmword ptr [rsp+0x20], ymm1
        mov      rdi, rbx
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
        call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
        test     eax, eax
-       jne      SHORT G_M2075_IG06
+       jne      G_M2075_IG56
+       mov      r13, gword ptr [r14+0x08]
+       cmp      gword ptr [r13+0x08], 0
+       je       G_M2075_IG37
        vmovups  ymm0, ymmword ptr [rbp+0x10]
        vmovups  ymmword ptr [rsp], ymm0
-       mov      rdi, gword ptr [r14+0x08]
+       vmovups  ymm1, ymmword ptr [r13+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      G_M2075_IG56
+       mov      r12, gword ptr [r13+0x08]
+       cmp      gword ptr [r12+0x08], 0
+       je       G_M2075_IG20
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r12+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      G_M2075_IG56
+       mov      rax, gword ptr [r12+0x08]
+       mov      gword ptr [rbp-0x30], rax
+       cmp      gword ptr [rax+0x08], 0
+       je       G_M2075_IG12
+						;; size=251 bbWeight=0.50 PerfScore 42.50
+G_M2075_IG06:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [rax+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      G_M2075_IG56
+       mov      rax, gword ptr [rbp-0x30]
+       mov      rcx, gword ptr [rax+0x08]
+       mov      gword ptr [rbp-0x38], rcx
+       cmp      gword ptr [rcx+0x08], 0
+       je       G_M2075_IG07
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [rcx+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      G_M2075_IG56
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rax, gword ptr [rbp-0x38]
+       mov      rdi, gword ptr [rax+0x08]
+       mov      rsi, rbx
+       mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rcx]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       jne      G_M2075_IG56
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [rbp-0x38]
+       mov      rdi, gword ptr [rdi+0x10]
        mov      rsi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
        call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
        test     eax, eax
-       jne      SHORT G_M2075_IG06
+       jne      G_M2075_IG56
+						;; size=195 bbWeight=0.50 PerfScore 32.50
+G_M2075_IG07:
+       mov      rax, gword ptr [rbp-0x30]
+       mov      rax, gword ptr [rax+0x10]
+       mov      gword ptr [rbp-0x40], rax
+       cmp      gword ptr [rax+0x08], 0
+       jne      SHORT G_M2075_IG08
+       xor      ecx, ecx
+       jmp      SHORT G_M2075_IG11
+						;; size=23 bbWeight=0.50 PerfScore 5.12
+G_M2075_IG08:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [rax+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M2075_IG09
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rax, gword ptr [rbp-0x40]
+       mov      rdi, gword ptr [rax+0x08]
+       mov      rsi, rbx
+       mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rcx]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       je       SHORT G_M2075_IG10
+						;; size=78 bbWeight=0.50 PerfScore 14.25
+G_M2075_IG09:
+       mov      ecx, 1
+       jmp      SHORT G_M2075_IG11
+						;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG10:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [rbp-0x40]
+       mov      rdi, gword ptr [rdi+0x10]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       mov      ecx, eax
+						;; size=35 bbWeight=0.50 PerfScore 5.88
+G_M2075_IG11:
+       test     ecx, ecx
+       jne      G_M2075_IG56
+						;; size=8 bbWeight=0.50 PerfScore 0.62
+G_M2075_IG12:
+       mov      r12, gword ptr [r12+0x10]
+       cmp      gword ptr [r12+0x08], 0
+       jne      SHORT G_M2075_IG13
+       xor      eax, eax
+       jmp      G_M2075_IG19
+						;; size=20 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG13:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r12+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      G_M2075_IG14
+       mov      rax, gword ptr [r12+0x08]
+       mov      gword ptr [rbp-0x48], rax
+       cmp      gword ptr [rax+0x08], 0
+       je       G_M2075_IG15
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [rax+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M2075_IG14
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rax, gword ptr [rbp-0x48]
+       mov      rdi, gword ptr [rax+0x08]
+       mov      rsi, rbx
+       mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rcx]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       jne      SHORT G_M2075_IG14
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [rbp-0x48]
+       mov      rdi, gword ptr [rdi+0x10]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       je       SHORT G_M2075_IG15
+						;; size=182 bbWeight=0.50 PerfScore 32.00
+G_M2075_IG14:
+       mov      eax, 1
+       jmp      G_M2075_IG19
+						;; size=10 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG15:
+       mov      r12, gword ptr [r12+0x10]
+       cmp      gword ptr [r12+0x08], 0
+       jne      SHORT G_M2075_IG16
+       xor      eax, eax
+       jmp      SHORT G_M2075_IG19
+						;; size=17 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG16:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r12+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M2075_IG17
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [r12+0x08]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       je       SHORT G_M2075_IG18
+						;; size=77 bbWeight=0.50 PerfScore 13.75
+G_M2075_IG17:
+       mov      eax, 1
+       jmp      SHORT G_M2075_IG19
+						;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG18:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [r12+0x10]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+						;; size=30 bbWeight=0.50 PerfScore 5.25
+G_M2075_IG19:
+       test     eax, eax
+       jne      G_M2075_IG56
+						;; size=8 bbWeight=0.50 PerfScore 0.62
+G_M2075_IG20:
+       mov      r13, gword ptr [r13+0x10]
+       cmp      gword ptr [r13+0x08], 0
+       jne      SHORT G_M2075_IG21
+       xor      r12d, r12d
+       jmp      G_M2075_IG36
+						;; size=19 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG21:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r13+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      G_M2075_IG28
+       mov      r12, gword ptr [r13+0x08]
+       cmp      gword ptr [r12+0x08], 0
+       je       G_M2075_IG29
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r12+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      G_M2075_IG28
+       mov      rax, gword ptr [r12+0x08]
+       mov      gword ptr [rbp-0x50], rax
+       cmp      gword ptr [rax+0x08], 0
+       je       G_M2075_IG23
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [rax+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      G_M2075_IG28
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rax, gword ptr [rbp-0x50]
+       mov      rdi, gword ptr [rax+0x08]
+       mov      rsi, rbx
+       mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rcx]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       jne      G_M2075_IG28
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [rbp-0x50]
+       mov      rdi, gword ptr [rdi+0x10]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+						;; size=246 bbWeight=0.50 PerfScore 40.75
+G_M2075_IG22:
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       jne      G_M2075_IG28
+						;; size=10 bbWeight=0.50 PerfScore 2.12
+G_M2075_IG23:
+       mov      r12, gword ptr [r12+0x10]
+       cmp      gword ptr [r12+0x08], 0
+       jne      SHORT G_M2075_IG24
+       xor      eax, eax
+       jmp      SHORT G_M2075_IG27
+						;; size=17 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG24:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r12+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M2075_IG25
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [r12+0x08]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       je       SHORT G_M2075_IG26
+						;; size=77 bbWeight=0.50 PerfScore 13.75
+G_M2075_IG25:
+       mov      eax, 1
+       jmp      SHORT G_M2075_IG27
+						;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG26:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [r12+0x10]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+						;; size=30 bbWeight=0.50 PerfScore 5.25
+G_M2075_IG27:
+       test     eax, eax
+       je       SHORT G_M2075_IG29
+						;; size=4 bbWeight=0.50 PerfScore 0.62
+G_M2075_IG28:
+       mov      r12d, 1
+       jmp      G_M2075_IG36
+						;; size=11 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG29:
+       mov      r12, gword ptr [r13+0x10]
+       cmp      gword ptr [r12+0x08], 0
+       jne      SHORT G_M2075_IG30
+       xor      r12d, r12d
+       jmp      G_M2075_IG36
+						;; size=20 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG30:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r12+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M2075_IG31
+       mov      r13, gword ptr [r12+0x08]
+       cmp      gword ptr [r13+0x08], 0
+       je       SHORT G_M2075_IG32
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r13+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M2075_IG31
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [r13+0x08]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       jne      SHORT G_M2075_IG31
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [r13+0x10]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       je       SHORT G_M2075_IG32
+						;; size=163 bbWeight=0.50 PerfScore 30.50
+G_M2075_IG31:
+       mov      r12d, 1
+       jmp      G_M2075_IG36
+						;; size=11 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG32:
+       mov      r13, gword ptr [r12+0x10]
+       cmp      gword ptr [r13+0x08], 0
+       jne      SHORT G_M2075_IG33
+       xor      r12d, r12d
+       jmp      SHORT G_M2075_IG36
+						;; size=17 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG33:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r13+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M2075_IG34
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [r13+0x08]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       je       SHORT G_M2075_IG35
+						;; size=75 bbWeight=0.50 PerfScore 13.75
+G_M2075_IG34:
+       mov      r12d, 1
+       jmp      SHORT G_M2075_IG36
+						;; size=8 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG35:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [r13+0x10]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       mov      r12d, eax
+						;; size=32 bbWeight=0.50 PerfScore 5.38
+G_M2075_IG36:
+       test     r12d, r12d
+       jne      G_M2075_IG56
+						;; size=9 bbWeight=0.50 PerfScore 0.62
+G_M2075_IG37:
+       mov      r14, gword ptr [r14+0x10]
+       cmp      gword ptr [r14+0x08], 0
+       jne      SHORT G_M2075_IG38
+       xor      r13d, r13d
+       jmp      G_M2075_IG55
+						;; size=19 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG38:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r14+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      G_M2075_IG53
+       mov      r13, gword ptr [r14+0x08]
+       cmp      gword ptr [r13+0x08], 0
+       je       G_M2075_IG54
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r13+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      G_M2075_IG53
+       mov      r12, gword ptr [r13+0x08]
+       cmp      gword ptr [r12+0x08], 0
+       je       G_M2075_IG45
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r12+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      G_M2075_IG53
+       mov      rax, gword ptr [r12+0x08]
+       mov      gword ptr [rbp-0x58], rax
+       cmp      gword ptr [rax+0x08], 0
+       je       G_M2075_IG40
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [rax+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      G_M2075_IG53
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rax, gword ptr [rbp-0x58]
+						;; size=249 bbWeight=0.50 PerfScore 44.00
+G_M2075_IG39:
+       mov      rdi, gword ptr [rax+0x08]
+       mov      rsi, rbx
+       mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rcx]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       jne      G_M2075_IG53
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [rbp-0x58]
+       mov      rdi, gword ptr [rdi+0x10]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       jne      G_M2075_IG53
+						;; size=68 bbWeight=0.50 PerfScore 9.75
+G_M2075_IG40:
+       mov      r12, gword ptr [r12+0x10]
+       cmp      gword ptr [r12+0x08], 0
+       jne      SHORT G_M2075_IG41
+       xor      eax, eax
+       jmp      SHORT G_M2075_IG44
+						;; size=17 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG41:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r12+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M2075_IG42
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [r12+0x08]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       je       SHORT G_M2075_IG43
+						;; size=77 bbWeight=0.50 PerfScore 13.75
+G_M2075_IG42:
+       mov      eax, 1
+       jmp      SHORT G_M2075_IG44
+						;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG43:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [r12+0x10]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+						;; size=30 bbWeight=0.50 PerfScore 5.25
+G_M2075_IG44:
+       test     eax, eax
+       jne      G_M2075_IG53
+						;; size=8 bbWeight=0.50 PerfScore 0.62
+G_M2075_IG45:
+       mov      r13, gword ptr [r13+0x10]
+       cmp      gword ptr [r13+0x08], 0
+       jne      SHORT G_M2075_IG46
+       xor      r12d, r12d
+       jmp      G_M2075_IG52
+						;; size=19 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG46:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r13+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M2075_IG47
+       mov      r12, gword ptr [r13+0x08]
+       cmp      gword ptr [r12+0x08], 0
+       je       SHORT G_M2075_IG48
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r12+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M2075_IG47
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [r12+0x08]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       jne      SHORT G_M2075_IG47
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [r12+0x10]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       je       SHORT G_M2075_IG48
+						;; size=165 bbWeight=0.50 PerfScore 30.50
+G_M2075_IG47:
+       mov      r12d, 1
+       jmp      G_M2075_IG52
+						;; size=11 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG48:
+       mov      r12, gword ptr [r13+0x10]
+       cmp      gword ptr [r12+0x08], 0
+       jne      SHORT G_M2075_IG49
+       xor      r12d, r12d
+       jmp      SHORT G_M2075_IG52
+						;; size=17 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG49:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       vmovups  ymm1, ymmword ptr [r12+0x20]
+       vmovups  ymmword ptr [rsp+0x20], ymm1
+       mov      rdi, rbx
+       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       call     [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M2075_IG50
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [r12+0x08]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       test     eax, eax
+       je       SHORT G_M2075_IG51
+						;; size=77 bbWeight=0.50 PerfScore 13.75
+G_M2075_IG50:
+       mov      r12d, 1
+       jmp      SHORT G_M2075_IG52
+						;; size=8 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG51:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       vmovups  ymmword ptr [rsp], ymm0
+       mov      rdi, gword ptr [r12+0x10]
+       mov      rsi, rbx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+       mov      r12d, eax
+						;; size=33 bbWeight=0.50 PerfScore 5.38
+G_M2075_IG52:
+       test     r12d, r12d
+       je       SHORT G_M2075_IG54
+						;; size=5 bbWeight=0.50 PerfScore 0.62
+G_M2075_IG53:
+       mov      r13d, 1
+       jmp      SHORT G_M2075_IG55
+						;; size=8 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG54:
        vmovups  ymm0, ymmword ptr [rbp+0x10]
        vmovups  ymmword ptr [rsp], ymm0
        mov      rdi, gword ptr [r14+0x10]
        mov      rsi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
        call     [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
-       test     eax, eax
-       je       SHORT G_M2075_IG08
-						;; size=165 bbWeight=0.50 PerfScore 29.00
-G_M2075_IG06:
+       mov      r13d, eax
+						;; size=32 bbWeight=0.50 PerfScore 5.38
+G_M2075_IG55:
+       test     r13d, r13d
+       je       SHORT G_M2075_IG58
+						;; size=5 bbWeight=0.50 PerfScore 0.62
+G_M2075_IG56:
        mov      eax, 1
 						;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M2075_IG07:
+G_M2075_IG57:
        vzeroupper 
-       add      rsp, 72
+       add      rsp, 120
        pop      rbx
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=14 bbWeight=0.50 PerfScore 2.12
-G_M2075_IG08:
+						;; size=18 bbWeight=0.50 PerfScore 2.62
+G_M2075_IG58:
        vmovups  ymm0, ymmword ptr [rbp+0x10]
        vmovups  ymmword ptr [rbp+0x10], ymm0
        mov      rdi, gword ptr [r15+0x10]
        mov      rsi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
 						;; size=27 bbWeight=0.50 PerfScore 3.75
-G_M2075_IG09:
+G_M2075_IG59:
        vzeroupper 
-       add      rsp, 72
+       add      rsp, 120
        pop      rbx
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
-						;; size=16 bbWeight=0.50 PerfScore 2.62
+						;; size=20 bbWeight=0.50 PerfScore 3.12
 
-; Total bytes of code 276, prolog size 15, PerfScore 53.12, instruction count 76, allocated bytes for code 276 (MethodHash=5fe0f7e4) for method System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte (FullOpts)
+; Total bytes of code 2689, prolog size 22, PerfScore 476.12, instruction count 610, allocated bytes for code 2689 (MethodHash=5fe0f7e4) for method System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte (FullOpts)
 ; ============================================================

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

Larger list of diffs: https://gist.github.com/MihuBot/69955046673fa8f74768437359c64957

@MihuBot
Copy link
Owner Author

MihuBot commented Feb 9, 2025

Top method improvements

-53 (-2.05 % of base) - MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0+<g__TestRemoteServer|0>d:MoveNext():this
 ; Assembly listing for method MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0+<<MonitorRuntimeTestServiceAsync>g__TestRemoteServer|0>d:MoveNext():this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 49 single block inlinees; 35 inlinees without PGO data
+; 0 inlinees with PGO data; 51 single block inlinees; 36 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 38, 33   )   byref  ->  [rbp-0x98]  this EH-live single-def
-;  V01 loc0         [V01,T09] ( 10, 10   )     int  ->  [rbp-0x24]  do-not-enreg[M] EH-live
+;  V00 this         [V00,T01] ( 37, 32   )   byref  ->  [rbp-0x98]  this EH-live single-def
+;  V01 loc0         [V01,T10] (  9,  9   )     int  ->  [rbp-0x24]  do-not-enreg[M] EH-live
 ;  V02 loc1         [V02,T29] (  4,  4   )     ref  ->  rbx         class-hnd exact single-def <MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0>
-;  V03 loc2         [V03,T67] (  2,  2   )     ref  ->  r15         class-hnd exact single-def <System.String>
+;  V03 loc2         [V03,T66] (  2,  2   )     ref  ->  r15         class-hnd exact single-def <System.String>
 ;* V04 loc3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;  V05 loc4         [V05    ] (  7,  7   )  struct ( 8) [rbp-0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.TaskAwaiter`1[System.String]>
 ;  V06 loc5         [V06    ] ( 34, 34   )  struct (40) [rbp-0x58]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;* V07 loc6         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Exception>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V09 tmp1         [V09    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;  V10 tmp2         [V10    ] (  2,  4   )  struct (40) [rbp-0x80]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;  V11 tmp3         [V11,T18] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <MihuBot.Logger>
 ;  V12 tmp4         [V12,T11] (  4,  8   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Net.Security.RemoteCertificateValidationCallback>
 ;  V13 tmp5         [V13,T32] (  2,  4   )     ref  ->  r14         class-hnd single-def "impAppendStmt" <System.Net.Security.SslClientAuthenticationOptions>
 ;  V14 tmp6         [V14,T33] (  2,  4   )     ref  ->  rsi         class-hnd exact single-def "impAppendStmt" <System.Net.Http.SocketsHttpHandler>
 ;* V15 tmp7         [V15    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.TimeSpan>
-;  V16 tmp8         [V16,T05] (  6, 12   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Net.Http.HttpClient>
+;  V16 tmp8         [V16,T04] (  6, 12   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Net.Http.HttpClient>
 ;* V17 tmp9         [V17    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.TimeSpan>
 ;  V18 tmp10        [V18,T34] (  2,  4   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_1>
 ;  V19 tmp11        [V19,T12] (  4,  8   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Net.Http.SocketsHttpHandler>
-;  V20 tmp12        [V20,T79] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
+;  V20 tmp12        [V20,T78] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
 ;  V21 tmp13        [V21,T19] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Net.Http.HttpConnectionSettings>
 ;  V22 tmp14        [V22,T20] (  3,  6   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_1>
 ;* V23 tmp15        [V23    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.TimeSpan>
 ;* V24 tmp16        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Http.SocketsHttpHandler>
 ;  V25 tmp17        [V25,T21] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.Version>
 ;* V26 tmp18        [V26    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.TimeSpan>
-;  V27 tmp19        [V27,T10] (  5, 10   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Net.Http.HttpClient>
+;  V27 tmp19        [V27,T07] (  5, 10   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Net.Http.HttpClient>
 ;  V28 tmp20        [V28,T35] (  2,  4   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V29 tmp21        [V29,T36] (  2,  4   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Uri>
 ;* V30 tmp22        [V30    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Threading.CancellationToken>
 ;* V31 tmp23        [V31    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
 ;  V32 tmp24        [V32,T54] (  3,  3   )     ref  ->  rax         class-hnd single-def "Inline return value spill temp" <System.Threading.Tasks.Task`1[System.String]>
 ;  V33 tmp25        [V33,T55] (  3,  3   )     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <System.Net.Http.HttpRequestMessage>
 ;* V34 tmp26        [V34    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TaskAwaiter`1[System.String]>
 ;  V35 tmp27        [V35,T37] (  2,  4   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.__Canon]>
 ;* V36 tmp28        [V36    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V37 tmp29        [V37    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V38 tmp30        [V38    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V39 tmp31        [V39    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
 ;  V40 tmp32        [V40,T22] (  3,  6   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.__Canon]>
 ;  V41 tmp33        [V41,T38] (  2,  4   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.__Canon]>
 ;* V42 tmp34        [V42    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V43 tmp35        [V43,T14] (  4,  8   )     int  ->  rdi         "Inlining Arg"
 ;* V44 tmp36        [V44    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V45 tmp37        [V45,T39] (  2,  4   )   byref  ->  r13         single-def "Inlining Arg"
 ;  V46 tmp38        [V46,T48] (  2,  4   )     int  ->  rsi         "Inlining Arg"
-;* V47 tmp39        [V47,T72] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V47 tmp39        [V47,T71] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V48 tmp40        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V49 tmp41        [V49    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V50 tmp42        [V50    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V51 tmp43        [V51    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V52 tmp44        [V52,T15] (  4,  8   )     int  ->  rdi         "Inlining Arg"
 ;* V53 tmp45        [V53    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V54 tmp46        [V54,T40] (  2,  4   )   byref  ->  rbx         single-def "Inlining Arg"
 ;  V55 tmp47        [V55,T49] (  2,  4   )     int  ->  rsi         "Inlining Arg"
-;* V56 tmp48        [V56,T73] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V56 tmp48        [V56,T72] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V57 tmp49        [V57    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V58 tmp50        [V58    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V59 tmp51        [V59    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V60 tmp52        [V60    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V61 tmp53        [V61,T16] (  4,  8   )     int  ->  rdi         "Inlining Arg"
 ;* V62 tmp54        [V62    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V63 tmp55        [V63,T41] (  2,  4   )   byref  ->  rbx         single-def "Inlining Arg"
 ;  V64 tmp56        [V64,T50] (  2,  4   )     int  ->  rsi         "Inlining Arg"
-;* V65 tmp57        [V65,T74] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V65 tmp57        [V65,T73] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V66 tmp58        [V66    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V67 tmp59        [V67    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V68 tmp60        [V68    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V69 tmp61        [V69    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V70 tmp62        [V70,T17] (  4,  8   )     int  ->  rdi         "Inlining Arg"
 ;* V71 tmp63        [V71    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V72 tmp64        [V72,T42] (  2,  4   )   byref  ->  rbx         single-def "Inlining Arg"
 ;  V73 tmp65        [V73,T51] (  2,  4   )     int  ->  rsi         "Inlining Arg"
-;* V74 tmp66        [V74,T75] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V74 tmp66        [V74,T74] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V75 tmp67        [V75    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V76 tmp68        [V76    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V77 tmp69        [V77    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V78 tmp70        [V78,T43] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V79 tmp71        [V79    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V80 tmp72        [V80    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V81 tmp73        [V81    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.DateTime>
 ;* V82 tmp74        [V82    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.DateTimeOffset>
 ;* V83 tmp75        [V83    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V84 tmp76        [V84    ] (  0,  0   )     int  ->  zero-ref   
 ;* V85 tmp77        [V85    ] (  0,  0   )    long  ->  zero-ref   
 ;* V86 tmp78        [V86    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.DateTimeOffset>
 ;* V87 tmp79        [V87    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.DateTime>
 ;* V88 tmp80        [V88    ] (  0,  0   )  struct ( 8) zero-ref    "Inline stloc first use temp" <System.TimeSpan>
 ;  V89 tmp81        [V89,T24] (  3,  6   )     int  ->  rdi         "dup spill"
 ;* V90 tmp82        [V90    ] (  0,  0   )  struct ( 8) zero-ref    multireg-ret single-def "Inline return value spill temp" <System.TimeSpan>
 ;  V91 tmp83        [V91,T30] (  4,  4   )     ref  ->  r13         class-hnd exact single-def "Inline stloc first use temp" <System.TimeZoneInfo+CachedData>
 ;* V92 tmp84        [V92    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.DateTime>
 ;  V93 tmp85        [V93,T44] (  2,  4   )     ref  ->  rdi         class-hnd exact single-def "dup spill" <System.TimeZoneInfo>
 ;  V94 tmp86        [V94,T31] (  4,  4   )     ref  ->  rdi        
 ;* V95 tmp87        [V95    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.DateTime>
 ;* V96 tmp88        [V96    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.DateTime>
 ;* V97 tmp89        [V97    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V98 tmp90        [V98    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.DateTimeOffset>
 ;  V99 tmp91        [V99,T45] (  2,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <MihuBot.DB.LogDbEntry>
 ;* V100 tmp92       [V100    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Channels.Channel`1[MihuBot.DB.LogDbEntry]>
-;  V101 tmp93       [V101,T03] ( 10, 20   )     ref  ->  rbx         class-hnd exact "Inlining Arg" <System.Net.Http.SocketsHttpHandler>
-;  V102 tmp94       [V102,T06] (  6, 12   )     ref  ->  rax         class-hnd "dup spill" <System.Net.Http.HttpMessageHandlerStage>
-;* V103 tmp95       [V103    ] (  0,  0   )     ref  ->  zero-ref   
+;  V101 tmp93       [V101,T08] (  5, 10   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Net.Http.SocketsHttpHandler>
+;  V102 tmp94       [V102,T09] (  5, 10   )     ref  ->  r15         class-hnd single-def "dup spill" <System.Net.Http.HttpMessageHandlerStage>
+;* V103 tmp95       [V103    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V104 tmp96       [V104,T13] (  4,  8   )   byref  ->  rdi         single-def "Inlining Arg"
 ;* V105 tmp97       [V105    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
-;  V106 tmp98       [V106,T04] ( 10, 20   )     ref  ->  rbx         class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
+;  V106 tmp98       [V106,T03] ( 10, 20   )     ref  ->  rbx         class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
 ;  V107 tmp99       [V107,T52] (  2,  4   )  struct ( 8) r15         "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
-;  V108 tmp100      [V108,T07] (  6, 12   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
+;  V108 tmp100      [V108,T05] (  6, 12   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
 ;* V109 tmp101      [V109    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
 ;  V110 tmp102      [V110,T53] (  2,  4   )     int  ->  r13         "Inlining Arg"
 ;* V111 tmp103      [V111    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V112 tmp104      [V112    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V113 tmp105      [V113,T76] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V113 tmp105      [V113,T75] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;  V114 tmp106      [V114,T56] (  3,  3   )     ref  ->  r15         class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
-;  V115 tmp107      [V115,T69] (  2,  2   )   ubyte  ->  rdi         "Inline return value spill temp"
+;  V115 tmp107      [V115,T68] (  2,  2   )   ubyte  ->  rdi         "Inline return value spill temp"
 ;  V116 tmp108      [V116,T27] (  5,  5   )     int  ->  [rbp-0x84]  spill-single-def "Inline stloc first use temp"
-;  V117 tmp109      [V117,T63] (  3,  3   )   ubyte  ->  rdi         "Inline return value spill temp"
+;  V117 tmp109      [V117,T62] (  3,  3   )   ubyte  ->  rdi         "Inline return value spill temp"
 ;  V118 tmp110      [V118,T00] (  6, 41   )     int  ->  [rbp-0x88]  "Inline stloc first use temp"
 ;  V119 tmp111      [V119,T02] (  3, 24   )     int  ->  rax         "Inline stloc first use temp"
 ;  V120 tmp112      [V120,T57] (  3,  3   )     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
 ;  V121 tmp113      [V121    ] (  7,  7   )     ref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V05.m_task (fldOffset=0x0)" P-DEP
 ;* V122 tmp114      [V122    ] (  0,  0   )    long  ->  zero-ref    "field V15._ticks (fldOffset=0x0)" P-INDEP
 ;* V123 tmp115      [V123    ] (  0,  0   )    long  ->  zero-ref    "field V17._ticks (fldOffset=0x0)" P-INDEP
-;* V124 tmp116      [V124,T77] (  0,  0   )    long  ->  zero-ref    single-def "field V23._ticks (fldOffset=0x0)" P-INDEP
-;* V125 tmp117      [V125,T78] (  0,  0   )    long  ->  zero-ref    single-def "field V26._ticks (fldOffset=0x0)" P-INDEP
-;* V126 tmp118      [V126,T71] (  0,  0   )     ref  ->  zero-ref    single-def "field V30._source (fldOffset=0x0)" P-INDEP
+;* V124 tmp116      [V124,T76] (  0,  0   )    long  ->  zero-ref    single-def "field V23._ticks (fldOffset=0x0)" P-INDEP
+;* V125 tmp117      [V125,T77] (  0,  0   )    long  ->  zero-ref    single-def "field V26._ticks (fldOffset=0x0)" P-INDEP
+;* V126 tmp118      [V126,T70] (  0,  0   )     ref  ->  zero-ref    single-def "field V30._source (fldOffset=0x0)" P-INDEP
 ;* V127 tmp119      [V127    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V31._source (fldOffset=0x0)" P-INDEP
-;  V128 tmp120      [V128,T68] (  2,  2   )     ref  ->  rax         single-def "field V34.m_task (fldOffset=0x0)" P-INDEP
+;  V128 tmp120      [V128,T67] (  2,  2   )     ref  ->  rax         single-def "field V34.m_task (fldOffset=0x0)" P-INDEP
 ;* V129 tmp121      [V129    ] (  0,  0   )   byref  ->  zero-ref    "field V42._reference (fldOffset=0x0)" P-INDEP
 ;* V130 tmp122      [V130    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
 ;* V131 tmp123      [V131    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V44._reference (fldOffset=0x0)" P-INDEP
 ;* V132 tmp124      [V132    ] (  0,  0   )     int  ->  zero-ref    single-def "field V44._length (fldOffset=0x8)" P-INDEP
 ;* V133 tmp125      [V133    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V134 tmp126      [V134    ] (  0,  0   )     int  ->  zero-ref    single-def "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V135 tmp127      [V135    ] (  0,  0   )   byref  ->  zero-ref    "field V51._reference (fldOffset=0x0)" P-INDEP
 ;* V136 tmp128      [V136    ] (  0,  0   )     int  ->  zero-ref    "field V51._length (fldOffset=0x8)" P-INDEP
 ;* V137 tmp129      [V137    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V53._reference (fldOffset=0x0)" P-INDEP
 ;* V138 tmp130      [V138    ] (  0,  0   )     int  ->  zero-ref    single-def "field V53._length (fldOffset=0x8)" P-INDEP
 ;* V139 tmp131      [V139    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V57._reference (fldOffset=0x0)" P-INDEP
 ;* V140 tmp132      [V140    ] (  0,  0   )     int  ->  zero-ref    single-def "field V57._length (fldOffset=0x8)" P-INDEP
 ;* V141 tmp133      [V141    ] (  0,  0   )   byref  ->  zero-ref    "field V60._reference (fldOffset=0x0)" P-INDEP
 ;* V142 tmp134      [V142    ] (  0,  0   )     int  ->  zero-ref    "field V60._length (fldOffset=0x8)" P-INDEP
 ;* V143 tmp135      [V143    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V62._reference (fldOffset=0x0)" P-INDEP
 ;* V144 tmp136      [V144    ] (  0,  0   )     int  ->  zero-ref    single-def "field V62._length (fldOffset=0x8)" P-INDEP
 ;* V145 tmp137      [V145    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V66._reference (fldOffset=0x0)" P-INDEP
 ;* V146 tmp138      [V146    ] (  0,  0   )     int  ->  zero-ref    single-def "field V66._length (fldOffset=0x8)" P-INDEP
 ;* V147 tmp139      [V147    ] (  0,  0   )   byref  ->  zero-ref    "field V69._reference (fldOffset=0x0)" P-INDEP
 ;* V148 tmp140      [V148    ] (  0,  0   )     int  ->  zero-ref    "field V69._length (fldOffset=0x8)" P-INDEP
 ;* V149 tmp141      [V149    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V71._reference (fldOffset=0x0)" P-INDEP
 ;* V150 tmp142      [V150    ] (  0,  0   )     int  ->  zero-ref    single-def "field V71._length (fldOffset=0x8)" P-INDEP
 ;* V151 tmp143      [V151    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V75._reference (fldOffset=0x0)" P-INDEP
 ;* V152 tmp144      [V152    ] (  0,  0   )     int  ->  zero-ref    single-def "field V75._length (fldOffset=0x8)" P-INDEP
 ;  V153 tmp145      [V153,T28] (  5,  5   )    long  ->  r15         "field V81._dateData (fldOffset=0x0)" P-INDEP
 ;* V154 tmp146      [V154    ] (  0,  0   )     int  ->  zero-ref    "field V82._offsetMinutes (fldOffset=0x0)" P-INDEP
 ;* V155 tmp147      [V155    ] (  0,  0   )    long  ->  zero-ref    "field V82._dateTime (fldOffset=0x8)" P-INDEP
 ;* V156 tmp148      [V156    ] (  0,  0   )     int  ->  zero-ref    "field V86._offsetMinutes (fldOffset=0x0)" P-INDEP
-;  V157 tmp149      [V157,T64] (  3,  3   )    long  ->  [rbp-0x90]  do-not-enreg[F] "field V86._dateTime (fldOffset=0x8)" P-INDEP
+;  V157 tmp149      [V157,T63] (  3,  3   )    long  ->  [rbp-0x90]  do-not-enreg[F] "field V86._dateTime (fldOffset=0x8)" P-INDEP
 ;* V158 tmp150      [V158    ] (  0,  0   )    long  ->  zero-ref    single-def "field V87._dateData (fldOffset=0x0)" P-INDEP
 ;* V159 tmp151      [V159    ] (  0,  0   )    long  ->  zero-ref    single-def "field V88._ticks (fldOffset=0x0)" P-INDEP
-;  V160 tmp152      [V160,T65] (  3,  3   )    long  ->  r13         "field V90._ticks (fldOffset=0x0)" P-INDEP
+;  V160 tmp152      [V160,T64] (  3,  3   )    long  ->  r13         "field V90._ticks (fldOffset=0x0)" P-INDEP
 ;* V161 tmp153      [V161    ] (  0,  0   )    long  ->  zero-ref    single-def "field V92._dateData (fldOffset=0x0)" P-INDEP
 ;* V162 tmp154      [V162    ] (  0,  0   )    long  ->  zero-ref    single-def "field V95._dateData (fldOffset=0x0)" P-INDEP
-;  V163 tmp155      [V163,T70] (  2,  2   )    long  ->  rdi         single-def "field V96._dateData (fldOffset=0x0)" P-INDEP
+;  V163 tmp155      [V163,T69] (  2,  2   )    long  ->  rdi         single-def "field V96._dateData (fldOffset=0x0)" P-INDEP
 ;* V164 tmp156      [V164    ] (  0,  0   )     int  ->  zero-ref    "field V98._offsetMinutes (fldOffset=0x0)" P-INDEP
 ;* V165 tmp157      [V165    ] (  0,  0   )    long  ->  zero-ref    single-def "field V98._dateTime (fldOffset=0x8)" P-INDEP
 ;  V166 tmp158      [V166,T46] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V167 tmp159      [V167,T25] (  3,  6   )     int  ->  rsi         "fgMakeTemp is creating a new local variable"
 ;  V168 tmp160      [V168,T23] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V169 tmp161      [V169,T47] (  2,  4   )     ref  ->  rdx         single-def "argument with side effect"
-;  V170 cse0        [V170,T58] (  3,  3   )     ref  ->  r14         "CSE #19: conservative"
-;  V171 cse1        [V171,T66] (  3,  3   )     int  ->  rsi         "CSE #20: conservative"
+;  V170 cse0        [V170,T58] (  3,  3   )     ref  ->  r14         "CSE #18: conservative"
+;  V171 cse1        [V171,T65] (  3,  3   )     int  ->  rsi         "CSE #19: conservative"
 ;  V172 cse2        [V172,T59] (  3,  3   )     ref  ->  r11         "CSE #09: conservative"
 ;  V173 cse3        [V173,T60] (  3,  3   )     ref  ->  r11         "CSE #10: conservative"
 ;  V174 cse4        [V174,T61] (  3,  3   )     ref  ->  rbx         "CSE #11: conservative"
-;  V175 cse5        [V175,T62] (  3,  3   )     ref  ->  rbx         "CSE #12: conservative"
-;  V176 cse6        [V176,T08] (  4, 11   )   byref  ->  r14         "CSE #21: moderate"
-;  V177 rat0        [V177    ] (  1,  1   )    long  ->  [rbp-0xA0]  do-not-enreg[V] "PSPSym"
-;  V178 rat1        [V178,T26] (  3,  6   )     int  ->  rdx         "ReplaceWithLclVar is creating a new local variable"
+;  V175 cse5        [V175,T06] (  4, 11   )   byref  ->  r14         "CSE #20: moderate"
+;  V176 rat0        [V176    ] (  1,  1   )    long  ->  [rbp-0xA0]  do-not-enreg[V] "PSPSym"
+;  V177 rat1        [V177,T26] (  3,  6   )     int  ->  rdx         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 144
 
 G_M53441_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        sub      rsp, 144
        lea      rbp, [rsp+0xB0]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu32 zmmword ptr [rbp-0x80], zmm8
        vmovdqa  xmmword ptr [rbp-0x40], xmm8
        xor      eax, eax
        mov      qword ptr [rbp-0x30], rax
        mov      qword ptr [rbp-0xA0], rsp
        mov      bword ptr [rbp-0x98], rdi
 						;; size=60 bbWeight=1 PerfScore 13.33
 G_M53441_IG02:
        mov      eax, dword ptr [rdi+0x30]
        mov      dword ptr [rbp-0x24], eax
        mov      rbx, gword ptr [rdi+0x10]
 						;; size=10 bbWeight=1 PerfScore 5.00
 G_M53441_IG03:
        cmp      dword ptr [rbp-0x24], 0
        je       G_M53441_IG04
        mov      rdi, 0xD1FFAB1E      ; MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_1
        call     CORINFO_HELP_NEWSFAST
        mov      rdi, bword ptr [rbp-0x98]
        lea      rdi, bword ptr [rdi+0x18]
        mov      rsi, rax
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        mov      rdi, bword ptr [rbp-0x98]
        mov      rax, gword ptr [rdi+0x18]
        xor      rcx, rcx
        mov      gword ptr [rax+0x08], rcx
        mov      rdi, 0xD1FFAB1E      ; System.Net.Http.SocketsHttpHandler
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      rdi, 0xD1FFAB1E      ; System.Net.Http.HttpConnectionSettings
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpConnectionSettings:.ctor():this
        call     [rax]System.Net.Http.HttpConnectionSettings:.ctor():this
        lea      rdi, bword ptr [r15+0x08]
        mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpMessageHandler:.ctor():this
        call     [rax]System.Net.Http.HttpMessageHandler:.ctor():this
        mov      rdi, bword ptr [rbp-0x98]
        lea      rdi, bword ptr [rdi+0x20]
        mov      rsi, r15
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        nop      
 						;; size=159 bbWeight=1 PerfScore 26.00
 G_M53441_IG04:
        cmp      dword ptr [rbp-0x24], 0
        je       G_M53441_IG08
        mov      rdi, 0xD1FFAB1E      ; System.Net.Security.RemoteCertificateValidationCallback
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      rdi, bword ptr [rbp-0x98]
        mov      rdi, gword ptr [rdi+0x20]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.SocketsHttpHandler:get_SslOptions():System.Net.Security.SslClientAuthenticationOptions:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Http.SocketsHttpHandler:get_SslOptions():System.Net.Security.SslClientAuthenticationOptions:this
        mov      r14, rax
        mov      rdi, bword ptr [rbp-0x98]
        mov      rsi, gword ptr [rdi+0x18]
        test     rsi, rsi
        je       G_M53441_IG07
        lea      rdi, bword ptr [r15+0x08]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_1:<MonitorRuntimeTestServiceAsync>b__1(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,int):ubyte:this
        mov      qword ptr [r15+0x18], rdi
        lea      rdi, bword ptr [r14+0x10]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, bword ptr [rbp-0x98]
        mov      rsi, gword ptr [rdi+0x20]
        mov      rdi, rsi
        mov      esi, 0xD1FFAB1E
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.SocketsHttpHandler:set_ConnectTimeout(System.TimeSpan):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Http.SocketsHttpHandler:set_ConnectTimeout(System.TimeSpan):this
        mov      rdi, 0xD1FFAB1E      ; System.Net.Http.HttpClient
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      rdi, bword ptr [rbp-0x98]
        mov      rsi, gword ptr [rdi+0x20]
        mov      rdi, r15
        mov      edx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpClient:.ctor(System.Net.Http.HttpMessageHandler,ubyte):this
        call     [rax]System.Net.Http.HttpClient:.ctor(System.Net.Http.HttpMessageHandler,ubyte):this
        mov      rdi, bword ptr [rbp-0x98]
        mov      r14, gword ptr [rdi]
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpClient:CheckDisposedOrStarted():this
        call     [rax]System.Net.Http.HttpClient:CheckDisposedOrStarted():this
 						;; size=218 bbWeight=1 PerfScore 47.25
 G_M53441_IG05:
        test     r14, r14
        je       SHORT G_M53441_IG06
        lea      rdi, bword ptr [r15+0x28]
        mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, r15
        mov      esi, 0xD1FFAB1E
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpClient:set_Timeout(System.TimeSpan):this
        call     [rax]System.Net.Http.HttpClient:set_Timeout(System.TimeSpan):this
        mov      rdi, bword ptr [rbp-0x98]
        lea      rdi, bword ptr [rdi+0x28]
        mov      rsi, r15
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        jmp      SHORT G_M53441_IG08
 						;; size=58 bbWeight=1 PerfScore 11.50
 G_M53441_IG06:
        mov      edi, 0x1EB1
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
        call     [rax]System.ArgumentNullException:Throw(System.String)
        int3     
 						;; size=36 bbWeight=1 PerfScore 5.25
 G_M53441_IG07:
        mov      rax, 0xD1FFAB1E      ; code for System.MulticastDelegate:ThrowNullThisInDelegateToInstance()
        call     [rax]System.MulticastDelegate:ThrowNullThisInDelegateToInstance()
        int3     
 						;; size=13 bbWeight=1 PerfScore 3.50
 G_M53441_IG08:
        cmp      dword ptr [rbp-0x24], 0
        jne      G_M53441_IG14
        mov      rdi, bword ptr [rbp-0x98]
        mov      rax, gword ptr [rdi+0x40]
        mov      gword ptr [rbp-0x30], rax
        xor      eax, eax
        mov      qword ptr [rdi+0x40], rax
        mov      dword ptr [rbp-0x24], -1
        mov      dword ptr [rdi+0x30], -1
 						;; size=45 bbWeight=1 PerfScore 10.25
 G_M53441_IG09:
        mov      rsi, gword ptr [rbp-0x30]
        mov      eax, dword ptr [rsi+0x34]
        and      eax, 0xD1FFAB1E
        cmp      eax, 0xD1FFAB1E
        je       SHORT G_M53441_IG10
        mov      rdi, rsi
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
        call     [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
        mov      rdi, bword ptr [rbp-0x98]
 						;; size=43 bbWeight=1 PerfScore 9.25
 G_M53441_IG10:
        mov      rax, gword ptr [rbp-0x30]
        mov      r15, gword ptr [rax+0x38]
        mov      esi, dword ptr [rbx+0x10]
        mov      edx, 0xD1FFAB1E
        mov      eax, edx
        imul     edx:eax, esi
        mov      eax, edx
        shr      eax, 31
        sar      edx, 2
        add      edx, eax
        lea      edx, [rdx+4*rdx]
        add      edx, edx
        sub      esi, edx
        jne      G_M53441_IG30
        mov      rsi, gword ptr [rbx+0x08]
        mov      r14, gword ptr [rsi+0x18]
        lea      rdi, [rbp-0x80]
        mov      esi, 6
        mov      edx, 4
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
 						;; size=77 bbWeight=1 PerfScore 20.25
 G_M53441_IG11:
        vmovdqu  ymm0, ymmword ptr [rbp-0x80]
        vmovdqu  ymmword ptr [rbp-0x58], ymm0
        mov      rdi, qword ptr [rbp-0x60]
        mov      qword ptr [rbp-0x38], rdi
 						;; size=18 bbWeight=1 PerfScore 7.00
 G_M53441_IG12:
        mov      edi, dword ptr [rbp-0x48]
        cmp      edi, dword ptr [rbp-0x38]
        jbe      G_M53441_IG17
 						;; size=12 bbWeight=1 PerfScore 4.00
 G_M53441_IG13:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=1 PerfScore 3.50
 G_M53441_IG14:
        mov      rdi, bword ptr [rbp-0x98]
        mov      r15, gword ptr [rdi+0x28]
        mov      rax, gword ptr [rdi+0x08]
        cmp      byte  ptr [r15], r15b
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpClient:CreateUri(System.String):System.Uri
        call     [rax]System.Net.Http.HttpClient:CreateUri(System.String):System.Uri
        mov      r14, rax
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M53441_IG29
 						;; size=55 bbWeight=1 PerfScore 16.00
 G_M53441_IG15:
        mov      rsi, 0xD1FFAB1E      ; data for System.Net.Http.HttpMethod:<Get>k__BackingField
        mov      rsi, gword ptr [rsi]
        mov      rdi, r15
        mov      rdx, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpClient:CreateRequestMessage(System.Net.Http.HttpMethod,System.Uri):System.Net.Http.HttpRequestMessage:this
        call     [rax]System.Net.Http.HttpClient:CreateRequestMessage(System.Net.Http.HttpMethod,System.Uri):System.Net.Http.HttpRequestMessage:this
        mov      r14, rax
        mov      rdi, r15
        mov      rsi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpClient:CheckRequestBeforeSend(System.Net.Http.HttpRequestMessage):this
        call     [rax]System.Net.Http.HttpClient:CheckRequestBeforeSend(System.Net.Http.HttpRequestMessage):this
        mov      rdi, r15
        mov      rsi, r14
        xor      rdx, rdx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpClient:GetStringAsyncCore(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.String]:this
        call     [rax]System.Net.Http.HttpClient:GetStringAsyncCore(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.String]:this
        cmp      byte  ptr [rax], al
        mov      gword ptr [rbp-0x30], rax
        mov      rdi, gword ptr [rbp-0x30]
        test     dword ptr [rdi+0x34], 0xD1FFAB1E
        mov      rdi, bword ptr [rbp-0x98]
        jne      G_M53441_IG09
        xor      esi, esi
        mov      dword ptr [rbp-0x24], esi
 						;; size=107 bbWeight=1 PerfScore 25.25
 G_M53441_IG16:
        mov      dword ptr [rdi+0x30], esi
        lea      rdi, bword ptr [rdi+0x40]
        mov      rsi, gword ptr [rbp-0x30]
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        mov      rdi, bword ptr [rbp-0x98]
        lea      rsi, bword ptr [rdi+0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0+<<MonitorRuntimeTestServiceAsync>g__TestRemoteServer|0>d](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0+<<MonitorRuntimeTestServiceAsync>g__TestRemoteServer|0>d](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
        mov      rdx, rax
        lea      rsi, [rbp-0x30]
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.TaskAwaiter`1[System.String]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
        jmp      G_M53441_IG31
 						;; size=73 bbWeight=1 PerfScore 14.50
 G_M53441_IG17:
        mov      rsi, bword ptr [rbp-0x40]
        mov      eax, edi
        lea      r13, bword ptr [rsi+2*rax]
        mov      esi, dword ptr [rbp-0x38]
        sub      esi, edi
        jne      SHORT G_M53441_IG18
        lea      rdi, [rbp-0x58]
        mov      rsi, 0xD1FFAB1E      ; '['
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
        jmp      SHORT G_M53441_IG19
 						;; size=45 bbWeight=1 PerfScore 10.00
 G_M53441_IG18:
        mov      word  ptr [r13], 91
        mov      esi, dword ptr [rbp-0x48]
        inc      esi
        mov      dword ptr [rbp-0x48], esi
 						;; size=15 bbWeight=1 PerfScore 3.25
 G_M53441_IG19:
        mov      esi, dword ptr [rbx+0x10]
        lea      rdi, [rbp-0x58]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
        mov      edi, dword ptr [rbp-0x48]
        cmp      edi, dword ptr [rbp-0x38]
        ja       G_M53441_IG13
        mov      rsi, bword ptr [rbp-0x40]
        mov      eax, edi
        lea      rbx, bword ptr [rsi+2*rax]
        mov      esi, dword ptr [rbp-0x38]
        sub      esi, edi
        cmp      esi, 2
        jae      SHORT G_M53441_IG20
        lea      rdi, [rbp-0x58]
        mov      rsi, 0xD1FFAB1E      ; '] '
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
        jmp      SHORT G_M53441_IG21
 						;; size=79 bbWeight=1 PerfScore 20.00
 G_M53441_IG20:
        mov      dword ptr [rbx], 0xD1FFAB1E
        mov      esi, dword ptr [rbp-0x48]
        add      esi, 2
        mov      dword ptr [rbp-0x48], esi
 						;; size=15 bbWeight=1 PerfScore 3.25
 G_M53441_IG21:
        mov      rdi, bword ptr [rbp-0x98]
        mov      rsi, gword ptr [rdi+0x08]
        lea      rdi, [rbp-0x58]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
        mov      edi, dword ptr [rbp-0x48]
        cmp      edi, dword ptr [rbp-0x38]
        ja       G_M53441_IG13
        mov      rsi, bword ptr [rbp-0x40]
        mov      eax, edi
        lea      rbx, bword ptr [rsi+2*rax]
        mov      esi, dword ptr [rbp-0x38]
        sub      esi, edi
        cmp      esi, 2
        jae      SHORT G_M53441_IG22
        lea      rdi, [rbp-0x58]
        mov      rsi, 0xD1FFAB1E      ; ': '
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
        jmp      SHORT G_M53441_IG23
 						;; size=87 bbWeight=1 PerfScore 21.00
 G_M53441_IG22:
        mov      dword ptr [rbx], 0xD1FFAB1E
        mov      edi, dword ptr [rbp-0x48]
        add      edi, 2
        mov      dword ptr [rbp-0x48], edi
 						;; size=15 bbWeight=1 PerfScore 3.25
 G_M53441_IG23:
        lea      rdi, [rbp-0x58]
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
        mov      edi, dword ptr [rbp-0x48]
        cmp      edi, dword ptr [rbp-0x38]
        ja       G_M53441_IG13
        mov      rsi, bword ptr [rbp-0x40]
        mov      eax, edi
        lea      rbx, bword ptr [rsi+2*rax]
        mov      esi, dword ptr [rbp-0x38]
        sub      esi, edi
        jne      SHORT G_M53441_IG24
        lea      rdi, [rbp-0x58]
        mov      rsi, 0xD1FFAB1E      ; ' '
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
        jmp      SHORT G_M53441_IG25
 						;; size=76 bbWeight=1 PerfScore 18.00
 G_M53441_IG24:
        mov      word  ptr [rbx], 10
        mov      esi, dword ptr [rbp-0x48]
        inc      esi
        mov      dword ptr [rbp-0x48], esi
 						;; size=13 bbWeight=1 PerfScore 3.25
 G_M53441_IG25:
        mov      rdi, bword ptr [rbp-0x98]
        mov      rsi, gword ptr [rdi+0x18]
        mov      rsi, gword ptr [rsi+0x08]
        lea      rdi, [rbp-0x58]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
        lea      rdi, [rbp-0x58]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        mov      rbx, rax
        cmp      byte  ptr [r14], r14b
        mov      rax, 0xD1FFAB1E      ; code for System.DateTime:get_UtcNow():System.DateTime
        call     [rax]System.DateTime:get_UtcNow():System.DateTime
        mov      r15, rax
        mov      rdi, r15
        shr      rdi, 62
        mov      eax, edi
        shr      eax, 1
        andn     edi, eax, edi
        cmp      edi, 1
        jne      SHORT G_M53441_IG26
        mov      rdi, 0xD1FFAB1E
        and      rdi, r15
        mov      qword ptr [rbp-0x90], rdi
        jmp      SHORT G_M53441_IG28
 						;; size=111 bbWeight=1 PerfScore 26.00
 G_M53441_IG26:
        mov      rdi, 0xD1FFAB1E      ; data for System.TimeZoneInfo:s_cachedData
        mov      r13, gword ptr [rdi]
        mov      rdi, gword ptr [r13+0x08]
        test     rdi, rdi
        jne      SHORT G_M53441_IG27
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.TimeZoneInfo+CachedData:CreateLocal():System.TimeZoneInfo:this
        call     [rax]System.TimeZoneInfo+CachedData:CreateLocal():System.TimeZoneInfo:this
        mov      rdi, rax
 						;; size=40 bbWeight=1 PerfScore 9.25
 G_M53441_IG27:
        mov      rsi, r15
        mov      rcx, r13
        mov      edx, 2
        mov      rax, 0xD1FFAB1E      ; code for System.TimeZoneInfo:GetUtcOffset(System.DateTime,int,System.TimeZoneInfo+CachedData):System.TimeSpan:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.TimeZoneInfo:GetUtcOffset(System.DateTime,int,System.TimeZoneInfo+CachedData):System.TimeSpan:this
        mov      r13, rax
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.DateTimeOffset:ValidateOffset(System.TimeSpan):int
        call     [rax]System.DateTimeOffset:ValidateOffset(System.TimeSpan):int
        mov      rdi, r15
        mov      rsi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.DateTimeOffset:ValidateDate(System.DateTime,System.TimeSpan):System.DateTime
        call     [rax]System.DateTimeOffset:ValidateDate(System.DateTime,System.TimeSpan):System.DateTime
        mov      qword ptr [rbp-0x90], rax
 						;; size=68 bbWeight=1 PerfScore 15.50
 G_M53441_IG28:
        mov      gword ptr [rsp], rbx
        xor      rax, rax
        mov      gword ptr [rsp+0x08], rax
        mov      rdx, 0xD1FFAB1E
        mov      rax, rdx
        mul      rdx:rax, qword ptr [rbp-0x90]
        shr      rdx, 11
        mov      rdi, 0xD1FFAB1E
        add      rdx, rdi
        shl      rdx, 22
        mov      rdi, 0xD1FFAB1E      ; MihuBot.DB.LogDbEntry:Create[System.Object](int,ulong,ulong,ulong,ulong,System.String,System.Object):MihuBot.DB.LogDbEntry
        mov      esi, 5
        xor      ecx, ecx
        xor      r8d, r8d
        xor      r9d, r9d
        mov      rax, 0xD1FFAB1E      ; code for MihuBot.DB.LogDbEntry:Create[System.__Canon](int,ulong,ulong,ulong,ulong,System.String,System.__Canon):MihuBot.DB.LogDbEntry
        call     [rax]MihuBot.DB.LogDbEntry:Create[System.__Canon](int,ulong,ulong,ulong,ulong,System.String,System.__Canon):MihuBot.DB.LogDbEntry
        mov      rsi, rax
        mov      rdi, gword ptr [r14+0x20]
        mov      rdi, gword ptr [rdi+0x10]
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x28]System.Threading.Channels.ChannelWriter`1[System.__Canon]:TryWrite(System.__Canon):ubyte:this
        mov      rdi, bword ptr [rbp-0x98]
        jmp      SHORT G_M53441_IG30
 						;; size=117 bbWeight=1 PerfScore 28.00
 G_M53441_IG29:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Http.HttpMethod
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_GET_GCSTATIC_BASE
        call     [rax]CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M53441_IG15
        align    [0 bytes for IG42]
 						;; size=27 bbWeight=0 PerfScore 0.00
 G_M53441_IG30:
        cmp      dword ptr [rbp-0x24], 0
        jge      SHORT G_M53441_IG35
        mov      r11, gword ptr [rdi+0x28]
        test     r11, r11
        je       SHORT G_M53441_IG35
        mov      rdi, r11
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
        jmp      SHORT G_M53441_IG35
 						;; size=33 bbWeight=1 PerfScore 11.75
 G_M53441_IG31:
        mov      rdi, rsp
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M53441_IG32:
        call     G_M53441_IG55
        nop      
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M53441_IG33:
-       cmp      dword ptr [rbp-0x24], 0
-       jge      G_M53441_IG52
-       mov      rdi, bword ptr [rbp-0x98]
-       mov      rbx, gword ptr [rdi+0x20]
-       test     rbx, rbx
-       je       G_M53441_IG52
-       cmp      byte  ptr [rbx+0x20], 0
-       jne      SHORT G_M53441_IG34
-       mov      byte  ptr [rbx+0x20], 1
-       mov      rax, gword ptr [rbx+0x10]
-       test     rax, rax
-       je       SHORT G_M53441_IG34
-       mov      rdi, rax
-       mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpMessageHandler:Dispose():this
-       call     [rax]System.Net.Http.HttpMessageHandler:Dispose():this
-						;; size=64 bbWeight=1 PerfScore 19.00
+       mov      rdi, rsp
+						;; size=3 bbWeight=1 PerfScore 0.25
 G_M53441_IG34:
-       mov      rdi, rbx
-       call     System.GC:_SuppressFinalize(System.Object)
+       call     G_M53441_IG59
        jmp      G_M53441_IG52
-						;; size=13 bbWeight=1 PerfScore 3.25
+						;; size=10 bbWeight=1 PerfScore 3.00
 G_M53441_IG35:
        mov      rdi, bword ptr [rbp-0x98]
        mov      rdi, rsp
 						;; size=10 bbWeight=1 PerfScore 1.25
 G_M53441_IG36:
        call     G_M53441_IG59
        nop      
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M53441_IG37:
        mov      rdi, bword ptr [rbp-0x98]
        mov      dword ptr [rdi+0x30], -2
        xor      rax, rax
        mov      gword ptr [rdi+0x18], rax
 						;; size=20 bbWeight=1 PerfScore 3.25
 G_M53441_IG38:
        mov      gword ptr [rdi+0x20], rax
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M53441_IG39:
        mov      gword ptr [rdi+0x28], rax
        add      rdi, 56
        cmp      gword ptr [rdi], 0
        je       G_M53441_IG51
        mov      rbx, gword ptr [rdi]
        xor      r15d, r15d
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M53441_IG54
 						;; size=43 bbWeight=1 PerfScore 11.75
 G_M53441_IG40:
        mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.TplEventSource:Log
        mov      r14, gword ptr [rdi]
        cmp      byte  ptr [r14+0x9D], 0
        je       SHORT G_M53441_IG41
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.Task:get_Id():int:this
        mov      r13d, eax
        movzx    rsi, byte  ptr [r14+0x9D]
        test     esi, esi
        je       SHORT G_M53441_IG41
        xor      ecx, ecx
        mov      dword ptr [rsp], ecx
        mov      rcx, qword ptr [r14+0x80]
        mov      edx, dword ptr [r14+0x98]
        mov      rdi, r14
        mov      r8d, 4
        mov      r9d, 8
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
        call     [rax]System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
        test     eax, eax
        je       SHORT G_M53441_IG41
        mov      rdi, r14
        mov      edx, r13d
        mov      esi, 15
        mov      ecx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
 						;; size=133 bbWeight=1 PerfScore 31.00
 G_M53441_IG41:
        mov      eax, dword ptr [rbx+0x34]
        mov      dword ptr [rbp-0x84], eax
        test     eax, 0xD1FFAB1E
        jne      SHORT G_M53441_IG48
        lea      r14, bword ptr [rbx+0x34]
        mov      edi, eax
        or       edi, 0xD1FFAB1E
        lock     
        cmpxchg  dword ptr [r14], edi
        cmp      eax, dword ptr [rbp-0x84]
        je       SHORT G_M53441_IG49
        mov      eax, dword ptr [rbx+0x34]
        jmp      SHORT G_M53441_IG43
 						;; size=46 bbWeight=1 PerfScore 30.25
 G_M53441_IG42:
        mov      edi, eax
        mov      eax, edi
 						;; size=4 bbWeight=8 PerfScore 4.00
 G_M53441_IG43:
        test     eax, 0xD1FFAB1E
        je       SHORT G_M53441_IG45
 						;; size=7 bbWeight=8 PerfScore 10.00
 G_M53441_IG44:
        xor      edi, edi
        jmp      SHORT G_M53441_IG47
 						;; size=4 bbWeight=1 PerfScore 2.25
 G_M53441_IG45:
        mov      edi, eax
        or       edi, 0xD1FFAB1E
        mov      dword ptr [rbp-0x88], eax
        lock     
        cmpxchg  dword ptr [r14], edi
        mov      edi, dword ptr [rbp-0x88]
        cmp      eax, edi
        jne      SHORT G_M53441_IG42
 						;; size=29 bbWeight=8 PerfScore 174.00
 G_M53441_IG46:
        mov      edi, 1
 						;; size=5 bbWeight=1 PerfScore 0.25
 G_M53441_IG47:
        test     edi, edi
        jne      SHORT G_M53441_IG49
 						;; size=4 bbWeight=1 PerfScore 1.25
 G_M53441_IG48:
        mov      edi, 24
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowInvalidOperationException(int)
        call     [rax]System.ThrowHelper:ThrowInvalidOperationException(int)
        int3     
 						;; size=18 bbWeight=1 PerfScore 3.75
 G_M53441_IG49:
        mov      byte  ptr [rbx+0x38], r15b
        mov      edi, dword ptr [rbx+0x34]
        or       edi, 0xD1FFAB1E
        xchg     dword ptr [r14], edi
        mov      r15, gword ptr [rbx+0x28]
        test     r15, r15
        je       SHORT G_M53441_IG50
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
        call     [rax]System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
        mov      rdi, gword ptr [r15+0x10]
        test     rdi, rdi
        je       SHORT G_M53441_IG50
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
        call     [rax]System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
 						;; size=61 bbWeight=1 PerfScore 36.50
 G_M53441_IG50:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:FinishContinuations():this
        call     [rax]System.Threading.Tasks.Task:FinishContinuations():this
        jmp      SHORT G_M53441_IG52
 						;; size=17 bbWeight=1 PerfScore 5.50
 G_M53441_IG51:
        mov      rsi, 0xD1FFAB1E      ; const ptr
        mov      rsi, gword ptr [rsi]
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
 						;; size=18 bbWeight=1 PerfScore 3.25
 G_M53441_IG52:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M53441_IG53:
        vzeroupper 
        add      rsp, 144
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=19 bbWeight=1 PerfScore 4.75
 G_M53441_IG54:
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.TplEventSource
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_GET_GCSTATIC_BASE
        call     [rax]CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M53441_IG40
 						;; size=27 bbWeight=0 PerfScore 0.00
 G_M53441_IG55:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        sub      rsp, 32
        mov      rbp, qword ptr [rdi+0x10]
        mov      qword ptr [rsp+0x10], rbp
        lea      rbp, [rbp+0xB0]
 						;; size=28 bbWeight=1 PerfScore 8.75
 G_M53441_IG56:
        cmp      dword ptr [rbp-0x24], 0
        jge      SHORT G_M53441_IG57
        mov      rdi, bword ptr [rbp-0x98]
        mov      r11, gword ptr [rdi+0x28]
        test     r11, r11
        je       SHORT G_M53441_IG57
        mov      rdi, r11
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
 						;; size=38 bbWeight=1 PerfScore 10.75
 G_M53441_IG57:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M53441_IG58:
        vzeroupper 
        add      rsp, 32
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=16 bbWeight=1 PerfScore 4.75
 G_M53441_IG59:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        sub      rsp, 32
        mov      rbp, qword ptr [rdi+0x10]
        mov      qword ptr [rsp+0x10], rbp
        lea      rbp, [rbp+0xB0]
 						;; size=28 bbWeight=1 PerfScore 8.75
 G_M53441_IG60:
        cmp      dword ptr [rbp-0x24], 0
        jge      SHORT G_M53441_IG62
        mov      rdi, bword ptr [rbp-0x98]
        mov      rbx, gword ptr [rdi+0x20]
        test     rbx, rbx
        je       SHORT G_M53441_IG62
        cmp      byte  ptr [rbx+0x20], 0
        jne      SHORT G_M53441_IG61
        mov      byte  ptr [rbx+0x20], 1
-       mov      rax, gword ptr [rbx+0x10]
-       test     rax, rax
+       mov      r15, gword ptr [rbx+0x10]
+       test     r15, r15
        je       SHORT G_M53441_IG61
-       mov      rdi, rax
-       mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpMessageHandler:Dispose():this
-       call     [rax]System.Net.Http.HttpMessageHandler:Dispose():this
-						;; size=56 bbWeight=1 PerfScore 19.00
+       mov      rdi, r15
+       mov      esi, 1
+       mov      rax, qword ptr [r15]
+       mov      rax, qword ptr [rax+0x40]
+       call     [rax+0x30]System.Net.Http.HttpMessageHandler:Dispose(ubyte):this
+       mov      rdi, r15
+       call     System.GC:_SuppressFinalize(System.Object)
+						;; size=67 bbWeight=1 PerfScore 24.25
 G_M53441_IG61:
        mov      rdi, rbx
        call     System.GC:_SuppressFinalize(System.Object)
 						;; size=8 bbWeight=1 PerfScore 1.25
 G_M53441_IG62:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M53441_IG63:
        vzeroupper 
        add      rsp, 32
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=16 bbWeight=1 PerfScore 4.75
 G_M53441_IG64:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        sub      rsp, 32
        mov      rbp, qword ptr [rdi+0x10]
        mov      qword ptr [rsp+0x10], rbp
        lea      rbp, [rbp+0xB0]
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M53441_IG65:
        mov      rdi, bword ptr [rbp-0x98]
        mov      dword ptr [rdi+0x30], -2
        xor      rax, rax
        mov      gword ptr [rdi+0x18], rax
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M53441_IG66:
        mov      gword ptr [rdi+0x20], rax
 						;; size=4 bbWeight=0 PerfScore 0.00
 G_M53441_IG67:
        mov      gword ptr [rdi+0x28], rax
        add      rdi, 56
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetException(System.Exception):this
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetException(System.Exception):this
        lea      rax, G_M53441_IG52
 						;; size=27 bbWeight=0 PerfScore 0.00
 G_M53441_IG68:
        vzeroupper 
        add      rsp, 32
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2587, prolog size 60, PerfScore 802.08, instruction count 613, allocated bytes for code 2587 (MethodHash=ed252f3e) for method MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0+<<MonitorRuntimeTestServiceAsync>g__TestRemoteServer|0>d:MoveNext():this (FullOpts)
+; Total bytes of code 2534, prolog size 60, PerfScore 788.33, instruction count 602, allocated bytes for code 2534 (MethodHash=ed252f3e) for method MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0+<<MonitorRuntimeTestServiceAsync>g__TestRemoteServer|0>d:MoveNext():this (FullOpts)
 ; ============================================================

Larger list of diffs: https://gist.github.com/MihuBot/d39d3e8c1ff8d6dbb2dd7d022873af07

@MihuBot
Copy link
Owner Author

MihuBot commented Feb 9, 2025

@hez2010

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant