Average Error: 12.4 → 0.6
Time: 38.5s
Precision: 64
Internal Precision: 128
\[\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\]
\[\begin{array}{l} \mathbf{if}\;v \le -2.675614305948926 \cdot 10^{+38} \lor \neg \left(v \le 1.8489521301429376 \cdot 10^{-10}\right):\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \left(\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right) \cdot \left(0.25 - \frac{0.125}{v}\right) - \left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right) \cdot \frac{0.125}{v \cdot v}\right)\right) - 4.5\\ \mathbf{else}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(9 - 4 \cdot \left(v \cdot v\right)\right) \cdot \left(0.125 \cdot \left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)\right)}{\left(1 - v\right) \cdot \left(2 \cdot v + 3\right)}\right) - 4.5\\ \end{array}\]

Error

Bits error versus v

Bits error versus w

Bits error versus r

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if v < -2.675614305948926e+38 or 1.8489521301429376e-10 < v

    1. Initial program 17.3

      \[\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\]
    2. Using strategy rm
    3. Applied associate-*l*13.9

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\color{blue}{\left(w \cdot \left(w \cdot r\right)\right)} \cdot r\right)}{1 - v}\right) - 4.5\]
    4. Using strategy rm
    5. Applied associate-/l*2.7

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}}}\right) - 4.5\]
    6. Taylor expanded around inf 17.0

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\left(0.25 \cdot \left({r}^{2} \cdot {w}^{2}\right) - \left(0.125 \cdot \frac{{r}^{2} \cdot {w}^{2}}{v} + 0.125 \cdot \frac{{r}^{2} \cdot {w}^{2}}{{v}^{2}}\right)\right)}\right) - 4.5\]
    7. Simplified0.8

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\left(\left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right) \cdot \left(0.25 - \frac{0.125}{v}\right) - \frac{0.125}{v \cdot v} \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right)\right)}\right) - 4.5\]

    if -2.675614305948926e+38 < v < 1.8489521301429376e-10

    1. Initial program 7.8

      \[\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\]
    2. Using strategy rm
    3. Applied associate-*l*2.1

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\color{blue}{\left(w \cdot \left(w \cdot r\right)\right)} \cdot r\right)}{1 - v}\right) - 4.5\]
    4. Using strategy rm
    5. Applied flip--2.1

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \color{blue}{\frac{3 \cdot 3 - \left(2 \cdot v\right) \cdot \left(2 \cdot v\right)}{3 + 2 \cdot v}}\right) \cdot \left(\left(w \cdot \left(w \cdot r\right)\right) \cdot r\right)}{1 - v}\right) - 4.5\]
    6. Applied associate-*r/2.1

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\color{blue}{\frac{0.125 \cdot \left(3 \cdot 3 - \left(2 \cdot v\right) \cdot \left(2 \cdot v\right)\right)}{3 + 2 \cdot v}} \cdot \left(\left(w \cdot \left(w \cdot r\right)\right) \cdot r\right)}{1 - v}\right) - 4.5\]
    7. Applied associate-*l/2.2

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\color{blue}{\frac{\left(0.125 \cdot \left(3 \cdot 3 - \left(2 \cdot v\right) \cdot \left(2 \cdot v\right)\right)\right) \cdot \left(\left(w \cdot \left(w \cdot r\right)\right) \cdot r\right)}{3 + 2 \cdot v}}}{1 - v}\right) - 4.5\]
    8. Applied associate-/l/2.2

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\frac{\left(0.125 \cdot \left(3 \cdot 3 - \left(2 \cdot v\right) \cdot \left(2 \cdot v\right)\right)\right) \cdot \left(\left(w \cdot \left(w \cdot r\right)\right) \cdot r\right)}{\left(1 - v\right) \cdot \left(3 + 2 \cdot v\right)}}\right) - 4.5\]
    9. Simplified0.5

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\color{blue}{\left(9 - \left(v \cdot v\right) \cdot 4\right) \cdot \left(\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right) \cdot 0.125\right)}}{\left(1 - v\right) \cdot \left(3 + 2 \cdot v\right)}\right) - 4.5\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;v \le -2.675614305948926 \cdot 10^{+38} \lor \neg \left(v \le 1.8489521301429376 \cdot 10^{-10}\right):\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \left(\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right) \cdot \left(0.25 - \frac{0.125}{v}\right) - \left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right) \cdot \frac{0.125}{v \cdot v}\right)\right) - 4.5\\ \mathbf{else}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(9 - 4 \cdot \left(v \cdot v\right)\right) \cdot \left(0.125 \cdot \left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)\right)}{\left(1 - v\right) \cdot \left(2 \cdot v + 3\right)}\right) - 4.5\\ \end{array}\]

Reproduce

herbie shell --seed 2019007 
(FPCore (v w r)
  :name "Rosa's TurbineBenchmark"
  (- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5))

Details

Time bar (total: 37.7s)Debug log

sample333.0ms

Algorithm
intervals

simplify99.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

98.0ms
(- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5)

prune18.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 14.3b

localize81.0ms

Local error

Found 4 expressions with local error:

10.5b
(* (* w w) r)
7.7b
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))
6.3b
(* (* (* w w) r) r)
2.8b
(* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r))

rewrite56.0ms

Algorithm
rewrite-expression-head
Counts
4 → 58
Calls

4 calls. Slowest were:

24.0ms
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))
20.0ms
(* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r))
5.0ms
(* (* (* w w) r) r)

series185.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

77.0ms
(* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r))
56.0ms
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))
26.0ms
(* (* (* w w) r) r)
25.0ms
(* (* w w) r)

simplify6.2s

Counts
36 → 70
Calls

36 calls. Slowest were:

633.0ms
(/ (* (* (* (* 0.125 (- 3 (* 2 v))) (* 0.125 (- 3 (* 2 v)))) (* 0.125 (- 3 (* 2 v)))) (* (* (* (* (* w w) r) r) (* (* (* w w) r) r)) (* (* (* w w) r) r))) (* (* (- 1 v) (- 1 v)) (- 1 v)))
518.0ms
(* (* 0.125 (- (* 3 3) (* (* 2 v) (* 2 v)))) (* (* (* w w) r) r))
500.0ms
(* (* 0.125 (- (* 3 3) (* (* 2 v) (* 2 v)))) (* (* (* w w) r) r))

prune965.0ms

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 0.1b

localize21.0ms

Local error

Found 4 expressions with local error:

7.7b
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r)) (- 1 v))
6.3b
(* (* w (* w r)) r)
2.8b
(* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r))
0.3b
(/ 2 (* r r))

rewrite59.0ms

Algorithm
rewrite-expression-head
Counts
4 → 60
Calls

4 calls. Slowest were:

30.0ms
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r)) (- 1 v))
21.0ms
(* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r))
6.0ms
(* (* w (* w r)) r)

series148.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

60.0ms
(* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r))
52.0ms
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r)) (- 1 v))
26.0ms
(* (* w (* w r)) r)
11.0ms
(/ 2 (* r r))

simplify6.3s

Counts
35 → 72
Calls

35 calls. Slowest were:

631.0ms
(* (* 0.125 (- (* 3 3) (* (* 2 v) (* 2 v)))) (* (* w (* w r)) r))
616.0ms
(* (* 0.125 (- (* 3 3) (* (* 2 v) (* 2 v)))) (* (* w (* w r)) r))
410.0ms
(+ (* 0.375 (* (pow r 2) (pow w 2))) (+ (* 0.125 (* (pow r 2) (* v (pow w 2)))) (* 0.125 (* (pow r 2) (* (pow v 2) (pow w 2))))))

prune1.1s

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 0.1b

localize14.0ms

Local error

Found 4 expressions with local error:

6.3b
(* (* w (* w r)) r)
4.0b
(/ (* 0.125 (- 3 (* 2 v))) (/ (- 1 v) (* (* w (* w r)) r)))
0.3b
(/ 2 (* r r))
0.2b
(/ (- 1 v) (* (* w (* w r)) r))

rewrite37.0ms

Algorithm
rewrite-expression-head
Counts
4 → 74
Calls

4 calls. Slowest were:

16.0ms
(/ (* 0.125 (- 3 (* 2 v))) (/ (- 1 v) (* (* w (* w r)) r)))
12.0ms
(/ (- 1 v) (* (* w (* w r)) r))
6.0ms
(* (* w (* w r)) r)

series142.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

72.0ms
(/ (* 0.125 (- 3 (* 2 v))) (/ (- 1 v) (* (* w (* w r)) r)))
28.0ms
(/ (- 1 v) (* (* w (* w r)) r))
26.0ms
(* (* w (* w r)) r)
16.0ms
(/ 2 (* r r))

simplify5.6s

Counts
53 → 86
Calls

53 calls. Slowest were:

489.0ms
(/ 0.125 (/ (* (cbrt (- 1 v)) (cbrt (- 1 v))) (* w (* w r))))
434.0ms
(* 0.125 (- (pow 3 3) (pow (* 2 v) 3)))
379.0ms
(+ (* 0.375 (* (pow r 2) (pow w 2))) (+ (* 0.125 (* (pow r 2) (* v (pow w 2)))) (* 0.125 (* (pow r 2) (* (pow v 2) (pow w 2))))))

prune1.5s

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 0.0b

localize20.0ms

Local error

Found 4 expressions with local error:

6.3b
(* (* w (* w r)) r)
4.0b
(/ (* 0.125 (- 3 (* 2 v))) (/ (- 1 v) (* (* w (* w r)) r)))
0.2b
(/ (- 1 v) (* (* w (* w r)) r))
0.2b
(* 0.125 (- 3 (* 2 v)))

rewrite34.0ms

Algorithm
rewrite-expression-head
Counts
4 → 80
Calls

4 calls. Slowest were:

18.0ms
(/ (* 0.125 (- 3 (* 2 v))) (/ (- 1 v) (* (* w (* w r)) r)))
8.0ms
(/ (- 1 v) (* (* w (* w r)) r))
3.0ms
(* (* w (* w r)) r)

series176.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

73.0ms
(/ (* 0.125 (- 3 (* 2 v))) (/ (- 1 v) (* (* w (* w r)) r)))
48.0ms
(/ (- 1 v) (* (* w (* w r)) r))
29.0ms
(* (* w (* w r)) r)
26.0ms
(* 0.125 (- 3 (* 2 v)))

simplify6.3s

Counts
62 → 92
Calls

62 calls. Slowest were:

490.0ms
(* 0.125 (- (pow 3 3) (pow (* 2 v) 3)))
475.0ms
(/ 0.125 (/ (* (cbrt (- 1 v)) (cbrt (- 1 v))) (* w (* w r))))
395.0ms
(+ (* 0.375 (* (pow r 2) (pow w 2))) (+ (* 0.125 (* (pow r 2) (* v (pow w 2)))) (* 0.125 (* (pow r 2) (* (pow v 2) (pow w 2))))))

prune1.4s

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 0.0b

regimes477.0ms

Accuracy

77% (0.5b remaining)

Error of 0.6b against oracle of 0.1b and baseline of 2.4b

bsearch1.1s

end0.0ms

sample5.4s

Algorithm
intervals