Details

Time bar (total: 4.9s)

analyze375.0ms (7.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
0%0%100%2
0%0%100%3
0%0%100%4
0%0%100%5
0%0%100%6
0%0%100%7
0%0%100%8
0%0%100%9
0%0%100%10
0%0%100%11
0%0%100%12
0%0%100%13
0%0%100%14
Compiler

Compiled 43 to 31 computations (27.9% saved)

sample2.2s (44%)

Results
1.0s3856×body256valid
552.0ms1502×body512valid
421.0ms2898×body128valid
112.0ms818×body128invalid
Compiler

Compiled 106 to 76 computations (28.3% saved)

simplify30.0ms (0.6%)

Algorithm
egg-herbie
Rules
1220×fma-neg_binary64
367×fma-def_binary64
351×times-frac_binary64
266×associate-/l*_binary64
254×div-sub_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01326
13022
26922
316022
426422
543322
674422
7134122
8276922
9470222
Stop Event
node limit
Counts
1 → 2

prune5.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
53.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
53.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (/.f64 1/3 a))
53.7b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 111 to 75 computations (32.4% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (/.f64 1/3 a))
0.3b
(/.f64 1/3 a)
0.3b
(*.f64 a (*.f64 c -3))
29.2b
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b)

series90.0ms (1.8%)

Counts
4 → 64
Calls

4 calls:

53.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (/.f64 1/3 a))
31.0ms
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b)
4.0ms
(*.f64 a (*.f64 c -3))
1.0ms
(/.f64 1/3 a)

rewrite65.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
737×prod-diff_binary64
143×egg-rr
140×add-sqr-sqrt_binary64
133×log1p-expm1-u_binary64
133×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01349
128247
2364647
Stop Event
node limit
Counts
4 → 143
Calls

4 calls:

62.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (/.f64 1/3 a))
62.0ms
(/.f64 1/3 a)
62.0ms
(*.f64 a (*.f64 c -3))
62.0ms
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b)

simplify38.0ms (0.8%)

Algorithm
egg-herbie
Rules
744×times-frac_binary64
458×associate-/l*_binary64
391×associate-/r*_binary64
312×fma-def_binary64
174×associate-*l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01181538
13691520
213021491
Stop Event
node limit
Counts
207 → 192

prune120.0ms (2.4%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1866192
Fresh011
Picked101
Done000
Total1877194
Error
0.2b
Counts
194 → 7
Alt Table
StatusErrorProgram
0.9b
(+.f64 (fma.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) -9/16 (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 (*.f64 c c) -3/8) (/.f64 (pow.f64 b 3) a)))) (*.f64 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)) -135/128))
53.7b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
1.2b
(*.f64 (-.f64 (fma.f64 -3/2 (*.f64 (/.f64 c b) a) (/.f64 -9/8 (/.f64 (pow.f64 b 3) (*.f64 (*.f64 c a) (*.f64 c a))))) (fma.f64 27/16 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 405/128 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 4))))) (/.f64 1/3 a))
1.3b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/3 a))
53.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (exp.f64 (log.f64 (/.f64 1/3 a))))
53.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
53.4b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) b)) (/.f64 1/3 a))
Compiler

Compiled 5083 to 3242 computations (36.2% saved)

localize24.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (*.f64 (*.f64 c c) -3/8) (/.f64 (pow.f64 b 3) a))
0.3b
(/.f64 (pow.f64 c 4) (pow.f64 b 7))
0.3b
(/.f64 (pow.f64 c 3) (pow.f64 b 5))
1.0b
(*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3))

series227.0ms (4.6%)

Counts
4 → 72
Calls

4 calls:

87.0ms
(*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3))
68.0ms
(/.f64 (*.f64 (*.f64 c c) -3/8) (/.f64 (pow.f64 b 3) a))
39.0ms
(/.f64 (pow.f64 c 4) (pow.f64 b 7))
33.0ms
(/.f64 (pow.f64 c 3) (pow.f64 b 5))

rewrite46.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
225×add-sqr-sqrt_binary64
222×log1p-expm1-u_binary64
222×expm1-log1p-u_binary64
216×add-cbrt-cube_binary64
213×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02252
149252
Stop Event
node limit
Counts
4 → 114
Calls

4 calls:

34.0ms
(/.f64 (*.f64 (*.f64 c c) -3/8) (/.f64 (pow.f64 b 3) a))
34.0ms
(/.f64 (pow.f64 c 4) (pow.f64 b 7))
34.0ms
(/.f64 (pow.f64 c 3) (pow.f64 b 5))
34.0ms
(*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3))

simplify41.0ms (0.8%)

Algorithm
egg-herbie
Rules
869×associate-/l*_binary64
436×associate-/r*_binary64
423×associate-*l*_binary64
374×associate-*r*_binary64
230×associate-*l/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0191152
1511152
21741152
38811152
Stop Event
node limit
Counts
186 → 117

prune241.0ms (4.9%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1170117
Fresh066
Picked011
Done000
Total1177124
Error
0.2b
Counts
124 → 7
Alt Table
StatusErrorProgram
0.9b
(+.f64 (fma.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) -9/16 (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 (*.f64 c c) -3/8) (/.f64 (pow.f64 b 3) a)))) (*.f64 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)) -135/128))
53.7b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
1.2b
(*.f64 (-.f64 (fma.f64 -3/2 (*.f64 (/.f64 c b) a) (/.f64 -9/8 (/.f64 (pow.f64 b 3) (*.f64 (*.f64 c a) (*.f64 c a))))) (fma.f64 27/16 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 405/128 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 4))))) (/.f64 1/3 a))
1.3b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/3 a))
53.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (exp.f64 (log.f64 (/.f64 1/3 a))))
53.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
53.4b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) b)) (/.f64 1/3 a))
Compiler

Compiled 6020 to 3908 computations (35.1% saved)

localize31.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (pow.f64 c 3) (pow.f64 b 5))
0.4b
(*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3))
0.5b
(*.f64 (*.f64 c a) (*.f64 c a))
0.9b
(*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 4))

series184.0ms (3.7%)

Counts
3 → 96
Calls

3 calls:

89.0ms
(*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 4))
83.0ms
(*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3))
12.0ms
(*.f64 (*.f64 c a) (*.f64 c a))

rewrite30.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
201×add-sqr-sqrt_binary64
201×log1p-expm1-u_binary64
201×expm1-log1p-u_binary64
191×add-cbrt-cube_binary64
189×add-cube-cbrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02039
144333
Stop Event
node limit
Counts
3 → 68
Calls

3 calls:

29.0ms
(*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3))
29.0ms
(*.f64 (*.f64 c a) (*.f64 c a))
29.0ms
(*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 4))

simplify104.0ms (2.1%)

Algorithm
egg-herbie
Rules
655×associate-/r*_binary64
355×unswap-sqr_binary64
322×associate-/l/_binary64
271×associate-/r/_binary64
251×sqr-pow_binary64
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
0221392
1591392
21861392
310591392
441121176
542151176
643621104
745511104
847321104
949461104
Stop Event
node limit
Counts
164 → 71

prune197.0ms (4%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1000100
Fresh055
Picked011
Done011
Total1007107
Error
0.2b
Counts
107 → 7
Alt Table
StatusErrorProgram
0.9b
(+.f64 (fma.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) -9/16 (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 (*.f64 c c) -3/8) (/.f64 (pow.f64 b 3) a)))) (*.f64 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)) -135/128))
53.7b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
1.2b
(*.f64 (-.f64 (fma.f64 -3/2 (*.f64 (/.f64 c b) a) (/.f64 -9/8 (/.f64 (pow.f64 b 3) (*.f64 (*.f64 c a) (*.f64 c a))))) (fma.f64 27/16 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 405/128 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 4))))) (/.f64 1/3 a))
1.3b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/3 a))
53.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (exp.f64 (log.f64 (/.f64 1/3 a))))
53.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
53.4b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) b)) (/.f64 1/3 a))
Compiler

Compiled 5711 to 3585 computations (37.2% saved)

localize33.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (pow.f64 c 3) (pow.f64 a 3))
0.3b
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
0.3b
(*.f64 (pow.f64 c 4) (pow.f64 a 4))
0.3b
(*.f64 (pow.f64 c 2) (pow.f64 a 2))

series144.0ms (2.9%)

Counts
4 → 0
Calls

4 calls:

80.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
33.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 3))
19.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 4))
12.0ms
(*.f64 (pow.f64 c 2) (pow.f64 a 2))

rewrite60.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
280×log1p-udef_binary64
178×log1p-expm1-u_binary64
178×expm1-log1p-u_binary64
171×add-sqr-sqrt_binary64
169×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01934
141834
2467434
Stop Event
node limit
Counts
4 → 92
Calls

4 calls:

59.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 3))
59.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
59.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 4))
58.0ms
(*.f64 (pow.f64 c 2) (pow.f64 a 2))

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
92 → 92

prune159.0ms (3.2%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New92092
Fresh044
Picked011
Done022
Total92799
Error
0.2b
Counts
99 → 7
Alt Table
StatusErrorProgram
0.9b
(+.f64 (fma.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) -9/16 (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 (*.f64 c c) -3/8) (/.f64 (pow.f64 b 3) a)))) (*.f64 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)) -135/128))
53.7b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
1.2b
(*.f64 (-.f64 (fma.f64 -3/2 (*.f64 (/.f64 c b) a) (/.f64 -9/8 (/.f64 (pow.f64 b 3) (*.f64 (*.f64 c a) (*.f64 c a))))) (fma.f64 27/16 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 405/128 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 4))))) (/.f64 1/3 a))
1.3b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/3 a))
53.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (exp.f64 (log.f64 (/.f64 1/3 a))))
53.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
53.4b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) b)) (/.f64 1/3 a))
Compiler

Compiled 5372 to 3794 computations (29.4% saved)

regimes295.0ms (6%)

Accuracy

Total 1.2b remaining (83.7%)

Threshold costs 0b (0%)

Counts
39 → 1
Compiler

Compiled 8126 to 5921 computations (27.1% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03263
13763
Stop Event
saturated

end200.0ms (4.1%)

Compiler

Compiled 350 to 250 computations (28.6% saved)

Profiling

Loading profile data...