Details

Time bar (total: 8.2s)

analyze914.0ms (11.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%74.9%25.1%8
6.2%68.6%25.1%9
7.8%67.1%25.1%10
10.1%64.7%25.1%11
14.8%47.6%37.6%12
15.8%36.8%47.4%13
16.6%35.1%48.3%14
Compiler

Compiled 22 to 17 computations (22.7% saved)

sample2.9s (34.7%)

Results
1.5s10744×body128invalid
1.1s8256×body128valid
Compiler

Compiled 65 to 50 computations (23.1% saved)

simplify126.0ms (1.5%)

Algorithm
egg-herbie
Rules
898×fma-neg_binary64
522×fma-def_binary64
417×neg-sub0_binary64
408×neg-mul-1_binary64
378×prod-exp_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01625
12925
25125
310225
421925
546425
6122525
7241625
8370325
9471425
10487425
11422425
12460825
13455525
14494225

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.2b
(*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2))) (exp.f64 (/.f64 (*.f64 t t) 2)))
Compiler

Compiled 79 to 59 computations (25.3% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 (/.f64 (*.f64 t t) 2))
0.0b
(/.f64 (*.f64 t t) 2)
0.0b
(*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2))) (exp.f64 (/.f64 (*.f64 t t) 2)))
0.2b
(*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2)))

series99.0ms (1.2%)

Counts
4 → 84
Calls

4 calls:

72.0ms
(*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2))) (exp.f64 (/.f64 (*.f64 t t) 2)))
23.0ms
(*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2)))
2.0ms
(/.f64 (*.f64 t t) 2)
2.0ms
(exp.f64 (/.f64 (*.f64 t t) 2))

rewrite54.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
16×add-cbrt-cube_binary64
14×add-exp-log_binary64
13×add-sqr-sqrt_binary64
11×*-un-lft-identity_binary64
11×add-cube-cbrt_binary64
Counts
4 → 86
Calls

4 calls:

40.0ms
(*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2))) (exp.f64 (/.f64 (*.f64 t t) 2)))
6.0ms
(*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2)))
3.0ms
(/.f64 (*.f64 t t) 2)
2.0ms
(exp.f64 (/.f64 (*.f64 t t) 2))

simplify296.0ms (3.6%)

Algorithm
egg-herbie
Rules
683×fma-def_binary64
449×fma-neg_binary64
276×associate-*l*_binary64
252×cancel-sign-sub-inv_binary64
247×associate-*r*_binary64
Counts
170 → 171
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02164157
15383584
218353039
346743039
449673039

prune212.0ms (2.6%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1656171
Fresh000
Picked011
Done000
Total1657172
Error
0b
Counts
172 → 7
Alt Table
StatusErrorProgram
1.3b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2)))) (cbrt.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2))))) (cbrt.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2))))) (exp.f64 (/.f64 (*.f64 t t) 2)))
0.4b
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) (sqrt.f64 (exp.f64 (*.f64 t t))))
0.6b
(*.f64 (*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (sqrt.f64 (*.f64 z 2)))) (sqrt.f64 (sqrt.f64 (*.f64 z 2)))) (exp.f64 (/.f64 (*.f64 t t) 2)))
0.9b
(-.f64 (*.f64 (sqrt.f64 z) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (+.f64 1/2 (*.f64 1/96 (pow.f64 t 6)))) (*.f64 (*.f64 (sqrt.f64 2) x) (+.f64 (*.f64 1/16 (pow.f64 t 4)) (*.f64 1/4 (*.f64 t t)))))) (*.f64 (sqrt.f64 z) (+.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/2 (*.f64 y (*.f64 t t))) (*.f64 1/48 (*.f64 y (pow.f64 t 6))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/8 (*.f64 y (pow.f64 t 4))) y)))))
0.2b
(*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2))) (exp.f64 (/.f64 (*.f64 t t) 2)))
36.0b
(*.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 x 1/2) y)) (*.f64 (sqrt.f64 (-.f64 (*.f64 x 1/2) y)) (sqrt.f64 (*.f64 z 2)))) (exp.f64 (/.f64 (*.f64 t t) 2)))
1.3b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x 1/2) y)) (cbrt.f64 (-.f64 (*.f64 x 1/2) y))) (*.f64 (cbrt.f64 (-.f64 (*.f64 x 1/2) y)) (sqrt.f64 (*.f64 z 2)))) (exp.f64 (/.f64 (*.f64 t t) 2)))
Compiler

Compiled 4717 to 3178 computations (32.6% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 (*.f64 t t))
0.0b
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) (sqrt.f64 (exp.f64 (*.f64 t t))))
0.2b
(*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))
0.4b
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)))

series118.0ms (1.4%)

Counts
4 → 96
Calls

4 calls:

74.0ms
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) (sqrt.f64 (exp.f64 (*.f64 t t))))
27.0ms
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)))
15.0ms
(*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))
2.0ms
(exp.f64 (*.f64 t t))

rewrite42.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
35×distribute-lft-in_binary64
35×distribute-rgt-in_binary64
27×add-sqr-sqrt_binary64
23×*-un-lft-identity_binary64
23×add-cube-cbrt_binary64
Counts
4 → 133
Calls

4 calls:

11.0ms
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) (sqrt.f64 (exp.f64 (*.f64 t t))))
10.0ms
(*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))
8.0ms
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)))
1.0ms
(exp.f64 (*.f64 t t))

simplify154.0ms (1.9%)

Algorithm
egg-herbie
Rules
653×fma-neg_binary64
545×associate-*l*_binary64
500×associate-*r*_binary64
467×distribute-rgt-in_binary64
296×cancel-sign-sub-inv_binary64
Counts
229 → 195
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02885921
16095128
225244535
347624535
450504535

prune170.0ms (2.1%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1923195
Fresh415
Picked011
Done011
Total1966202
Error
0b
Counts
202 → 6
Alt Table
StatusErrorProgram
0.2b
(*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2))) (exp.f64 (/.f64 (*.f64 t t) 2)))
0.4b
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) (sqrt.f64 (exp.f64 (*.f64 t t))))
0.6b
(*.f64 (*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (sqrt.f64 (*.f64 z 2)))) (sqrt.f64 (sqrt.f64 (*.f64 z 2)))) (exp.f64 (/.f64 (*.f64 t t) 2)))
0.5b
(*.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)))) (sqrt.f64 (exp.f64 (*.f64 t t))))
0.4b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 z) (*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2))))) (sqrt.f64 (exp.f64 (*.f64 t t))))
28.8b
(*.f64 (*.f64 (sqrt.f64 2) (/.f64 (*.f64 (sqrt.f64 z) (-.f64 (*.f64 x (*.f64 x 1/4)) (*.f64 y y))) (+.f64 (*.f64 1/2 x) y))) (sqrt.f64 (exp.f64 (*.f64 t t))))
Compiler

Compiled 5500 to 2846 computations (48.3% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 z) (*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2))))) (sqrt.f64 (exp.f64 (*.f64 t t))))
0.2b
(*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2)))
0.3b
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 z) (*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2)))))
0.3b
(*.f64 (sqrt.f64 z) (*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2))))

series303.0ms (3.7%)

Counts
4 → 108
Calls

4 calls:

116.0ms
(*.f64 (sqrt.f64 z) (*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2))))
87.0ms
(*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2)))
74.0ms
(*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 z) (*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2))))) (sqrt.f64 (exp.f64 (*.f64 t t))))
25.0ms
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 z) (*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2)))))

rewrite62.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
61×add-exp-log_binary64
61×pow1_binary64
43×add-cbrt-cube_binary64
41×cbrt-unprod_binary64
41×prod-exp_binary64
Counts
4 → 127
Calls

4 calls:

19.0ms
(*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 z) (*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2))))) (sqrt.f64 (exp.f64 (*.f64 t t))))
16.0ms
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 z) (*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2)))))
7.0ms
(*.f64 (sqrt.f64 z) (*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2))))
6.0ms
(*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2)))

simplify141.0ms (1.7%)

Algorithm
egg-herbie
Rules
666×fma-def_binary64
528×associate-*l*_binary64
515×associate-*r*_binary64
445×distribute-rgt-in_binary64
254×cancel-sign-sub-inv_binary64
Counts
235 → 195
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02418304
16585792
225464976
352224976

prune169.0ms (2.1%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1950195
Fresh033
Picked011
Done022
Total1956201
Error
0b
Counts
201 → 6
Alt Table
StatusErrorProgram
0.2b
(*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2))) (exp.f64 (/.f64 (*.f64 t t) 2)))
0.4b
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) (sqrt.f64 (exp.f64 (*.f64 t t))))
0.6b
(*.f64 (*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (sqrt.f64 (*.f64 z 2)))) (sqrt.f64 (sqrt.f64 (*.f64 z 2)))) (exp.f64 (/.f64 (*.f64 t t) 2)))
0.5b
(*.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)))) (sqrt.f64 (exp.f64 (*.f64 t t))))
0.4b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 z) (*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2))))) (sqrt.f64 (exp.f64 (*.f64 t t))))
28.8b
(*.f64 (*.f64 (sqrt.f64 2) (/.f64 (*.f64 (sqrt.f64 z) (-.f64 (*.f64 x (*.f64 x 1/4)) (*.f64 y y))) (+.f64 (*.f64 1/2 x) y))) (sqrt.f64 (exp.f64 (*.f64 t t))))
Compiler

Compiled 6999 to 4575 computations (34.6% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)))) (sqrt.f64 (exp.f64 (*.f64 t t))))
0.2b
(*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))
0.3b
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))))
0.3b
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)))

series120.0ms (1.5%)

Counts
3 → 84
Calls

3 calls:

68.0ms
(*.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)))) (sqrt.f64 (exp.f64 (*.f64 t t))))
27.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)))
24.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))))

rewrite61.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
112×distribute-lft-in_binary64
112×distribute-rgt-in_binary64
36×cancel-sign-sub-inv_binary64
36×prod-diff_binary64
35×*-un-lft-identity_binary64
Counts
3 → 174
Calls

3 calls:

16.0ms
(*.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)))) (sqrt.f64 (exp.f64 (*.f64 t t))))
13.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))))
11.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)))

simplify163.0ms (2%)

Algorithm
egg-herbie
Rules
699×associate-*l*_binary64
613×associate-*r*_binary64
530×distribute-rgt-in_binary64
332×cancel-sign-sub-inv_binary64
330×*-commutative_binary64
Counts
258 → 224
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03728109
16537144
227646317
354986317

prune225.0ms (2.7%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New2751276
Fresh112
Picked101
Done033
Total2775282
Error
0b
Counts
282 → 5
Alt Table
StatusErrorProgram
0.2b
(*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2))) (exp.f64 (/.f64 (*.f64 t t) 2)))
0.4b
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) (sqrt.f64 (exp.f64 (*.f64 t t))))
0.6b
(*.f64 (*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (sqrt.f64 (*.f64 z 2)))) (sqrt.f64 (sqrt.f64 (*.f64 z 2)))) (exp.f64 (/.f64 (*.f64 t t) 2)))
0.4b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 z) (*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2))))) (sqrt.f64 (exp.f64 (*.f64 t t))))
0.6b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) (sqrt.f64 (exp.f64 (*.f64 t t))))
Compiler

Compiled 9520 to 5449 computations (42.8% saved)

regimes1.8s (21.7%)

Accuracy

Total 0.3b remaining (91.8%)

Threshold costs 0.3b (91.8%)

Counts
116 → 1
Compiler

Compiled 41847 to 32129 computations (23.2% 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
01626
12226
22726
32926
43026
53026

end99.0ms (1.2%)

Compiler

Compiled 168 to 132 computations (21.4% saved)

Profiling

Loading profile data...