b.smali

.class public final Lcom/google/common/a/b;
.super Ljava/lang/Object;
.source "LongMath.java"


# direct methods
.method static constructor <clinit>()V
    .registers 9

    .prologue
    const/16 v8, 0xf

    const/16 v7, 0xc

    const/16 v6, 0x9

    const/4 v5, 0x6

    const/4 v4, 0x3

    .line 169
    const/16 v0, 0x40

    new-array v0, v0, [B

    const/4 v1, 0x0

    const/16 v2, 0x13

    aput-byte v2, v0, v1

    const/4 v1, 0x1

    const/16 v2, 0x12

    aput-byte v2, v0, v1

    const/4 v1, 0x2

    const/16 v2, 0x12

    aput-byte v2, v0, v1

    const/16 v1, 0x12

    aput-byte v1, v0, v4

    const/4 v1, 0x4

    const/16 v2, 0x12

    aput-byte v2, v0, v1

    const/4 v1, 0x5

    const/16 v2, 0x11

    aput-byte v2, v0, v1

    const/16 v1, 0x11

    aput-byte v1, v0, v5

    const/4 v1, 0x7

    const/16 v2, 0x11

    aput-byte v2, v0, v1

    const/16 v1, 0x8

    const/16 v2, 0x10

    aput-byte v2, v0, v1

    const/16 v1, 0x10

    aput-byte v1, v0, v6

    const/16 v1, 0xa

    const/16 v2, 0x10

    aput-byte v2, v0, v1

    const/16 v1, 0xb

    aput-byte v8, v0, v1

    aput-byte v8, v0, v7

    const/16 v1, 0xd

    aput-byte v8, v0, v1

    const/16 v1, 0xe

    aput-byte v8, v0, v1

    const/16 v1, 0xe

    aput-byte v1, v0, v8

    const/16 v1, 0x10

    const/16 v2, 0xe

    aput-byte v2, v0, v1

    const/16 v1, 0x11

    const/16 v2, 0xe

    aput-byte v2, v0, v1

    const/16 v1, 0x12

    const/16 v2, 0xd

    aput-byte v2, v0, v1

    const/16 v1, 0x13

    const/16 v2, 0xd

    aput-byte v2, v0, v1

    const/16 v1, 0x14

    const/16 v2, 0xd

    aput-byte v2, v0, v1

    const/16 v1, 0x15

    aput-byte v7, v0, v1

    const/16 v1, 0x16

    aput-byte v7, v0, v1

    const/16 v1, 0x17

    aput-byte v7, v0, v1

    const/16 v1, 0x18

    aput-byte v7, v0, v1

    const/16 v1, 0x19

    const/16 v2, 0xb

    aput-byte v2, v0, v1

    const/16 v1, 0x1a

    const/16 v2, 0xb

    aput-byte v2, v0, v1

    const/16 v1, 0x1b

    const/16 v2, 0xb

    aput-byte v2, v0, v1

    const/16 v1, 0x1c

    const/16 v2, 0xa

    aput-byte v2, v0, v1

    const/16 v1, 0x1d

    const/16 v2, 0xa

    aput-byte v2, v0, v1

    const/16 v1, 0x1e

    const/16 v2, 0xa

    aput-byte v2, v0, v1

    const/16 v1, 0x1f

    aput-byte v6, v0, v1

    const/16 v1, 0x20

    aput-byte v6, v0, v1

    const/16 v1, 0x21

    aput-byte v6, v0, v1

    const/16 v1, 0x22

    aput-byte v6, v0, v1

    const/16 v1, 0x23

    const/16 v2, 0x8

    aput-byte v2, v0, v1

    const/16 v1, 0x24

    const/16 v2, 0x8

    aput-byte v2, v0, v1

    const/16 v1, 0x25

    const/16 v2, 0x8

    aput-byte v2, v0, v1

    const/16 v1, 0x26

    const/4 v2, 0x7

    aput-byte v2, v0, v1

    const/16 v1, 0x27

    const/4 v2, 0x7

    aput-byte v2, v0, v1

    const/16 v1, 0x28

    const/4 v2, 0x7

    aput-byte v2, v0, v1

    const/16 v1, 0x29

    aput-byte v5, v0, v1

    const/16 v1, 0x2a

    aput-byte v5, v0, v1

    const/16 v1, 0x2b

    aput-byte v5, v0, v1

    const/16 v1, 0x2c

    aput-byte v5, v0, v1

    const/16 v1, 0x2d

    const/4 v2, 0x5

    aput-byte v2, v0, v1

    const/16 v1, 0x2e

    const/4 v2, 0x5

    aput-byte v2, v0, v1

    const/16 v1, 0x2f

    const/4 v2, 0x5

    aput-byte v2, v0, v1

    const/16 v1, 0x30

    const/4 v2, 0x4

    aput-byte v2, v0, v1

    const/16 v1, 0x31

    const/4 v2, 0x4

    aput-byte v2, v0, v1

    const/16 v1, 0x32

    const/4 v2, 0x4

    aput-byte v2, v0, v1

    const/16 v1, 0x33

    aput-byte v4, v0, v1

    const/16 v1, 0x34

    aput-byte v4, v0, v1

    const/16 v1, 0x35

    aput-byte v4, v0, v1

    const/16 v1, 0x36

    aput-byte v4, v0, v1

    const/16 v1, 0x37

    const/4 v2, 0x2

    aput-byte v2, v0, v1

    const/16 v1, 0x38

    const/4 v2, 0x2

    aput-byte v2, v0, v1

    const/16 v1, 0x39

    const/4 v2, 0x2

    aput-byte v2, v0, v1

    const/16 v1, 0x3a

    const/4 v2, 0x1

    aput-byte v2, v0, v1

    const/16 v1, 0x3b

    const/4 v2, 0x1

    aput-byte v2, v0, v1

    const/16 v1, 0x3c

    const/4 v2, 0x1

    aput-byte v2, v0, v1

    const/16 v1, 0x3d

    const/4 v2, 0x0

    aput-byte v2, v0, v1

    const/16 v1, 0x3e

    const/4 v2, 0x0

    aput-byte v2, v0, v1

    const/16 v1, 0x3f

    const/4 v2, 0x0

    aput-byte v2, v0, v1

    .line 176
    const/16 v0, 0x13

    new-array v0, v0, [J

    const/4 v1, 0x0

    const-wide/16 v2, 0x1

    aput-wide v2, v0, v1

    const/4 v1, 0x1

    const-wide/16 v2, 0xa

    aput-wide v2, v0, v1

    const/4 v1, 0x2

    const-wide/16 v2, 0x64

    aput-wide v2, v0, v1

    const-wide/16 v2, 0x3e8

    aput-wide v2, v0, v4

    const/4 v1, 0x4

    const-wide/16 v2, 0x2710

    aput-wide v2, v0, v1

    const/4 v1, 0x5

    const-wide/32 v2, 0x186a0

    aput-wide v2, v0, v1

    const-wide/32 v2, 0xf4240

    aput-wide v2, v0, v5

    const/4 v1, 0x7

    const-wide/32 v2, 0x989680

    aput-wide v2, v0, v1

    const/16 v1, 0x8

    const-wide/32 v2, 0x5f5e100

    aput-wide v2, v0, v1

    const-wide/32 v2, 0x3b9aca00

    aput-wide v2, v0, v6

    const/16 v1, 0xa

    const-wide v2, 0x2540be400L

    aput-wide v2, v0, v1

    const/16 v1, 0xb

    const-wide v2, 0x174876e800L

    aput-wide v2, v0, v1

    const-wide v2, 0xe8d4a51000L

    aput-wide v2, v0, v7

    const/16 v1, 0xd

    const-wide v2, 0x9184e72a000L

    aput-wide v2, v0, v1

    const/16 v1, 0xe

    const-wide v2, 0x5af3107a4000L

    aput-wide v2, v0, v1

    const-wide v2, 0x38d7ea4c68000L

    aput-wide v2, v0, v8

    const/16 v1, 0x10

    const-wide v2, 0x2386f26fc10000L

    aput-wide v2, v0, v1

    const/16 v1, 0x11

    const-wide v2, 0x16345785d8a0000L

    aput-wide v2, v0, v1

    const/16 v1, 0x12

    const-wide v2, 0xde0b6b3a7640000L

    aput-wide v2, v0, v1

    .line 201
    const/16 v0, 0x13

    new-array v0, v0, [J

    const/4 v1, 0x0

    const-wide/16 v2, 0x3

    aput-wide v2, v0, v1

    const/4 v1, 0x1

    const-wide/16 v2, 0x1f

    aput-wide v2, v0, v1

    const/4 v1, 0x2

    const-wide/16 v2, 0x13c

    aput-wide v2, v0, v1

    const-wide/16 v2, 0xc5a

    aput-wide v2, v0, v4

    const/4 v1, 0x4

    const-wide/16 v2, 0x7b86

    aput-wide v2, v0, v1

    const/4 v1, 0x5

    const-wide/32 v2, 0x4d343

    aput-wide v2, v0, v1

    const-wide/32 v2, 0x3040a5

    aput-wide v2, v0, v5

    const/4 v1, 0x7

    const-wide/32 v2, 0x1e28678

    aput-wide v2, v0, v1

    const/16 v1, 0x8

    const-wide/32 v2, 0x12d940b6

    aput-wide v2, v0, v1

    const-wide v2, 0xbc7c871cL

    aput-wide v2, v0, v6

    const/16 v1, 0xa

    const-wide v2, 0x75cdd4719L

    aput-wide v2, v0, v1

    const/16 v1, 0xb

    const-wide v2, 0x49a0a4c700L

    aput-wide v2, v0, v1

    const-wide v2, 0x2e0466fc608L

    aput-wide v2, v0, v7

    const/16 v1, 0xd

    const-wide v2, 0x1cc2c05dbc53L

    aput-wide v2, v0, v1

    const/16 v1, 0xe

    const-wide v2, 0x11f9b83a95b45L

    aput-wide v2, v0, v1

    const-wide v2, 0xb3c13249d90bbL

    aput-wide v2, v0, v8

    const/16 v1, 0x10

    const-wide v2, 0x7058bf6e27a751L

    aput-wide v2, v0, v1

    const/16 v1, 0x11

    const-wide v2, 0x463777a4d8c892dL

    aput-wide v2, v0, v1

    const/16 v1, 0x12

    const-wide v2, 0x2be2aac7077d5bc3L    # 2.731041190138108E-97

    aput-wide v2, v0, v1

    .line 618
    const/16 v0, 0x15

    new-array v0, v0, [J

    const/4 v1, 0x0

    const-wide/16 v2, 0x1

    aput-wide v2, v0, v1

    const/4 v1, 0x1

    const-wide/16 v2, 0x1

    aput-wide v2, v0, v1

    const/4 v1, 0x2

    const-wide/16 v2, 0x2

    aput-wide v2, v0, v1

    const-wide/16 v2, 0x6

    aput-wide v2, v0, v4

    const/4 v1, 0x4

    const-wide/16 v2, 0x18

    aput-wide v2, v0, v1

    const/4 v1, 0x5

    const-wide/16 v2, 0x78

    aput-wide v2, v0, v1

    const-wide/16 v2, 0x2d0

    aput-wide v2, v0, v5

    const/4 v1, 0x7

    const-wide/16 v2, 0x13b0

    aput-wide v2, v0, v1

    const/16 v1, 0x8

    const-wide/32 v2, 0x9d80

    aput-wide v2, v0, v1

    const-wide/32 v2, 0x58980

    aput-wide v2, v0, v6

    const/16 v1, 0xa

    const-wide/32 v2, 0x375f00

    aput-wide v2, v0, v1

    const/16 v1, 0xb

    const-wide/32 v2, 0x2611500

    aput-wide v2, v0, v1

    const-wide/32 v2, 0x1c8cfc00

    aput-wide v2, v0, v7

    const/16 v1, 0xd

    const-wide v2, 0x17328cc00L

    aput-wide v2, v0, v1

    const/16 v1, 0xe

    const-wide v2, 0x144c3b2800L

    aput-wide v2, v0, v1

    const-wide v2, 0x13077775800L

    aput-wide v2, v0, v8

    const/16 v1, 0x10

    const-wide v2, 0x130777758000L

    aput-wide v2, v0, v1

    const/16 v1, 0x11

    const-wide v2, 0x1437eeecd8000L

    aput-wide v2, v0, v1

    const/16 v1, 0x12

    const-wide v2, 0x16beecca730000L

    aput-wide v2, v0, v1

    const/16 v1, 0x13

    const-wide v2, 0x1b02b9306890000L

    aput-wide v2, v0, v1

    const/16 v1, 0x14

    const-wide v2, 0x21c3677c82b40000L

    aput-wide v2, v0, v1

    .line 727
    const/16 v0, 0x22

    new-array v0, v0, [I

    const/4 v1, 0x0

    const v2, 0x7fffffff

    aput v2, v0, v1

    const/4 v1, 0x1

    const v2, 0x7fffffff

    aput v2, v0, v1

    const/4 v1, 0x2

    const v2, 0x7fffffff

    aput v2, v0, v1

    const v1, 0x3a25db

    aput v1, v0, v4

    const/4 v1, 0x4

    const v2, 0x1dc79

    aput v2, v0, v1

    const/4 v1, 0x5

    const/16 v2, 0x3f2f

    aput v2, v0, v1

    const/16 v1, 0x10f1

    aput v1, v0, v5

    const/4 v1, 0x7

    const/16 v2, 0x6c5

    aput v2, v0, v1

    const/16 v1, 0x8

    const/16 v2, 0x377

    aput v2, v0, v1

    const/16 v1, 0x216

    aput v1, v0, v6

    const/16 v1, 0xa

    const/16 v2, 0x169

    aput v2, v0, v1

    const/16 v1, 0xb

    const/16 v2, 0x109

    aput v2, v0, v1

    const/16 v1, 0xce

    aput v1, v0, v7

    const/16 v1, 0xd

    const/16 v2, 0xa9

    aput v2, v0, v1

    const/16 v1, 0xe

    const/16 v2, 0x8f

    aput v2, v0, v1

    const/16 v1, 0x7d

    aput v1, v0, v8

    const/16 v1, 0x10

    const/16 v2, 0x6f

    aput v2, v0, v1

    const/16 v1, 0x11

    const/16 v2, 0x65

    aput v2, v0, v1

    const/16 v1, 0x12

    const/16 v2, 0x5e

    aput v2, v0, v1

    const/16 v1, 0x13

    const/16 v2, 0x58

    aput v2, v0, v1

    const/16 v1, 0x14

    const/16 v2, 0x53

    aput v2, v0, v1

    const/16 v1, 0x15

    const/16 v2, 0x4f

    aput v2, v0, v1

    const/16 v1, 0x16

    const/16 v2, 0x4c

    aput v2, v0, v1

    const/16 v1, 0x17

    const/16 v2, 0x4a

    aput v2, v0, v1

    const/16 v1, 0x18

    const/16 v2, 0x48

    aput v2, v0, v1

    const/16 v1, 0x19

    const/16 v2, 0x46

    aput v2, v0, v1

    const/16 v1, 0x1a

    const/16 v2, 0x45

    aput v2, v0, v1

    const/16 v1, 0x1b

    const/16 v2, 0x44

    aput v2, v0, v1

    const/16 v1, 0x1c

    const/16 v2, 0x43

    aput v2, v0, v1

    const/16 v1, 0x1d

    const/16 v2, 0x43

    aput v2, v0, v1

    const/16 v1, 0x1e

    const/16 v2, 0x42

    aput v2, v0, v1

    const/16 v1, 0x1f

    const/16 v2, 0x42

    aput v2, v0, v1

    const/16 v1, 0x20

    const/16 v2, 0x42

    aput v2, v0, v1

    const/16 v1, 0x21

    const/16 v2, 0x42

    aput v2, v0, v1

    .line 736
    const/16 v0, 0x1f

    new-array v0, v0, [I

    const/4 v1, 0x0

    const v2, 0x7fffffff

    aput v2, v0, v1

    const/4 v1, 0x1

    const v2, 0x7fffffff

    aput v2, v0, v1

    const/4 v1, 0x2

    const v2, 0x7fffffff

    aput v2, v0, v1

    const v1, 0x285146

    aput v1, v0, v4

    const/4 v1, 0x4

    const v2, 0x150eb

    aput v2, v0, v1

    const/4 v1, 0x5

    const/16 v2, 0x2dcc

    aput v2, v0, v1

    const/16 v1, 0xc92

    aput v1, v0, v5

    const/4 v1, 0x7

    const/16 v2, 0x521

    aput v2, v0, v1

    const/16 v1, 0x8

    const/16 v2, 0x2ac

    aput v2, v0, v1

    const/16 v1, 0x1a3

    aput v1, v0, v6

    const/16 v1, 0xa

    const/16 v2, 0x11f

    aput v2, v0, v1

    const/16 v1, 0xb

    const/16 v2, 0xd6

    aput v2, v0, v1

    const/16 v1, 0xa9

    aput v1, v0, v7

    const/16 v1, 0xd

    const/16 v2, 0x8b

    aput v2, v0, v1

    const/16 v1, 0xe

    const/16 v2, 0x77

    aput v2, v0, v1

    const/16 v1, 0x69

    aput v1, v0, v8

    const/16 v1, 0x10

    const/16 v2, 0x5f

    aput v2, v0, v1

    const/16 v1, 0x11

    const/16 v2, 0x57

    aput v2, v0, v1

    const/16 v1, 0x12

    const/16 v2, 0x51

    aput v2, v0, v1

    const/16 v1, 0x13

    const/16 v2, 0x4c

    aput v2, v0, v1

    const/16 v1, 0x14

    const/16 v2, 0x49

    aput v2, v0, v1

    const/16 v1, 0x15

    const/16 v2, 0x46

    aput v2, v0, v1

    const/16 v1, 0x16

    const/16 v2, 0x44

    aput v2, v0, v1

    const/16 v1, 0x17

    const/16 v2, 0x42

    aput v2, v0, v1

    const/16 v1, 0x18

    const/16 v2, 0x40

    aput v2, v0, v1

    const/16 v1, 0x19

    const/16 v2, 0x3f

    aput v2, v0, v1

    const/16 v1, 0x1a

    const/16 v2, 0x3e

    aput v2, v0, v1

    const/16 v1, 0x1b

    const/16 v2, 0x3e

    aput v2, v0, v1

    const/16 v1, 0x1c

    const/16 v2, 0x3d

    aput v2, v0, v1

    const/16 v1, 0x1d

    const/16 v2, 0x3d

    aput v2, v0, v1

    const/16 v1, 0x1e

    const/16 v2, 0x3d

    aput v2, v0, v1

    return-void
.end method

.method public static a(JJLjava/math/RoundingMode;)J
    .registers 15

    .prologue
    .line 348
    invoke-static {p4}, Lcom/google/common/base/n;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;

    .line 349
    div-long v2, p0, p2

    .line 350
    mul-long v0, p2, v2

    sub-long v0, p0, v0

    .line 352
    const-wide/16 v4, 0x0

    cmp-long v4, v0, v4

    if-nez v4, :cond_11

    move-wide v0, v2

    .line 397
    :goto_10
    return-wide v0

    .line 363
    :cond_11
    xor-long v4, p0, p2

    const/16 v6, 0x3f

    shr-long/2addr v4, v6

    long-to-int v4, v4

    or-int/lit8 v5, v4, 0x1

    .line 365
    sget-object v4, Lcom/google/common/a/b$1;->aXT:[I

    invoke-virtual {p4}, Ljava/math/RoundingMode;->ordinal()I

    move-result v6

    aget v4, v4, v6

    packed-switch v4, :pswitch_data_86

    .line 395
    new-instance v0, Ljava/lang/AssertionError;

    invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V

    throw v0

    .line 367
    :pswitch_2a
    const-wide/16 v6, 0x0

    cmp-long v0, v0, v6

    if-nez v0, :cond_3a

    const/4 v0, 0x1

    :goto_31
    invoke-static {v0}, Lcom/google/common/a/c;->aP(Z)V

    .line 370
    :pswitch_34
    const/4 v0, 0x0

    .line 397
    :goto_35
    if-eqz v0, :cond_83

    int-to-long v0, v5

    add-long/2addr v0, v2

    goto :goto_10

    .line 367
    :cond_3a
    const/4 v0, 0x0

    goto :goto_31

    .line 373
    :pswitch_3c
    const/4 v0, 0x1

    .line 374
    goto :goto_35

    .line 376
    :pswitch_3e
    if-lez v5, :cond_42

    const/4 v0, 0x1

    goto :goto_35

    :cond_42
    const/4 v0, 0x0

    goto :goto_35

    .line 379
    :pswitch_44
    if-gez v5, :cond_48

    const/4 v0, 0x1

    goto :goto_35

    :cond_48
    const/4 v0, 0x0

    goto :goto_35

    .line 384
    :pswitch_4a
    invoke-static {v0, v1}, Ljava/lang/Math;->abs(J)J

    move-result-wide v0

    .line 385
    invoke-static {p2, p3}, Ljava/lang/Math;->abs(J)J

    move-result-wide v6

    sub-long/2addr v6, v0

    sub-long/2addr v0, v6

    .line 388
    const-wide/16 v6, 0x0

    cmp-long v4, v0, v6

    if-nez v4, :cond_79

    .line 389
    sget-object v0, Ljava/math/RoundingMode;->HALF_UP:Ljava/math/RoundingMode;

    if-ne p4, v0, :cond_72

    const/4 v0, 0x1

    :goto_5f
    sget-object v1, Ljava/math/RoundingMode;->HALF_EVEN:Ljava/math/RoundingMode;

    if-ne p4, v1, :cond_74

    const/4 v1, 0x1

    move v4, v1

    :goto_65
    const-wide/16 v6, 0x1

    and-long/2addr v6, v2

    const-wide/16 v8, 0x0

    cmp-long v1, v6, v8

    if-eqz v1, :cond_77

    const/4 v1, 0x1

    :goto_6f
    and-int/2addr v1, v4

    or-int/2addr v0, v1

    goto :goto_35

    :cond_72
    const/4 v0, 0x0

    goto :goto_5f

    :cond_74
    const/4 v1, 0x0

    move v4, v1

    goto :goto_65

    :cond_77
    const/4 v1, 0x0

    goto :goto_6f

    .line 391
    :cond_79
    const-wide/16 v6, 0x0

    cmp-long v0, v0, v6

    if-lez v0, :cond_81

    const/4 v0, 0x1

    goto :goto_35

    :cond_81
    const/4 v0, 0x0

    goto :goto_35

    :cond_83
    move-wide v0, v2

    .line 397
    goto :goto_10

    .line 365
    nop

    :pswitch_data_86
    .packed-switch 0x1
        :pswitch_2a
        :pswitch_34
        :pswitch_44
        :pswitch_3c
        :pswitch_3e
        :pswitch_4a
        :pswitch_4a
        :pswitch_4a
    .end packed-switch
.end method

.method public static b(JI)J
    .registers 11

    .prologue
    const-wide/16 v6, 0xa

    const/4 v1, 0x1

    const/4 v2, 0x0

    .line 564
    const-string v0, "exponent"

    invoke-static {v0, p2}, Lcom/google/common/a/c;->j(Ljava/lang/String;I)I

    .line 565
    const-wide/16 v4, -0x2

    cmp-long v0, v6, v4

    if-ltz v0, :cond_20

    move v3, v1

    :goto_10
    const-wide/16 v4, 0x2

    cmp-long v0, v6, v4

    if-gtz v0, :cond_22

    move v0, v1

    :goto_17
    and-int/2addr v0, v3

    if-eqz v0, :cond_24

    .line 580
    new-instance v0, Ljava/lang/AssertionError;

    invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V

    throw v0

    :cond_20
    move v3, v2

    .line 565
    goto :goto_10

    :cond_22
    move v0, v2

    goto :goto_17

    .line 583
    :cond_24
    const-wide/16 v4, 0x1

    .line 585
    :cond_26
    :goto_26
    packed-switch p2, :pswitch_data_4e

    .line 591
    and-int/lit8 v0, p2, 0x1

    if-eqz v0, :cond_31

    .line 592
    invoke-static {v4, v5, p0, p1}, Lcom/google/common/a/b;->d(JJ)J

    move-result-wide v4

    .line 594
    :cond_31
    shr-int/lit8 p2, p2, 0x1

    .line 595
    if-lez p2, :cond_26

    .line 596
    const-wide v6, 0xb504f333L

    cmp-long v0, p0, v6

    if-gtz v0, :cond_4b

    move v0, v1

    :goto_3f
    invoke-static {v0}, Lcom/google/common/a/c;->aQ(Z)V

    .line 597
    mul-long/2addr p0, p0

    goto :goto_26

    :pswitch_44
    move-wide v0, v4

    .line 589
    :goto_45
    return-wide v0

    :pswitch_46
    invoke-static {v4, v5, p0, p1}, Lcom/google/common/a/b;->d(JJ)J

    move-result-wide v0

    goto :goto_45

    :cond_4b
    move v0, v2

    .line 596
    goto :goto_3f

    .line 585
    nop

    :pswitch_data_4e
    .packed-switch 0x0
        :pswitch_44
        :pswitch_46
    .end packed-switch
.end method

.method public static b(JJ)J
    .registers 14

    .prologue
    const-wide/16 v8, 0x0

    const/4 v0, 0x1

    const/4 v1, 0x0

    .line 509
    add-long v4, p0, p2

    .line 510
    xor-long v2, p0, p2

    cmp-long v2, v2, v8

    if-gez v2, :cond_18

    move v2, v0

    :goto_d
    xor-long v6, p0, v4

    cmp-long v3, v6, v8

    if-ltz v3, :cond_1a

    :goto_13
    or-int/2addr v0, v2

    invoke-static {v0}, Lcom/google/common/a/c;->aQ(Z)V

    .line 511
    return-wide v4

    :cond_18
    move v2, v1

    .line 510
    goto :goto_d

    :cond_1a
    move v0, v1

    goto :goto_13
.end method

.method public static c(JJ)J
    .registers 14

    .prologue
    const-wide/16 v8, 0x0

    const/4 v0, 0x1

    const/4 v1, 0x0

    .line 521
    sub-long v4, p0, p2

    .line 522
    xor-long v2, p0, p2

    cmp-long v2, v2, v8

    if-ltz v2, :cond_18

    move v2, v0

    :goto_d
    xor-long v6, p0, v4

    cmp-long v3, v6, v8

    if-ltz v3, :cond_1a

    :goto_13
    or-int/2addr v0, v2

    invoke-static {v0}, Lcom/google/common/a/c;->aQ(Z)V

    .line 523
    return-wide v4

    :cond_18
    move v2, v1

    .line 522
    goto :goto_d

    :cond_1a
    move v0, v1

    goto :goto_13
.end method

.method public static d(JJ)J
    .registers 14

    .prologue
    const-wide/16 v8, 0x0

    const-wide/16 v6, -0x1

    const/4 v1, 0x1

    const/4 v2, 0x0

    .line 534
    invoke-static {p0, p1}, Ljava/lang/Long;->numberOfLeadingZeros(J)I

    move-result v0

    xor-long v4, p0, v6

    invoke-static {v4, v5}, Ljava/lang/Long;->numberOfLeadingZeros(J)I

    move-result v3

    add-int/2addr v0, v3

    invoke-static {p2, p3}, Ljava/lang/Long;->numberOfLeadingZeros(J)I

    move-result v3

    add-int/2addr v0, v3

    xor-long v4, p2, v6

    invoke-static {v4, v5}, Ljava/lang/Long;->numberOfLeadingZeros(J)I

    move-result v3

    add-int/2addr v0, v3

    .line 546
    const/16 v3, 0x41

    if-le v0, v3, :cond_24

    .line 547
    mul-long v0, p0, p2

    .line 553
    :goto_23
    return-wide v0

    .line 549
    :cond_24
    const/16 v3, 0x40

    if-lt v0, v3, :cond_4e

    move v0, v1

    :goto_29
    invoke-static {v0}, Lcom/google/common/a/c;->aQ(Z)V

    .line 550
    cmp-long v0, p0, v8

    if-ltz v0, :cond_50

    move v3, v1

    :goto_31
    const-wide/high16 v4, -0x8000000000000000L

    cmp-long v0, p2, v4

    if-eqz v0, :cond_52

    move v0, v1

    :goto_38
    or-int/2addr v0, v3

    invoke-static {v0}, Lcom/google/common/a/c;->aQ(Z)V

    .line 551
    mul-long v4, p0, p2

    .line 552
    cmp-long v0, p0, v8

    if-eqz v0, :cond_48

    div-long v6, v4, p0

    cmp-long v0, v6, p2

    if-nez v0, :cond_49

    :cond_48
    move v2, v1

    :cond_49
    invoke-static {v2}, Lcom/google/common/a/c;->aQ(Z)V

    move-wide v0, v4

    .line 553
    goto :goto_23

    :cond_4e
    move v0, v2

    .line 549
    goto :goto_29

    :cond_50
    move v3, v2

    .line 550
    goto :goto_31

    :cond_52
    move v0, v2

    goto :goto_38
.end method

.method public static dh(I)J
    .registers 5

    .prologue
    const-wide/16 v2, 0xa

    .line 232
    const-string v0, "exponent"

    const/16 v1, 0x8

    invoke-static {v0, v1}, Lcom/google/common/a/c;->j(Ljava/lang/String;I)I

    .line 233
    const-wide/16 v0, -0x2

    cmp-long v0, v0, v2

    if-gtz v0, :cond_1b

    const-wide/16 v0, 0x2

    cmp-long v0, v2, v0

    if-gtz v0, :cond_1b

    .line 250
    new-instance v0, Ljava/lang/AssertionError;

    invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V

    throw v0

    .line 254
    :cond_1b
    :goto_1b
    packed-switch p0, :pswitch_data_26

    .line 253
    shr-int/lit8 p0, p0, 0x1

    goto :goto_1b

    .line 258
    :pswitch_21
    const-wide/32 v0, 0x5f5e100

    return-wide v0

    .line 254
    nop

    :pswitch_data_26
    .packed-switch 0x0
        :pswitch_21
        :pswitch_21
    .end packed-switch
.end method