Details

Time bar (total: 2.5min)

analyze1.5s (1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.6%0.4%0
0%99.6%0.4%1
0%99.6%0.4%2
0%99.6%0.4%3
0%99.6%0.4%4
0%99.6%0.4%5
0%99.6%0.4%6
0%99.6%0.4%7
0%74.7%25.3%8
0%74.7%25.3%9
0%65.4%34.6%10
0%51.4%48.6%11
0%51.4%48.6%12
0%51.4%48.6%13
0%51.4%48.6%14
Compiler

Compiled 30 to 21 computations (30% saved)

sample4.1s (2.7%)

Symmetry

(sort z t a)

Results
2.2s11369×body128invalid
1.7s8255×body128valid
1.0msbody1024valid
Compiler

Compiled 89 to 62 computations (30.3% saved)

simplify79.0ms (0.1%)

Algorithm
egg-herbie
Rules
2664×associate-+l+_binary64
1041×associate-+r+_binary64
923×+-commutative_binary64
750×fma-def_binary64
*-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02130
14126
210926
337626
4111826
5159226
6169826
7169826
8169826
9169826
10270626
11295826
12295826
13291026
14291026
15254026
16252426

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.1b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
Compiler

Compiled 99 to 61 computations (38.4% saved)

localize17.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (fma.f64 x (log.f64 y) z) t)
0.0b
(+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)
0.1b
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))
0.1b
(fma.f64 x (log.f64 y) z)

series1.3s (0.9%)

Counts
4 → 228
Calls

4 calls:

884.0ms
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))
180.0ms
(+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)
136.0ms
(+.f64 (fma.f64 x (log.f64 y) z) t)
104.0ms
(fma.f64 x (log.f64 y) z)

rewrite11.0ms (0%)

Algorithm
rewrite-expression-head
Rules
15×*-un-lft-identity_binary64
11×add-log-exp_binary64
fma-def_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
4 → 59
Calls

4 calls:

4.0ms
(+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)
2.0ms
(+.f64 (fma.f64 x (log.f64 y) z) t)
0.0ms
(fma.f64 x (log.f64 y) z)
0.0ms
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))

simplify151.0ms (0.1%)

Algorithm
egg-herbie
Rules
676×fma-neg_binary64
616×distribute-rgt-in_binary64
580×distribute-lft-in_binary64
507×fma-def_binary64
416×associate--l+_binary64
Counts
287 → 140
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01564579
14144467
212014079
349064071
455534071

prune119.0ms (0.1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1373140
Fresh000
Picked011
Done000
Total1374141
Error
0.1b
Counts
141 → 4
Alt Table
StatusErrorProgram
0.1b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
27.5b
(fma.f64 y i (*.f64 (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
1.1b
(fma.f64 y i (*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
30.5b
(fma.f64 y i (expm1.f64 (log1p.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
Compiler

Compiled 3579 to 1239 computations (65.4% saved)

localize21.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x (log.f64 y) z)
0.3b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))))
0.5b
(*.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))))
0.5b
(cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))

series12.9s (8.6%)

Counts
3 → 252
Calls

3 calls:

8.0s
(*.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))))
4.1s
(cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
801.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))))

rewrite26.0ms (0%)

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 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))))
6.0ms
(*.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))))
1.0ms
(cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))

simplify627.0ms (0.4%)

Algorithm
egg-herbie
Counts
345 → 220
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06834104870

prune2.3s (1.6%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New4435448
Fresh112
Picked011
Done011
Total4448452
Error
0.0b
Counts
452 → 8
Alt Table
StatusErrorProgram
1.1b
(fma.f64 y i (pow.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) 3))
0.1b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
1.4b
(fma.f64 y i (*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))) (cbrt.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))))) (cbrt.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
1.2b
(fma.f64 y i (*.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))) (cbrt.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
28.0b
(fma.f64 y i (*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))) (cbrt.f64 (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))) (cbrt.f64 (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
27.5b
(fma.f64 y i (*.f64 (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
1.1b
(fma.f64 y i (*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
1.4b
(fma.f64 y i (*.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))) (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))) (cbrt.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))) (cbrt.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))))))
Compiler

Compiled 126310 to 74076 computations (41.4% saved)

localize19.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))
0.1b
(fma.f64 x (log.f64 y) z)
0.5b
(cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
0.7b
(pow.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) 3)

series2.1min (84.6%)

Profiling

Loading profile data...