Details

Time bar (total: 4.9s)

analyze57.0ms (1.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%50%50%2
0%50%50%3
25%25%50%4
25%25%50%5
31.2%18.7%50%6
34.3%15.6%50%7
39%10.9%50%8
40.6%8.6%50.8%9
42.9%5.9%51.2%10
43.7%4.5%51.8%11
44.9%3%52.1%12
45.3%2.3%52.4%13
45.9%1.5%52.6%14
Compiler

Compiled 17 to 14 computations (17.6% saved)

sample1.2s (24.7%)

Results
952.0ms8256×body128valid
15.0ms106×body128invalid
Compiler

Compiled 50 to 41 computations (18% saved)

simplify33.0ms (0.7%)

Algorithm
egg-herbie
Rules
474×fma-neg_binary64
309×fma-def_binary64
228×cancel-sign-sub-inv_binary64
83×associate-/l*_binary64
72×distribute-rgt-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01321
12718
25618
311218
420116
533916
660816
785616
889216
990716
1093016
1183716

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.3b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (/.f64 1/9 x)))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
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 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.2b
(/.f64 y (*.f64 3 (sqrt.f64 x)))
0.3b
(*.f64 3 (sqrt.f64 x))
0.7b
(/.f64 1 (*.f64 x 9))

series57.0ms (1.2%)

Counts
4 → 38
Calls

4 calls:

25.0ms
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
22.0ms
(/.f64 y (*.f64 3 (sqrt.f64 x)))
8.0ms
(*.f64 3 (sqrt.f64 x))
1.0ms
(/.f64 1 (*.f64 x 9))

rewrite41.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
89×*-un-lft-identity_binary64
80×add-sqr-sqrt_binary64
70×prod-diff_binary64
50×add-cube-cbrt_binary64
42×times-frac_binary64
Counts
4 → 190
Calls

4 calls:

17.0ms
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
3.0ms
(/.f64 y (*.f64 3 (sqrt.f64 x)))
3.0ms
(*.f64 3 (sqrt.f64 x))
3.0ms
(/.f64 1 (*.f64 x 9))

simplify157.0ms (3.2%)

Algorithm
egg-herbie
Rules
834×fma-def_binary64
276×fma-neg_binary64
266×exp-prod_binary64
243×cancel-sign-sub-inv_binary64
236×distribute-rgt-in_binary64
Counts
228 → 236
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02715841
16093520
218622992
343542992
448592992
547692992

prune298.0ms (6.1%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2279236
Fresh011
Picked101
Done000
Total22810238
Error
0.0b
Counts
238 → 10
Alt Table
StatusErrorProgram
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 (sqrt.f64 (*.f64 3 (sqrt.f64 x))) (sqrt.f64 (*.f64 3 (sqrt.f64 x))))))
0.3b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (/.f64 1/9 x)))
0.2b
(-.f64 (-.f64 1 (/.f64 (/.f64 1 x) 9)) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.5b
(-.f64 (-.f64 1 (*.f64 (*.f64 (cbrt.f64 (/.f64 1/9 x)) (cbrt.f64 (/.f64 1/9 x))) (cbrt.f64 (/.f64 1/9 x)))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (*.f64 y (/.f64 1 (*.f64 3 (sqrt.f64 x)))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 1 (/.f64 3 (/.f64 y (sqrt.f64 x)))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 1 (/.f64 (*.f64 3 (sqrt.f64 x)) y)))
0.3b
(-.f64 1 (+.f64 (*.f64 1/9 (/.f64 1 x)) (*.f64 1/3 (*.f64 y (sqrt.f64 (/.f64 1 x))))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x)))))
0.4b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 (sqrt.f64 3) (*.f64 (sqrt.f64 3) (sqrt.f64 x)))))
Compiler

Compiled 6978 to 5053 computations (27.6% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series25.0ms (0.5%)

Counts
2 → 26
Calls

2 calls:

23.0ms
(-.f64 (-.f64 1 (/.f64 (/.f64 1 x) 9)) (/.f64 y (*.f64 3 (sqrt.f64 x))))
1.0ms
(/.f64 (/.f64 1 x) 9)

rewrite94.0ms (1.9%)

Algorithm
rewrite-expression-head
Rules
458×times-frac_binary64
423×add-sqr-sqrt_binary64
330×*-un-lft-identity_binary64
261×add-cube-cbrt_binary64
213×prod-diff_binary64
Counts
2 → 370
Calls

2 calls:

29.0ms
(-.f64 (-.f64 1 (/.f64 (/.f64 1 x) 9)) (/.f64 y (*.f64 3 (sqrt.f64 x))))
4.0ms
(/.f64 (/.f64 1 x) 9)

simplify282.0ms (5.8%)

Algorithm
egg-herbie
Rules
957×fma-neg_binary64
780×times-frac_binary64
216×associate-*r/_binary64
196×associate-*l/_binary64
179×*-commutative_binary64
Counts
396 → 542
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
037814432
19769574
226738625
344038501
448778501

prune1.1s (22.7%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New5944598
Fresh279
Picked101
Done000
Total59711608
Error
0b
Counts
608 → 11
Alt Table
StatusErrorProgram
0.6b
(+.f64 1 (fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (/.f64 (neg.f64 (/.f64 1/9 (cbrt.f64 x))) (*.f64 (cbrt.f64 x) (cbrt.f64 x)))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 1 (/.f64 3 (/.f64 y (sqrt.f64 x)))))
0.2b
(-.f64 (-.f64 1 (/.f64 (/.f64 1 x) 9)) (*.f64 y (/.f64 1 (*.f64 3 (sqrt.f64 x)))))
0.3b
(-.f64 1 (+.f64 (*.f64 1/9 (/.f64 1 x)) (*.f64 1/3 (*.f64 y (sqrt.f64 (/.f64 1 x))))))
0.6b
(-.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 (cbrt.f64 (/.f64 1 x)) (cbrt.f64 (/.f64 1 x))) 3) (/.f64 (cbrt.f64 (/.f64 1 x)) 3))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 (sqrt.f64 (*.f64 3 (sqrt.f64 x))) (sqrt.f64 (*.f64 3 (sqrt.f64 x))))))
0.3b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (/.f64 1/9 x)))
0.3b
(-.f64 (-.f64 1 (/.f64 (/.f64 1 (sqrt.f64 x)) (*.f64 9 (sqrt.f64 x)))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 1 (/.f64 (*.f64 3 (sqrt.f64 x)) y)))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x)))))
0.4b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 (sqrt.f64 3) (*.f64 (sqrt.f64 3) (sqrt.f64 x)))))
Compiler

Compiled 24122 to 17979 computations (25.5% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series37.0ms (0.8%)

Counts
2 → 12
Calls

2 calls:

23.0ms
(*.f64 y (/.f64 1 (*.f64 3 (sqrt.f64 x))))
14.0ms
(/.f64 1 (*.f64 3 (sqrt.f64 x)))

rewrite13.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
32×add-exp-log_binary64
16×add-cbrt-cube_binary64
13×prod-exp_binary64
add-sqr-sqrt_binary64
div-exp_binary64
Counts
2 → 64
Calls

2 calls:

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

simplify125.0ms (2.6%)

Algorithm
egg-herbie
Rules
910×fma-def_binary64
467×sqr-pow_binary64
460×fabs-mul_binary64
445×associate-/r/_binary64
368×fma-neg_binary64
Counts
76 → 91
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
082808
1166693
2484692
31662692
42027692
52266692
62704692
73328692
83893692
94678692
104935692

prune295.0ms (6%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2152217
Fresh3710
Picked101
Done000
Total2199228
Error
0b
Counts
228 → 9
Alt Table
StatusErrorProgram
0.3b
(-.f64 (-.f64 1 (/.f64 (/.f64 1 (sqrt.f64 x)) (*.f64 9 (sqrt.f64 x)))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.3b
(-.f64 (-.f64 1 (/.f64 (/.f64 1 x) 9)) (*.f64 (*.f64 1/3 y) (/.f64 1 (sqrt.f64 x))))
0.6b
(-.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 (cbrt.f64 (/.f64 1 x)) (cbrt.f64 (/.f64 1 x))) 3) (/.f64 (cbrt.f64 (/.f64 1 x)) 3))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.3b
(-.f64 (-.f64 1 (/.f64 1/9 x)) (*.f64 y (/.f64 1 (*.f64 3 (sqrt.f64 x)))))
0.6b
(+.f64 1 (fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (/.f64 (neg.f64 (/.f64 1/9 (cbrt.f64 x))) (*.f64 (cbrt.f64 x) (cbrt.f64 x)))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 1 (/.f64 (*.f64 3 (sqrt.f64 x)) y)))
0.3b
(-.f64 1 (+.f64 (*.f64 1/9 (/.f64 1 x)) (*.f64 1/3 (*.f64 y (sqrt.f64 (/.f64 1 x))))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x)))))
0.4b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 (sqrt.f64 3) (*.f64 (sqrt.f64 3) (sqrt.f64 x)))))
Compiler

Compiled 5147 to 3862 computations (25% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series37.0ms (0.7%)

Counts
3 → 12
Calls

3 calls:

23.0ms
(*.f64 (*.f64 1/3 y) (/.f64 1 (sqrt.f64 x)))
12.0ms
(/.f64 1 (sqrt.f64 x))
1.0ms
(*.f64 1/3 y)

rewrite19.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
36×times-frac_binary64
35×add-sqr-sqrt_binary64
33×*-un-lft-identity_binary64
33×add-cube-cbrt_binary64
31×add-exp-log_binary64
Counts
3 → 116
Calls

3 calls:

8.0ms
(*.f64 (*.f64 1/3 y) (/.f64 1 (sqrt.f64 x)))
3.0ms
(/.f64 1 (sqrt.f64 x))
2.0ms
(*.f64 1/3 y)

simplify97.0ms (2%)

Algorithm
egg-herbie
Rules
658×associate-/l*_binary64
568×times-frac_binary64
506×fma-def_binary64
412×associate-*l/_binary64
394×fma-neg_binary64
Counts
128 → 145
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01111351
12111215
25841214
311251171
429571171
531351171
636471171
751381171

prune307.0ms (6.3%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2460246
Fresh088
Picked011
Done000
Total2469255
Error
0b
Counts
255 → 9
Alt Table
StatusErrorProgram
0.3b
(-.f64 (-.f64 1 (/.f64 (/.f64 1 (sqrt.f64 x)) (*.f64 9 (sqrt.f64 x)))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.3b
(-.f64 (-.f64 1 (/.f64 (/.f64 1 x) 9)) (*.f64 (*.f64 1/3 y) (/.f64 1 (sqrt.f64 x))))
0.6b
(-.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 (cbrt.f64 (/.f64 1 x)) (cbrt.f64 (/.f64 1 x))) 3) (/.f64 (cbrt.f64 (/.f64 1 x)) 3))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.3b
(-.f64 (-.f64 1 (/.f64 1/9 x)) (*.f64 y (/.f64 1 (*.f64 3 (sqrt.f64 x)))))
0.6b
(+.f64 1 (fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (/.f64 (neg.f64 (/.f64 1/9 (cbrt.f64 x))) (*.f64 (cbrt.f64 x) (cbrt.f64 x)))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 1 (/.f64 (*.f64 3 (sqrt.f64 x)) y)))
0.3b
(-.f64 1 (+.f64 (*.f64 1/9 (/.f64 1 x)) (*.f64 1/3 (*.f64 y (sqrt.f64 (/.f64 1 x))))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x)))))
0.4b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 (sqrt.f64 3) (*.f64 (sqrt.f64 3) (sqrt.f64 x)))))
Compiler

Compiled 5727 to 4225 computations (26.2% saved)

regimes417.0ms (8.5%)

Accuracy

Total 0.2b remaining (93%)

Threshold costs 0.2b (93%)

Counts
142 → 1
Compiler

Compiled 8033 to 6511 computations (18.9% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01321
11921
23021
34221
45021
55421
65521
75321

end142.0ms (2.9%)

Compiler

Compiled 213 to 168 computations (21.1% saved)

Profiling

Loading profile data...