Details

Time bar (total: 4.3s)

analyze69.0ms (1.6%)

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)

sample1.1s (25.5%)

Results
947.0ms8256×body128valid
19.0ms191×body128invalid
Compiler

Compiled 50 to 41 computations (18% saved)

simplify181.0ms (4.2%)

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

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

Compiled 85 to 66 computations (22.4% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series44.0ms (1%)

Counts
4 → 48
Calls

4 calls:

27.0ms
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
10.0ms
(*.f64 3 (sqrt.f64 x))
4.0ms
(+.f64 y (/.f64 1 (*.f64 x 9)))
2.0ms
(/.f64 1 (*.f64 x 9))

rewrite33.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
58×*-un-lft-identity_binary64
37×add-sqr-sqrt_binary64
30×prod-diff_binary64
29×add-cube-cbrt_binary64
22×add-exp-log_binary64
Counts
4 → 140
Calls

4 calls:

14.0ms
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
4.0ms
(*.f64 3 (sqrt.f64 x))
4.0ms
(+.f64 y (/.f64 1 (*.f64 x 9)))
3.0ms
(/.f64 1 (*.f64 x 9))

simplify78.0ms (1.8%)

Algorithm
egg-herbie
Rules
625×times-frac_binary64
456×distribute-rgt-in_binary64
422×distribute-lft-in_binary64
305×fma-def_binary64
289×associate-/l*_binary64
Counts
188 → 171
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01742841
14122251
212412225
350982225

prune193.0ms (4.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New16110171
Fresh101
Picked101
Done000
Total16310173
Error
0.0b
Counts
173 → 10
Alt Table
StatusErrorProgram
0.9b
(*.f64 (*.f64 (*.f64 3 (fabs.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.3b
(fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (*.f64 1/3 (sqrt.f64 (/.f64 1 x))))
0.4b
(*.f64 3 (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
1.4b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (+.f64 (-.f64 (/.f64 1/9 x) 1) y))) (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (+.f64 (-.f64 (/.f64 1/9 x) 1) y)))) (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (+.f64 (-.f64 (/.f64 1/9 x) 1) y))))
0.6b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
1.4b
(*.f64 (*.f64 (*.f64 3 (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 (sqrt.f64 x)))) (cbrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.7b
(*.f64 (*.f64 (sqrt.f64 3) (*.f64 (sqrt.f64 3) (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.9b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (*.f64 (cbrt.f64 (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)) (cbrt.f64 (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))) (cbrt.f64 (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
0.7b
(*.f64 (*.f64 (sqrt.f64 (*.f64 3 (sqrt.f64 x))) (sqrt.f64 (*.f64 3 (sqrt.f64 x)))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (*.f64 (sqrt.f64 (/.f64 1 (*.f64 x 9))) (sqrt.f64 (/.f64 1 (*.f64 x 9))))) 1))
Compiler

Compiled 4363 to 3288 computations (24.6% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series37.0ms (0.9%)

Counts
4 → 24
Calls

4 calls:

24.0ms
(fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (*.f64 1/3 (sqrt.f64 (/.f64 1 x))))
6.0ms
(*.f64 1/3 (sqrt.f64 (/.f64 1 x)))
5.0ms
(sqrt.f64 (/.f64 1 x))
2.0ms
(fma.f64 3 y -3)

rewrite11.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
33×add-sqr-sqrt_binary64
29×sqrt-prod_binary64
22×times-frac_binary64
22×*-un-lft-identity_binary64
20×add-cube-cbrt_binary64
Counts
4 → 87
Calls

4 calls:

5.0ms
(*.f64 1/3 (sqrt.f64 (/.f64 1 x)))
2.0ms
(sqrt.f64 (/.f64 1 x))
0.0ms
(fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (*.f64 1/3 (sqrt.f64 (/.f64 1 x))))
0.0ms
(fma.f64 3 y -3)

simplify72.0ms (1.7%)

Algorithm
egg-herbie
Rules
853×associate-+l+_binary64
393×distribute-lft-in_binary64
393×distribute-rgt-in_binary64
288×associate-*l*_binary64
263×distribute-rgt-out_binary64
Counts
111 → 116
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01021378
11551248
22651247
35741247
421811247
553731247

prune146.0ms (3.4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1133116
Fresh369
Picked011
Done000
Total11610126
Error
0b
Counts
126 → 10
Alt Table
StatusErrorProgram
20.7b
(fma.f64 (sqrt.f64 x) (cbrt.f64 (pow.f64 (fma.f64 3 y -3) 3)) (*.f64 1/3 (sqrt.f64 (/.f64 1 x))))
0.6b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.3b
(fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (/.f64 1/3 (sqrt.f64 x)))
0.7b
(*.f64 (*.f64 (sqrt.f64 3) (*.f64 (sqrt.f64 3) (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(*.f64 3 (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
1.4b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (+.f64 (-.f64 (/.f64 1/9 x) 1) y))) (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (+.f64 (-.f64 (/.f64 1/9 x) 1) y)))) (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (+.f64 (-.f64 (/.f64 1/9 x) 1) y))))
0.3b
(fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (*.f64 1/3 (sqrt.f64 (/.f64 1 x))))
0.4b
(fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (*.f64 (*.f64 1/3 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 x) (cbrt.f64 x))))) (sqrt.f64 (/.f64 1 (cbrt.f64 x)))))
0.9b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (*.f64 (cbrt.f64 (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)) (cbrt.f64 (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))) (cbrt.f64 (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
0.7b
(*.f64 (*.f64 (sqrt.f64 (*.f64 3 (sqrt.f64 x))) (sqrt.f64 (*.f64 3 (sqrt.f64 x)))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
Compiler

Compiled 2611 to 1904 computations (27.1% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 3 y -3)
0.2b
(fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (/.f64 1/3 (sqrt.f64 x)))
0.3b
(/.f64 1/3 (sqrt.f64 x))

series40.0ms (0.9%)

Counts
2 → 12
Calls

2 calls:

27.0ms
(fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (/.f64 1/3 (sqrt.f64 x)))
13.0ms
(/.f64 1/3 (sqrt.f64 x))

rewrite5.0ms (0.1%)

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

2 calls:

3.0ms
(/.f64 1/3 (sqrt.f64 x))
0.0ms
(fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (/.f64 1/3 (sqrt.f64 x)))

simplify89.0ms (2.1%)

Algorithm
egg-herbie
Rules
708×div-sub_binary64
349×distribute-rgt-out_binary64
299×associate-+r+_binary64
280×associate-+l+_binary64
257×*-commutative_binary64
Counts
63 → 64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0941035
1149911
2259911
3460911
41411911
52863911
64652911
75715911

prune86.0ms (2%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New76379
Fresh358
Picked101
Done101
Total81889
Error
0b
Counts
89 → 8
Alt Table
StatusErrorProgram
0.6b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (/.f64 (/.f64 1/3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))))
0.7b
(*.f64 (*.f64 (sqrt.f64 3) (*.f64 (sqrt.f64 3) (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.9b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (*.f64 (cbrt.f64 (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)) (cbrt.f64 (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))) (cbrt.f64 (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
0.4b
(*.f64 3 (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
0.7b
(*.f64 (*.f64 (sqrt.f64 (*.f64 3 (sqrt.f64 x))) (sqrt.f64 (*.f64 3 (sqrt.f64 x)))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
20.7b
(fma.f64 (sqrt.f64 x) (cbrt.f64 (pow.f64 (fma.f64 3 y -3) 3)) (/.f64 1/3 (sqrt.f64 x)))
1.3b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (/.f64 1/3 (sqrt.f64 x)))) (cbrt.f64 (fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (/.f64 1/3 (sqrt.f64 x))))) (cbrt.f64 (fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (/.f64 1/3 (sqrt.f64 x)))))
Compiler

Compiled 1685 to 1070 computations (36.5% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series77.0ms (1.8%)

Counts
4 → 28
Calls

4 calls:

24.0ms
(fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (/.f64 (/.f64 1/3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))))
24.0ms
(/.f64 1/3 (sqrt.f64 (sqrt.f64 x)))
17.0ms
(sqrt.f64 (sqrt.f64 x))
13.0ms
(/.f64 (/.f64 1/3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x)))

rewrite70.0ms (1.6%)

Algorithm
rewrite-expression-head
Rules
604×sqrt-prod_binary64
576×times-frac_binary64
316×add-sqr-sqrt_binary64
314×*-un-lft-identity_binary64
314×add-cube-cbrt_binary64
Counts
4 → 420
Calls

4 calls:

11.0ms
(/.f64 (/.f64 1/3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x)))
3.0ms
(/.f64 1/3 (sqrt.f64 (sqrt.f64 x)))
1.0ms
(sqrt.f64 (sqrt.f64 x))
0.0ms
(fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (/.f64 (/.f64 1/3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))))

simplify417.0ms (9.7%)

Algorithm
egg-herbie
Rules
605×associate-/l/_binary64
420×*-commutative_binary64
359×times-frac_binary64
329×associate-/r*_binary64
274×fma-neg_binary64
Counts
448 → 419
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
032311984
165311524
2111510916
3241010808
4374210793
5489210793
6491410793

prune460.0ms (10.7%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New4410441
Fresh077
Picked011
Done000
Total4418449
Error
0b
Counts
449 → 8
Alt Table
StatusErrorProgram
0.6b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (/.f64 (/.f64 1/3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))))
0.7b
(*.f64 (*.f64 (sqrt.f64 3) (*.f64 (sqrt.f64 3) (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.9b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (*.f64 (cbrt.f64 (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)) (cbrt.f64 (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))) (cbrt.f64 (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
0.4b
(*.f64 3 (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
0.7b
(*.f64 (*.f64 (sqrt.f64 (*.f64 3 (sqrt.f64 x))) (sqrt.f64 (*.f64 3 (sqrt.f64 x)))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
20.7b
(fma.f64 (sqrt.f64 x) (cbrt.f64 (pow.f64 (fma.f64 3 y -3) 3)) (/.f64 1/3 (sqrt.f64 x)))
1.3b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (/.f64 1/3 (sqrt.f64 x)))) (cbrt.f64 (fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (/.f64 1/3 (sqrt.f64 x))))) (cbrt.f64 (fma.f64 (sqrt.f64 x) (fma.f64 3 y -3) (/.f64 1/3 (sqrt.f64 x)))))
Compiler

Compiled 12086 to 5720 computations (52.7% saved)

regimes927.0ms (21.5%)

Accuracy

Total 0.4b remaining (91.8%)

Threshold costs 0.4b (91.8%)

Counts
245 → 1
Compiler

Compiled 17631 to 12761 computations (27.6% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01016
11016

end134.0ms (3.1%)

Compiler

Compiled 219 to 162 computations (26% saved)

Profiling

Loading profile data...