Details

Time bar (total: 1.6s)

analyze4.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
88.9%50%6.2%0%43.7%0%0%6
94.4%53.1%3.1%0%43.7%0%0%7
97.2%54.7%1.6%0%43.7%0%0%8
98.6%54.7%0.8%0%44.5%0%0%9
99.3%54.7%0.4%0%44.9%0%0%10
99.6%54.9%0.2%0%44.9%0%0%11
99.8%54.9%0.1%0%45%0%0%12
Compiler

Compiled 21 to 10 computations (52.4% saved)

sample950.0ms (59.3%)

Results
937.0ms8256×body256valid
Bogosity

preprocess128.0ms (8%)

Algorithm
egg-herbie
Rules
855×unswap-sqr_binary64
697×sqr-pow_binary64
628×cube-prod_binary64
539×associate-*l*_binary64
476×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01022
12816
25710
31114
44264
516144
631604
733114
835454
938424
1042284
1147314
1253764
1361584
1466574
1570854
1675064
1779084
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(*.f64 (*.f64 d1 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 d1 (*.f64 d1 d1)) d1) d1) (*.f64 d1 d1)) d1)) d1)
Outputs
(*.f64 (*.f64 d1 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 d1 (*.f64 d1 d1)) d1) d1) (*.f64 d1 d1)) d1)) d1)
(*.f64 d1 (*.f64 d1 (*.f64 d1 (*.f64 (*.f64 d1 (pow.f64 d1 3)) (pow.f64 d1 3)))))
(*.f64 (*.f64 d1 d1) (*.f64 (pow.f64 d1 4) (pow.f64 d1 4)))
(*.f64 (pow.f64 d1 5) (pow.f64 d1 5))
(pow.f64 d1 10)
Compiler

Compiled 21 to 10 computations (52.4% saved)

simplify118.0ms (7.4%)

Algorithm
egg-herbie
Rules
855×unswap-sqr_binary64
697×sqr-pow_binary64
628×cube-prod_binary64
539×associate-*l*_binary64
476×fabs-mul_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01022
12816
25710
31114
44264
516144
631604
733114
835454
938424
1042284
1147314
1253764
1361584
1466574
1570854
1675064
1779084
Stop Event
node limit
Counts
1 → 5
Calls
Call 1
Inputs
(*.f64 (*.f64 d1 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 d1 (*.f64 d1 d1)) d1) d1) (*.f64 d1 d1)) d1)) d1)
Outputs
(*.f64 (*.f64 d1 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 d1 (*.f64 d1 d1)) d1) d1) (*.f64 d1 d1)) d1)) d1)
(*.f64 d1 (*.f64 d1 (*.f64 d1 (*.f64 (*.f64 d1 (pow.f64 d1 3)) (pow.f64 d1 3)))))
(*.f64 (*.f64 d1 d1) (*.f64 (pow.f64 d1 4) (pow.f64 d1 4)))
(*.f64 (pow.f64 d1 5) (pow.f64 d1 5))
(pow.f64 d1 10)

eval1.0ms (0.1%)

Compiler

Compiled 56 to 31 computations (44.6% saved)

prune2.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New325
Fresh011
Picked000
Done000
Total336
Error
0b
Counts
6 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(pow.f64 d1 10)
0.1b
(*.f64 (*.f64 d1 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 d1 (*.f64 d1 d1)) d1) d1) (*.f64 d1 d1)) d1)) d1)
Compiler

Compiled 24 to 12 computations (50% saved)

localize14.0ms (0.9%)

Local error

Found 4 expressions with local error:

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

Compiled 90 to 9 computations (90% saved)

series21.0ms (1.3%)

Counts
4 → 48
Calls

12 calls:

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

Compiled 328 to 280 computations (14.6% saved)

rewrite54.0ms (3.4%)

Algorithm
batch-egg-rewrite
Rules
667×pow1_binary64
618×add-log-exp_binary64
618×log1p-expm1-u_binary64
618×expm1-log1p-u_binary64
602×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify48.0ms (3%)

Algorithm
egg-herbie
Rules
749×distribute-rgt-in_binary64
734×fma-def_binary64
714×distribute-lft-in_binary64
544×log-prod_binary64
287×sqr-pow_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0135593
1312584
21209572
32882557
Stop Event
node limit
Counts
101 → 73
Calls
Call 1
Inputs
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 (/.f64 1 d1) -3)
(pow.f64 (/.f64 1 d1) -3)
(pow.f64 (/.f64 1 d1) -3)
(pow.f64 (/.f64 1 d1) -3)
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -3))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -3))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -3))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -3))
(pow.f64 d1 5)
(pow.f64 d1 5)
(pow.f64 d1 5)
(pow.f64 d1 5)
(pow.f64 (/.f64 1 d1) -5)
(pow.f64 (/.f64 1 d1) -5)
(pow.f64 (/.f64 1 d1) -5)
(pow.f64 (/.f64 1 d1) -5)
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -5))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -5))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -5))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -5))
(pow.f64 d1 7)
(pow.f64 d1 7)
(pow.f64 d1 7)
(pow.f64 d1 7)
(pow.f64 (/.f64 1 d1) -7)
(pow.f64 (/.f64 1 d1) -7)
(pow.f64 (/.f64 1 d1) -7)
(pow.f64 (/.f64 1 d1) -7)
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -7))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -7))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -7))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -7))
(pow.f64 d1 8)
(pow.f64 d1 8)
(pow.f64 d1 8)
(pow.f64 d1 8)
(pow.f64 (/.f64 1 d1) -8)
(pow.f64 (/.f64 1 d1) -8)
(pow.f64 (/.f64 1 d1) -8)
(pow.f64 (/.f64 1 d1) -8)
(pow.f64 (/.f64 -1 d1) -8)
(pow.f64 (/.f64 -1 d1) -8)
(pow.f64 (/.f64 -1 d1) -8)
(pow.f64 (/.f64 -1 d1) -8)
(-.f64 (+.f64 1 (pow.f64 d1 3)) 1)
(pow.f64 d1 3)
(pow.f64 (pow.f64 d1 3) 1)
(pow.f64 (pow.f64 (pow.f64 d1 3) 3) 1/3)
(pow.f64 (pow.f64 d1 3/2) 2)
(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)))
(log1p.f64 (expm1.f64 (pow.f64 d1 3)))
(exp.f64 (*.f64 (log.f64 d1) 3))
(-.f64 (+.f64 1 (pow.f64 d1 5)) 1)
(pow.f64 d1 5)
(pow.f64 (pow.f64 d1 5) 1)
(pow.f64 (pow.f64 (pow.f64 d1 5) 3) 1/3)
(pow.f64 (cbrt.f64 (pow.f64 d1 5)) 3)
(pow.f64 (sqrt.f64 (pow.f64 d1 5)) 2)
(sqrt.f64 (pow.f64 (pow.f64 d1 5) 2))
(log.f64 (exp.f64 (pow.f64 d1 5)))
(cbrt.f64 (pow.f64 (pow.f64 d1 5) 3))
(cbrt.f64 (*.f64 (pow.f64 d1 3) (pow.f64 (pow.f64 d1 4) 3)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 d1 3) 3) (pow.f64 d1 6)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 d1 4) 3) (pow.f64 d1 3)))
(expm1.f64 (log1p.f64 (pow.f64 d1 5)))
(log1p.f64 (expm1.f64 (pow.f64 d1 5)))
(exp.f64 (log.f64 (pow.f64 d1 5)))
(-.f64 (+.f64 1 (*.f64 d1 (pow.f64 d1 6))) 1)
(pow.f64 (*.f64 d1 (pow.f64 d1 6)) 1)
(pow.f64 (pow.f64 (*.f64 d1 (pow.f64 d1 6)) 3) 1/3)
(pow.f64 (*.f64 (*.f64 d1 d1) (cbrt.f64 d1)) 3)
(pow.f64 (*.f64 d1 (sqrt.f64 (pow.f64 d1 5))) 2)
(sqrt.f64 (pow.f64 (*.f64 d1 (pow.f64 d1 6)) 2))
(log.f64 (pow.f64 (exp.f64 (pow.f64 d1 6)) d1))
(cbrt.f64 (pow.f64 (*.f64 d1 (pow.f64 d1 6)) 3))
(cbrt.f64 (*.f64 (pow.f64 d1 6) (pow.f64 (pow.f64 d1 5) 3)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 d1 4) 3) (pow.f64 (pow.f64 d1 3) 3)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 d1 5) 3) (pow.f64 d1 6)))
(expm1.f64 (log1p.f64 (*.f64 d1 (pow.f64 d1 6))))
(log1p.f64 (expm1.f64 (*.f64 d1 (pow.f64 d1 6))))
(exp.f64 (log.f64 (*.f64 d1 (pow.f64 d1 6))))
(-.f64 (+.f64 1 (pow.f64 (pow.f64 d1 4) 2)) 1)
(pow.f64 (pow.f64 d1 4) 2)
(pow.f64 (pow.f64 (pow.f64 d1 4) 2) 1)
(pow.f64 (pow.f64 (pow.f64 (pow.f64 d1 4) 2) 3) 1/3)
(pow.f64 (pow.f64 (*.f64 d1 (cbrt.f64 d1)) 2) 3)
(sqrt.f64 (pow.f64 (pow.f64 (pow.f64 d1 4) 2) 2))
(log.f64 (exp.f64 (pow.f64 (pow.f64 d1 4) 2)))
(cbrt.f64 (pow.f64 (pow.f64 (pow.f64 d1 4) 2) 3))
(cbrt.f64 (*.f64 (pow.f64 d1 3) (pow.f64 (*.f64 d1 (pow.f64 d1 6)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 d1 5) 3) (pow.f64 (pow.f64 d1 3) 3)))
(expm1.f64 (log1p.f64 (pow.f64 (pow.f64 d1 4) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (pow.f64 d1 4) 2)))
(exp.f64 (log.f64 (pow.f64 (pow.f64 d1 4) 2)))
Outputs
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 (/.f64 1 d1) -3)
(pow.f64 (/.f64 1 d1) -3)
(pow.f64 (/.f64 1 d1) -3)
(pow.f64 (/.f64 1 d1) -3)
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -3))
(neg.f64 (pow.f64 (/.f64 -1 d1) -3))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -3))
(neg.f64 (pow.f64 (/.f64 -1 d1) -3))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -3))
(neg.f64 (pow.f64 (/.f64 -1 d1) -3))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -3))
(neg.f64 (pow.f64 (/.f64 -1 d1) -3))
(pow.f64 d1 5)
(pow.f64 d1 5)
(pow.f64 d1 5)
(pow.f64 d1 5)
(pow.f64 (/.f64 1 d1) -5)
(pow.f64 (/.f64 1 d1) -5)
(pow.f64 (/.f64 1 d1) -5)
(pow.f64 (/.f64 1 d1) -5)
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -5))
(neg.f64 (pow.f64 (/.f64 -1 d1) -5))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -5))
(neg.f64 (pow.f64 (/.f64 -1 d1) -5))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -5))
(neg.f64 (pow.f64 (/.f64 -1 d1) -5))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -5))
(neg.f64 (pow.f64 (/.f64 -1 d1) -5))
(pow.f64 d1 7)
(pow.f64 d1 7)
(pow.f64 d1 7)
(pow.f64 d1 7)
(pow.f64 (/.f64 1 d1) -7)
(pow.f64 (/.f64 1 d1) -7)
(pow.f64 (/.f64 1 d1) -7)
(pow.f64 (/.f64 1 d1) -7)
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -7))
(neg.f64 (pow.f64 (/.f64 -1 d1) -7))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -7))
(neg.f64 (pow.f64 (/.f64 -1 d1) -7))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -7))
(neg.f64 (pow.f64 (/.f64 -1 d1) -7))
(*.f64 -1 (pow.f64 (/.f64 -1 d1) -7))
(neg.f64 (pow.f64 (/.f64 -1 d1) -7))
(pow.f64 d1 8)
(pow.f64 d1 8)
(pow.f64 d1 8)
(pow.f64 d1 8)
(pow.f64 (/.f64 1 d1) -8)
(pow.f64 (/.f64 1 d1) -8)
(pow.f64 (/.f64 1 d1) -8)
(pow.f64 (/.f64 1 d1) -8)
(pow.f64 (/.f64 -1 d1) -8)
(pow.f64 (/.f64 -1 d1) -8)
(pow.f64 (/.f64 -1 d1) -8)
(pow.f64 (/.f64 -1 d1) -8)
(-.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 (pow.f64 d1 3) 3) 1/3)
(pow.f64 d1 3)
(pow.f64 (pow.f64 d1 3/2) 2)
(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)
(log1p.f64 (expm1.f64 (pow.f64 d1 3)))
(pow.f64 d1 3)
(exp.f64 (*.f64 (log.f64 d1) 3))
(pow.f64 d1 3)
(-.f64 (+.f64 1 (pow.f64 d1 5)) 1)
(pow.f64 d1 5)
(pow.f64 d1 5)
(pow.f64 (pow.f64 d1 5) 1)
(pow.f64 d1 5)
(pow.f64 (pow.f64 (pow.f64 d1 5) 3) 1/3)
(pow.f64 d1 5)
(pow.f64 (cbrt.f64 (pow.f64 d1 5)) 3)
(pow.f64 d1 5)
(pow.f64 (sqrt.f64 (pow.f64 d1 5)) 2)
(pow.f64 d1 5)
(sqrt.f64 (pow.f64 (pow.f64 d1 5) 2))
(pow.f64 d1 5)
(log.f64 (exp.f64 (pow.f64 d1 5)))
(pow.f64 d1 5)
(cbrt.f64 (pow.f64 (pow.f64 d1 5) 3))
(pow.f64 d1 5)
(cbrt.f64 (*.f64 (pow.f64 d1 3) (pow.f64 (pow.f64 d1 4) 3)))
(cbrt.f64 (*.f64 d1 (pow.f64 (pow.f64 d1 7) 2)))
(cbrt.f64 (*.f64 d1 (pow.f64 d1 14)))
(cbrt.f64 (pow.f64 d1 15))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 d1 3) 3) (pow.f64 d1 6)))
(cbrt.f64 (*.f64 (pow.f64 d1 3) (pow.f64 (pow.f64 d1 4) 3)))
(cbrt.f64 (*.f64 d1 (pow.f64 (pow.f64 d1 7) 2)))
(cbrt.f64 (*.f64 d1 (pow.f64 d1 14)))
(cbrt.f64 (pow.f64 d1 15))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 d1 4) 3) (pow.f64 d1 3)))
(cbrt.f64 (*.f64 (pow.f64 d1 3) (pow.f64 (pow.f64 d1 4) 3)))
(cbrt.f64 (*.f64 d1 (pow.f64 (pow.f64 d1 7) 2)))
(cbrt.f64 (*.f64 d1 (pow.f64 d1 14)))
(cbrt.f64 (pow.f64 d1 15))
(expm1.f64 (log1p.f64 (pow.f64 d1 5)))
(pow.f64 d1 5)
(log1p.f64 (expm1.f64 (pow.f64 d1 5)))
(pow.f64 d1 5)
(exp.f64 (log.f64 (pow.f64 d1 5)))
(pow.f64 d1 5)
(-.f64 (+.f64 1 (*.f64 d1 (pow.f64 d1 6))) 1)
(pow.f64 d1 7)
(pow.f64 (*.f64 d1 (pow.f64 d1 6)) 1)
(pow.f64 d1 7)
(pow.f64 (pow.f64 (*.f64 d1 (pow.f64 d1 6)) 3) 1/3)
(pow.f64 d1 7)
(pow.f64 (*.f64 (*.f64 d1 d1) (cbrt.f64 d1)) 3)
(pow.f64 d1 7)
(pow.f64 (*.f64 d1 (sqrt.f64 (pow.f64 d1 5))) 2)
(pow.f64 d1 7)
(sqrt.f64 (pow.f64 (*.f64 d1 (pow.f64 d1 6)) 2))
(pow.f64 d1 7)
(log.f64 (pow.f64 (exp.f64 (pow.f64 d1 6)) d1))
(pow.f64 d1 7)
(cbrt.f64 (pow.f64 (*.f64 d1 (pow.f64 d1 6)) 3))
(pow.f64 d1 7)
(cbrt.f64 (*.f64 (pow.f64 d1 6) (pow.f64 (pow.f64 d1 5) 3)))
(cbrt.f64 (*.f64 (pow.f64 d1 5) (pow.f64 d1 16)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 d1 4) 3) (pow.f64 (pow.f64 d1 3) 3)))
(pow.f64 d1 7)
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 d1 5) 3) (pow.f64 d1 6)))
(cbrt.f64 (*.f64 (pow.f64 d1 6) (pow.f64 (pow.f64 d1 5) 3)))
(cbrt.f64 (*.f64 (pow.f64 d1 5) (pow.f64 d1 16)))
(expm1.f64 (log1p.f64 (*.f64 d1 (pow.f64 d1 6))))
(pow.f64 d1 7)
(log1p.f64 (expm1.f64 (*.f64 d1 (pow.f64 d1 6))))
(pow.f64 d1 7)
(exp.f64 (log.f64 (*.f64 d1 (pow.f64 d1 6))))
(pow.f64 d1 7)
(-.f64 (+.f64 1 (pow.f64 (pow.f64 d1 4) 2)) 1)
(pow.f64 d1 8)
(pow.f64 (pow.f64 d1 4) 2)
(pow.f64 d1 8)
(pow.f64 (pow.f64 (pow.f64 d1 4) 2) 1)
(pow.f64 d1 8)
(pow.f64 (pow.f64 (pow.f64 (pow.f64 d1 4) 2) 3) 1/3)
(pow.f64 d1 8)
(pow.f64 (pow.f64 (*.f64 d1 (cbrt.f64 d1)) 2) 3)
(pow.f64 d1 8)
(sqrt.f64 (pow.f64 (pow.f64 (pow.f64 d1 4) 2) 2))
(pow.f64 d1 8)
(log.f64 (exp.f64 (pow.f64 (pow.f64 d1 4) 2)))
(pow.f64 d1 8)
(cbrt.f64 (pow.f64 (pow.f64 (pow.f64 d1 4) 2) 3))
(pow.f64 d1 8)
(cbrt.f64 (*.f64 (pow.f64 d1 3) (pow.f64 (*.f64 d1 (pow.f64 d1 6)) 3)))
(pow.f64 d1 8)
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 d1 5) 3) (pow.f64 (pow.f64 d1 3) 3)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 d1 3) 3) (pow.f64 (pow.f64 d1 5) 3)))
(cbrt.f64 (*.f64 (*.f64 d1 (pow.f64 d1 8)) (pow.f64 (pow.f64 d1 5) 3)))
(cbrt.f64 (*.f64 (pow.f64 d1 9) (pow.f64 (pow.f64 d1 5) 3)))
(expm1.f64 (log1p.f64 (pow.f64 (pow.f64 d1 4) 2)))
(pow.f64 d1 8)
(log1p.f64 (expm1.f64 (pow.f64 (pow.f64 d1 4) 2)))
(pow.f64 d1 8)
(exp.f64 (log.f64 (pow.f64 (pow.f64 d1 4) 2)))
(pow.f64 d1 8)

localize3.0ms (0.2%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

eval46.0ms (2.9%)

Compiler

Compiled 1103 to 667 computations (39.5% saved)

prune11.0ms (0.7%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New73073
Fresh000
Picked011
Done011
Total73275
Error
0b
Counts
75 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(pow.f64 d1 10)
0.1b
(*.f64 (*.f64 d1 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 d1 (*.f64 d1 d1)) d1) d1) (*.f64 d1 d1)) d1)) d1)
Compiler

Compiled 24 to 12 computations (50% saved)

regimes6.0ms (0.4%)

Accuracy

Total -0.1b remaining (-∞%)

Threshold costs -0.1b (-∞%)

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

2 calls:

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

Compiled 45 to 21 computations (53.3% saved)

simplify3.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01232
11932
Stop Event
done
saturated
Calls
Call 1
Inputs
(pow.f64 d1 10)
(*.f64 (*.f64 d1 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 d1 (*.f64 d1 d1)) d1) d1) (*.f64 d1 d1)) d1)) d1)
Outputs
(pow.f64 d1 10)
(*.f64 (*.f64 d1 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 d1 (*.f64 d1 d1)) d1) d1) (*.f64 d1 d1)) d1)) d1)
(*.f64 d1 (*.f64 d1 (*.f64 d1 (*.f64 (*.f64 d1 d1) (*.f64 d1 (*.f64 d1 (*.f64 d1 (*.f64 d1 d1))))))))
Compiler

Compiled 24 to 12 computations (50% saved)

soundness175.0ms (10.9%)

Algorithm
egg-herbie
Rules
855×unswap-sqr_binary64
697×sqr-pow_binary64
628×cube-prod_binary64
539×associate-*l*_binary64
476×fabs-mul_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01022
12816
25710
31114
44264
516144
631604
733114
835454
938424
1042284
1147314
1253764
1361584
1466574
1570854
1675064
1779084
Stop Event
node limit
Compiler

Compiled 250 to 144 computations (42.4% saved)

end19.0ms (1.2%)

Compiler

Compiled 23 to 11 computations (52.2% saved)

Profiling

Loading profile data...