public class org.apache.lucene.util.SloppyMath
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.lucene.util.SloppyMath
  super_class: java.lang.Object
{
  public static final double TO_RADIANS;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.017453292519943295

  public static final double TO_DEGREES;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 57.29577951308232

  private static final double TO_METERS;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6371008.7714

  private static final double TO_KILOMETERS;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6371.0087714

  private static final double ONE_DIV_F2;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.5

  private static final double ONE_DIV_F3;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.16666666666666666

  private static final double ONE_DIV_F4;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.041666666666666664

  private static final double PIO2_HI;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double PIO2_LO;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double TWOPI_HI;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double TWOPI_LO;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private static final double SIN_COS_DELTA_HI;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double SIN_COS_DELTA_LO;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double SIN_COS_INDEXER;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double[] sinTab;
    descriptor: [D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double[] cosTab;
    descriptor: [D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final double SIN_COS_MAX_VALUE_FOR_INT_MODULO;
    descriptor: D
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final double ASIN_MAX_VALUE_FOR_TABS;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private static final double ASIN_DELTA;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ASIN_INDEXER;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double[] asinTab;
    descriptor: [D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double[] asinDer1DivF1Tab;
    descriptor: [D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double[] asinDer2DivF2Tab;
    descriptor: [D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double[] asinDer3DivF3Tab;
    descriptor: [D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double[] asinDer4DivF4Tab;
    descriptor: [D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ASIN_PIO2_HI;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ASIN_PIO2_LO;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ASIN_PS0;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ASIN_PS1;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ASIN_PS2;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ASIN_PS3;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ASIN_PS4;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ASIN_PS5;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ASIN_QS1;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ASIN_QS2;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ASIN_QS3;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ASIN_QS4;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=16, locals=13, args_size=0
         0: .line 215
            ldc 4609753056924401664
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putstatic org.apache.lucene.util.SloppyMath.PIO2_HI:D
         1: .line 216
            ldc 4454258360616903473
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putstatic org.apache.lucene.util.SloppyMath.PIO2_LO:D
         2: .line 217
            ldc 4.0
            getstatic org.apache.lucene.util.SloppyMath.PIO2_HI:D
            dmul
            putstatic org.apache.lucene.util.SloppyMath.TWOPI_HI:D
         3: .line 218
            ldc 4.0
            getstatic org.apache.lucene.util.SloppyMath.PIO2_LO:D
            dmul
            putstatic org.apache.lucene.util.SloppyMath.TWOPI_LO:D
         4: .line 220
            getstatic org.apache.lucene.util.SloppyMath.TWOPI_HI:D
            ldc 2048.0
            ddiv
            putstatic org.apache.lucene.util.SloppyMath.SIN_COS_DELTA_HI:D
         5: .line 221
            getstatic org.apache.lucene.util.SloppyMath.TWOPI_LO:D
            ldc 2048.0
            ddiv
            putstatic org.apache.lucene.util.SloppyMath.SIN_COS_DELTA_LO:D
         6: .line 222
            dconst_1
            getstatic org.apache.lucene.util.SloppyMath.SIN_COS_DELTA_HI:D
            getstatic org.apache.lucene.util.SloppyMath.SIN_COS_DELTA_LO:D
            dadd
            ddiv
            putstatic org.apache.lucene.util.SloppyMath.SIN_COS_INDEXER:D
         7: .line 223
            sipush 2049
            newarray 7
            putstatic org.apache.lucene.util.SloppyMath.sinTab:[D
         8: .line 224
            sipush 2049
            newarray 7
            putstatic org.apache.lucene.util.SloppyMath.cosTab:[D
         9: .line 230
            ldc 4194303.0
            getstatic org.apache.lucene.util.SloppyMath.SIN_COS_INDEXER:D
            ddiv
            ldc 0.99
            dmul
            putstatic org.apache.lucene.util.SloppyMath.SIN_COS_MAX_VALUE_FOR_INT_MODULO:D
        10: .line 234
            ldc 73.0
            invokestatic org.apache.lucene.util.SloppyMath.toRadians:(D)D
            invokestatic java.lang.StrictMath.sin:(D)D
            putstatic org.apache.lucene.util.SloppyMath.ASIN_MAX_VALUE_FOR_TABS:D
        11: .line 237
            getstatic org.apache.lucene.util.SloppyMath.ASIN_MAX_VALUE_FOR_TABS:D
            ldc 8192.0
            ddiv
            putstatic org.apache.lucene.util.SloppyMath.ASIN_DELTA:D
        12: .line 238
            dconst_1
            getstatic org.apache.lucene.util.SloppyMath.ASIN_DELTA:D
            ddiv
            putstatic org.apache.lucene.util.SloppyMath.ASIN_INDEXER:D
        13: .line 239
            sipush 8193
            newarray 7
            putstatic org.apache.lucene.util.SloppyMath.asinTab:[D
        14: .line 240
            sipush 8193
            newarray 7
            putstatic org.apache.lucene.util.SloppyMath.asinDer1DivF1Tab:[D
        15: .line 241
            sipush 8193
            newarray 7
            putstatic org.apache.lucene.util.SloppyMath.asinDer2DivF2Tab:[D
        16: .line 242
            sipush 8193
            newarray 7
            putstatic org.apache.lucene.util.SloppyMath.asinDer3DivF3Tab:[D
        17: .line 243
            sipush 8193
            newarray 7
            putstatic org.apache.lucene.util.SloppyMath.asinDer4DivF4Tab:[D
        18: .line 245
            ldc 4609753056924675352
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putstatic org.apache.lucene.util.SloppyMath.ASIN_PIO2_HI:D
        19: .line 246
            ldc 4364452196894661639
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putstatic org.apache.lucene.util.SloppyMath.ASIN_PIO2_LO:D
        20: .line 247
            ldc 4595172819793696085
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putstatic org.apache.lucene.util.SloppyMath.ASIN_PS0:D
        21: .line 248
            ldc -4623835544539140227
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putstatic org.apache.lucene.util.SloppyMath.ASIN_PS1:D
        22: .line 249
            ldc 4596417465768494165
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putstatic org.apache.lucene.util.SloppyMath.ASIN_PS2:D
        23: .line 250
            ldc -4637438604930937029
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putstatic org.apache.lucene.util.SloppyMath.ASIN_PS3:D
        24: .line 251
            ldc 4560439845004096136
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putstatic org.apache.lucene.util.SloppyMath.ASIN_PS4:D
        25: .line 252
            ldc 4540259411154564873
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putstatic org.apache.lucene.util.SloppyMath.ASIN_PS5:D
        26: .line 253
            ldc -4610777653840302773
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putstatic org.apache.lucene.util.SloppyMath.ASIN_QS1:D
        27: .line 254
            ldc 4611733184086379208
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putstatic org.apache.lucene.util.SloppyMath.ASIN_QS2:D
        28: .line 255
            ldc -4618997306433404583
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putstatic org.apache.lucene.util.SloppyMath.ASIN_QS3:D
        29: .line 256
            ldc 4590215604441354882
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putstatic org.apache.lucene.util.SloppyMath.ASIN_QS4:D
        30: .line 265
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        31: goto 49
        32: .line 267
      StackMap locals: int
      StackMap stack:
            iload 0 /* i */
            i2d
            getstatic org.apache.lucene.util.SloppyMath.SIN_COS_DELTA_HI:D
            dmul
            iload 0 /* i */
            i2d
            getstatic org.apache.lucene.util.SloppyMath.SIN_COS_DELTA_LO:D
            dmul
            dadd
            dstore 1 /* angle */
        start local 1 // double angle
        33: .line 268
            dload 1 /* angle */
            invokestatic java.lang.StrictMath.sin:(D)D
            dstore 3 /* sinAngle */
        start local 3 // double sinAngle
        34: .line 269
            dload 1 /* angle */
            invokestatic java.lang.StrictMath.cos:(D)D
            dstore 5 /* cosAngle */
        start local 5 // double cosAngle
        35: .line 272
            iload 0 /* i */
            sipush 1024
            if_icmpne 38
        36: .line 273
            dconst_0
            dstore 3 /* sinAngle */
        37: .line 274
            goto 46
      StackMap locals: double double double
      StackMap stack:
        38: iload 0 /* i */
            sipush 2048
            if_icmpne 41
        39: .line 275
            dconst_0
            dstore 3 /* sinAngle */
        40: .line 276
            goto 46
      StackMap locals:
      StackMap stack:
        41: iload 0 /* i */
            sipush 512
            if_icmpne 44
        42: .line 277
            dconst_0
            dstore 5 /* cosAngle */
        43: .line 278
            goto 46
      StackMap locals:
      StackMap stack:
        44: iload 0 /* i */
            sipush 1536
            if_icmpne 46
        45: .line 279
            dconst_0
            dstore 5 /* cosAngle */
        46: .line 281
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.util.SloppyMath.sinTab:[D
            iload 0 /* i */
            dload 3 /* sinAngle */
            dastore
        47: .line 282
            getstatic org.apache.lucene.util.SloppyMath.cosTab:[D
            iload 0 /* i */
            dload 5 /* cosAngle */
            dastore
        end local 5 // double cosAngle
        end local 3 // double sinAngle
        end local 1 // double angle
        48: .line 265
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 0 /* i */
            sipush 2049
            if_icmplt 32
        end local 0 // int i
        50: .line 286
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        51: goto 64
        52: .line 288
      StackMap locals:
      StackMap stack:
            iload 0 /* i */
            i2d
            getstatic org.apache.lucene.util.SloppyMath.ASIN_DELTA:D
            dmul
            dstore 1 /* x */
        start local 1 // double x
        53: .line 289
            getstatic org.apache.lucene.util.SloppyMath.asinTab:[D
            iload 0 /* i */
            dload 1 /* x */
            invokestatic java.lang.StrictMath.asin:(D)D
            dastore
        54: .line 290
            dconst_1
            dconst_1
            dload 1 /* x */
            dload 1 /* x */
            dmul
            dsub
            ddiv
            dstore 3 /* oneMinusXSqInv */
        start local 3 // double oneMinusXSqInv
        55: .line 291
            dload 3 /* oneMinusXSqInv */
            invokestatic java.lang.StrictMath.sqrt:(D)D
            dstore 5 /* oneMinusXSqInv0_5 */
        start local 5 // double oneMinusXSqInv0_5
        56: .line 292
            dload 5 /* oneMinusXSqInv0_5 */
            dload 3 /* oneMinusXSqInv */
            dmul
            dstore 7 /* oneMinusXSqInv1_5 */
        start local 7 // double oneMinusXSqInv1_5
        57: .line 293
            dload 7 /* oneMinusXSqInv1_5 */
            dload 3 /* oneMinusXSqInv */
            dmul
            dstore 9 /* oneMinusXSqInv2_5 */
        start local 9 // double oneMinusXSqInv2_5
        58: .line 294
            dload 9 /* oneMinusXSqInv2_5 */
            dload 3 /* oneMinusXSqInv */
            dmul
            dstore 11 /* oneMinusXSqInv3_5 */
        start local 11 // double oneMinusXSqInv3_5
        59: .line 295
            getstatic org.apache.lucene.util.SloppyMath.asinDer1DivF1Tab:[D
            iload 0 /* i */
            dload 5 /* oneMinusXSqInv0_5 */
            dastore
        60: .line 296
            getstatic org.apache.lucene.util.SloppyMath.asinDer2DivF2Tab:[D
            iload 0 /* i */
            dload 1 /* x */
            dload 7 /* oneMinusXSqInv1_5 */
            dmul
            ldc 0.5
            dmul
            dastore
        61: .line 297
            getstatic org.apache.lucene.util.SloppyMath.asinDer3DivF3Tab:[D
            iload 0 /* i */
            dconst_1
            ldc 2.0
            dload 1 /* x */
            dmul
            dload 1 /* x */
            dmul
            dadd
            dload 9 /* oneMinusXSqInv2_5 */
            dmul
            ldc 0.16666666666666666
            dmul
            dastore
        62: .line 298
            getstatic org.apache.lucene.util.SloppyMath.asinDer4DivF4Tab:[D
            iload 0 /* i */
            ldc 5.0
            ldc 2.0
            dload 1 /* x */
            dmul
            ldc 2.0
            dload 1 /* x */
            ldc 5.0
            ldc 2.0
            dload 1 /* x */
            dmul
            dsub
            dmul
            dadd
            dmul
            dadd
            dload 11 /* oneMinusXSqInv3_5 */
            dmul
            ldc 0.041666666666666664
            dmul
            dastore
        end local 11 // double oneMinusXSqInv3_5
        end local 9 // double oneMinusXSqInv2_5
        end local 7 // double oneMinusXSqInv1_5
        end local 5 // double oneMinusXSqInv0_5
        end local 3 // double oneMinusXSqInv
        end local 1 // double x
        63: .line 286
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        64: iload 0 /* i */
            sipush 8193
            if_icmplt 52
        end local 0 // int i
        65: .line 300
            return
      LocalVariableTable:
        Start  End  Slot               Name  Signature
           31   50     0                  i  I
           33   48     1              angle  D
           34   48     3           sinAngle  D
           35   48     5           cosAngle  D
           51   65     0                  i  I
           53   63     1                  x  D
           55   63     3     oneMinusXSqInv  D
           56   63     5  oneMinusXSqInv0_5  D
           57   63     7  oneMinusXSqInv1_5  D
           58   63     9  oneMinusXSqInv2_5  D
           59   63    11  oneMinusXSqInv3_5  D

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.util.SloppyMath this
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.lucene.util.SloppyMath this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/util/SloppyMath;

  public static double haversinMeters(double, double, double, double);
    descriptor: (DDDD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=4
        start local 0 // double lat1
        start local 2 // double lon1
        start local 4 // double lat2
        start local 6 // double lon2
         0: .line 51
            dload 0 /* lat1 */
            dload 2 /* lon1 */
            dload 4 /* lat2 */
            dload 6 /* lon2 */
            invokestatic org.apache.lucene.util.SloppyMath.haversinSortKey:(DDDD)D
            invokestatic org.apache.lucene.util.SloppyMath.haversinMeters:(D)D
            dreturn
        end local 6 // double lon2
        end local 4 // double lat2
        end local 2 // double lon1
        end local 0 // double lat1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  lat1  D
            0    1     2  lon1  D
            0    1     4  lat2  D
            0    1     6  lon2  D
    MethodParameters:
      Name  Flags
      lat1  
      lon1  
      lat2  
      lon2  

  public static double haversinMeters(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=2, args_size=1
        start local 0 // double sortKey
         0: .line 60
            ldc 1.27420175428E7
            dconst_1
            dload 0 /* sortKey */
            ldc 0.5
            dmul
            invokestatic java.lang.Math.sqrt:(D)D
            invokestatic java.lang.Math.min:(DD)D
            invokestatic org.apache.lucene.util.SloppyMath.asin:(D)D
            dmul
            dreturn
        end local 0 // double sortKey
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  sortKey  D
    MethodParameters:
         Name  Flags
      sortKey  

  public static double haversinKilometers(double, double, double, double);
    descriptor: (DDDD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=10, args_size=4
        start local 0 // double lat1
        start local 2 // double lon1
        start local 4 // double lat2
        start local 6 // double lon2
         0: .line 77
            dload 0 /* lat1 */
            dload 2 /* lon1 */
            dload 4 /* lat2 */
            dload 6 /* lon2 */
            invokestatic org.apache.lucene.util.SloppyMath.haversinSortKey:(DDDD)D
            dstore 8 /* h */
        start local 8 // double h
         1: .line 78
            ldc 12742.0175428
            dconst_1
            dload 8 /* h */
            ldc 0.5
            dmul
            invokestatic java.lang.Math.sqrt:(D)D
            invokestatic java.lang.Math.min:(DD)D
            invokestatic org.apache.lucene.util.SloppyMath.asin:(D)D
            dmul
            dreturn
        end local 8 // double h
        end local 6 // double lon2
        end local 4 // double lat2
        end local 2 // double lon1
        end local 0 // double lat1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  lat1  D
            0    2     2  lon1  D
            0    2     4  lat2  D
            0    2     6  lon2  D
            1    2     8     h  D
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      lat1  
      lon1  
      lat2  
      lon2  

  public static double haversinSortKey(double, double, double, double);
    descriptor: (DDDD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=18, args_size=4
        start local 0 // double lat1
        start local 2 // double lon1
        start local 4 // double lat2
        start local 6 // double lon2
         0: .line 88
            dload 0 /* lat1 */
            ldc 0.017453292519943295
            dmul
            dstore 8 /* x1 */
        start local 8 // double x1
         1: .line 89
            dload 4 /* lat2 */
            ldc 0.017453292519943295
            dmul
            dstore 10 /* x2 */
        start local 10 // double x2
         2: .line 90
            dconst_1
            dload 8 /* x1 */
            dload 10 /* x2 */
            dsub
            invokestatic org.apache.lucene.util.SloppyMath.cos:(D)D
            dsub
            dstore 12 /* h1 */
        start local 12 // double h1
         3: .line 91
            dconst_1
            dload 2 /* lon1 */
            dload 6 /* lon2 */
            dsub
            ldc 0.017453292519943295
            dmul
            invokestatic org.apache.lucene.util.SloppyMath.cos:(D)D
            dsub
            dstore 14 /* h2 */
        start local 14 // double h2
         4: .line 92
            dload 12 /* h1 */
            dload 8 /* x1 */
            invokestatic org.apache.lucene.util.SloppyMath.cos:(D)D
            dload 10 /* x2 */
            invokestatic org.apache.lucene.util.SloppyMath.cos:(D)D
            dmul
            dload 14 /* h2 */
            dmul
            dadd
            dstore 16 /* h */
        start local 16 // double h
         5: .line 94
            dload 16 /* h */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            ldc -8
            land
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 16 // double h
        end local 14 // double h2
        end local 12 // double h1
        end local 10 // double x2
        end local 8 // double x1
        end local 6 // double lon2
        end local 4 // double lat2
        end local 2 // double lon1
        end local 0 // double lat1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  lat1  D
            0    6     2  lon1  D
            0    6     4  lat2  D
            0    6     6  lon2  D
            1    6     8    x1  D
            2    6    10    x2  D
            3    6    12    h1  D
            4    6    14    h2  D
            5    6    16     h  D
    MethodParameters:
      Name  Flags
      lat1  
      lon1  
      lat2  
      lon2  

  public static double cos(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=18, locals=9, args_size=1
        start local 0 // double a
         0: .line 111
            dload 0 /* a */
            dconst_0
            dcmpg
            ifge 2
         1: .line 112
            dload 0 /* a */
            dneg
            dstore 0 /* a */
         2: .line 114
      StackMap locals:
      StackMap stack:
            dload 0 /* a */
            getstatic org.apache.lucene.util.SloppyMath.SIN_COS_MAX_VALUE_FOR_INT_MODULO:D
            dcmpl
            ifle 4
         3: .line 115
            dload 0 /* a */
            invokestatic java.lang.Math.cos:(D)D
            dreturn
         4: .line 118
      StackMap locals:
      StackMap stack:
            dload 0 /* a */
            getstatic org.apache.lucene.util.SloppyMath.SIN_COS_INDEXER:D
            dmul
            ldc 0.5
            dadd
            d2i
            istore 2 /* index */
        start local 2 // int index
         5: .line 119
            dload 0 /* a */
            iload 2 /* index */
            i2d
            getstatic org.apache.lucene.util.SloppyMath.SIN_COS_DELTA_HI:D
            dmul
            dsub
            iload 2 /* index */
            i2d
            getstatic org.apache.lucene.util.SloppyMath.SIN_COS_DELTA_LO:D
            dmul
            dsub
            dstore 3 /* delta */
        start local 3 // double delta
         6: .line 122
            iload 2 /* index */
            sipush 2047
            iand
            istore 2 /* index */
         7: .line 123
            getstatic org.apache.lucene.util.SloppyMath.cosTab:[D
            iload 2 /* index */
            daload
            dstore 5 /* indexCos */
        start local 5 // double indexCos
         8: .line 124
            getstatic org.apache.lucene.util.SloppyMath.sinTab:[D
            iload 2 /* index */
            daload
            dstore 7 /* indexSin */
        start local 7 // double indexSin
         9: .line 125
            dload 5 /* indexCos */
            dload 3 /* delta */
            dload 7 /* indexSin */
            dneg
            dload 3 /* delta */
            dload 5 /* indexCos */
            dneg
            ldc 0.5
            dmul
            dload 3 /* delta */
            dload 7 /* indexSin */
            ldc 0.16666666666666666
            dmul
            dload 3 /* delta */
            dload 5 /* indexCos */
            dmul
            ldc 0.041666666666666664
            dmul
            dadd
            dmul
            dadd
            dmul
            dadd
            dmul
            dadd
            dreturn
        end local 7 // double indexSin
        end local 5 // double indexCos
        end local 3 // double delta
        end local 2 // int index
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0         a  D
            5   10     2     index  I
            6   10     3     delta  D
            8   10     5  indexCos  D
            9   10     7  indexSin  D
    MethodParameters:
      Name  Flags
      a     

  public static double asin(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=24, locals=15, args_size=1
        start local 0 // double a
         0: .line 148
            dload 0 /* a */
            dconst_0
            dcmpg
            ifge 4
         1: .line 149
            dload 0 /* a */
            dneg
            dstore 0 /* a */
         2: .line 150
            iconst_1
            istore 2 /* negateResult */
        start local 2 // boolean negateResult
         3: .line 151
            goto 5
        end local 2 // boolean negateResult
         4: .line 152
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* negateResult */
        start local 2 // boolean negateResult
         5: .line 154
      StackMap locals: int
      StackMap stack:
            dload 0 /* a */
            getstatic org.apache.lucene.util.SloppyMath.ASIN_MAX_VALUE_FOR_TABS:D
            dcmpg
            ifgt 12
         6: .line 155
            dload 0 /* a */
            getstatic org.apache.lucene.util.SloppyMath.ASIN_INDEXER:D
            dmul
            ldc 0.5
            dadd
            d2i
            istore 3 /* index */
        start local 3 // int index
         7: .line 156
            dload 0 /* a */
            iload 3 /* index */
            i2d
            getstatic org.apache.lucene.util.SloppyMath.ASIN_DELTA:D
            dmul
            dsub
            dstore 4 /* delta */
        start local 4 // double delta
         8: .line 157
            getstatic org.apache.lucene.util.SloppyMath.asinTab:[D
            iload 3 /* index */
            daload
            dload 4 /* delta */
            getstatic org.apache.lucene.util.SloppyMath.asinDer1DivF1Tab:[D
            iload 3 /* index */
            daload
            dload 4 /* delta */
            getstatic org.apache.lucene.util.SloppyMath.asinDer2DivF2Tab:[D
            iload 3 /* index */
            daload
            dload 4 /* delta */
            getstatic org.apache.lucene.util.SloppyMath.asinDer3DivF3Tab:[D
            iload 3 /* index */
            daload
            dload 4 /* delta */
            getstatic org.apache.lucene.util.SloppyMath.asinDer4DivF4Tab:[D
            iload 3 /* index */
            daload
            dmul
            dadd
            dmul
            dadd
            dmul
            dadd
            dmul
            dadd
            dstore 6 /* result */
        start local 6 // double result
         9: .line 158
            iload 2 /* negateResult */
            ifeq 10
            dload 6 /* result */
            dneg
            goto 11
      StackMap locals: int double double
      StackMap stack:
        10: dload 6 /* result */
      StackMap locals:
      StackMap stack: double
        11: dreturn
        end local 6 // double result
        end local 4 // double delta
        end local 3 // int index
        12: .line 161
      StackMap locals:
      StackMap stack:
            dload 0 /* a */
            dconst_1
            dcmpg
            ifge 22
        13: .line 162
            dconst_1
            dload 0 /* a */
            dsub
            ldc 0.5
            dmul
            dstore 3 /* t */
        start local 3 // double t
        14: .line 163
            dload 3 /* t */
            getstatic org.apache.lucene.util.SloppyMath.ASIN_PS0:D
            dload 3 /* t */
            getstatic org.apache.lucene.util.SloppyMath.ASIN_PS1:D
            dload 3 /* t */
            getstatic org.apache.lucene.util.SloppyMath.ASIN_PS2:D
            dload 3 /* t */
            getstatic org.apache.lucene.util.SloppyMath.ASIN_PS3:D
            dload 3 /* t */
            getstatic org.apache.lucene.util.SloppyMath.ASIN_PS4:D
            dload 3 /* t */
            getstatic org.apache.lucene.util.SloppyMath.ASIN_PS5:D
            dmul
            dadd
            dmul
            dadd
            dmul
            dadd
            dmul
            dadd
            dmul
            dadd
            dmul
            dstore 5 /* p */
        start local 5 // double p
        15: .line 164
            dconst_1
            dload 3 /* t */
            getstatic org.apache.lucene.util.SloppyMath.ASIN_QS1:D
            dload 3 /* t */
            getstatic org.apache.lucene.util.SloppyMath.ASIN_QS2:D
            dload 3 /* t */
            getstatic org.apache.lucene.util.SloppyMath.ASIN_QS3:D
            dload 3 /* t */
            getstatic org.apache.lucene.util.SloppyMath.ASIN_QS4:D
            dmul
            dadd
            dmul
            dadd
            dmul
            dadd
            dmul
            dadd
            dstore 7 /* q */
        start local 7 // double q
        16: .line 165
            dload 3 /* t */
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 9 /* s */
        start local 9 // double s
        17: .line 166
            dload 9 /* s */
            dload 9 /* s */
            dload 5 /* p */
            dload 7 /* q */
            ddiv
            dmul
            dadd
            dstore 11 /* z */
        start local 11 // double z
        18: .line 167
            getstatic org.apache.lucene.util.SloppyMath.ASIN_PIO2_HI:D
            dload 11 /* z */
            dload 11 /* z */
            dadd
            getstatic org.apache.lucene.util.SloppyMath.ASIN_PIO2_LO:D
            dsub
            dsub
            dstore 13 /* result */
        start local 13 // double result
        19: .line 168
            iload 2 /* negateResult */
            ifeq 20
            dload 13 /* result */
            dneg
            goto 21
      StackMap locals: double int double double double double double double
      StackMap stack:
        20: dload 13 /* result */
      StackMap locals:
      StackMap stack: double
        21: dreturn
        end local 13 // double result
        end local 11 // double z
        end local 9 // double s
        end local 7 // double q
        end local 5 // double p
        end local 3 // double t
        22: .line 170
      StackMap locals: double int
      StackMap stack:
            dload 0 /* a */
            dconst_1
            dcmpl
            ifne 26
        23: .line 171
            iload 2 /* negateResult */
            ifeq 24
            ldc -1.5707963267948966
            goto 25
      StackMap locals:
      StackMap stack:
        24: ldc 1.5707963267948966
      StackMap locals:
      StackMap stack: double
        25: dreturn
        26: .line 173
      StackMap locals:
      StackMap stack:
            ldc NaN
            dreturn
        end local 2 // boolean negateResult
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0             a  D
            3    4     2  negateResult  Z
            5   27     2  negateResult  Z
            7   12     3         index  I
            8   12     4         delta  D
            9   12     6        result  D
           14   22     3             t  D
           15   22     5             p  D
           16   22     7             q  D
           17   22     9             s  D
           18   22    11             z  D
           19   22    13        result  D
    MethodParameters:
      Name  Flags
      a     

  public static double toDegrees(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double radians
         0: .line 187
            dload 0 /* radians */
            ldc 57.29577951308232
            dmul
            dreturn
        end local 0 // double radians
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  radians  D
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      radians  final

  public static double toRadians(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double degrees
         0: .line 198
            dload 0 /* degrees */
            ldc 0.017453292519943295
            dmul
            dreturn
        end local 0 // double degrees
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  degrees  D
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      degrees  final
}
SourceFile: "SloppyMath.java"