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 r186757 = 4.0;
        double r186758 = 3.0;
        double r186759 = atan2(1.0, 0.0);
        double r186760 = r186758 * r186759;
        double r186761 = 1.0;
        double r186762 = v;
        double r186763 = r186762 * r186762;
        double r186764 = r186761 - r186763;
        double r186765 = r186760 * r186764;
        double r186766 = 2.0;
        double r186767 = 6.0;
        double r186768 = r186767 * r186763;
        double r186769 = r186766 - r186768;
        double r186770 = sqrt(r186769);
        double r186771 = r186765 * r186770;
        double r186772 = r186757 / r186771;
        return r186772;
}

double f(double v) {
        double r186773 = 1.0;
        double r186774 = 3.0;
        double r186775 = atan2(1.0, 0.0);
        double r186776 = r186774 * r186775;
        double r186777 = 1.0;
        double r186778 = v;
        double r186779 = r186778 * r186778;
        double r186780 = r186777 - r186779;
        double r186781 = r186776 * r186780;
        double r186782 = r186773 / r186781;
        double r186783 = 4.0;
        double r186784 = 2.0;
        double r186785 = 6.0;
        double r186786 = r186785 * r186779;
        double r186787 = r186784 - r186786;
        double r186788 = sqrt(r186787);
        double r186789 = r186783 / r186788;
        double r186790 = r186782 * r186789;
        return r186790;
}

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 2020060 +o rules:numerics
(FPCore (v)
  :name "Falkner and Boettcher, Equation (22+)"
  :precision binary64
  (/ 4 (* (* (* 3 PI) (- 1 (* v v))) (sqrt (- 2 (* 6 (* v v)))))))