Details

Time bar (total: 6.3s)

analyze910.0ms (14.5%)

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%99.8%0.2%8
6.2%93.6%0.2%9
6.2%82.7%11.1%10
12.5%73.7%13.8%11
15.6%59.5%25%12
17.9%53.3%28.8%13
22.4%47.2%30.4%14
Compiler

Compiled 18 to 12 computations (33.3% saved)

sample1.6s (25.1%)

Results
983.0ms8256×body128valid
370.0ms3250×body128invalid
Compiler

Compiled 53 to 35 computations (34% saved)

simplify62.0ms (1%)

Algorithm
egg-herbie
Rules
853×fma-neg_binary64
525×fma-def_binary64
182×cancel-sign-sub-inv_binary64
160×associate-*l*_binary64
154×distribute-rgt-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01219
12517
27217
322717
451217
5104417
6143617
7149217
8157317
9161517
10163117
11163117
12155017

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
7.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
7.3b
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) (-.f64 (*.f64 z z) t)))
Compiler

Compiled 63 to 37 computations (41.3% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) (-.f64 (*.f64 z z) t)))
0.0b
(-.f64 (*.f64 z z) t)
6.9b
(*.f64 (*.f64 y 4) (-.f64 (*.f64 z z) t))

series59.0ms (0.9%)

Counts
3 → 108
Calls

3 calls:

34.0ms
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) (-.f64 (*.f64 z z) t)))
21.0ms
(*.f64 (*.f64 y 4) (-.f64 (*.f64 z z) t))
4.0ms
(-.f64 (*.f64 z z) t)

rewrite20.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
16×cancel-sign-sub-inv_binary64
16×prod-diff_binary64
16×add-sqr-sqrt_binary64
14×associate--r+_binary64
14×distribute-lft-in_binary64
Counts
3 → 88
Calls

3 calls:

8.0ms
(*.f64 (*.f64 y 4) (-.f64 (*.f64 z z) t))
4.0ms
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) (-.f64 (*.f64 z z) t)))
3.0ms
(-.f64 (*.f64 z z) t)

simplify97.0ms (1.5%)

Algorithm
egg-herbie
Rules
813×fma-def_binary64
380×distribute-rgt-in_binary64
359×distribute-lft-in_binary64
305×exp-prod_binary64
256×cancel-sign-sub-inv_binary64
Counts
196 → 157
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01783113
14102801
215372665
345642665
449172665

prune133.0ms (2.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1516157
Fresh000
Picked011
Done000
Total1517158
Error
2.9b
Counts
158 → 7
Alt Table
StatusErrorProgram
32.6b
(-.f64 (*.f64 x x) (*.f64 (*.f64 (*.f64 y 4) (+.f64 z (sqrt.f64 t))) (-.f64 z (sqrt.f64 t))))
39.5b
(*.f64 y (*.f64 4 t))
26.4b
(-.f64 (*.f64 x x) (*.f64 (*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t))) (sqrt.f64 (-.f64 (*.f64 z z) t))))
42.9b
(-.f64 (*.f64 x x) (/.f64 (*.f64 (*.f64 y 4) (-.f64 (pow.f64 (*.f64 z z) 3) (pow.f64 t 3))) (+.f64 (*.f64 (*.f64 z z) (*.f64 z z)) (+.f64 (*.f64 t t) (*.f64 (*.f64 z z) t)))))
42.3b
(pow.f64 x 2)
27.3b
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) (/.f64 (-.f64 (pow.f64 z 4) (*.f64 t t)) (fma.f64 z z t))))
7.3b
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) (-.f64 (*.f64 z z) t)))
Compiler

Compiled 3500 to 1349 computations (61.5% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x x) (*.f64 (*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t))) (sqrt.f64 (-.f64 (*.f64 z z) t))))
0.1b
(*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t)))
0.2b
(*.f64 (*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t))) (sqrt.f64 (-.f64 (*.f64 z z) t)))
6.8b
(sqrt.f64 (-.f64 (*.f64 z z) t))

series116.0ms (1.8%)

Counts
4 → 128
Calls

4 calls:

45.0ms
(*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t)))
34.0ms
(-.f64 (*.f64 x x) (*.f64 (*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t))) (sqrt.f64 (-.f64 (*.f64 z z) t))))
21.0ms
(*.f64 (*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t))) (sqrt.f64 (-.f64 (*.f64 z z) t)))
15.0ms
(sqrt.f64 (-.f64 (*.f64 z z) t))

rewrite36.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
19×pow1_binary64
18×add-cbrt-cube_binary64
18×add-exp-log_binary64
16×sqrt-div_binary64
14×associate-*r*_binary64
Counts
4 → 95
Calls

4 calls:

14.0ms
(*.f64 (*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t))) (sqrt.f64 (-.f64 (*.f64 z z) t)))
7.0ms
(*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t)))
4.0ms
(sqrt.f64 (-.f64 (*.f64 z z) t))
3.0ms
(-.f64 (*.f64 x x) (*.f64 (*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t))) (sqrt.f64 (-.f64 (*.f64 z z) t))))

simplify124.0ms (2%)

Algorithm
egg-herbie
Rules
701×fma-def_binary64
586×times-frac_binary64
376×associate-*l*_binary64
326×cancel-sign-sub-inv_binary64
290×fma-neg_binary64
Counts
223 → 216
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02504374
17154019
224103852
347893852
449093852

prune163.0ms (2.6%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New2623265
Fresh415
Picked011
Done011
Total2666272
Error
2.9b
Counts
272 → 6
Alt Table
StatusErrorProgram
26.5b
(-.f64 (*.f64 x x) (*.f64 (*.f64 (*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) t)))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) t)))))
26.4b
(-.f64 (*.f64 x x) (*.f64 (*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t))) (sqrt.f64 (-.f64 (*.f64 z z) t))))
32.6b
(-.f64 (*.f64 x x) (*.f64 (*.f64 (*.f64 y 4) (+.f64 z (sqrt.f64 t))) (-.f64 z (sqrt.f64 t))))
20.1b
(fma.f64 4 (*.f64 t y) (*.f64 x x))
42.9b
(-.f64 (*.f64 x x) (/.f64 (*.f64 (-.f64 (pow.f64 z 6) (pow.f64 t 3)) (*.f64 4 y)) (fma.f64 t (fma.f64 z z t) (pow.f64 z 4))))
7.3b
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) (-.f64 (*.f64 z z) t)))
Compiler

Compiled 7751 to 2562 computations (66.9% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 4 (*.f64 t y) (*.f64 x x))

series14.0ms (0.2%)

Counts
1 → 36
Calls

1 calls:

14.0ms
(fma.f64 4 (*.f64 t y) (*.f64 x x))

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
1 → 10
Calls

1 calls:

0.0ms
(fma.f64 4 (*.f64 t y) (*.f64 x x))

simplify84.0ms (1.3%)

Algorithm
egg-herbie
Rules
942×fma-def_binary64
536×*-commutative_binary64
517×distribute-rgt-out_binary64
478×distribute-rgt-in_binary64
472×distribute-lft-in_binary64
Counts
46 → 23
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023511
133488
269488
3194488
4736488
52791488
63319488
74123488
84967488
94904488

prune20.0ms (0.3%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New21223
Fresh033
Picked011
Done022
Total21829
Error
2.9b
Counts
29 → 8
Alt Table
StatusErrorProgram
26.5b
(-.f64 (*.f64 x x) (*.f64 (*.f64 (*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) t)))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) t)))))
26.4b
(-.f64 (*.f64 x x) (*.f64 (*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t))) (sqrt.f64 (-.f64 (*.f64 z z) t))))
32.6b
(-.f64 (*.f64 x x) (*.f64 (*.f64 (*.f64 y 4) (+.f64 z (sqrt.f64 t))) (-.f64 z (sqrt.f64 t))))
20.1b
(fma.f64 4 (*.f64 t y) (*.f64 x x))
42.9b
(-.f64 (*.f64 x x) (/.f64 (*.f64 (-.f64 (pow.f64 z 6) (pow.f64 t 3)) (*.f64 4 y)) (fma.f64 t (fma.f64 z z t) (pow.f64 z 4))))
21.0b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x)))) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))))
35.3b
(exp.f64 (log.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))))
7.3b
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) (-.f64 (*.f64 z z) t)))
Compiler

Compiled 600 to 305 computations (49.2% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 4 (*.f64 t y) (*.f64 x x))
0.3b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x)))) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))))
0.6b
(*.f64 (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))))
2.9b
(cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x)))

series139.0ms (2.2%)

Counts
3 → 108
Calls

3 calls:

68.0ms
(*.f64 (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))))
58.0ms
(cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x)))
13.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x)))) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))))

rewrite18.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
29×pow1_binary64
24×add-sqr-sqrt_binary64
23×cbrt-prod_binary64
16×pow1/3_binary64
14×*-un-lft-identity_binary64
Counts
3 → 93
Calls

3 calls:

6.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x)))) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))))
4.0ms
(*.f64 (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))))
1.0ms
(cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x)))

simplify139.0ms (2.2%)

Algorithm
egg-herbie
Rules
329×unswap-sqr_binary64
298×associate-*r*_binary64
234×associate-/r*_binary64
223×associate-*l*_binary64
219×times-frac_binary64
Counts
201 → 235
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03626909
110776543
239266145
350626145

prune666.0ms (10.6%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New4406446
Fresh134
Picked101
Done033
Total44212454
Error
2.9b
Counts
454 → 12
Alt Table
StatusErrorProgram
40.9b
(*.f64 (pow.f64 (*.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x)) (fma.f64 4 (*.f64 t y) (*.f64 x x))) 1/3) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))))
32.6b
(-.f64 (*.f64 x x) (*.f64 (*.f64 (*.f64 y 4) (+.f64 z (sqrt.f64 t))) (-.f64 z (sqrt.f64 t))))
26.5b
(-.f64 (*.f64 x x) (*.f64 (*.f64 (*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) t)))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) t)))))
26.4b
(-.f64 (*.f64 x x) (*.f64 (*.f64 (*.f64 y 4) (sqrt.f64 (-.f64 (*.f64 z z) t))) (sqrt.f64 (-.f64 (*.f64 z z) t))))
42.9b
(-.f64 (*.f64 x x) (/.f64 (*.f64 (-.f64 (pow.f64 z 6) (pow.f64 t 3)) (*.f64 4 y)) (fma.f64 t (fma.f64 z z t) (pow.f64 z 4))))
57.5b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 (/.f64 4 (*.f64 (pow.f64 y 2) (pow.f64 t 2))) 1/3) (pow.f64 x 2))) (pow.f64 (*.f64 4 (*.f64 y t)) 1/3))) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))))
7.3b
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) (-.f64 (*.f64 z z) t)))
58.4b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x)))) (+.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (neg.f64 (*.f64 4 y))) (log.f64 (/.f64 -1 t))))) (*.f64 1/12 (/.f64 (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (neg.f64 (*.f64 4 y))) (log.f64 (/.f64 -1 t))))) (pow.f64 x 2)) (*.f64 y t)))))
41.1b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 t 4)))) 6) 1/3) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))))
20.1b
(fma.f64 4 (*.f64 t y) (*.f64 x x))
31.2b
(expm1.f64 (log1p.f64 (fma.f64 x x (*.f64 y (*.f64 t 4)))))
35.5b
(*.f64 (pow.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x)) 2/3) (cbrt.f64 (fma.f64 4 (*.f64 t y) (*.f64 x x))))
Compiler

Compiled 20627 to 11411 computations (44.7% saved)

regimes1.6s (26.2%)

Accuracy

Total 0.5b remaining (17.1%)

Threshold costs 0.5b (17.1%)

Counts
107 → 2
Compiler

Compiled 26378 to 17106 computations (35.2% saved)

bsearch4.0ms (0.1%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
17×+-commutative_binary64
16×*-commutative_binary64
16×sub-neg_binary64
15×distribute-rgt-neg-in_binary64
14×distribute-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02254
14154
27754
310754
414854
516554
616754
716254

end207.0ms (3.3%)

Compiler

Compiled 426 to 261 computations (38.7% saved)

Profiling

Loading profile data...