Details

Time bar (total: 1.6s)

analyze4.0ms (0.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
50%25%25%4
62.5%12.5%25%5
62.5%6.2%31.3%6
65.6%3.1%31.3%7
65.6%1.6%32.8%8
66.4%0.8%32.8%9
66.4%0.4%33.2%10
66.6%0.2%33.2%11
66.6%0.1%33.3%12
Compiler

Compiled 7 to 4 computations (42.9% saved)

sample941.0ms (60.2%)

Results
928.0ms8256×body256valid
0.0msbody256invalid

preprocess137.0ms (8.8%)

Algorithm
egg-herbie
Rules
1328×sqr-pow_binary64
715×pow-sqr_binary64
677×cube-prod_binary64
563×fabs-mul_binary64
373×unpow3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047
154
274
3124
4174
5264
6474
71224
84994
911604
1012474
1113804
1215384
1317664
1420884
1525094
1630094
1736064
1843284
1946534
2049394
2151614
2253414
2354254
2463654
2573394
2678054
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(*.f64 (*.f64 x x) x)
Outputs
(*.f64 (*.f64 x x) x)
(*.f64 x (*.f64 x x))
(pow.f64 x 3)
Compiler

Compiled 7 to 4 computations (42.9% saved)

simplify127.0ms (8.1%)

Algorithm
egg-herbie
Rules
1328×sqr-pow_binary64
715×pow-sqr_binary64
677×cube-prod_binary64
563×fabs-mul_binary64
373×unpow3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
047
154
274
3124
4174
5264
6474
71224
84994
911604
1012474
1113804
1215384
1317664
1420884
1525094
1630094
1736064
1843284
1946534
2049394
2151614
2253414
2354254
2463654
2573394
2678054
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) x)
Outputs
(*.f64 (*.f64 x x) x)
(*.f64 x (*.f64 x x))
(pow.f64 x 3)

eval1.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(pow.f64 x 3)
0.1b
(*.f64 (*.f64 x x) x)
Compiler

Compiled 10 to 6 computations (40% saved)

localize3.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 x x) x)
0.1b
(*.f64 (*.f64 x x) x)

series2.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 (*.f64 x x) x)
1.0ms
x
@-inf
(*.f64 (*.f64 x x) x)
1.0ms
x
@inf
(*.f64 (*.f64 x x) x)

rewrite32.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
325×associate-*l*_binary64
313×pow1_binary64
302×add-sqr-sqrt_binary64
293×*-un-lft-identity_binary64
293×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044
1774
28854
Stop Event
node limit
Counts
1 → 28
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (pow.f64 x 3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 (pow.f64 x 3)) 3) 1) (+.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) (+.f64 1 (pow.f64 x 3))) (+.f64 1 (*.f64 (+.f64 1 (pow.f64 x 3)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) (+.f64 1 (pow.f64 x 3))) 1) (+.f64 (+.f64 1 (pow.f64 x 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x x) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 6) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 9) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x) 9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 x) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 3/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (*.f64 (log.f64 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 3) (log.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (*.f64 (log.f64 x) 3))) (sqrt.f64 (*.f64 (log.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 x) 3)) 2)) (cbrt.f64 (*.f64 (log.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 x 6))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 x 9))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 x 9)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 x 3)))))))

simplify130.0ms (8.3%)

Algorithm
egg-herbie
Rules
1333×sqr-pow_binary64
715×pow-sqr_binary64
677×cube-prod_binary64
556×fabs-mul_binary64
374×unpow3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0448
11248
21748
32648
44748
512248
649948
7116048
8124748
9138048
10153848
11176648
12208848
13250948
14300948
15360248
16432448
17464548
18492948
19514948
20532748
21540948
22634948
23732348
24778948
Stop Event
node limit
Counts
40 → 28
Calls
Call 1
Inputs
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
Outputs
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)

localize2.0ms (0.1%)

eval6.0ms (0.4%)

Compiler

Compiled 219 to 174 computations (20.5% saved)

prune22.0ms (1.4%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New28028
Fresh000
Picked011
Done011
Total28230
Error
0b
Counts
30 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(pow.f64 x 3)
0.1b
(*.f64 (*.f64 x x) x)
Compiler

Compiled 10 to 6 computations (40% saved)

regimes7.0ms (0.4%)

Accuracy

Total -0.1b remaining (-∞%)

Threshold costs -0.1b (-∞%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) x)
(pow.f64 x 3)
Outputs
(pow.f64 x 3)
Calls

2 calls:

3.0ms
x
2.0ms
(*.f64 (*.f64 x x) x)
Results
ErrorSegmentsBranch
0b1x
0b1(*.f64 (*.f64 x x) x)
Compiler

Compiled 17 to 9 computations (47.1% saved)

simplify3.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
1711
Stop Event
saturated
Calls
Call 1
Inputs
(pow.f64 x 3)
(*.f64 (*.f64 x x) x)
Outputs
(pow.f64 x 3)
(*.f64 (*.f64 x x) x)
(*.f64 x (*.f64 x x))

end147.0ms (9.4%)

Stop Event
done
Compiler

Compiled 19 to 11 computations (42.1% saved)

Profiling

Loading profile data...