Average Error: 0.2 → 0.2
Time: 14.7s
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 -inf 0.2

    \[\leadsto \left(\color{blue}{\left(\frac{m}{v} - \frac{{m}^{2}}{v}\right)} - 1\right) \cdot m\]
  3. Taylor expanded around inf 6.9

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

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

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

Reproduce

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

sample203.0ms

Algorithm
intervals

simplify621.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

620.0ms
(* (- (/ (* m (- 1 m)) v) 1) m)

prune11.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.2b

localize30.0ms

Local error

Found 4 expressions with local error:

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

rewrite79.0ms

Algorithm
rewrite-expression-head
Counts
4 → 56
Calls

4 calls. Slowest were:

52.0ms
(* (- (/ (* m (- 1 m)) v) 1) m)
10.0ms
(- (/ (* m (- 1 m)) v) 1)
10.0ms
(/ (* m (- 1 m)) v)

series205.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

81.0ms
(* (- (/ (* m (- 1 m)) v) 1) m)
71.0ms
(/ (* m (- 1 m)) v)
32.0ms
(* m (- 1 m))
21.0ms
(- (/ (* m (- 1 m)) v) 1)

simplify1.4s

Counts
29 → 68
Calls

29 calls. Slowest were:

249.0ms
(* (cbrt (- (/ (* m (- 1 m)) v) 1)) (cbrt (- (/ (* m (- 1 m)) v) 1)))
230.0ms
(* (- (pow (/ (* m (- 1 m)) v) 3) (pow 1 3)) m)
124.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))

prune647.0ms

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 0.0b

localize33.0ms

Local error

Found 4 expressions with local error:

14.4b
(/ (pow m 2) v)
0.1b
(* (- (- (/ m v) (/ (pow m 2) v)) 1) m)
0.0b
(- (/ m v) (/ (pow m 2) v))
0.0b
(- (- (/ m v) (/ (pow m 2) v)) 1)

rewrite147.0ms

Algorithm
rewrite-expression-head
Counts
4 → 60
Calls

4 calls. Slowest were:

89.0ms
(* (- (- (/ m v) (/ (pow m 2) v)) 1) m)
45.0ms
(- (- (/ m v) (/ (pow m 2) v)) 1)
8.0ms
(- (/ m v) (/ (pow m 2) v))

series65.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

18.0ms
(- (/ m v) (/ (pow m 2) v))
18.0ms
(- (- (/ m v) (/ (pow m 2) v)) 1)
16.0ms
(* (- (- (/ m v) (/ (pow m 2) v)) 1) m)
13.0ms
(/ (pow m 2) v)

simplify1.4s

Counts
32 → 72
Calls

32 calls. Slowest were:

325.0ms
(* (- (* (- (/ m v) (/ (pow m 2) v)) (- (/ m v) (/ (pow m 2) v))) (* 1 1)) m)
141.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))
100.0ms
(* (- (pow (- (/ m v) (/ (pow m 2) v)) 3) (pow 1 3)) m)

prune666.0ms

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 0.0b

localize13.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))

rewrite10.0ms

Algorithm
rewrite-expression-head
Counts
3 → 53
Calls

3 calls. Slowest were:

5.0ms
(- (* (/ m v) (- m (* m m))) m)
4.0ms
(* (/ m v) (- m (* m m)))
0.0ms
(- m (* m m))

series89.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

33.0ms
(- m (* m m))
29.0ms
(* (/ m v) (- m (* m m)))
27.0ms
(- (* (/ m v) (- m (* m m))) m)

simplify2.0s

Counts
32 → 62
Calls

32 calls. Slowest were:

323.0ms
(* v (+ (* m m) (+ (* (* m m) (* m m)) (* m (* m m)))))
247.0ms
(* m (- (* m m) (* (* m m) (* m m))))
182.0ms
(+ (* m m) (+ (* (* m m) (* m m)) (* m (* m m))))

prune559.0ms

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0.0b

localize15.0ms

Local error

Found 4 expressions with local error:

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

rewrite24.0ms

Algorithm
rewrite-expression-head
Counts
4 → 59
Calls

4 calls. Slowest were:

14.0ms
(* (- (/ 1 (/ v (* m (- 1 m)))) 1) m)
6.0ms
(- (/ 1 (/ v (* m (- 1 m)))) 1)
2.0ms
(/ 1 (/ v (* m (- 1 m))))

series96.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

38.0ms
(/ 1 (/ v (* m (- 1 m))))
24.0ms
(/ v (* m (- 1 m)))
21.0ms
(* (- (/ 1 (/ v (* m (- 1 m)))) 1) m)
13.0ms
(- (/ 1 (/ v (* m (- 1 m)))) 1)

simplify2.7s

Counts
29 → 71
Calls

29 calls. Slowest were:

892.0ms
(* (- (* (/ 1 (/ v (* m (- 1 m)))) (/ 1 (/ v (* m (- 1 m))))) (* 1 1)) m)
378.0ms
(* (- (pow (/ 1 (/ v (* m (- 1 m)))) 3) (pow 1 3)) m)
168.0ms
(+ (sqrt (/ 1 (/ v (* m (- 1 m))))) 1)

prune635.0ms

Pruning

7 alts after pruning (5 fresh and 2 done)

Merged error: 0.0b

regimes87.0ms

Accuracy

0% (0.1b remaining)

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

bsearch1.0ms

end0.0ms

sample2.4s

Algorithm
intervals