final class com.google.common.math.LinearTransformation$RegularLinearTransformation extends com.google.common.math.LinearTransformation
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.google.common.math.LinearTransformation$RegularLinearTransformation
  super_class: com.google.common.math.LinearTransformation
{
  final double slope;
    descriptor: D
    flags: (0x0010) ACC_FINAL

  final double yIntercept;
    descriptor: D
    flags: (0x0010) ACC_FINAL

  com.google.common.math.LinearTransformation inverse;
    descriptor: Lcom/google/common/math/LinearTransformation;
    flags: (0x0000) 
    RuntimeVisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.LazyInit()

  void <init>(double, double);
    descriptor: (DD)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
        start local 1 // double slope
        start local 3 // double yIntercept
         0: .line 166
            aload 0 /* this */
            invokespecial com.google.common.math.LinearTransformation.<init>:()V
         1: .line 167
            aload 0 /* this */
            dload 1 /* slope */
            putfield com.google.common.math.LinearTransformation$RegularLinearTransformation.slope:D
         2: .line 168
            aload 0 /* this */
            dload 3 /* yIntercept */
            putfield com.google.common.math.LinearTransformation$RegularLinearTransformation.yIntercept:D
         3: .line 169
            aload 0 /* this */
            aconst_null
            putfield com.google.common.math.LinearTransformation$RegularLinearTransformation.inverse:Lcom/google/common/math/LinearTransformation;
         4: .line 170
            return
        end local 3 // double yIntercept
        end local 1 // double slope
        end local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/google/common/math/LinearTransformation$RegularLinearTransformation;
            0    5     1       slope  D
            0    5     3  yIntercept  D
    MethodParameters:
            Name  Flags
      slope       
      yIntercept  

  void <init>(double, double, com.google.common.math.LinearTransformation);
    descriptor: (DDLcom/google/common/math/LinearTransformation;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
        start local 1 // double slope
        start local 3 // double yIntercept
        start local 5 // com.google.common.math.LinearTransformation inverse
         0: .line 172
            aload 0 /* this */
            invokespecial com.google.common.math.LinearTransformation.<init>:()V
         1: .line 173
            aload 0 /* this */
            dload 1 /* slope */
            putfield com.google.common.math.LinearTransformation$RegularLinearTransformation.slope:D
         2: .line 174
            aload 0 /* this */
            dload 3 /* yIntercept */
            putfield com.google.common.math.LinearTransformation$RegularLinearTransformation.yIntercept:D
         3: .line 175
            aload 0 /* this */
            aload 5 /* inverse */
            putfield com.google.common.math.LinearTransformation$RegularLinearTransformation.inverse:Lcom/google/common/math/LinearTransformation;
         4: .line 176
            return
        end local 5 // com.google.common.math.LinearTransformation inverse
        end local 3 // double yIntercept
        end local 1 // double slope
        end local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/google/common/math/LinearTransformation$RegularLinearTransformation;
            0    5     1       slope  D
            0    5     3  yIntercept  D
            0    5     5     inverse  Lcom/google/common/math/LinearTransformation;
    MethodParameters:
            Name  Flags
      slope       
      yIntercept  
      inverse     

  public boolean isVertical();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
         0: .line 180
            iconst_0
            ireturn
        end local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/math/LinearTransformation$RegularLinearTransformation;

  public boolean isHorizontal();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
         0: .line 185
            aload 0 /* this */
            getfield com.google.common.math.LinearTransformation$RegularLinearTransformation.slope:D
            dconst_0
            dcmpl
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/common/math/LinearTransformation$RegularLinearTransformation;

  public double slope();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
         0: .line 190
            aload 0 /* this */
            getfield com.google.common.math.LinearTransformation$RegularLinearTransformation.slope:D
            dreturn
        end local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/math/LinearTransformation$RegularLinearTransformation;

  public double transform(double);
    descriptor: (D)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
        start local 1 // double x
         0: .line 195
            dload 1 /* x */
            aload 0 /* this */
            getfield com.google.common.math.LinearTransformation$RegularLinearTransformation.slope:D
            dmul
            aload 0 /* this */
            getfield com.google.common.math.LinearTransformation$RegularLinearTransformation.yIntercept:D
            dadd
            dreturn
        end local 1 // double x
        end local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/math/LinearTransformation$RegularLinearTransformation;
            0    1     1     x  D
    MethodParameters:
      Name  Flags
      x     

  public com.google.common.math.LinearTransformation inverse();
    descriptor: ()Lcom/google/common/math/LinearTransformation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
         0: .line 200
            aload 0 /* this */
            getfield com.google.common.math.LinearTransformation$RegularLinearTransformation.inverse:Lcom/google/common/math/LinearTransformation;
            astore 1 /* result */
        start local 1 // com.google.common.math.LinearTransformation result
         1: .line 201
            aload 1 /* result */
            ifnonnull 2
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.google.common.math.LinearTransformation$RegularLinearTransformation.createInverse:()Lcom/google/common/math/LinearTransformation;
            dup_x1
            putfield com.google.common.math.LinearTransformation$RegularLinearTransformation.inverse:Lcom/google/common/math/LinearTransformation;
            goto 3
      StackMap locals: com.google.common.math.LinearTransformation
      StackMap stack:
         2: aload 1 /* result */
      StackMap locals:
      StackMap stack: com.google.common.math.LinearTransformation
         3: areturn
        end local 1 // com.google.common.math.LinearTransformation result
        end local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/google/common/math/LinearTransformation$RegularLinearTransformation;
            1    4     1  result  Lcom/google/common/math/LinearTransformation;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
         0: .line 206
            ldc "y = %g * x + %g"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.google.common.math.LinearTransformation$RegularLinearTransformation.slope:D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield com.google.common.math.LinearTransformation$RegularLinearTransformation.yIntercept:D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/math/LinearTransformation$RegularLinearTransformation;

  private com.google.common.math.LinearTransformation createInverse();
    descriptor: ()Lcom/google/common/math/LinearTransformation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
         0: .line 210
            aload 0 /* this */
            getfield com.google.common.math.LinearTransformation$RegularLinearTransformation.slope:D
            dconst_0
            dcmpl
            ifeq 2
         1: .line 211
            new com.google.common.math.LinearTransformation$RegularLinearTransformation
            dup
            dconst_1
            aload 0 /* this */
            getfield com.google.common.math.LinearTransformation$RegularLinearTransformation.slope:D
            ddiv
            ldc -1.0
            aload 0 /* this */
            getfield com.google.common.math.LinearTransformation$RegularLinearTransformation.yIntercept:D
            dmul
            aload 0 /* this */
            getfield com.google.common.math.LinearTransformation$RegularLinearTransformation.slope:D
            ddiv
            aload 0 /* this */
            invokespecial com.google.common.math.LinearTransformation$RegularLinearTransformation.<init>:(DDLcom/google/common/math/LinearTransformation;)V
            areturn
         2: .line 213
      StackMap locals:
      StackMap stack:
            new com.google.common.math.LinearTransformation$VerticalLinearTransformation
            dup
            aload 0 /* this */
            getfield com.google.common.math.LinearTransformation$RegularLinearTransformation.yIntercept:D
            aload 0 /* this */
            invokespecial com.google.common.math.LinearTransformation$VerticalLinearTransformation.<init>:(DLcom/google/common/math/LinearTransformation;)V
            areturn
        end local 0 // com.google.common.math.LinearTransformation$RegularLinearTransformation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/common/math/LinearTransformation$RegularLinearTransformation;
}
SourceFile: "LinearTransformation.java"
NestHost: com.google.common.math.LinearTransformation
InnerClasses:
  private final RegularLinearTransformation = com.google.common.math.LinearTransformation$RegularLinearTransformation of com.google.common.math.LinearTransformation
  private final VerticalLinearTransformation = com.google.common.math.LinearTransformation$VerticalLinearTransformation of com.google.common.math.LinearTransformation