Average Error: 12.2 → 0.4
Time: 35.2s
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 -5.610876134242523 \cdot 10^{+16}:\\ \;\;\;\;\left(\left(3 + \sqrt[3]{\frac{\frac{2}{r}}{r}} \cdot \left(\sqrt[3]{\frac{\frac{2}{r}}{r}} \cdot \sqrt[3]{\frac{\frac{2}{r}}{r}}\right)\right) - \left(0.125 \cdot \left(-2 \cdot v + 3\right)\right) \cdot \frac{r \cdot \left(\left(r \cdot w\right) \cdot w\right)}{1 - v}\right) - 4.5\\ \mathbf{elif}\;r \le 6.745597521289643 \cdot 10^{+132}:\\ \;\;\;\;\left(\left(\frac{2}{r \cdot r} + 3\right) - \left(0.125 \cdot \left(-2 \cdot v + 3\right)\right) \cdot \frac{\left(r \cdot \left(r \cdot w\right)\right) \cdot w}{1 - v}\right) - 4.5\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\frac{2}{r \cdot r} + 3\right) - \left(\left(\left(r \cdot w\right) \cdot w\right) \cdot \left(0.125 \cdot \left(-2 \cdot v + 3\right)\right)\right) \cdot \frac{r}{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 3 regimes
  2. if r < -5.610876134242523e+16

    1. Initial program 14.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.7

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

      \[\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(w \cdot \left(w \cdot r\right)\right) \cdot r\right)}{\color{blue}{1 \cdot \left(1 - v\right)}}\right) - 4.5\]
    6. Applied times-frac0.4

      \[\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(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}}\right) - 4.5\]
    7. Simplified0.4

      \[\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(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}\right) - 4.5\]
    8. Using strategy rm
    9. Applied associate-/r*0.4

      \[\leadsto \left(\left(3 + \color{blue}{\frac{\frac{2}{r}}{r}}\right) - \left(0.125 \cdot \left(v \cdot -2 + 3\right)\right) \cdot \frac{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}\right) - 4.5\]
    10. Using strategy rm
    11. Applied add-cube-cbrt0.4

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

    if -5.610876134242523e+16 < r < 6.745597521289643e+132

    1. Initial program 9.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*6.8

      \[\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 *-un-lft-identity6.8

      \[\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(w \cdot \left(w \cdot r\right)\right) \cdot r\right)}{\color{blue}{1 \cdot \left(1 - v\right)}}\right) - 4.5\]
    6. Applied times-frac3.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(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}}\right) - 4.5\]
    7. Simplified3.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(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}\right) - 4.5\]
    8. Using strategy rm
    9. Applied associate-*l*0.3

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

    if 6.745597521289643e+132 < r

    1. Initial program 23.6

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

      \[\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 *-un-lft-identity9.6

      \[\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(w \cdot \left(w \cdot r\right)\right) \cdot r\right)}{\color{blue}{1 \cdot \left(1 - v\right)}}\right) - 4.5\]
    6. Applied times-frac0.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(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}}\right) - 4.5\]
    7. Simplified0.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(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}\right) - 4.5\]
    8. Using strategy rm
    9. Applied *-un-lft-identity0.3

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

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

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

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

Reproduce

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

sample379.0ms

Algorithm
intervals

simplify125.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
124.0ms
(- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5)

prune25.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 13.6b

localize57.0ms

Local error

Found 4 expressions with local error:

11.8b
(* (* w w) r)
5.9b
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))
4.5b
(* (* (* w w) r) r)
2.5b
(* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r))

rewrite58.0ms

Algorithm
rewrite-expression-head
Rules
11×add-exp-log
11×add-cbrt-cube
add-cube-cbrt
*-un-lft-identity
pow1
add-sqr-sqrt
add-log-exp
associate-*r/
associate-*l/
flip--
*-commutative
associate-*l*
flip3--
times-frac
associate-/r*
associate-/l/
cbrt-unprod
associate-/r/
prod-exp
div-exp
cbrt-undiv
associate-/l*
div-inv
pow-prod-down
associate-*r*
frac-2neg
clear-num
Counts
4 → 58
Calls
4 calls:
Slowest
19.0ms
(* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r))
18.0ms
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))
13.0ms
(* (* (* w w) r) r)
4.0ms
(* (* w w) r)

series189.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
74.0ms
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))
52.0ms
(* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r))
33.0ms
(* (* (* w w) r) r)
30.0ms
(* (* w w) r)

simplify6.2s

Counts
36 → 70
Calls
36 calls:
Slowest
568.0ms
(/ (* 0.125 (- 3 (* 2 v))) (* (cbrt (- 1 v)) (cbrt (- 1 v))))
541.0ms
(* (* 0.125 (- (* 3 3) (* (* 2 v) (* 2 v)))) (* (* (* w w) r) r))
494.0ms
(* (* 0.125 (- (* 3 3) (* (* 2 v) (* 2 v)))) (* (* (* w w) r) r))
490.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))))))
425.0ms
(+ (log (* 0.125 (- 3 (* 2 v)))) (log (* (* (* w w) r) r)))

prune975.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 0.2b

localize25.0ms

Local error

Found 4 expressions with local error:

5.9b
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r)) (- 1 v))
4.5b
(* (* w (* w r)) r)
2.5b
(* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r))
0.3b
(/ 2 (* r r))

rewrite34.0ms

Algorithm
rewrite-expression-head
Rules
11×add-exp-log
11×add-cbrt-cube
add-cube-cbrt
*-un-lft-identity
pow1
add-sqr-sqrt
add-log-exp
associate-*r/
associate-*l/
associate-/r*
flip--
flip3--
times-frac
associate-/l/
div-inv
cbrt-unprod
*-commutative
associate-/r/
prod-exp
associate-*l*
div-exp
frac-2neg
clear-num
cbrt-undiv
associate-/l*
pow-prod-down
associate-*r*
Counts
4 → 60
Calls
4 calls:
Slowest
18.0ms
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r)) (- 1 v))
11.0ms
(* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r))
4.0ms
(* (* w (* w r)) r)
0.0ms
(/ 2 (* r r))

series146.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
58.0ms
(* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r))
49.0ms
(/ (* (* 0.125 (- 3 (* 2 v))) (* (* w (* w r)) r)) (- 1 v))
28.0ms
(* (* w (* w r)) r)
12.0ms
(/ 2 (* r r))

simplify6.3s

Counts
35 → 72
Calls
35 calls:
Slowest
641.0ms
(* (* 0.125 (- (* 3 3) (* (* 2 v) (* 2 v)))) (* (* w (* w r)) r))
611.0ms
(* (* 0.125 (- (* 3 3) (* (* 2 v) (* 2 v)))) (* (* w (* w r)) r))
417.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))))))
350.0ms
(* (* 0.125 (- (pow 3 3) (pow (* 2 v) 3))) (* (* w (* w r)) r))
344.0ms
(* (* 0.125 (- (pow 3 3) (pow (* 2 v) 3))) (* (* w (* w r)) r))

prune1.1s

Pruning

14 alts after pruning (14 fresh and 0 done)

Merged error: 0.1b

localize22.0ms

Local error

Found 4 expressions with local error:

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

rewrite22.0ms

Algorithm
rewrite-expression-head
Rules
10×associate-*r*
add-exp-log
add-cbrt-cube
add-cube-cbrt
*-un-lft-identity
pow1
add-sqr-sqrt
associate-*r/
add-log-exp
*-commutative
times-frac
div-inv
flip-+
cbrt-unprod
associate-/r/
prod-exp
associate-*l/
associate-*l*
flip3-+
frac-times
flip--
pow-prod-down
div-exp
flip3--
frac-2neg
associate-/r*
clear-num
cbrt-undiv
Counts
4 → 57
Calls
4 calls:
Slowest
15.0ms
(* (* 0.125 (+ (* v -2) 3)) (/ (* (* w (* w r)) r) (- 1 v)))
4.0ms
(* (* w (* w r)) r)
2.0ms
(* w (* w r))
1.0ms
(/ 2 (* r r))

series117.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
60.0ms
(* (* 0.125 (+ (* v -2) 3)) (/ (* (* w (* w r)) r) (- 1 v)))
21.0ms
(/ 2 (* r r))
19.0ms
(* (* w (* w r)) r)
17.0ms
(* w (* w r))

simplify4.2s

Counts
33 → 69
Calls
33 calls:
Slowest
535.0ms
(* (* 0.125 (- (* (* v -2) (* v -2)) (* 3 3))) (/ (* (* w (* w r)) r) (- 1 v)))
513.0ms
(* (* 0.125 (- (* (* v -2) (* v -2)) (* 3 3))) (* (* w (* w r)) r))
422.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))))))
298.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)))))
287.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.5s

Pruning

13 alts after pruning (13 fresh and 0 done)

Merged error: 0.0b

localize29.0ms

Local error

Found 4 expressions with local error:

4.5b
(* (* w (* w r)) r)
4.3b
(* (* 0.125 (+ (* v -2) 3)) (/ (* (* w (* w r)) r) (- 1 v)))
0.2b
(* w (* w r))
0.2b
(/ (/ 2 r) r)

rewrite35.0ms

Algorithm
rewrite-expression-head
Rules
10×associate-*r*
add-exp-log
add-cbrt-cube
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
pow1
associate-*r/
add-log-exp
associate-/l*
div-inv
*-commutative
times-frac
flip-+
cbrt-unprod
associate-/r/
prod-exp
associate-*l/
associate-*l*
flip3-+
frac-times
associate-/l/
flip--
pow-prod-down
div-exp
flip3--
frac-2neg
clear-num
cbrt-undiv
Counts
4 → 61
Calls
4 calls:
Slowest
21.0ms
(* (* 0.125 (+ (* v -2) 3)) (/ (* (* w (* w r)) r) (- 1 v)))
6.0ms
(* (* w (* w r)) r)
5.0ms
(/ (/ 2 r) r)
2.0ms
(* w (* w r))

series102.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
52.0ms
(* (* 0.125 (+ (* v -2) 3)) (/ (* (* w (* w r)) r) (- 1 v)))
27.0ms
(* (* w (* w r)) r)
12.0ms
(* w (* w r))
11.0ms
(/ (/ 2 r) r)

simplify4.6s

Counts
35 → 73
Calls
35 calls:
Slowest
617.0ms
(* (* 0.125 (- (* (* v -2) (* v -2)) (* 3 3))) (/ (* (* w (* w r)) r) (- 1 v)))
615.0ms
(* (* 0.125 (- (* (* v -2) (* v -2)) (* 3 3))) (* (* w (* w r)) r))
413.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))))))
387.0ms
(* (* (* (* 0.125 (+ (* v -2) 3)) (* 0.125 (+ (* v -2) 3))) (* 0.125 (+ (* v -2) 3))) (/ (* (* (* (* w (* w r)) r) (* (* w (* w r)) r)) (* (* w (* w r)) r)) (* (* (- 1 v) (- 1 v)) (- 1 v))))
344.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.0s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 0.0b

regimes558.0ms

Accuracy

85% (0.3b remaining)

Error of 0.4b against oracle of 0.1b and baseline of 2.3b

bsearch681.0ms

end0.0ms

sample5.5s

Algorithm
intervals