sqrt E (should all be same)

Time bar (total: 1.4min)

analyze1.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 10 to 8 computations (20% saved)

sample1.0s (1.2%)

Results
1.0s8256×body256valid
Bogosity

preprocess177.0ms (0.2%)

Algorithm
egg-herbie
Rules
1600×distribute-lft-out
1216×associate-+r+
768×fma-neg
748×distribute-lft-neg-in
740×*-commutative
Problems
134×No Errors
122×(sqrt.f64 (+.f64 (pow.f64 x 2) (pow.f64 x 2)))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01588
13156
27956
323856
496456
5266656
6555756
Stop Event
node limit
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (pow.f64 x 2) (pow.f64 x 2)))
(sqrt.f64 (+.f64 (pow.f64 x 2) (pow.f64 x 2)))
(sqrt.f64 (+.f64 (pow.f64 (neg.f64 x) 2) (pow.f64 (neg.f64 x) 2)))
(neg.f64 (sqrt.f64 (+.f64 (pow.f64 (neg.f64 x) 2) (pow.f64 (neg.f64 x) 2))))
Outputs
(sqrt.f64 (+.f64 (pow.f64 x 2) (pow.f64 x 2)))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(hypot.f64 x x)
(sqrt.f64 (+.f64 (pow.f64 x 2) (pow.f64 x 2)))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(hypot.f64 x x)
(sqrt.f64 (+.f64 (pow.f64 (neg.f64 x) 2) (pow.f64 (neg.f64 x) 2)))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(hypot.f64 x x)
(neg.f64 (sqrt.f64 (+.f64 (pow.f64 (neg.f64 x) 2) (pow.f64 (neg.f64 x) 2))))
(neg.f64 (sqrt.f64 (*.f64 2 (pow.f64 (neg.f64 x) 2))))
(neg.f64 (hypot.f64 x x))
Symmetry

(abs x)

Compiler

Compiled 31 to 23 computations (25.8% saved)

eval0.0ms (0%)

Compiler

Compiled 10 to 7 computations (30% saved)

prune3.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x x)
55.8%
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
100.0%
(hypot.f64 x x)
55.8%
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
Compiler

Compiled 22 to 16 computations (27.3% saved)

localize39.0ms (0%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
100.0%
(hypot.f64 x x)
100.0%
(*.f64 2 (pow.f64 x 2))
55.8%
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
Compiler

Compiled 22 to 15 computations (31.8% saved)

series5.0ms (0%)

Counts
3 → 24
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(hypot.f64 x x)
1.0ms
x
@0
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
1.0ms
x
@inf
(hypot.f64 x x)
1.0ms
x
@inf
(*.f64 2 (pow.f64 x 2))
0.0ms
x
@0
(hypot.f64 x x)

rewrite143.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
358×*-commutative
334×exp-prod
302×unpow-prod-down
298×log-prod
297×*-un-lft-identity
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01160
111239
212063
Stop Event
node limit
Counts
3 → 3
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(*.f64 2 (pow.f64 x 2))
(hypot.f64 x x)
Outputs
0
0
0

simplify14.0ms (0%)

Algorithm
egg-herbie
Rules
28×fma-def
28×+-commutative
22×*-commutative
20×associate-+l-
16×associate-+r+
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012371
117371
230371
335371
439371
558371
6100371
7111371
8123371
9156371
Stop Event
saturated
Counts
27 → 5
Calls
Call 1
Inputs
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
0
0
0
Outputs
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(neg.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 x (neg.f64 (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(neg.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 x (neg.f64 (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(neg.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 x (neg.f64 (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(neg.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 x (neg.f64 (sqrt.f64 2)))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(neg.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 x (neg.f64 (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(neg.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 x (neg.f64 (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(neg.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 x (neg.f64 (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(neg.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 x (neg.f64 (sqrt.f64 2)))
0
0
0

eval1.0ms (0%)

Compiler

Compiled 22 to 18 computations (18.2% saved)

prune3.0ms (0%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New325
Fresh000
Picked112
Done000
Total437
Accuracy
100.0%
Counts
7 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x x)
99.4%
(*.f64 x (sqrt.f64 2))
3.7%
0
100.0%
(hypot.f64 x x)
99.4%
(*.f64 x (sqrt.f64 2))
3.7%
0
Compiler

Compiled 22 to 16 computations (27.3% saved)

localize31.0ms (0%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
99.4%
(*.f64 x (sqrt.f64 2))
Compiler

Compiled 10 to 8 computations (20% saved)

series0.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(*.f64 x (sqrt.f64 2))
0.0ms
x
@inf
(*.f64 x (sqrt.f64 2))
0.0ms
x
@0
(*.f64 x (sqrt.f64 2))

rewrite47.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
1190×associate-*r*
882×associate-*l*
262×*-commutative
258×exp-prod
246×log-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
16714
273314
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(*.f64 x (sqrt.f64 2))
Outputs
(+.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) -1)
(+.f64 0 (*.f64 x (sqrt.f64 2)))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 8)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 2)))))
(-.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) 1)
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) (+.f64 (*.f64 x (sqrt.f64 2)) 1)) 1) (+.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) 1))
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) (+.f64 (*.f64 x (sqrt.f64 2)) 1)) (+.f64 1 (+.f64 (*.f64 x (sqrt.f64 2)) 1))))
(pow.f64 (*.f64 x (sqrt.f64 2)) 1)
(pow.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) 2)
(pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 3)
(pow.f64 (*.f64 2 (pow.f64 x 2)) 1/2)
(pow.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 8)) 1/3)
(pow.f64 (E.f64) (log.f64 (*.f64 x (sqrt.f64 2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (sqrt.f64 2))))) (sqrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(fabs.f64 (*.f64 x (sqrt.f64 2)))
(log.f64 (pow.f64 (exp.f64 x) (sqrt.f64 2)))
(cbrt.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 8)))
(expm1.f64 (log1p.f64 (*.f64 x (sqrt.f64 2))))
(exp.f64 (log.f64 (*.f64 x (sqrt.f64 2))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2)))) 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (sqrt.f64 2)))) 1/3))
(log1p.f64 (expm1.f64 (*.f64 x (sqrt.f64 2))))

simplify42.0ms (0%)

Algorithm
egg-herbie
Rules
946×unswap-sqr
784×distribute-lft-out
696×*-commutative
522×associate-+l-
512×associate--l+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
080586
1192582
2532571
32544571
Stop Event
node limit
Counts
25 → 30
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) -1)
(+.f64 0 (*.f64 x (sqrt.f64 2)))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 8)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 2)))))
(-.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) 1)
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) (+.f64 (*.f64 x (sqrt.f64 2)) 1)) 1) (+.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) 1))
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) (+.f64 (*.f64 x (sqrt.f64 2)) 1)) (+.f64 1 (+.f64 (*.f64 x (sqrt.f64 2)) 1))))
(pow.f64 (*.f64 x (sqrt.f64 2)) 1)
(pow.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) 2)
(pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 3)
(pow.f64 (*.f64 2 (pow.f64 x 2)) 1/2)
(pow.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 8)) 1/3)
(pow.f64 (E.f64) (log.f64 (*.f64 x (sqrt.f64 2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (sqrt.f64 2))))) (sqrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(fabs.f64 (*.f64 x (sqrt.f64 2)))
(log.f64 (pow.f64 (exp.f64 x) (sqrt.f64 2)))
(cbrt.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 8)))
(expm1.f64 (log1p.f64 (*.f64 x (sqrt.f64 2))))
(exp.f64 (log.f64 (*.f64 x (sqrt.f64 2))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2)))) 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (sqrt.f64 2)))) 1/3))
(log1p.f64 (expm1.f64 (*.f64 x (sqrt.f64 2))))
Outputs
(+.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) -1)
(*.f64 x (sqrt.f64 2))
(+.f64 0 (*.f64 x (sqrt.f64 2)))
(*.f64 x (sqrt.f64 2))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 8)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 2)))))
(*.f64 x (sqrt.f64 2))
(-.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) 1)
(*.f64 x (sqrt.f64 2))
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) (+.f64 (*.f64 x (sqrt.f64 2)) 1)) 1) (+.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) 1))
(*.f64 x (sqrt.f64 2))
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (*.f64 x (sqrt.f64 2)) 1) (+.f64 (*.f64 x (sqrt.f64 2)) 1)) (+.f64 1 (+.f64 (*.f64 x (sqrt.f64 2)) 1))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x (sqrt.f64 2) 1) 3) -1) (fma.f64 (fma.f64 x (sqrt.f64 2) 1) (fma.f64 x (sqrt.f64 2) 1) (+.f64 (*.f64 x (sqrt.f64 2)) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 x (sqrt.f64 2) 1) 3)) (fma.f64 (fma.f64 x (sqrt.f64 2) 1) (fma.f64 x (sqrt.f64 2) 1) (fma.f64 x (sqrt.f64 2) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 x (sqrt.f64 2) 1) 3)) (+.f64 1 (*.f64 (fma.f64 x (sqrt.f64 2) 1) (fma.f64 x (sqrt.f64 2) 2))))
(pow.f64 (*.f64 x (sqrt.f64 2)) 1)
(*.f64 x (sqrt.f64 2))
(pow.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) 2)
(*.f64 x (sqrt.f64 2))
(pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 3)
(*.f64 x (sqrt.f64 2))
(pow.f64 (*.f64 2 (pow.f64 x 2)) 1/2)
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(pow.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 8)) 1/3)
(cbrt.f64 (*.f64 (sqrt.f64 8) (pow.f64 x 3)))
(pow.f64 (E.f64) (log.f64 (*.f64 x (sqrt.f64 2))))
(*.f64 x (sqrt.f64 2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (sqrt.f64 2))))) (sqrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(fabs.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 x (sqrt.f64 2))
(log.f64 (pow.f64 (exp.f64 x) (sqrt.f64 2)))
(*.f64 x (sqrt.f64 2))
(cbrt.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 8)))
(cbrt.f64 (*.f64 (sqrt.f64 8) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 x (sqrt.f64 2))))
(*.f64 x (sqrt.f64 2))
(exp.f64 (log.f64 (*.f64 x (sqrt.f64 2))))
(*.f64 x (sqrt.f64 2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2)))) 2))
(*.f64 x (sqrt.f64 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2)))) 3))
(*.f64 x (sqrt.f64 2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (sqrt.f64 2)))) 1/3))
(*.f64 x (sqrt.f64 2))
(log1p.f64 (expm1.f64 (*.f64 x (sqrt.f64 2))))
(*.f64 x (sqrt.f64 2))

eval8.0ms (0%)

Compiler

Compiled 339 to 288 computations (15% saved)

prune6.0ms (0%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New30030
Fresh011
Picked011
Done011
Total30333
Accuracy
100.0%
Counts
33 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x x)
99.4%
(*.f64 x (sqrt.f64 2))
3.7%
0
100.0%
(hypot.f64 x x)
99.4%
(*.f64 x (sqrt.f64 2))
3.7%
0
Compiler

Compiled 22 to 16 computations (27.3% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done022
Total033
Accuracy
100.0%
Counts
3 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x x)
99.4%
(*.f64 x (sqrt.f64 2))
3.7%
0
100.0%
(hypot.f64 x x)
99.4%
(*.f64 x (sqrt.f64 2))
3.7%
0
Compiler

Compiled 22 to 16 computations (27.3% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done022
Total033
Accuracy
100.0%
Counts
3 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x x)
99.4%
(*.f64 x (sqrt.f64 2))
3.7%
0
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes24.0ms (0%)

Counts
5 → 1
Calls
Call 1
Inputs
0
(hypot.f64 x x)
(*.f64 x (sqrt.f64 2))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(sqrt.f64 (+.f64 (pow.f64 x 2) (pow.f64 x 2)))
Outputs
(hypot.f64 x x)
Calls

4 calls:

11.0ms
(+.f64 (pow.f64 x 2) (pow.f64 x 2))
4.0ms
x
3.0ms
(sqrt.f64 (+.f64 (pow.f64 x 2) (pow.f64 x 2)))
3.0ms
(pow.f64 x 2)
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(sqrt.f64 (+.f64 (pow.f64 x 2) (pow.f64 x 2)))
100.0%1(+.f64 (pow.f64 x 2) (pow.f64 x 2))
100.0%1(pow.f64 x 2)
Compiler

Compiled 46 to 34 computations (26.1% saved)

regimes4.0ms (0%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
3.7%1x
Compiler

Compiled 4 to 3 computations (25% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(hypot.f64 x x)
0
Outputs
(hypot.f64 x x)
0
Compiler

Compiled 6 to 4 computations (33.3% saved)

soundness1.4min (98.1%)

Rules
1600×distribute-lft-out
1600×distribute-lft-out
1216×associate-+r+
1216×associate-+r+
768×fma-neg
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01588
13156
27956
323856
496456
5266656
6555756
01588
13156
27956
323856
496456
5266656
6555756
01160
111239
212063
Stop Event
node limit
node limit
node limit
Compiler

Compiled 43 to 27 computations (37.2% saved)

end0.0ms (0%)

preprocess27.0ms (0%)

Remove

(abs x)

Compiler

Compiled 52 to 32 computations (38.5% saved)

Profiling

Loading profile data...