Details

Time bar (total: 15.6s)

analyze1.5s (9.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%99.7%0.3%5
0%99.7%0.3%6
0%99.7%0.3%7
0%99.7%0.3%8
0%90.4%9.6%9
0%45.2%54.8%10
0%45.2%54.8%11
0%45.2%54.8%12
0%45.2%54.8%13
0%44.4%55.6%14
Compiler

Compiled 25 to 18 computations (28% saved)

sample5.3s (33.8%)

Results
3.2s16339×body128invalid
1.5s7564×body128valid
163.0ms297×body512valid
123.0ms128×body1024valid
97.0ms267×body256valid
76.0ms143×body512invalid
46.0ms53×body1024invalid
45.0ms124×body256invalid
Compiler

Compiled 74 to 53 computations (28.4% saved)

simplify51.0ms (0.3%)

Algorithm
egg-herbie
Rules
784×fma-def_binary64
557×associate-/l*_binary64
456×unswap-sqr_binary64
365×*-commutative_binary64
332×fma-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01826
13425
27325
315825
440525
5125225
6277125
7452725
8511725

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.3b
(*.f64 x (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))
Compiler

Compiled 84 to 54 computations (35.7% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))
0.0b
(*.f64 x (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))
0.0b
(exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))
0.3b
(fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))

series1.2s (7.6%)

Counts
4 → 164
Calls

4 calls:

493.0ms
(*.f64 x (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))
328.0ms
(*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))
312.0ms
(fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))
42.0ms
(exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))

rewrite17.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
29×add-sqr-sqrt_binary64
25×*-un-lft-identity_binary64
23×add-cube-cbrt_binary64
18×prod-diff_binary64
13×distribute-lft-in_binary64
Counts
4 → 95
Calls

4 calls:

6.0ms
(*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))
4.0ms
(*.f64 x (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))
1.0ms
(exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))
0.0ms
(fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))

simplify208.0ms (1.3%)

Algorithm
egg-herbie
Rules
789×fma-def_binary64
292×*-commutative_binary64
185×sub-neg_binary64
182×times-frac_binary64
175×associate-*r*_binary64
Counts
259 → 297
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
071311258
1218910188
2484310188
3498910188

prune373.0ms (2.4%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2907297
Fresh000
Picked101
Done000
Total2917298
Error
0.0b
Counts
298 → 7
Alt Table
StatusErrorProgram
0.3b
(*.f64 x (*.f64 (sqrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))) (sqrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))))
14.2b
(*.f64 x (/.f64 (pow.f64 z y) (exp.f64 (fma.f64 a b (*.f64 y t)))))
10.3b
(-.f64 (*.f64 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 z) y) (*.f64 a (log.f64 (-.f64 1 z)))) (*.f64 a b))) x) (*.f64 y (*.f64 t (*.f64 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 z) y) (*.f64 a (log.f64 (-.f64 1 z)))) (*.f64 a b))) x))))
2.7b
(*.f64 x (exp.f64 (-.f64 (*.f64 (log.f64 z) y) (fma.f64 a b (*.f64 y t)))))
0.3b
(*.f64 x (*.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))) (cbrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))) (cbrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))))
30.6b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))))
11.3b
(cbrt.f64 (pow.f64 (*.f64 x (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))) 3))
Compiler

Compiled 14107 to 5365 computations (62% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))
0.0b
(*.f64 (sqrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))) (sqrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))))
0.0b
(exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))
0.3b
(fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))

series45.0ms (0.3%)

Counts
1 → 60
Calls

1 calls:

45.0ms
(*.f64 (sqrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))) (sqrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))))

rewrite21.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
31×add-sqr-sqrt_binary64
26×sqrt-pow1_binary64
22×sqrt-prod_binary64
18×exp-prod_binary64
16×pow1_binary64
Counts
1 → 65
Calls

1 calls:

9.0ms
(*.f64 (sqrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))) (sqrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))))

simplify128.0ms (0.8%)

Algorithm
egg-herbie
Rules
626×times-frac_binary64
413×associate-*r*_binary64
363×fma-neg_binary64
301×associate-*l*_binary64
292×fma-def_binary64
Counts
125 → 133
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03256140
110005400
238615234
352905234

prune893.0ms (5.7%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New5523555
Fresh246
Picked101
Done000
Total5557562
Error
0.0b
Counts
562 → 7
Alt Table
StatusErrorProgram
0.3b
(*.f64 x (pow.f64 (exp.f64 2) (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2)))
10.3b
(-.f64 (*.f64 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 z) y) (*.f64 a (log.f64 (-.f64 1 z)))) (*.f64 a b))) x) (*.f64 y (*.f64 t (*.f64 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 z) y) (*.f64 a (log.f64 (-.f64 1 z)))) (*.f64 a b))) x))))
2.7b
(*.f64 x (exp.f64 (-.f64 (*.f64 (log.f64 z) y) (fma.f64 a b (*.f64 y t)))))
0.3b
(*.f64 x (*.f64 (sqrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))) (sqrt.f64 (pow.f64 (E.f64) (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))))
0.3b
(*.f64 x (*.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))) (cbrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))) (cbrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))))
30.6b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))))
0.8b
(*.f64 x (log.f64 (exp.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))))
Compiler

Compiled 31730 to 9195 computations (71% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 x (pow.f64 (exp.f64 2) (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2)))
0.0b
(*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))
0.0b
(pow.f64 (exp.f64 2) (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2))
0.3b
(fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))

series772.0ms (5%)

Counts
2 → 132
Calls

2 calls:

720.0ms
(*.f64 x (pow.f64 (exp.f64 2) (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2)))
51.0ms
(pow.f64 (exp.f64 2) (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2))

rewrite13.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
20×add-sqr-sqrt_binary64
17×*-un-lft-identity_binary64
14×add-cube-cbrt_binary64
13×pow-unpow_binary64
10×unpow-prod-down_binary64
Counts
2 → 62
Calls

2 calls:

4.0ms
(*.f64 x (pow.f64 (exp.f64 2) (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2)))
3.0ms
(pow.f64 (exp.f64 2) (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2))

simplify165.0ms (1.1%)

Algorithm
egg-herbie
Rules
704×associate-*l*_binary64
566×fma-def_binary64
252×*-commutative_binary64
171×times-frac_binary64
169×cancel-sign-sub-inv_binary64
Counts
194 → 199
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
055210755
1179210029
2513310029

prune570.0ms (3.7%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New3352337
Fresh156
Picked101
Done000
Total3377344
Error
0.0b
Counts
344 → 7
Alt Table
StatusErrorProgram
0.3b
(*.f64 x (*.f64 (pow.f64 (*.f64 (cbrt.f64 (exp.f64 2)) (cbrt.f64 (exp.f64 2))) (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2)) (pow.f64 (cbrt.f64 (exp.f64 2)) (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2))))
55.5b
(*.f64 x (pow.f64 (pow.f64 (exp.f64 2) (sqrt.f64 (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2))) (sqrt.f64 (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2))))
10.3b
(-.f64 (*.f64 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 z) y) (*.f64 a (log.f64 (-.f64 1 z)))) (*.f64 a b))) x) (*.f64 y (*.f64 t (*.f64 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 z) y) (*.f64 a (log.f64 (-.f64 1 z)))) (*.f64 a b))) x))))
2.7b
(*.f64 x (exp.f64 (-.f64 (*.f64 (log.f64 z) y) (fma.f64 a b (*.f64 y t)))))
0.3b
(*.f64 x (*.f64 (sqrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))) (sqrt.f64 (pow.f64 (E.f64) (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))))
30.6b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))))
0.8b
(*.f64 x (log.f64 (exp.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))))
Compiler

Compiled 16452 to 6775 computations (58.8% saved)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (cbrt.f64 (exp.f64 2)) (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2))
0.3b
(fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))
1.0b
(*.f64 (cbrt.f64 (exp.f64 2)) (cbrt.f64 (exp.f64 2)))
1.0b
(cbrt.f64 (exp.f64 2))

series59.0ms (0.4%)

Counts
3 → 60
Calls

3 calls:

59.0ms
(pow.f64 (cbrt.f64 (exp.f64 2)) (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2))
0.0ms
(cbrt.f64 (exp.f64 2))
0.0ms
(*.f64 (cbrt.f64 (exp.f64 2)) (cbrt.f64 (exp.f64 2)))

rewrite17.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
36×cbrt-prod_binary64
33×add-sqr-sqrt_binary64
33×*-un-lft-identity_binary64
21×add-cube-cbrt_binary64
13×pow-unpow_binary64
Counts
3 → 98
Calls

3 calls:

5.0ms
(*.f64 (cbrt.f64 (exp.f64 2)) (cbrt.f64 (exp.f64 2)))
3.0ms
(pow.f64 (cbrt.f64 (exp.f64 2)) (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2))
1.0ms
(cbrt.f64 (exp.f64 2))

simplify157.0ms (1%)

Algorithm
egg-herbie
Rules
603×times-frac_binary64
484×associate-*r*_binary64
348×fma-neg_binary64
344×associate-*l*_binary64
288×fma-def_binary64
Counts
158 → 189
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03886957
111556196
242566050
354716050

prune855.0ms (5.5%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New3361337
Fresh066
Picked101
Done000
Total3377344
Error
0.0b
Counts
344 → 7
Alt Table
StatusErrorProgram
55.5b
(*.f64 x (pow.f64 (pow.f64 (exp.f64 2) (sqrt.f64 (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2))) (sqrt.f64 (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2))))
10.3b
(-.f64 (*.f64 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 z) y) (*.f64 a (log.f64 (-.f64 1 z)))) (*.f64 a b))) x) (*.f64 y (*.f64 t (*.f64 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 z) y) (*.f64 a (log.f64 (-.f64 1 z)))) (*.f64 a b))) x))))
0.3b
(*.f64 x (*.f64 (pow.f64 (*.f64 (cbrt.f64 (exp.f64 2)) (cbrt.f64 (exp.f64 2))) (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2)) (pow.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 2) 2/3)) (cbrt.f64 (cbrt.f64 (exp.f64 2)))) (/.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))) 2))))
2.7b
(*.f64 x (exp.f64 (-.f64 (*.f64 (log.f64 z) y) (fma.f64 a b (*.f64 y t)))))
0.3b
(*.f64 x (*.f64 (sqrt.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))) (sqrt.f64 (pow.f64 (E.f64) (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))))
30.6b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b))))))
0.8b
(*.f64 x (log.f64 (exp.f64 (exp.f64 (fma.f64 y (-.f64 (log.f64 z) t) (*.f64 a (-.f64 (log1p.f64 (neg.f64 z)) b)))))))
Compiler

Compiled 21079 to 9614 computations (54.4% saved)

regimes3.0s (19.4%)

Accuracy

Total 0.2b remaining (86.7%)

Threshold costs 0.2b (86.7%)

Counts
253 → 1
Compiler

Compiled 90515 to 58983 computations (34.8% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02884
14084
24884
35384
45584
55584

end183.0ms (1.2%)

Compiler

Compiled 375 to 233 computations (37.9% saved)

Profiling

Loading profile data...