public final class com.google.common.math.LongMath
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.common.math.LongMath
  super_class: java.lang.Object
{
  static final long MAX_SIGNED_POWER_OF_TWO;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4611686018427387904
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()

  static final long MAX_POWER_OF_SQRT2_UNSIGNED;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -5402926248376769404
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()

  static final byte[] maxLog10ForLeadingZeros;
    descriptor: [B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()

  static final long[] powersOf10;
    descriptor: [J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
      com.google.common.annotations.VisibleForTesting()

  static final long[] halfPowersOf10;
    descriptor: [J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
      com.google.common.annotations.VisibleForTesting()

  static final long FLOOR_SQRT_MAX_LONG;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3037000499
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()

  static final long[] factorials;
    descriptor: [J
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int[] biggestBinomials;
    descriptor: [I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int[] biggestSimpleBinomials;
    descriptor: [I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()

  private static final int SIEVE_30;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -545925251

  private static final long[][] millerRabinBaseSets;
    descriptor: [[J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$java$math$RoundingMode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=0, args_size=0
         0: .line 206
            bipush 64
            newarray 8
            dup
            iconst_0
         1: .line 207
            bipush 19
            bastore
            dup
            iconst_1
            bipush 18
            bastore
            dup
            iconst_2
            bipush 18
            bastore
            dup
            iconst_3
            bipush 18
            bastore
            dup
            iconst_4
            bipush 18
            bastore
            dup
            iconst_5
            bipush 17
            bastore
            dup
            bipush 6
            bipush 17
            bastore
            dup
            bipush 7
            bipush 17
            bastore
            dup
            bipush 8
            bipush 16
            bastore
            dup
            bipush 9
            bipush 16
            bastore
            dup
            bipush 10
            bipush 16
            bastore
            dup
            bipush 11
            bipush 15
            bastore
            dup
            bipush 12
            bipush 15
            bastore
            dup
            bipush 13
            bipush 15
            bastore
            dup
            bipush 14
            bipush 15
            bastore
            dup
            bipush 15
            bipush 14
            bastore
            dup
            bipush 16
            bipush 14
            bastore
            dup
            bipush 17
            bipush 14
            bastore
            dup
            bipush 18
            bipush 13
            bastore
            dup
            bipush 19
            bipush 13
            bastore
            dup
            bipush 20
            bipush 13
            bastore
            dup
            bipush 21
            bipush 12
            bastore
            dup
            bipush 22
            bipush 12
            bastore
            dup
            bipush 23
            bipush 12
            bastore
            dup
            bipush 24
         2: .line 208
            bipush 12
            bastore
            dup
            bipush 25
            bipush 11
            bastore
            dup
            bipush 26
            bipush 11
            bastore
            dup
            bipush 27
            bipush 11
            bastore
            dup
            bipush 28
            bipush 10
            bastore
            dup
            bipush 29
            bipush 10
            bastore
            dup
            bipush 30
            bipush 10
            bastore
            dup
            bipush 31
            bipush 9
            bastore
            dup
            bipush 32
            bipush 9
            bastore
            dup
            bipush 33
            bipush 9
            bastore
            dup
            bipush 34
            bipush 9
            bastore
            dup
            bipush 35
            bipush 8
            bastore
            dup
            bipush 36
            bipush 8
            bastore
            dup
            bipush 37
            bipush 8
            bastore
            dup
            bipush 38
            bipush 7
            bastore
            dup
            bipush 39
            bipush 7
            bastore
            dup
            bipush 40
            bipush 7
            bastore
            dup
            bipush 41
            bipush 6
            bastore
            dup
            bipush 42
            bipush 6
            bastore
            dup
            bipush 43
            bipush 6
            bastore
            dup
            bipush 44
            bipush 6
            bastore
            dup
            bipush 45
            iconst_5
            bastore
            dup
            bipush 46
            iconst_5
            bastore
            dup
            bipush 47
            iconst_5
            bastore
            dup
            bipush 48
            iconst_4
            bastore
            dup
            bipush 49
            iconst_4
            bastore
            dup
            bipush 50
            iconst_4
            bastore
            dup
            bipush 51
            iconst_3
            bastore
            dup
            bipush 52
            iconst_3
            bastore
            dup
            bipush 53
            iconst_3
            bastore
            dup
            bipush 54
         3: .line 209
            iconst_3
            bastore
            dup
            bipush 55
            iconst_2
            bastore
            dup
            bipush 56
            iconst_2
            bastore
            dup
            bipush 57
            iconst_2
            bastore
            dup
            bipush 58
            iconst_1
            bastore
            dup
            bipush 59
            iconst_1
            bastore
            dup
            bipush 60
            iconst_1
            bastore
         4: .line 206
            putstatic com.google.common.math.LongMath.maxLog10ForLeadingZeros:[B
         5: .line 214
            bipush 19
            newarray 11
            dup
            iconst_0
         6: .line 215
            lconst_1
            lastore
            dup
            iconst_1
         7: .line 216
            ldc 10
            lastore
            dup
            iconst_2
         8: .line 217
            ldc 100
            lastore
            dup
            iconst_3
         9: .line 218
            ldc 1000
            lastore
            dup
            iconst_4
        10: .line 219
            ldc 10000
            lastore
            dup
            iconst_5
        11: .line 220
            ldc 100000
            lastore
            dup
            bipush 6
        12: .line 221
            ldc 1000000
            lastore
            dup
            bipush 7
        13: .line 222
            ldc 10000000
            lastore
            dup
            bipush 8
        14: .line 223
            ldc 100000000
            lastore
            dup
            bipush 9
        15: .line 224
            ldc 1000000000
            lastore
            dup
            bipush 10
        16: .line 225
            ldc 10000000000
            lastore
            dup
            bipush 11
        17: .line 226
            ldc 100000000000
            lastore
            dup
            bipush 12
        18: .line 227
            ldc 1000000000000
            lastore
            dup
            bipush 13
        19: .line 228
            ldc 10000000000000
            lastore
            dup
            bipush 14
        20: .line 229
            ldc 100000000000000
            lastore
            dup
            bipush 15
        21: .line 230
            ldc 1000000000000000
            lastore
            dup
            bipush 16
        22: .line 231
            ldc 10000000000000000
            lastore
            dup
            bipush 17
        23: .line 232
            ldc 100000000000000000
            lastore
            dup
            bipush 18
        24: .line 233
            ldc 1000000000000000000
            lastore
        25: .line 214
            putstatic com.google.common.math.LongMath.powersOf10:[J
        26: .line 239
            bipush 19
            newarray 11
            dup
            iconst_0
        27: .line 240
            ldc 3
            lastore
            dup
            iconst_1
        28: .line 241
            ldc 31
            lastore
            dup
            iconst_2
        29: .line 242
            ldc 316
            lastore
            dup
            iconst_3
        30: .line 243
            ldc 3162
            lastore
            dup
            iconst_4
        31: .line 244
            ldc 31622
            lastore
            dup
            iconst_5
        32: .line 245
            ldc 316227
            lastore
            dup
            bipush 6
        33: .line 246
            ldc 3162277
            lastore
            dup
            bipush 7
        34: .line 247
            ldc 31622776
            lastore
            dup
            bipush 8
        35: .line 248
            ldc 316227766
            lastore
            dup
            bipush 9
        36: .line 249
            ldc 3162277660
            lastore
            dup
            bipush 10
        37: .line 250
            ldc 31622776601
            lastore
            dup
            bipush 11
        38: .line 251
            ldc 316227766016
            lastore
            dup
            bipush 12
        39: .line 252
            ldc 3162277660168
            lastore
            dup
            bipush 13
        40: .line 253
            ldc 31622776601683
            lastore
            dup
            bipush 14
        41: .line 254
            ldc 316227766016837
            lastore
            dup
            bipush 15
        42: .line 255
            ldc 3162277660168379
            lastore
            dup
            bipush 16
        43: .line 256
            ldc 31622776601683793
            lastore
            dup
            bipush 17
        44: .line 257
            ldc 316227766016837933
            lastore
            dup
            bipush 18
        45: .line 258
            ldc 3162277660168379331
            lastore
        46: .line 239
            putstatic com.google.common.math.LongMath.halfPowersOf10:[J
        47: .line 779
            bipush 21
            newarray 11
            dup
            iconst_0
        48: .line 780
            lconst_1
            lastore
            dup
            iconst_1
        49: .line 781
            lconst_1
            lastore
            dup
            iconst_2
        50: .line 782
            ldc 2
            lastore
            dup
            iconst_3
        51: .line 783
            ldc 6
            lastore
            dup
            iconst_4
        52: .line 784
            ldc 24
            lastore
            dup
            iconst_5
        53: .line 785
            ldc 120
            lastore
            dup
            bipush 6
        54: .line 786
            ldc 720
            lastore
            dup
            bipush 7
        55: .line 787
            ldc 5040
            lastore
            dup
            bipush 8
        56: .line 788
            ldc 40320
            lastore
            dup
            bipush 9
        57: .line 789
            ldc 362880
            lastore
            dup
            bipush 10
        58: .line 790
            ldc 3628800
            lastore
            dup
            bipush 11
        59: .line 791
            ldc 39916800
            lastore
            dup
            bipush 12
        60: .line 792
            ldc 479001600
            lastore
            dup
            bipush 13
        61: .line 793
            ldc 6227020800
            lastore
            dup
            bipush 14
        62: .line 794
            ldc 87178291200
            lastore
            dup
            bipush 15
        63: .line 795
            ldc 1307674368000
            lastore
            dup
            bipush 16
        64: .line 796
            ldc 20922789888000
            lastore
            dup
            bipush 17
        65: .line 797
            ldc 355687428096000
            lastore
            dup
            bipush 18
        66: .line 798
            ldc 6402373705728000
            lastore
            dup
            bipush 19
        67: .line 799
            ldc 121645100408832000
            lastore
            dup
            bipush 20
        68: .line 800
            ldc 2432902008176640000
            lastore
        69: .line 779
            putstatic com.google.common.math.LongMath.factorials:[J
        70: .line 885
            bipush 34
            newarray 10
            dup
            iconst_0
        71: .line 886
            ldc 2147483647
            iastore
            dup
            iconst_1
        72: .line 887
            ldc 2147483647
            iastore
            dup
            iconst_2
        73: .line 888
            ldc 2147483647
            iastore
            dup
            iconst_3
        74: .line 889
            ldc 3810779
            iastore
            dup
            iconst_4
        75: .line 890
            ldc 121977
            iastore
            dup
            iconst_5
        76: .line 891
            sipush 16175
            iastore
            dup
            bipush 6
        77: .line 892
            sipush 4337
            iastore
            dup
            bipush 7
        78: .line 893
            sipush 1733
            iastore
            dup
            bipush 8
        79: .line 894
            sipush 887
            iastore
            dup
            bipush 9
        80: .line 895
            sipush 534
            iastore
            dup
            bipush 10
        81: .line 896
            sipush 361
            iastore
            dup
            bipush 11
        82: .line 897
            sipush 265
            iastore
            dup
            bipush 12
        83: .line 898
            sipush 206
            iastore
            dup
            bipush 13
        84: .line 899
            sipush 169
            iastore
            dup
            bipush 14
        85: .line 900
            sipush 143
            iastore
            dup
            bipush 15
        86: .line 901
            bipush 125
            iastore
            dup
            bipush 16
        87: .line 902
            bipush 111
            iastore
            dup
            bipush 17
        88: .line 903
            bipush 101
            iastore
            dup
            bipush 18
        89: .line 904
            bipush 94
            iastore
            dup
            bipush 19
        90: .line 905
            bipush 88
            iastore
            dup
            bipush 20
        91: .line 906
            bipush 83
            iastore
            dup
            bipush 21
        92: .line 907
            bipush 79
            iastore
            dup
            bipush 22
        93: .line 908
            bipush 76
            iastore
            dup
            bipush 23
        94: .line 909
            bipush 74
            iastore
            dup
            bipush 24
        95: .line 910
            bipush 72
            iastore
            dup
            bipush 25
        96: .line 911
            bipush 70
            iastore
            dup
            bipush 26
        97: .line 912
            bipush 69
            iastore
            dup
            bipush 27
        98: .line 913
            bipush 68
            iastore
            dup
            bipush 28
        99: .line 914
            bipush 67
            iastore
            dup
            bipush 29
       100: .line 915
            bipush 67
            iastore
            dup
            bipush 30
       101: .line 916
            bipush 66
            iastore
            dup
            bipush 31
       102: .line 917
            bipush 66
            iastore
            dup
            bipush 32
       103: .line 918
            bipush 66
            iastore
            dup
            bipush 33
       104: .line 919
            bipush 66
            iastore
       105: .line 885
            putstatic com.google.common.math.LongMath.biggestBinomials:[I
       106: .line 927
            bipush 31
            newarray 10
            dup
            iconst_0
       107: .line 928
            ldc 2147483647
            iastore
            dup
            iconst_1
       108: .line 929
            ldc 2147483647
            iastore
            dup
            iconst_2
       109: .line 930
            ldc 2147483647
            iastore
            dup
            iconst_3
       110: .line 931
            ldc 2642246
            iastore
            dup
            iconst_4
       111: .line 932
            ldc 86251
            iastore
            dup
            iconst_5
       112: .line 933
            sipush 11724
            iastore
            dup
            bipush 6
       113: .line 934
            sipush 3218
            iastore
            dup
            bipush 7
       114: .line 935
            sipush 1313
            iastore
            dup
            bipush 8
       115: .line 936
            sipush 684
            iastore
            dup
            bipush 9
       116: .line 937
            sipush 419
            iastore
            dup
            bipush 10
       117: .line 938
            sipush 287
            iastore
            dup
            bipush 11
       118: .line 939
            sipush 214
            iastore
            dup
            bipush 12
       119: .line 940
            sipush 169
            iastore
            dup
            bipush 13
       120: .line 941
            sipush 139
            iastore
            dup
            bipush 14
       121: .line 942
            bipush 119
            iastore
            dup
            bipush 15
       122: .line 943
            bipush 105
            iastore
            dup
            bipush 16
       123: .line 944
            bipush 95
            iastore
            dup
            bipush 17
       124: .line 945
            bipush 87
            iastore
            dup
            bipush 18
       125: .line 946
            bipush 81
            iastore
            dup
            bipush 19
       126: .line 947
            bipush 76
            iastore
            dup
            bipush 20
       127: .line 948
            bipush 73
            iastore
            dup
            bipush 21
       128: .line 949
            bipush 70
            iastore
            dup
            bipush 22
       129: .line 950
            bipush 68
            iastore
            dup
            bipush 23
       130: .line 951
            bipush 66
            iastore
            dup
            bipush 24
       131: .line 952
            bipush 64
            iastore
            dup
            bipush 25
       132: .line 953
            bipush 63
            iastore
            dup
            bipush 26
       133: .line 954
            bipush 62
            iastore
            dup
            bipush 27
       134: .line 955
            bipush 62
            iastore
            dup
            bipush 28
       135: .line 956
            bipush 61
            iastore
            dup
            bipush 29
       136: .line 957
            bipush 61
            iastore
            dup
            bipush 30
       137: .line 958
            bipush 61
            iastore
       138: .line 927
            putstatic com.google.common.math.LongMath.biggestSimpleBinomials:[I
       139: .line 1063
            bipush 7
            anewarray long[]
            dup
            iconst_0
       140: .line 1064
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 291830
            lastore
            dup
            iconst_1
            ldc 126401071349994536
            lastore
            aastore
            dup
            iconst_1
       141: .line 1065
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc 885594168
            lastore
            dup
            iconst_1
            ldc 725270293939359937
            lastore
            dup
            iconst_2
            ldc 3569819667048198375
            lastore
            aastore
            dup
            iconst_2
       142: .line 1066
            iconst_4
            newarray 11
            dup
            iconst_0
            ldc 273919523040
            lastore
            dup
            iconst_1
            ldc 15
            lastore
            dup
            iconst_2
            ldc 7363882082
            lastore
            dup
            iconst_3
            ldc 992620450144556
            lastore
            aastore
            dup
            iconst_3
       143: .line 1067
            iconst_5
            newarray 11
            dup
            iconst_0
            ldc 47636622961200
            lastore
            dup
            iconst_1
            ldc 2
            lastore
            dup
            iconst_2
            ldc 2570940
            lastore
            dup
            iconst_3
            ldc 211991001
            lastore
            dup
            iconst_4
            ldc 3749873356
            lastore
            aastore
            dup
            iconst_4
       144: .line 1068
            bipush 6
            newarray 11
            dup
            iconst_0
       145: .line 1069
            ldc 7999252175582850
            lastore
            dup
            iconst_1
       146: .line 1070
            ldc 2
            lastore
            dup
            iconst_2
       147: .line 1071
            ldc 4130806001517
            lastore
            dup
            iconst_3
       148: .line 1072
            ldc 149795463772692060
            lastore
            dup
            iconst_4
       149: .line 1073
            ldc 186635894390467037
            lastore
            dup
            iconst_5
       150: .line 1074
            ldc 3967304179347715805
            lastore
            aastore
            dup
            iconst_5
       151: .line 1076
            bipush 7
            newarray 11
            dup
            iconst_0
       152: .line 1077
            ldc 585226005592931976
            lastore
            dup
            iconst_1
       153: .line 1078
            ldc 2
            lastore
            dup
            iconst_2
       154: .line 1079
            ldc 123635709730000
            lastore
            dup
            iconst_3
       155: .line 1080
            ldc 9233062284813009
            lastore
            dup
            iconst_4
       156: .line 1081
            ldc 43835965440333360
            lastore
            dup
            iconst_5
       157: .line 1082
            ldc 761179012939631437
            lastore
            dup
            bipush 6
       158: .line 1083
            ldc 1263739024124850375
            lastore
            aastore
            dup
            bipush 6
       159: .line 1085
            bipush 8
            newarray 11
            dup
            iconst_0
            ldc 9223372036854775807
            lastore
            dup
            iconst_1
            ldc 2
            lastore
            dup
            iconst_2
            ldc 325
            lastore
            dup
            iconst_3
            ldc 9375
            lastore
            dup
            iconst_4
            ldc 28178
            lastore
            dup
            iconst_5
            ldc 450775
            lastore
            dup
            bipush 6
            ldc 9780504
            lastore
            dup
            bipush 7
            ldc 1795265022
            lastore
            aastore
       160: .line 1063
            putstatic com.google.common.math.LongMath.millerRabinBaseSets:[[J
       161: .line 1086
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static long ceilingPowerOfTwo(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // long x
         0: .line 68
            ldc "x"
            lload 0 /* x */
            invokestatic com.google.common.math.MathPreconditions.checkPositive:(Ljava/lang/String;J)J
            pop2
         1: .line 69
            lload 0 /* x */
            ldc 4611686018427387904
            lcmp
            ifle 3
         2: .line 70
            new java.lang.ArithmeticException
            dup
            new java.lang.StringBuilder
            dup
            ldc "ceilingPowerOfTwo("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 0 /* x */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ") is not representable as a long"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 72
      StackMap locals:
      StackMap stack:
            lconst_1
            lload 0 /* x */
            lconst_1
            lsub
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
            ineg
            lshl
            lreturn
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     x  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
      Name  Flags
      x     

  public static long floorPowerOfTwo(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long x
         0: .line 84
            ldc "x"
            lload 0 /* x */
            invokestatic com.google.common.math.MathPreconditions.checkPositive:(Ljava/lang/String;J)J
            pop2
         1: .line 88
            lconst_1
            bipush 63
            lload 0 /* x */
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
            isub
            lshl
            lreturn
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     x  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
      Name  Flags
      x     

  public static boolean isPowerOfTwo(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // long x
         0: .line 98
            lload 0 /* x */
            lconst_0
            lcmp
            ifle 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: lload 0 /* x */
            lload 0 /* x */
            lconst_1
            lsub
            land
            lconst_0
            lcmp
            ifne 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack: int
         3: iconst_0
      StackMap locals: long
      StackMap stack: int int
         4: iand
            ireturn
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     x  J
    MethodParameters:
      Name  Flags
      x     

  static int lessThanBranchFree(long, long);
    descriptor: (JJ)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // long x
        start local 2 // long y
         0: .line 109
            lload 0 /* x */
            lload 2 /* y */
            lsub
            ldc -1
            lxor
            ldc -1
            lxor
            bipush 63
            lushr
            l2i
            ireturn
        end local 2 // long y
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  J
            0    1     2     y  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()
    MethodParameters:
      Name  Flags
      x     
      y     

  public static int log2(long, java.math.RoundingMode);
    descriptor: (JLjava/math/RoundingMode;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // long x
        start local 2 // java.math.RoundingMode mode
         0: .line 122
            ldc "x"
            lload 0 /* x */
            invokestatic com.google.common.math.MathPreconditions.checkPositive:(Ljava/lang/String;J)J
            pop2
         1: .line 123
            invokestatic com.google.common.math.LongMath.$SWITCH_TABLE$java$math$RoundingMode:()[I
            aload 2 /* mode */
            invokevirtual java.math.RoundingMode.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 4
                    2: 3
                    3: 4
                    4: 3
                    5: 5
                    6: 5
                    7: 5
                    8: 2
              default: 9
          }
         2: .line 125
      StackMap locals:
      StackMap stack:
            lload 0 /* x */
            invokestatic com.google.common.math.LongMath.isPowerOfTwo:(J)Z
            invokestatic com.google.common.math.MathPreconditions.checkRoundingUnnecessary:(Z)V
         3: .line 129
      StackMap locals:
      StackMap stack:
            bipush 63
            lload 0 /* x */
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
            isub
            ireturn
         4: .line 133
      StackMap locals:
      StackMap stack:
            bipush 64
            lload 0 /* x */
            lconst_1
            lsub
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
            isub
            ireturn
         5: .line 139
      StackMap locals:
      StackMap stack:
            lload 0 /* x */
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
            istore 3 /* leadingZeros */
        start local 3 // int leadingZeros
         6: .line 140
            ldc -5402926248376769404
            iload 3 /* leadingZeros */
            lushr
            lstore 4 /* cmp */
        start local 4 // long cmp
         7: .line 142
            bipush 63
            iload 3 /* leadingZeros */
            isub
            istore 6 /* logFloor */
        start local 6 // int logFloor
         8: .line 143
            iload 6 /* logFloor */
            lload 4 /* cmp */
            lload 0 /* x */
            invokestatic com.google.common.math.LongMath.lessThanBranchFree:(JJ)I
            iadd
            ireturn
        end local 6 // int logFloor
        end local 4 // long cmp
        end local 3 // int leadingZeros
         9: .line 146
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "impossible"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.math.RoundingMode mode
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0             x  J
            0   10     2          mode  Ljava/math/RoundingMode;
            6    9     3  leadingZeros  I
            7    9     4           cmp  J
            8    9     6      logFloor  I
    MethodParameters:
      Name  Flags
      x     
      mode  

  public static int log10(long, java.math.RoundingMode);
    descriptor: (JLjava/math/RoundingMode;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // long x
        start local 2 // java.math.RoundingMode mode
         0: .line 164
            ldc "x"
            lload 0 /* x */
            invokestatic com.google.common.math.MathPreconditions.checkPositive:(Ljava/lang/String;J)J
            pop2
         1: .line 165
            lload 0 /* x */
            invokestatic com.google.common.math.LongMath.log10Floor:(J)I
            istore 3 /* logFloor */
        start local 3 // int logFloor
         2: .line 166
            getstatic com.google.common.math.LongMath.powersOf10:[J
            iload 3 /* logFloor */
            laload
            lstore 4 /* floorPow */
        start local 4 // long floorPow
         3: .line 167
            invokestatic com.google.common.math.LongMath.$SWITCH_TABLE$java$math$RoundingMode:()[I
            aload 2 /* mode */
            invokevirtual java.math.RoundingMode.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 8
                    2: 7
                    3: 8
                    4: 7
                    5: 9
                    6: 9
                    7: 9
                    8: 4
              default: 10
          }
         4: .line 169
      StackMap locals: int long
      StackMap stack:
            lload 0 /* x */
            lload 4 /* floorPow */
            lcmp
            ifne 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: invokestatic com.google.common.math.MathPreconditions.checkRoundingUnnecessary:(Z)V
         7: .line 173
      StackMap locals:
      StackMap stack:
            iload 3 /* logFloor */
            ireturn
         8: .line 176
      StackMap locals:
      StackMap stack:
            iload 3 /* logFloor */
            lload 4 /* floorPow */
            lload 0 /* x */
            invokestatic com.google.common.math.LongMath.lessThanBranchFree:(JJ)I
            iadd
            ireturn
         9: .line 181
      StackMap locals:
      StackMap stack:
            iload 3 /* logFloor */
            getstatic com.google.common.math.LongMath.halfPowersOf10:[J
            iload 3 /* logFloor */
            laload
            lload 0 /* x */
            invokestatic com.google.common.math.LongMath.lessThanBranchFree:(JJ)I
            iadd
            ireturn
        10: .line 183
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 4 // long floorPow
        end local 3 // int logFloor
        end local 2 // java.math.RoundingMode mode
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0         x  J
            0   11     2      mode  Ljava/math/RoundingMode;
            2   11     3  logFloor  I
            3   11     4  floorPow  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
      Name  Flags
      x     
      mode  

  static int log10Floor(long);
    descriptor: (J)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // long x
         0: .line 196
            getstatic com.google.common.math.LongMath.maxLog10ForLeadingZeros:[B
            lload 0 /* x */
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
            baload
            istore 2 /* y */
        start local 2 // int y
         1: .line 201
            iload 2 /* y */
            lload 0 /* x */
            getstatic com.google.common.math.LongMath.powersOf10:[J
            iload 2 /* y */
            laload
            invokestatic com.google.common.math.LongMath.lessThanBranchFree:(JJ)I
            isub
            ireturn
        end local 2 // int y
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     x  J
            1    2     2     y  I
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
      Name  Flags
      x     

  public static long pow(long, int);
    descriptor: (JI)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // long b
        start local 2 // int k
         0: .line 270
            ldc "exponent"
            iload 2 /* k */
            invokestatic com.google.common.math.MathPreconditions.checkNonNegative:(Ljava/lang/String;I)I
            pop
         1: .line 271
            ldc -2
            lload 0 /* b */
            lcmp
            ifgt 19
            lload 0 /* b */
            ldc 2
            lcmp
            ifgt 19
         2: .line 272
            lload 0 /* b */
            l2i
            tableswitch { // -2 - 2
                   -2: 13
                   -1: 7
                    0: 3
                    1: 6
                    2: 10
              default: 18
          }
         3: .line 274
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            ifne 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: i2l
            lreturn
         6: .line 276
      StackMap locals:
      StackMap stack:
            lconst_1
            lreturn
         7: .line 278
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            iconst_1
            iand
            ifne 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_m1
      StackMap locals:
      StackMap stack: int
         9: i2l
            lreturn
        10: .line 280
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            bipush 64
            if_icmpge 11
            lconst_1
            iload 2 /* k */
            lshl
            goto 12
      StackMap locals:
      StackMap stack:
        11: lconst_0
      StackMap locals:
      StackMap stack: long
        12: lreturn
        13: .line 282
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            bipush 64
            if_icmpge 17
        14: .line 283
            iload 2 /* k */
            iconst_1
            iand
            ifne 15
            lconst_1
            iload 2 /* k */
            lshl
            goto 16
      StackMap locals:
      StackMap stack:
        15: lconst_1
            iload 2 /* k */
            lshl
            lneg
      StackMap locals:
      StackMap stack: long
        16: lreturn
        17: .line 285
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
        18: .line 288
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 291
      StackMap locals:
      StackMap stack:
            lconst_1
            lstore 3 /* accum */
        start local 3 // long accum
        20: .line 292
      StackMap locals: long
      StackMap stack:
            iload 2 /* k */
            tableswitch { // 0 - 1
                    0: 21
                    1: 22
              default: 23
          }
        21: .line 294
      StackMap locals:
      StackMap stack:
            lload 3 /* accum */
            lreturn
        22: .line 296
      StackMap locals:
      StackMap stack:
            lload 3 /* accum */
            lload 0 /* b */
            lmul
            lreturn
        23: .line 298
      StackMap locals:
      StackMap stack:
            lload 3 /* accum */
            iload 2 /* k */
            iconst_1
            iand
            ifne 24
            lconst_1
            goto 25
      StackMap locals:
      StackMap stack: long
        24: lload 0 /* b */
      StackMap locals: long int long
      StackMap stack: long long
        25: lmul
            lstore 3 /* accum */
        26: .line 299
            lload 0 /* b */
            lload 0 /* b */
            lmul
            lstore 0 /* b */
        27: .line 291
            iload 2 /* k */
            iconst_1
            ishr
            istore 2 /* k */
            goto 20
        end local 3 // long accum
        end local 2 // int k
        end local 0 // long b
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   28     0      b  J
            0   28     2      k  I
           20   28     3  accum  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
      Name  Flags
      b     
      k     

  public static long sqrt(long, java.math.RoundingMode);
    descriptor: (JLjava/math/RoundingMode;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // long x
        start local 2 // java.math.RoundingMode mode
         0: .line 314
            ldc "x"
            lload 0 /* x */
            invokestatic com.google.common.math.MathPreconditions.checkNonNegative:(Ljava/lang/String;J)J
            pop2
         1: .line 315
            lload 0 /* x */
            invokestatic com.google.common.math.LongMath.fitsInInt:(J)Z
            ifeq 3
         2: .line 316
            lload 0 /* x */
            l2i
            aload 2 /* mode */
            invokestatic com.google.common.math.IntMath.sqrt:(ILjava/math/RoundingMode;)I
            i2l
            lreturn
         3: .line 333
      StackMap locals:
      StackMap stack:
            lload 0 /* x */
            l2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2l
            lstore 3 /* guess */
        start local 3 // long guess
         4: .line 335
            lload 3 /* guess */
            lload 3 /* guess */
            lmul
            lstore 5 /* guessSquared */
        start local 5 // long guessSquared
         5: .line 338
            invokestatic com.google.common.math.LongMath.$SWITCH_TABLE$java$math$RoundingMode:()[I
            aload 2 /* mode */
            invokevirtual java.math.RoundingMode.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 13
                    2: 10
                    3: 13
                    4: 10
                    5: 16
                    6: 16
                    7: 16
                    8: 6
              default: 21
          }
         6: .line 340
      StackMap locals: long long
      StackMap stack:
            lload 5 /* guessSquared */
            lload 0 /* x */
            lcmp
            ifne 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: invokestatic com.google.common.math.MathPreconditions.checkRoundingUnnecessary:(Z)V
         9: .line 341
            lload 3 /* guess */
            lreturn
        10: .line 344
      StackMap locals:
      StackMap stack:
            lload 0 /* x */
            lload 5 /* guessSquared */
            lcmp
            ifge 12
        11: .line 345
            lload 3 /* guess */
            lconst_1
            lsub
            lreturn
        12: .line 347
      StackMap locals:
      StackMap stack:
            lload 3 /* guess */
            lreturn
        13: .line 350
      StackMap locals:
      StackMap stack:
            lload 0 /* x */
            lload 5 /* guessSquared */
            lcmp
            ifle 15
        14: .line 351
            lload 3 /* guess */
            lconst_1
            ladd
            lreturn
        15: .line 353
      StackMap locals:
      StackMap stack:
            lload 3 /* guess */
            lreturn
        16: .line 357
      StackMap locals:
      StackMap stack:
            lload 3 /* guess */
            lload 0 /* x */
            lload 5 /* guessSquared */
            lcmp
            ifge 17
            iconst_1
            goto 18
      StackMap locals:
      StackMap stack: long
        17: iconst_0
      StackMap locals: long java.math.RoundingMode long long
      StackMap stack: long int
        18: i2l
            lsub
            lstore 7 /* sqrtFloor */
        start local 7 // long sqrtFloor
        19: .line 358
            lload 7 /* sqrtFloor */
            lload 7 /* sqrtFloor */
            lmul
            lload 7 /* sqrtFloor */
            ladd
            lstore 9 /* halfSquare */
        start local 9 // long halfSquare
        20: .line 370
            lload 7 /* sqrtFloor */
            lload 9 /* halfSquare */
            lload 0 /* x */
            invokestatic com.google.common.math.LongMath.lessThanBranchFree:(JJ)I
            i2l
            ladd
            lreturn
        end local 9 // long halfSquare
        end local 7 // long sqrtFloor
        21: .line 372
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 5 // long guessSquared
        end local 3 // long guess
        end local 2 // java.math.RoundingMode mode
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0             x  J
            0   22     2          mode  Ljava/math/RoundingMode;
            4   22     3         guess  J
            5   22     5  guessSquared  J
           19   21     7     sqrtFloor  J
           20   21     9    halfSquare  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
      Name  Flags
      x     
      mode  

  public static long divide(long, long, java.math.RoundingMode);
    descriptor: (JJLjava/math/RoundingMode;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=15, args_size=3
        start local 0 // long p
        start local 2 // long q
        start local 4 // java.math.RoundingMode mode
         0: .line 386
            aload 4 /* mode */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 387
            lload 0 /* p */
            lload 2 /* q */
            ldiv
            lstore 5 /* div */
        start local 5 // long div
         2: .line 388
            lload 0 /* p */
            lload 2 /* q */
            lload 5 /* div */
            lmul
            lsub
            lstore 7 /* rem */
        start local 7 // long rem
         3: .line 390
            lload 7 /* rem */
            lconst_0
            lcmp
            ifne 5
         4: .line 391
            lload 5 /* div */
            lreturn
         5: .line 401
      StackMap locals: long long
      StackMap stack:
            iconst_1
            lload 0 /* p */
            lload 2 /* q */
            lxor
            bipush 63
            lshr
            l2i
            ior
            istore 9 /* signum */
        start local 9 // int signum
         6: .line 403
            invokestatic com.google.common.math.LongMath.$SWITCH_TABLE$java$math$RoundingMode:()[I
            aload 4 /* mode */
            invokevirtual java.math.RoundingMode.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 12
                    2: 10
                    3: 14
                    4: 18
                    5: 22
                    6: 22
                    7: 22
                    8: 7
              default: 37
          }
         7: .line 405
      StackMap locals: int
      StackMap stack:
            lload 7 /* rem */
            lconst_0
            lcmp
            ifne 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: invokestatic com.google.common.math.MathPreconditions.checkRoundingUnnecessary:(Z)V
        10: .line 408
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* increment */
        start local 10 // boolean increment
        11: .line 409
            goto 38
        end local 10 // boolean increment
        12: .line 411
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 10 /* increment */
        start local 10 // boolean increment
        13: .line 412
            goto 38
        end local 10 // boolean increment
        14: .line 414
      StackMap locals:
      StackMap stack:
            iload 9 /* signum */
            ifle 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 10 /* increment */
        start local 10 // boolean increment
        17: .line 415
            goto 38
        end local 10 // boolean increment
        18: .line 417
      StackMap locals:
      StackMap stack:
            iload 9 /* signum */
            ifge 19
            iconst_1
            goto 20
      StackMap locals:
      StackMap stack:
        19: iconst_0
      StackMap locals:
      StackMap stack: int
        20: istore 10 /* increment */
        start local 10 // boolean increment
        21: .line 418
            goto 38
        end local 10 // boolean increment
        22: .line 422
      StackMap locals:
      StackMap stack:
            lload 7 /* rem */
            invokestatic java.lang.Math.abs:(J)J
            lstore 11 /* absRem */
        start local 11 // long absRem
        23: .line 423
            lload 11 /* absRem */
            lload 2 /* q */
            invokestatic java.lang.Math.abs:(J)J
            lload 11 /* absRem */
            lsub
            lsub
            lstore 13 /* cmpRemToHalfDivisor */
        start local 13 // long cmpRemToHalfDivisor
        24: .line 426
            lload 13 /* cmpRemToHalfDivisor */
            lconst_0
            lcmp
            ifne 33
        25: .line 427
            aload 4 /* mode */
            getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
            if_acmpne 26
            iconst_1
            goto 27
      StackMap locals: long long java.math.RoundingMode long long int top long long
      StackMap stack:
        26: iconst_0
      StackMap locals:
      StackMap stack: int
        27: aload 4 /* mode */
            getstatic java.math.RoundingMode.HALF_EVEN:Ljava/math/RoundingMode;
            if_acmpne 28
            iconst_1
            goto 29
      StackMap locals:
      StackMap stack: int
        28: iconst_0
      StackMap locals: long long java.math.RoundingMode long long int top long long
      StackMap stack: int int
        29: lload 5 /* div */
            lconst_1
            land
            lconst_0
            lcmp
            ifeq 30
            iconst_1
            goto 31
      StackMap locals: long long java.math.RoundingMode long long int top long long
      StackMap stack: int int
        30: iconst_0
      StackMap locals: long long java.math.RoundingMode long long int top long long
      StackMap stack: int int int
        31: iand
            ior
            istore 10 /* increment */
        start local 10 // boolean increment
        32: .line 428
            goto 38
        end local 10 // boolean increment
        33: .line 429
      StackMap locals:
      StackMap stack:
            lload 13 /* cmpRemToHalfDivisor */
            lconst_0
            lcmp
            ifle 34
            iconst_1
            goto 35
      StackMap locals:
      StackMap stack:
        34: iconst_0
      StackMap locals:
      StackMap stack: int
        35: istore 10 /* increment */
        start local 10 // boolean increment
        36: .line 431
            goto 38
        end local 13 // long cmpRemToHalfDivisor
        end local 11 // long absRem
        end local 10 // boolean increment
        37: .line 433
      StackMap locals: long long java.math.RoundingMode long long int
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        start local 10 // boolean increment
        38: .line 435
      StackMap locals: int
      StackMap stack:
            iload 10 /* increment */
            ifeq 39
            lload 5 /* div */
            iload 9 /* signum */
            i2l
            ladd
            goto 40
      StackMap locals:
      StackMap stack:
        39: lload 5 /* div */
      StackMap locals:
      StackMap stack: long
        40: lreturn
        end local 10 // boolean increment
        end local 9 // int signum
        end local 7 // long rem
        end local 5 // long div
        end local 4 // java.math.RoundingMode mode
        end local 2 // long q
        end local 0 // long p
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   41     0                    p  J
            0   41     2                    q  J
            0   41     4                 mode  Ljava/math/RoundingMode;
            2   41     5                  div  J
            3   41     7                  rem  J
            6   41     9               signum  I
           11   12    10            increment  Z
           13   14    10            increment  Z
           17   18    10            increment  Z
           21   22    10            increment  Z
           32   33    10            increment  Z
           36   37    10            increment  Z
           38   41    10            increment  Z
           23   37    11               absRem  J
           24   37    13  cmpRemToHalfDivisor  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
      Name  Flags
      p     
      q     
      mode  

  public static int mod(long, int);
    descriptor: (JI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // long x
        start local 2 // int m
         0: .line 459
            lload 0 /* x */
            iload 2 /* m */
            i2l
            invokestatic com.google.common.math.LongMath.mod:(JJ)J
            l2i
            ireturn
        end local 2 // int m
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  J
            0    1     2     m  I
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
      Name  Flags
      x     
      m     

  public static long mod(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // long x
        start local 2 // long m
         0: .line 482
            lload 2 /* m */
            lconst_0
            lcmp
            ifgt 2
         1: .line 483
            new java.lang.ArithmeticException
            dup
            ldc "Modulus must be positive"
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 485
      StackMap locals:
      StackMap stack:
            lload 0 /* x */
            lload 2 /* m */
            lrem
            lstore 4 /* result */
        start local 4 // long result
         3: .line 486
            lload 4 /* result */
            lconst_0
            lcmp
            iflt 4
            lload 4 /* result */
            goto 5
      StackMap locals: long
      StackMap stack:
         4: lload 4 /* result */
            lload 2 /* m */
            ladd
      StackMap locals:
      StackMap stack: long
         5: lreturn
        end local 4 // long result
        end local 2 // long m
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0       x  J
            0    6     2       m  J
            3    6     4  result  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
      Name  Flags
      x     
      m     

  public static long gcd(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // long a
        start local 2 // long b
         0: .line 501
            ldc "a"
            lload 0 /* a */
            invokestatic com.google.common.math.MathPreconditions.checkNonNegative:(Ljava/lang/String;J)J
            pop2
         1: .line 502
            ldc "b"
            lload 2 /* b */
            invokestatic com.google.common.math.MathPreconditions.checkNonNegative:(Ljava/lang/String;J)J
            pop2
         2: .line 503
            lload 0 /* a */
            lconst_0
            lcmp
            ifne 4
         3: .line 506
            lload 2 /* b */
            lreturn
         4: .line 507
      StackMap locals:
      StackMap stack:
            lload 2 /* b */
            lconst_0
            lcmp
            ifne 6
         5: .line 508
            lload 0 /* a */
            lreturn
         6: .line 514
      StackMap locals:
      StackMap stack:
            lload 0 /* a */
            invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
            istore 4 /* aTwos */
        start local 4 // int aTwos
         7: .line 515
            lload 0 /* a */
            iload 4 /* aTwos */
            lshr
            lstore 0 /* a */
         8: .line 516
            lload 2 /* b */
            invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
            istore 5 /* bTwos */
        start local 5 // int bTwos
         9: .line 517
            lload 2 /* b */
            iload 5 /* bTwos */
            lshr
            lstore 2 /* b */
        10: .line 518
            goto 16
        11: .line 526
      StackMap locals: int int
      StackMap stack:
            lload 0 /* a */
            lload 2 /* b */
            lsub
            lstore 6 /* delta */
        start local 6 // long delta
        12: .line 528
            lload 6 /* delta */
            lload 6 /* delta */
            bipush 63
            lshr
            land
            lstore 8 /* minDeltaOrZero */
        start local 8 // long minDeltaOrZero
        13: .line 531
            lload 6 /* delta */
            lload 8 /* minDeltaOrZero */
            lsub
            lload 8 /* minDeltaOrZero */
            lsub
            lstore 0 /* a */
        14: .line 534
            lload 2 /* b */
            lload 8 /* minDeltaOrZero */
            ladd
            lstore 2 /* b */
        15: .line 535
            lload 0 /* a */
            lload 0 /* a */
            invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
            lshr
            lstore 0 /* a */
        end local 8 // long minDeltaOrZero
        end local 6 // long delta
        16: .line 518
      StackMap locals:
      StackMap stack:
            lload 0 /* a */
            lload 2 /* b */
            lcmp
            ifne 11
        17: .line 537
            lload 0 /* a */
            iload 4 /* aTwos */
            iload 5 /* bTwos */
            invokestatic java.lang.Math.min:(II)I
            lshl
            lreturn
        end local 5 // int bTwos
        end local 4 // int aTwos
        end local 2 // long b
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0               a  J
            0   18     2               b  J
            7   18     4           aTwos  I
            9   18     5           bTwos  I
           12   16     6           delta  J
           13   16     8  minDeltaOrZero  J
    MethodParameters:
      Name  Flags
      a     
      b     

  public static long checkedAdd(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // long a
        start local 2 // long b
         0: .line 547
            lload 0 /* a */
            lload 2 /* b */
            ladd
            lstore 4 /* result */
        start local 4 // long result
         1: .line 548
            lload 0 /* a */
            lload 2 /* b */
            lxor
            lconst_0
            lcmp
            ifge 2
            iconst_1
            goto 3
      StackMap locals: long
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: lload 0 /* a */
            lload 4 /* result */
            lxor
            lconst_0
            lcmp
            iflt 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: int
         4: iconst_0
      StackMap locals: long long long
      StackMap stack: int int
         5: ior
            ldc "checkedAdd"
            lload 0 /* a */
            lload 2 /* b */
            invokestatic com.google.common.math.MathPreconditions.checkNoOverflow:(ZLjava/lang/String;JJ)V
         6: .line 549
            lload 4 /* result */
            lreturn
        end local 4 // long result
        end local 2 // long b
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0       a  J
            0    7     2       b  J
            1    7     4  result  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
      Name  Flags
      a     
      b     

  public static long checkedSubtract(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // long a
        start local 2 // long b
         0: .line 559
            lload 0 /* a */
            lload 2 /* b */
            lsub
            lstore 4 /* result */
        start local 4 // long result
         1: .line 560
            lload 0 /* a */
            lload 2 /* b */
            lxor
            lconst_0
            lcmp
            iflt 2
            iconst_1
            goto 3
      StackMap locals: long
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: lload 0 /* a */
            lload 4 /* result */
            lxor
            lconst_0
            lcmp
            iflt 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: int
         4: iconst_0
      StackMap locals: long long long
      StackMap stack: int int
         5: ior
            ldc "checkedSubtract"
            lload 0 /* a */
            lload 2 /* b */
            invokestatic com.google.common.math.MathPreconditions.checkNoOverflow:(ZLjava/lang/String;JJ)V
         6: .line 561
            lload 4 /* result */
            lreturn
        end local 4 // long result
        end local 2 // long b
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0       a  J
            0    7     2       b  J
            1    7     4  result  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
      Name  Flags
      a     
      b     

  public static long checkedMultiply(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // long a
        start local 2 // long b
         0: .line 572
            lload 0 /* a */
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
         1: .line 573
            lload 0 /* a */
            ldc -1
            lxor
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
         2: .line 572
            iadd
         3: .line 574
            lload 2 /* b */
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
         4: .line 572
            iadd
         5: .line 575
            lload 2 /* b */
            ldc -1
            lxor
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
         6: .line 572
            iadd
         7: .line 571
            istore 4 /* leadingZeros */
        start local 4 // int leadingZeros
         8: .line 586
            iload 4 /* leadingZeros */
            bipush 65
            if_icmple 10
         9: .line 587
            lload 0 /* a */
            lload 2 /* b */
            lmul
            lreturn
        10: .line 589
      StackMap locals: int
      StackMap stack:
            iload 4 /* leadingZeros */
            bipush 64
            if_icmplt 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: ldc "checkedMultiply"
            lload 0 /* a */
            lload 2 /* b */
            invokestatic com.google.common.math.MathPreconditions.checkNoOverflow:(ZLjava/lang/String;JJ)V
        13: .line 590
            lload 0 /* a */
            lconst_0
            lcmp
            iflt 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: lload 2 /* b */
            ldc -9223372036854775808
            lcmp
            ifeq 16
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack: int
        16: iconst_0
      StackMap locals: long long int
      StackMap stack: int int
        17: ior
            ldc "checkedMultiply"
            lload 0 /* a */
            lload 2 /* b */
            invokestatic com.google.common.math.MathPreconditions.checkNoOverflow:(ZLjava/lang/String;JJ)V
        18: .line 591
            lload 0 /* a */
            lload 2 /* b */
            lmul
            lstore 5 /* result */
        start local 5 // long result
        19: .line 592
            lload 0 /* a */
            lconst_0
            lcmp
            ifeq 20
            lload 5 /* result */
            lload 0 /* a */
            ldiv
            lload 2 /* b */
            lcmp
            ifeq 20
            iconst_0
            goto 21
      StackMap locals: long
      StackMap stack:
        20: iconst_1
      StackMap locals:
      StackMap stack: int
        21: ldc "checkedMultiply"
            lload 0 /* a */
            lload 2 /* b */
            invokestatic com.google.common.math.MathPreconditions.checkNoOverflow:(ZLjava/lang/String;JJ)V
        22: .line 593
            lload 5 /* result */
            lreturn
        end local 5 // long result
        end local 4 // int leadingZeros
        end local 2 // long b
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0             a  J
            0   23     2             b  J
            8   23     4  leadingZeros  I
           19   23     5        result  J
    MethodParameters:
      Name  Flags
      a     
      b     

  public static long checkedPow(long, int);
    descriptor: (JI)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // long b
        start local 2 // int k
         0: .line 604
            ldc "exponent"
            iload 2 /* k */
            invokestatic com.google.common.math.MathPreconditions.checkNonNegative:(Ljava/lang/String;I)I
            pop
         1: .line 605
            lload 0 /* b */
            ldc -2
            lcmp
            iflt 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: lload 0 /* b */
            ldc 2
            lcmp
            ifgt 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: int
         4: iconst_0
      StackMap locals: long int
      StackMap stack: int int
         5: iand
            ifeq 25
         6: .line 606
            lload 0 /* b */
            l2i
            tableswitch { // -2 - 2
                   -2: 18
                   -1: 11
                    0: 7
                    1: 10
                    2: 14
              default: 24
          }
         7: .line 608
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            ifne 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: i2l
            lreturn
        10: .line 610
      StackMap locals:
      StackMap stack:
            lconst_1
            lreturn
        11: .line 612
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            iconst_1
            iand
            ifne 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_m1
      StackMap locals:
      StackMap stack: int
        13: i2l
            lreturn
        14: .line 614
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            bipush 63
            if_icmpge 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: ldc "checkedPow"
            lload 0 /* b */
            iload 2 /* k */
            i2l
            invokestatic com.google.common.math.MathPreconditions.checkNoOverflow:(ZLjava/lang/String;JJ)V
        17: .line 615
            lconst_1
            iload 2 /* k */
            lshl
            lreturn
        18: .line 617
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            bipush 64
            if_icmpge 19
            iconst_1
            goto 20
      StackMap locals:
      StackMap stack:
        19: iconst_0
      StackMap locals:
      StackMap stack: int
        20: ldc "checkedPow"
            lload 0 /* b */
            iload 2 /* k */
            i2l
            invokestatic com.google.common.math.MathPreconditions.checkNoOverflow:(ZLjava/lang/String;JJ)V
        21: .line 618
            iload 2 /* k */
            iconst_1
            iand
            ifne 22
            lconst_1
            iload 2 /* k */
            lshl
            goto 23
      StackMap locals:
      StackMap stack:
        22: ldc -1
            iload 2 /* k */
            lshl
      StackMap locals:
      StackMap stack: long
        23: lreturn
        24: .line 620
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        25: .line 623
      StackMap locals:
      StackMap stack:
            lconst_1
            lstore 3 /* accum */
        start local 3 // long accum
        26: .line 625
      StackMap locals: long
      StackMap stack:
            iload 2 /* k */
            tableswitch { // 0 - 1
                    0: 27
                    1: 28
              default: 29
          }
        27: .line 627
      StackMap locals:
      StackMap stack:
            lload 3 /* accum */
            lreturn
        28: .line 629
      StackMap locals:
      StackMap stack:
            lload 3 /* accum */
            lload 0 /* b */
            invokestatic com.google.common.math.LongMath.checkedMultiply:(JJ)J
            lreturn
        29: .line 631
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            iconst_1
            iand
            ifeq 31
        30: .line 632
            lload 3 /* accum */
            lload 0 /* b */
            invokestatic com.google.common.math.LongMath.checkedMultiply:(JJ)J
            lstore 3 /* accum */
        31: .line 634
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            iconst_1
            ishr
            istore 2 /* k */
        32: .line 635
            iload 2 /* k */
            ifle 26
        33: .line 637
            ldc -3037000499
            lload 0 /* b */
            lcmp
            ifgt 34
            lload 0 /* b */
            ldc 3037000499
            lcmp
            ifgt 34
            iconst_1
            goto 35
      StackMap locals:
      StackMap stack:
        34: iconst_0
      StackMap locals:
      StackMap stack: int
        35: ldc "checkedPow"
            lload 0 /* b */
            iload 2 /* k */
            i2l
        36: .line 636
            invokestatic com.google.common.math.MathPreconditions.checkNoOverflow:(ZLjava/lang/String;JJ)V
        37: .line 638
            lload 0 /* b */
            lload 0 /* b */
            lmul
            lstore 0 /* b */
        38: .line 624
            goto 26
        end local 3 // long accum
        end local 2 // int k
        end local 0 // long b
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   39     0      b  J
            0   39     2      k  I
           26   39     3  accum  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
      Name  Flags
      b     
      k     

  public static long saturatedAdd(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // long a
        start local 2 // long b
         0: .line 652
            lload 0 /* a */
            lload 2 /* b */
            ladd
            lstore 4 /* naiveSum */
        start local 4 // long naiveSum
         1: .line 653
            lload 0 /* a */
            lload 2 /* b */
            lxor
            lconst_0
            lcmp
            ifge 2
            iconst_1
            goto 3
      StackMap locals: long
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: lload 0 /* a */
            lload 4 /* naiveSum */
            lxor
            lconst_0
            lcmp
            iflt 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: int
         4: iconst_0
      StackMap locals: long long long
      StackMap stack: int int
         5: ior
            ifeq 7
         6: .line 656
            lload 4 /* naiveSum */
            lreturn
         7: .line 659
      StackMap locals:
      StackMap stack:
            ldc 9223372036854775807
            lload 4 /* naiveSum */
            bipush 63
            lushr
            lconst_1
            lxor
            ladd
            lreturn
        end local 4 // long naiveSum
        end local 2 // long b
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0         a  J
            0    8     2         b  J
            1    8     4  naiveSum  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
      Name  Flags
      a     
      b     

  public static long saturatedSubtract(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // long a
        start local 2 // long b
         0: .line 670
            lload 0 /* a */
            lload 2 /* b */
            lsub
            lstore 4 /* naiveDifference */
        start local 4 // long naiveDifference
         1: .line 671
            lload 0 /* a */
            lload 2 /* b */
            lxor
            lconst_0
            lcmp
            iflt 2
            iconst_1
            goto 3
      StackMap locals: long
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: lload 0 /* a */
            lload 4 /* naiveDifference */
            lxor
            lconst_0
            lcmp
            iflt 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: int
         4: iconst_0
      StackMap locals: long long long
      StackMap stack: int int
         5: ior
            ifeq 7
         6: .line 674
            lload 4 /* naiveDifference */
            lreturn
         7: .line 677
      StackMap locals:
      StackMap stack:
            ldc 9223372036854775807
            lload 4 /* naiveDifference */
            bipush 63
            lushr
            lconst_1
            lxor
            ladd
            lreturn
        end local 4 // long naiveDifference
        end local 2 // long b
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0                a  J
            0    8     2                b  J
            1    8     4  naiveDifference  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
      Name  Flags
      a     
      b     

  public static long saturatedMultiply(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // long a
        start local 2 // long b
         0: .line 690
            lload 0 /* a */
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
         1: .line 691
            lload 0 /* a */
            ldc -1
            lxor
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
         2: .line 690
            iadd
         3: .line 692
            lload 2 /* b */
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
         4: .line 690
            iadd
         5: .line 693
            lload 2 /* b */
            ldc -1
            lxor
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
         6: .line 690
            iadd
         7: .line 689
            istore 4 /* leadingZeros */
        start local 4 // int leadingZeros
         8: .line 694
            iload 4 /* leadingZeros */
            bipush 65
            if_icmple 10
         9: .line 695
            lload 0 /* a */
            lload 2 /* b */
            lmul
            lreturn
        10: .line 698
      StackMap locals: int
      StackMap stack:
            ldc 9223372036854775807
            lload 0 /* a */
            lload 2 /* b */
            lxor
            bipush 63
            lushr
            ladd
            lstore 5 /* limit */
        start local 5 // long limit
        11: .line 699
            iload 4 /* leadingZeros */
            bipush 64
            if_icmpge 12
            iconst_1
            goto 13
      StackMap locals: long
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: lload 0 /* a */
            lconst_0
            lcmp
            ifge 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack: int
        14: iconst_0
      StackMap locals: long long int long
      StackMap stack: int int
        15: lload 2 /* b */
            ldc -9223372036854775808
            lcmp
            ifne 16
            iconst_1
            goto 17
      StackMap locals: long long int long
      StackMap stack: int int
        16: iconst_0
      StackMap locals: long long int long
      StackMap stack: int int int
        17: iand
            ior
            ifeq 19
        18: .line 701
            lload 5 /* limit */
            lreturn
        19: .line 703
      StackMap locals:
      StackMap stack:
            lload 0 /* a */
            lload 2 /* b */
            lmul
            lstore 7 /* result */
        start local 7 // long result
        20: .line 704
            lload 0 /* a */
            lconst_0
            lcmp
            ifeq 21
            lload 7 /* result */
            lload 0 /* a */
            ldiv
            lload 2 /* b */
            lcmp
            ifne 22
        21: .line 705
      StackMap locals: long
      StackMap stack:
            lload 7 /* result */
            lreturn
        22: .line 707
      StackMap locals:
      StackMap stack:
            lload 5 /* limit */
            lreturn
        end local 7 // long result
        end local 5 // long limit
        end local 4 // int leadingZeros
        end local 2 // long b
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0             a  J
            0   23     2             b  J
            8   23     4  leadingZeros  I
           11   23     5         limit  J
           20   23     7        result  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
      Name  Flags
      a     
      b     

  public static long saturatedPow(long, int);
    descriptor: (JI)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // long b
        start local 2 // int k
         0: .line 718
            ldc "exponent"
            iload 2 /* k */
            invokestatic com.google.common.math.MathPreconditions.checkNonNegative:(Ljava/lang/String;I)I
            pop
         1: .line 719
            lload 0 /* b */
            ldc -2
            lcmp
            iflt 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: lload 0 /* b */
            ldc 2
            lcmp
            ifgt 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: int
         4: iconst_0
      StackMap locals: long int
      StackMap stack: int int
         5: iand
            ifeq 23
         6: .line 720
            lload 0 /* b */
            l2i
            tableswitch { // -2 - 2
                   -2: 17
                   -1: 11
                    0: 7
                    1: 10
                    2: 14
              default: 22
          }
         7: .line 722
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            ifne 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: i2l
            lreturn
        10: .line 724
      StackMap locals:
      StackMap stack:
            lconst_1
            lreturn
        11: .line 726
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            iconst_1
            iand
            ifne 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_m1
      StackMap locals:
      StackMap stack: int
        13: i2l
            lreturn
        14: .line 728
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            bipush 63
            if_icmplt 16
        15: .line 729
            ldc 9223372036854775807
            lreturn
        16: .line 731
      StackMap locals:
      StackMap stack:
            lconst_1
            iload 2 /* k */
            lshl
            lreturn
        17: .line 733
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            bipush 64
            if_icmplt 19
        18: .line 734
            ldc 9223372036854775807
            iload 2 /* k */
            iconst_1
            iand
            i2l
            ladd
            lreturn
        19: .line 736
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            iconst_1
            iand
            ifne 20
            lconst_1
            iload 2 /* k */
            lshl
            goto 21
      StackMap locals:
      StackMap stack:
        20: ldc -1
            iload 2 /* k */
            lshl
      StackMap locals:
      StackMap stack: long
        21: lreturn
        22: .line 738
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        23: .line 741
      StackMap locals:
      StackMap stack:
            lconst_1
            lstore 3 /* accum */
        start local 3 // long accum
        24: .line 743
            ldc 9223372036854775807
            lload 0 /* b */
            bipush 63
            lushr
            iload 2 /* k */
            iconst_1
            iand
            i2l
            land
            ladd
            lstore 5 /* limit */
        start local 5 // long limit
        25: .line 745
      StackMap locals: long long
      StackMap stack:
            iload 2 /* k */
            tableswitch { // 0 - 1
                    0: 26
                    1: 27
              default: 28
          }
        26: .line 747
      StackMap locals:
      StackMap stack:
            lload 3 /* accum */
            lreturn
        27: .line 749
      StackMap locals:
      StackMap stack:
            lload 3 /* accum */
            lload 0 /* b */
            invokestatic com.google.common.math.LongMath.saturatedMultiply:(JJ)J
            lreturn
        28: .line 751
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            iconst_1
            iand
            ifeq 30
        29: .line 752
            lload 3 /* accum */
            lload 0 /* b */
            invokestatic com.google.common.math.LongMath.saturatedMultiply:(JJ)J
            lstore 3 /* accum */
        30: .line 754
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            iconst_1
            ishr
            istore 2 /* k */
        31: .line 755
            iload 2 /* k */
            ifle 25
        32: .line 756
            ldc -3037000499
            lload 0 /* b */
            lcmp
            ifle 33
            iconst_1
            goto 34
      StackMap locals:
      StackMap stack:
        33: iconst_0
      StackMap locals:
      StackMap stack: int
        34: lload 0 /* b */
            ldc 3037000499
            lcmp
            ifle 35
            iconst_1
            goto 36
      StackMap locals:
      StackMap stack: int
        35: iconst_0
      StackMap locals: long int long long
      StackMap stack: int int
        36: ior
            ifeq 38
        37: .line 757
            lload 5 /* limit */
            lreturn
        38: .line 759
      StackMap locals:
      StackMap stack:
            lload 0 /* b */
            lload 0 /* b */
            lmul
            lstore 0 /* b */
        39: .line 744
            goto 25
        end local 5 // long limit
        end local 3 // long accum
        end local 2 // int k
        end local 0 // long b
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   40     0      b  J
            0   40     2      k  I
           24   40     3  accum  J
           25   40     5  limit  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
      Name  Flags
      b     
      k     

  public static long factorial(int);
    descriptor: (I)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int n
         0: .line 775
            ldc "n"
            iload 0 /* n */
            invokestatic com.google.common.math.MathPreconditions.checkNonNegative:(Ljava/lang/String;I)I
            pop
         1: .line 776
            iload 0 /* n */
            getstatic com.google.common.math.LongMath.factorials:[J
            arraylength
            if_icmpge 2
            getstatic com.google.common.math.LongMath.factorials:[J
            iload 0 /* n */
            laload
            goto 3
      StackMap locals:
      StackMap stack:
         2: ldc 9223372036854775807
      StackMap locals:
      StackMap stack: long
         3: lreturn
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     n  I
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
      Name  Flags
      n     

  public static long binomial(int, int);
    descriptor: (II)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=11, args_size=2
        start local 0 // int n
        start local 1 // int k
         0: .line 810
            ldc "n"
            iload 0 /* n */
            invokestatic com.google.common.math.MathPreconditions.checkNonNegative:(Ljava/lang/String;I)I
            pop
         1: .line 811
            ldc "k"
            iload 1 /* k */
            invokestatic com.google.common.math.MathPreconditions.checkNonNegative:(Ljava/lang/String;I)I
            pop
         2: .line 812
            iload 1 /* k */
            iload 0 /* n */
            if_icmpgt 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: ldc "k (%s) > n (%s)"
            iload 1 /* k */
            iload 0 /* n */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;II)V
         5: .line 813
            iload 1 /* k */
            iload 0 /* n */
            iconst_1
            ishr
            if_icmple 7
         6: .line 814
            iload 0 /* n */
            iload 1 /* k */
            isub
            istore 1 /* k */
         7: .line 816
      StackMap locals:
      StackMap stack:
            iload 1 /* k */
            tableswitch { // 0 - 1
                    0: 8
                    1: 9
              default: 10
          }
         8: .line 818
      StackMap locals:
      StackMap stack:
            lconst_1
            lreturn
         9: .line 820
      StackMap locals:
      StackMap stack:
            iload 0 /* n */
            i2l
            lreturn
        10: .line 822
      StackMap locals:
      StackMap stack:
            iload 0 /* n */
            getstatic com.google.common.math.LongMath.factorials:[J
            arraylength
            if_icmpge 12
        11: .line 823
            getstatic com.google.common.math.LongMath.factorials:[J
            iload 0 /* n */
            laload
            getstatic com.google.common.math.LongMath.factorials:[J
            iload 1 /* k */
            laload
            getstatic com.google.common.math.LongMath.factorials:[J
            iload 0 /* n */
            iload 1 /* k */
            isub
            laload
            lmul
            ldiv
            lreturn
        12: .line 824
      StackMap locals:
      StackMap stack:
            iload 1 /* k */
            getstatic com.google.common.math.LongMath.biggestBinomials:[I
            arraylength
            if_icmpge 13
            iload 0 /* n */
            getstatic com.google.common.math.LongMath.biggestBinomials:[I
            iload 1 /* k */
            iaload
            if_icmple 14
        13: .line 825
      StackMap locals:
      StackMap stack:
            ldc 9223372036854775807
            lreturn
        14: .line 826
      StackMap locals:
      StackMap stack:
            iload 1 /* k */
            getstatic com.google.common.math.LongMath.biggestSimpleBinomials:[I
            arraylength
            if_icmpge 23
            iload 0 /* n */
            getstatic com.google.common.math.LongMath.biggestSimpleBinomials:[I
            iload 1 /* k */
            iaload
            if_icmpgt 23
        15: .line 828
            iload 0 /* n */
            iinc 0 /* n */ -1
            i2l
            lstore 2 /* result */
        start local 2 // long result
        16: .line 829
            iconst_2
            istore 4 /* i */
        start local 4 // int i
        17: goto 21
        18: .line 830
      StackMap locals: long int
      StackMap stack:
            lload 2 /* result */
            iload 0 /* n */
            i2l
            lmul
            lstore 2 /* result */
        19: .line 831
            lload 2 /* result */
            iload 4 /* i */
            i2l
            ldiv
            lstore 2 /* result */
        20: .line 829
            iinc 0 /* n */ -1
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* i */
            iload 1 /* k */
            if_icmple 18
        end local 4 // int i
        22: .line 833
            lload 2 /* result */
            lreturn
        end local 2 // long result
        23: .line 835
      StackMap locals:
      StackMap stack:
            iload 0 /* n */
            i2l
            getstatic java.math.RoundingMode.CEILING:Ljava/math/RoundingMode;
            invokestatic com.google.common.math.LongMath.log2:(JLjava/math/RoundingMode;)I
            istore 2 /* nBits */
        start local 2 // int nBits
        24: .line 837
            lconst_1
            lstore 3 /* result */
        start local 3 // long result
        25: .line 838
            iload 0 /* n */
            iinc 0 /* n */ -1
            i2l
            lstore 5 /* numerator */
        start local 5 // long numerator
        26: .line 839
            lconst_1
            lstore 7 /* denominator */
        start local 7 // long denominator
        27: .line 841
            iload 2 /* nBits */
            istore 9 /* numeratorBits */
        start local 9 // int numeratorBits
        28: .line 849
            iconst_2
            istore 10 /* i */
        start local 10 // int i
        29: goto 40
        30: .line 850
      StackMap locals: int int int long long long int int
      StackMap stack:
            iload 9 /* numeratorBits */
            iload 2 /* nBits */
            iadd
            bipush 63
            if_icmpge 35
        31: .line 852
            lload 5 /* numerator */
            iload 0 /* n */
            i2l
            lmul
            lstore 5 /* numerator */
        32: .line 853
            lload 7 /* denominator */
            iload 10 /* i */
            i2l
            lmul
            lstore 7 /* denominator */
        33: .line 854
            iload 9 /* numeratorBits */
            iload 2 /* nBits */
            iadd
            istore 9 /* numeratorBits */
        34: .line 855
            goto 39
        35: .line 858
      StackMap locals:
      StackMap stack:
            lload 3 /* result */
            lload 5 /* numerator */
            lload 7 /* denominator */
            invokestatic com.google.common.math.LongMath.multiplyFraction:(JJJ)J
            lstore 3 /* result */
        36: .line 859
            iload 0 /* n */
            i2l
            lstore 5 /* numerator */
        37: .line 860
            iload 10 /* i */
            i2l
            lstore 7 /* denominator */
        38: .line 861
            iload 2 /* nBits */
            istore 9 /* numeratorBits */
        39: .line 849
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
            iinc 0 /* n */ -1
      StackMap locals:
      StackMap stack:
        40: iload 10 /* i */
            iload 1 /* k */
            if_icmple 30
        end local 10 // int i
        41: .line 864
            lload 3 /* result */
            lload 5 /* numerator */
            lload 7 /* denominator */
            invokestatic com.google.common.math.LongMath.multiplyFraction:(JJJ)J
            lreturn
        end local 9 // int numeratorBits
        end local 7 // long denominator
        end local 5 // long numerator
        end local 3 // long result
        end local 2 // int nBits
        end local 1 // int k
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   42     0              n  I
            0   42     1              k  I
           16   23     2         result  J
           17   22     4              i  I
           24   42     2          nBits  I
           25   42     3         result  J
           26   42     5      numerator  J
           27   42     7    denominator  J
           28   42     9  numeratorBits  I
           29   41    10              i  I
    MethodParameters:
      Name  Flags
      n     
      k     

  static long multiplyFraction(long, long, long);
    descriptor: (JJJ)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // long x
        start local 2 // long numerator
        start local 4 // long denominator
         0: .line 871
            lload 0 /* x */
            lconst_1
            lcmp
            ifne 2
         1: .line 872
            lload 2 /* numerator */
            lload 4 /* denominator */
            ldiv
            lreturn
         2: .line 874
      StackMap locals:
      StackMap stack:
            lload 0 /* x */
            lload 4 /* denominator */
            invokestatic com.google.common.math.LongMath.gcd:(JJ)J
            lstore 6 /* commonDivisor */
        start local 6 // long commonDivisor
         3: .line 875
            lload 0 /* x */
            lload 6 /* commonDivisor */
            ldiv
            lstore 0 /* x */
         4: .line 876
            lload 4 /* denominator */
            lload 6 /* commonDivisor */
            ldiv
            lstore 4 /* denominator */
         5: .line 879
            lload 0 /* x */
            lload 2 /* numerator */
            lload 4 /* denominator */
            ldiv
            lmul
            lreturn
        end local 6 // long commonDivisor
        end local 4 // long denominator
        end local 2 // long numerator
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0              x  J
            0    6     2      numerator  J
            0    6     4    denominator  J
            3    6     6  commonDivisor  J
    MethodParameters:
             Name  Flags
      x            
      numerator    
      denominator  

  static boolean fitsInInt(long);
    descriptor: (J)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long x
         0: .line 964
            lload 0 /* x */
            l2i
            i2l
            lload 0 /* x */
            lcmp
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     x  J
    MethodParameters:
      Name  Flags
      x     

  public static long mean(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // long x
        start local 2 // long y
         0: .line 977
            lload 0 /* x */
            lload 2 /* y */
            land
            lload 0 /* x */
            lload 2 /* y */
            lxor
            iconst_1
            lshr
            ladd
            lreturn
        end local 2 // long y
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  J
            0    1     2     y  J
    MethodParameters:
      Name  Flags
      x     
      y     

  public static boolean isPrime(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // long n
         0: .line 1004
            lload 0 /* n */
            ldc 2
            lcmp
            ifge 3
         1: .line 1005
            ldc "n"
            lload 0 /* n */
            invokestatic com.google.common.math.MathPreconditions.checkNonNegative:(Ljava/lang/String;J)J
            pop2
         2: .line 1006
            iconst_0
            ireturn
         3: .line 1008
      StackMap locals:
      StackMap stack:
            lload 0 /* n */
            ldc 66
            lcmp
            ifge 8
         4: .line 1011
            ldc 722865708377213483
         5: .line 1010
            lstore 2 /* mask */
        start local 2 // long mask
         6: .line 1030
            lload 2 /* mask */
            lload 0 /* n */
            l2i
            iconst_2
            isub
            lshr
            lconst_1
            land
            lconst_0
            lcmp
            ifeq 7
            iconst_1
            ireturn
      StackMap locals: long
      StackMap stack:
         7: iconst_0
            ireturn
        end local 2 // long mask
         8: .line 1033
      StackMap locals:
      StackMap stack:
            ldc -545925251
            iconst_1
            lload 0 /* n */
            ldc 30
            lrem
            l2i
            ishl
            iand
            ifeq 10
         9: .line 1034
            iconst_0
            ireturn
        10: .line 1036
      StackMap locals:
      StackMap stack:
            lload 0 /* n */
            ldc 7
            lrem
            lconst_0
            lcmp
            ifeq 11
            lload 0 /* n */
            ldc 11
            lrem
            lconst_0
            lcmp
            ifeq 11
            lload 0 /* n */
            ldc 13
            lrem
            lconst_0
            lcmp
            ifne 12
        11: .line 1037
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        12: .line 1039
      StackMap locals:
      StackMap stack:
            lload 0 /* n */
            ldc 289
            lcmp
            ifge 14
        13: .line 1040
            iconst_1
            ireturn
        14: .line 1043
      StackMap locals:
      StackMap stack:
            getstatic com.google.common.math.LongMath.millerRabinBaseSets:[[J
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 25
      StackMap locals: long top int int long[][]
      StackMap stack:
        15: aload 5
            iload 3
            aaload
            astore 2 /* baseSet */
        start local 2 // long[] baseSet
        16: .line 1044
            lload 0 /* n */
            aload 2 /* baseSet */
            iconst_0
            laload
            lcmp
            ifgt 24
        17: .line 1045
            iconst_1
            istore 6 /* i */
        start local 6 // int i
        18: goto 22
        19: .line 1046
      StackMap locals: long long[] int int long[][] int
      StackMap stack:
            aload 2 /* baseSet */
            iload 6 /* i */
            laload
            lload 0 /* n */
            invokestatic com.google.common.math.LongMath$MillerRabinTester.test:(JJ)Z
            ifne 21
        20: .line 1047
            iconst_0
            ireturn
        21: .line 1045
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* i */
            aload 2 /* baseSet */
            arraylength
            if_icmplt 19
        end local 6 // int i
        23: .line 1050
            iconst_1
            ireturn
        end local 2 // long[] baseSet
        24: .line 1043
      StackMap locals: long top int int long[][]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        25: iload 3
            iload 4
            if_icmplt 15
        26: .line 1053
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 0 // long n
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   27     0        n  J
            6    8     2     mask  J
           16   24     2  baseSet  [J
           18   23     6        i  I
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
      com.google.common.annotations.Beta()
    MethodParameters:
      Name  Flags
      n     

  public static double roundToDouble(long, java.math.RoundingMode);
    descriptor: (JLjava/math/RoundingMode;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=21, args_size=2
        start local 0 // long x
        start local 2 // java.math.RoundingMode mode
         0: .line 1248
            lload 0 /* x */
            l2d
            dstore 3 /* roundArbitrarily */
        start local 3 // double roundArbitrarily
         1: .line 1249
            dload 3 /* roundArbitrarily */
            d2l
            lstore 5 /* roundArbitrarilyAsLong */
        start local 5 // long roundArbitrarilyAsLong
         2: .line 1252
            lload 5 /* roundArbitrarilyAsLong */
            ldc 9223372036854775807
            lcmp
            ifne 5
         3: .line 1263
            iconst_m1
            istore 7 /* cmpXToRoundArbitrarily */
        start local 7 // int cmpXToRoundArbitrarily
         4: .line 1264
            goto 6
        end local 7 // int cmpXToRoundArbitrarily
         5: .line 1265
      StackMap locals: double long
      StackMap stack:
            lload 0 /* x */
            lload 5 /* roundArbitrarilyAsLong */
            invokestatic com.google.common.primitives.Longs.compare:(JJ)I
            istore 7 /* cmpXToRoundArbitrarily */
        start local 7 // int cmpXToRoundArbitrarily
         6: .line 1268
      StackMap locals: int
      StackMap stack:
            invokestatic com.google.common.math.LongMath.$SWITCH_TABLE$java$math$RoundingMode:()[I
            aload 2 /* mode */
            invokevirtual java.math.RoundingMode.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 26
                    2: 18
                    3: 15
                    4: 11
                    5: 34
                    6: 34
                    7: 34
                    8: 7
              default: 65
          }
         7: .line 1270
      StackMap locals:
      StackMap stack:
            iload 7 /* cmpXToRoundArbitrarily */
            ifne 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: invokestatic com.google.common.math.MathPreconditions.checkRoundingUnnecessary:(Z)V
        10: .line 1271
            dload 3 /* roundArbitrarily */
            dreturn
        11: .line 1273
      StackMap locals:
      StackMap stack:
            iload 7 /* cmpXToRoundArbitrarily */
            iflt 13
        12: .line 1274
            dload 3 /* roundArbitrarily */
            goto 14
        13: .line 1275
      StackMap locals:
      StackMap stack:
            dload 3 /* roundArbitrarily */
            invokestatic com.google.common.math.DoubleUtils.nextDown:(D)D
        14: .line 1273
      StackMap locals:
      StackMap stack: double
            dreturn
        15: .line 1277
      StackMap locals:
      StackMap stack:
            iload 7 /* cmpXToRoundArbitrarily */
            ifgt 16
            dload 3 /* roundArbitrarily */
            goto 17
      StackMap locals:
      StackMap stack:
        16: dload 3 /* roundArbitrarily */
            invokestatic java.lang.Math.nextUp:(D)D
      StackMap locals:
      StackMap stack: double
        17: dreturn
        18: .line 1279
      StackMap locals:
      StackMap stack:
            lload 0 /* x */
            lconst_0
            lcmp
            iflt 23
        19: .line 1280
            iload 7 /* cmpXToRoundArbitrarily */
            iflt 21
        20: .line 1281
            dload 3 /* roundArbitrarily */
            goto 22
        21: .line 1282
      StackMap locals:
      StackMap stack:
            dload 3 /* roundArbitrarily */
            invokestatic com.google.common.math.DoubleUtils.nextDown:(D)D
        22: .line 1280
      StackMap locals:
      StackMap stack: double
            dreturn
        23: .line 1284
      StackMap locals:
      StackMap stack:
            iload 7 /* cmpXToRoundArbitrarily */
            ifgt 24
            dload 3 /* roundArbitrarily */
            goto 25
      StackMap locals:
      StackMap stack:
        24: dload 3 /* roundArbitrarily */
            invokestatic java.lang.Math.nextUp:(D)D
      StackMap locals:
      StackMap stack: double
        25: dreturn
        26: .line 1287
      StackMap locals:
      StackMap stack:
            lload 0 /* x */
            lconst_0
            lcmp
            iflt 30
        27: .line 1288
            iload 7 /* cmpXToRoundArbitrarily */
            ifgt 28
            dload 3 /* roundArbitrarily */
            goto 29
      StackMap locals:
      StackMap stack:
        28: dload 3 /* roundArbitrarily */
            invokestatic java.lang.Math.nextUp:(D)D
      StackMap locals:
      StackMap stack: double
        29: dreturn
        30: .line 1290
      StackMap locals:
      StackMap stack:
            iload 7 /* cmpXToRoundArbitrarily */
            iflt 32
        31: .line 1291
            dload 3 /* roundArbitrarily */
            goto 33
        32: .line 1292
      StackMap locals:
      StackMap stack:
            dload 3 /* roundArbitrarily */
            invokestatic com.google.common.math.DoubleUtils.nextDown:(D)D
        33: .line 1290
      StackMap locals:
      StackMap stack: double
            dreturn
        34: .line 1303
      StackMap locals:
      StackMap stack:
            iload 7 /* cmpXToRoundArbitrarily */
            iflt 40
        35: .line 1304
            dload 3 /* roundArbitrarily */
            dstore 10 /* roundFloorAsDouble */
        start local 10 // double roundFloorAsDouble
        36: .line 1305
            lload 5 /* roundArbitrarilyAsLong */
            lstore 8 /* roundFloor */
        start local 8 // long roundFloor
        37: .line 1306
            dload 3 /* roundArbitrarily */
            invokestatic java.lang.Math.nextUp:(D)D
            dstore 14 /* roundCeilingAsDouble */
        start local 14 // double roundCeilingAsDouble
        38: .line 1307
            dload 14 /* roundCeilingAsDouble */
            invokestatic java.lang.Math.ceil:(D)D
            d2l
            lstore 12 /* roundCeiling */
        start local 12 // long roundCeiling
        39: .line 1308
            goto 44
        end local 14 // double roundCeilingAsDouble
        end local 12 // long roundCeiling
        end local 10 // double roundFloorAsDouble
        end local 8 // long roundFloor
        40: .line 1309
      StackMap locals:
      StackMap stack:
            dload 3 /* roundArbitrarily */
            dstore 14 /* roundCeilingAsDouble */
        start local 14 // double roundCeilingAsDouble
        41: .line 1310
            lload 5 /* roundArbitrarilyAsLong */
            lstore 12 /* roundCeiling */
        start local 12 // long roundCeiling
        42: .line 1311
            dload 3 /* roundArbitrarily */
            invokestatic com.google.common.math.DoubleUtils.nextDown:(D)D
            dstore 10 /* roundFloorAsDouble */
        start local 10 // double roundFloorAsDouble
        43: .line 1312
            dload 10 /* roundFloorAsDouble */
            invokestatic java.lang.Math.floor:(D)D
            d2l
            lstore 8 /* roundFloor */
        start local 8 // long roundFloor
        44: .line 1315
      StackMap locals: long java.math.RoundingMode double long int long double long double
      StackMap stack:
            lload 0 /* x */
            lload 8 /* roundFloor */
            lsub
            lstore 16 /* deltaToFloor */
        start local 16 // long deltaToFloor
        45: .line 1316
            lload 12 /* roundCeiling */
            lload 0 /* x */
            lsub
            lstore 18 /* deltaToCeiling */
        start local 18 // long deltaToCeiling
        46: .line 1318
            lload 12 /* roundCeiling */
            ldc 9223372036854775807
            lcmp
            ifne 48
        47: .line 1321
            lload 18 /* deltaToCeiling */
            lconst_1
            ladd
            lstore 18 /* deltaToCeiling */
        48: .line 1324
      StackMap locals: long long
      StackMap stack:
            lload 16 /* deltaToFloor */
            lload 18 /* deltaToCeiling */
            invokestatic com.google.common.primitives.Longs.compare:(JJ)I
            istore 20 /* diff */
        start local 20 // int diff
        49: .line 1325
            iload 20 /* diff */
            ifge 51
        50: .line 1326
            dload 10 /* roundFloorAsDouble */
            dreturn
        51: .line 1327
      StackMap locals: int
      StackMap stack:
            iload 20 /* diff */
            ifle 53
        52: .line 1328
            dload 14 /* roundCeilingAsDouble */
            dreturn
        53: .line 1331
      StackMap locals:
      StackMap stack:
            invokestatic com.google.common.math.LongMath.$SWITCH_TABLE$java$math$RoundingMode:()[I
            aload 2 /* mode */
            invokevirtual java.math.RoundingMode.ordinal:()I
            iaload
            tableswitch { // 5 - 7
                    5: 61
                    6: 58
                    7: 54
              default: 64
          }
        54: .line 1333
      StackMap locals:
      StackMap stack:
            dload 10 /* roundFloorAsDouble */
            invokestatic com.google.common.math.DoubleUtils.getSignificand:(D)J
            lconst_1
            land
            lconst_0
            lcmp
            ifne 56
        55: .line 1334
            dload 10 /* roundFloorAsDouble */
            goto 57
        56: .line 1335
      StackMap locals:
      StackMap stack:
            dload 14 /* roundCeilingAsDouble */
        57: .line 1333
      StackMap locals:
      StackMap stack: double
            dreturn
        58: .line 1337
      StackMap locals:
      StackMap stack:
            lload 0 /* x */
            lconst_0
            lcmp
            iflt 59
            dload 10 /* roundFloorAsDouble */
            goto 60
      StackMap locals:
      StackMap stack:
        59: dload 14 /* roundCeilingAsDouble */
      StackMap locals:
      StackMap stack: double
        60: dreturn
        61: .line 1339
      StackMap locals:
      StackMap stack:
            lload 0 /* x */
            lconst_0
            lcmp
            iflt 62
            dload 14 /* roundCeilingAsDouble */
            goto 63
      StackMap locals:
      StackMap stack:
        62: dload 10 /* roundFloorAsDouble */
      StackMap locals:
      StackMap stack: double
        63: dreturn
        64: .line 1341
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "impossible"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 20 // int diff
        end local 18 // long deltaToCeiling
        end local 16 // long deltaToFloor
        end local 14 // double roundCeilingAsDouble
        end local 12 // long roundCeiling
        end local 10 // double roundFloorAsDouble
        end local 8 // long roundFloor
        65: .line 1345
      StackMap locals: long java.math.RoundingMode double long int
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "impossible"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 7 // int cmpXToRoundArbitrarily
        end local 5 // long roundArbitrarilyAsLong
        end local 3 // double roundArbitrarily
        end local 2 // java.math.RoundingMode mode
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   66     0                       x  J
            0   66     2                    mode  Ljava/math/RoundingMode;
            1   66     3        roundArbitrarily  D
            2   66     5  roundArbitrarilyAsLong  J
            4    5     7  cmpXToRoundArbitrarily  I
            6   66     7  cmpXToRoundArbitrarily  I
           37   40     8              roundFloor  J
           44   65     8              roundFloor  J
           36   40    10      roundFloorAsDouble  D
           43   65    10      roundFloorAsDouble  D
           39   40    12            roundCeiling  J
           42   65    12            roundCeiling  J
           38   40    14    roundCeilingAsDouble  D
           41   65    14    roundCeilingAsDouble  D
           45   65    16            deltaToFloor  J
           46   65    18          deltaToCeiling  J
           49   65    20                    diff  I
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
      Name  Flags
      x     
      mode  

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.math.LongMath this
         0: .line 1348
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.common.math.LongMath this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/math/LongMath;

  static int[] $SWITCH_TABLE$java$math$RoundingMode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 52
            getstatic com.google.common.math.LongMath.$SWITCH_TABLE$java$math$RoundingMode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic java.math.RoundingMode.values:()[Ljava/math/RoundingMode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic java.math.RoundingMode.CEILING:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic java.math.RoundingMode.FLOOR:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic java.math.RoundingMode.HALF_DOWN:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            bipush 6
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic java.math.RoundingMode.HALF_EVEN:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            bipush 7
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            iconst_5
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic java.math.RoundingMode.UNNECESSARY:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            bipush 8
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic java.math.RoundingMode.UP:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            iconst_1
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            dup
            putstatic com.google.common.math.LongMath.$SWITCH_TABLE$java$math$RoundingMode:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
}
SourceFile: "LongMath.java"
NestMembers:
  com.google.common.math.LongMath$MillerRabinTester  com.google.common.math.LongMath$MillerRabinTester$1  com.google.common.math.LongMath$MillerRabinTester$2
InnerClasses:
  private abstract MillerRabinTester = com.google.common.math.LongMath$MillerRabinTester of com.google.common.math.LongMath
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtCompatible(emulated = true)