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

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.1

    \[\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)\]
  2. Using strategy rm
  3. Applied associate-/l*0.1

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

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

Reproduce

herbie shell --seed 2018362 +o rules:numerics
(FPCore (m v)
  :name "b parameter of renormalized beta distribution"
  :pre (and (< 0 m) (< 0 v) (< v 0.25))
  (* (- (/ (* m (- 1 m)) v) 1) (- 1 m)))

Details

Time bar (total: 36.7s)Debug log

start195.0ms

Algorithm
intervals

setup488.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.1b

localize16.0ms

Local error

Found 4 expressions with local error:

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

rewrite35.0ms

Algorithm
rewrite-expression-head
Counts
4 → 85
Calls

4 calls. Slowest were:

13.0ms
(* (- (/ (* m (- 1 m)) v) 1) (- 1 m))
9.0ms
(- (/ (* m (- 1 m)) v) 1)
7.0ms
(/ (* m (- 1 m)) v)

series105.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

39.0ms
(* (- (/ (* m (- 1 m)) v) 1) (- 1 m))
23.0ms
(/ (* m (- 1 m)) v)
23.0ms
(* m (- 1 m))
19.0ms
(- (/ (* m (- 1 m)) v) 1)

simplify8.7s

Counts
53 → 97
Calls

53 calls. Slowest were:

852.0ms
(* (- m) (- (/ (* m (- 1 m)) v) 1))
794.0ms
(* (- m) (- (/ (* m (- 1 m)) v) 1))
702.0ms
(* (+ (/ (* m (- 1 m)) v) 1) (+ 1 m))

prune1.1s

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 0.0b

localize10.0ms

Local error

Found 3 expressions with local error:

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

rewrite15.0ms

Algorithm
rewrite-expression-head
Counts
3 → 71
Calls

3 calls. Slowest were:

11.0ms
(* (- (/ m (/ v (- 1 m))) 1) (- 1 m))
3.0ms
(- (/ m (/ v (- 1 m))) 1)
1.0ms
(/ m (/ v (- 1 m)))

series67.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

29.0ms
(/ m (/ v (- 1 m)))
20.0ms
(* (- (/ m (/ v (- 1 m))) 1) (- 1 m))
18.0ms
(- (/ m (/ v (- 1 m))) 1)

simplify8.6s

Counts
46 → 80
Calls

46 calls. Slowest were:

1.2s
(* (+ (* (/ m (/ v (- 1 m))) (/ m (/ v (- 1 m)))) (+ (* 1 1) (* (/ m (/ v (- 1 m))) 1))) (+ 1 m))
657.0ms
(* (- (pow (/ m (/ v (- 1 m))) 3) (pow 1 3)) (- (* 1 1) (* m m)))
653.0ms
(* (- (pow (/ m (/ v (- 1 m))) 3) (pow 1 3)) (- (pow 1 3) (pow m 3)))

prune872.0ms

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 0.0b

localize29.0ms

Local error

Found 4 expressions with local error:

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

rewrite16.0ms

Algorithm
rewrite-expression-head
Counts
4 → 72
Calls

4 calls. Slowest were:

7.0ms
(* (- m) (fma (- 1 m) (/ m v) -1))
6.0ms
(- (/ m (/ v (- 1 m))) 1)
1.0ms
(/ m (/ v (- 1 m)))

series63.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

20.0ms
(* (- m) (fma (- 1 m) (/ m v) -1))
17.0ms
(/ m (/ v (- 1 m)))
15.0ms
(- (/ m (/ v (- 1 m))) 1)
11.0ms
(fma (- 1 m) (/ m v) -1)

simplify2.7s

Counts
35 → 84
Calls

35 calls. Slowest were:

975.0ms
(* (- m) (fma (- 1 m) (/ m v) -1))
246.0ms
(* m (fma (- 1 m) (/ m v) -1))
148.0ms
(log (/ m (/ v (- 1 m))))

prune1.1s

Pruning

4 alts after pruning (2 fresh and 2 done)

Merged error: 0.0b

localize21.0ms

Local error

Found 4 expressions with local error:

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

rewrite44.0ms

Algorithm
rewrite-expression-head
Counts
4 → 90
Calls

4 calls. Slowest were:

26.0ms
(* (- (* (* m (- 1 m)) (/ 1 v)) 1) (- 1 m))
9.0ms
(* (* m (- 1 m)) (/ 1 v))
6.0ms
(- (* (* m (- 1 m)) (/ 1 v)) 1)

series86.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

27.0ms
(* (- (* (* m (- 1 m)) (/ 1 v)) 1) (- 1 m))
21.0ms
(* (* m (- 1 m)) (/ 1 v))
20.0ms
(* m (- 1 m))
18.0ms
(- (* (* m (- 1 m)) (/ 1 v)) 1)

simplify11.4s

Counts
61 → 102
Calls

61 calls. Slowest were:

955.0ms
(* (- (pow (* (* m (- 1 m)) (/ 1 v)) 3) (pow 1 3)) (- 1 m))
918.0ms
(* (- (pow (* (* m (- 1 m)) (/ 1 v)) 3) (pow 1 3)) (- (pow 1 3) (pow m 3)))
892.0ms
(* (- (pow (* (* m (- 1 m)) (/ 1 v)) 3) (pow 1 3)) (- (* 1 1) (* m m)))

prune1.1s

Pruning

4 alts after pruning (1 fresh and 3 done)

Merged error: 0.0b

regimes81.0ms

Accuracy

0% (0.0b remaining)

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

bsearch2.0ms