Average Error: 1.0 → 0.0
Time: 5.5s
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 r290541 = 4.0;
        double r290542 = 3.0;
        double r290543 = atan2(1.0, 0.0);
        double r290544 = r290542 * r290543;
        double r290545 = 1.0;
        double r290546 = v;
        double r290547 = r290546 * r290546;
        double r290548 = r290545 - r290547;
        double r290549 = r290544 * r290548;
        double r290550 = 2.0;
        double r290551 = 6.0;
        double r290552 = r290551 * r290547;
        double r290553 = r290550 - r290552;
        double r290554 = sqrt(r290553);
        double r290555 = r290549 * r290554;
        double r290556 = r290541 / r290555;
        return r290556;
}

double f(double v) {
        double r290557 = 1.0;
        double r290558 = 3.0;
        double r290559 = atan2(1.0, 0.0);
        double r290560 = r290558 * r290559;
        double r290561 = 1.0;
        double r290562 = v;
        double r290563 = r290562 * r290562;
        double r290564 = r290561 - r290563;
        double r290565 = r290560 * r290564;
        double r290566 = r290557 / r290565;
        double r290567 = 4.0;
        double r290568 = 2.0;
        double r290569 = 6.0;
        double r290570 = r290569 * r290563;
        double r290571 = r290568 - r290570;
        double r290572 = sqrt(r290571);
        double r290573 = r290567 / r290572;
        double r290574 = r290566 * r290573;
        return r290574;
}

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