Average Error: 1.0 → 0.0
Time: 3.6s
Precision: 64
\[\frac{4}{\left(\left(3 \cdot \pi\right) \cdot \left(1 - v \cdot v\right)\right) \cdot \sqrt{2 - 6 \cdot \left(v \cdot v\right)}}\]
\[\frac{1}{\left(3 \cdot \pi\right) \cdot \left(1 - v \cdot v\right)} \cdot \frac{4}{\sqrt{2 - 6 \cdot \left(v \cdot v\right)}}\]
\frac{4}{\left(\left(3 \cdot \pi\right) \cdot \left(1 - v \cdot v\right)\right) \cdot \sqrt{2 - 6 \cdot \left(v \cdot v\right)}}
\frac{1}{\left(3 \cdot \pi\right) \cdot \left(1 - v \cdot v\right)} \cdot \frac{4}{\sqrt{2 - 6 \cdot \left(v \cdot v\right)}}
double f(double v) {
        double r191846 = 4.0;
        double r191847 = 3.0;
        double r191848 = atan2(1.0, 0.0);
        double r191849 = r191847 * r191848;
        double r191850 = 1.0;
        double r191851 = v;
        double r191852 = r191851 * r191851;
        double r191853 = r191850 - r191852;
        double r191854 = r191849 * r191853;
        double r191855 = 2.0;
        double r191856 = 6.0;
        double r191857 = r191856 * r191852;
        double r191858 = r191855 - r191857;
        double r191859 = sqrt(r191858);
        double r191860 = r191854 * r191859;
        double r191861 = r191846 / r191860;
        return r191861;
}

double f(double v) {
        double r191862 = 1.0;
        double r191863 = 3.0;
        double r191864 = atan2(1.0, 0.0);
        double r191865 = r191863 * r191864;
        double r191866 = 1.0;
        double r191867 = v;
        double r191868 = r191867 * r191867;
        double r191869 = r191866 - r191868;
        double r191870 = r191865 * r191869;
        double r191871 = r191862 / r191870;
        double r191872 = 4.0;
        double r191873 = 2.0;
        double r191874 = 6.0;
        double r191875 = r191874 * r191868;
        double r191876 = r191873 - r191875;
        double r191877 = sqrt(r191876);
        double r191878 = r191872 / r191877;
        double r191879 = r191871 * r191878;
        return r191879;
}

Error

Bits error versus v

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 1.0

    \[\frac{4}{\left(\left(3 \cdot \pi\right) \cdot \left(1 - v \cdot v\right)\right) \cdot \sqrt{2 - 6 \cdot \left(v \cdot v\right)}}\]
  2. Using strategy rm
  3. Applied *-un-lft-identity1.0

    \[\leadsto \frac{\color{blue}{1 \cdot 4}}{\left(\left(3 \cdot \pi\right) \cdot \left(1 - v \cdot v\right)\right) \cdot \sqrt{2 - 6 \cdot \left(v \cdot v\right)}}\]
  4. Applied times-frac0.0

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

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

Reproduce

herbie shell --seed 2020024 +o rules:numerics
(FPCore (v)
  :name "Falkner and Boettcher, Equation (22+)"
  :precision binary64
  (/ 4 (* (* (* 3 PI) (- 1 (* v v))) (sqrt (- 2 (* 6 (* v v)))))))