Average Error: 12.1 → 0.6
Time: 34.8s
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 -3.358397834266214 \cdot 10^{+70} \lor \neg \left(v \le 2.747403245033089 \cdot 10^{-06}\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(v \cdot \left(-0.25\right) + 0.375\right) \cdot \left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)}{1 - v}\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 < -3.358397834266214e+70 or 2.747403245033089e-06 < v

    1. Initial program 17.4

      \[\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 *-un-lft-identity17.4

      \[\leadsto \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)}{\color{blue}{1 \cdot \left(1 - v\right)}}\right) - 4.5\]
    4. Applied times-frac8.3

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

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

      \[\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.6

      \[\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 -3.358397834266214e+70 < v < 2.747403245033089e-06

    1. Initial program 7.9

      \[\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. Taylor expanded around inf 16.8

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;v \le -3.358397834266214 \cdot 10^{+70} \lor \neg \left(v \le 2.747403245033089 \cdot 10^{-06}\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(v \cdot \left(-0.25\right) + 0.375\right) \cdot \left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)}{1 - v}\right) - 4.5\\ \end{array}\]

Reproduce

herbie shell --seed 2019008 
(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: 33.6s)Debug log

sample539.0ms

Algorithm
intervals

simplify109.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune10.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 12.5b

localize42.0ms

Local error

Found 4 expressions with local error:

7.3b
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))
6.9b
(* (* w w) r)
5.4b
(* (* (* w w) r) r)
2.7b
(* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r))

rewrite54.0ms

Algorithm
rewrite-expression-head
Counts
4 → 58
Calls

4 calls. Slowest were:

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

series154.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

64.0ms
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))
59.0ms
(* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r))
16.0ms
(* (* (* w w) r) r)
14.0ms
(* (* w w) r)

simplify6.4s

Counts
36 → 70
Calls

36 calls. Slowest were:

605.0ms
(/ (* 0.125 (- 3 (* 2 v))) (* (cbrt (- 1 v)) (cbrt (- 1 v))))
583.0ms
(* (* 0.125 (- (* 3 3) (* (* 2 v) (* 2 v)))) (* (* (* w w) r) r))
495.0ms
(* (* 0.125 (- (* 3 3) (* (* 2 v) (* 2 v)))) (* (* (* w w) r) r))

prune1.0s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 0.1b

localize39.0ms

Local error

Found 4 expressions with local error:

6.9b
(* (* w w) r)
5.4b
(* (* (* w w) r) r)
5.3b
(* (* 0.125 (+ (* v -2) 3)) (/ (* (* (* w w) r) r) (- 1 v)))
1.1b
(/ 2 (* r r))

rewrite42.0ms

Algorithm
rewrite-expression-head
Counts
4 → 57
Calls

4 calls. Slowest were:

21.0ms
(* (* 0.125 (+ (* v -2) 3)) (/ (* (* (* w w) r) r) (- 1 v)))
11.0ms
(* (* (* w w) r) r)
9.0ms
(* (* w w) r)

series106.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

68.0ms
(* (* 0.125 (+ (* v -2) 3)) (/ (* (* (* w w) r) r) (- 1 v)))
16.0ms
(* (* (* w w) r) r)
12.0ms
(/ 2 (* r r))
10.0ms
(* (* w w) r)

simplify4.7s

Counts
34 → 69
Calls

34 calls. Slowest were:

664.0ms
(* (* 0.125 (- (* (* v -2) (* v -2)) (* 3 3))) (/ (* (* (* w w) r) r) (- 1 v)))
636.0ms
(* (* 0.125 (- (* (* v -2) (* v -2)) (* 3 3))) (* (* (* w w) r) r))
353.0ms
(- (* 0.25 (* (pow r 2) (pow w 2))) (+ (* 0.125 (/ (* (pow r 2) (pow w 2)) v)) (* 0.125 (/ (* (pow r 2) (pow w 2)) (pow v 2)))))

prune1.1s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 0.1b

localize23.0ms

Local error

Found 4 expressions with local error:

5.4b
(* (* w (* w r)) r)
5.3b
(* (* 0.125 (+ (* v -2) 3)) (/ (* (* w (* w r)) r) (- 1 v)))
1.1b
(/ 2 (* r r))
0.2b
(* 0.125 (+ (* v -2) 3))

rewrite24.0ms

Algorithm
rewrite-expression-head
Counts
4 → 63
Calls

4 calls. Slowest were:

14.0ms
(* (* 0.125 (+ (* v -2) 3)) (/ (* (* w (* w r)) r) (- 1 v)))
6.0ms
(* (* w (* w r)) r)
3.0ms
(* 0.125 (+ (* v -2) 3))

series117.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

52.0ms
(* (* 0.125 (+ (* v -2) 3)) (/ (* (* w (* w r)) r) (- 1 v)))
24.0ms
(* (* w (* w r)) r)
22.0ms
(* 0.125 (+ (* v -2) 3))
18.0ms
(/ 2 (* r r))

simplify4.5s

Counts
40 → 75
Calls

40 calls. Slowest were:

667.0ms
(* (* 0.125 (- (* (* v -2) (* v -2)) (* 3 3))) (/ (* (* w (* w r)) r) (- 1 v)))
475.0ms
(* (* 0.125 (- (* (* v -2) (* v -2)) (* 3 3))) (* (* w (* w r)) r))
390.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.2s

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 0.1b

localize28.0ms

Local error

Found 4 expressions with local error:

5.4b
(* (* w (* w r)) r)
5.3b
(* (* 0.125 (+ (* v -2) 3)) (/ (* (* w (* w r)) r) (- 1 v)))
0.3b
(/ (/ 2 r) r)
0.2b
(* 0.125 (+ (* v -2) 3))

rewrite25.0ms

Algorithm
rewrite-expression-head
Counts
4 → 67
Calls

4 calls. Slowest were:

13.0ms
(* (* 0.125 (+ (* v -2) 3)) (/ (* (* w (* w r)) r) (- 1 v)))
6.0ms
(* (* w (* w r)) r)
3.0ms
(* 0.125 (+ (* v -2) 3))

series103.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

49.0ms
(* (* 0.125 (+ (* v -2) 3)) (/ (* (* w (* w r)) r) (- 1 v)))
22.0ms
(* 0.125 (+ (* v -2) 3))
21.0ms
(* (* w (* w r)) r)
10.0ms
(/ (/ 2 r) r)

simplify5.3s

Counts
42 → 79
Calls

42 calls. Slowest were:

691.0ms
(* (* 0.125 (- (* (* v -2) (* v -2)) (* 3 3))) (* (* w (* w r)) r))
631.0ms
(* (+ (* (* v -2) (* v -2)) (- (* 3 3) (* (* v -2) 3))) (- 1 v))
555.0ms
(* (* 0.125 (- (* (* v -2) (* v -2)) (* 3 3))) (/ (* (* w (* w r)) r) (- 1 v)))

prune1.2s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 0.0b

regimes454.0ms

Accuracy

77.9% (0.5b remaining)

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

bsearch704.0ms

end0.0ms

sample5.5s

Algorithm
intervals