Details

Time bar (total: 5.4s)

analyze359.0ms (6.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.3s (42.4%)

Alt Table
StatusErrorProgram
54.9b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Results
1.0s3937×body256valid
595.0ms1534×body512valid
422.0ms2785×body128valid
131.0ms874×body128invalid
Compiler

Compiled 146 to 104 computations (28.8% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
0.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
0.3b
(*.f64 (*.f64 3 a) c)
27.0b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))

series154.0ms (2.9%)

Counts
4 → 100
Calls

4 calls:

86.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
54.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
10.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
4.0ms
(*.f64 (*.f64 3 a) c)

rewrite113.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
725×fma-def_binary64
366×fma-neg_binary64
285×egg-rr
248×expm1-udef_binary64
248×log1p-udef_binary64
Counts
4 → 285
Calls

4 calls:

105.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
105.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
105.0ms
(*.f64 (*.f64 3 a) c)
105.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01366
129756
2376956
3548056
000
100

prune225.0ms (4.2%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New3805385
Fresh000
Picked101
Done000
Total3815386
Error
0.1b
Counts
386 → 5
Alt Table
StatusErrorProgram
54.3b
(/.f64 (fma.f64 (pow.f64 (cbrt.f64 b) 2) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
54.9b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b)))) (*.f64 3 a))
54.7b
(/.f64 (/.f64 (-.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 3 a))
1.0b
(neg.f64 (+.f64 (*.f64 9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 135/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 1/2 (/.f64 c b))))))
1.4b
(/.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 3 a))
Compiler

Compiled 10948 to 6053 computations (44.7% saved)

localize27.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

series296.0ms (5.5%)

Counts
4 → 0
Calls

4 calls:

109.0ms
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))
95.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))
72.0ms
(/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))
20.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 3))

rewrite70.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
382×log1p-udef_binary64
225×log1p-expm1-u_binary64
225×expm1-log1p-u_binary64
224×add-sqr-sqrt_binary64
216×add-cbrt-cube_binary64
Counts
4 → 72
Calls

4 calls:

68.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 3))
68.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))
68.0ms
(/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))
68.0ms
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02355
150655
2451655
3529855
000
100

prune117.0ms (2.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New72072
Fresh044
Picked011
Done000
Total72577
Error
0.1b
Counts
77 → 5
Alt Table
StatusErrorProgram
54.3b
(/.f64 (fma.f64 (pow.f64 (cbrt.f64 b) 2) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
54.9b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b)))) (*.f64 3 a))
54.7b
(/.f64 (/.f64 (-.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 3 a))
1.0b
(neg.f64 (+.f64 (*.f64 9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 135/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 1/2 (/.f64 c b))))))
1.4b
(/.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 3 a))
Compiler

Compiled 3865 to 2790 computations (27.8% saved)

localize33.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
0.4b
(*.f64 (pow.f64 c 2) (pow.f64 a 2))
0.4b
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))
0.4b
(/.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 3 a))

series310.0ms (5.7%)

Counts
4 → 36
Calls

4 calls:

109.0ms
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))
102.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
86.0ms
(/.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 3 a))
13.0ms
(*.f64 (pow.f64 c 2) (pow.f64 a 2))

rewrite74.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
422×log1p-expm1-u_binary64
422×expm1-log1p-u_binary64
398×add-log-exp_binary64
386×pow1_binary64
133×unpow-prod-down_binary64
Counts
4 → 67
Calls

4 calls:

72.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
72.0ms
(*.f64 (pow.f64 c 2) (pow.f64 a 2))
72.0ms
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))
72.0ms
(/.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 3 a))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04099
192299
2498599
3493099
000
100

prune137.0ms (2.5%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1012103
Fresh033
Picked011
Done011
Total1017108
Error
0.1b
Counts
108 → 7
Alt Table
StatusErrorProgram
1.7b
(cbrt.f64 (pow.f64 (/.f64 (neg.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7)) (*.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))))) (*.f64 a 3)) 3))
54.3b
(/.f64 (fma.f64 (pow.f64 (cbrt.f64 b) 2) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
54.9b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b)))) (*.f64 3 a))
54.7b
(/.f64 (/.f64 (-.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 3 a))
1.5b
(*.f64 (neg.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7)) (*.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))))) (/.f64 1 (*.f64 a 3)))
1.0b
(neg.f64 (+.f64 (*.f64 9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 135/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 1/2 (/.f64 c b))))))
1.4b
(/.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 3 a))
Compiler

Compiled 5163 to 3583 computations (30.6% saved)

localize24.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series149.0ms (2.8%)

Counts
4 → 108
Calls

4 calls:

111.0ms
(/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))
16.0ms
(pow.f64 (*.f64 c a) 4)
12.0ms
(pow.f64 (*.f64 c a) 3)
8.0ms
(pow.f64 (*.f64 c a) 2)

rewrite72.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
622×log-prod_binary64
226×expm1-udef_binary64
226×log1p-udef_binary64
208×log-pow_binary64
138×log1p-expm1-u_binary64
Counts
4 → 129
Calls

4 calls:

68.0ms
(/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))
68.0ms
(pow.f64 (*.f64 c a) 2)
68.0ms
(pow.f64 (*.f64 c a) 3)
68.0ms
(pow.f64 (*.f64 c a) 4)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01434
130734
2308334
3509534
000
100

prune406.0ms (7.5%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New2370237
Fresh044
Picked011
Done022
Total2377244
Error
0.1b
Counts
244 → 7
Alt Table
StatusErrorProgram
1.7b
(cbrt.f64 (pow.f64 (/.f64 (neg.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7)) (*.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))))) (*.f64 a 3)) 3))
54.3b
(/.f64 (fma.f64 (pow.f64 (cbrt.f64 b) 2) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
54.9b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b)))) (*.f64 3 a))
54.7b
(/.f64 (/.f64 (-.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 3 a))
1.5b
(*.f64 (neg.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7)) (*.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))))) (/.f64 1 (*.f64 a 3)))
1.0b
(neg.f64 (+.f64 (*.f64 9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 135/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 1/2 (/.f64 c b))))))
1.4b
(/.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 3 a))
Compiler

Compiled 12351 to 7856 computations (36.4% saved)

regimes316.0ms (5.8%)

Accuracy

Total 1.2b remaining (85.8%)

Threshold costs 0b (0%)

Counts
50 → 1
Compiler

Compiled 7407 to 5274 computations (28.8% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
28×*-commutative_binary64
24×+-commutative_binary64
21×sub-neg_binary64
21×neg-sub0_binary64
21×neg-mul-1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03669
15367
27267
39967
413967
517067
619867
721567
822367
922567
1022167

end211.0ms (3.9%)

Compiler

Compiled 377 to 270 computations (28.4% saved)

Profiling

Loading profile data...