I0Bessel.smali

.class public Lim/tpelyyftgw/ui/utils/translate/ssrc/I0Bessel;
.super Ljava/lang/Object;
.source "I0Bessel.java"


# static fields
.field private static final a:[D

.field private static final b:[D

.field private static final c:[D


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

    .line 18
    const/16 v0, 0x41

    new-array v0, v0, [D

    fill-array-data v0, :array_1c

    sput-object v0, Lim/tpelyyftgw/ui/utils/translate/ssrc/I0Bessel;->a:[D

    .line 56
    const/16 v0, 0x46

    new-array v0, v0, [D

    fill-array-data v0, :array_124

    sput-object v0, Lim/tpelyyftgw/ui/utils/translate/ssrc/I0Bessel;->b:[D

    .line 94
    const/16 v0, 0x2d

    new-array v0, v0, [D

    fill-array-data v0, :array_240

    sput-object v0, Lim/tpelyyftgw/ui/utils/translate/ssrc/I0Bessel;->c:[D

    return-void

    :array_1c
    .array-data 8
        0x3dd76eb6330dfd24L    # 8.524682068201687E-11
        0x3e264e1da82518cbL    # 2.5966600546497407E-9
        0x3e75644135d83027L    # 7.968999456864018E-8
        0x3ec0b2eefa72858aL    # 1.990671040966775E-6
        0x3f0522a5e734e24eL    # 4.0312469446528E-5
        0x3f4522a4321b02eaL    # 6.449987160622426E-4
        0x3f802e85c0d27af8L    # 0.007901234576193059
        0x3fb234567898a4edL    # 0.07111111110920705
        0x3fdc71c71c71dad9L    # 0.4444444444447249
        0x3ffc71c71c71c6aeL    # 1.7777777777777533
        0x4010000000000001L    # 4.000000000000001
        0x4010000000000000L    # 4.0
        0x3ff0000000000000L    # 1.0
        0x3ddfab2048badcc8L
        0x3e232519121f312bL    # 2.2287613013610985E-9
        0x3e75fc658f652eebL    # 8.190395193069459E-8
        0x3ec0a0a5d1db8abeL    # 1.9821560631611546E-6
        0x3f0525bbeb537329L    # 4.033546194091013E-5
        0x3f452242afb7df2dL    # 6.449533097443221E-4
        0x3f802e8eb4198945L    # 0.007901301261146751
        0x3fb234553f491b05L    # 0.07111103816087556
        0x3fdc71c75b85ce34L    # 0.444444503190627
        0x3ffc71c7135ab894L    # 1.777777743914645
        0x4010000000e35ad7L    # 4.000000013233794
        0x400fffffff940103L    # 3.9999999968569013
        0x3ff0000000178c52L    # 1.0000000003426703
        0x3de5457096f0031dL    # 1.547687078051524E-10
        0x3e15caec81a13e13L    # 1.2685004214732975E-9
        0x3e78e793d0761694L    # 9.277686185111423E-8
        0x3ebffb86b981d1c2L    # 1.9063070109379044E-6
        0x3f055664c86e9421L    # 4.069800438991794E-5
        0x3f4517c8d426b770L    # 6.437044724429807E-4
        0x3f803038ab135c5aL    # 0.007904474945844498
        0x3fb233f0d2b05720L    # 0.07110505241174936
        0x3fdc71ea2f09292aL    # 0.44445280640924756
        0x3ffc71be6ca2a428L    # 1.777769493443211
        0x401000017686d45fL    # 4.000005580882401
        0x400ffffecc637c31L    # 3.9999977081165743
        0x3ff000007456ac46L    # 1.000000433394932
        0x3dec6a708440ac0aL    # 2.0675200625006794E-10
        -0x41facdbab8daace3L    # -6.168955470512568E-10
        0x3e80b13d7fb623c0L    # 1.243676591540157E-7
        0x3eba8f1e1ec47f21L    # 1.5830429403520612E-6
        0x3f06844780aba798L    # 4.2947227560776585E-5
        0x3f44b9c86fc7a4d0L    # 6.324986166507344E-4
        0x3f8045b3e1e5f3f7L    # 0.007945447284095393
        0x3fb22caf2c0a79daL    # 0.07099432778566186
        0x3fdc75825eaaf796L    # 0.44467219586283
        0x3ffc7078a8643f75L    # 1.7774588182255375
        0x4010004faa4aa09bL    # 4.000303898625272
        0x400fffa36764946aL    # 3.9998233869142057
        0x3ff0003197329027L    # 1.0000472932961288
        0x3df2e192d68a12ccL    # 2.747568479498271E-10
        -0x41cf40d7a16ab8ccL    # -3.899147207652133E-9
        0x3e8a7b3c2632ad25L    # 1.973017048397605E-7
        0x3ea404070d24a882L    # 5.965153156196767E-7
        0x3f0b4260e597c83eL    # 5.199297147474899E-5
        0x3f42c8f73950c20fL    # 5.732733867543377E-4
        0x3f80da87e12b9b40L    # 0.008229314383653041
        0x3fb1eaed083c1584L    # 0.06999093485872804
        0x3fdca00876bb9db6L    # 0.44726764292723986
        0x3ffc5cd9a9b2b7caL    # 1.7726685170014087
        0x401006711786ec44L    # 4.00629078637127
        0x400ff652c6a311b1L    # 3.9952750700487845
        0x3ff006b2e0a67185L    # 1.001635434665418
    .end array-data

    :array_124
    .array-data 8
        0x3e7236c77763e305L    # 6.785236714494553E-8
        0x3e9f0c72e6024a09L    # 4.6266061382821827E-7
        0x3edd3c51353c6dddL    # 6.970313581235407E-6
        0x3f1417110869934eL    # 7.663766346295323E-5
        0x3f49ec85cd81ea49L    # 7.911351522261269E-4
        0x3f7e10ac96176276L    # 0.007340120473110381
        0x3faf111220b9ea37L    # 0.060677114958668836
        0x3fdc282196619640L    # 0.43994941411651567
        0x4005ef9e97a82ca8L    # 2.742001709766175
        0x402c944e91418c09L    # 14.28966192174086
        0x404de909bc97fadaL    # 59.82060964032071
        0x40679947926c38cbL    # 188.7899868119915
        0x4078fdf85e46607cL    # 399.8731367825601
        0x407ab9069e3504faL    # 427.5641157218048
        0x3e883737b654eaceL    # 1.8042097874891098E-7
        0x3eb499007de16cc8L    # 1.2277164312044637E-6
        0x3ef361ddd47866b9L    # 1.8484393221474274E-5
        0x3f2a9988f952e312L    # 2.029399590009131E-4
        0x3f6122ef8e849cbdL    # 0.0020918539850246208
        0x3f93d71f6c55c342L    # 0.01937531565403395
        0x3fc4763fe32032b4L    # 0.15985869016767185
        0x3ff281217657fc77L    # 1.1565260527420642
        0x401cc22f72880238L    # 7.189634122420607
        0x4042ad693a6fe556L    # 37.35477381194748
        0x406379eaf5c3a76bL    # 155.8099316426627
        0x407e985693df5534L    # 489.5211371158541
        0x40901ba8ad04fcf9L    # 1030.9147225169565
        0x4091165a799ae33cL    # 1093.5883545113747
        0x3ea01ca7b7956756L    # 4.801730561318749E-7
        0x3ecb5ba07214a4f4L    # 3.26131784391238E-6
        0x3f09ba7c2a69d6d0L    # 4.907313750816616E-5
        0x3f41a19deeb43b02L    # 5.380650667648759E-4
        0x3f76afd81c3ee8deL    # 0.005538791829105187
        0x3faa39febec9aad5L    # 0.05122371748878655
        0x3fdb007561f7d6e4L    # 0.42190298621367917
        0x40085ef35aaa9ed5L    # 3.0463625987357354
        0x4032e53258366645L    # 18.895299447327734
        0x40587a927501cad4L    # 97.91518902945546
        0x4079723afcb49786L    # 407.13940115493494
        0x4093e93c500834b4L    # 1274.3088990480583
        0x40a4ddfa02f156cfL    # 2670.9883037012546
        0x40a5ff6ee9ed23e4L    # 2815.7166284662544
        0x3eb5753b45d2eb9dL    # 1.2789926338424624E-6
        0x3ee22fa6bb777f16L    # 8.671826306760492E-6
        0x3f21180113daf1baL    # 1.304150882129993E-4
        0x3f576668a27464edL    # 0.0014282247373727478
        0x3f8e12ae9938e52eL    # 0.014684070635768789
        0x3fc15bccf3f40a2cL    # 0.13561403190404187
        0x3ff1d81a17a3d0e3L    # 1.1152592585977394
        0x402013d1a5acb640L    # 8.038708855946538
        0x4048e172e5c7d955L    # 49.76131889589548
        0x4070144b7628825cL    # 257.2684232313529
        0x4090ab6ad1741d18L    # 1066.8543146269567
        0x40aa00c660e8806bL    # 3328.3874581009636
        0x40bb24dbd12123a2L    # 6948.858659812164
        0x40bc787d455fe0e4L    # 7288.489339821248
        0x3ecc99862fbe4d0cL    # 3.409350368197033E-6
        0x3ef8333a8918c549L    # 2.3079025203103375E-5
        0x3f36bc3f2317782cL    # 3.4691373283901833E-4
        0x3f6f16ae6a19dbfdL    # 0.0037949949772229084
        0x3fa3f46d77e88fedL    # 0.038974209677945605
        0x3fd701f6a31e0436L    # 0.35949483804148785
        0x40079e491ce9377dL    # 2.952287889353953
        0x40353f1edbb63702L    # 21.246564609514287
        0x4060693158f95d8dL    # 131.28727387146174
        0x40852b0c6eead463L    # 677.3810709329667
        0x40a5e4beb4f8c163L    # 2802.3724744545048
        0x40c107495cb83c68L    # 8718.573142079826
        0x40d1b7565270390fL    # 18141.348781638833
        0x40d2813b38ec4141L    # 18948.925349296307
    .end array-data

    :array_240
    .array-data 8
        0x3ce707bc63d14280L    # 2.5568678676452704E-15
        0x3d211c3af957629dL    # 3.039395379230592E-14
        0x3d66497f7a20a00aL    # 6.334375199109483E-13
        0x3db089bfbef5ef1dL    # 1.504129801183301E-11
        0x3dfea0bcfeb75a4dL    # 4.4569436918556543E-10
        0x3e52c072dbd37442L    # 1.746393051427168E-8
        0x3eb0e067606cb269L    # 1.0059224011079853E-6
        0x3f1c20ac4b5f1daaL    # 1.0729838945088577E-4
        0x3faa5ea186a92bdfL    # 0.05150322693642528
        0x3cf7a80fda82302eL    # 5.252796399171156E-15
        0x3d0037bd1760e891L    # 7.202118481421006E-15
        0x3d6987c07574f4ceL    # 7.25614212299048E-13
        0x3db04c567811ff08L    # 1.4823121466731044E-11
        0x3dfea695b34055f1L    # 4.4602670450376247E-10
        0x3e52c05b9aec5bc8L    # 1.746360006178868E-8
        0x3eb0e0679afa6c80L    # 1.0059226091322347E-6
        0x3f1c20ac4b0a2f1bL    # 1.0729838937545111E-4
        0x3faa5ea186a932a4L    # 0.0515032269364373
        0x3d0e18ed413481c0L    # 1.336591735935807E-14
        -0x42bdcc863740efabL    # -1.2932643065888545E-13
        0x3d7eb2df05337cd9L    # 1.7450199447905602E-12
        0x3da6e9678649e801L    # 1.041905120905698E-11
        0x3dff7a10454669bcL    # 4.580478819805983E-10
        0x3e52ba882abdd88aL    # 1.744240545007355E-8
        0x3eb0e0817bd412a3L    # 1.0059461453281293E-6
        0x3f1c20ac08ef66feL    # 1.0729837434500161E-4
        0x3faa5ea186b27aefL    # 0.051503226940658446
        0x3d2e454e4f8a83dcL    # 5.3771611477352306E-14
        -0x428bf39c66b6b7a4L
        0x3dac46c583b162c6L    # 1.2858641335221653E-11
        -0x422f8fcd64199526L    # -5.980208600457006E-11
        0x3e094fcefd1d51c7L    # 7.366689430592951E-10
        0x3e51f7365e3aa08bL    # 1.6731837150730355E-8
        0x3eb0e563a0629d86L    # 1.0070831435812128E-6
        0x3f1c209a1cbf8134L    # 1.0729733111203705E-4
        0x3faa5ea18a4e381cL    # 0.051503227360726295
        0x3d254a5cfba431b2L    # 3.781949208485893E-14
        -0x429ee674d70d9b5aL    # -4.860049688858804E-13
        0x3d7dba572b3f9250L    # 1.6898350504817224E-12
        0x3dc939afd0f1aecfL    # 4.588462432752426E-11
        0x3de135a6e655063bL    # 1.2521615963377513E-10
        0x3e545b975ab38d66L    # 1.895965843775473E-8
        0x3eb0cfdd7445defeL    # 1.0020716710561354E-6
        0x3f1c2107bc208f2aL    # 1.0730371198569276E-4
        0x3faa5ea16c00ac0eL    # 0.05150322383300231
    .end array-data
.end method

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

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

    return-void
.end method

.method public static value(D)D
    .registers 14
    .param p0, "x"    # D

    .line 130
    invoke-static {p0, p1}, Ljava/lang/Math;->abs(D)D

    move-result-wide v0

    .line 131
    .local v0, "w":D
    const-wide/high16 v2, 0x4021000000000000L    # 8.5

    cmpg-double v4, v0, v2

    if-gez v4, :cond_6d

    .line 132
    mul-double v2, v0, v0

    const-wide/high16 v4, 0x3fb0000000000000L    # 0.0625

    mul-double v2, v2, v4

    .line 133
    .local v2, "t":D
    double-to-int v4, v2

    mul-int/lit8 v4, v4, 0xd

    .line 134
    .local v4, "k":I
    sget-object v5, Lim/tpelyyftgw/ui/utils/translate/ssrc/I0Bessel;->a:[D

    aget-wide v6, v5, v4

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x1

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x2

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x3

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x4

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x5

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x6

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x7

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x8

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x9

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0xa

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0xb

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0xc

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    .local v6, "y":D
    goto/16 :goto_12f

    .line 139
    .end local v2    # "t":D
    .end local v4    # "k":I
    .end local v6    # "y":D
    :cond_6d
    const-wide/high16 v2, 0x4029000000000000L    # 12.5

    cmpg-double v4, v0, v2

    if-gez v4, :cond_e1

    .line 140
    double-to-int v2, v0

    .line 141
    .local v2, "k":I
    int-to-double v3, v2

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

    sub-double v3, v0, v3

    .line 142
    .local v3, "t":D
    add-int/lit8 v5, v2, -0x8

    mul-int/lit8 v2, v5, 0xe

    .line 143
    sget-object v5, Lim/tpelyyftgw/ui/utils/translate/ssrc/I0Bessel;->b:[D

    aget-wide v6, v5, v2

    mul-double v6, v6, v3

    add-int/lit8 v8, v2, 0x1

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v3

    add-int/lit8 v8, v2, 0x2

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v3

    add-int/lit8 v8, v2, 0x3

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v3

    add-int/lit8 v8, v2, 0x4

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v3

    add-int/lit8 v8, v2, 0x5

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v3

    add-int/lit8 v8, v2, 0x6

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v3

    add-int/lit8 v8, v2, 0x7

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v3

    add-int/lit8 v8, v2, 0x8

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v3

    add-int/lit8 v8, v2, 0x9

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v3

    add-int/lit8 v8, v2, 0xa

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v3

    add-int/lit8 v8, v2, 0xb

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v3

    add-int/lit8 v8, v2, 0xc

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v3

    add-int/lit8 v8, v2, 0xd

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    move-wide v10, v3

    move v4, v2

    move-wide v2, v10

    .restart local v6    # "y":D
    goto :goto_12f

    .line 149
    .end local v2    # "k":I
    .end local v3    # "t":D
    .end local v6    # "y":D
    :cond_e1
    const-wide/high16 v2, 0x404e000000000000L    # 60.0

    div-double/2addr v2, v0

    .line 150
    .local v2, "t":D
    double-to-int v4, v2

    mul-int/lit8 v4, v4, 0x9

    .line 151
    .restart local v4    # "k":I
    sget-object v5, Lim/tpelyyftgw/ui/utils/translate/ssrc/I0Bessel;->c:[D

    aget-wide v6, v5, v4

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x1

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x2

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x3

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x4

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x5

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x6

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x7

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    mul-double v6, v6, v2

    add-int/lit8 v8, v4, 0x8

    aget-wide v8, v5, v8

    add-double/2addr v6, v8

    .line 154
    invoke-static {v2, v3}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v8

    mul-double v6, v6, v8

    invoke-static {v0, v1}, Ljava/lang/Math;->exp(D)D

    move-result-wide v8

    mul-double v6, v6, v8

    .line 156
    .restart local v6    # "y":D
    :goto_12f
    return-wide v6
.end method