FastMath repmul

Time bar (total: 1.6s)

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)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample745.0ms (47.1%)

Results
429.0ms5252×256valid
273.0ms3003×256infinite
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 190.0ms
Operation ival-mult, time spent: 181.0ms, 95.0% of total-time
Operation const, time spent: 9.0ms, 5.0% of total-time
Bogosity

preprocess231.0ms (14.6%)

Algorithm
egg-herbie
Rules
1732×fma-neg
1548×unswap-sqr
1360×fma-define
686×neg-mul-1
664×neg-sub0
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(*.f64 d1 d1)
00-0-(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
00-0-(*.f64 (*.f64 d1 d1) d1)
00-0-d1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
014128
13980
211544
321244
432744
567444
6149244
7307544
8530244
9633444
10739544
11793444
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)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
Operation ival-mult, time spent: 12.0ms, 95.0% of total-time
Operation const, time spent: 1.0ms, 8.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 16 to 9 computations (43.8% saved)

prune1.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)
Compiler

Compiled 12 to 7 computations (41.7% saved)

localize35.0ms (2.2%)

Localize:

Found 2 expressions with local error:

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

Compiled 23 to 8 computations (65.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
Operation ival-mult, time spent: 5.0ms, 62.0% of total-time
Operation ival-pow, time spent: 2.0ms, 25.0% of total-time
Operation const, time spent: 1.0ms, 12.0% of total-time

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

rewrite177.0ms (11.2%)

Algorithm
batch-egg-rewrite
Rules
972×associate-*l*
612×unpow-prod-down
398×prod-exp
324×log-prod
310×cbrt-prod
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0829
18720
283920
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)))
(log1p.f64 (expm1.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))
(+.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)))
(log1p.f64 (expm1.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))

simplify80.0ms (5.1%)

Algorithm
egg-herbie
Rules
1452×fma-neg
908×fma-define
832×log-prod
722×associate-*r*
698×associate-*l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01491257
13791191
210541169
352411169
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)))
(log1p.f64 (expm1.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))
(+.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)))
(log1p.f64 (expm1.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))
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)
(log1p.f64 (expm1.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)
(+.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)
(log1p.f64 (expm1.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)

eval19.0ms (1.2%)

Compiler

Compiled 754 to 588 computations (22% saved)

prune9.0ms (0.5%)

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)

regimes7.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:

4.0ms
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
2.0ms
d1
Results
AccuracySegmentsBranch
100.0%1d1
100.0%1(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Compiler

Compiled 10 to 5 computations (50% saved)

regimes4.0ms (0.3%)

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:

2.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 10 to 5 computations (50% saved)

simplify2.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)

soundness234.0ms (14.8%)

Rules
1732×fma-neg
1548×unswap-sqr
1360×fma-define
686×neg-mul-1
664×neg-sub0
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
014128
13980
211544
321244
432744
567444
6149244
7307544
8530244
9633444
10739544
11793444
Stop Event
node limit
Compiler

Compiled 21 to 13 computations (38.1% saved)

end0.0ms (0%)

preprocess32.0ms (2%)

Remove

(abs d1)

Compiler

Compiled 70 to 44 computations (37.1% saved)

Profiling

Loading profile data...