Average Error: 0.0 → 0.0
Time: 16.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)\]
\[\frac{\sqrt{2}}{4} \cdot \left(\left(\sqrt{1 - 3 \cdot \left(v \cdot v\right)} \cdot \sqrt{1 - v \cdot v}\right) \cdot \sqrt{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)
\frac{\sqrt{2}}{4} \cdot \left(\left(\sqrt{1 - 3 \cdot \left(v \cdot v\right)} \cdot \sqrt{1 - v \cdot v}\right) \cdot \sqrt{1 - v \cdot v}\right)
double f(double v) {
        double r99137 = 2.0;
        double r99138 = sqrt(r99137);
        double r99139 = 4.0;
        double r99140 = r99138 / r99139;
        double r99141 = 1.0;
        double r99142 = 3.0;
        double r99143 = v;
        double r99144 = r99143 * r99143;
        double r99145 = r99142 * r99144;
        double r99146 = r99141 - r99145;
        double r99147 = sqrt(r99146);
        double r99148 = r99140 * r99147;
        double r99149 = r99141 - r99144;
        double r99150 = r99148 * r99149;
        return r99150;
}

double f(double v) {
        double r99151 = 2.0;
        double r99152 = sqrt(r99151);
        double r99153 = 4.0;
        double r99154 = r99152 / r99153;
        double r99155 = 1.0;
        double r99156 = 3.0;
        double r99157 = v;
        double r99158 = r99157 * r99157;
        double r99159 = r99156 * r99158;
        double r99160 = r99155 - r99159;
        double r99161 = sqrt(r99160);
        double r99162 = r99155 - r99158;
        double r99163 = sqrt(r99162);
        double r99164 = r99161 * r99163;
        double r99165 = r99164 * r99163;
        double r99166 = r99154 * r99165;
        return r99166;
}

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 associate-*l*0.0

    \[\leadsto \color{blue}{\frac{\sqrt{2}}{4} \cdot \left(\sqrt{1 - 3 \cdot \left(v \cdot v\right)} \cdot \left(1 - v \cdot v\right)\right)}\]
  4. Using strategy rm
  5. Applied add-sqr-sqrt0.0

    \[\leadsto \frac{\sqrt{2}}{4} \cdot \left(\sqrt{1 - 3 \cdot \left(v \cdot v\right)} \cdot \color{blue}{\left(\sqrt{1 - v \cdot v} \cdot \sqrt{1 - v \cdot v}\right)}\right)\]
  6. Applied associate-*r*0.0

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

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

Reproduce

herbie shell --seed 2019195 
(FPCore (v)
  :name "Falkner and Boettcher, Appendix B, 2"
  (* (* (/ (sqrt 2.0) 4.0) (sqrt (- 1.0 (* 3.0 (* v v))))) (- 1.0 (* v v))))