// File: /workspace/github_c_makefile_star2_O0/c-zhou[P]yahs/binomlite.c
// Function: erf__
static double erf__(double x)
{
/* -----------------------------------------------------------------------
 *             EVALUATION OF THE REAL ERROR FUNCTION
 * ----------------------------------------------------------------------- */

    /* Initialized data */

    static double c = .564189583547756;
    static double a[5] = { 7.7105849500132e-5,-.00133733772997339,
        .0323076579225834,.0479137145607681,.128379167095513 };
    static double b[3] = { .00301048631703895,.0538971687740286,
        .375795757275549 };
    static double p[8] = { -1.36864857382717e-7,.564195517478974,
        7.21175825088309,43.1622272220567,152.98928504694,
        339.320816734344,451.918953711873,300.459261020162 };
    static double q[8] = { 1.,12.7827273196294,77.0001529352295,
        277.585444743988,638.980264465631,931.35409485061,
        790.950925327898,300.459260956983 };
    static double r[5] = { 2.10144126479064,26.2370141675169,
        21.3688200555087,4.6580782871847,.282094791773523 };
    static double s[4] = { 94.153775055546,187.11481179959,
        99.0191814623914,18.0124575948747 };

    /* Local variables */
    double t, x2, ax, bot, top;

    ax = fabs(x);
    if (ax <= 0.5) {
    t = x * x;
    top = (((a[0] * t + a[1]) * t + a[2]) * t + a[3]) * t + a[4] + 1.;
    bot = ((b[0] * t + b[1]) * t + b[2]) * t + 1.;

    return x * (top / bot);
    }

    // else:  |x| > 0.5

    if (ax <= 4.) { //  |x| in (0.5, 4]
    top = ((((((p[0] * ax + p[1]) * ax + p[2]) * ax + p[3]) * ax + p[4]) * ax
        + p[5]) * ax + p[6]) * ax + p[7];
    bot = ((((((q[0] * ax + q[1]) * ax + q[2]) * ax + q[3]) * ax + q[4]) * ax
        + q[5]) * ax + q[6]) * ax + q[7];
    double R = 0.5 - exp(-x * x) * top / bot + 0.5;
    return (x < 0) ? -R : R;
    }

    // else:  |x| > 4

    if (ax >= 5.8) {
    return x > 0 ? 1 : -1;
    }

    // else:  4 < |x| < 5.8
    x2 = x * x;
    t = 1. / x2;
    top = (((r[0] * t + r[1]) * t + r[2]) * t + r[3]) * t + r[4];
    bot = (((s[0] * t + s[1]) * t + s[2]) * t + s[3]) * t + 1.;
    t = (c - top / (x2 * bot)) / ax;
    double R = 0.5 - exp(-x2) * t + 0.5;
    return (x < 0) ? -R : R;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm0
movaps 0xa9a7(%rip), %xmm1     # 0x32af0
pand %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movsd 0x94a6(%rip), %xmm0     # 0x31600
ucomisd -0x28(%rbp), %xmm0
jb 0x2824a
movsd -0x10(%rbp), %xmm0
mulsd -0x10(%rbp), %xmm0
movsd %xmm0, -0x18(%rbp)
movsd 0x11644(%rip), %xmm0    # 0x397c0
movsd -0x18(%rbp), %xmm2
movsd 0x1163f(%rip), %xmm1    # 0x397c8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x18(%rbp), %xmm2
movsd 0x11632(%rip), %xmm1    # 0x397d0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x18(%rbp), %xmm2
movsd 0x11625(%rip), %xmm1    # 0x397d8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x18(%rbp), %xmm2
movsd 0x11618(%rip), %xmm1    # 0x397e0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x9420(%rip), %xmm1     # 0x315f8
addsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
movsd 0x11607(%rip), %xmm0    # 0x397f0
movsd -0x18(%rbp), %xmm2
movsd 0x11602(%rip), %xmm1    # 0x397f8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x18(%rbp), %xmm2
movsd 0x115f5(%rip), %xmm1    # 0x39800
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x18(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x93d4(%rip), %xmm1     # 0x315f8
addsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x10(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
divsd -0x30(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x28618
movsd 0xa816(%rip), %xmm0     # 0x32a68
ucomisd -0x28(%rbp), %xmm0
jb 0x28433
movsd 0x115ab(%rip), %xmm0    # 0x39810
movsd -0x28(%rbp), %xmm2
movsd 0x115a6(%rip), %xmm1    # 0x39818
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x28(%rbp), %xmm2
movsd 0x11599(%rip), %xmm1    # 0x39820
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x28(%rbp), %xmm2
movsd 0x1158c(%rip), %xmm1    # 0x39828
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x28(%rbp), %xmm2
movsd 0x1157f(%rip), %xmm1    # 0x39830
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x28(%rbp), %xmm2
movsd 0x11572(%rip), %xmm1    # 0x39838
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x28(%rbp), %xmm2
movsd 0x11565(%rip), %xmm1    # 0x39840
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x28(%rbp), %xmm2
movsd 0x11558(%rip), %xmm1    # 0x39848
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
movsd 0x1154b(%rip), %xmm0    # 0x39850
movsd -0x28(%rbp), %xmm2
movsd 0x11546(%rip), %xmm1    # 0x39858
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x28(%rbp), %xmm2
movsd 0x11539(%rip), %xmm1    # 0x39860
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x28(%rbp), %xmm2
movsd 0x1152c(%rip), %xmm1    # 0x39868
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x28(%rbp), %xmm2
movsd 0x1151f(%rip), %xmm1    # 0x39870
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x28(%rbp), %xmm2
movsd 0x11512(%rip), %xmm1    # 0x39878
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x28(%rbp), %xmm2
movsd 0x11505(%rip), %xmm1    # 0x39880
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x28(%rbp), %xmm2
movsd 0x114f8(%rip), %xmm1    # 0x39888
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x10(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd -0x10(%rbp), %xmm0
callq 0x2560
movaps %xmm0, %xmm1
mulsd -0x38(%rbp), %xmm1
divsd -0x30(%rbp), %xmm1
movsd 0x9228(%rip), %xmm0     # 0x31600
subsd %xmm1, %xmm0
movsd 0x921c(%rip), %xmm1     # 0x31600
addsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
xorps %xmm0, %xmm0
ucomisd -0x10(%rbp), %xmm0
jbe 0x2841a
movsd -0x40(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, -0x50(%rbp)
jmp 0x28424
movsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x28618
movsd -0x28(%rbp), %xmm0
movsd 0xa698(%rip), %xmm1     # 0x32ad8
ucomisd %xmm1, %xmm0
jb 0x2846d
movsd -0x10(%rbp), %xmm0
xorps %xmm1, %xmm1
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl $0x1, %ecx
ucomisd %xmm1, %xmm0
cmoval %ecx, %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x28618
movsd -0x10(%rbp), %xmm0
mulsd -0x10(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
movsd 0x9174(%rip), %xmm0     # 0x315f8
divsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x18(%rbp)
movsd 0x113fa(%rip), %xmm0    # 0x39890
movsd -0x18(%rbp), %xmm2
movsd 0x113f5(%rip), %xmm1    # 0x39898
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x18(%rbp), %xmm2
movsd 0x113e8(%rip), %xmm1    # 0x398a0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x18(%rbp), %xmm2
movsd 0x113db(%rip), %xmm1    # 0x398a8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x18(%rbp), %xmm2
movsd 0x113ce(%rip), %xmm1    # 0x398b0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
movsd 0x113c9(%rip), %xmm0    # 0x398c0
movsd -0x18(%rbp), %xmm2
movsd 0x113c4(%rip), %xmm1    # 0x398c8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x18(%rbp), %xmm2
movsd 0x113b7(%rip), %xmm1    # 0x398d0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x18(%rbp), %xmm2
movsd 0x113aa(%rip), %xmm1    # 0x398d8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x18(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x90b1(%rip), %xmm1     # 0x315f8
addsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
movsd 0x11258(%rip), %xmm0    # 0x397b0
movsd -0x38(%rbp), %xmm1
movsd -0x20(%rbp), %xmm2
mulsd -0x30(%rbp), %xmm2
divsd %xmm2, %xmm1
subsd %xmm1, %xmm0
divsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x18(%rbp)
movsd -0x20(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
callq 0x2560
movsd -0x18(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm1, %xmm0
movsd 0x903e(%rip), %xmm1     # 0x31600
addsd %xmm1, %xmm0
movsd 0x9032(%rip), %xmm1     # 0x31600
addsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
xorps %xmm0, %xmm0
ucomisd -0x10(%rbp), %xmm0
jbe 0x28604
movsd -0x48(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, -0x58(%rbp)
jmp 0x2860e
movsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
movsd -0x8(%rbp), %xmm0
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)