Average Error: 0.0 → 0.0
Time: 59.6s
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(1 - v \cdot v\right) \cdot \left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - e^{\log 3 + \log \left(v \cdot v\right)}}\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(1 - v \cdot v\right) \cdot \left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - e^{\log 3 + \log \left(v \cdot v\right)}}\right)
double f(double v) {
        double r77577505 = 2.0;
        double r77577506 = sqrt(r77577505);
        double r77577507 = 4.0;
        double r77577508 = r77577506 / r77577507;
        double r77577509 = 1.0;
        double r77577510 = 3.0;
        double r77577511 = v;
        double r77577512 = r77577511 * r77577511;
        double r77577513 = r77577510 * r77577512;
        double r77577514 = r77577509 - r77577513;
        double r77577515 = sqrt(r77577514);
        double r77577516 = r77577508 * r77577515;
        double r77577517 = r77577509 - r77577512;
        double r77577518 = r77577516 * r77577517;
        return r77577518;
}

double f(double v) {
        double r77577519 = 1.0;
        double r77577520 = v;
        double r77577521 = r77577520 * r77577520;
        double r77577522 = r77577519 - r77577521;
        double r77577523 = 2.0;
        double r77577524 = sqrt(r77577523);
        double r77577525 = 4.0;
        double r77577526 = r77577524 / r77577525;
        double r77577527 = 3.0;
        double r77577528 = log(r77577527);
        double r77577529 = log(r77577521);
        double r77577530 = r77577528 + r77577529;
        double r77577531 = exp(r77577530);
        double r77577532 = r77577519 - r77577531;
        double r77577533 = sqrt(r77577532);
        double r77577534 = r77577526 * r77577533;
        double r77577535 = r77577522 * r77577534;
        return r77577535;
}

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-exp-log0.0

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

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

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

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

Reproduce

herbie shell --seed 2019128 
(FPCore (v)
  :name "Falkner and Boettcher, Appendix B, 2"
  (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))))