Average Error: 14.0 → 13.9
Time: 23.6s
Precision: 64
\[1 - \left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(0.2548295919999999936678136691625695675611 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-0.2844967359999999723108032867457950487733 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(1.421413741000000063863240029604639858007 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-1.453152027000000012790792425221297889948 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot 1.061405428999999900341322245367337018251\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\]
\[e^{\log \left(\log \left(e^{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, -\frac{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, \mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), \frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{{\left(\left|x\right|\right)}^{2}}}, 1\right)}\right)\right)}\]
1 - \left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(0.2548295919999999936678136691625695675611 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-0.2844967359999999723108032867457950487733 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(1.421413741000000063863240029604639858007 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-1.453152027000000012790792425221297889948 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot 1.061405428999999900341322245367337018251\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}
e^{\log \left(\log \left(e^{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, -\frac{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, \mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), \frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{{\left(\left|x\right|\right)}^{2}}}, 1\right)}\right)\right)}
double f(double x) {
        double r98930 = 1.0;
        double r98931 = 0.3275911;
        double r98932 = x;
        double r98933 = fabs(r98932);
        double r98934 = r98931 * r98933;
        double r98935 = r98930 + r98934;
        double r98936 = r98930 / r98935;
        double r98937 = 0.254829592;
        double r98938 = -0.284496736;
        double r98939 = 1.421413741;
        double r98940 = -1.453152027;
        double r98941 = 1.061405429;
        double r98942 = r98936 * r98941;
        double r98943 = r98940 + r98942;
        double r98944 = r98936 * r98943;
        double r98945 = r98939 + r98944;
        double r98946 = r98936 * r98945;
        double r98947 = r98938 + r98946;
        double r98948 = r98936 * r98947;
        double r98949 = r98937 + r98948;
        double r98950 = r98936 * r98949;
        double r98951 = r98933 * r98933;
        double r98952 = -r98951;
        double r98953 = exp(r98952);
        double r98954 = r98950 * r98953;
        double r98955 = r98930 - r98954;
        return r98955;
}

double f(double x) {
        double r98956 = 1.0;
        double r98957 = x;
        double r98958 = fabs(r98957);
        double r98959 = 0.3275911;
        double r98960 = fma(r98958, r98959, r98956);
        double r98961 = r98956 / r98960;
        double r98962 = 1.061405429;
        double r98963 = -1.453152027;
        double r98964 = fma(r98961, r98962, r98963);
        double r98965 = 1.421413741;
        double r98966 = fma(r98961, r98964, r98965);
        double r98967 = -0.284496736;
        double r98968 = fma(r98966, r98961, r98967);
        double r98969 = 0.254829592;
        double r98970 = fma(r98961, r98968, r98969);
        double r98971 = 2.0;
        double r98972 = pow(r98958, r98971);
        double r98973 = exp(r98972);
        double r98974 = r98970 / r98973;
        double r98975 = -r98974;
        double r98976 = fma(r98961, r98975, r98956);
        double r98977 = exp(r98976);
        double r98978 = log(r98977);
        double r98979 = log(r98978);
        double r98980 = exp(r98979);
        return r98980;
}

Error

Bits error versus x

Derivation

  1. Initial program 14.0

    \[1 - \left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(0.2548295919999999936678136691625695675611 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-0.2844967359999999723108032867457950487733 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(1.421413741000000063863240029604639858007 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-1.453152027000000012790792425221297889948 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot 1.061405428999999900341322245367337018251\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\]
  2. Simplified14.0

    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, -\frac{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, \mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), \frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{\left|x\right| \cdot \left|x\right|}}, 1\right)}\]
  3. Using strategy rm
  4. Applied add-exp-log14.0

    \[\leadsto \color{blue}{e^{\log \left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, -\frac{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, \mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), \frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{\left|x\right| \cdot \left|x\right|}}, 1\right)\right)}}\]
  5. Simplified14.0

    \[\leadsto e^{\color{blue}{\log \left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, -\frac{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, \mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), \frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{{\left(\left|x\right|\right)}^{2}}}, 1\right)\right)}}\]
  6. Using strategy rm
  7. Applied add-log-exp13.9

    \[\leadsto e^{\log \color{blue}{\left(\log \left(e^{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, -\frac{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, \mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), \frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{{\left(\left|x\right|\right)}^{2}}}, 1\right)}\right)\right)}}\]
  8. Final simplification13.9

    \[\leadsto e^{\log \left(\log \left(e^{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, -\frac{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, \mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), \frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{{\left(\left|x\right|\right)}^{2}}}, 1\right)}\right)\right)}\]

Reproduce

herbie shell --seed 2019304 +o rules:numerics
(FPCore (x)
  :name "Jmat.Real.erf"
  :precision binary64
  (- 1 (* (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) (+ 0.25482959199999999 (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) (+ -0.284496735999999972 (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) (+ 1.42141374100000006 (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) (+ -1.45315202700000001 (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) 1.0614054289999999))))))))) (exp (- (* (fabs x) (fabs x)))))))