Details

Time bar (total: 13.2s)

analyze1.7s (13.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%99.7%0.3%5
0%99.7%0.3%6
0%99.7%0.3%7
0%99.7%0.3%8
0%99.7%0.3%9
0%99.7%0.3%10
0%99.7%0.3%11
0%99.7%0.3%12
1.6%98.1%0.3%13
2.3%97.4%0.3%14
Compiler

Compiled 22 to 14 computations (36.4% saved)

sample1.9s (14.4%)

Results
1.2s8256×body128valid
595.0ms3979×body128invalid
Compiler

Compiled 65 to 41 computations (36.9% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
89×fma-def_binary64
24×associate-+l+_binary64
22×associate-+r+_binary64
19×+-commutative_binary64
10×*-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01422
12716
26615
312213
415713
516413
616713
716713

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
3.1b
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
2.1b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 105 to 60 computations (42.9% saved)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 y z))
0.0b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
4.6b
(*.f64 (*.f64 a z) b)

series44.0ms (0.3%)

Counts
3 → 144
Calls

3 calls:

27.0ms
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
9.0ms
(+.f64 x (*.f64 y z))
8.0ms
(*.f64 (*.f64 a z) b)

rewrite15.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
14×add-log-exp_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
pow1_binary64
sum-log_binary64
Counts
3 → 55
Calls

3 calls:

6.0ms
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
4.0ms
(*.f64 (*.f64 a z) b)
2.0ms
(+.f64 x (*.f64 y z))

simplify87.0ms (0.7%)

Algorithm
egg-herbie
Rules
644×distribute-rgt-in_binary64
620×distribute-lft-in_binary64
604×fma-def_binary64
535×fma-neg_binary64
210×associate-+l+_binary64
Counts
199 → 104
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01172151
13391861
212371850
347361850
451131850

prune75.0ms (0.6%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New995104
Fresh011
Picked011
Done000
Total997106
Error
0b
Counts
106 → 7
Alt Table
StatusErrorProgram
3.3b
(*.f64 (*.f64 (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
3.1b
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
17.9b
(fma.f64 z (fma.f64 a b y) x)
46.3b
(/.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 z b)) 3) (pow.f64 (fma.f64 z y (fma.f64 a t x)) 3)) (fma.f64 a (*.f64 (*.f64 z b) (*.f64 a (*.f64 z b))) (*.f64 (fma.f64 z y (fma.f64 a t x)) (fma.f64 a (-.f64 t (*.f64 z b)) (fma.f64 z y x)))))
2.1b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
21.1b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (sqrt.f64 (*.f64 a (*.f64 z b))) (sqrt.f64 (*.f64 a (*.f64 z b)))))
3.2b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) (cbrt.f64 (*.f64 a (*.f64 z b)))) (cbrt.f64 (*.f64 a (*.f64 z b)))))
Compiler

Compiled 2386 to 532 computations (77.7% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
2.9b
(fma.f64 a (fma.f64 z b t) x)

series40.0ms (0.3%)

Counts
2 → 132
Calls

2 calls:

23.0ms
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
17.0ms
(fma.f64 a (fma.f64 z b t) x)

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
2 → 20
Calls

2 calls:

0.0ms
(fma.f64 a (fma.f64 z b t) x)
0.0ms
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))

simplify53.0ms (0.4%)

Algorithm
egg-herbie
Rules
739×associate-+l+_binary64
732×associate-+r+_binary64
701×fma-def_binary64
559×associate-*l*_binary64
480×associate-*r*_binary64
Counts
152 → 66
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0551737
1971579
22491579
310631579
457211579

prune57.0ms (0.4%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New66066
Fresh055
Picked011
Done011
Total66773
Error
0b
Counts
73 → 7
Alt Table
StatusErrorProgram
3.3b
(*.f64 (*.f64 (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
3.1b
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
17.9b
(fma.f64 z (fma.f64 a b y) x)
46.3b
(/.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 z b)) 3) (pow.f64 (fma.f64 z y (fma.f64 a t x)) 3)) (fma.f64 a (*.f64 (*.f64 z b) (*.f64 a (*.f64 z b))) (*.f64 (fma.f64 z y (fma.f64 a t x)) (fma.f64 a (-.f64 t (*.f64 z b)) (fma.f64 z y x)))))
2.1b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
21.1b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (sqrt.f64 (*.f64 a (*.f64 z b))) (sqrt.f64 (*.f64 a (*.f64 z b)))))
3.2b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) (cbrt.f64 (*.f64 a (*.f64 z b)))) (cbrt.f64 (*.f64 a (*.f64 z b)))))
Compiler

Compiled 1266 to 334 computations (73.6% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) (cbrt.f64 (*.f64 a (*.f64 z b)))) (cbrt.f64 (*.f64 a (*.f64 z b))))
0.5b
(*.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) (cbrt.f64 (*.f64 a (*.f64 z b))))
5.9b
(*.f64 a (*.f64 z b))
13.3b
(cbrt.f64 (*.f64 a (*.f64 z b)))

series2.2s (16.7%)

Counts
4 → 124
Calls

4 calls:

1.4s
(*.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) (cbrt.f64 (*.f64 a (*.f64 z b))))
723.0ms
(cbrt.f64 (*.f64 a (*.f64 z b)))
50.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) (cbrt.f64 (*.f64 a (*.f64 z b)))) (cbrt.f64 (*.f64 a (*.f64 z b))))
11.0ms
(*.f64 a (*.f64 z b))

rewrite24.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
35×pow1_binary64
16×add-exp-log_binary64
16×pow1/3_binary64
13×add-sqr-sqrt_binary64
11×pow-prod-up_binary64
Counts
4 → 99
Calls

4 calls:

7.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) (cbrt.f64 (*.f64 a (*.f64 z b)))) (cbrt.f64 (*.f64 a (*.f64 z b))))
6.0ms
(*.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) (cbrt.f64 (*.f64 a (*.f64 z b))))
4.0ms
(*.f64 a (*.f64 z b))
2.0ms
(cbrt.f64 (*.f64 a (*.f64 z b)))

simplify167.0ms (1.3%)

Algorithm
egg-herbie
Rules
540×exp-prod_binary64
427×exp-diff_binary64
393×fma-neg_binary64
361×*-commutative_binary64
355×exp-sum_binary64
Counts
223 → 134
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01963303
14293058
210552635
326742383
444492227
548692227
643232220
750872220

prune210.0ms (1.6%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New2291230
Fresh134
Picked011
Done022
Total2307237
Error
0b
Counts
237 → 7
Alt Table
StatusErrorProgram
21.2b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) (cbrt.f64 (*.f64 a (*.f64 z b)))) (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 a (*.f64 z b)))) (sqrt.f64 (cbrt.f64 (*.f64 a (*.f64 z b)))))))
3.3b
(*.f64 (*.f64 (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
3.1b
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
17.9b
(fma.f64 z (fma.f64 a b y) x)
2.1b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
21.1b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (sqrt.f64 (*.f64 a (*.f64 z b))) (sqrt.f64 (*.f64 a (*.f64 z b)))))
3.2b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) (cbrt.f64 (*.f64 a (*.f64 z b)))) (cbrt.f64 (*.f64 a (*.f64 z b)))))
Compiler

Compiled 8352 to 1440 computations (82.8% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
0.5b
(*.f64 (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
0.6b
(cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)))
4.6b
(*.f64 (*.f64 a z) b)

series3.8s (28.7%)

Counts
3 → 216
Calls

3 calls:

3.1s
(*.f64 (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
632.0ms
(cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)))
35.0ms
(*.f64 (*.f64 (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))

rewrite108.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
68×cbrt-div_binary64
34×flip-+_binary64
34×flip3-+_binary64
32×frac-times_binary64
29×pow1_binary64
Counts
3 → 129
Calls

3 calls:

26.0ms
(*.f64 (*.f64 (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
16.0ms
(*.f64 (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
6.0ms
(cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)))

simplify487.0ms (3.7%)

Algorithm
egg-herbie
Counts
345 → 274
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0518977142

prune1.4s (10.2%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New5320532
Fresh033
Picked011
Done033
Total5327539
Error
0b
Counts
539 → 7
Alt Table
StatusErrorProgram
21.2b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) (cbrt.f64 (*.f64 a (*.f64 z b)))) (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 a (*.f64 z b)))) (sqrt.f64 (cbrt.f64 (*.f64 a (*.f64 z b)))))))
3.3b
(*.f64 (*.f64 (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)))) (cbrt.f64 (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
3.1b
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
17.9b
(fma.f64 z (fma.f64 a b y) x)
2.1b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
21.1b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (sqrt.f64 (*.f64 a (*.f64 z b))) (sqrt.f64 (*.f64 a (*.f64 z b)))))
3.2b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) (cbrt.f64 (*.f64 a (*.f64 z b)))) (cbrt.f64 (*.f64 a (*.f64 z b)))))
Compiler

Compiled 91670 to 44196 computations (51.8% saved)

regimes547.0ms (4.1%)

Accuracy

Total 0.5b remaining (98%)

Threshold costs 0.5b (98%)

Counts
57 → 3
Compiler

Compiled 9890 to 5211 computations (47.3% saved)

bsearch36.0ms (0.3%)

Steps
ItersRangePoint
6
6.877637058708764e+123
3.088824947573861e+124
7.145324265213525e+123
3
-2.6607245361940163e+57
-1.040784229510417e+34
-9.112644010531083e+36
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify6.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02469
13169
23169

end189.0ms (1.4%)

Compiler

Compiled 324 to 139 computations (57.1% saved)

Profiling

Loading profile data...