c.smali

.class public abstract Lkotlin/i/c;
.super Ljava/lang/Object;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lkotlin/i/c$a;,
        Lkotlin/i/c$b;
    }
.end annotation


# static fields
.field public static final a:Lkotlin/i/c$a;

.field public static final b:Lkotlin/i/c$b;

.field private static final c:Lkotlin/i/c;


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

    new-instance v0, Lkotlin/i/c$b;

    const/4 v1, 0x0

    invoke-direct {v0, v1}, Lkotlin/i/c$b;-><init>(Lkotlin/f/b/j;)V

    sput-object v0, Lkotlin/i/c;->b:Lkotlin/i/c$b;

    .line 242
    sget-object v0, Lkotlin/d/b;->a:Lkotlin/d/a;

    invoke-static {}, Lkotlin/d/a;->a()Lkotlin/i/c;

    move-result-object v0

    sput-object v0, Lkotlin/i/c;->c:Lkotlin/i/c;

    .line 268
    sget-object v0, Lkotlin/i/c$a;->c:Lkotlin/i/c$a;

    sput-object v0, Lkotlin/i/c;->a:Lkotlin/i/c$a;

    return-void
.end method

.method public constructor <init>()V
    .registers 1

    .line 20
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static final synthetic d()Lkotlin/i/c;
    .registers 1

    .line 20
    sget-object v0, Lkotlin/i/c;->c:Lkotlin/i/c;

    return-object v0
.end method


# virtual methods
.method public a(DD)D
    .registers 11

    const/4 v0, 0x1

    const/4 v1, 0x0

    cmpl-double v2, p3, p1

    if-lez v2, :cond_8

    const/4 v2, 0x1

    goto :goto_9

    :cond_8
    const/4 v2, 0x0

    :goto_9
    if-eqz v2, :cond_59

    sub-double v2, p3, p1

    .line 175
    invoke-static {v2, v3}, Ljava/lang/Double;->isInfinite(D)Z

    move-result v4

    if-eqz v4, :cond_43

    invoke-static {p1, p2}, Ljava/lang/Double;->isInfinite(D)Z

    move-result v4

    if-nez v4, :cond_21

    invoke-static {p1, p2}, Ljava/lang/Double;->isNaN(D)Z

    move-result v4

    if-nez v4, :cond_21

    const/4 v4, 0x1

    goto :goto_22

    :cond_21
    const/4 v4, 0x0

    :goto_22
    if-eqz v4, :cond_43

    invoke-static {p3, p4}, Ljava/lang/Double;->isInfinite(D)Z

    move-result v4

    if-nez v4, :cond_31

    invoke-static {p3, p4}, Ljava/lang/Double;->isNaN(D)Z

    move-result v4

    if-nez v4, :cond_31

    goto :goto_32

    :cond_31
    const/4 v0, 0x0

    :goto_32
    if-eqz v0, :cond_43

    .line 176
    invoke-virtual {p0}, Lkotlin/i/c;->c()D

    move-result-wide v0

    const-wide/high16 v2, 0x4000000000000000L    # 2.0

    div-double v4, p3, v2

    div-double v2, p1, v2

    sub-double/2addr v4, v2

    mul-double v0, v0, v4

    add-double/2addr p1, v0

    goto :goto_49

    .line 179
    :cond_43
    invoke-virtual {p0}, Lkotlin/i/c;->c()D

    move-result-wide v0

    mul-double v0, v0, v2

    :goto_49
    add-double/2addr p1, v0

    cmpl-double v0, p1, p3

    if-ltz v0, :cond_58

    .line 181
    sget-object p1, Lkotlin/f/b/k;->a:Lkotlin/f/b/k;

    invoke-static {}, Lkotlin/f/b/k;->a()D

    move-result-wide p1

    invoke-static {p3, p4, p1, p2}, Ljava/lang/Math;->nextAfter(DD)D

    move-result-wide p1

    :cond_58
    return-wide p1

    .line 3350
    :cond_59
    invoke-static {p1, p2}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;

    move-result-object p1

    invoke-static {p3, p4}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;

    move-result-object p2

    invoke-static {p1, p2}, Lkotlin/i/d;->a(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;

    move-result-object p1

    new-instance p2, Ljava/lang/IllegalArgumentException;

    invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-direct {p2, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    check-cast p2, Ljava/lang/Throwable;

    throw p2
.end method

.method public abstract a(I)I
.end method

.method public a(II)I
    .registers 7

    const/4 v0, 0x1

    if-le p2, p1, :cond_5

    const/4 v1, 0x1

    goto :goto_6

    :cond_5
    const/4 v1, 0x0

    :goto_6
    if-eqz v1, :cond_3a

    sub-int v1, p2, p1

    if-gtz v1, :cond_1b

    const/high16 v2, -0x80000000

    if-ne v1, v2, :cond_11

    goto :goto_1b

    .line 74
    :cond_11
    :goto_11
    invoke-virtual {p0}, Lkotlin/i/c;->b()I

    move-result v0

    if-le p1, v0, :cond_18

    goto :goto_11

    :cond_18
    if-le p2, v0, :cond_11

    return v0

    :cond_1b
    :goto_1b
    neg-int p2, v1

    and-int/2addr p2, v1

    if-ne p2, v1, :cond_2a

    .line 2342
    invoke-static {v1}, Ljava/lang/Integer;->numberOfLeadingZeros(I)I

    move-result p2

    rsub-int/lit8 p2, p2, 0x1f

    .line 62
    invoke-virtual {p0, p2}, Lkotlin/i/c;->a(I)I

    move-result p2

    goto :goto_38

    .line 66
    :cond_2a
    invoke-virtual {p0}, Lkotlin/i/c;->b()I

    move-result p2

    ushr-int/2addr p2, v0

    .line 67
    rem-int v2, p2, v1

    sub-int/2addr p2, v2

    add-int/lit8 v3, v1, -0x1

    add-int/2addr p2, v3

    if-ltz p2, :cond_2a

    move p2, v2

    :goto_38
    add-int/2addr p1, p2

    return p1

    .line 1348
    :cond_3a
    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p2

    invoke-static {p1, p2}, Lkotlin/i/d;->a(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;

    move-result-object p1

    new-instance p2, Ljava/lang/IllegalArgumentException;

    invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-direct {p2, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    check-cast p2, Ljava/lang/Throwable;

    goto :goto_53

    :goto_52
    throw p2

    :goto_53
    goto :goto_52
.end method

.method public b()I
    .registers 2

    const/16 v0, 0x20

    .line 36
    invoke-virtual {p0, v0}, Lkotlin/i/c;->a(I)I

    move-result v0

    return v0
.end method

.method public b(I)I
    .registers 3

    const/4 v0, 0x0

    .line 47
    invoke-virtual {p0, v0, p1}, Lkotlin/i/c;->a(II)I

    move-result p1

    return p1
.end method

.method public c()D
    .registers 6

    const/16 v0, 0x1a

    .line 152
    invoke-virtual {p0, v0}, Lkotlin/i/c;->a(I)I

    move-result v0

    const/16 v1, 0x1b

    invoke-virtual {p0, v1}, Lkotlin/i/c;->a(I)I

    move-result v2

    int-to-long v3, v0

    shl-long v0, v3, v1

    int-to-long v2, v2

    add-long/2addr v0, v2

    long-to-double v0, v0

    const-wide/high16 v2, 0x4340000000000000L    # 9.007199254740992E15

    .line 3032
    invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z

    div-double/2addr v0, v2

    return-wide v0
.end method