Average Error: 0.0 → 0.0
Time: 11.5s
Precision: 64
\[\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\]
\[\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - \log \left(e^{3 \cdot \left(v \cdot v\right)}\right)}\right) \cdot \left(1 - v \cdot v\right)\]
\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)
\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - \log \left(e^{3 \cdot \left(v \cdot v\right)}\right)}\right) \cdot \left(1 - v \cdot v\right)
double f(double v) {
        double r286200 = 2.0;
        double r286201 = sqrt(r286200);
        double r286202 = 4.0;
        double r286203 = r286201 / r286202;
        double r286204 = 1.0;
        double r286205 = 3.0;
        double r286206 = v;
        double r286207 = r286206 * r286206;
        double r286208 = r286205 * r286207;
        double r286209 = r286204 - r286208;
        double r286210 = sqrt(r286209);
        double r286211 = r286203 * r286210;
        double r286212 = r286204 - r286207;
        double r286213 = r286211 * r286212;
        return r286213;
}

double f(double v) {
        double r286214 = 2.0;
        double r286215 = sqrt(r286214);
        double r286216 = 4.0;
        double r286217 = r286215 / r286216;
        double r286218 = 1.0;
        double r286219 = 3.0;
        double r286220 = v;
        double r286221 = r286220 * r286220;
        double r286222 = r286219 * r286221;
        double r286223 = exp(r286222);
        double r286224 = log(r286223);
        double r286225 = r286218 - r286224;
        double r286226 = sqrt(r286225);
        double r286227 = r286217 * r286226;
        double r286228 = r286218 - r286221;
        double r286229 = r286227 * r286228;
        return r286229;
}

Error

Bits error versus v

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\]
  2. Using strategy rm
  3. Applied add-log-exp0.0

    \[\leadsto \left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - \color{blue}{\log \left(e^{3 \cdot \left(v \cdot v\right)}\right)}}\right) \cdot \left(1 - v \cdot v\right)\]
  4. Final simplification0.0

    \[\leadsto \left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - \log \left(e^{3 \cdot \left(v \cdot v\right)}\right)}\right) \cdot \left(1 - v \cdot v\right)\]

Reproduce

herbie shell --seed 2020042 +o rules:numerics
(FPCore (v)
  :name "Falkner and Boettcher, Appendix B, 2"
  :precision binary64
  (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))))