public class sun.misc.FpUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.misc.FpUtils
  super_class: java.lang.Object
{
  static double twoToTheDoubleScaleUp;
    descriptor: D
    flags: (0x0008) ACC_STATIC

  static double twoToTheDoubleScaleDown;
    descriptor: D
    flags: (0x0008) ACC_STATIC

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 41
            ldc Lsun/misc/FpUtils;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.misc.FpUtils.$assertionsDisabled:Z
         3: .line 129
            sipush 512
            invokestatic sun.misc.FpUtils.powerOfTwoD:(I)D
            putstatic sun.misc.FpUtils.twoToTheDoubleScaleUp:D
         4: .line 130
            sipush -512
            invokestatic sun.misc.FpUtils.powerOfTwoD:(I)D
            putstatic sun.misc.FpUtils.twoToTheDoubleScaleDown:D
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.misc.FpUtils this
         0: .line 126
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.misc.FpUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/FpUtils;

  public static int getExponent(double);
    descriptor: (D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double d
         0: .line 147
            dload 0 /* d */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            ldc 9218868437227405312
            land
         1: .line 148
            bipush 52
         2: .line 147
            lshr
         3: .line 148
            ldc 1023
         4: .line 147
            lsub
            l2i
            ireturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static int getExponent(float);
    descriptor: (F)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // float f
         0: .line 160
            fload 0 /* f */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            ldc 2139095040
            iand
         1: .line 161
            bipush 23
         2: .line 160
            ishr
         3: .line 161
            bipush 127
         4: .line 160
            isub
            ireturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     f  F
    MethodParameters:
      Name  Flags
      f     

  static double powerOfTwoD(int);
    descriptor: (I)D
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int n
         0: .line 168
            getstatic sun.misc.FpUtils.$assertionsDisabled:Z
            ifne 2
            iload 0 /* n */
            sipush -1022
            if_icmplt 1
            iload 0 /* n */
            sipush 1023
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 169
      StackMap locals:
      StackMap stack:
            iload 0 /* n */
            i2l
            ldc 1023
            ladd
         3: .line 170
            bipush 52
         4: .line 169
            lshl
         5: .line 171
            ldc 9218868437227405312
         6: .line 169
            land
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     n  I
    MethodParameters:
      Name  Flags
      n     

  static float powerOfTwoF(int);
    descriptor: (I)F
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int n
         0: .line 178
            getstatic sun.misc.FpUtils.$assertionsDisabled:Z
            ifne 2
            iload 0 /* n */
            bipush -126
            if_icmplt 1
            iload 0 /* n */
            bipush 127
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 179
      StackMap locals:
      StackMap stack:
            iload 0 /* n */
            bipush 127
            iadd
         3: .line 180
            bipush 23
         4: .line 179
            ishl
         5: .line 181
            ldc 2139095040
         6: .line 179
            iand
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     n  I
    MethodParameters:
      Name  Flags
      n     

  public static double rawCopySign(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // double magnitude
        start local 2 // double sign
         0: .line 200
            dload 2 /* sign */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
         1: .line 201
            ldc -9223372036854775808
         2: .line 200
            land
         3: .line 202
            dload 0 /* magnitude */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
         4: .line 203
            ldc 9223372036854775807
         5: .line 202
            land
         6: .line 200
            lor
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 2 // double sign
        end local 0 // double magnitude
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  magnitude  D
            0    7     2       sign  D
    MethodParameters:
           Name  Flags
      magnitude  
      sign       

  public static float rawCopySign(float, float);
    descriptor: (FF)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // float magnitude
        start local 1 // float sign
         0: .line 223
            fload 1 /* sign */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
         1: .line 224
            ldc -2147483648
         2: .line 223
            iand
         3: .line 225
            fload 0 /* magnitude */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
         4: .line 226
            ldc 2147483647
         5: .line 225
            iand
         6: .line 223
            ior
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 1 // float sign
        end local 0 // float magnitude
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  magnitude  F
            0    7     1       sign  F
    MethodParameters:
           Name  Flags
      magnitude  
      sign       

  public static boolean isFinite(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double d
         0: .line 242
            dload 0 /* d */
            invokestatic java.lang.Math.abs:(D)D
            ldc 1.7976931348623157E308
            dcmpg
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static boolean isFinite(float);
    descriptor: (F)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // float f
         0: .line 255
            fload 0 /* f */
            invokestatic java.lang.Math.abs:(F)F
            ldc 3.4028235E38
            fcmpg
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     f  F
    MethodParameters:
      Name  Flags
      f     

  public static boolean isInfinite(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 271
            dload 0 /* d */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ireturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static boolean isInfinite(float);
    descriptor: (F)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float f
         0: .line 287
            fload 0 /* f */
            invokestatic java.lang.Float.isInfinite:(F)Z
            ireturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  F
    MethodParameters:
      Name  Flags
      f     

  public static boolean isNaN(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 303
            dload 0 /* d */
            invokestatic java.lang.Double.isNaN:(D)Z
            ireturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static boolean isNaN(float);
    descriptor: (F)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float f
         0: .line 319
            fload 0 /* f */
            invokestatic java.lang.Float.isNaN:(F)Z
            ireturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  F
    MethodParameters:
      Name  Flags
      f     

  public static boolean isUnordered(double, double);
    descriptor: (DD)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // double arg1
        start local 2 // double arg2
         0: .line 335
            dload 0 /* arg1 */
            invokestatic sun.misc.FpUtils.isNaN:(D)Z
            ifne 1
            dload 2 /* arg2 */
            invokestatic sun.misc.FpUtils.isNaN:(D)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 2 // double arg2
        end local 0 // double arg1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  arg1  D
            0    2     2  arg2  D
    MethodParameters:
      Name  Flags
      arg1  
      arg2  

  public static boolean isUnordered(float, float);
    descriptor: (FF)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // float arg1
        start local 1 // float arg2
         0: .line 351
            fload 0 /* arg1 */
            invokestatic sun.misc.FpUtils.isNaN:(F)Z
            ifne 1
            fload 1 /* arg2 */
            invokestatic sun.misc.FpUtils.isNaN:(F)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // float arg2
        end local 0 // float arg1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  arg1  F
            0    2     1  arg2  F
    MethodParameters:
      Name  Flags
      arg1  
      arg2  

  public static int ilogb(double);
    descriptor: (D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // double d
         0: .line 373
            dload 0 /* d */
            invokestatic sun.misc.FpUtils.getExponent:(D)I
            istore 2 /* exponent */
        start local 2 // int exponent
         1: .line 375
            iload 2 /* exponent */
            lookupswitch { // 2
                -1023: 5
                 1024: 2
              default: 21
          }
         2: .line 377
      StackMap locals: int
      StackMap stack:
            dload 0 /* d */
            invokestatic sun.misc.FpUtils.isNaN:(D)Z
            ifeq 4
         3: .line 378
            ldc 1073741824
            ireturn
         4: .line 380
      StackMap locals:
      StackMap stack:
            ldc 268435456
            ireturn
         5: .line 384
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            dconst_0
            dcmpl
            ifne 7
         6: .line 385
            ldc -268435456
            ireturn
         7: .line 388
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lstore 3 /* transducer */
        start local 3 // long transducer
         8: .line 399
            lload 3 /* transducer */
            ldc 4503599627370495
            land
            lstore 3 /* transducer */
         9: .line 400
            getstatic sun.misc.FpUtils.$assertionsDisabled:Z
            ifne 12
            lload 3 /* transducer */
            lconst_0
            lcmp
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 408
      StackMap locals: long
      StackMap stack:
            lload 3 /* transducer */
            ldc 2
            lmul
            lstore 3 /* transducer */
        11: .line 409
            iinc 2 /* exponent */ -1
        12: .line 406
      StackMap locals:
      StackMap stack:
            lload 3 /* transducer */
        13: .line 407
            ldc 4503599627370496
        14: .line 406
            lcmp
            iflt 10
        15: .line 411
            iinc 2 /* exponent */ 1
        16: .line 412
            getstatic sun.misc.FpUtils.$assertionsDisabled:Z
            ifne 20
            iload 2 /* exponent */
        17: .line 413
            sipush -1074
            if_icmplt 19
        18: .line 414
            iload 2 /* exponent */
            sipush -1022
            if_icmplt 20
      StackMap locals:
      StackMap stack:
        19: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 415
      StackMap locals:
      StackMap stack:
            iload 2 /* exponent */
            ireturn
        end local 3 // long transducer
        21: .line 420
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.FpUtils.$assertionsDisabled:Z
            ifne 24
            iload 2 /* exponent */
            sipush -1022
            if_icmplt 23
        22: .line 421
            iload 2 /* exponent */
            sipush 1023
            if_icmple 24
      StackMap locals:
      StackMap stack:
        23: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 422
      StackMap locals:
      StackMap stack:
            iload 2 /* exponent */
            ireturn
        end local 2 // int exponent
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   25     0           d  D
            1   25     2    exponent  I
            8   21     3  transducer  J
    MethodParameters:
      Name  Flags
      d     

  public static int ilogb(float);
    descriptor: (F)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // float f
         0: .line 446
            fload 0 /* f */
            invokestatic sun.misc.FpUtils.getExponent:(F)I
            istore 1 /* exponent */
        start local 1 // int exponent
         1: .line 448
            iload 1 /* exponent */
            lookupswitch { // 2
                 -127: 5
                  128: 2
              default: 21
          }
         2: .line 450
      StackMap locals: int
      StackMap stack:
            fload 0 /* f */
            invokestatic sun.misc.FpUtils.isNaN:(F)Z
            ifeq 4
         3: .line 451
            ldc 1073741824
            ireturn
         4: .line 453
      StackMap locals:
      StackMap stack:
            ldc 268435456
            ireturn
         5: .line 457
      StackMap locals:
      StackMap stack:
            fload 0 /* f */
            fconst_0
            fcmpl
            ifne 7
         6: .line 458
            ldc -268435456
            ireturn
         7: .line 461
      StackMap locals:
      StackMap stack:
            fload 0 /* f */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            istore 2 /* transducer */
        start local 2 // int transducer
         8: .line 472
            iload 2 /* transducer */
            ldc 8388607
            iand
            istore 2 /* transducer */
         9: .line 473
            getstatic sun.misc.FpUtils.$assertionsDisabled:Z
            ifne 12
            iload 2 /* transducer */
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 481
      StackMap locals: int
      StackMap stack:
            iload 2 /* transducer */
            iconst_2
            imul
            istore 2 /* transducer */
        11: .line 482
            iinc 1 /* exponent */ -1
        12: .line 479
      StackMap locals:
      StackMap stack:
            iload 2 /* transducer */
        13: .line 480
            ldc 8388608
        14: .line 479
            if_icmplt 10
        15: .line 484
            iinc 1 /* exponent */ 1
        16: .line 485
            getstatic sun.misc.FpUtils.$assertionsDisabled:Z
            ifne 20
            iload 1 /* exponent */
        17: .line 486
            sipush -149
            if_icmplt 19
        18: .line 487
            iload 1 /* exponent */
            bipush -126
            if_icmplt 20
      StackMap locals:
      StackMap stack:
        19: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 488
      StackMap locals:
      StackMap stack:
            iload 1 /* exponent */
            ireturn
        end local 2 // int transducer
        21: .line 493
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.FpUtils.$assertionsDisabled:Z
            ifne 24
            iload 1 /* exponent */
            bipush -126
            if_icmplt 23
        22: .line 494
            iload 1 /* exponent */
            bipush 127
            if_icmple 24
      StackMap locals:
      StackMap stack:
        23: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 495
      StackMap locals:
      StackMap stack:
            iload 1 /* exponent */
            ireturn
        end local 1 // int exponent
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   25     0           f  F
            1   25     1    exponent  I
            8   21     2  transducer  I
    MethodParameters:
      Name  Flags
      f     

  public static double scalb(double, int);
    descriptor: (DI)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // double d
        start local 2 // int scale_factor
         0: .line 614
            iconst_0
            istore 3 /* exp_adjust */
        start local 3 // int exp_adjust
         1: .line 615
            iconst_0
            istore 4 /* scale_increment */
        start local 4 // int scale_increment
         2: .line 616
            ldc NaN
            dstore 5 /* exp_delta */
        start local 5 // double exp_delta
         3: .line 620
            iload 2 /* scale_factor */
            ifge 8
         4: .line 621
            iload 2 /* scale_factor */
            sipush -2099
            invokestatic java.lang.Math.max:(II)I
            istore 2 /* scale_factor */
         5: .line 622
            sipush -512
            istore 4 /* scale_increment */
         6: .line 623
            getstatic sun.misc.FpUtils.twoToTheDoubleScaleDown:D
            dstore 5 /* exp_delta */
         7: .line 624
            goto 11
         8: .line 626
      StackMap locals: int int double
      StackMap stack:
            iload 2 /* scale_factor */
            sipush 2099
            invokestatic java.lang.Math.min:(II)I
            istore 2 /* scale_factor */
         9: .line 627
            sipush 512
            istore 4 /* scale_increment */
        10: .line 628
            getstatic sun.misc.FpUtils.twoToTheDoubleScaleUp:D
            dstore 5 /* exp_delta */
        11: .line 633
      StackMap locals:
      StackMap stack:
            iload 2 /* scale_factor */
            bipush 8
            ishr
            bipush 23
            iushr
            istore 7 /* t */
        start local 7 // int t
        12: .line 634
            iload 2 /* scale_factor */
            iload 7 /* t */
            iadd
            sipush 511
            iand
            iload 7 /* t */
            isub
            istore 3 /* exp_adjust */
        13: .line 636
            dload 0 /* d */
            iload 3 /* exp_adjust */
            invokestatic sun.misc.FpUtils.powerOfTwoD:(I)D
            dmul
            dstore 0 /* d */
        14: .line 637
            iload 2 /* scale_factor */
            iload 3 /* exp_adjust */
            isub
            istore 2 /* scale_factor */
        15: .line 639
            goto 18
        16: .line 640
      StackMap locals: int
      StackMap stack:
            dload 0 /* d */
            dload 5 /* exp_delta */
            dmul
            dstore 0 /* d */
        17: .line 641
            iload 2 /* scale_factor */
            iload 4 /* scale_increment */
            isub
            istore 2 /* scale_factor */
        18: .line 639
      StackMap locals:
      StackMap stack:
            iload 2 /* scale_factor */
            ifne 16
        19: .line 643
            dload 0 /* d */
            dreturn
        end local 7 // int t
        end local 5 // double exp_delta
        end local 4 // int scale_increment
        end local 3 // int exp_adjust
        end local 2 // int scale_factor
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0                d  D
            0   20     2     scale_factor  I
            1   20     3       exp_adjust  I
            2   20     4  scale_increment  I
            3   20     5        exp_delta  D
           12   20     7                t  I
    MethodParameters:
              Name  Flags
      d             
      scale_factor  

  public static float scalb(float, int);
    descriptor: (FI)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // float f
        start local 1 // int scale_factor
         0: .line 688
            iload 1 /* scale_factor */
            sipush 278
            invokestatic java.lang.Math.min:(II)I
            sipush -278
            invokestatic java.lang.Math.max:(II)I
            istore 1 /* scale_factor */
         1: .line 699
            fload 0 /* f */
            f2d
            iload 1 /* scale_factor */
            invokestatic sun.misc.FpUtils.powerOfTwoD:(I)D
            dmul
            d2f
            freturn
        end local 1 // int scale_factor
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0             f  F
            0    2     1  scale_factor  I
    MethodParameters:
              Name  Flags
      f             
      scale_factor  

  public static double nextAfter(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // double start
        start local 2 // double direction
         0: .line 755
            dload 0 /* start */
            invokestatic sun.misc.FpUtils.isNaN:(D)Z
            ifne 1
            dload 2 /* direction */
            invokestatic sun.misc.FpUtils.isNaN:(D)Z
            ifeq 2
         1: .line 757
      StackMap locals:
      StackMap stack:
            dload 0 /* start */
            dload 2 /* direction */
            dadd
            dreturn
         2: .line 758
      StackMap locals:
      StackMap stack:
            dload 0 /* start */
            dload 2 /* direction */
            dcmpl
            ifne 4
         3: .line 759
            dload 2 /* direction */
            dreturn
         4: .line 763
      StackMap locals:
      StackMap stack:
            dload 0 /* start */
            dconst_0
            dadd
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lstore 4 /* transducer */
        start local 4 // long transducer
         5: .line 777
            dload 2 /* direction */
            dload 0 /* start */
            dcmpl
            ifle 10
         6: .line 778
            lload 4 /* transducer */
            lload 4 /* transducer */
            lconst_0
            lcmp
            iflt 7
            lconst_1
            goto 8
      StackMap locals: double double long
      StackMap stack: long
         7: ldc -1
      StackMap locals: double double long
      StackMap stack: long long
         8: ladd
            lstore 4 /* transducer */
         9: .line 779
            goto 16
        10: .line 780
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.FpUtils.$assertionsDisabled:Z
            ifne 11
            dload 2 /* direction */
            dload 0 /* start */
            dcmpg
            iflt 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 781
      StackMap locals:
      StackMap stack:
            lload 4 /* transducer */
            lconst_0
            lcmp
            ifle 13
        12: .line 782
            lload 4 /* transducer */
            lconst_1
            lsub
            lstore 4 /* transducer */
            goto 16
        13: .line 784
      StackMap locals:
      StackMap stack:
            lload 4 /* transducer */
            lconst_0
            lcmp
            ifge 15
        14: .line 785
            lload 4 /* transducer */
            lconst_1
            ladd
            lstore 4 /* transducer */
            goto 16
        15: .line 795
      StackMap locals:
      StackMap stack:
            ldc -9223372036854775807
            lstore 4 /* transducer */
        16: .line 798
      StackMap locals:
      StackMap stack:
            lload 4 /* transducer */
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 4 // long transducer
        end local 2 // double direction
        end local 0 // double start
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0       start  D
            0   17     2   direction  D
            5   17     4  transducer  J
    MethodParameters:
           Name  Flags
      start      
      direction  

  public static float nextAfter(float, double);
    descriptor: (FD)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // float start
        start local 1 // double direction
         0: .line 855
            fload 0 /* start */
            invokestatic sun.misc.FpUtils.isNaN:(F)Z
            ifne 1
            dload 1 /* direction */
            invokestatic sun.misc.FpUtils.isNaN:(D)Z
            ifeq 2
         1: .line 857
      StackMap locals:
      StackMap stack:
            fload 0 /* start */
            dload 1 /* direction */
            d2f
            fadd
            freturn
         2: .line 858
      StackMap locals:
      StackMap stack:
            fload 0 /* start */
            f2d
            dload 1 /* direction */
            dcmpl
            ifne 4
         3: .line 859
            dload 1 /* direction */
            d2f
            freturn
         4: .line 863
      StackMap locals:
      StackMap stack:
            fload 0 /* start */
            fconst_0
            fadd
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            istore 3 /* transducer */
        start local 3 // int transducer
         5: .line 877
            dload 1 /* direction */
            fload 0 /* start */
            f2d
            dcmpl
            ifle 10
         6: .line 878
            iload 3 /* transducer */
            iload 3 /* transducer */
            iflt 7
            iconst_1
            goto 8
      StackMap locals: float double int
      StackMap stack: int
         7: iconst_m1
      StackMap locals: float double int
      StackMap stack: int int
         8: iadd
            istore 3 /* transducer */
         9: .line 879
            goto 16
        10: .line 880
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.FpUtils.$assertionsDisabled:Z
            ifne 11
            dload 1 /* direction */
            fload 0 /* start */
            f2d
            dcmpg
            iflt 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 881
      StackMap locals:
      StackMap stack:
            iload 3 /* transducer */
            ifle 13
        12: .line 882
            iinc 3 /* transducer */ -1
            goto 16
        13: .line 884
      StackMap locals:
      StackMap stack:
            iload 3 /* transducer */
            ifge 15
        14: .line 885
            iinc 3 /* transducer */ 1
            goto 16
        15: .line 895
      StackMap locals:
      StackMap stack:
            ldc -2147483647
            istore 3 /* transducer */
        16: .line 898
      StackMap locals:
      StackMap stack:
            iload 3 /* transducer */
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 3 // int transducer
        end local 1 // double direction
        end local 0 // float start
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0       start  F
            0   17     1   direction  D
            5   17     3  transducer  I
    MethodParameters:
           Name  Flags
      start      
      direction  

  public static double nextUp(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // double d
         0: .line 928
            dload 0 /* d */
            invokestatic sun.misc.FpUtils.isNaN:(D)Z
            ifne 1
            dload 0 /* d */
            ldc Infinity
            dcmpl
            ifne 2
         1: .line 929
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            dreturn
         2: .line 931
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            dconst_0
            dadd
            dstore 0 /* d */
         3: .line 932
            dload 0 /* d */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
         4: .line 933
            dload 0 /* d */
            dconst_0
            dcmpl
            iflt 5
            lconst_1
            goto 6
      StackMap locals:
      StackMap stack: long
         5: ldc -1
         6: .line 932
      StackMap locals: double
      StackMap stack: long long
            ladd
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static float nextUp(float);
    descriptor: (F)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // float f
         0: .line 963
            fload 0 /* f */
            invokestatic sun.misc.FpUtils.isNaN:(F)Z
            ifne 1
            fload 0 /* f */
            ldc Infinity
            fcmpl
            ifne 2
         1: .line 964
      StackMap locals:
      StackMap stack:
            fload 0 /* f */
            freturn
         2: .line 966
      StackMap locals:
      StackMap stack:
            fload 0 /* f */
            fconst_0
            fadd
            fstore 0 /* f */
         3: .line 967
            fload 0 /* f */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
         4: .line 968
            fload 0 /* f */
            fconst_0
            fcmpl
            iflt 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack: int
         5: iconst_m1
         6: .line 967
      StackMap locals: float
      StackMap stack: int int
            iadd
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     f  F
    MethodParameters:
      Name  Flags
      f     

  public static double nextDown(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // double d
         0: .line 998
            dload 0 /* d */
            invokestatic sun.misc.FpUtils.isNaN:(D)Z
            ifne 1
            dload 0 /* d */
            ldc -Infinity
            dcmpl
            ifne 2
         1: .line 999
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            dreturn
         2: .line 1001
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            dconst_0
            dcmpl
            ifne 4
         3: .line 1002
            ldc -4.9E-324
            dreturn
         4: .line 1004
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
         5: .line 1005
            dload 0 /* d */
            dconst_0
            dcmpl
            ifle 6
            ldc -1
            goto 7
      StackMap locals:
      StackMap stack: long
         6: lconst_1
         7: .line 1004
      StackMap locals: double
      StackMap stack: long long
            ladd
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static double nextDown(float);
    descriptor: (F)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // float f
         0: .line 1035
            fload 0 /* f */
            invokestatic sun.misc.FpUtils.isNaN:(F)Z
            ifne 1
            fload 0 /* f */
            ldc -Infinity
            fcmpl
            ifne 2
         1: .line 1036
      StackMap locals:
      StackMap stack:
            fload 0 /* f */
            f2d
            dreturn
         2: .line 1038
      StackMap locals:
      StackMap stack:
            fload 0 /* f */
            fconst_0
            fcmpl
            ifne 4
         3: .line 1039
            ldc -1.401298464324817E-45
            dreturn
         4: .line 1041
      StackMap locals:
      StackMap stack:
            fload 0 /* f */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
         5: .line 1042
            fload 0 /* f */
            fconst_0
            fcmpl
            ifle 6
            iconst_m1
            goto 7
      StackMap locals:
      StackMap stack: int
         6: iconst_1
         7: .line 1041
      StackMap locals: float
      StackMap stack: int int
            iadd
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            f2d
            dreturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     f  F
    MethodParameters:
      Name  Flags
      f     

  public static double copySign(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double magnitude
        start local 2 // double sign
         0: .line 1060
            dload 0 /* magnitude */
            dload 2 /* sign */
            invokestatic sun.misc.FpUtils.isNaN:(D)Z
            ifeq 1
            dconst_1
            goto 2
      StackMap locals:
      StackMap stack: double
         1: dload 2 /* sign */
      StackMap locals: double double
      StackMap stack: double double
         2: invokestatic sun.misc.FpUtils.rawCopySign:(DD)D
            dreturn
        end local 2 // double sign
        end local 0 // double magnitude
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  magnitude  D
            0    3     2       sign  D
    MethodParameters:
           Name  Flags
      magnitude  
      sign       

  public static float copySign(float, float);
    descriptor: (FF)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // float magnitude
        start local 1 // float sign
         0: .line 1076
            fload 0 /* magnitude */
            fload 1 /* sign */
            invokestatic sun.misc.FpUtils.isNaN:(F)Z
            ifeq 1
            fconst_1
            goto 2
      StackMap locals:
      StackMap stack: float
         1: fload 1 /* sign */
      StackMap locals: float float
      StackMap stack: float float
         2: invokestatic sun.misc.FpUtils.rawCopySign:(FF)F
            freturn
        end local 1 // float sign
        end local 0 // float magnitude
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  magnitude  F
            0    3     1       sign  F
    MethodParameters:
           Name  Flags
      magnitude  
      sign       

  public static double ulp(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // double d
         0: .line 1103
            dload 0 /* d */
            invokestatic sun.misc.FpUtils.getExponent:(D)I
            istore 2 /* exp */
        start local 2 // int exp
         1: .line 1105
            iload 2 /* exp */
            lookupswitch { // 2
                -1023: 3
                 1024: 2
              default: 4
          }
         2: .line 1107
      StackMap locals: int
      StackMap stack:
            dload 0 /* d */
            invokestatic java.lang.Math.abs:(D)D
            dreturn
         3: .line 1111
      StackMap locals:
      StackMap stack:
            ldc 4.9E-324
            dreturn
         4: .line 1115
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.FpUtils.$assertionsDisabled:Z
            ifne 6
            iload 2 /* exp */
            sipush 1023
            if_icmpgt 5
            iload 2 /* exp */
            sipush -1022
            if_icmpge 6
      StackMap locals:
      StackMap stack:
         5: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 1118
      StackMap locals:
      StackMap stack:
            iinc 2 /* exp */ -52
         7: .line 1119
            iload 2 /* exp */
            sipush -1022
            if_icmplt 9
         8: .line 1120
            iload 2 /* exp */
            invokestatic sun.misc.FpUtils.powerOfTwoD:(I)D
            dreturn
         9: .line 1126
      StackMap locals:
      StackMap stack:
            lconst_1
        10: .line 1127
            iload 2 /* exp */
            sipush -1074
            isub
        11: .line 1126
            lshl
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 2 // int exp
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0     d  D
            1   12     2   exp  I
    MethodParameters:
      Name  Flags
      d     

  public static float ulp(float);
    descriptor: (F)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // float f
         0: .line 1157
            fload 0 /* f */
            invokestatic sun.misc.FpUtils.getExponent:(F)I
            istore 1 /* exp */
        start local 1 // int exp
         1: .line 1159
            iload 1 /* exp */
            lookupswitch { // 2
                 -127: 3
                  128: 2
              default: 4
          }
         2: .line 1161
      StackMap locals: int
      StackMap stack:
            fload 0 /* f */
            invokestatic java.lang.Math.abs:(F)F
            freturn
         3: .line 1165
      StackMap locals:
      StackMap stack:
            ldc 1.4E-45
            freturn
         4: .line 1169
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.FpUtils.$assertionsDisabled:Z
            ifne 6
            iload 1 /* exp */
            bipush 127
            if_icmpgt 5
            iload 1 /* exp */
            bipush -126
            if_icmpge 6
      StackMap locals:
      StackMap stack:
         5: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 1172
      StackMap locals:
      StackMap stack:
            iinc 1 /* exp */ -23
         7: .line 1173
            iload 1 /* exp */
            bipush -126
            if_icmplt 9
         8: .line 1174
            iload 1 /* exp */
            invokestatic sun.misc.FpUtils.powerOfTwoF:(I)F
            freturn
         9: .line 1180
      StackMap locals:
      StackMap stack:
            iconst_1
        10: .line 1181
            iload 1 /* exp */
            sipush -149
            isub
        11: .line 1180
            ishl
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 1 // int exp
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0     f  F
            1   12     1   exp  I
    MethodParameters:
      Name  Flags
      f     

  public static double signum(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double d
         0: .line 1205
            dload 0 /* d */
            dconst_0
            dcmpl
            ifeq 1
            dload 0 /* d */
            invokestatic sun.misc.FpUtils.isNaN:(D)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: dload 0 /* d */
            goto 3
      StackMap locals:
      StackMap stack:
         2: dconst_1
            dload 0 /* d */
            invokestatic sun.misc.FpUtils.copySign:(DD)D
      StackMap locals:
      StackMap stack: double
         3: dreturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static float signum(float);
    descriptor: (F)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // float f
         0: .line 1226
            fload 0 /* f */
            fconst_0
            fcmpl
            ifeq 1
            fload 0 /* f */
            invokestatic sun.misc.FpUtils.isNaN:(F)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: fload 0 /* f */
            goto 3
      StackMap locals:
      StackMap stack:
         2: fconst_1
            fload 0 /* f */
            invokestatic sun.misc.FpUtils.copySign:(FF)F
      StackMap locals:
      StackMap stack: float
         3: freturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     f  F
    MethodParameters:
      Name  Flags
      f     
}
SourceFile: "FpUtils.java"