Average Error: 0.1 → 0.1
Time: 25.8s
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}{v}\right) + -1)_* \cdot \left(1 - m\right)\]

Error

Bits error versus m

Bits error versus v

Derivation

  1. Initial program 0.1

    \[\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)\]
  2. Initial simplification0.1

    \[\leadsto (\left(1 - m\right) \cdot \left(\frac{m}{v}\right) + -1)_* \cdot \left(1 - m\right)\]
  3. Final simplification0.1

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

Reproduce

herbie shell --seed 2018360 +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: 21.9s)Debug log

start212.0ms

Algorithm
intervals

setup352.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.1b

localize33.0ms

Local error

Found 2 expressions with local error:

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

rewrite32.0ms

Algorithm
rewrite-expression-head
Counts
2 → 47
Calls

2 calls. Slowest were:

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

series76.0ms

Counts
2 → 6
Calls

2 calls. Slowest were:

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

simplify7.6s

Counts
33 → 53
Calls

33 calls. Slowest were:

860.0ms
(* (- (/ (* m (- 1 m)) v) 1) (- m))
729.0ms
(* (- (/ (* m (- 1 m)) v) 1) (- m))
674.0ms
(* (+ (* (/ (* m (- 1 m)) v) (/ (* m (- 1 m)) v)) (+ (* 1 1) (* (/ (* m (- 1 m)) v) 1))) (+ 1 m))

prune647.0ms

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 0.0b

localize17.0ms

Local error

Found 2 expressions with local error:

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

rewrite4.0ms

Algorithm
rewrite-expression-head
Counts
2 → 35
Calls

2 calls. Slowest were:

4.0ms
(* (fma (- 1 m) (/ m v) -1) (- 1 m))
0.0ms
(fma (- 1 m) (/ m v) -1)

series40.0ms

Counts
2 → 6
Calls

2 calls. Slowest were:

28.0ms
(* (fma (- 1 m) (/ m v) -1) (- 1 m))
13.0ms
(fma (- 1 m) (/ m v) -1)

simplify3.6s

Counts
20 → 41
Calls

20 calls. Slowest were:

750.0ms
(* (* (* (fma (- 1 m) (/ m v) -1) (fma (- 1 m) (/ m v) -1)) (fma (- 1 m) (/ m v) -1)) (* (* (- 1 m) (- 1 m)) (- 1 m)))
468.0ms
(* (- m) (fma (- 1 m) (/ m v) -1))
421.0ms
(* (fma (- 1 m) (/ m v) -1) (- 1 m))

prune505.0ms

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0.0b

localize30.0ms

Local error

Found 3 expressions with local error:

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

rewrite12.0ms

Algorithm
rewrite-expression-head
Counts
3 → 35
Calls

3 calls. Slowest were:

9.0ms
(+ (* (fma (- 1 m) (/ m v) -1) 1) (fma (/ m v) (* (+ m -1) m) m))
0.0ms
(fma (- 1 m) (/ m v) -1)
0.0ms
(fma (/ m v) (* (+ m -1) m) m)

series85.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

40.0ms
(+ (* (fma (- 1 m) (/ m v) -1) 1) (fma (/ m v) (* (+ m -1) m) m))
27.0ms
(fma (/ m v) (* (+ m -1) m) m)
18.0ms
(fma (- 1 m) (/ m v) -1)

simplify1.4s

Counts
11 → 44
Calls

11 calls. Slowest were:

324.0ms
(- (+ m (/ (pow m 3) v)) (* 2 (/ (pow m 2) v)))
295.0ms
(- (+ m (/ (pow m 3) v)) (* 2 (/ (pow m 2) v)))
149.0ms
(* (exp (* (fma (- 1 m) (/ m v) -1) 1)) (exp (fma (/ m v) (* (+ m -1) m) m)))

prune625.0ms

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 0.0b

localize25.0ms

Local error

Found 4 expressions with local error:

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

rewrite28.0ms

Algorithm
rewrite-expression-head
Counts
4 → 68
Calls

4 calls. Slowest were:

17.0ms
(+ (* (- (/ m v) (fma m (/ m v) 1)) 1) (fma (/ m v) (* (+ m -1) m) m))
8.0ms
(- (/ m v) (fma m (/ m v) 1))
0.0ms
(fma (/ m v) (* (+ m -1) m) m)

series95.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

31.0ms
(+ (* (- (/ m v) (fma m (/ m v) 1)) 1) (fma (/ m v) (* (+ m -1) m) m))
26.0ms
(fma (/ m v) (* (+ m -1) m) m)
22.0ms
(fma m (/ m v) 1)
16.0ms
(- (/ m v) (fma m (/ m v) 1))

simplify5.5s

Counts
44 → 80
Calls

44 calls. Slowest were:

668.0ms
(fma (- (fma m (/ m v) 1)) 1 (* (fma m (/ m v) 1) 1))
380.0ms
(fma (- (fma m (/ m v) 1)) 1 (* (fma m (/ m v) 1) 1))
361.0ms
(- (+ m (/ (pow m 3) v)) (* 2 (/ (pow m 2) v)))

prune1.0s

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0b

regimes74.0ms

Accuracy

0% (0.1b remaining)

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

bsearch1.0ms