Average Error: 0.0 → 0.0
Time: 12.2s
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 e^{\log \left(\frac{\sqrt{2}}{\frac{4}{\sqrt{1 - \left(v \cdot v\right) \cdot 3}}}\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 e^{\log \left(\frac{\sqrt{2}}{\frac{4}{\sqrt{1 - \left(v \cdot v\right) \cdot 3}}}\right)}
double f(double v) {
        double r5655460 = 2.0;
        double r5655461 = sqrt(r5655460);
        double r5655462 = 4.0;
        double r5655463 = r5655461 / r5655462;
        double r5655464 = 1.0;
        double r5655465 = 3.0;
        double r5655466 = v;
        double r5655467 = r5655466 * r5655466;
        double r5655468 = r5655465 * r5655467;
        double r5655469 = r5655464 - r5655468;
        double r5655470 = sqrt(r5655469);
        double r5655471 = r5655463 * r5655470;
        double r5655472 = r5655464 - r5655467;
        double r5655473 = r5655471 * r5655472;
        return r5655473;
}

double f(double v) {
        double r5655474 = 1.0;
        double r5655475 = v;
        double r5655476 = r5655475 * r5655475;
        double r5655477 = r5655474 - r5655476;
        double r5655478 = 2.0;
        double r5655479 = sqrt(r5655478);
        double r5655480 = 4.0;
        double r5655481 = 3.0;
        double r5655482 = r5655476 * r5655481;
        double r5655483 = r5655474 - r5655482;
        double r5655484 = sqrt(r5655483);
        double r5655485 = r5655480 / r5655484;
        double r5655486 = r5655479 / r5655485;
        double r5655487 = log(r5655486);
        double r5655488 = exp(r5655487);
        double r5655489 = r5655477 * r5655488;
        return r5655489;
}

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 \color{blue}{e^{\log \left(\sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right)}}\right) \cdot \left(1 - v \cdot v\right)\]
  4. Applied add-exp-log0.0

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

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

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

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

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

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

Reproduce

herbie shell --seed 2019171 
(FPCore (v)
  :name "Falkner and Boettcher, Appendix B, 2"
  (* (* (/ (sqrt 2.0) 4.0) (sqrt (- 1.0 (* 3.0 (* v v))))) (- 1.0 (* v v))))