Average Error: 0.0 → 0.0
Time: 3.3s
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)\]
\[\log \left(e^{\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 \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)
\log \left(e^{\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}}\right) \cdot \left(1 - v \cdot v\right)
double f(double v) {
        double r167932 = 2.0;
        double r167933 = sqrt(r167932);
        double r167934 = 4.0;
        double r167935 = r167933 / r167934;
        double r167936 = 1.0;
        double r167937 = 3.0;
        double r167938 = v;
        double r167939 = r167938 * r167938;
        double r167940 = r167937 * r167939;
        double r167941 = r167936 - r167940;
        double r167942 = sqrt(r167941);
        double r167943 = r167935 * r167942;
        double r167944 = r167936 - r167939;
        double r167945 = r167943 * r167944;
        return r167945;
}

double f(double v) {
        double r167946 = 2.0;
        double r167947 = sqrt(r167946);
        double r167948 = 4.0;
        double r167949 = r167947 / r167948;
        double r167950 = 1.0;
        double r167951 = 3.0;
        double r167952 = v;
        double r167953 = r167952 * r167952;
        double r167954 = r167951 * r167953;
        double r167955 = r167950 - r167954;
        double r167956 = sqrt(r167955);
        double r167957 = r167949 * r167956;
        double r167958 = exp(r167957);
        double r167959 = log(r167958);
        double r167960 = r167950 - r167953;
        double r167961 = r167959 * r167960;
        return r167961;
}

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

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

Reproduce

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