Average Error: 0.2 → 0.2
Time: 22.9s
Precision: 64
Internal Precision: 128
\[\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot m\]
\[\frac{m}{\frac{v}{m}} - \left(m + \frac{{m}^{3}}{v}\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.2

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

    \[\leadsto \color{blue}{\frac{{m}^{2}}{v} - \left(m + \frac{{m}^{3}}{v}\right)}\]
  3. Using strategy rm
  4. Applied unpow27.1

    \[\leadsto \frac{\color{blue}{m \cdot m}}{v} - \left(m + \frac{{m}^{3}}{v}\right)\]
  5. Applied associate-/l*0.2

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

    \[\leadsto \frac{m}{\frac{v}{m}} - \left(m + \frac{{m}^{3}}{v}\right)\]

Reproduce

herbie shell --seed 2019002 +o rules:numerics
(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: 22.0s)Debug log

sample244.0ms

Algorithm
intervals

simplify237.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune16.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.2b

localize30.0ms

Local error

Found 2 expressions with local error:

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

rewrite8.0ms

Algorithm
rewrite-expression-head
Counts
2 → 25
Calls

2 calls. Slowest were:

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

series69.0ms

Counts
2 → 6
Calls

2 calls. Slowest were:

53.0ms
(* m (fma (- 1 m) (/ m v) -1))
15.0ms
(fma (- 1 m) (/ m v) -1)

simplify1.2s

Counts
11 → 31
Calls

11 calls. Slowest were:

472.0ms
(- (/ m v) (+ (/ (pow m 2) v) 1))
167.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))
166.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))

prune378.0ms

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 0.0b

localize10.0ms

Local error

Found 3 expressions with local error:

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

rewrite19.0ms

Algorithm
rewrite-expression-head
Counts
3 → 50
Calls

3 calls. Slowest were:

8.0ms
(* (- (/ (* m (- 1 m)) v) 1) m)
6.0ms
(/ (* m (- 1 m)) v)
5.0ms
(- (/ (* m (- 1 m)) v) 1)

series61.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

25.0ms
(/ (* m (- 1 m)) v)
18.0ms
(- (/ (* m (- 1 m)) v) 1)
17.0ms
(* (- (/ (* m (- 1 m)) v) 1) m)

simplify2.1s

Counts
21 → 59
Calls

21 calls. Slowest were:

351.0ms
(* (- (pow (/ (* m (- 1 m)) v) 3) (pow 1 3)) m)
198.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))
150.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))

prune550.0ms

Pruning

6 alts after pruning (4 fresh and 2 done)

Merged error: 0.0b

localize20.0ms

Local error

Found 4 expressions with local error:

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

rewrite53.0ms

Algorithm
rewrite-expression-head
Counts
4 → 74
Calls

4 calls. Slowest were:

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

series207.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

68.0ms
(fma (* m m) (- m) m)
59.0ms
(* (- (/ (fma (* m m) (- m) m) (* v (+ 1 m))) 1) m)
54.0ms
(/ (fma (* m m) (- m) m) (* v (+ 1 m)))
26.0ms
(- (/ (fma (* m m) (- m) m) (* v (+ 1 m))) 1)

simplify2.3s

Counts
41 → 86
Calls

41 calls. Slowest were:

338.0ms
(* (- (pow (/ (fma (* m m) (- m) m) (* v (+ 1 m))) 3) (pow 1 3)) m)
202.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))
155.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))

prune993.0ms

Pruning

6 alts after pruning (3 fresh and 3 done)

Merged error: 0.0b

localize22.0ms

Local error

Found 4 expressions with local error:

11.8b
(/ (pow m 2) v)
10.6b
(/ (pow m 3) v)
0.0b
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))
0.0b
(+ m (/ (pow m 3) v))

rewrite31.0ms

Algorithm
rewrite-expression-head
Counts
4 → 80
Calls

4 calls. Slowest were:

16.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))
5.0ms
(/ (pow m 2) v)
5.0ms
(/ (pow m 3) v)

series62.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

18.0ms
(+ m (/ (pow m 3) v))
16.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))
15.0ms
(/ (pow m 3) v)
14.0ms
(/ (pow m 2) v)

simplify10.0s

Counts
53 → 92
Calls

53 calls. Slowest were:

767.0ms
(fma (- (+ m (/ (pow m 3) v))) 1 (* (+ m (/ (pow m 3) v)) 1))
732.0ms
(fma (- (+ m (/ (pow m 3) v))) 1 (* (+ m (/ (pow m 3) v)) 1))
717.0ms
(fma (- (+ m (/ (pow m 3) v))) 1 (* (+ m (/ (pow m 3) v)) 1))

prune943.0ms

Pruning

9 alts after pruning (5 fresh and 4 done)

Merged error: 0.0b

regimes181.0ms

Accuracy

0% (0.1b remaining)

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

bsearch2.0ms

end0.0ms

sample2.3s

Algorithm
intervals