FastMath repmul

Time bar (total: 2.7s)

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)

sample951.0ms (35.6%)

Results
600.0ms5177×body256valid
286.0ms3079×body256infinite
Bogosity

preprocess216.0ms (8.1%)

Algorithm
egg-herbie
Rules
3436×fma-def
1448×fma-neg
1028×unswap-sqr
724×sub-neg
712×+-commutative
Problems
256×No Errors
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01157
12939
27421
315721
427721
556821
6117621
7261521
8415821
9519021
10621921
11675421
12733021
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))
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)
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
(*.f64 (*.f64 d1 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 (*.f64 d1 d1) (*.f64 d1 d1))
(*.f64 d1 (pow.f64 d1 3))
(pow.f64 d1 4)
Symmetry

(abs d1)

Compiler

Compiled 26 to 9 computations (65.4% saved)

eval1.0ms (0%)

Compiler

Compiled 41 to 19 computations (53.7% saved)

prune3.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)
99.8%
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
100.0%
(pow.f64 d1 4)
99.9%
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
99.8%
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
Compiler

Compiled 40 to 20 computations (50% saved)

localize118.0ms (4.4%)

Localize:

Found 6 expressions with local error:

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

Compiled 34 to 9 computations (73.5% saved)

series2.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

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

rewrite166.0ms (6.2%)

Algorithm
rewrite-once
batch-egg-rewrite
Rules
2222×prod-exp
468×sqrt-prod
434×pow-exp
372×log-prod
350×pow-prod-down
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0739
11421
23921
39221
43053
515963
616043
716323
817393
924963
1046203
Stop Event
node limit
Counts
3 → 48
Calls
Call 1
Inputs
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
(*.f64 (*.f64 d1 d1) d1)
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
Outputs
1
d1
1
d1
1
d1
Calls

9 calls:

1.0ms
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
0.0ms
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
0.0ms
(*.f64 (*.f64 d1 d1) d1)
0.0ms
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
0.0ms
(*.f64 (*.f64 d1 d1) d1)

simplify101.0ms (3.8%)

Algorithm
egg-herbie
Rules
1082×associate-/r*
1020×exp-prod
888×exp-sum
610×log-prod
582×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
084782
1151674
2490642
31416642
43189642
55506642
Stop Event
node limit
Counts
84 → 43
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)
(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)
1
(log1p.f64 (expm1.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(*.f64 (sqrt.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))) (sqrt.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(*.f64 1 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))) (cbrt.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1)))) (cbrt.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1)) (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))) (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(pow.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1)) 1)
(exp.f64 (log.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(log.f64 (exp.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(binary32->binary64 (*.f32 (*.f32 (binary64->binary32 d1) (binary64->binary32 d1)) (*.f32 (binary64->binary32 d1) (binary64->binary32 d1))))
1
(log1p.f64 (expm1.f64 (*.f64 (*.f64 d1 d1) d1)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 d1 d1) d1)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 d1 d1) d1)) (sqrt.f64 (*.f64 (*.f64 d1 d1) d1)))
(*.f64 1 (*.f64 (*.f64 d1 d1) d1))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 d1 d1) d1)) (cbrt.f64 (*.f64 (*.f64 d1 d1) d1))) (cbrt.f64 (*.f64 (*.f64 d1 d1) d1)))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) (*.f64 (*.f64 d1 d1) d1)) (*.f64 (*.f64 d1 d1) d1)))
(pow.f64 (*.f64 (*.f64 d1 d1) d1) 1)
(exp.f64 (log.f64 (*.f64 (*.f64 d1 d1) d1)))
(log.f64 (exp.f64 (*.f64 (*.f64 d1 d1) d1)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) d1)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) d1)))
(binary32->binary64 (*.f32 (*.f32 (binary64->binary32 d1) (binary64->binary32 d1)) (binary64->binary32 d1)))
1
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)) (sqrt.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(*.f64 1 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)) (cbrt.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1))) (cbrt.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1) (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)) (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(pow.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1) 1)
(exp.f64 (log.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(log.f64 (exp.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(binary32->binary64 (*.f32 (*.f32 (*.f32 (binary64->binary32 d1) (binary64->binary32 d1)) (binary64->binary32 d1)) (binary64->binary32 d1)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(binary32->binary64 (*.f32 (*.f32 (binary64->binary32 d1) (binary64->binary32 d1)) (*.f32 (binary64->binary32 d1) (binary64->binary32 d1))))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(binary32->binary64 (*.f32 (*.f32 (*.f32 (binary64->binary32 d1) (binary64->binary32 d1)) (binary64->binary32 d1)) (binary64->binary32 d1)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) d1)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) d1)))
(binary32->binary64 (*.f32 (*.f32 (binary64->binary32 d1) (binary64->binary32 d1)) (binary64->binary32 d1)))
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)
(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)
1
(log1p.f64 (expm1.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(pow.f64 d1 4)
(expm1.f64 (log1p.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(pow.f64 d1 4)
(*.f64 (sqrt.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))) (sqrt.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(pow.f64 d1 4)
(*.f64 1 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1)))
(pow.f64 d1 4)
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))) (cbrt.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1)))) (cbrt.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(pow.f64 d1 4)
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1)) (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))) (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(pow.f64 d1 4)
(pow.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1)) 1)
(pow.f64 d1 4)
(exp.f64 (log.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(pow.f64 d1 4)
(log.f64 (exp.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(pow.f64 d1 4)
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(binary32->binary64 (binary64->binary32 (*.f64 d1 (pow.f64 d1 3))))
(binary32->binary64 (binary64->binary32 (pow.f64 d1 4)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(binary32->binary64 (binary64->binary32 (*.f64 d1 (pow.f64 d1 3))))
(binary32->binary64 (binary64->binary32 (pow.f64 d1 4)))
(binary32->binary64 (*.f32 (*.f32 (binary64->binary32 d1) (binary64->binary32 d1)) (*.f32 (binary64->binary32 d1) (binary64->binary32 d1))))
(binary32->binary64 (*.f32 (binary64->binary32 d1) (pow.f32 (binary64->binary32 d1) 3)))
(binary32->binary64 (pow.f32 (binary64->binary32 d1) 4))
1
(log1p.f64 (expm1.f64 (*.f64 (*.f64 d1 d1) d1)))
(pow.f64 d1 3)
(expm1.f64 (log1p.f64 (*.f64 (*.f64 d1 d1) d1)))
(pow.f64 d1 3)
(*.f64 (sqrt.f64 (*.f64 (*.f64 d1 d1) d1)) (sqrt.f64 (*.f64 (*.f64 d1 d1) d1)))
(pow.f64 d1 3)
(*.f64 1 (*.f64 (*.f64 d1 d1) d1))
(pow.f64 d1 3)
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 d1 d1) d1)) (cbrt.f64 (*.f64 (*.f64 d1 d1) d1))) (cbrt.f64 (*.f64 (*.f64 d1 d1) d1)))
(pow.f64 d1 3)
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) (*.f64 (*.f64 d1 d1) d1)) (*.f64 (*.f64 d1 d1) d1)))
(pow.f64 d1 3)
(pow.f64 (*.f64 (*.f64 d1 d1) d1) 1)
(pow.f64 d1 3)
(exp.f64 (log.f64 (*.f64 (*.f64 d1 d1) d1)))
(pow.f64 d1 3)
(log.f64 (exp.f64 (*.f64 (*.f64 d1 d1) d1)))
(pow.f64 d1 3)
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) d1)))
(binary32->binary64 (binary64->binary32 (pow.f64 d1 3)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) d1)))
(binary32->binary64 (binary64->binary32 (pow.f64 d1 3)))
(binary32->binary64 (*.f32 (*.f32 (binary64->binary32 d1) (binary64->binary32 d1)) (binary64->binary32 d1)))
(binary32->binary64 (*.f32 (binary64->binary32 d1) (*.f32 (binary64->binary32 d1) (binary64->binary32 d1))))
(binary32->binary64 (pow.f32 (binary64->binary32 d1) 3))
1
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(pow.f64 d1 4)
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(pow.f64 d1 4)
(*.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)) (sqrt.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(pow.f64 d1 4)
(*.f64 1 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1))
(pow.f64 d1 4)
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)) (cbrt.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1))) (cbrt.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(pow.f64 d1 4)
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1) (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)) (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(pow.f64 d1 4)
(pow.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1) 1)
(pow.f64 d1 4)
(exp.f64 (log.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(pow.f64 d1 4)
(log.f64 (exp.f64 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(pow.f64 d1 4)
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(binary32->binary64 (binary64->binary32 (*.f64 d1 (pow.f64 d1 3))))
(binary32->binary64 (binary64->binary32 (pow.f64 d1 4)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(binary32->binary64 (binary64->binary32 (*.f64 d1 (pow.f64 d1 3))))
(binary32->binary64 (binary64->binary32 (pow.f64 d1 4)))
(binary32->binary64 (*.f32 (*.f32 (*.f32 (binary64->binary32 d1) (binary64->binary32 d1)) (binary64->binary32 d1)) (binary64->binary32 d1)))
(binary32->binary64 (*.f32 (*.f32 (binary64->binary32 d1) (binary64->binary32 d1)) (*.f32 (binary64->binary32 d1) (binary64->binary32 d1))))
(binary32->binary64 (*.f32 (binary64->binary32 d1) (pow.f32 (binary64->binary32 d1) 3)))
(binary32->binary64 (pow.f32 (binary64->binary32 d1) 4))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(binary32->binary64 (binary64->binary32 (*.f64 d1 (pow.f64 d1 3))))
(binary32->binary64 (binary64->binary32 (pow.f64 d1 4)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(binary32->binary64 (binary64->binary32 (*.f64 d1 (pow.f64 d1 3))))
(binary32->binary64 (binary64->binary32 (pow.f64 d1 4)))
(binary32->binary64 (*.f32 (*.f32 (binary64->binary32 d1) (binary64->binary32 d1)) (*.f32 (binary64->binary32 d1) (binary64->binary32 d1))))
(binary32->binary64 (*.f32 (binary64->binary32 d1) (pow.f32 (binary64->binary32 d1) 3)))
(binary32->binary64 (pow.f32 (binary64->binary32 d1) 4))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(binary32->binary64 (binary64->binary32 (*.f64 d1 (pow.f64 d1 3))))
(binary32->binary64 (binary64->binary32 (pow.f64 d1 4)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)))
(binary32->binary64 (binary64->binary32 (*.f64 d1 (pow.f64 d1 3))))
(binary32->binary64 (binary64->binary32 (pow.f64 d1 4)))
(binary32->binary64 (*.f32 (*.f32 (*.f32 (binary64->binary32 d1) (binary64->binary32 d1)) (binary64->binary32 d1)) (binary64->binary32 d1)))
(binary32->binary64 (*.f32 (*.f32 (binary64->binary32 d1) (binary64->binary32 d1)) (*.f32 (binary64->binary32 d1) (binary64->binary32 d1))))
(binary32->binary64 (*.f32 (binary64->binary32 d1) (pow.f32 (binary64->binary32 d1) 3)))
(binary32->binary64 (pow.f32 (binary64->binary32 d1) 4))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) d1)))
(binary32->binary64 (binary64->binary32 (pow.f64 d1 3)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 d1 d1) d1)))
(binary32->binary64 (binary64->binary32 (pow.f64 d1 3)))
(binary32->binary64 (*.f32 (*.f32 (binary64->binary32 d1) (binary64->binary32 d1)) (binary64->binary32 d1)))
(binary32->binary64 (*.f32 (binary64->binary32 d1) (*.f32 (binary64->binary32 d1) (binary64->binary32 d1))))
(binary32->binary64 (pow.f32 (binary64->binary32 d1) 3))

eval6.0ms (0.2%)

Compiler

Compiled 475 to 124 computations (73.9% saved)

prune8.0ms (0.3%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New42143
Fresh000
Picked033
Done000
Total42446
Accuracy
100.0%
Counts
46 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 d1 4)
99.9%
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
99.8%
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
3.8%
1
100.0%
(pow.f64 d1 4)
99.9%
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
99.8%
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
3.8%
1
Compiler

Compiled 44 to 24 computations (45.5% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune3.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Accuracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 d1 4)
99.9%
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
99.8%
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
3.8%
1
100.0%
(pow.f64 d1 4)
99.9%
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
99.8%
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
3.8%
1
Compiler

Compiled 44 to 24 computations (45.5% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune3.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Accuracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 d1 4)
99.9%
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
99.8%
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
3.8%
1
100.0%
(pow.f64 d1 4)
99.9%
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
99.8%
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
3.8%
1
Compiler

Compiled 44 to 24 computations (45.5% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune3.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Accuracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 d1 4)
99.9%
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
99.8%
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
3.8%
1
Compiler

Compiled 41 to 20 computations (51.2% saved)

regimes7.0ms (0.3%)

Counts
4 → 1
Calls
Call 1
Inputs
1
(*.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:

4.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 29 to 13 computations (55.2% saved)

regimes7.0ms (0.2%)

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

Compiled 26 to 11 computations (57.7% saved)

regimes5.0ms (0.2%)

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

1 calls:

4.0ms
d1
Results
AccuracySegmentsBranch
99.8%1d1
Compiler

Compiled 11 to 5 computations (54.5% saved)

regimes3.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
1
Outputs
1
Calls

1 calls:

3.0ms
d1
Results
AccuracySegmentsBranch
3.8%1d1
Compiler

Compiled 4 to 3 computations (25% saved)

simplify8.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01046
11846
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(pow.f64 d1 4)
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
(*.f64 (*.f64 d1 d1) (*.f64 d1 d1))
1
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))
1
Compiler

Compiled 22 to 12 computations (45.5% saved)

soundness1.0s (38.5%)

Rules
3436×fma-def
3436×fma-def
2222×prod-exp
1448×fma-neg
1448×fma-neg
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01157
12939
27421
315721
427721
556821
6117621
7261521
8415821
9519021
10621921
11675421
12733021
01157
12939
27421
315721
427721
556821
6117621
7261521
8415821
9519021
10621921
11675421
12733021
0739
11421
23921
39221
43053
515963
616043
716323
817393
924963
1046203
Stop Event
node limit
node limit
node limit
Compiler

Compiled 355 to 203 computations (42.8% saved)

end0.0ms (0%)

preprocess36.0ms (1.3%)

Remove

(abs d1)

Compiler

Compiled 70 to 36 computations (48.6% saved)

Profiling

Loading profile data...