Details

Time bar (total: 8.5s)

analyze925.0ms (10.9%)

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)

sample3.1s (36.4%)

Results
1.5s8256×body128valid
1.5s10744×body128invalid
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)))

series114.0ms (1.3%)

Counts
4 → 84
Calls

4 calls:

80.0ms
(*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2))) (exp.f64 (/.f64 (*.f64 t t) 2)))
29.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))

rewrite28.0ms (0.3%)

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:

10.0ms
(*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 z 2))) (exp.f64 (/.f64 (*.f64 t t) 2)))
8.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))

simplify112.0ms (1.3%)

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

prune196.0ms (2.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1656171
Fresh000
Picked011
Done000
Total1657172
Error
0b
Counts
172 → 7
Alt Table
StatusErrorProgram
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 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) (sqrt.f64 (exp.f64 (*.f64 t t))))
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)))
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)))
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)))
Compiler

Compiled 4717 to 3178 computations (32.6% saved)

localize12.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)))

series123.0ms (1.4%)

Counts
4 → 96
Calls

4 calls:

76.0ms
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) (sqrt.f64 (exp.f64 (*.f64 t t))))
28.0ms
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)))
17.0ms
(*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))
2.0ms
(exp.f64 (*.f64 t t))

rewrite41.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))))
9.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))

simplify160.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

prune180.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.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 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) (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))))
0.2b
(*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (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))))
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))))

series324.0ms (3.8%)

Counts
4 → 108
Calls

4 calls:

124.0ms
(*.f64 (sqrt.f64 z) (*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2))))
97.0ms
(*.f64 (-.f64 (*.f64 1/2 x) y) (cbrt.f64 (sqrt.f64 2)))
76.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))))
27.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)))))

rewrite61.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:

18.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))))
12.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)))))
9.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)))

simplify138.0ms (1.6%)

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 → 196
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02418304
16585774
225464958
352224958

prune182.0ms (2.1%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1960196
Fresh033
Picked011
Done022
Total1966202
Error
0b
Counts
202 → 6
Alt Table
StatusErrorProgram
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 (sqrt.f64 2) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) (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))))
0.2b
(*.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (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))))
Compiler

Compiled 7026 to 4593 computations (34.6% saved)

localize15.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)))

series139.0ms (1.6%)

Counts
3 → 84
Calls

3 calls:

77.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))))
32.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)))
30.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))))

rewrite62.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:

17.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))))
14.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)))

simplify158.0ms (1.9%)

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

prune287.0ms (3.4%)

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.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 (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 (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))))
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 (*.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))))
Compiler

Compiled 9520 to 5449 computations (42.8% saved)

regimes1.9s (22.3%)

Accuracy

Total 0.3b remaining (91.8%)

Threshold costs 0.3b (91.8%)

Counts
118 → 1
Compiler

Compiled 42549 to 32701 computations (23.1% saved)

simplify2.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

end105.0ms (1.2%)

Compiler

Compiled 168 to 132 computations (21.4% saved)

Profiling

Loading profile data...