Average Error: 0.0 → 0.0
Time: 3.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)\]
\[e^{\log \left(\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - 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)
e^{\log \left(\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\right)}
double f(double v) {
        double r322221 = 2.0;
        double r322222 = sqrt(r322221);
        double r322223 = 4.0;
        double r322224 = r322222 / r322223;
        double r322225 = 1.0;
        double r322226 = 3.0;
        double r322227 = v;
        double r322228 = r322227 * r322227;
        double r322229 = r322226 * r322228;
        double r322230 = r322225 - r322229;
        double r322231 = sqrt(r322230);
        double r322232 = r322224 * r322231;
        double r322233 = r322225 - r322228;
        double r322234 = r322232 * r322233;
        return r322234;
}

double f(double v) {
        double r322235 = 2.0;
        double r322236 = sqrt(r322235);
        double r322237 = 4.0;
        double r322238 = r322236 / r322237;
        double r322239 = 1.0;
        double r322240 = 3.0;
        double r322241 = v;
        double r322242 = r322241 * r322241;
        double r322243 = r322240 * r322242;
        double r322244 = r322239 - r322243;
        double r322245 = sqrt(r322244);
        double r322246 = r322238 * r322245;
        double r322247 = r322239 - r322242;
        double r322248 = r322246 * r322247;
        double r322249 = log(r322248);
        double r322250 = exp(r322249);
        return r322250;
}

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

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

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

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

Reproduce

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