Details

Time bar (total: 31.0s)

analyze2.4s (7.9%)

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%96.6%3.4%6
0%96.6%3.4%7
0%95%5%8
0%85.7%14.3%9
0%64.3%35.7%10
0%64.3%35.7%11
0.5%49.2%50.3%12
0.7%49%50.3%13
1%47.6%51.4%14
Compiler

Compiled 25 to 18 computations (28% saved)

sample6.0s (19.4%)

Results
4.2s22440×body128invalid
1.7s8256×body128valid
Compiler

Compiled 74 to 53 computations (28.4% saved)

simplify50.0ms (0.2%)

Algorithm
egg-herbie
Rules
615×associate-/l/_binary64
552×associate-/r/_binary64
488×associate-*l/_binary64
352×associate-*r/_binary64
345×fma-def_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01826
13726
27824
318624
451724
5166424
6436224
7475024
8504524

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
25.6b
(*.f64 (*.f64 (pow.f64 a (-.f64 t 1)) (/.f64 (pow.f64 z y) (exp.f64 b))) (/.f64 x y))
1.9b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
Compiler

Compiled 132 to 90 computations (31.8% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 t 1) (log.f64 a))
0.2b
(*.f64 y (log.f64 z))
0.8b
(exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))
1.2b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)

series1.8s (5.8%)

Counts
4 → 176
Calls

4 calls:

1.0s
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
503.0ms
(exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))
181.0ms
(*.f64 y (log.f64 z))
60.0ms
(*.f64 (-.f64 t 1) (log.f64 a))

rewrite34.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
32×add-sqr-sqrt_binary64
27×*-un-lft-identity_binary64
22×add-cube-cbrt_binary64
14×exp-sum_binary64
13×add-cbrt-cube_binary64
Counts
4 → 116
Calls

4 calls:

10.0ms
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
6.0ms
(exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))
5.0ms
(*.f64 (-.f64 t 1) (log.f64 a))
3.0ms
(*.f64 y (log.f64 z))

simplify218.0ms (0.7%)

Algorithm
egg-herbie
Rules
510×fma-neg_binary64
314×associate-*r*_binary64
302×associate-*l*_binary64
245×cancel-sign-sub-inv_binary64
170×times-frac_binary64
Counts
292 → 248
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03937243
18956044
233415911
345495911
449995911
549245911

prune276.0ms (0.9%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2435248
Fresh101
Picked011
Done000
Total2446250
Error
0.0b
Counts
250 → 6
Alt Table
StatusErrorProgram
36.5b
(+.f64 (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (/.f64 x y)) (+.f64 (*.f64 (*.f64 (log.f64 a) t) (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (/.f64 x y))) (fma.f64 1/2 (*.f64 (*.f64 t (*.f64 t (*.f64 x (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b)))))) (/.f64 (pow.f64 (log.f64 a) 2) y)) (*.f64 1/6 (*.f64 (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (*.f64 x (pow.f64 t 3))) (/.f64 (pow.f64 (log.f64 a) 3) y))))))
22.0b
(/.f64 (*.f64 x (*.f64 (pow.f64 z y) (pow.f64 a (+.f64 t -1)))) y)
1.9b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
19.9b
(/.f64 x (/.f64 y (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1))))))
19.8b
(/.f64 1 (/.f64 y (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) x)))
43.3b
(*.f64 (/.f64 x (sqrt.f64 y)) (/.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) (sqrt.f64 y)))
Compiler

Compiled 7416 to 3167 computations (57.3% saved)

localize14.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) x)
0.1b
(pow.f64 a (+.f64 t -1))
0.5b
(/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1))))
1.2b
(/.f64 y (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) x))

series3.7s (11.8%)

Counts
4 → 228
Calls

4 calls:

1.7s
(/.f64 y (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) x))
1.1s
(*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) x)
825.0ms
(/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1))))
29.0ms
(pow.f64 a (+.f64 t -1))

rewrite154.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
776×times-frac_binary64
390×add-sqr-sqrt_binary64
351×*-un-lft-identity_binary64
349×add-cube-cbrt_binary64
316×unpow-prod-down_binary64
Counts
4 → 563
Calls

4 calls:

29.0ms
(*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) x)
16.0ms
(/.f64 y (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) x))
11.0ms
(/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1))))
3.0ms
(pow.f64 a (+.f64 t -1))

simplify427.0ms (1.4%)

Algorithm
egg-herbie
Rules
704×associate-/r/_binary64
578×times-frac_binary64
341×associate-/l/_binary64
307×*-commutative_binary64
165×associate-*l/_binary64
Counts
791 → 1102
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0100124618
1252523802
2503123802

prune1.7s (5.4%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New110111102
Fresh134
Picked011
Done011
Total110261108
Error
0b
Counts
1108 → 6
Alt Table
StatusErrorProgram
31.9b
(/.f64 1 (/.f64 y (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (log.f64 a) 2) (*.f64 (pow.f64 t 2) (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x))) (*.f64 (exp.f64 b) a))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x) (*.f64 (exp.f64 b) a)) (+.f64 (/.f64 (*.f64 (log.f64 a) (*.f64 t (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x))) (*.f64 (exp.f64 b) a)) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (log.f64 a) 3) (*.f64 (pow.f64 t 3) (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x))) (*.f64 (exp.f64 b) a))))))))
36.5b
(+.f64 (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (/.f64 x y)) (+.f64 (*.f64 (*.f64 (log.f64 a) t) (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (/.f64 x y))) (fma.f64 1/2 (*.f64 (*.f64 t (*.f64 t (*.f64 x (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b)))))) (/.f64 (pow.f64 (log.f64 a) 2) y)) (*.f64 1/6 (*.f64 (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (*.f64 x (pow.f64 t 3))) (/.f64 (pow.f64 (log.f64 a) 3) y))))))
22.0b
(/.f64 (*.f64 x (*.f64 (pow.f64 z y) (pow.f64 a (+.f64 t -1)))) y)
1.9b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
19.8b
(/.f64 1 (/.f64 y (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) x)))
43.3b
(*.f64 (/.f64 x (sqrt.f64 y)) (/.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) (sqrt.f64 y)))
Compiler

Compiled 38905 to 18268 computations (53% saved)

localize9.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (*.f64 (pow.f64 z y) (pow.f64 a (+.f64 t -1))))
0.1b
(pow.f64 a (+.f64 t -1))
0.5b
(*.f64 (pow.f64 z y) (pow.f64 a (+.f64 t -1)))
1.5b
(/.f64 (*.f64 x (*.f64 (pow.f64 z y) (pow.f64 a (+.f64 t -1)))) y)

series2.7s (8.6%)

Counts
3 → 168
Calls

3 calls:

1.1s
(/.f64 (*.f64 x (*.f64 (pow.f64 z y) (pow.f64 a (+.f64 t -1)))) y)
907.0ms
(*.f64 x (*.f64 (pow.f64 z y) (pow.f64 a (+.f64 t -1))))
641.0ms
(*.f64 (pow.f64 z y) (pow.f64 a (+.f64 t -1)))

rewrite25.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
73×add-exp-log_binary64
47×prod-exp_binary64
22×add-sqr-sqrt_binary64
19×add-cbrt-cube_binary64
18×pow-exp_binary64
Counts
3 → 104
Calls

3 calls:

7.0ms
(*.f64 (pow.f64 z y) (pow.f64 a (+.f64 t -1)))
6.0ms
(/.f64 (*.f64 x (*.f64 (pow.f64 z y) (pow.f64 a (+.f64 t -1)))) y)
5.0ms
(*.f64 x (*.f64 (pow.f64 z y) (pow.f64 a (+.f64 t -1))))

simplify180.0ms (0.6%)

Algorithm
egg-herbie
Rules
948×fma-def_binary64
426×unswap-sqr_binary64
400×associate-*r*_binary64
328×associate-*l*_binary64
212×associate-/l*_binary64
Counts
272 → 215
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03046110
17625797
231305469
348725469
450475469

prune309.0ms (1%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2641265
Fresh123
Picked011
Done022
Total2656271
Error
0b
Counts
271 → 6
Alt Table
StatusErrorProgram
31.9b
(/.f64 1 (/.f64 y (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (log.f64 a) 2) (*.f64 (pow.f64 t 2) (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x))) (*.f64 (exp.f64 b) a))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x) (*.f64 (exp.f64 b) a)) (+.f64 (/.f64 (*.f64 (log.f64 a) (*.f64 t (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x))) (*.f64 (exp.f64 b) a)) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (log.f64 a) 3) (*.f64 (pow.f64 t 3) (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x))) (*.f64 (exp.f64 b) a))))))))
24.1b
(/.f64 (pow.f64 (/.f64 -1 (/.f64 -1 a)) (-.f64 t 1)) (/.f64 y (*.f64 (pow.f64 z y) x)))
36.5b
(+.f64 (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (/.f64 x y)) (+.f64 (*.f64 (*.f64 (log.f64 a) t) (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (/.f64 x y))) (fma.f64 1/2 (*.f64 (*.f64 t (*.f64 t (*.f64 x (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b)))))) (/.f64 (pow.f64 (log.f64 a) 2) y)) (*.f64 1/6 (*.f64 (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (*.f64 x (pow.f64 t 3))) (/.f64 (pow.f64 (log.f64 a) 3) y))))))
22.0b
(/.f64 (*.f64 x (*.f64 (pow.f64 z y) (pow.f64 a (+.f64 t -1)))) y)
1.9b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
19.8b
(/.f64 1 (/.f64 y (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) x)))
Compiler

Compiled 6391 to 3074 computations (51.9% saved)

localize13.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (pow.f64 z y) x)
0.1b
(pow.f64 (/.f64 -1 (/.f64 -1 a)) (-.f64 t 1))
0.2b
(/.f64 -1 (/.f64 -1 a))
4.0b
(/.f64 (pow.f64 (/.f64 -1 (/.f64 -1 a)) (-.f64 t 1)) (/.f64 y (*.f64 (pow.f64 z y) x)))

series1.1s (3.7%)

Counts
4 → 132
Calls

4 calls:

932.0ms
(/.f64 (pow.f64 (/.f64 -1 (/.f64 -1 a)) (-.f64 t 1)) (/.f64 y (*.f64 (pow.f64 z y) x)))
185.0ms
(*.f64 (pow.f64 z y) x)
27.0ms
(pow.f64 (/.f64 -1 (/.f64 -1 a)) (-.f64 t 1))
1.0ms
(/.f64 -1 (/.f64 -1 a))

rewrite170.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
1282×times-frac_binary64
569×add-sqr-sqrt_binary64
563×*-un-lft-identity_binary64
560×add-cube-cbrt_binary64
400×unpow-prod-down_binary64
Counts
4 → 716
Calls

4 calls:

25.0ms
(/.f64 (pow.f64 (/.f64 -1 (/.f64 -1 a)) (-.f64 t 1)) (/.f64 y (*.f64 (pow.f64 z y) x)))
10.0ms
(pow.f64 (/.f64 -1 (/.f64 -1 a)) (-.f64 t 1))
4.0ms
(/.f64 -1 (/.f64 -1 a))
3.0ms
(*.f64 (pow.f64 z y) x)

simplify842.0ms (2.7%)

Algorithm
egg-herbie
Rules
748×associate-/r/_binary64
651×associate-/l/_binary64
296×associate-/r*_binary64
217×fma-def_binary64
216×times-frac_binary64
Counts
848 → 1082
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0115230859
1258626202
2438826113
3446026081
4496226081
5496626081

prune1.2s (3.8%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New108201082
Fresh022
Picked011
Done033
Total108261088
Error
0b
Counts
1088 → 6
Alt Table
StatusErrorProgram
31.9b
(/.f64 1 (/.f64 y (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (log.f64 a) 2) (*.f64 (pow.f64 t 2) (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x))) (*.f64 (exp.f64 b) a))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x) (*.f64 (exp.f64 b) a)) (+.f64 (/.f64 (*.f64 (log.f64 a) (*.f64 t (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x))) (*.f64 (exp.f64 b) a)) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (log.f64 a) 3) (*.f64 (pow.f64 t 3) (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x))) (*.f64 (exp.f64 b) a))))))))
24.1b
(/.f64 (pow.f64 (/.f64 -1 (/.f64 -1 a)) (-.f64 t 1)) (/.f64 y (*.f64 (pow.f64 z y) x)))
36.5b
(+.f64 (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (/.f64 x y)) (+.f64 (*.f64 (*.f64 (log.f64 a) t) (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (/.f64 x y))) (fma.f64 1/2 (*.f64 (*.f64 t (*.f64 t (*.f64 x (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b)))))) (/.f64 (pow.f64 (log.f64 a) 2) y)) (*.f64 1/6 (*.f64 (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (*.f64 x (pow.f64 t 3))) (/.f64 (pow.f64 (log.f64 a) 3) y))))))
22.0b
(/.f64 (*.f64 x (*.f64 (pow.f64 z y) (pow.f64 a (+.f64 t -1)))) y)
1.9b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
19.8b
(/.f64 1 (/.f64 y (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) x)))
Compiler

Compiled 36261 to 20507 computations (43.4% saved)

regimes7.5s (24.3%)

Accuracy

Total 2.0b remaining (97.1%)

Threshold costs 0b (0%)

Counts
451 → 1
Compiler

Compiled 187806 to 123316 computations (34.3% saved)

simplify3.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
01726
12226
22626
32826
42926
52926

end138.0ms (0.4%)

Compiler

Compiled 307 to 173 computations (43.6% saved)

Profiling

Loading profile data...