Average Error: 0.2 → 0.2
Time: 19.8s
Precision: 64
Internal Precision: 128
\[\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot m\]
\[\left(m - m \cdot m\right) \cdot \frac{m}{v} - m\]

Error

Bits error versus m

Bits error versus v

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot m\]
  2. Taylor expanded around 0 7.1

    \[\leadsto \color{blue}{\frac{{m}^{2}}{v} - \left(m + \frac{{m}^{3}}{v}\right)}\]
  3. Simplified0.2

    \[\leadsto \color{blue}{\frac{m}{v} \cdot \left(m - m \cdot m\right) - m}\]
  4. Final simplification0.2

    \[\leadsto \left(m - m \cdot m\right) \cdot \frac{m}{v} - m\]

Reproduce

herbie shell --seed 2018360 
(FPCore (m v)
  :name "a parameter of renormalized beta distribution"
  :pre (and (< 0 m) (< 0 v) (< v 0.25))
  (* (- (/ (* m (- 1 m)) v) 1) m))

Details

Time bar (total: 15.7s)Debug log

start161.0ms

Algorithm
intervals

setup240.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.1b

localize44.0ms

Local error

Found 2 expressions with local error:

0.2b
(* (- (/ (* m (- 1 m)) v) 1) m)
0.1b
(/ (* m (- 1 m)) v)

rewrite30.0ms

Algorithm
rewrite-expression-head
Counts
2 → 27
Calls

2 calls. Slowest were:

20.0ms
(* (- (/ (* m (- 1 m)) v) 1) m)
7.0ms
(/ (* m (- 1 m)) v)

series61.0ms

Counts
2 → 6
Calls

2 calls. Slowest were:

44.0ms
(* (- (/ (* m (- 1 m)) v) 1) m)
17.0ms
(/ (* m (- 1 m)) v)

simplify1.3s

Counts
13 → 33
Calls

13 calls. Slowest were:

526.0ms
(* (- (* (/ (* m (- 1 m)) v) (/ (* m (- 1 m)) v)) (* 1 1)) m)
196.0ms
(* (- (pow (/ (* m (- 1 m)) v) 3) (pow 1 3)) m)
134.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))

prune364.0ms

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 0.0b

localize26.0ms

Local error

Found 3 expressions with local error:

0.2b
(* (/ m v) (- m (* m m)))
0.0b
(- (* (/ m v) (- m (* m m))) m)
0.0b
(- m (* m m))

rewrite20.0ms

Algorithm
rewrite-expression-head
Counts
3 → 53
Calls

3 calls. Slowest were:

10.0ms
(- (* (/ m v) (- m (* m m))) m)
8.0ms
(* (/ m v) (- m (* m m)))
1.0ms
(- m (* m m))

series96.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

44.0ms
(* (/ m v) (- m (* m m)))
26.0ms
(- (* (/ m v) (- m (* m m))) m)
25.0ms
(- m (* m m))

simplify2.4s

Counts
32 → 62
Calls

32 calls. Slowest were:

482.0ms
(* m (- (pow m 3) (pow (* m m) 3)))
443.0ms
(* m (- (* m m) (* (* m m) (* m m))))
384.0ms
(* v (+ (* m m) (+ (* (* m m) (* m m)) (* m (* m m)))))

prune538.0ms

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0.0b

localize13.0ms

Local error

Found 3 expressions with local error:

0.3b
(/ 1 (/ v (* m (- 1 m))))
0.2b
(* (- (/ 1 (/ v (* m (- 1 m)))) 1) m)
0.0b
(/ v (* m (- 1 m)))

rewrite12.0ms

Algorithm
rewrite-expression-head
Counts
3 → 47
Calls

3 calls. Slowest were:

8.0ms
(* (- (/ 1 (/ v (* m (- 1 m)))) 1) m)
2.0ms
(/ 1 (/ v (* m (- 1 m))))
1.0ms
(/ v (* m (- 1 m)))

series72.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

25.0ms
(/ 1 (/ v (* m (- 1 m))))
24.0ms
(/ v (* m (- 1 m)))
23.0ms
(* (- (/ 1 (/ v (* m (- 1 m)))) 1) m)

simplify1.9s

Counts
25 → 56
Calls

25 calls. Slowest were:

675.0ms
(* (- (* (/ 1 (/ v (* m (- 1 m)))) (/ 1 (/ v (* m (- 1 m))))) (* 1 1)) m)
359.0ms
(* (- (pow (/ 1 (/ v (* m (- 1 m)))) 3) (pow 1 3)) m)
121.0ms
(* (cbrt (- (/ 1 (/ v (* m (- 1 m)))) 1)) (cbrt (- (/ 1 (/ v (* m (- 1 m)))) 1)))

prune558.0ms

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 0b

localize12.0ms

Local error

Found 3 expressions with local error:

0.4b
(/ (/ 1 v) (/ 1 (* m (- 1 m))))
0.2b
(* (- (/ (/ 1 v) (/ 1 (* m (- 1 m)))) 1) m)
0.0b
(/ 1 (* m (- 1 m)))

rewrite34.0ms

Algorithm
rewrite-expression-head
Counts
3 → 80
Calls

3 calls. Slowest were:

22.0ms
(* (- (/ (/ 1 v) (/ 1 (* m (- 1 m)))) 1) m)
6.0ms
(/ 1 (* m (- 1 m)))
4.0ms
(/ (/ 1 v) (/ 1 (* m (- 1 m))))

series70.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

31.0ms
(/ (/ 1 v) (/ 1 (* m (- 1 m))))
25.0ms
(* (- (/ (/ 1 v) (/ 1 (* m (- 1 m)))) 1) m)
15.0ms
(/ 1 (* m (- 1 m)))

simplify6.8s

Counts
79 → 89
Calls

79 calls. Slowest were:

656.0ms
(* (- (pow (/ (/ 1 v) (/ 1 (* m (- 1 m)))) 3) (pow 1 3)) m)
398.0ms
(/ (sqrt (/ 1 v)) (/ 1 (* m (- (pow 1 3) (pow m 3)))))
333.0ms
(sqrt (- (/ (/ 1 v) (/ 1 (* m (- 1 m)))) 1))

prune894.0ms

Pruning

6 alts after pruning (4 fresh and 2 done)

Merged error: 0b

regimes94.0ms

Accuracy

0% (0.1b remaining)

Error of 0.2b against oracle of 0.0b and baseline of 0.2b

bsearch1.0ms