class org.apache.lucene.spatial3d.geom.GeoExactCircle extends org.apache.lucene.spatial3d.geom.GeoBaseCircle
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.lucene.spatial3d.geom.GeoExactCircle
  super_class: org.apache.lucene.spatial3d.geom.GeoBaseCircle
{
  protected final org.apache.lucene.spatial3d.geom.GeoPoint center;
    descriptor: Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final double radius;
    descriptor: D
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final double actualAccuracy;
    descriptor: D
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.apache.lucene.spatial3d.geom.GeoPoint[] edgePoints;
    descriptor: [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.util.List<org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice> circleSlices;
    descriptor: Ljava/util/List;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/lucene/spatial3d/geom/GeoExactCircle$CircleSlice;>;

  public void <init>(org.apache.lucene.spatial3d.geom.PlanetModel, double, double, double, double);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/PlanetModel;DDDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=23, args_size=6
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
        start local 1 // org.apache.lucene.spatial3d.geom.PlanetModel planetModel
        start local 2 // double lat
        start local 4 // double lon
        start local 6 // double radius
        start local 8 // double accuracy
         0: .line 54
            aload 0 /* this */
            aload 1 /* planetModel */
            invokespecial org.apache.lucene.spatial3d.geom.GeoBaseCircle.<init>:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;)V
         1: .line 55
            dload 2 /* lat */
            ldc -1.5707963267948966
            dcmpg
            iflt 2
            dload 2 /* lat */
            ldc 1.5707963267948966
            dcmpl
            ifle 3
         2: .line 56
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoExactCircle org.apache.lucene.spatial3d.geom.PlanetModel double double double double
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Latitude out of bounds"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 57
      StackMap locals:
      StackMap stack:
            dload 4 /* lon */
            ldc -3.141592653589793
            dcmpg
            iflt 4
            dload 4 /* lon */
            ldc 3.141592653589793
            dcmpl
            ifle 5
         4: .line 58
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Longitude out of bounds"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 59
      StackMap locals:
      StackMap stack:
            dload 6 /* radius */
            dconst_0
            dcmpg
            ifge 7
         6: .line 60
            new java.lang.IllegalArgumentException
            dup
            ldc "Radius out of bounds"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 61
      StackMap locals:
      StackMap stack:
            dload 6 /* radius */
            ldc 1.0E-12
            dcmpg
            ifge 9
         8: .line 62
            new java.lang.IllegalArgumentException
            dup
            ldc "Radius cannot be effectively zero"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 63
      StackMap locals:
      StackMap stack:
            aload 1 /* planetModel */
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.minimumPoleDistance:D
            dload 6 /* radius */
            dsub
            ldc 1.0E-12
            dcmpg
            ifge 11
        10: .line 64
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Radius out of bounds. It cannot be bigger than "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* planetModel */
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.minimumPoleDistance:D
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc " for this planet model"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.apache.lucene.spatial3d.geom.GeoPoint
            dup
            aload 1 /* planetModel */
            dload 2 /* lat */
            dload 4 /* lon */
            invokespecial org.apache.lucene.spatial3d.geom.GeoPoint.<init>:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;DD)V
            putfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
        12: .line 67
            aload 0 /* this */
            dload 6 /* radius */
            putfield org.apache.lucene.spatial3d.geom.GeoExactCircle.radius:D
        13: .line 69
            dload 8 /* accuracy */
            ldc 1.0E-12
            dcmpg
            ifge 16
        14: .line 70
            aload 0 /* this */
            ldc 1.0E-12
            putfield org.apache.lucene.spatial3d.geom.GeoExactCircle.actualAccuracy:D
        15: .line 71
            goto 17
        16: .line 72
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 8 /* accuracy */
            putfield org.apache.lucene.spatial3d.geom.GeoExactCircle.actualAccuracy:D
        17: .line 76
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            bipush 100
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 10 /* slices */
        start local 10 // java.util.List slices
        18: .line 78
            aload 1 /* planetModel */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            dload 6 /* radius */
            dconst_0
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.surfacePointOnBearing:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;DD)Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            astore 11 /* northPoint */
        start local 11 // org.apache.lucene.spatial3d.geom.GeoPoint northPoint
        19: .line 79
            aload 1 /* planetModel */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            dload 6 /* radius */
            ldc 3.141592653589793
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.surfacePointOnBearing:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;DD)Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            astore 12 /* southPoint */
        start local 12 // org.apache.lucene.spatial3d.geom.GeoPoint southPoint
        20: .line 80
            aload 1 /* planetModel */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            dload 6 /* radius */
            ldc 1.5707963267948966
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.surfacePointOnBearing:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;DD)Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            astore 13 /* eastPoint */
        start local 13 // org.apache.lucene.spatial3d.geom.GeoPoint eastPoint
        21: .line 81
            aload 1 /* planetModel */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            dload 6 /* radius */
            ldc 4.71238898038469
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.surfacePointOnBearing:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;DD)Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            astore 14 /* westPoint */
        start local 14 // org.apache.lucene.spatial3d.geom.GeoPoint westPoint
        22: .line 84
            aload 1 /* planetModel */
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.zScaling:D
            aload 1 /* planetModel */
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.xyScaling:D
            dcmpl
            ifle 27
        23: .line 86
            aload 10 /* slices */
            new org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 13 /* eastPoint */
            ldc 1.5707963267948966
            aload 14 /* westPoint */
            ldc -1.5707963267948966
            aload 11 /* northPoint */
            dconst_0
            iconst_1
            invokespecial org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;DLorg/apache/lucene/spatial3d/geom/GeoPoint;DLorg/apache/lucene/spatial3d/geom/GeoPoint;DZ)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        24: .line 87
            aload 10 /* slices */
            new org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 14 /* westPoint */
            ldc 4.71238898038469
            aload 13 /* eastPoint */
            ldc 1.5707963267948966
            aload 12 /* southPoint */
            ldc 3.141592653589793
            iconst_1
            invokespecial org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;DLorg/apache/lucene/spatial3d/geom/GeoPoint;DLorg/apache/lucene/spatial3d/geom/GeoPoint;DZ)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        25: .line 88
            aload 13 /* eastPoint */
            astore 15 /* edgePoint */
        start local 15 // org.apache.lucene.spatial3d.geom.GeoPoint edgePoint
        26: .line 89
            goto 30
        end local 15 // org.apache.lucene.spatial3d.geom.GeoPoint edgePoint
        27: .line 91
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoExactCircle org.apache.lucene.spatial3d.geom.PlanetModel double double double double java.util.List org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoPoint
      StackMap stack:
            aload 10 /* slices */
            new org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 11 /* northPoint */
            dconst_0
            aload 12 /* southPoint */
            ldc 3.141592653589793
            aload 13 /* eastPoint */
            ldc 1.5707963267948966
            iconst_1
            invokespecial org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;DLorg/apache/lucene/spatial3d/geom/GeoPoint;DLorg/apache/lucene/spatial3d/geom/GeoPoint;DZ)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        28: .line 92
            aload 10 /* slices */
            new org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 12 /* southPoint */
            ldc 3.141592653589793
            aload 11 /* northPoint */
            ldc 6.283185307179586
            aload 14 /* westPoint */
            ldc 4.71238898038469
            iconst_1
            invokespecial org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;DLorg/apache/lucene/spatial3d/geom/GeoPoint;DLorg/apache/lucene/spatial3d/geom/GeoPoint;DZ)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        29: .line 93
            aload 11 /* northPoint */
            astore 15 /* edgePoint */
        start local 15 // org.apache.lucene.spatial3d.geom.GeoPoint edgePoint
        30: .line 97
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoPoint
      StackMap stack:
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.apache.lucene.spatial3d.geom.GeoExactCircle.circleSlices:Ljava/util/List;
        31: .line 100
            goto 50
        32: .line 102
      StackMap locals:
      StackMap stack:
            aload 10 /* slices */
            aload 10 /* slices */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice
            astore 16 /* thisSlice */
        start local 16 // org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice thisSlice
        33: .line 106
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.point1Bearing:D
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.middlePointBearing:D
            dadd
            ldc 0.5
            dmul
            dstore 17 /* interpPoint1Bearing */
        start local 17 // double interpPoint1Bearing
        34: .line 107
            aload 1 /* planetModel */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            dload 6 /* radius */
            dload 17 /* interpPoint1Bearing */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.surfacePointOnBearing:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;DD)Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            astore 19 /* interpPoint1 */
        start local 19 // org.apache.lucene.spatial3d.geom.GeoPoint interpPoint1
        35: .line 108
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.point2Bearing:D
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.middlePointBearing:D
            dadd
            ldc 0.5
            dmul
            dstore 20 /* interpPoint2Bearing */
        start local 20 // double interpPoint2Bearing
        36: .line 109
            aload 1 /* planetModel */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            dload 6 /* radius */
            dload 20 /* interpPoint2Bearing */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.surfacePointOnBearing:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;DD)Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            astore 22 /* interpPoint2 */
        start local 22 // org.apache.lucene.spatial3d.geom.GeoPoint interpPoint2
        37: .line 112
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.mustSplit:Z
            ifne 40
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.plane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aload 19 /* interpPoint1 */
            invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.evaluate:(Lorg/apache/lucene/spatial3d/geom/Vector;)D
            invokestatic java.lang.Math.abs:(D)D
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.actualAccuracy:D
            dcmpg
            ifge 40
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.plane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aload 22 /* interpPoint2 */
            invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.evaluate:(Lorg/apache/lucene/spatial3d/geom/Vector;)D
            invokestatic java.lang.Math.abs:(D)D
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.actualAccuracy:D
            dcmpg
            ifge 40
        38: .line 113
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.circleSlices:Ljava/util/List;
            new org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice
            dup
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.plane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.endPoint1:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.endPoint2:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.middlePoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            invokespecial org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.<init>:(Lorg/apache/lucene/spatial3d/geom/SidedPlane;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        39: .line 115
            goto 50
        40: .line 117
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoExactCircle org.apache.lucene.spatial3d.geom.PlanetModel double double double double java.util.List org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice double org.apache.lucene.spatial3d.geom.GeoPoint double org.apache.lucene.spatial3d.geom.GeoPoint
      StackMap stack:
            aload 10 /* slices */
            new org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
        41: .line 118
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.endPoint1:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.point1Bearing:D
        42: .line 119
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.middlePoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.middlePointBearing:D
        43: .line 120
            aload 19 /* interpPoint1 */
            dload 17 /* interpPoint1Bearing */
            iconst_0
            invokespecial org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;DLorg/apache/lucene/spatial3d/geom/GeoPoint;DLorg/apache/lucene/spatial3d/geom/GeoPoint;DZ)V
        44: .line 117
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        45: .line 121
            aload 10 /* slices */
            new org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
        46: .line 122
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.middlePoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.middlePointBearing:D
        47: .line 123
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.endPoint2:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 16 /* thisSlice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.point2Bearing:D
        48: .line 124
            aload 22 /* interpPoint2 */
            dload 20 /* interpPoint2Bearing */
            iconst_0
            invokespecial org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;DLorg/apache/lucene/spatial3d/geom/GeoPoint;DLorg/apache/lucene/spatial3d/geom/GeoPoint;DZ)V
        49: .line 121
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 22 // org.apache.lucene.spatial3d.geom.GeoPoint interpPoint2
        end local 20 // double interpPoint2Bearing
        end local 19 // org.apache.lucene.spatial3d.geom.GeoPoint interpPoint1
        end local 17 // double interpPoint1Bearing
        end local 16 // org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice thisSlice
        50: .line 100
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoExactCircle org.apache.lucene.spatial3d.geom.PlanetModel double double double double java.util.List org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoPoint
      StackMap stack:
            aload 10 /* slices */
            invokeinterface java.util.List.size:()I
            ifgt 32
        51: .line 128
            aload 0 /* this */
            iconst_1
            anewarray org.apache.lucene.spatial3d.geom.GeoPoint
            dup
            iconst_0
            aload 15 /* edgePoint */
            aastore
            putfield org.apache.lucene.spatial3d.geom.GeoExactCircle.edgePoints:[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
        52: .line 131
            return
        end local 15 // org.apache.lucene.spatial3d.geom.GeoPoint edgePoint
        end local 14 // org.apache.lucene.spatial3d.geom.GeoPoint westPoint
        end local 13 // org.apache.lucene.spatial3d.geom.GeoPoint eastPoint
        end local 12 // org.apache.lucene.spatial3d.geom.GeoPoint southPoint
        end local 11 // org.apache.lucene.spatial3d.geom.GeoPoint northPoint
        end local 10 // java.util.List slices
        end local 8 // double accuracy
        end local 6 // double radius
        end local 4 // double lon
        end local 2 // double lat
        end local 1 // org.apache.lucene.spatial3d.geom.PlanetModel planetModel
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   53     0                 this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;
            0   53     1          planetModel  Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            0   53     2                  lat  D
            0   53     4                  lon  D
            0   53     6               radius  D
            0   53     8             accuracy  D
           18   53    10               slices  Ljava/util/List<Lorg/apache/lucene/spatial3d/geom/GeoExactCircle$ApproximationSlice;>;
           19   53    11           northPoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           20   53    12           southPoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           21   53    13            eastPoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           22   53    14            westPoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           26   27    15            edgePoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           30   53    15            edgePoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           33   50    16            thisSlice  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle$ApproximationSlice;
           34   50    17  interpPoint1Bearing  D
           35   50    19         interpPoint1  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           36   50    20  interpPoint2Bearing  D
           37   50    22         interpPoint2  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    MethodParameters:
             Name  Flags
      planetModel  final
      lat          final
      lon          final
      radius       final
      accuracy     final

  public void <init>(org.apache.lucene.spatial3d.geom.PlanetModel, java.io.InputStream);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/PlanetModel;Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=3, args_size=3
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
        start local 1 // org.apache.lucene.spatial3d.geom.PlanetModel planetModel
        start local 2 // java.io.InputStream inputStream
         0: .line 140
            aload 0 /* this */
            aload 1 /* planetModel */
         1: .line 141
            aload 2 /* inputStream */
            invokestatic org.apache.lucene.spatial3d.geom.SerializableObject.readDouble:(Ljava/io/InputStream;)D
         2: .line 142
            aload 2 /* inputStream */
            invokestatic org.apache.lucene.spatial3d.geom.SerializableObject.readDouble:(Ljava/io/InputStream;)D
         3: .line 143
            aload 2 /* inputStream */
            invokestatic org.apache.lucene.spatial3d.geom.SerializableObject.readDouble:(Ljava/io/InputStream;)D
         4: .line 144
            aload 2 /* inputStream */
            invokestatic org.apache.lucene.spatial3d.geom.SerializableObject.readDouble:(Ljava/io/InputStream;)D
            invokespecial org.apache.lucene.spatial3d.geom.GeoExactCircle.<init>:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;DDDD)V
         5: .line 145
            return
        end local 2 // java.io.InputStream inputStream
        end local 1 // org.apache.lucene.spatial3d.geom.PlanetModel planetModel
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;
            0    6     1  planetModel  Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            0    6     2  inputStream  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      planetModel  final
      inputStream  final

  public void write(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
        start local 1 // java.io.OutputStream outputStream
         0: .line 149
            aload 1 /* outputStream */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            invokevirtual org.apache.lucene.spatial3d.geom.GeoPoint.getLatitude:()D
            invokestatic org.apache.lucene.spatial3d.geom.SerializableObject.writeDouble:(Ljava/io/OutputStream;D)V
         1: .line 150
            aload 1 /* outputStream */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            invokevirtual org.apache.lucene.spatial3d.geom.GeoPoint.getLongitude:()D
            invokestatic org.apache.lucene.spatial3d.geom.SerializableObject.writeDouble:(Ljava/io/OutputStream;D)V
         2: .line 151
            aload 1 /* outputStream */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.radius:D
            invokestatic org.apache.lucene.spatial3d.geom.SerializableObject.writeDouble:(Ljava/io/OutputStream;D)V
         3: .line 152
            aload 1 /* outputStream */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.actualAccuracy:D
            invokestatic org.apache.lucene.spatial3d.geom.SerializableObject.writeDouble:(Ljava/io/OutputStream;D)V
         4: .line 153
            return
        end local 1 // java.io.OutputStream outputStream
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;
            0    5     1  outputStream  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      outputStream  final

  public double getRadius();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
         0: .line 157
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.radius:D
            dreturn
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;

  public org.apache.lucene.spatial3d.geom.GeoPoint getCenter();
    descriptor: ()Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
         0: .line 162
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            areturn
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;

  protected double distance(org.apache.lucene.spatial3d.geom.DistanceStyle, double, double, double);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/DistanceStyle;DDD)D
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=8, args_size=5
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
        start local 1 // org.apache.lucene.spatial3d.geom.DistanceStyle distanceStyle
        start local 2 // double x
        start local 4 // double y
        start local 6 // double z
         0: .line 167
            aload 1 /* distanceStyle */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            dload 2 /* x */
            dload 4 /* y */
            dload 6 /* z */
            invokeinterface org.apache.lucene.spatial3d.geom.DistanceStyle.computeDistance:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;DDD)D
            dreturn
        end local 6 // double z
        end local 4 // double y
        end local 2 // double x
        end local 1 // org.apache.lucene.spatial3d.geom.DistanceStyle distanceStyle
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;
            0    1     1  distanceStyle  Lorg/apache/lucene/spatial3d/geom/DistanceStyle;
            0    1     2              x  D
            0    1     4              y  D
            0    1     6              z  D
    MethodParameters:
               Name  Flags
      distanceStyle  final
      x              final
      y              final
      z              final

  protected void distanceBounds(org.apache.lucene.spatial3d.geom.Bounds, org.apache.lucene.spatial3d.geom.DistanceStyle, double);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/Bounds;Lorg/apache/lucene/spatial3d/geom/DistanceStyle;D)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
        start local 1 // org.apache.lucene.spatial3d.geom.Bounds bounds
        start local 2 // org.apache.lucene.spatial3d.geom.DistanceStyle distanceStyle
        start local 3 // double distanceValue
         0: .line 173
            aload 0 /* this */
            aload 1 /* bounds */
            invokevirtual org.apache.lucene.spatial3d.geom.GeoExactCircle.getBounds:(Lorg/apache/lucene/spatial3d/geom/Bounds;)V
         1: .line 174
            return
        end local 3 // double distanceValue
        end local 2 // org.apache.lucene.spatial3d.geom.DistanceStyle distanceStyle
        end local 1 // org.apache.lucene.spatial3d.geom.Bounds bounds
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;
            0    2     1         bounds  Lorg/apache/lucene/spatial3d/geom/Bounds;
            0    2     2  distanceStyle  Lorg/apache/lucene/spatial3d/geom/DistanceStyle;
            0    2     3  distanceValue  D
    MethodParameters:
               Name  Flags
      bounds         final
      distanceStyle  final
      distanceValue  final

  protected double outsideDistance(org.apache.lucene.spatial3d.geom.DistanceStyle, double, double, double);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/DistanceStyle;DDD)D
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=13, locals=14, args_size=5
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
        start local 1 // org.apache.lucene.spatial3d.geom.DistanceStyle distanceStyle
        start local 2 // double x
        start local 4 // double y
        start local 6 // double z
         0: .line 178
            ldc Infinity
            dstore 8 /* outsideDistance */
        start local 8 // double outsideDistance
         1: .line 179
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.circleSlices:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 6
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoExactCircle org.apache.lucene.spatial3d.geom.DistanceStyle double double double double top java.util.Iterator
      StackMap stack:
         2: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice
            astore 10 /* slice */
        start local 10 // org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice slice
         3: .line 180
            aload 1 /* distanceStyle */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            aload 10 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.circlePlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            dload 2 /* x */
            dload 4 /* y */
            dload 6 /* z */
            iconst_2
            anewarray org.apache.lucene.spatial3d.geom.Membership
            dup
            iconst_0
            aload 10 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.plane1:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            dup
            iconst_1
            aload 10 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.plane2:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            invokeinterface org.apache.lucene.spatial3d.geom.DistanceStyle.computeDistance:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;DDD[Lorg/apache/lucene/spatial3d/geom/Membership;)D
            dstore 12 /* distance */
        start local 12 // double distance
         4: .line 181
            dload 12 /* distance */
            dload 8 /* outsideDistance */
            dcmpg
            ifge 6
         5: .line 182
            dload 12 /* distance */
            dstore 8 /* outsideDistance */
        end local 12 // double distance
        end local 10 // org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice slice
         6: .line 179
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 185
            dload 8 /* outsideDistance */
            dreturn
        end local 8 // double outsideDistance
        end local 6 // double z
        end local 4 // double y
        end local 2 // double x
        end local 1 // org.apache.lucene.spatial3d.geom.DistanceStyle distanceStyle
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;
            0    8     1    distanceStyle  Lorg/apache/lucene/spatial3d/geom/DistanceStyle;
            0    8     2                x  D
            0    8     4                y  D
            0    8     6                z  D
            1    8     8  outsideDistance  D
            3    6    10            slice  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle$CircleSlice;
            4    6    12         distance  D
    MethodParameters:
               Name  Flags
      distanceStyle  final
      x              final
      y              final
      z              final

  public boolean isWithin(double, double, double);
    descriptor: (DDD)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
        start local 1 // double x
        start local 3 // double y
        start local 5 // double z
         0: .line 190
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.circleSlices:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 4
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoExactCircle double double double top java.util.Iterator
      StackMap stack:
         1: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice
            astore 7 /* slice */
        start local 7 // org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice slice
         2: .line 191
            aload 7 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.circlePlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            dload 1 /* x */
            dload 3 /* y */
            dload 5 /* z */
            invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isWithin:(DDD)Z
            ifeq 4
            aload 7 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.plane1:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            dload 1 /* x */
            dload 3 /* y */
            dload 5 /* z */
            invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isWithin:(DDD)Z
            ifeq 4
            aload 7 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.plane2:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            dload 1 /* x */
            dload 3 /* y */
            dload 5 /* z */
            invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isWithin:(DDD)Z
            ifeq 4
         3: .line 192
            iconst_1
            ireturn
        end local 7 // org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice slice
         4: .line 190
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 195
            iconst_0
            ireturn
        end local 5 // double z
        end local 3 // double y
        end local 1 // double x
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;
            0    6     1      x  D
            0    6     3      y  D
            0    6     5      z  D
            2    4     7  slice  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle$CircleSlice;
    MethodParameters:
      Name  Flags
      x     final
      y     final
      z     final

  public org.apache.lucene.spatial3d.geom.GeoPoint[] getEdgePoints();
    descriptor: ()[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
         0: .line 200
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.edgePoints:[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            areturn
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;

  public boolean intersects(org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.GeoPoint[], org.apache.lucene.spatial3d.geom.Membership[]);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/GeoPoint;[Lorg/apache/lucene/spatial3d/geom/Membership;)Z
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=10, locals=6, args_size=4
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
        start local 1 // org.apache.lucene.spatial3d.geom.Plane p
        start local 2 // org.apache.lucene.spatial3d.geom.GeoPoint[] notablePoints
        start local 3 // org.apache.lucene.spatial3d.geom.Membership[] bounds
         0: .line 205
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.circleSlices:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 4
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoExactCircle org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.Membership[] top java.util.Iterator
      StackMap stack:
         1: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice
            astore 4 /* slice */
        start local 4 // org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice slice
         2: .line 206
            aload 4 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.circlePlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            aload 1 /* p */
            aload 2 /* notablePoints */
            aload 4 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.notableEdgePoints:[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 3 /* bounds */
            iconst_2
            anewarray org.apache.lucene.spatial3d.geom.Membership
            dup
            iconst_0
            aload 4 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.plane1:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            dup
            iconst_1
            aload 4 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.plane2:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.intersects:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/GeoPoint;[Lorg/apache/lucene/spatial3d/geom/GeoPoint;[Lorg/apache/lucene/spatial3d/geom/Membership;[Lorg/apache/lucene/spatial3d/geom/Membership;)Z
            ifeq 4
         3: .line 207
            iconst_1
            ireturn
        end local 4 // org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice slice
         4: .line 205
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 210
            iconst_0
            ireturn
        end local 3 // org.apache.lucene.spatial3d.geom.Membership[] bounds
        end local 2 // org.apache.lucene.spatial3d.geom.GeoPoint[] notablePoints
        end local 1 // org.apache.lucene.spatial3d.geom.Plane p
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;
            0    6     1              p  Lorg/apache/lucene/spatial3d/geom/Plane;
            0    6     2  notablePoints  [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            0    6     3         bounds  [Lorg/apache/lucene/spatial3d/geom/Membership;
            2    4     4          slice  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle$CircleSlice;
    MethodParameters:
               Name  Flags
      p              final
      notablePoints  final
      bounds         final

  public boolean intersects(org.apache.lucene.spatial3d.geom.GeoShape);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/GeoShape;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
        start local 1 // org.apache.lucene.spatial3d.geom.GeoShape geoShape
         0: .line 215
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.circleSlices:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoExactCircle org.apache.lucene.spatial3d.geom.GeoShape top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice
            astore 2 /* slice */
        start local 2 // org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice slice
         2: .line 216
            aload 1 /* geoShape */
            aload 2 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.circlePlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aload 2 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.notableEdgePoints:[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            iconst_2
            anewarray org.apache.lucene.spatial3d.geom.Membership
            dup
            iconst_0
            aload 2 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.plane1:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            dup
            iconst_1
            aload 2 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.plane2:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            invokeinterface org.apache.lucene.spatial3d.geom.GeoShape.intersects:(Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/GeoPoint;[Lorg/apache/lucene/spatial3d/geom/Membership;)Z
            ifeq 4
         3: .line 217
            iconst_1
            ireturn
        end local 2 // org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice slice
         4: .line 215
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 220
            iconst_0
            ireturn
        end local 1 // org.apache.lucene.spatial3d.geom.GeoShape geoShape
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;
            0    6     1  geoShape  Lorg/apache/lucene/spatial3d/geom/GeoShape;
            2    4     2     slice  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle$CircleSlice;
    MethodParameters:
          Name  Flags
      geoShape  

  public void getBounds(org.apache.lucene.spatial3d.geom.Bounds);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/Bounds;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
        start local 1 // org.apache.lucene.spatial3d.geom.Bounds bounds
         0: .line 226
            aload 0 /* this */
            aload 1 /* bounds */
            invokespecial org.apache.lucene.spatial3d.geom.GeoBaseCircle.getBounds:(Lorg/apache/lucene/spatial3d/geom/Bounds;)V
         1: .line 227
            aload 1 /* bounds */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            invokeinterface org.apache.lucene.spatial3d.geom.Bounds.addPoint:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;)Lorg/apache/lucene/spatial3d/geom/Bounds;
            pop
         2: .line 228
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.circleSlices:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoExactCircle org.apache.lucene.spatial3d.geom.Bounds top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice
            astore 2 /* slice */
        start local 2 // org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice slice
         4: .line 229
            aload 1 /* bounds */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            aload 2 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.circlePlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            iconst_2
            anewarray org.apache.lucene.spatial3d.geom.Membership
            dup
            iconst_0
            aload 2 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.plane1:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            dup
            iconst_1
            aload 2 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.plane2:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            invokeinterface org.apache.lucene.spatial3d.geom.Bounds.addPlane:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)Lorg/apache/lucene/spatial3d/geom/Bounds;
            pop
         5: .line 230
            aload 2 /* slice */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice.notableEdgePoints:[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoExactCircle org.apache.lucene.spatial3d.geom.Bounds org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice java.util.Iterator top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
      StackMap stack:
         6: aload 7
            iload 5
            aaload
            astore 4 /* point */
        start local 4 // org.apache.lucene.spatial3d.geom.GeoPoint point
         7: .line 231
            aload 1 /* bounds */
            aload 4 /* point */
            invokeinterface org.apache.lucene.spatial3d.geom.Bounds.addPoint:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;)Lorg/apache/lucene/spatial3d/geom/Bounds;
            pop
        end local 4 // org.apache.lucene.spatial3d.geom.GeoPoint point
         8: .line 230
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 6
        end local 2 // org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice slice
        10: .line 228
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoExactCircle org.apache.lucene.spatial3d.geom.Bounds top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        11: .line 234
            return
        end local 1 // org.apache.lucene.spatial3d.geom.Bounds bounds
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;
            0   12     1  bounds  Lorg/apache/lucene/spatial3d/geom/Bounds;
            4   10     2   slice  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle$CircleSlice;
            7    8     4   point  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    MethodParameters:
        Name  Flags
      bounds  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
        start local 1 // java.lang.Object o
         0: .line 238
            aload 1 /* o */
            instanceof org.apache.lucene.spatial3d.geom.GeoExactCircle
            ifne 2
         1: .line 239
            iconst_0
            ireturn
         2: .line 240
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.apache.lucene.spatial3d.geom.GeoExactCircle
            astore 2 /* other */
        start local 2 // org.apache.lucene.spatial3d.geom.GeoExactCircle other
         3: .line 241
            aload 0 /* this */
            aload 2 /* other */
            invokespecial org.apache.lucene.spatial3d.geom.GeoBaseCircle.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 2 /* other */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            invokevirtual org.apache.lucene.spatial3d.geom.GeoPoint.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 2 /* other */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.radius:D
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.radius:D
            dcmpl
            ifne 4
            aload 2 /* other */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.actualAccuracy:D
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.actualAccuracy:D
            dcmpl
            ifne 4
            iconst_1
            ireturn
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoExactCircle
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // org.apache.lucene.spatial3d.geom.GeoExactCircle other
        end local 1 // java.lang.Object o
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;
            0    5     1      o  Ljava/lang/Object;
            3    5     2  other  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
         0: .line 246
            aload 0 /* this */
            invokespecial org.apache.lucene.spatial3d.geom.GeoBaseCircle.hashCode:()I
            istore 1 /* result */
        start local 1 // int result
         1: .line 247
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            invokevirtual org.apache.lucene.spatial3d.geom.GeoPoint.hashCode:()I
            iadd
            istore 1 /* result */
         2: .line 248
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.radius:D
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 2 /* temp */
        start local 2 // long temp
         3: .line 249
            bipush 31
            iload 1 /* result */
            imul
            lload 2 /* temp */
            lload 2 /* temp */
            bipush 32
            lushr
            lxor
            l2i
            iadd
            istore 1 /* result */
         4: .line 250
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.actualAccuracy:D
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 2 /* temp */
         5: .line 251
            bipush 31
            iload 1 /* result */
            imul
            lload 2 /* temp */
            lload 2 /* temp */
            bipush 32
            lushr
            lxor
            l2i
            iadd
            istore 1 /* result */
         6: .line 252
            iload 1 /* result */
            ireturn
        end local 2 // long temp
        end local 1 // int result
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;
            1    7     1  result  I
            3    7     2    temp  J

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
         0: .line 257
            new java.lang.StringBuilder
            dup
            ldc "GeoExactCircle: {planetmodel="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", center="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.center:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", radius="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.radius:D
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.radius:D
            ldc 180.0
            dmul
            ldc 3.141592653589793
            ddiv
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc "), accuracy="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoExactCircle.actualAccuracy:D
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.lucene.spatial3d.geom.GeoExactCircle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial3d/geom/GeoExactCircle;
}
SourceFile: "GeoExactCircle.java"
NestMembers:
  org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice  org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice
InnerClasses:
  protected ApproximationSlice = org.apache.lucene.spatial3d.geom.GeoExactCircle$ApproximationSlice of org.apache.lucene.spatial3d.geom.GeoExactCircle
  protected CircleSlice = org.apache.lucene.spatial3d.geom.GeoExactCircle$CircleSlice of org.apache.lucene.spatial3d.geom.GeoExactCircle