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

    \[\leadsto \left(\frac{m \cdot \color{blue}{\frac{1 \cdot 1 - m \cdot m}{1 + m}}}{v} - 1\right) \cdot m\]
  4. Applied associate-*r/0.2

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

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

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

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

Reproduce

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

sample195.0ms

Algorithm
intervals
Results
413×(pre true 80)
413×(body real 80)

simplify691.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
690.0ms
(* (- (/ (* m (- 1 m)) v) 1) m)

prune8.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.2b

localize17.0ms

Local error

Found 4 expressions with local error:

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

rewrite42.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt
add-cube-cbrt
*-un-lft-identity
add-log-exp
flip--
add-exp-log
associate-*r/
associate-*l*
add-cbrt-cube
flip3--
pow1
associate-*r*
sub-neg
associate-/l/
*-commutative
associate-*l/
difference-of-sqr-1
distribute-lft-in
distribute-rgt-in
associate-/l*
div-inv
frac-2neg
clear-num
Counts
4 → 56
Calls
4 calls:
Slowest
20.0ms
(* (- (/ (* m (- 1 m)) v) 1) m)
8.0ms
(- (/ (* m (- 1 m)) v) 1)
7.0ms
(/ (* m (- 1 m)) v)
3.0ms
(* m (- 1 m))

series100.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
33.0ms
(* m (- 1 m))
31.0ms
(* (- (/ (* m (- 1 m)) v) 1) m)
18.0ms
(- (/ (* m (- 1 m)) v) 1)
17.0ms
(/ (* m (- 1 m)) v)

simplify1.4s

Counts
29 → 68
Calls
29 calls:
Slowest
286.0ms
(* (- (pow (/ (* m (- 1 m)) v) 3) (pow 1 3)) m)
135.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))
132.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))
111.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))
105.0ms
(sqrt (- (/ (* m (- 1 m)) v) 1))

prune611.0ms

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 0.0b

localize38.0ms

Local error

Found 4 expressions with local error:

0.1b
(* (- (/ (- m (pow m 3)) (* v (+ 1 m))) 1) m)
0.1b
(/ (- m (pow m 3)) (* v (+ 1 m)))
0.0b
(* v (+ 1 m))
0.0b
(- m (pow m 3))

rewrite27.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt
add-cube-cbrt
*-un-lft-identity
add-exp-log
add-cbrt-cube
add-log-exp
associate-*r/
associate-*l*
pow1
associate-/l*
flip--
associate-*r*
flip3--
times-frac
associate-/l/
flip-+
*-commutative
associate-/r/
associate-*l/
flip3-+
div-inv
div-exp
div-sub
difference-of-sqr-1
distribute-lft-in
frac-2neg
sub-neg
associate-/r*
clear-num
cbrt-undiv
distribute-rgt-in
Counts
4 → 64
Calls
4 calls:
Slowest
21.0ms
(* (- (/ (- m (pow m 3)) (* v (+ 1 m))) 1) m)
3.0ms
(/ (- m (pow m 3)) (* v (+ 1 m)))
1.0ms
(* v (+ 1 m))
0.0ms
(- m (pow m 3))

series121.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
44.0ms
(- m (pow m 3))
32.0ms
(* (- (/ (- m (pow m 3)) (* v (+ 1 m))) 1) m)
28.0ms
(/ (- m (pow m 3)) (* v (+ 1 m)))
17.0ms
(* v (+ 1 m))

simplify2.8s

Counts
40 → 76
Calls
40 calls:
Slowest
435.0ms
(* (- (pow (/ (- m (pow m 3)) (* v (+ 1 m))) 3) (pow 1 3)) m)
351.0ms
(* (cbrt (- (/ (- m (pow m 3)) (* v (+ 1 m))) 1)) (cbrt (- (/ (- m (pow m 3)) (* v (+ 1 m))) 1)))
292.0ms
(sqrt (- (/ (- m (pow m 3)) (* v (+ 1 m))) 1))
247.0ms
(+ (sqrt (/ (- m (pow m 3)) (* v (+ 1 m)))) 1)
215.0ms
(* (- (* (/ (- m (pow m 3)) (* v (+ 1 m))) (/ (- m (pow m 3)) (* v (+ 1 m)))) (* 1 1)) m)

prune799.0ms

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 0.0b

localize15.0ms

Local error

Found 4 expressions with local error:

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

rewrite30.0ms

Algorithm
rewrite-expression-head
Rules
add-exp-log
associate-*r*
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
associate-*r/
pow1
associate-*l*
add-cbrt-cube
add-log-exp
associate-/r/
associate-*l/
flip--
flip-+
*-commutative
flip3--
flip3-+
div-inv
prod-exp
rec-exp
frac-times
inv-pow
pow-flip
cbrt-unprod
un-div-inv
pow-prod-down
distribute-lft-in
frac-2neg
associate-/r*
clear-num
distribute-rgt-in
Counts
4 → 71
Calls
4 calls:
Slowest
17.0ms
(* (- (* (- m (pow m 3)) (/ 1 (* v (+ 1 m)))) 1) m)
10.0ms
(* (- m (pow m 3)) (/ 1 (* v (+ 1 m))))
1.0ms
(/ 1 (* v (+ 1 m)))
1.0ms
(* v (+ 1 m))

series111.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
38.0ms
(* (- (* (- m (pow m 3)) (/ 1 (* v (+ 1 m)))) 1) m)
31.0ms
(* (- m (pow m 3)) (/ 1 (* v (+ 1 m))))
21.0ms
(/ 1 (* v (+ 1 m)))
20.0ms
(* v (+ 1 m))

simplify5.8s

Counts
47 → 83
Calls
47 calls:
Slowest
1.3s
(* (- (pow (* (- m (pow m 3)) (/ 1 (* v (+ 1 m)))) 3) (pow 1 3)) m)
731.0ms
(* (- (* (* (- m (pow m 3)) (/ 1 (* v (+ 1 m)))) (* (- m (pow m 3)) (/ 1 (* v (+ 1 m))))) (* 1 1)) m)
416.0ms
(* (- (* m m) (* (pow m 3) (pow m 3))) 1)
386.0ms
(* (cbrt (- (* (- m (pow m 3)) (/ 1 (* v (+ 1 m)))) 1)) (cbrt (- (* (- m (pow m 3)) (/ 1 (* v (+ 1 m)))) 1)))
337.0ms
(* (- (pow m 3) (pow (pow m 3) 3)) 1)

prune906.0ms

Pruning

8 alts after pruning (6 fresh and 2 done)

Merged error: 0.0b

localize19.0ms

Local error

Found 4 expressions with local error:

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

rewrite10.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt
add-cube-cbrt
*-un-lft-identity
associate-/r*
associate-*r/
associate-/r/
add-exp-log
pow1
add-log-exp
flip--
associate-*l*
add-cbrt-cube
flip3--
div-inv
associate-*r*
*-commutative
associate-*l/
distribute-lft-in
frac-2neg
sub-neg
clear-num
distribute-rgt-in
inv-pow
pow-flip
difference-of-sqr-1
rec-exp
Counts
4 → 64
Calls
4 calls:
Slowest
6.0ms
(* (- (/ 1 (/ v (* m (- 1 m)))) 1) m)
1.0ms
(* m (- 1 m))
1.0ms
(/ 1 (/ v (* m (- 1 m))))
1.0ms
(/ v (* m (- 1 m)))

series128.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
35.0ms
(* m (- 1 m))
35.0ms
(* (- (/ 1 (/ v (* m (- 1 m)))) 1) m)
29.0ms
(/ v (* m (- 1 m)))
28.0ms
(/ 1 (/ v (* m (- 1 m))))

simplify2.5s

Counts
37 → 76
Calls
37 calls:
Slowest
900.0ms
(* (- (* (/ 1 (/ v (* m (- 1 m)))) (/ 1 (/ v (* m (- 1 m))))) (* 1 1)) m)
299.0ms
(* (- (pow (/ 1 (/ v (* m (- 1 m)))) 3) (pow 1 3)) m)
216.0ms
(* (cbrt (- (/ 1 (/ v (* m (- 1 m)))) 1)) (cbrt (- (/ 1 (/ v (* m (- 1 m)))) 1)))
178.0ms
(sqrt (- (/ 1 (/ v (* m (- 1 m)))) 1))
134.0ms
(+ (sqrt (/ 1 (/ v (* m (- 1 m))))) 1)

prune627.0ms

Pruning

8 alts after pruning (5 fresh and 3 done)

Merged error: 0.0b

regimes176.0ms

Accuracy

0% (0.1b remaining)

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

bsearch3.0ms

end0.0ms

sample2.6s

Algorithm
intervals
Results
13711×(pre true 80)
13711×(body real 80)