public class sun.java2d.pisces.PiscesMath
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.java2d.pisces.PiscesMath
  super_class: java.lang.Object
{
  private static final int SINTAB_LG_ENTRIES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final int SINTAB_ENTRIES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1024

  private static int[] sintab;
    descriptor: [I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  public static final int PI;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 205887

  public static final int TWO_PI;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 411774

  public static final int PI_OVER_TWO;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 102943

  public static final int SQRT_TWO;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=3, args_size=0
         0: .line 39
            ldc 2.0
            invokestatic java.lang.Math.sqrt:(D)D
            ldc 65536.0
            dmul
            d2i
            putstatic sun.java2d.pisces.PiscesMath.SQRT_TWO:I
         1: .line 42
            sipush 1025
            newarray 10
            putstatic sun.java2d.pisces.PiscesMath.sintab:[I
         2: .line 43
            iconst_0
            istore 0 /* i */
        start local 0 // int i
         3: goto 7
         4: .line 44
      StackMap locals: int
      StackMap stack:
            iload 0 /* i */
            i2d
            ldc 1.5707963267948966
            dmul
            ldc 1024.0
            ddiv
            dstore 1 /* theta */
        start local 1 // double theta
         5: .line 45
            getstatic sun.java2d.pisces.PiscesMath.sintab:[I
            iload 0 /* i */
            dload 1 /* theta */
            invokestatic java.lang.Math.sin:(D)D
            ldc 65536.0
            dmul
            d2i
            iastore
        end local 1 // double theta
         6: .line 43
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 0 /* i */
            sipush 1025
            if_icmplt 4
        end local 0 // int i
         8: .line 47
            return
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            3    8     0      i  I
            5    6     1  theta  D

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

  public static int sin(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // int theta
         0: .line 50
            iconst_1
            istore 1 /* sign */
        start local 1 // int sign
         1: .line 51
            iload 0 /* theta */
            ifge 6
         2: .line 52
            iload 0 /* theta */
            ineg
            istore 0 /* theta */
         3: .line 53
            iconst_m1
            istore 1 /* sign */
         4: .line 56
            goto 6
         5: .line 57
      StackMap locals: int
      StackMap stack:
            iload 0 /* theta */
            ldc 411774
            isub
            istore 0 /* theta */
         6: .line 56
      StackMap locals:
      StackMap stack:
            iload 0 /* theta */
            ldc 411774
            if_icmpge 5
         7: .line 60
            iload 0 /* theta */
            ldc 205887
            if_icmplt 10
         8: .line 61
            ldc 411774
            iload 0 /* theta */
            isub
            istore 0 /* theta */
         9: .line 62
            iload 1 /* sign */
            ineg
            istore 1 /* sign */
        10: .line 65
      StackMap locals:
      StackMap stack:
            iload 0 /* theta */
            ldc 102943
            if_icmple 12
        11: .line 66
            ldc 205887
            iload 0 /* theta */
            isub
            istore 0 /* theta */
        12: .line 69
      StackMap locals:
      StackMap stack:
            iload 0 /* theta */
            i2l
            ldc 1024
            lmul
            ldc 102943
            ldiv
            l2i
            istore 2 /* itheta */
        start local 2 // int itheta
        13: .line 70
            iload 1 /* sign */
            getstatic sun.java2d.pisces.PiscesMath.sintab:[I
            iload 2 /* itheta */
            iaload
            imul
            ireturn
        end local 2 // int itheta
        end local 1 // int sign
        end local 0 // int theta
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0   theta  I
            1   14     1    sign  I
           13   14     2  itheta  I
    MethodParameters:
       Name  Flags
      theta  

  public static int cos(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int theta
         0: .line 74
            ldc 102943
            iload 0 /* theta */
            isub
            invokestatic sun.java2d.pisces.PiscesMath.sin:(I)I
            ireturn
        end local 0 // int theta
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  theta  I
    MethodParameters:
       Name  Flags
      theta  

  public static int isqrt(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // int x
         0: .line 100
            bipush 16
            istore 1 /* fracbits */
        start local 1 // int fracbits
         1: .line 102
            iconst_0
            istore 2 /* root */
        start local 2 // int root
         2: .line 103
            iconst_0
            istore 3 /* remHi */
        start local 3 // int remHi
         3: .line 104
            iload 0 /* x */
            istore 4 /* remLo */
        start local 4 // int remLo
         4: .line 105
            bipush 15
            iload 1 /* fracbits */
            iconst_2
            idiv
            iadd
            istore 5 /* count */
        start local 5 // int count
         5: .line 108
      StackMap locals: int int int int int int
      StackMap stack:
            iload 3 /* remHi */
            iconst_2
            ishl
            iload 4 /* remLo */
            bipush 30
            iushr
            ior
            istore 3 /* remHi */
         6: .line 109
            iload 4 /* remLo */
            iconst_2
            ishl
            istore 4 /* remLo */
         7: .line 110
            iload 2 /* root */
            iconst_1
            ishl
            istore 2 /* root */
         8: .line 111
            iload 2 /* root */
            iconst_1
            ishl
            iconst_1
            iadd
            istore 6 /* testdiv */
        start local 6 // int testdiv
         9: .line 112
            iload 3 /* remHi */
            iload 6 /* testdiv */
            if_icmplt 12
        10: .line 113
            iload 3 /* remHi */
            iload 6 /* testdiv */
            isub
            istore 3 /* remHi */
        11: .line 114
            iinc 2 /* root */ 1
        end local 6 // int testdiv
        12: .line 116
      StackMap locals:
      StackMap stack:
            iload 5 /* count */
            iinc 5 /* count */ -1
            ifne 5
        13: .line 118
            iload 2 /* root */
            ireturn
        end local 5 // int count
        end local 4 // int remLo
        end local 3 // int remHi
        end local 2 // int root
        end local 1 // int fracbits
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0         x  I
            1   14     1  fracbits  I
            2   14     2      root  I
            3   14     3     remHi  I
            4   14     4     remLo  I
            5   14     5     count  I
            9   12     6   testdiv  I
    MethodParameters:
      Name  Flags
      x     

  public static long lsqrt(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=1
        start local 0 // long x
         0: .line 122
            bipush 16
            istore 2 /* fracbits */
        start local 2 // int fracbits
         1: .line 124
            lconst_0
            lstore 3 /* root */
        start local 3 // long root
         2: .line 125
            lconst_0
            lstore 5 /* remHi */
        start local 5 // long remHi
         3: .line 126
            lload 0 /* x */
            lstore 7 /* remLo */
        start local 7 // long remLo
         4: .line 127
            bipush 31
            iload 2 /* fracbits */
            iconst_2
            idiv
            iadd
            istore 9 /* count */
        start local 9 // int count
         5: .line 130
      StackMap locals: long int long long long int
      StackMap stack:
            lload 5 /* remHi */
            iconst_2
            lshl
            lload 7 /* remLo */
            bipush 62
            lushr
            lor
            lstore 5 /* remHi */
         6: .line 131
            lload 7 /* remLo */
            iconst_2
            lshl
            lstore 7 /* remLo */
         7: .line 132
            lload 3 /* root */
            iconst_1
            lshl
            lstore 3 /* root */
         8: .line 133
            lload 3 /* root */
            iconst_1
            lshl
            lconst_1
            ladd
            lstore 10 /* testDiv */
        start local 10 // long testDiv
         9: .line 134
            lload 5 /* remHi */
            lload 10 /* testDiv */
            lcmp
            iflt 12
        10: .line 135
            lload 5 /* remHi */
            lload 10 /* testDiv */
            lsub
            lstore 5 /* remHi */
        11: .line 136
            lload 3 /* root */
            lconst_1
            ladd
            lstore 3 /* root */
        end local 10 // long testDiv
        12: .line 138
      StackMap locals:
      StackMap stack:
            iload 9 /* count */
            iinc 9 /* count */ -1
            ifne 5
        13: .line 140
            lload 3 /* root */
            lreturn
        end local 9 // int count
        end local 7 // long remLo
        end local 5 // long remHi
        end local 3 // long root
        end local 2 // int fracbits
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0         x  J
            1   14     2  fracbits  I
            2   14     3      root  J
            3   14     5     remHi  J
            4   14     7     remLo  J
            5   14     9     count  I
            9   12    10   testDiv  J
    MethodParameters:
      Name  Flags
      x     

  public static double hypot(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // double x
        start local 2 // double y
         0: .line 145
            dload 0 /* x */
            dload 0 /* x */
            dmul
            dload 2 /* y */
            dload 2 /* y */
            dmul
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dreturn
        end local 2 // double y
        end local 0 // double x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  D
            0    1     2     y  D
    MethodParameters:
      Name  Flags
      x     
      y     

  public static int hypot(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // int x
        start local 1 // int y
         0: .line 149
            iload 0 /* x */
            i2l
            iload 0 /* x */
            i2l
            lmul
            iload 1 /* y */
            i2l
            iload 1 /* y */
            i2l
            lmul
            ladd
            invokestatic sun.java2d.pisces.PiscesMath.lsqrt:(J)J
            ldc 128
            ladd
            bipush 8
            lshr
            l2i
            ireturn
        end local 1 // int y
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  I
            0    1     1     y  I
    MethodParameters:
      Name  Flags
      x     
      y     

  public static long hypot(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // long x
        start local 2 // long y
         0: .line 153
            lload 0 /* x */
            lload 0 /* x */
            lmul
            lload 2 /* y */
            lload 2 /* y */
            lmul
            ladd
            invokestatic sun.java2d.pisces.PiscesMath.lsqrt:(J)J
            ldc 128
            ladd
            bipush 8
            lshr
            lreturn
        end local 2 // long y
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  J
            0    1     2     y  J
    MethodParameters:
      Name  Flags
      x     
      y     
}
SourceFile: "PiscesMath.java"