Details

Time bar (total: 1.1s)

analyze3.0ms (0.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
50%25%25%4
50%12.5%37.5%5
56.2%6.2%37.5%6
59.3%3.1%37.5%7
60.9%1.6%37.5%8
61.7%0.8%37.5%9
62.1%0.4%37.5%10
62.3%0.2%37.5%11
62.4%0.1%37.5%12
Compiler

Compiled 9 to 5 computations (44.4% saved)

sample665.0ms (58.1%)

Results
649.0ms8256×body256valid

preprocess133.0ms (11.6%)

Algorithm
egg-herbie
Rules
981×sqr-pow_binary64
678×associate-*l*_binary64
554×cube-prod_binary64
532×pow-sqr_binary64
522×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0510
187
2104
3194
4334
5604
61294
74264
823674
924624
1026144
1128314
1231244
1334914
1441204
1546914
1654094
1758604
1861844
1964484
2066784
2168144
2275994
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Outputs
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
(*.f64 d1 (pow.f64 d1 3))
(pow.f64 d1 4)
Compiler

Compiled 9 to 5 computations (44.4% saved)

simplify126.0ms (11%)

Algorithm
egg-herbie
Rules
981×sqr-pow_binary64
678×associate-*l*_binary64
554×cube-prod_binary64
532×pow-sqr_binary64
522×fabs-mul_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0510
187
2104
3194
4334
5604
61294
74264
823674
924624
1026144
1128314
1231244
1334914
1441204
1546914
1654094
1758604
1861844
1964484
2066784
2168144
2275994
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Outputs
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
(*.f64 d1 (pow.f64 d1 3))
(pow.f64 d1 4)

eval1.0ms (0.1%)

Compiler

Compiled 11 to 6 computations (45.5% 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 d1 4)
0.1b
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Compiler

Compiled 12 to 7 computations (41.7% saved)

localize4.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series3.0ms (0.3%)

Counts
2 → 24
Calls

6 calls:

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

rewrite37.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
385×pow1_binary64
369×add-sqr-sqrt_binary64
360×*-un-lft-identity_binary64
359×add-log-exp_binary64
359×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0511
1988
211168
Stop Event
node limit
Counts
2 → 39
Calls
Call 1
Inputs
(*.f64 (*.f64 d1 d1) d1)
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 d1 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 d1 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 d1 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 d1) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 d1 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 d1 6) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 d1 9) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 d1) 9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 d1) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 d1 3/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 d1 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 d1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 d1 9))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 d1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 d1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 d1 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 d1 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 d1 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 d1 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 d1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 d1 3) 4/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 d1 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 d1 6) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 d1 8) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 d1 12) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (cbrt.f64 d1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 d1) 12)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 d1) 2) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 d1) 8)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 d1 8))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 d1 4)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 d1 12))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 d1 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 4 (log.f64 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 d1 4)))))))

simplify129.0ms (11.3%)

Algorithm
egg-herbie
Rules
1098×sqr-pow_binary64
695×associate-*l*_binary64
512×*-commutative_binary64
506×cube-prod_binary64
485×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0696
11796
22896
34796
410996
538696
6243696
7258496
8284296
9317996
10357296
11410996
12506996
13586996
14636996
15669396
16695696
17713396
18722296
Stop Event
node limit
Counts
63 → 39
Calls
Call 1
Inputs
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
Outputs
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 d1 4)

localize2.0ms (0.1%)

eval8.0ms (0.7%)

Compiler

Compiled 262 to 192 computations (26.7% saved)

prune7.0ms (0.6%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New39039
Fresh000
Picked011
Done011
Total39241
Error
0b
Counts
41 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(pow.f64 d1 4)
0.1b
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Compiler

Compiled 12 to 7 computations (41.7% saved)

regimes6.0ms (0.5%)

Accuracy

Total -0.1b remaining (-∞%)

Threshold costs -0.1b (-∞%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
(pow.f64 d1 4)
Outputs
(pow.f64 d1 4)
Calls

2 calls:

3.0ms
d1
2.0ms
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Results
ErrorSegmentsBranch
0b1d1
0b1(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Compiler

Compiled 21 to 11 computations (47.6% saved)

simplify2.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
1914
Stop Event
saturated
Calls
Call 1
Inputs
(pow.f64 d1 4)
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Outputs
(pow.f64 d1 4)
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
(*.f64 d1 (*.f64 d1 (*.f64 d1 d1)))

end20.0ms (1.7%)

Stop Event
done
Compiler

Compiled 23 to 13 computations (43.5% saved)

Profiling

Loading profile data...