Average Error: 0.0 → 0.0
Time: 18.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(1 - v \cdot v\right) \cdot e^{\log \left(\sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) + \log \left(\frac{\sqrt{2}}{4}\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(\sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) + \log \left(\frac{\sqrt{2}}{4}\right)}
double f(double v) {
        double r41156570 = 2.0;
        double r41156571 = sqrt(r41156570);
        double r41156572 = 4.0;
        double r41156573 = r41156571 / r41156572;
        double r41156574 = 1.0;
        double r41156575 = 3.0;
        double r41156576 = v;
        double r41156577 = r41156576 * r41156576;
        double r41156578 = r41156575 * r41156577;
        double r41156579 = r41156574 - r41156578;
        double r41156580 = sqrt(r41156579);
        double r41156581 = r41156573 * r41156580;
        double r41156582 = r41156574 - r41156577;
        double r41156583 = r41156581 * r41156582;
        return r41156583;
}

double f(double v) {
        double r41156584 = 1.0;
        double r41156585 = v;
        double r41156586 = r41156585 * r41156585;
        double r41156587 = r41156584 - r41156586;
        double r41156588 = 3.0;
        double r41156589 = r41156588 * r41156586;
        double r41156590 = r41156584 - r41156589;
        double r41156591 = sqrt(r41156590);
        double r41156592 = log(r41156591);
        double r41156593 = 2.0;
        double r41156594 = sqrt(r41156593);
        double r41156595 = 4.0;
        double r41156596 = r41156594 / r41156595;
        double r41156597 = log(r41156596);
        double r41156598 = r41156592 + r41156597;
        double r41156599 = exp(r41156598);
        double r41156600 = r41156587 * r41156599;
        return r41156600;
}

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(\color{blue}{e^{\log \left(\frac{\sqrt{2}}{4}\right)}} \cdot e^{\log \left(\sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right)}\right) \cdot \left(1 - v \cdot v\right)\]
  5. Applied prod-exp0.0

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

Reproduce

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