Details

Time bar (total: 4.3s)

analyze236.0ms (5.5%)

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
0%99.9%0.1%5
25%74.9%0.1%6
34.3%40.6%25.1%7
35.9%39%25.1%8
42.1%32.8%25.1%9
42.9%19.5%37.6%10
43.3%19.1%37.6%11
45%17.5%37.6%12
45.1%10.3%44.6%13
45.2%10.2%44.6%14
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample1.1s (26.1%)

Results
928.0ms8256×body128valid
154.0ms1488×body128invalid
Compiler

Compiled 41 to 32 computations (22% saved)

simplify7.0ms (0.2%)

Algorithm
egg-herbie
Rules
10×*-commutative_binary64
10×fma-def_binary64
associate-*r*_binary64
associate-*l*_binary64
distribute-lft-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01212
12310
23510
34110
43910

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.1b
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
0.1b
(*.f64 1/2 (fma.f64 y (sqrt.f64 z) x))
Compiler

Compiled 66 to 47 computations (28.8% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y (sqrt.f64 z) x)

series12.0ms (0.3%)

Counts
1 → 25
Calls

1 calls:

12.0ms
(fma.f64 y (sqrt.f64 z) 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
1 → 10
Calls

1 calls:

0.0ms
(fma.f64 y (sqrt.f64 z) x)

simplify89.0ms (2.1%)

Algorithm
egg-herbie
Rules
642×distribute-rgt-in_binary64
492×distribute-lft-in_binary64
436×distribute-rgt-out_binary64
421×associate-*l*_binary64
413×*-commutative_binary64
Counts
35 → 15
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
018262
120247
243247
3104247
4281247
5915247
61563247
72177247
82401247
93023247
103557247
114430247
124903247

prune14.0ms (0.3%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New11415
Fresh101
Picked101
Done000
Total13417
Error
0.1b
Counts
17 → 4
Alt Table
StatusErrorProgram
29.6b
(*.f64 1/2 (*.f64 (sqrt.f64 (fma.f64 y (sqrt.f64 z) x)) (sqrt.f64 (fma.f64 y (sqrt.f64 z) x))))
1.4b
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))
39.4b
(*.f64 1/2 (cbrt.f64 (*.f64 (*.f64 (fma.f64 y (sqrt.f64 z) x) (fma.f64 y (sqrt.f64 z) x)) (fma.f64 y (sqrt.f64 z) x))))
0.1b
(*.f64 1/2 (*.f64 1 (fma.f64 y (sqrt.f64 z) x)))
Compiler

Compiled 312 to 137 computations (56.1% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y (sqrt.f64 z) x)

prune13.0ms (0.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New15015
Fresh033
Picked011
Done000
Total15419
Error
0.1b
Counts
19 → 4
Alt Table
StatusErrorProgram
29.6b
(*.f64 1/2 (*.f64 (sqrt.f64 (fma.f64 y (sqrt.f64 z) x)) (sqrt.f64 (fma.f64 y (sqrt.f64 z) x))))
1.4b
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))
39.4b
(*.f64 1/2 (cbrt.f64 (*.f64 (*.f64 (fma.f64 y (sqrt.f64 z) x) (fma.f64 y (sqrt.f64 z) x)) (fma.f64 y (sqrt.f64 z) x))))
0.1b
(*.f64 1/2 (*.f64 1 (fma.f64 y (sqrt.f64 z) x)))
Compiler

Compiled 330 to 158 computations (52.1% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y (sqrt.f64 z) x)
0.3b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))
0.5b
(*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))
0.5b
(cbrt.f64 (fma.f64 y (sqrt.f64 z) x))

series289.0ms (6.8%)

Counts
3 → 75
Calls

3 calls:

201.0ms
(*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))
74.0ms
(cbrt.f64 (fma.f64 y (sqrt.f64 z) x))
14.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))

rewrite18.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
29×pow1_binary64
24×add-sqr-sqrt_binary64
23×cbrt-prod_binary64
16×pow1/3_binary64
14×*-un-lft-identity_binary64
Counts
3 → 93
Calls

3 calls:

6.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))
5.0ms
(*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))
1.0ms
(cbrt.f64 (fma.f64 y (sqrt.f64 z) x))

simplify100.0ms (2.3%)

Algorithm
egg-herbie
Rules
374×cancel-sign-sub-inv_binary64
265×associate-*r*_binary64
242×associate-/r/_binary64
235×associate-*l*_binary64
225×unswap-sqr_binary64
Counts
168 → 193
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03044425
18424181
228183870
349743870

prune219.0ms (5.1%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New3408348
Fresh022
Picked101
Done011
Total34111352
Error
0.0b
Counts
352 → 11
Alt Table
StatusErrorProgram
2.5b
(*.f64 1/2 (*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) 4) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) 4)) (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))))
29.6b
(*.f64 1/2 (*.f64 (cbrt.f64 (*.f64 (fma.f64 y (sqrt.f64 z) x) (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))
0.1b
(*.f64 1/2 (*.f64 1 (fma.f64 y (sqrt.f64 z) x)))
1.8b
(*.f64 1/2 (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))) (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))) (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))
30.1b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) 3)))
29.6b
(*.f64 1/2 (*.f64 (sqrt.f64 (fma.f64 y (sqrt.f64 z) x)) (sqrt.f64 (fma.f64 y (sqrt.f64 z) x))))
1.8b
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) 6)) (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))))
1.8b
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))) (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))
1.4b
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))))
39.4b
(*.f64 1/2 (cbrt.f64 (*.f64 (*.f64 (fma.f64 y (sqrt.f64 z) x) (fma.f64 y (sqrt.f64 z) x)) (fma.f64 y (sqrt.f64 z) x))))
2.5b
(*.f64 1/2 (*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) 6) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) 6))) (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))))
Compiler

Compiled 13707 to 5410 computations (60.5% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))
0.5b
(*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))
0.5b
(cbrt.f64 (fma.f64 y (sqrt.f64 z) x))
0.5b
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))

series97.0ms (2.3%)

Counts
1 → 25
Calls

1 calls:

97.0ms
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))

rewrite5.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
rem-cbrt-cube_binary64
pow3_binary64
cbrt-prod_binary64
Counts
1 → 12
Calls

1 calls:

5.0ms
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))

simplify82.0ms (1.9%)

Algorithm
egg-herbie
Rules
822×fma-def_binary64
642×times-frac_binary64
484×associate-/l*_binary64
385×associate-/r*_binary64
204×cancel-sign-sub-inv_binary64
Counts
37 → 58
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01611493
14611461
215041348
349371346
452511346

prune392.0ms (9.2%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New5555560
Fresh369
Picked101
Done011
Total55912571
Error
0.0b
Counts
571 → 12
Alt Table
StatusErrorProgram
1.6b
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) 6)))))
30.1b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) 3)))
33.6b
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (*.f64 (cbrt.f64 y) (pow.f64 z 1/6))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))))
29.6b
(*.f64 1/2 (*.f64 (sqrt.f64 (fma.f64 y (sqrt.f64 z) x)) (sqrt.f64 (fma.f64 y (sqrt.f64 z) x))))
1.8b
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))) (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))))) (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))))))
29.6b
(*.f64 1/2 (*.f64 (cbrt.f64 (*.f64 (fma.f64 y (sqrt.f64 z) x) (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))
0.1b
(*.f64 1/2 (*.f64 1 (fma.f64 y (sqrt.f64 z) x)))
1.8b
(*.f64 1/2 (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))) (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))) (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))
32.6b
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (*.f64 (cbrt.f64 y) (pow.f64 z 1/6))))))
3.2b
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (*.f64 (expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) 6))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))))
1.8b
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))) (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)))) (cbrt.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))
39.4b
(*.f64 1/2 (cbrt.f64 (*.f64 (*.f64 (fma.f64 y (sqrt.f64 z) x) (fma.f64 y (sqrt.f64 z) x)) (fma.f64 y (sqrt.f64 z) x))))
Compiler

Compiled 30970 to 10322 computations (66.7% saved)

regimes1.4s (32.5%)

Accuracy

Total 0.1b remaining (45%)

Threshold costs 0.1b (45%)

Counts
150 → 1
Compiler

Compiled 33961 to 15494 computations (54.4% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
1910
2910

end163.0ms (3.8%)

Compiler

Compiled 460 to 173 computations (62.4% saved)

Profiling

Loading profile data...