Average Error: 0.0 → 0.0
Time: 5.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)\]
\[e^{\log \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)
e^{\log \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 r224194 = 2.0;
        double r224195 = sqrt(r224194);
        double r224196 = 4.0;
        double r224197 = r224195 / r224196;
        double r224198 = 1.0;
        double r224199 = 3.0;
        double r224200 = v;
        double r224201 = r224200 * r224200;
        double r224202 = r224199 * r224201;
        double r224203 = r224198 - r224202;
        double r224204 = sqrt(r224203);
        double r224205 = r224197 * r224204;
        double r224206 = r224198 - r224201;
        double r224207 = r224205 * r224206;
        return r224207;
}

double f(double v) {
        double r224208 = 2.0;
        double r224209 = sqrt(r224208);
        double r224210 = 4.0;
        double r224211 = r224209 / r224210;
        double r224212 = 1.0;
        double r224213 = 3.0;
        double r224214 = v;
        double r224215 = r224214 * r224214;
        double r224216 = r224213 * r224215;
        double r224217 = exp(r224216);
        double r224218 = log(r224217);
        double r224219 = r224212 - r224218;
        double r224220 = sqrt(r224219);
        double r224221 = r224211 * r224220;
        double r224222 = log(r224221);
        double r224223 = exp(r224222);
        double r224224 = r224212 - r224215;
        double r224225 = r224223 * r224224;
        return r224225;
}

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}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right)}} \cdot \left(1 - v \cdot v\right)\]
  9. Using strategy rm
  10. Applied add-log-exp0.0

    \[\leadsto e^{\log \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)\]
  11. Final simplification0.0

    \[\leadsto e^{\log \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 2020024 +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))))