Details

Time bar (total: 13.6s)

analyze101.0ms (0.7%)

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%99.9%0.1%4
12.5%87.4%0.1%5
46.8%53.1%0.1%6
70.2%29.7%0.1%7
76.5%23.4%0.1%8
83.5%16.4%0.1%9
87%12.9%0.1%10
91.1%8.8%0.1%11
93.2%6.7%0.1%12
95.4%4.5%0.1%13
96.5%3.4%0.1%14
Compiler

Compiled 20 to 10 computations (50% saved)

sample928.0ms (6.8%)

Symmetry

(sort x y)

Results
811.0ms8256×body128valid
Compiler

Compiled 59 to 29 computations (50.8% saved)

simplify137.0ms (1%)

Algorithm
egg-herbie
Rules
985×associate-/l*_binary64
659×distribute-lft-out_binary64
601×*-commutative_binary64
469×distribute-rgt-out_binary64
356×fma-def_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01025
13925
213523
347423
4153623
5212223
6258923
7256723
8262023
9267723
10277023
11395623
12408823
13445423
14498323
15496823
16496123

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
20.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
20.0b
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1)))
20.0b
(/.f64 (*.f64 x y) (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))
Compiler

Compiled 109 to 47 computations (56.9% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3))
0.0b
(pow.f64 (+.f64 x y) 3)
19.8b
(/.f64 (*.f64 x y) (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))

series94.0ms (0.7%)

Counts
3 → 72
Calls

3 calls:

73.0ms
(/.f64 (*.f64 x y) (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))
13.0ms
(fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3))
8.0ms
(pow.f64 (+.f64 x y) 3)

rewrite10.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×*-un-lft-identity_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
3 → 62
Calls

3 calls:

3.0ms
(pow.f64 (+.f64 x y) 3)
3.0ms
(/.f64 (*.f64 x y) (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))
0.0ms
(fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3))

simplify155.0ms (1.1%)

Algorithm
egg-herbie
Rules
326×fma-def_binary64
301×times-frac_binary64
297×associate-+r+_binary64
257×associate-/l*_binary64
223×+-commutative_binary64
Counts
134 → 162
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03474819
110474272
247024260
349814260
449964260
549814260

prune167.0ms (1.2%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1566162
Fresh101
Picked101
Done000
Total1586164
Error
4.2b
Counts
164 → 6
Alt Table
StatusErrorProgram
20.0b
(/.f64 (*.f64 y x) (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))
41.2b
(/.f64 x (pow.f64 y 2))
40.2b
(/.f64 y (pow.f64 x 2))
32.8b
(*.f64 (/.f64 x (hypot.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 3/2))) (/.f64 y (hypot.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 3/2))))
31.2b
(*.f64 (/.f64 x (sqrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))) (/.f64 y (sqrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))))
22.2b
(/.f64 (*.f64 (/.f64 x (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))))) y) (cbrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3))))
Compiler

Compiled 5923 to 3134 computations (47.1% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3))
0.0b
(pow.f64 (+.f64 x y) 3)
19.8b
(/.f64 (*.f64 y x) (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))

series71.0ms (0.5%)

Counts
1 → 24
Calls

1 calls:

71.0ms
(/.f64 (*.f64 y x) (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))

rewrite4.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-cbrt-cube_binary64
add-exp-log_binary64
associate-/r*_binary64
*-un-lft-identity_binary64
times-frac_binary64
Counts
1 → 23
Calls

1 calls:

3.0ms
(/.f64 (*.f64 y x) (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))

simplify92.0ms (0.7%)

Algorithm
egg-herbie
Rules
301×times-frac_binary64
256×associate-/l*_binary64
215×sub-neg_binary64
214×associate-+r+_binary64
204×cancel-sign-sub-inv_binary64
Counts
47 → 72
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02753123
18322816
239052801
349602801
449782801

prune157.0ms (1.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1620162
Fresh055
Picked011
Done000
Total1626168
Error
4.2b
Counts
168 → 6
Alt Table
StatusErrorProgram
20.0b
(/.f64 (*.f64 y x) (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))
41.2b
(/.f64 x (pow.f64 y 2))
40.2b
(/.f64 y (pow.f64 x 2))
32.8b
(*.f64 (/.f64 x (hypot.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 3/2))) (/.f64 y (hypot.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 3/2))))
31.2b
(*.f64 (/.f64 x (sqrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))) (/.f64 y (sqrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))))
22.2b
(/.f64 (*.f64 (/.f64 x (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))))) y) (cbrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3))))
Compiler

Compiled 5915 to 3069 computations (48.1% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
13.5b
(+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))
13.7b
(/.f64 x (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2)))))
33.4b
(cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2)))
33.4b
(cbrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))

series3.1s (22.8%)

Counts
4 → 96
Calls

4 calls:

2.9s
(/.f64 x (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2)))))
87.0ms
(cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2)))
83.0ms
(cbrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))
15.0ms
(+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))

rewrite58.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
19×*-un-lft-identity_binary64
14×fma-def_binary64
14×cbrt-div_binary64
11×add-sqr-sqrt_binary64
11×add-cube-cbrt_binary64
Counts
4 → 92
Calls

4 calls:

27.0ms
(/.f64 x (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2)))))
12.0ms
(+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))
11.0ms
(cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2)))
1.0ms
(cbrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))

simplify234.0ms (1.7%)

Algorithm
egg-herbie
Rules
503×*-commutative_binary64
308×+-commutative_binary64
286×unswap-sqr_binary64
278×fma-def_binary64
268×associate-+r+_binary64
Counts
188 → 198
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0120215867
1391915519
2492915519

prune547.0ms (4%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2601261
Fresh044
Picked101
Done011
Total2616267
Error
4.2b
Counts
267 → 6
Alt Table
StatusErrorProgram
22.2b
(/.f64 (*.f64 (/.f64 x (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))) (*.f64 (cbrt.f64 (+.f64 y x)) (cbrt.f64 (+.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 2)))))) y) (cbrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3))))
31.2b
(*.f64 (/.f64 x (sqrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))) (/.f64 y (sqrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))))
20.0b
(/.f64 (*.f64 y x) (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))
41.2b
(/.f64 x (pow.f64 y 2))
40.2b
(/.f64 y (pow.f64 x 2))
32.8b
(*.f64 (/.f64 x (hypot.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 3/2))) (/.f64 y (hypot.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 3/2))))
Compiler

Compiled 25839 to 16224 computations (37.2% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
13.7b
(/.f64 x (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))) (*.f64 (cbrt.f64 (+.f64 y x)) (cbrt.f64 (+.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 2))))))
23.2b
(cbrt.f64 (+.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 2)))
33.4b
(cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2)))
33.4b
(cbrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))

series5.5s (40.5%)

Counts
2 → 48
Calls

2 calls:

5.4s
(/.f64 x (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))) (*.f64 (cbrt.f64 (+.f64 y x)) (cbrt.f64 (+.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 2))))))
70.0ms
(cbrt.f64 (+.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 2)))

rewrite52.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
56×cbrt-div_binary64
28×frac-times_binary64
28×flip-+_binary64
28×flip3-+_binary64
26×associate-/r/_binary64
Counts
2 → 71
Calls

2 calls:

28.0ms
(/.f64 x (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))) (*.f64 (cbrt.f64 (+.f64 y x)) (cbrt.f64 (+.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 2))))))
7.0ms
(cbrt.f64 (+.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 2)))

simplify227.0ms (1.7%)

Algorithm
egg-herbie
Rules
445×*-commutative_binary64
405×times-frac_binary64
296×+-commutative_binary64
274×fma-def_binary64
248×associate-+r+_binary64
Counts
119 → 188
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0134315061
1431714771
2508014771

prune683.0ms (5%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2602262
Fresh044
Picked101
Done011
Total2617268
Error
4.2b
Counts
268 → 7
Alt Table
StatusErrorProgram
20.0b
(/.f64 (*.f64 y x) (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))
41.2b
(/.f64 x (pow.f64 y 2))
40.2b
(/.f64 y (pow.f64 x 2))
10.8b
(/.f64 (*.f64 (/.f64 x (*.f64 (*.f64 (cbrt.f64 (+.f64 y x)) (cbrt.f64 (+.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 2)))) (*.f64 (cbrt.f64 (+.f64 y x)) (cbrt.f64 (+.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 2)))))) y) (cbrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3))))
32.8b
(*.f64 (/.f64 x (hypot.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 3/2))) (/.f64 y (hypot.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 3/2))))
31.2b
(*.f64 (/.f64 x (sqrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))) (/.f64 y (sqrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))))
22.2b
(/.f64 (*.f64 (/.f64 x (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 y x) 2))) (*.f64 (cbrt.f64 (+.f64 y x)) (cbrt.f64 (+.f64 (+.f64 y x) (pow.f64 (+.f64 y x) 2)))))) y) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3))) 1))
Compiler

Compiled 32249 to 18943 computations (41.3% saved)

regimes815.0ms (6%)

Accuracy

Total 2.0b remaining (29.1%)

Threshold costs 0b (0%)

Counts
135 → 3
Compiler

Compiled 13946 to 7448 computations (46.6% saved)

bsearch85.0ms (0.6%)

Steps
ItersRangePoint
8
-8.921777513528145e-161
-9.757783414731248e-164
-9.891408611722913e-164
7
-1.438875869995299e+100
-6.017776958423828e+97
-2.9269061851776803e+98
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038126
146126
245126

end309.0ms (2.3%)

Compiler

Compiled 535 to 265 computations (50.5% saved)

Profiling

Loading profile data...