Average Error: 0.4 → 0.4
Time: 19.2s
Precision: 64
\[\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\left(\pi \cdot t\right) \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right) \cdot \left(1 - v \cdot v\right)}\]
\[\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\pi \cdot \left(t \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right)\right) \cdot \left(1 - v \cdot v\right)}\]
\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\left(\pi \cdot t\right) \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right) \cdot \left(1 - v \cdot v\right)}
\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\pi \cdot \left(t \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right)\right) \cdot \left(1 - v \cdot v\right)}
double f(double v, double t) {
        double r170076 = 1.0;
        double r170077 = 5.0;
        double r170078 = v;
        double r170079 = r170078 * r170078;
        double r170080 = r170077 * r170079;
        double r170081 = r170076 - r170080;
        double r170082 = atan2(1.0, 0.0);
        double r170083 = t;
        double r170084 = r170082 * r170083;
        double r170085 = 2.0;
        double r170086 = 3.0;
        double r170087 = r170086 * r170079;
        double r170088 = r170076 - r170087;
        double r170089 = r170085 * r170088;
        double r170090 = sqrt(r170089);
        double r170091 = r170084 * r170090;
        double r170092 = r170076 - r170079;
        double r170093 = r170091 * r170092;
        double r170094 = r170081 / r170093;
        return r170094;
}

double f(double v, double t) {
        double r170095 = 1.0;
        double r170096 = 5.0;
        double r170097 = v;
        double r170098 = r170097 * r170097;
        double r170099 = r170096 * r170098;
        double r170100 = r170095 - r170099;
        double r170101 = atan2(1.0, 0.0);
        double r170102 = t;
        double r170103 = 2.0;
        double r170104 = 3.0;
        double r170105 = r170104 * r170098;
        double r170106 = r170095 - r170105;
        double r170107 = r170103 * r170106;
        double r170108 = sqrt(r170107);
        double r170109 = r170102 * r170108;
        double r170110 = r170101 * r170109;
        double r170111 = r170095 - r170098;
        double r170112 = r170110 * r170111;
        double r170113 = r170100 / r170112;
        return r170113;
}

Error

Bits error versus v

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.4

    \[\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\left(\pi \cdot t\right) \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right) \cdot \left(1 - v \cdot v\right)}\]
  2. Using strategy rm
  3. Applied associate-*l*0.4

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

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

Reproduce

herbie shell --seed 2019209 +o rules:numerics
(FPCore (v t)
  :name "Falkner and Boettcher, Equation (20:1,3)"
  :precision binary64
  (/ (- 1 (* 5 (* v v))) (* (* (* PI t) (sqrt (* 2 (- 1 (* 3 (* v v)))))) (- 1 (* v v)))))