Average Error: 12.2 → 0.4
Time: 1.2m
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\]
\[\left(\left(3 + \frac{\frac{2}{r}}{r}\right) - 4.5\right) - \frac{1}{\frac{\frac{1 - v}{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}}{0.125 \cdot \left(v \cdot -2 + 3\right)}}\]

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. Initial program 12.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. Initial simplification0.4

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

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

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

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

Reproduce

herbie shell --seed 2018365 
(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: 1.0m)Debug log

start433.0ms

Algorithm
intervals

setup551.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.3b

localize82.0ms

Local error

Found 4 expressions with local error:

5.0b
(/ (* (+ (* -2 v) 3) 0.125) (/ (- 1 v) (* (* w r) (* w r))))
0.5b
(/ 2 (* r r))
0.4b
(* (* w r) (* w r))
0.2b
(/ (- 1 v) (* (* w r) (* w r)))

rewrite57.0ms

Algorithm
rewrite-expression-head
Counts
4 → 85
Calls

4 calls. Slowest were:

24.0ms
(/ (* (+ (* -2 v) 3) 0.125) (/ (- 1 v) (* (* w r) (* w r))))
21.0ms
(/ (- 1 v) (* (* w r) (* w r)))
7.0ms
(* (* w r) (* w r))

series153.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

67.0ms
(/ (* (+ (* -2 v) 3) 0.125) (/ (- 1 v) (* (* w r) (* w r))))
52.0ms
(/ (- 1 v) (* (* w r) (* w r)))
17.0ms
(/ 2 (* r r))
17.0ms
(* (* w r) (* w r))

simplify7.7s

Counts
65 → 97
Calls

65 calls. Slowest were:

817.0ms
(* (* (* (* w r) (* w r)) (* w r)) (* (* (* w r) (* w r)) (* w r)))
576.0ms
(- (log (* (+ (* -2 v) 3) 0.125)) (- (log (- 1 v)) (log (* (* w r) (* w r)))))
507.0ms
(* (+ (pow (* -2 v) 3) (pow 3 3)) 0.125)

prune2.4s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 0.0b

localize15.0ms

Local error

Found 4 expressions with local error:

5.0b
(/ (* (+ (* -2 v) 3) 0.125) (/ (- 1 v) (* (* w r) (* w r))))
0.4b
(* (* w r) (* w r))
0.2b
(/ (/ 2 r) r)
0.2b
(/ (- 1 v) (* (* w r) (* w r)))

rewrite35.0ms

Algorithm
rewrite-expression-head
Counts
4 → 89
Calls

4 calls. Slowest were:

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

series137.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

55.0ms
(/ (* (+ (* -2 v) 3) 0.125) (/ (- 1 v) (* (* w r) (* w r))))
48.0ms
(/ (- 1 v) (* (* w r) (* w r)))
19.0ms
(* (* w r) (* w r))
15.0ms
(/ (/ 2 r) r)

simplify7.4s

Counts
67 → 101
Calls

67 calls. Slowest were:

728.0ms
(* (* (* (* w r) (* w r)) (* w r)) (* (* (* w r) (* w r)) (* w r)))
588.0ms
(- (log (* (+ (* -2 v) 3) 0.125)) (- (log (- 1 v)) (log (* (* w r) (* w r)))))
521.0ms
(* (+ (pow (* -2 v) 3) (pow 3 3)) 0.125)

prune2.2s

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 0.0b

localize19.0ms

Local error

Found 4 expressions with local error:

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

rewrite25.0ms

Algorithm
rewrite-expression-head
Counts
4 → 96
Calls

4 calls. Slowest were:

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

series154.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

63.0ms
(/ 1 (/ (/ (- 1 v) (* (* w r) (* w r))) (* (+ (* -2 v) 3) 0.125)))
47.0ms
(/ (/ (- 1 v) (* (* w r) (* w r))) (* (+ (* -2 v) 3) 0.125))
24.0ms
(* (* w r) (* w r))
19.0ms
(/ (/ 2 r) r)

simplify8.7s

Counts
65 → 108
Calls

65 calls. Slowest were:

800.0ms
(* (* (* (* w r) (* w r)) (* w r)) (* (* (* w r) (* w r)) (* w r)))
478.0ms
(/ (/ 1 (* (* w r) (* w r))) (* (+ (* -2 v) 3) 0.125))
448.0ms
(/ (sqrt (/ (- 1 v) (* (* w r) (* w r)))) 0.125)

prune2.6s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 0.0b

localize21.0ms

Local error

Found 4 expressions with local error:

4.6b
(/ (/ 1 (/ (- 1 v) (* (* w r) (* w r)))) (/ 1 (* (+ (* -2 v) 3) 0.125)))
0.6b
(/ 1 (/ (- 1 v) (* (* w r) (* w r))))
0.4b
(* (* w r) (* w r))
0.2b
(/ (/ 2 r) r)

rewrite18.0ms

Algorithm
rewrite-expression-head
Counts
4 → 116
Calls

4 calls. Slowest were:

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

series159.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

67.0ms
(/ (/ 1 (/ (- 1 v) (* (* w r) (* w r)))) (/ 1 (* (+ (* -2 v) 3) 0.125)))
48.0ms
(/ 1 (/ (- 1 v) (* (* w r) (* w r))))
26.0ms
(* (* w r) (* w r))
18.0ms
(/ (/ 2 r) r)

simplify23.2s

Counts
108 → 128
Calls

108 calls. Slowest were:

778.0ms
(/ (/ 1 (- 1 v)) (/ 1 (* (- (* (* -2 v) (* -2 v)) (* 3 3)) 0.125)))
751.0ms
(* (* (* (* w r) (* w r)) (* w r)) (* (* (* w r) (* w r)) (* w r)))
654.0ms
(/ (/ 1 (/ (- 1 v) (* (* w r) (* w r)))) (/ 1 (* (+ (* -2 v) 3) 0.125)))

prune3.2s

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 0.0b

regimes826.0ms

Accuracy

0% (0.3b remaining)

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

bsearch6.0ms