FastMath repmul

Time bar (total: 1.3s)

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 (49.3%)

Results
406.0ms5099×body256valid
227.0ms3157×body256infinite
Bogosity

preprocess140.0ms (10.6%)

Algorithm
egg-herbie
Rules
1612×fma-def
1548×unswap-sqr
1480×fma-neg
684×neg-mul-1
664×neg-sub0
Problems
256×No Errors
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
014128
13980
211544
320944
432444
566944
6148844
7306644
8529344
9632144
10738144
11792044
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 26 to 9 computations (65.4% saved)

eval1.0ms (0%)

Compiler

Compiled 16 to 9 computations (43.8% saved)

prune3.0ms (0.2%)

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

Compiled 24 to 14 computations (41.7% saved)

localize32.0ms (2.4%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
99.9%
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
99.8%
(*.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
@-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
@0
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
0.0ms
d1
@inf
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)

rewrite99.0ms (7.5%)

Algorithm
batch-egg-rewrite
Rules
944×associate-*l*
492×unpow-prod-down
398×prod-exp
324×log-prod
308×cbrt-prod
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0829
18720
284420
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 (sqrt.f64 d1) 6)
(pow.f64 (pow.f64 d1 3/2) 2)
(pow.f64 (E.f64) (log.f64 (pow.f64 d1 3)))
(pow.f64 (exp.f64 3) (log.f64 d1))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 d1 3))) 2)) (cbrt.f64 (log.f64 (pow.f64 d1 3))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (pow.f64 d1 3)))) (sqrt.f64 (log.f64 (pow.f64 d1 3))))
(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 (log.f64 (pow.f64 d1 3)))
(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 (cbrt.f64 d1) 12)
(pow.f64 (pow.f64 (cbrt.f64 d1) 2) 6)
(pow.f64 (pow.f64 (cbrt.f64 d1) 4) 3)
(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 (pow.f64 (cbrt.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)))

simplify63.0ms (4.8%)

Algorithm
egg-herbie
Rules
1208×fma-neg
1056×fma-def
906×log-prod
670×associate-*r*
624×associate-*l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01481268
13631202
210291180
352221180
Stop Event
node limit
Counts
82 → 74
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 (sqrt.f64 d1) 6)
(pow.f64 (pow.f64 d1 3/2) 2)
(pow.f64 (E.f64) (log.f64 (pow.f64 d1 3)))
(pow.f64 (exp.f64 3) (log.f64 d1))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 d1 3))) 2)) (cbrt.f64 (log.f64 (pow.f64 d1 3))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (pow.f64 d1 3)))) (sqrt.f64 (log.f64 (pow.f64 d1 3))))
(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 (log.f64 (pow.f64 d1 3)))
(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 (cbrt.f64 d1) 12)
(pow.f64 (pow.f64 (cbrt.f64 d1) 2) 6)
(pow.f64 (pow.f64 (cbrt.f64 d1) 4) 3)
(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 (pow.f64 (cbrt.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 (sqrt.f64 d1) 6)
(pow.f64 d1 3)
(pow.f64 (pow.f64 d1 3/2) 2)
(pow.f64 d1 3)
(pow.f64 (E.f64) (log.f64 (pow.f64 d1 3)))
(pow.f64 d1 3)
(pow.f64 (exp.f64 3) (log.f64 d1))
(pow.f64 d1 3)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 d1 3))) 2)) (cbrt.f64 (log.f64 (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 (log.f64 (pow.f64 d1 3)))) (sqrt.f64 (log.f64 (pow.f64 d1 3))))
(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 (log.f64 (pow.f64 d1 3)))
(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 (cbrt.f64 d1) 12)
(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 (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 d1 4)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 d1) 4)) 2)) (cbrt.f64 (*.f64 (log.f64 d1) 4)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.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 (exp.f64 (sqrt.f64 (*.f64 4 (log.f64 d1)))) (sqrt.f64 (*.f64 4 (log.f64 d1))))
(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.6%)

Compiler

Compiled 790 to 619 computations (21.6% saved)

prune8.0ms (0.6%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New74074
Fresh000
Picked022
Done000
Total74276
Accuracy
100.0%
Counts
76 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 d1 4)
99.8%
(*.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)

regimes5.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.8%1d1
99.8%1(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Compiler

Compiled 18 to 9 computations (50% saved)

simplify2.0ms (0.1%)

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)

soundness212.0ms (16%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
014128
13980
211544
320944
432444
566944
6148844
7306644
8529344
9632144
10738144
11792044
Stop Event
node limit
Compiler

Compiled 21 to 13 computations (38.1% saved)

end0.0ms (0%)

preprocess78.0ms (5.9%)

Remove

(abs d1)

Compiler

Compiled 54 to 32 computations (40.7% saved)

Profiling

Loading profile data...