Details

Time bar (total: 1.7s)

analyze3.0ms (0.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
50%50%50%0%0%0%0%3
66.7%50%25%0%25%0%0%4
80%50%12.5%0%37.5%0%0%5
90%56.2%6.2%0%37.5%0%0%6
95%59.3%3.1%0%37.5%0%0%7
97.5%60.9%1.6%0%37.5%0%0%8
98.8%61.7%0.8%0%37.5%0%0%9
99.4%62.1%0.4%0%37.5%0%0%10
99.7%62.3%0.2%0%37.5%0%0%11
99.8%62.4%0.1%0%37.5%0%0%12
Compiler

Compiled 9 to 5 computations (44.4% saved)

sample728.0ms (43.8%)

Results
717.0ms8256×body256valid
Bogosity

preprocess206.0ms (12.4%)

Algorithm
egg-herbie
Rules
3244×sqr-pow
1502×pow-sqr
1132×associate-*r*
948×cube-prod
736×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0619
1913
2117
3207
4357
5617
61357
73617
815587
916607
1018137
1120307
1223257
1326937
1432947
1538407
1645157
1748727
1850927
1952607
2053707
2154487
2261517
2372717
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)

simplify209.0ms (12.6%)

Algorithm
egg-herbie
Rules
3244×sqr-pow
1502×pow-sqr
1132×associate-*r*
948×cube-prod
736×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0619
1913
2117
3207
4357
5617
61357
73617
815587
916607
1018137
1120307
1223257
1326937
1432947
1538407
1645157
1748727
1850927
1952607
2053707
2154487
2261517
2372717
Stop Event
node limit
Counts
1 → 4
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%)

Compiler

Compiled 23 to 10 computations (56.5% saved)

prune2.0ms (0.1%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New134
Fresh011
Picked000
Done000
Total145
Error
0b
Counts
5 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(pow.f64 d1 4)
0.2b
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
0.2b
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
Compiler

Compiled 20 to 10 computations (50% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
Compiler

Compiled 12 to 3 computations (75% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite46.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
862×add-sqr-sqrt
850×*-un-lft-identity
796×pow1
788×add-cube-cbrt
780×add-cbrt-cube
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0513
11017
212457
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 d1 4) 1) 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 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (cbrt.f64 d1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 d1 4) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 d1 d1) 4))))) (#(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 (pow.f64 d1 4) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 d1 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 d1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 d1 4)))))))

simplify48.0ms (2.9%)

Algorithm
egg-herbie
Rules
938×*-commutative
898×distribute-lft-in
814×distribute-rgt-in
660×fma-def
474×distribute-lft-out
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032168
175168
2246168
31302168
45059168
Stop Event
node limit
Counts
24 → 12
Calls
Call 1
Inputs
(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)
(-.f64 (+.f64 (pow.f64 d1 4) 1) 1)
(pow.f64 d1 4)
(pow.f64 (*.f64 d1 d1) 2)
(pow.f64 (pow.f64 d1 4) 1)
(pow.f64 (*.f64 d1 (cbrt.f64 d1)) 3)
(pow.f64 (pow.f64 (pow.f64 d1 4) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 d1 d1) 4))
(log.f64 (exp.f64 (pow.f64 d1 4)))
(cbrt.f64 (pow.f64 (pow.f64 d1 4) 3))
(expm1.f64 (log1p.f64 (pow.f64 d1 4)))
(exp.f64 (*.f64 (log.f64 d1) 4))
(log1p.f64 (expm1.f64 (pow.f64 d1 4)))
Outputs
(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)
(-.f64 (+.f64 (pow.f64 d1 4) 1) 1)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 (*.f64 d1 d1) 2)
(pow.f64 d1 4)
(pow.f64 (pow.f64 d1 4) 1)
(pow.f64 d1 4)
(pow.f64 (*.f64 d1 (cbrt.f64 d1)) 3)
(pow.f64 d1 4)
(pow.f64 (pow.f64 (pow.f64 d1 4) 3) 1/3)
(pow.f64 d1 4)
(sqrt.f64 (pow.f64 (*.f64 d1 d1) 4))
(pow.f64 d1 4)
(log.f64 (exp.f64 (pow.f64 d1 4)))
(pow.f64 d1 4)
(cbrt.f64 (pow.f64 (pow.f64 d1 4) 3))
(pow.f64 d1 4)
(expm1.f64 (log1p.f64 (pow.f64 d1 4)))
(pow.f64 d1 4)
(exp.f64 (*.f64 (log.f64 d1) 4))
(pow.f64 d1 4)
(log1p.f64 (expm1.f64 (pow.f64 d1 4)))
(pow.f64 d1 4)

localize5.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 17 to 4 computations (76.5% saved)

series1.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

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

rewrite77.0ms (4.6%)

Algorithm
batch-egg-rewrite
Rules
982×add-sqr-sqrt
964×*-un-lft-identity
904×pow1
900×add-cube-cbrt
892×add-cbrt-cube
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0620
112114
2141614
Stop Event
node limit
Counts
2 → 23
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 (+.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 (pow.f64 d1 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 d1 3/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 d1 3) 3) 1/3)))) (#(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 (pow.f64 d1 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.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 log1p.f64 (expm1.f64 (pow.f64 d1 3)))))))
((#(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 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (cbrt.f64 d1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 d1 4) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 d1 4) 2))))) (#(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 (pow.f64 d1 4) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 d1 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 d1 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 d1 4)))))))

simplify42.0ms (2.5%)

Algorithm
egg-herbie
Rules
1054×log-prod
1048×distribute-rgt-in
1020×distribute-lft-in
758×associate-*r*
638×associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
053329
1119329
2476329
32560329
Stop Event
node limit
Counts
47 → 23
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)
(-.f64 (+.f64 1 (pow.f64 d1 3)) 1)
(pow.f64 d1 3)
(pow.f64 (pow.f64 d1 3) 1)
(pow.f64 (pow.f64 d1 3/2) 2)
(pow.f64 (pow.f64 (pow.f64 d1 3) 3) 1/3)
(sqrt.f64 (pow.f64 d1 6))
(log.f64 (exp.f64 (pow.f64 d1 3)))
(cbrt.f64 (pow.f64 (pow.f64 d1 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 d1 3)))
(exp.f64 (*.f64 (log.f64 d1) 3))
(log1p.f64 (expm1.f64 (pow.f64 d1 3)))
(-.f64 (+.f64 1 (pow.f64 d1 4)) 1)
(pow.f64 d1 4)
(pow.f64 (*.f64 d1 d1) 2)
(pow.f64 (pow.f64 d1 4) 1)
(pow.f64 (*.f64 d1 (cbrt.f64 d1)) 3)
(pow.f64 (pow.f64 (pow.f64 d1 4) 3) 1/3)
(sqrt.f64 (pow.f64 (pow.f64 d1 4) 2))
(log.f64 (exp.f64 (pow.f64 d1 4)))
(cbrt.f64 (pow.f64 (pow.f64 d1 4) 3))
(expm1.f64 (log1p.f64 (pow.f64 d1 4)))
(exp.f64 (log.f64 (pow.f64 d1 4)))
(log1p.f64 (expm1.f64 (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)
(-.f64 (+.f64 1 (pow.f64 d1 3)) 1)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 (pow.f64 d1 3) 1)
(pow.f64 d1 3)
(pow.f64 (pow.f64 d1 3/2) 2)
(pow.f64 d1 3)
(pow.f64 (pow.f64 (pow.f64 d1 3) 3) 1/3)
(pow.f64 d1 3)
(sqrt.f64 (pow.f64 d1 6))
(pow.f64 d1 3)
(log.f64 (exp.f64 (pow.f64 d1 3)))
(pow.f64 d1 3)
(cbrt.f64 (pow.f64 (pow.f64 d1 3) 3))
(pow.f64 d1 3)
(expm1.f64 (log1p.f64 (pow.f64 d1 3)))
(pow.f64 d1 3)
(exp.f64 (*.f64 (log.f64 d1) 3))
(pow.f64 d1 3)
(log1p.f64 (expm1.f64 (pow.f64 d1 3)))
(pow.f64 d1 3)
(-.f64 (+.f64 1 (pow.f64 d1 4)) 1)
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 (*.f64 d1 d1) 2)
(pow.f64 d1 4)
(pow.f64 (pow.f64 d1 4) 1)
(pow.f64 d1 4)
(pow.f64 (*.f64 d1 (cbrt.f64 d1)) 3)
(pow.f64 d1 4)
(pow.f64 (pow.f64 (pow.f64 d1 4) 3) 1/3)
(pow.f64 d1 4)
(sqrt.f64 (pow.f64 (pow.f64 d1 4) 2))
(pow.f64 d1 4)
(log.f64 (exp.f64 (pow.f64 d1 4)))
(pow.f64 d1 4)
(cbrt.f64 (pow.f64 (pow.f64 d1 4) 3))
(pow.f64 d1 4)
(expm1.f64 (log1p.f64 (pow.f64 d1 4)))
(pow.f64 d1 4)
(exp.f64 (log.f64 (pow.f64 d1 4)))
(pow.f64 d1 4)
(log1p.f64 (expm1.f64 (pow.f64 d1 4)))
(pow.f64 d1 4)

localize3.0ms (0.2%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

eval6.0ms (0.4%)

Compiler

Compiled 210 to 154 computations (26.7% saved)

prune5.0ms (0.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New35035
Fresh000
Picked011
Done022
Total35338
Error
0b
Counts
38 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(pow.f64 d1 4)
0.2b
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
0.2b
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
Compiler

Compiled 20 to 10 computations (50% saved)

regimes6.0ms (0.4%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
(*.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 28 to 12 computations (57.1% saved)

regimes5.0ms (0.3%)

Accuracy

Total -0.1b remaining (-57.7%)

Threshold costs -0.1b (-57.7%)

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

2 calls:

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

Compiled 25 to 10 computations (60% saved)

simplify5.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0945
11145
Stop Event
done
saturated
Calls
Call 1
Inputs
(pow.f64 d1 4)
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
Outputs
(pow.f64 d1 4)
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
(*.f64 d1 (*.f64 d1 (*.f64 d1 d1)))
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
Compiler

Compiled 20 to 10 computations (50% saved)

soundness242.0ms (14.6%)

Algorithm
egg-herbie
Rules
3244×sqr-pow
1502×pow-sqr
1132×associate-*r*
948×cube-prod
736×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0619
1913
2117
3207
4357
5617
61357
73617
815587
916607
1018137
1120307
1223257
1326937
1432947
1538407
1645157
1748727
1850927
1952607
2053707
2154487
2261517
2372717
Stop Event
node limit
Compiler

Compiled 21 to 13 computations (38.1% saved)

end17.0ms (1%)

Compiler

Compiled 18 to 7 computations (61.1% saved)

Profiling

Loading profile data...