Details

Time bar (total: 6.5s)

analyze55.0ms (0.8%)

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 (18%)

Results
920.0ms8256×body128valid
9.0ms90×body128invalid
Compiler

Compiled 50 to 41 computations (18% saved)

simplify35.0ms (0.5%)

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

prune3.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.2b
(-.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.1%)

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 1 (*.f64 x 9))
0.3b
(*.f64 3 (sqrt.f64 x))

series47.0ms (0.7%)

Counts
4 → 38
Calls

4 calls:

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

rewrite38.0ms (0.6%)

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:

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

simplify154.0ms (2.4%)

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

prune309.0ms (4.7%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2279236
Fresh011
Picked101
Done000
Total22810238
Error
0b
Counts
238 → 10
Alt Table
StatusErrorProgram
0.2b
(-.f64 (-.f64 1 (/.f64 (/.f64 1 x) 9)) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.2b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (*.f64 1/3 (*.f64 y (sqrt.f64 (/.f64 1 x)))))
0.3b
(-.f64 (-.f64 1 (*.f64 (/.f64 1 x) 1/9)) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x)))))
0.4b
(-.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.2b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 (/.f64 y 3) (sqrt.f64 x)))
0.3b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (/.f64 1/9 x)))
0.4b
(-.f64 (-.f64 1 (*.f64 (sqrt.f64 (/.f64 1/9 x)) (sqrt.f64 (/.f64 1/9 x)))) (/.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))))
17.9b
(-.f64 (-.f64 1 (cbrt.f64 (pow.f64 (/.f64 1/9 x) 3))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
Compiler

Compiled 6972 to 5051 computations (27.6% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series49.0ms (0.8%)

Counts
3 → 38
Calls

3 calls:

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

rewrite231.0ms (3.5%)

Algorithm
rewrite-expression-head
Rules
1227×times-frac_binary64
1089×*-un-lft-identity_binary64
1014×add-sqr-sqrt_binary64
746×add-cube-cbrt_binary64
616×prod-diff_binary64
Counts
3 → 879
Calls

3 calls:

45.0ms
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 (/.f64 y 3) (sqrt.f64 x)))
5.0ms
(/.f64 (/.f64 y 3) (sqrt.f64 x))
5.0ms
(-.f64 1 (/.f64 1 (*.f64 x 9)))

simplify897.0ms (13.7%)

Algorithm
egg-herbie
Rules
543×associate-*l/_binary64
292×distribute-neg-frac_binary64
264×associate-/l*_binary64
263×fma-udef_binary64
212×associate-/l/_binary64
Counts
917 → 823
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
080479307
1218241990
2497241990

prune1.3s (19.6%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New8640864
Fresh099
Picked011
Done000
Total86410874
Error
0b
Counts
874 → 10
Alt Table
StatusErrorProgram
0.2b
(-.f64 (-.f64 1 (/.f64 (/.f64 1 x) 9)) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.2b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (*.f64 1/3 (*.f64 y (sqrt.f64 (/.f64 1 x)))))
0.3b
(-.f64 (-.f64 1 (*.f64 (/.f64 1 x) 1/9)) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x)))))
0.4b
(-.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.2b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 (/.f64 y 3) (sqrt.f64 x)))
0.3b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (/.f64 1/9 x)))
0.4b
(-.f64 (-.f64 1 (*.f64 (sqrt.f64 (/.f64 1/9 x)) (sqrt.f64 (/.f64 1/9 x)))) (/.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))))
17.9b
(-.f64 (-.f64 1 (cbrt.f64 (pow.f64 (/.f64 1/9 x) 3))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
Compiler

Compiled 41973 to 27021 computations (35.6% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series28.0ms (0.4%)

Counts
3 → 0
Calls

3 calls:

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

rewrite18.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
3 → 88
Calls

3 calls:

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

simplify106.0ms (1.6%)

Algorithm
egg-herbie
Rules
460×associate-/l*_binary64
395×associate-*l*_binary64
354×*-commutative_binary64
326×associate-*l/_binary64
301×associate-/r*_binary64
Counts
88 → 99
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0921020
1154963
2403962
3939962
41338962
52435962
63031962
73633962
84923962
94922962

prune189.0ms (2.9%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1400140
Fresh088
Picked011
Done011
Total14010150
Error
0b
Counts
150 → 10
Alt Table
StatusErrorProgram
0.2b
(-.f64 (-.f64 1 (/.f64 (/.f64 1 x) 9)) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.2b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (*.f64 1/3 (*.f64 y (sqrt.f64 (/.f64 1 x)))))
0.3b
(-.f64 (-.f64 1 (*.f64 (/.f64 1 x) 1/9)) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x)))))
0.4b
(-.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.2b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 (/.f64 y 3) (sqrt.f64 x)))
0.3b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (/.f64 1/9 x)))
0.4b
(-.f64 (-.f64 1 (*.f64 (sqrt.f64 (/.f64 1/9 x)) (sqrt.f64 (/.f64 1/9 x)))) (/.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))))
17.9b
(-.f64 (-.f64 1 (cbrt.f64 (pow.f64 (/.f64 1/9 x) 3))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
Compiler

Compiled 3317 to 2661 computations (19.8% saved)

localize9.0ms (0.1%)

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

series22.0ms (0.3%)

Counts
2 → 26
Calls

2 calls:

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

rewrite98.0ms (1.5%)

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:

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

simplify301.0ms (4.6%)

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

prune959.0ms (14.7%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New5971598
Fresh167
Picked011
Done022
Total59810608
Error
0b
Counts
608 → 10
Alt Table
StatusErrorProgram
0.2b
(-.f64 (-.f64 1 (/.f64 (/.f64 1 x) 9)) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.2b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (*.f64 1/3 (*.f64 y (sqrt.f64 (/.f64 1 x)))))
0.4b
(-.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.2b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 (/.f64 y 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 1 (*.f64 x 9))) (/.f64 y (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x)))))
0.4b
(-.f64 (-.f64 1 (*.f64 (sqrt.f64 (/.f64 1/9 x)) (sqrt.f64 (/.f64 1/9 x)))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.3b
(-.f64 (-.f64 1 (/.f64 (/.f64 1/3 x) (sqrt.f64 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))))
17.9b
(-.f64 (-.f64 1 (cbrt.f64 (pow.f64 (/.f64 1/9 x) 3))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
Compiler

Compiled 23872 to 17788 computations (25.5% saved)

regimes350.0ms (5.4%)

Accuracy

Total 0.2b remaining (90.6%)

Threshold costs 0.2b (90.6%)

Counts
116 → 1
Compiler

Compiled 6314 to 5050 computations (20% saved)

simplify5.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
12021
23121
33921
44521
54821
64921
74721

end149.0ms (2.3%)

Compiler

Compiled 220 to 179 computations (18.6% saved)

Profiling

Loading profile data...