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)

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

sample760.0ms (58.5%)

Results
378.0ms5176×256valid
214.0ms3079×256infinite
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 202.0ms
Operation ival-mult, time spent: 193.0ms, 96.0% of total-time
Operation const, time spent: 9.0ms, 4.0% of total-time
Bogosity

preprocess115.0ms (8.9%)

Algorithm
egg-herbie
Rules
112×fma-define
34×distribute-lft-neg-in
32×associate-*r*
28×fma-neg
24×unsub-neg
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
320544
426044
531644
Stop Event
saturated
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)

Results
25.0ms324×256valid
15.0ms187×256infinite
0.0ms256infinite
Compiler

Compiled 44 to 14 computations (68.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
Operation ival-mult, time spent: 14.0ms, 94.0% of total-time
Operation const, time spent: 1.0ms, 7.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)

localize43.0ms (3.3%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
99.9%
(*.f64 (*.f64 (*.f64 d1 d1) d1) d1)
99.9%
(*.f64 (*.f64 d1 d1) d1)
Results
20.0ms162×256valid
12.0ms93×256infinite
0.0ms256infinite
Compiler

Compiled 23 to 8 computations (65.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
Operation ival-mult, time spent: 7.0ms, 47.0% of total-time
Operation ival-pow, time spent: 7.0ms, 47.0% of total-time
Operation const, time spent: 1.0ms, 7.0% of total-time

series3.0ms (0.2%)

Counts
2 → 24
Calls
Call 1
Inputs
#<alt (*.f64 (*.f64 d1 d1) d1)>
#<alt (*.f64 (*.f64 (*.f64 d1 d1) d1) d1)>
Outputs
#<alt (pow.f64 d1 3)>
#<alt (pow.f64 d1 3)>
#<alt (pow.f64 d1 3)>
#<alt (pow.f64 d1 3)>
#<alt (pow.f64 d1 3)>
#<alt (pow.f64 d1 3)>
#<alt (pow.f64 d1 3)>
#<alt (pow.f64 d1 3)>
#<alt (pow.f64 d1 3)>
#<alt (pow.f64 d1 3)>
#<alt (pow.f64 d1 3)>
#<alt (pow.f64 d1 3)>
#<alt (pow.f64 d1 4)>
#<alt (pow.f64 d1 4)>
#<alt (pow.f64 d1 4)>
#<alt (pow.f64 d1 4)>
#<alt (pow.f64 d1 4)>
#<alt (pow.f64 d1 4)>
#<alt (pow.f64 d1 4)>
#<alt (pow.f64 d1 4)>
#<alt (pow.f64 d1 4)>
#<alt (pow.f64 d1 4)>
#<alt (pow.f64 d1 4)>
#<alt (pow.f64 d1 4)>
Calls

6 calls:

TimeVariablePointExpression
1.0ms
d1
@0
(* (* d1 d1) d1)
0.0ms
d1
@-inf
(* (* d1 d1) d1)
0.0ms
d1
@inf
(* (* d1 d1) d1)
0.0ms
d1
@0
(* (* (* d1 d1) d1) d1)
0.0ms
d1
@inf
(* (* (* d1 d1) d1) d1)

rewrite175.0ms (13.5%)

Algorithm
batch-egg-rewrite
Rules
972×associate-*l*
584×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))

simplify89.0ms (6.9%)

Algorithm
egg-herbie
Rules
1360×div-sub
750×prod-exp
694×associate-+l-
614×associate-+r-
560×fma-neg
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01498589935928
12778589935916
26578589935894
325128589935894
463568589935894
Stop Event
node limit
Counts
82 → 69
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 (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)
(cbrt.f64 (pow.f64 d1 9))
(pow.f64 (pow.f64 d1 3/2) 2)
(pow.f64 d1 3)
(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 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))
(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))
(cbrt.f64 (pow.f64 d1 9))
(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 (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 (pow.f64 d1 4) 1)
(pow.f64 d1 4)
(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 d1 4)
(pow.f64 (pow.f64 d1 12) 1/3)
(cbrt.f64 (pow.f64 d1 12))
(pow.f64 (sqrt.f64 d1) 8)
(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 (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))
(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 (pow.f64 (cbrt.f64 d1) 4) 3)
(exp.f64 (*.f64 (log.f64 (pow.f64 d1 12)) 1/3))
(cbrt.f64 (pow.f64 d1 12))

eval19.0ms (1.5%)

Compiler

Compiled 716 to 554 computations (22.6% saved)

prune10.0ms (0.7%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New69069
Fresh000
Picked022
Done000
Total69271
Accuracy
100.0%
Counts
71 → 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)

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

soundness21.0ms (1.6%)

Rules
112×fma-define
34×distribute-lft-neg-in
32×associate-*r*
28×fma-neg
24×unsub-neg
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
014128
13980
211544
320544
426044
531644
Stop Event
saturated
Compiler

Compiled 21 to 13 computations (38.1% saved)

end0.0ms (0%)

preprocess49.0ms (3.8%)

Remove

(abs d1)

Compiler

Compiled 70 to 44 computations (37.1% saved)

Profiling

Loading profile data...