Average Error: 12.1 → 0.5
Time: 39.0s
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}\;r \le -2.5254069690082056 \cdot 10^{-59}:\\ \;\;\;\;\left(\left(3 + \frac{\frac{2}{r}}{r}\right) - \frac{\left(3 - 2 \cdot v\right) \cdot 0.125}{\frac{1 - v}{r \cdot \left(w \cdot \left(w \cdot r\right)\right)}}\right) - 4.5\\ \mathbf{elif}\;r \le 1.2747898210785805 \cdot 10^{+166}:\\ \;\;\;\;\left(\left(\frac{2}{r \cdot r} + 3\right) - \frac{\left(3 - 2 \cdot v\right) \cdot 0.125}{\frac{1 - v}{w \cdot \left(r \cdot \left(w \cdot r\right)\right)}}\right) - 4.5\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\frac{2}{r \cdot r} + 3\right) - \sqrt{\frac{\left(3 - 2 \cdot v\right) \cdot 0.125}{\frac{1 - v}{r \cdot \left(w \cdot \left(w \cdot r\right)\right)}}} \cdot \sqrt{\frac{\left(3 - 2 \cdot v\right) \cdot 0.125}{\frac{1 - v}{r \cdot \left(w \cdot \left(w \cdot r\right)\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 3 regimes
  2. if r < -2.5254069690082056e-59

    1. Initial program 11.5

      \[\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*7.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 associate-/l*0.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. Using strategy rm
    7. Applied associate-/r*0.7

      \[\leadsto \left(\left(3 + \color{blue}{\frac{\frac{2}{r}}{r}}\right) - \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\]

    if -2.5254069690082056e-59 < r < 1.2747898210785805e+166

    1. Initial program 10.0

      \[\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*7.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 associate-/l*3.5

      \[\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. Using strategy rm
    7. Applied associate-*l*0.3

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

    if 1.2747898210785805e+166 < r

    1. Initial program 27.2

      \[\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*9.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(\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*0.4

      \[\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. Using strategy rm
    7. Applied add-sqr-sqrt0.5

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\sqrt{\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}}} \cdot \sqrt{\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\]
  3. Recombined 3 regimes into one program.
  4. Final simplification0.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;r \le -2.5254069690082056 \cdot 10^{-59}:\\ \;\;\;\;\left(\left(3 + \frac{\frac{2}{r}}{r}\right) - \frac{\left(3 - 2 \cdot v\right) \cdot 0.125}{\frac{1 - v}{r \cdot \left(w \cdot \left(w \cdot r\right)\right)}}\right) - 4.5\\ \mathbf{elif}\;r \le 1.2747898210785805 \cdot 10^{+166}:\\ \;\;\;\;\left(\left(\frac{2}{r \cdot r} + 3\right) - \frac{\left(3 - 2 \cdot v\right) \cdot 0.125}{\frac{1 - v}{w \cdot \left(r \cdot \left(w \cdot r\right)\right)}}\right) - 4.5\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\frac{2}{r \cdot r} + 3\right) - \sqrt{\frac{\left(3 - 2 \cdot v\right) \cdot 0.125}{\frac{1 - v}{r \cdot \left(w \cdot \left(w \cdot r\right)\right)}}} \cdot \sqrt{\frac{\left(3 - 2 \cdot v\right) \cdot 0.125}{\frac{1 - v}{r \cdot \left(w \cdot \left(w \cdot r\right)\right)}}}\right) - 4.5\\ \end{array}\]

Reproduce

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

sample391.0ms

Algorithm
intervals

simplify127.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune28.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 12.0b

localize49.0ms

Local error

Found 4 expressions with local error:

9.0b
(* (* w w) r)
7.2b
(* (* (* w w) r) r)
5.9b
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))
2.7b
(* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r))

rewrite74.0ms

Algorithm
rewrite-expression-head
Counts
4 → 58
Calls

4 calls. Slowest were:

38.0ms
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))
23.0ms
(* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r))
6.0ms
(* (* (* w w) r) r)

series180.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

83.0ms
(* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r))
55.0ms
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))
24.0ms
(* (* (* w w) r) r)
18.0ms
(* (* w w) r)

simplify6.7s

Counts
36 → 70
Calls

36 calls. Slowest were:

562.0ms
(* (* 0.125 (- (* 3 3) (* (* 2 v) (* 2 v)))) (* (* (* w w) r) r))
488.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))))))
453.0ms
(* (* 0.125 (- (* 3 3) (* (* 2 v) (* 2 v)))) (* (* (* w w) r) r))

prune1.1s

Pruning

6 alts after pruning (6 fresh and 0 done)

Merged error: 0.1b

localize37.0ms

Local error

Found 4 expressions with local error:

7.2b
(* (* w (* w r)) r)
5.9b
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r)) (- 1 v))
2.7b
(* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r))
0.6b
(/ 2 (* r r))

rewrite38.0ms

Algorithm
rewrite-expression-head
Counts
4 → 60
Calls

4 calls. Slowest were:

19.0ms
(* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r))
13.0ms
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r)) (- 1 v))
4.0ms
(* (* w (* w r)) r)

series152.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

71.0ms
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r)) (- 1 v))
44.0ms
(* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r))
26.0ms
(* (* w (* w r)) r)
10.0ms
(/ 2 (* r r))

simplify6.5s

Counts
35 → 72
Calls

35 calls. Slowest were:

623.0ms
(* (* 0.125 (- (* 3 3) (* (* 2 v) (* 2 v)))) (* (* w (* w r)) r))
617.0ms
(* (* 0.125 (- (* 3 3) (* (* 2 v) (* 2 v)))) (* (* w (* w r)) r))
433.0ms
(* (* 0.125 (- (pow 3 3) (pow (* 2 v) 3))) (* (* w (* w r)) r))

prune1.0s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 0.0b

localize22.0ms

Local error

Found 4 expressions with local error:

7.2b
(* (* w (* w r)) r)
7.2b
(/ (* 0.125 (- 3 (* 2 v))) (/ (- 1 v) (* (* w (* w r)) r)))
0.6b
(/ 2 (* r r))
0.2b
(/ (- 1 v) (* (* w (* w r)) r))

rewrite33.0ms

Algorithm
rewrite-expression-head
Counts
4 → 74
Calls

4 calls. Slowest were:

17.0ms
(/ (* 0.125 (- 3 (* 2 v))) (/ (- 1 v) (* (* w (* w r)) r)))
8.0ms
(/ (- 1 v) (* (* w (* w r)) r))
6.0ms
(* (* w (* w r)) r)

series144.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

54.0ms
(/ (* 0.125 (- 3 (* 2 v))) (/ (- 1 v) (* (* w (* w r)) r)))
47.0ms
(/ (- 1 v) (* (* w (* w r)) r))
26.0ms
(* (* w (* w r)) r)
17.0ms
(/ 2 (* r r))

simplify6.1s

Counts
53 → 86
Calls

53 calls. Slowest were:

499.0ms
(* 0.125 (- (pow 3 3) (pow (* 2 v) 3)))
449.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))))))
397.0ms
(/ 0.125 (/ (* (cbrt (- 1 v)) (cbrt (- 1 v))) (* w (* w r))))

prune1.1s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 0.0b

localize11.0ms

Local error

Found 4 expressions with local error:

7.2b
(* (* w (* w r)) r)
7.0b
(/ (/ (- 1 v) (* (* w (* w r)) r)) (* 0.125 (- 3 (* 2 v))))
0.6b
(/ 2 (* r r))
0.4b
(/ 1 (/ (/ (- 1 v) (* (* w (* w r)) r)) (* 0.125 (- 3 (* 2 v)))))

rewrite29.0ms

Algorithm
rewrite-expression-head
Counts
4 → 82
Calls

4 calls. Slowest were:

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

series138.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

53.0ms
(/ (/ (- 1 v) (* (* w (* w r)) r)) (* 0.125 (- 3 (* 2 v))))
51.0ms
(/ 1 (/ (/ (- 1 v) (* (* w (* w r)) r)) (* 0.125 (- 3 (* 2 v)))))
18.0ms
(/ 2 (* r r))
15.0ms
(* (* w (* w r)) r)

simplify6.5s

Counts
56 → 94
Calls

56 calls. Slowest were:

645.0ms
(/ (* (* (/ (- 1 v) (* (* w (* w r)) r)) (/ (- 1 v) (* (* w (* w r)) r))) (/ (- 1 v) (* (* w (* w r)) r))) (* (* (* 0.125 (- 3 (* 2 v))) (* 0.125 (- 3 (* 2 v)))) (* 0.125 (- 3 (* 2 v)))))
489.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))))))
348.0ms
(- (* 2.6666666666666665 (/ 1 (* (pow r 2) (pow w 2)))) (+ (* 0.5925925925925926 (/ (pow v 2) (* (pow r 2) (pow w 2)))) (* 0.8888888888888888 (/ v (* (pow r 2) (pow w 2))))))

prune1.4s

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 0.0b

regimes291.0ms

Accuracy

84.6% (0.4b remaining)

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

bsearch582.0ms

end0.0ms

sample5.4s

Algorithm
intervals