Average Error: 0.0 → 0.0
Time: 2.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 \log \left(e^{\sqrt{1 - 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 \log \left(e^{\sqrt{1 - 3 \cdot \left(v \cdot v\right)}}\right)\right) \cdot \left(1 - v \cdot v\right)
double f(double v) {
        double r245667 = 2.0;
        double r245668 = sqrt(r245667);
        double r245669 = 4.0;
        double r245670 = r245668 / r245669;
        double r245671 = 1.0;
        double r245672 = 3.0;
        double r245673 = v;
        double r245674 = r245673 * r245673;
        double r245675 = r245672 * r245674;
        double r245676 = r245671 - r245675;
        double r245677 = sqrt(r245676);
        double r245678 = r245670 * r245677;
        double r245679 = r245671 - r245674;
        double r245680 = r245678 * r245679;
        return r245680;
}

double f(double v) {
        double r245681 = 2.0;
        double r245682 = sqrt(r245681);
        double r245683 = 4.0;
        double r245684 = r245682 / r245683;
        double r245685 = 1.0;
        double r245686 = 3.0;
        double r245687 = v;
        double r245688 = r245687 * r245687;
        double r245689 = r245686 * r245688;
        double r245690 = r245685 - r245689;
        double r245691 = sqrt(r245690);
        double r245692 = exp(r245691);
        double r245693 = log(r245692);
        double r245694 = r245684 * r245693;
        double r245695 = r245685 - r245688;
        double r245696 = r245694 * r245695;
        return r245696;
}

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 \color{blue}{\log \left(e^{\sqrt{1 - 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 \log \left(e^{\sqrt{1 - 3 \cdot \left(v \cdot v\right)}}\right)\right) \cdot \left(1 - v \cdot v\right)\]

Reproduce

herbie shell --seed 2020065 +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))))