Details

Time bar (total: 3.3s)

analyze65.0ms (1.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%74.9%25.1%4
12.5%62.4%25.1%5
31.2%31.2%37.6%6
37.5%25%37.6%7
40.6%15.6%43.8%8
42.9%11.7%45.4%9
44.1%7.4%48.5%10
45.1%5.7%49.3%11
45.6%3.6%50.8%12
46%2.8%51.2%13
46.2%1.8%52%14
Compiler

Compiled 17 to 14 computations (17.6% saved)

sample139.0ms (4.2%)

Algorithm
intervals
Results
13.0ms256×body128valid
0.0msbody128invalid
0.0msbody128nan
Compiler

Compiled 35 to 29 computations (17.1% saved)

simplify185.0ms (5.5%)

Algorithm
egg-herbie
Rules
1205×fma-neg_binary64
900×fma-def_binary64
326×associate-/l*_binary64
318×cancel-sign-sub-inv_binary64
290×distribute-rgt-neg-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01321
12818
26818
314516
425716
541116
686116
7137116
8238616
9249316
10267516
11260716
12258116
13258116
14353116
15336416
16336416
17336416
18336416
19317116

prune4.0ms (0.1%)

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
0.4b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))
0.4b
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
Compiler

Compiled 85 to 66 computations (22.4% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 y (/.f64 1/9 x))
0.2b
(fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)
0.3b
(/.f64 1/9 x)
0.3b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))

series34.0ms (1%)

Counts
4 → 60
Calls

4 calls:

22.0ms
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))
6.0ms
(fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)
4.0ms
(+.f64 y (/.f64 1/9 x))
1.0ms
(/.f64 1/9 x)

rewrite16.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
20×add-sqr-sqrt_binary64
18×*-un-lft-identity_binary64
16×add-cube-cbrt_binary64
times-frac_binary64
add-cbrt-cube_binary64
Counts
4 → 82
Calls

4 calls:

7.0ms
(+.f64 y (/.f64 1/9 x))
4.0ms
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))
2.0ms
(/.f64 1/9 x)
0.0ms
(fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)

simplify89.0ms (2.7%)

Algorithm
egg-herbie
Rules
558×associate-/l*_binary64
373×fma-neg_binary64
355×associate-/l/_binary64
311×associate-/r*_binary64
275×associate-*l*_binary64
Counts
142 → 131
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01381789
12831627
27571625
324931625
447391625
549151625

prune133.0ms (4%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1229131
Fresh011
Picked101
Done000
Total12310133
Error
0b
Counts
133 → 10
Alt Table
StatusErrorProgram
34.5b
(*.f64 (sqrt.f64 x) (cbrt.f64 (*.f64 (*.f64 (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))))
0.4b
(*.f64 (sqrt.f64 x) (-.f64 (+.f64 (*.f64 3 y) (*.f64 1/3 (/.f64 1 x))) 3))
0.5b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (*.f64 (*.f64 (cbrt.f64 1/9) (cbrt.f64 1/9)) (/.f64 (cbrt.f64 1/9) x))) -3))
0.4b
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
1.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))) (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)))) (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))))
0.3b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 3 (sqrt.f64 x)))
1.0b
(*.f64 (sqrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (*.f64 (sqrt.f64 (cbrt.f64 x)) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)))
0.6b
(*.f64 (sqrt.f64 (sqrt.f64 x)) (*.f64 (-.f64 (fma.f64 3 y (/.f64 1/3 x)) 3) (sqrt.f64 (sqrt.f64 x))))
1.2b
(*.f64 (*.f64 (sqrt.f64 x) (*.f64 (cbrt.f64 (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)) (cbrt.f64 (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)))) (cbrt.f64 (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)))
0.4b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 (/.f64 1/9 (sqrt.f64 x)) (sqrt.f64 x))) -3))
Compiler

Compiled 2632 to 1792 computations (31.9% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 y (sqrt.f64 x))
0.3b
(*.f64 3 (*.f64 y (sqrt.f64 x)))
0.3b
(*.f64 3 (sqrt.f64 x))
0.4b
(*.f64 1/3 (sqrt.f64 (/.f64 1 x)))

series39.0ms (1.2%)

Counts
4 → 0
Calls

4 calls:

14.0ms
(*.f64 3 (*.f64 y (sqrt.f64 x)))
10.0ms
(*.f64 y (sqrt.f64 x))
8.0ms
(*.f64 1/3 (sqrt.f64 (/.f64 1 x)))
6.0ms
(*.f64 3 (sqrt.f64 x))

rewrite22.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
37×add-sqr-sqrt_binary64
29×associate-*r*_binary64
24×sqrt-prod_binary64
21×*-un-lft-identity_binary64
20×add-cube-cbrt_binary64
Counts
4 → 105
Calls

4 calls:

6.0ms
(*.f64 1/3 (sqrt.f64 (/.f64 1 x)))
5.0ms
(*.f64 3 (*.f64 y (sqrt.f64 x)))
4.0ms
(*.f64 3 (sqrt.f64 x))
3.0ms
(*.f64 y (sqrt.f64 x))

simplify117.0ms (3.5%)

Algorithm
egg-herbie
Rules
487×associate-*l*_binary64
462×unswap-sqr_binary64
438×sqr-pow_binary64
341×*-commutative_binary64
331×associate-*r*_binary64
Counts
105 → 150
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01311109
12411052
25511051
311391051
415591051
522971010
629701010
735181010
848081010
949201010

prune171.0ms (5.1%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1473150
Fresh369
Picked101
Done000
Total1519160
Error
0b
Counts
160 → 9
Alt Table
StatusErrorProgram
0.6b
(*.f64 (sqrt.f64 (sqrt.f64 x)) (*.f64 (-.f64 (fma.f64 3 y (/.f64 1/3 x)) 3) (sqrt.f64 (sqrt.f64 x))))
0.4b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x))))
34.5b
(*.f64 (sqrt.f64 x) (cbrt.f64 (*.f64 (*.f64 (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))))
0.4b
(*.f64 (sqrt.f64 x) (-.f64 (+.f64 (*.f64 3 y) (*.f64 1/3 (/.f64 1 x))) 3))
0.5b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (*.f64 (*.f64 (cbrt.f64 1/9) (cbrt.f64 1/9)) (/.f64 (cbrt.f64 1/9) x))) -3))
0.4b
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
1.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))) (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)))) (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))))
0.5b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 (*.f64 3 (fabs.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 x))))
0.3b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (/.f64 1/3 (sqrt.f64 x))) (*.f64 3 (sqrt.f64 x)))
Compiler

Compiled 3934 to 2515 computations (36.1% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 y (sqrt.f64 x))
0.3b
(*.f64 3 (*.f64 y (sqrt.f64 x)))
0.3b
(*.f64 3 (sqrt.f64 x))
0.4b
(/.f64 1/3 (sqrt.f64 x))

series17.0ms (0.5%)

Counts
1 → 0
Calls

1 calls:

17.0ms
(/.f64 1/3 (sqrt.f64 x))

rewrite4.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
18×times-frac_binary64
16×*-un-lft-identity_binary64
16×add-sqr-sqrt_binary64
16×add-cube-cbrt_binary64
12×sqrt-prod_binary64
Counts
1 → 41
Calls

1 calls:

3.0ms
(/.f64 1/3 (sqrt.f64 x))

simplify94.0ms (2.8%)

Algorithm
egg-herbie
Rules
1051×fma-neg_binary64
416×unswap-sqr_binary64
375×associate-/l/_binary64
356×times-frac_binary64
325×associate-/l*_binary64
Counts
41 → 45
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
068540
1101514
2165514
3221514
4353514
5469514
6645514
71189514
82252514
92826514
103214514
114235514
124855514

prune171.0ms (5.1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1402142
Fresh268
Picked101
Done000
Total1438151
Error
0b
Counts
151 → 8
Alt Table
StatusErrorProgram
0.6b
(*.f64 (sqrt.f64 (sqrt.f64 x)) (*.f64 (-.f64 (fma.f64 3 y (/.f64 1/3 x)) 3) (sqrt.f64 (sqrt.f64 x))))
0.4b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x))))
0.5b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (*.f64 (*.f64 (cbrt.f64 1/9) (cbrt.f64 1/9)) (/.f64 (cbrt.f64 1/9) x))) -3))
0.4b
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.5b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (/.f64 1/3 (sqrt.f64 x))) (*.f64 (*.f64 3 (fabs.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 x))))
34.5b
(*.f64 (sqrt.f64 x) (cbrt.f64 (*.f64 (*.f64 (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))))
0.3b
(-.f64 (+.f64 (*.f64 (*.f64 3 y) (sqrt.f64 x)) (/.f64 1/3 (sqrt.f64 x))) (*.f64 3 (sqrt.f64 x)))
1.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))) (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)))) (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))))
Compiler

Compiled 3443 to 1914 computations (44.4% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (*.f64 3 y) (sqrt.f64 x)) (/.f64 1/3 (sqrt.f64 x)))
0.3b
(*.f64 (*.f64 3 y) (sqrt.f64 x))
0.3b
(*.f64 3 (sqrt.f64 x))
0.4b
(/.f64 1/3 (sqrt.f64 x))

series32.0ms (1%)

Counts
2 → 24
Calls

2 calls:

19.0ms
(+.f64 (*.f64 (*.f64 3 y) (sqrt.f64 x)) (/.f64 1/3 (sqrt.f64 x)))
13.0ms
(*.f64 (*.f64 3 y) (sqrt.f64 x))

rewrite14.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
add-cbrt-cube_binary64
add-exp-log_binary64
pow1_binary64
associate-*r*_binary64
*-un-lft-identity_binary64
Counts
2 → 37
Calls

2 calls:

7.0ms
(+.f64 (*.f64 (*.f64 3 y) (sqrt.f64 x)) (/.f64 1/3 (sqrt.f64 x)))
5.0ms
(*.f64 (*.f64 3 y) (sqrt.f64 x))

simplify103.0ms (3.1%)

Algorithm
egg-herbie
Rules
585×fma-neg_binary64
511×cancel-sign-sub-inv_binary64
299×distribute-rgt-neg-in_binary64
281×*-commutative_binary64
251×distribute-rgt-out_binary64
Counts
61 → 57
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
078863
1200825
2665808
31472806
43102796
54149796
64762796
74862796

prune151.0ms (4.5%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1350135
Fresh077
Picked011
Done000
Total1358143
Error
0b
Counts
143 → 8
Alt Table
StatusErrorProgram
0.6b
(*.f64 (sqrt.f64 (sqrt.f64 x)) (*.f64 (-.f64 (fma.f64 3 y (/.f64 1/3 x)) 3) (sqrt.f64 (sqrt.f64 x))))
0.4b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x))))
0.5b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (*.f64 (*.f64 (cbrt.f64 1/9) (cbrt.f64 1/9)) (/.f64 (cbrt.f64 1/9) x))) -3))
0.4b
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.5b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (/.f64 1/3 (sqrt.f64 x))) (*.f64 (*.f64 3 (fabs.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 x))))
34.5b
(*.f64 (sqrt.f64 x) (cbrt.f64 (*.f64 (*.f64 (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))))
0.3b
(-.f64 (+.f64 (*.f64 (*.f64 3 y) (sqrt.f64 x)) (/.f64 1/3 (sqrt.f64 x))) (*.f64 3 (sqrt.f64 x)))
1.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))) (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3)))) (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))))
Compiler

Compiled 3179 to 1879 computations (40.9% saved)

regimes846.0ms (25.3%)

Accuracy

Total 0.3b remaining (89.8%)

Threshold costs 0.3b (89.8%)

Counts
225 → 1
Compiler

Compiled 14192 to 10423 computations (26.6% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
distribute-rgt-neg-in_binary64
cancel-sign-sub-inv_binary64
distribute-lft-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01425
12725
23825
34125
44425
54525
64225

end1.0ms (0%)

Compiler

Compiled 18 to 12 computations (33.3% saved)

sample858.0ms (25.7%)

Algorithm
intervals
Results
499.0ms8000×body128valid
7.0ms133×body128nan
5.0ms74×body128invalid
Compiler

Compiled 231 to 174 computations (24.7% saved)

Profiling

Loading profile data...