FastMath repmul

Time bar (total: 1.5s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
100%100%0%0%0%0%0%1
Compiler

Compiled 9 to 5 computations (44.4% saved)

sample653.0ms (44%)

Results
395.0ms5105×body256valid
245.0ms3151×body256infinite
Bogosity

preprocess221.0ms (14.9%)

Algorithm
egg-herbie
Rules
1612×fma-def
1548×unswap-sqr
1480×fma-neg
686×neg-mul-1
664×neg-sub0
FPErrors
Click to see full error table
truthopredexupredexsubexpr
2560-0-#f
00-0-(*.f64 (*.f64 d1 d1) d1)
00-0-(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
00-0-d1
00-0-(*.f64 d1 d1)
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
014128
13980
211544
321244
432744
567444
6149244
7307444
8530144
9633144
10739244
11793144
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
(*.f64 (*.f64 (*.f64 (neg.f64 d1) (neg.f64 d1)) (neg.f64 d1)) (neg.f64 d1))
(neg.f64 (*.f64 (*.f64 (*.f64 (neg.f64 d1) (neg.f64 d1)) (neg.f64 d1)) (neg.f64 d1)))
Outputs
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
(*.f64 d1 (*.f64 d1 (*.f64 d1 d1)))
(*.f64 d1 (pow.f64 d1 3))
(pow.f64 d1 4)
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
(*.f64 d1 (*.f64 d1 (*.f64 d1 d1)))
(*.f64 d1 (pow.f64 d1 3))
(pow.f64 d1 4)
(*.f64 (*.f64 (*.f64 (neg.f64 d1) (neg.f64 d1)) (neg.f64 d1)) (neg.f64 d1))
(*.f64 d1 (*.f64 d1 (*.f64 d1 d1)))
(*.f64 d1 (pow.f64 d1 3))
(pow.f64 d1 4)
(neg.f64 (*.f64 (*.f64 (*.f64 (neg.f64 d1) (neg.f64 d1)) (neg.f64 d1)) (neg.f64 d1)))
(neg.f64 (*.f64 d1 (*.f64 d1 (*.f64 d1 d1))))
(*.f64 (neg.f64 d1) (pow.f64 d1 3))
(neg.f64 (pow.f64 d1 4))
Symmetry

(abs d1)

Compiler

Compiled 44 to 14 computations (68.2% saved)

eval1.0ms (0%)

Compiler

Compiled 16 to 9 computations (43.8% saved)

prune2.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 d1 4)
99.9%
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
100.0%
(pow.f64 d1 4)
99.9%
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Compiler

Compiled 24 to 14 computations (41.7% saved)

localize31.0ms (2.1%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
99.9%
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
99.9%
(*.f64 (*.f64 d1 d1) d1)
Compiler

Compiled 23 to 8 computations (65.2% saved)

series2.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
d1
@0
(*.f64 (*.f64 d1 d1) d1)
0.0ms
d1
@-inf
(*.f64 (*.f64 d1 d1) d1)
0.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)

rewrite170.0ms (11.5%)

Algorithm
batch-egg-rewrite
Rules
938×associate-*l*
494×unpow-prod-down
398×prod-exp
324×log-prod
306×cbrt-prod
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0829
18720
283820
Stop Event
node limit
Counts
2 → 58
Calls
Call 1
Inputs
(*.f64 (*.f64 d1 d1) d1)
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Outputs
(+.f64 (+.f64 1 (pow.f64 d1 3)) -1)
(+.f64 0 (pow.f64 d1 3))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 3)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 3)))))
(-.f64 (+.f64 1 (pow.f64 d1 3)) 1)
(/.f64 (-.f64 (pow.f64 (+.f64 1 (pow.f64 d1 3)) 3) 1) (+.f64 (*.f64 (+.f64 1 (pow.f64 d1 3)) (+.f64 1 (pow.f64 d1 3))) (+.f64 1 (*.f64 (+.f64 1 (pow.f64 d1 3)) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (pow.f64 d1 3)) (+.f64 1 (pow.f64 d1 3))) 1) (+.f64 (+.f64 1 (pow.f64 d1 3)) 1))
(pow.f64 d1 3)
(pow.f64 (pow.f64 d1 2) 3/2)
(pow.f64 (pow.f64 d1 3) 1)
(pow.f64 (cbrt.f64 d1) 9)
(pow.f64 (pow.f64 d1 6) 1/2)
(pow.f64 (pow.f64 d1 9) 1/3)
(pow.f64 (pow.f64 d1 3/2) 2)
(pow.f64 (sqrt.f64 d1) 6)
(pow.f64 (E.f64) (*.f64 3 (log.f64 d1)))
(pow.f64 (exp.f64 3) (log.f64 d1))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 3 (log.f64 d1))) 2)) (cbrt.f64 (*.f64 3 (log.f64 d1))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 3 (log.f64 d1)))) (sqrt.f64 (*.f64 3 (log.f64 d1))))
(sqrt.f64 (pow.f64 d1 6))
(fabs.f64 (pow.f64 d1 3))
(log.f64 (exp.f64 (pow.f64 d1 3)))
(cbrt.f64 (pow.f64 d1 9))
(expm1.f64 (log1p.f64 (pow.f64 d1 3)))
(exp.f64 (*.f64 3 (log.f64 d1)))
(exp.f64 (*.f64 (log.f64 (pow.f64 d1 9)) 1/3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 d1)) 2))
(log1p.f64 (expm1.f64 (pow.f64 d1 3)))
(+.f64 (+.f64 1 (pow.f64 d1 4)) -1)
(+.f64 0 (pow.f64 d1 4))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 4)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 4)))))
(-.f64 (+.f64 1 (pow.f64 d1 4)) 1)
(/.f64 (-.f64 (pow.f64 (+.f64 1 (pow.f64 d1 4)) 3) 1) (+.f64 (*.f64 (+.f64 1 (pow.f64 d1 4)) (+.f64 1 (pow.f64 d1 4))) (+.f64 1 (*.f64 (+.f64 1 (pow.f64 d1 4)) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (pow.f64 d1 4)) (+.f64 1 (pow.f64 d1 4))) 1) (+.f64 (+.f64 1 (pow.f64 d1 4)) 1))
(pow.f64 d1 4)
(pow.f64 (pow.f64 d1 2) 2)
(pow.f64 (pow.f64 d1 3) 4/3)
(pow.f64 (pow.f64 d1 4) 1)
(pow.f64 (pow.f64 (cbrt.f64 d1) 2) 6)
(pow.f64 (pow.f64 (cbrt.f64 d1) 4) 3)
(pow.f64 (cbrt.f64 d1) 12)
(pow.f64 (pow.f64 d1 6) 2/3)
(pow.f64 (pow.f64 d1 8) 1/2)
(pow.f64 (pow.f64 d1 12) 1/3)
(pow.f64 (sqrt.f64 d1) 8)
(pow.f64 (E.f64) (*.f64 (log.f64 d1) 4))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 d1) 4) 2))) (cbrt.f64 (*.f64 (log.f64 d1) 4)))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 (log.f64 d1) 4))) (sqrt.f64 (*.f64 (log.f64 d1) 4)))
(sqrt.f64 (pow.f64 d1 8))
(fabs.f64 (pow.f64 d1 4))
(log.f64 (exp.f64 (pow.f64 d1 4)))
(cbrt.f64 (pow.f64 d1 12))
(expm1.f64 (log1p.f64 (pow.f64 d1 4)))
(exp.f64 (*.f64 (log.f64 d1) 4))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 d1) 4)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 d1 12)) 1/3))
(log1p.f64 (expm1.f64 (pow.f64 d1 4)))

simplify72.0ms (4.8%)

Algorithm
egg-herbie
Rules
1200×fma-neg
1036×fma-def
858×log-prod
710×associate-*r*
664×associate-*l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01491257
13671191
210321169
351741169
Stop Event
node limit
Counts
82 → 72
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)
(+.f64 0 (pow.f64 d1 3))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 3)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 3)))))
(-.f64 (+.f64 1 (pow.f64 d1 3)) 1)
(/.f64 (-.f64 (pow.f64 (+.f64 1 (pow.f64 d1 3)) 3) 1) (+.f64 (*.f64 (+.f64 1 (pow.f64 d1 3)) (+.f64 1 (pow.f64 d1 3))) (+.f64 1 (*.f64 (+.f64 1 (pow.f64 d1 3)) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (pow.f64 d1 3)) (+.f64 1 (pow.f64 d1 3))) 1) (+.f64 (+.f64 1 (pow.f64 d1 3)) 1))
(pow.f64 d1 3)
(pow.f64 (pow.f64 d1 2) 3/2)
(pow.f64 (pow.f64 d1 3) 1)
(pow.f64 (cbrt.f64 d1) 9)
(pow.f64 (pow.f64 d1 6) 1/2)
(pow.f64 (pow.f64 d1 9) 1/3)
(pow.f64 (pow.f64 d1 3/2) 2)
(pow.f64 (sqrt.f64 d1) 6)
(pow.f64 (E.f64) (*.f64 3 (log.f64 d1)))
(pow.f64 (exp.f64 3) (log.f64 d1))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 3 (log.f64 d1))) 2)) (cbrt.f64 (*.f64 3 (log.f64 d1))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 3 (log.f64 d1)))) (sqrt.f64 (*.f64 3 (log.f64 d1))))
(sqrt.f64 (pow.f64 d1 6))
(fabs.f64 (pow.f64 d1 3))
(log.f64 (exp.f64 (pow.f64 d1 3)))
(cbrt.f64 (pow.f64 d1 9))
(expm1.f64 (log1p.f64 (pow.f64 d1 3)))
(exp.f64 (*.f64 3 (log.f64 d1)))
(exp.f64 (*.f64 (log.f64 (pow.f64 d1 9)) 1/3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 d1)) 2))
(log1p.f64 (expm1.f64 (pow.f64 d1 3)))
(+.f64 (+.f64 1 (pow.f64 d1 4)) -1)
(+.f64 0 (pow.f64 d1 4))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 4)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 4)))))
(-.f64 (+.f64 1 (pow.f64 d1 4)) 1)
(/.f64 (-.f64 (pow.f64 (+.f64 1 (pow.f64 d1 4)) 3) 1) (+.f64 (*.f64 (+.f64 1 (pow.f64 d1 4)) (+.f64 1 (pow.f64 d1 4))) (+.f64 1 (*.f64 (+.f64 1 (pow.f64 d1 4)) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (pow.f64 d1 4)) (+.f64 1 (pow.f64 d1 4))) 1) (+.f64 (+.f64 1 (pow.f64 d1 4)) 1))
(pow.f64 d1 4)
(pow.f64 (pow.f64 d1 2) 2)
(pow.f64 (pow.f64 d1 3) 4/3)
(pow.f64 (pow.f64 d1 4) 1)
(pow.f64 (pow.f64 (cbrt.f64 d1) 2) 6)
(pow.f64 (pow.f64 (cbrt.f64 d1) 4) 3)
(pow.f64 (cbrt.f64 d1) 12)
(pow.f64 (pow.f64 d1 6) 2/3)
(pow.f64 (pow.f64 d1 8) 1/2)
(pow.f64 (pow.f64 d1 12) 1/3)
(pow.f64 (sqrt.f64 d1) 8)
(pow.f64 (E.f64) (*.f64 (log.f64 d1) 4))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 d1) 4) 2))) (cbrt.f64 (*.f64 (log.f64 d1) 4)))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 (log.f64 d1) 4))) (sqrt.f64 (*.f64 (log.f64 d1) 4)))
(sqrt.f64 (pow.f64 d1 8))
(fabs.f64 (pow.f64 d1 4))
(log.f64 (exp.f64 (pow.f64 d1 4)))
(cbrt.f64 (pow.f64 d1 12))
(expm1.f64 (log1p.f64 (pow.f64 d1 4)))
(exp.f64 (*.f64 (log.f64 d1) 4))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 d1) 4)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 d1 12)) 1/3))
(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)
(+.f64 0 (pow.f64 d1 3))
(pow.f64 d1 3)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 3)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 3)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 3)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 3)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 3)))))
(-.f64 (+.f64 1 (pow.f64 d1 3)) 1)
(pow.f64 d1 3)
(/.f64 (-.f64 (pow.f64 (+.f64 1 (pow.f64 d1 3)) 3) 1) (+.f64 (*.f64 (+.f64 1 (pow.f64 d1 3)) (+.f64 1 (pow.f64 d1 3))) (+.f64 1 (*.f64 (+.f64 1 (pow.f64 d1 3)) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 (pow.f64 d1 3) 1) 3) -1) (fma.f64 (+.f64 (pow.f64 d1 3) 1) (+.f64 (pow.f64 d1 3) 1) (+.f64 1 (+.f64 (pow.f64 d1 3) 1))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (pow.f64 d1 3) 1) 3)) (fma.f64 (+.f64 (pow.f64 d1 3) 1) (+.f64 (pow.f64 d1 3) 1) (+.f64 (pow.f64 d1 3) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (pow.f64 d1 3) 1) 3)) (+.f64 1 (*.f64 (+.f64 (pow.f64 d1 3) 1) (+.f64 (pow.f64 d1 3) 2))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (pow.f64 d1 3)) (+.f64 1 (pow.f64 d1 3))) 1) (+.f64 (+.f64 1 (pow.f64 d1 3)) 1))
(pow.f64 d1 3)
(pow.f64 d1 3)
(pow.f64 (pow.f64 d1 2) 3/2)
(pow.f64 d1 3)
(pow.f64 (pow.f64 d1 3) 1)
(pow.f64 d1 3)
(pow.f64 (cbrt.f64 d1) 9)
(pow.f64 (pow.f64 d1 6) 1/2)
(pow.f64 d1 3)
(pow.f64 (pow.f64 d1 9) 1/3)
(pow.f64 d1 3)
(pow.f64 (pow.f64 d1 3/2) 2)
(pow.f64 d1 3)
(pow.f64 (sqrt.f64 d1) 6)
(pow.f64 d1 3)
(pow.f64 (E.f64) (*.f64 3 (log.f64 d1)))
(pow.f64 (exp.f64 3) (log.f64 d1))
(pow.f64 d1 3)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 3 (log.f64 d1))) 2)) (cbrt.f64 (*.f64 3 (log.f64 d1))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 3 (log.f64 d1)))) (sqrt.f64 (*.f64 3 (log.f64 d1))))
(sqrt.f64 (pow.f64 d1 6))
(pow.f64 d1 3)
(fabs.f64 (pow.f64 d1 3))
(pow.f64 d1 3)
(log.f64 (exp.f64 (pow.f64 d1 3)))
(pow.f64 d1 3)
(cbrt.f64 (pow.f64 d1 9))
(pow.f64 d1 3)
(expm1.f64 (log1p.f64 (pow.f64 d1 3)))
(pow.f64 d1 3)
(exp.f64 (*.f64 3 (log.f64 d1)))
(pow.f64 d1 3)
(exp.f64 (*.f64 (log.f64 (pow.f64 d1 9)) 1/3))
(pow.f64 d1 3)
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 d1)) 2))
(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)
(+.f64 0 (pow.f64 d1 4))
(pow.f64 d1 4)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 4)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 4))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 4)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 d1 4)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 4)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 d1 4)))))
(-.f64 (+.f64 1 (pow.f64 d1 4)) 1)
(pow.f64 d1 4)
(/.f64 (-.f64 (pow.f64 (+.f64 1 (pow.f64 d1 4)) 3) 1) (+.f64 (*.f64 (+.f64 1 (pow.f64 d1 4)) (+.f64 1 (pow.f64 d1 4))) (+.f64 1 (*.f64 (+.f64 1 (pow.f64 d1 4)) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 (pow.f64 d1 4) 1) 3) -1) (fma.f64 (+.f64 (pow.f64 d1 4) 1) (+.f64 (pow.f64 d1 4) 1) (+.f64 1 (+.f64 (pow.f64 d1 4) 1))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (pow.f64 d1 4) 1) 3)) (fma.f64 (+.f64 (pow.f64 d1 4) 1) (+.f64 (pow.f64 d1 4) 1) (+.f64 (pow.f64 d1 4) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (pow.f64 d1 4) 1) 3)) (+.f64 1 (*.f64 (+.f64 (pow.f64 d1 4) 1) (+.f64 (pow.f64 d1 4) 2))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (pow.f64 d1 4)) (+.f64 1 (pow.f64 d1 4))) 1) (+.f64 (+.f64 1 (pow.f64 d1 4)) 1))
(pow.f64 d1 4)
(pow.f64 d1 4)
(pow.f64 (pow.f64 d1 2) 2)
(pow.f64 d1 4)
(pow.f64 (pow.f64 d1 3) 4/3)
(pow.f64 d1 4)
(pow.f64 (pow.f64 d1 4) 1)
(pow.f64 d1 4)
(pow.f64 (pow.f64 (cbrt.f64 d1) 2) 6)
(pow.f64 d1 4)
(pow.f64 (pow.f64 (cbrt.f64 d1) 4) 3)
(pow.f64 d1 4)
(pow.f64 (cbrt.f64 d1) 12)
(pow.f64 d1 4)
(pow.f64 (pow.f64 d1 6) 2/3)
(pow.f64 d1 4)
(pow.f64 (pow.f64 d1 8) 1/2)
(pow.f64 d1 4)
(pow.f64 (pow.f64 d1 12) 1/3)
(pow.f64 d1 4)
(pow.f64 (sqrt.f64 d1) 8)
(pow.f64 d1 4)
(pow.f64 (E.f64) (*.f64 (log.f64 d1) 4))
(pow.f64 (E.f64) (*.f64 4 (log.f64 d1)))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 d1) 4) 2))) (cbrt.f64 (*.f64 (log.f64 d1) 4)))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (*.f64 4 (log.f64 d1)) 2))) (cbrt.f64 (*.f64 4 (log.f64 d1))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 (log.f64 d1) 4))) (sqrt.f64 (*.f64 (log.f64 d1) 4)))
(pow.f64 d1 4)
(sqrt.f64 (pow.f64 d1 8))
(pow.f64 d1 4)
(fabs.f64 (pow.f64 d1 4))
(pow.f64 d1 4)
(log.f64 (exp.f64 (pow.f64 d1 4)))
(pow.f64 d1 4)
(cbrt.f64 (pow.f64 d1 12))
(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)
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 d1) 4)) 3))
(pow.f64 d1 4)
(exp.f64 (*.f64 (log.f64 (pow.f64 d1 12)) 1/3))
(pow.f64 d1 4)
(log1p.f64 (expm1.f64 (pow.f64 d1 4)))
(pow.f64 d1 4)

eval21.0ms (1.4%)

Compiler

Compiled 754 to 588 computations (22% saved)

prune8.0ms (0.6%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New72072
Fresh000
Picked022
Done000
Total72274
Accuracy
100.0%
Counts
74 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 d1 4)
99.9%
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Compiler

Compiled 23 to 13 computations (43.5% saved)

regimes6.0ms (0.4%)

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
AccuracySegmentsBranch
100.0%1d1
100.0%1(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Compiler

Compiled 21 to 11 computations (47.6% saved)

regimes6.0ms (0.4%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.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
AccuracySegmentsBranch
99.9%1d1
99.9%1(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Compiler

Compiled 18 to 9 computations (50% saved)

simplify3.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01041
11241
Stop Event
done
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)))
Compiler

Compiled 12 to 7 computations (41.7% saved)

soundness251.0ms (17%)

Rules
1612×fma-def
1548×unswap-sqr
1480×fma-neg
686×neg-mul-1
664×neg-sub0
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
014128
13980
211544
321244
432744
567444
6149244
7307444
8530144
9633144
10739244
11793144
Stop Event
node limit
Compiler

Compiled 21 to 13 computations (38.1% saved)

end0.0ms (0%)

preprocess36.0ms (2.5%)

Remove

(abs d1)

Compiler

Compiled 70 to 44 computations (37.1% saved)

Profiling

Loading profile data...