Graphics.Rendering.Chart.Plot.Vectors:renderPlotVectors from Chart-1.5.3

Time bar (total: 3.9s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 12 to 9 computations (25% saved)

sample1.3s (33.2%)

Results
865.0ms5903×body256valid
164.0ms627×body1024valid
137.0ms729×body512valid
116.0ms990×body256infinite
2.0msbody2048valid
Bogosity

preprocess201.0ms (5.1%)

Algorithm
egg-herbie
Rules
5896×fma-def
1004×unsub-neg
934×sub-neg
876×fma-neg
706×associate-+l-
Iterations

Useful iterations: 12 (0.0ms)

IterNodesCost
020137
141109
2111109
3421109
4195195
5473995
6565595
7594195
8598495
9599995
10600295
11600295
12600275
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 x (*.f64 (-.f64 1 x) (-.f64 1 y)))
(+.f64 x (*.f64 (-.f64 1 x) (-.f64 1 y)))
(+.f64 (neg.f64 x) (*.f64 (-.f64 1 (neg.f64 x)) (-.f64 1 y)))
(+.f64 x (*.f64 (-.f64 1 x) (-.f64 1 (neg.f64 y))))
(+.f64 y (*.f64 (-.f64 1 y) (-.f64 1 x)))
Outputs
(+.f64 x (*.f64 (-.f64 1 x) (-.f64 1 y)))
(fma.f64 (-.f64 1 x) (-.f64 1 y) x)
(+.f64 1 (*.f64 y (+.f64 x -1)))
(fma.f64 y (+.f64 x -1) 1)
(+.f64 x (*.f64 (-.f64 1 x) (-.f64 1 y)))
(fma.f64 (-.f64 1 x) (-.f64 1 y) x)
(+.f64 1 (*.f64 y (+.f64 x -1)))
(fma.f64 y (+.f64 x -1) 1)
(+.f64 (neg.f64 x) (*.f64 (-.f64 1 (neg.f64 x)) (-.f64 1 y)))
(+.f64 (neg.f64 x) (*.f64 (-.f64 1 y) (-.f64 1 (neg.f64 x))))
(-.f64 (*.f64 (-.f64 1 y) (+.f64 x 1)) x)
(fma.f64 (-.f64 1 y) (+.f64 x 1) (neg.f64 x))
(-.f64 1 (*.f64 y (+.f64 x 1)))
(-.f64 1 (fma.f64 x y y))
(+.f64 x (*.f64 (-.f64 1 x) (-.f64 1 (neg.f64 y))))
(fma.f64 (-.f64 1 x) (+.f64 1 y) x)
(+.f64 1 (fma.f64 x (neg.f64 y) y))
(-.f64 y (fma.f64 x y -1))
(+.f64 y (*.f64 (-.f64 1 y) (-.f64 1 x)))
(+.f64 y (*.f64 (-.f64 1 x) (-.f64 1 y)))
(fma.f64 (-.f64 1 x) (-.f64 1 y) y)
(+.f64 1 (fma.f64 x y (neg.f64 x)))
(-.f64 (fma.f64 x y 1) x)
Compiler

Compiled 11 to 8 computations (27.3% saved)

eval3.0ms (0.1%)

Compiler

Compiled 23 to 16 computations (30.4% saved)

prune5.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 1 (*.f64 y (+.f64 x -1)))
100.0%
(+.f64 1 (*.f64 y (+.f64 x -1)))
Compiler

Compiled 18 to 14 computations (22.2% saved)

localize106.0ms (2.7%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 y (+.f64 x -1))
Compiler

Compiled 22 to 15 computations (31.8% saved)

series9.0ms (0.2%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
3.0ms
y
@0
(*.f64 y (+.f64 x -1))
2.0ms
x
@-inf
(*.f64 y (+.f64 x -1))
1.0ms
x
@inf
(*.f64 y (+.f64 x -1))
1.0ms
y
@inf
(*.f64 y (+.f64 x -1))
1.0ms
y
@-inf
(*.f64 y (+.f64 x -1))

rewrite172.0ms (4.4%)

Algorithm
batch-egg-rewrite
Rules
1594×pow1
1474×add-exp-log
1474×log1p-expm1-u
1474×expm1-log1p-u
1448×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
115313
2198613
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(*.f64 y (+.f64 x -1))
Outputs
(+.f64 (*.f64 y x) (neg.f64 y))
(+.f64 (neg.f64 y) (*.f64 y x))
(+.f64 (*.f64 (*.f64 y x) 1) (*.f64 (neg.f64 y) 1))
(-.f64 (+.f64 1 (*.f64 y (+.f64 x -1))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (neg.f64 y) 3)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (-.f64 (*.f64 (neg.f64 y) (neg.f64 y)) (*.f64 (*.f64 y x) (neg.f64 y)))))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (neg.f64 y) (neg.f64 y))) (-.f64 (*.f64 y x) (neg.f64 y)))
(/.f64 (*.f64 y (+.f64 -1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 (*.f64 x -1))))
(/.f64 (*.f64 y (fma.f64 x x -1)) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 x 3)) y) (fma.f64 x x (-.f64 1 (*.f64 x -1))))
(/.f64 (*.f64 (fma.f64 x x -1) y) (+.f64 x 1))
(pow.f64 (*.f64 y (+.f64 x -1)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1))) 3)
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 x -1))) 2)
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 x -1)) y))
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 x -1))))
(exp.f64 (log.f64 (*.f64 y (+.f64 x -1))))
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 x -1))))
(fma.f64 y x (neg.f64 y))
(fma.f64 x y (neg.f64 y))

simplify623.0ms (15.8%)

Algorithm
egg-herbie
Rules
862×fma-neg
846×div-sub
632×distribute-lft-neg-out
572×associate-+r+
560×fma-def
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
075710
1220688
2795676
33453674
Stop Event
node limit
Counts
46 → 37
Calls
Call 1
Inputs
(*.f64 y (-.f64 x 1))
(*.f64 y (-.f64 x 1))
(*.f64 y (-.f64 x 1))
(*.f64 y (-.f64 x 1))
(*.f64 y (-.f64 x 1))
(*.f64 y (-.f64 x 1))
(*.f64 y (-.f64 x 1))
(*.f64 y (-.f64 x 1))
(*.f64 y (-.f64 x 1))
(*.f64 y (-.f64 x 1))
(*.f64 y (-.f64 x 1))
(*.f64 y (-.f64 x 1))
(*.f64 -1 y)
(+.f64 (*.f64 -1 y) (*.f64 x y))
(+.f64 (*.f64 -1 y) (*.f64 x y))
(+.f64 (*.f64 -1 y) (*.f64 x y))
(*.f64 x y)
(+.f64 (*.f64 -1 y) (*.f64 x y))
(+.f64 (*.f64 -1 y) (*.f64 x y))
(+.f64 (*.f64 -1 y) (*.f64 x y))
(*.f64 x y)
(+.f64 (*.f64 -1 y) (*.f64 x y))
(+.f64 (*.f64 -1 y) (*.f64 x y))
(+.f64 (*.f64 -1 y) (*.f64 x y))
(+.f64 (*.f64 y x) (neg.f64 y))
(+.f64 (neg.f64 y) (*.f64 y x))
(+.f64 (*.f64 (*.f64 y x) 1) (*.f64 (neg.f64 y) 1))
(-.f64 (+.f64 1 (*.f64 y (+.f64 x -1))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (neg.f64 y) 3)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (-.f64 (*.f64 (neg.f64 y) (neg.f64 y)) (*.f64 (*.f64 y x) (neg.f64 y)))))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (neg.f64 y) (neg.f64 y))) (-.f64 (*.f64 y x) (neg.f64 y)))
(/.f64 (*.f64 y (+.f64 -1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 (*.f64 x -1))))
(/.f64 (*.f64 y (fma.f64 x x -1)) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 x 3)) y) (fma.f64 x x (-.f64 1 (*.f64 x -1))))
(/.f64 (*.f64 (fma.f64 x x -1) y) (+.f64 x 1))
(pow.f64 (*.f64 y (+.f64 x -1)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1))) 3)
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 x -1))) 2)
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 x -1)) y))
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 x -1))))
(exp.f64 (log.f64 (*.f64 y (+.f64 x -1))))
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 x -1))))
(fma.f64 y x (neg.f64 y))
(fma.f64 x y (neg.f64 y))
Outputs
(*.f64 y (-.f64 x 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(*.f64 y (-.f64 x 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(*.f64 y (-.f64 x 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(*.f64 y (-.f64 x 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(*.f64 y (-.f64 x 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(*.f64 y (-.f64 x 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(*.f64 y (-.f64 x 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(*.f64 y (-.f64 x 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(*.f64 y (-.f64 x 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(*.f64 y (-.f64 x 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(*.f64 y (-.f64 x 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(*.f64 y (-.f64 x 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(*.f64 -1 y)
(neg.f64 y)
(+.f64 (*.f64 -1 y) (*.f64 x y))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(+.f64 (*.f64 -1 y) (*.f64 x y))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(+.f64 (*.f64 -1 y) (*.f64 x y))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(*.f64 x y)
(*.f64 y x)
(+.f64 (*.f64 -1 y) (*.f64 x y))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(+.f64 (*.f64 -1 y) (*.f64 x y))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(+.f64 (*.f64 -1 y) (*.f64 x y))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(*.f64 x y)
(*.f64 y x)
(+.f64 (*.f64 -1 y) (*.f64 x y))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(+.f64 (*.f64 -1 y) (*.f64 x y))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(+.f64 (*.f64 -1 y) (*.f64 x y))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(+.f64 (*.f64 y x) (neg.f64 y))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(+.f64 (neg.f64 y) (*.f64 y x))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(+.f64 (*.f64 (*.f64 y x) 1) (*.f64 (neg.f64 y) 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(-.f64 (+.f64 1 (*.f64 y (+.f64 x -1))) 1)
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (neg.f64 y) 3)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (-.f64 (*.f64 (neg.f64 y) (neg.f64 y)) (*.f64 (*.f64 y x) (neg.f64 y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (neg.f64 (pow.f64 y 3))) (fma.f64 (*.f64 y x) (*.f64 y x) (*.f64 (neg.f64 y) (-.f64 (neg.f64 y) (*.f64 y x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (fma.f64 y (*.f64 x (*.f64 y x)) (fma.f64 y y (*.f64 y (*.f64 y x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 x (*.f64 y (fma.f64 y x y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (*.f64 y (*.f64 y (+.f64 x (fma.f64 x x 1)))))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (neg.f64 y) (neg.f64 y))) (-.f64 (*.f64 y x) (neg.f64 y)))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(/.f64 (*.f64 y (+.f64 -1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 (*.f64 x -1))))
(/.f64 y (/.f64 (fma.f64 x x (-.f64 1 (*.f64 x -1))) (+.f64 -1 (pow.f64 x 3))))
(/.f64 y (/.f64 (fma.f64 x x (+.f64 x 1)) (+.f64 -1 (pow.f64 x 3))))
(*.f64 y (/.f64 (+.f64 -1 (pow.f64 x 3)) (+.f64 x (fma.f64 x x 1))))
(/.f64 (*.f64 y (fma.f64 x x -1)) (+.f64 x 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 x 3)) y) (fma.f64 x x (-.f64 1 (*.f64 x -1))))
(/.f64 y (/.f64 (fma.f64 x x (-.f64 1 (*.f64 x -1))) (+.f64 -1 (pow.f64 x 3))))
(/.f64 y (/.f64 (fma.f64 x x (+.f64 x 1)) (+.f64 -1 (pow.f64 x 3))))
(*.f64 y (/.f64 (+.f64 -1 (pow.f64 x 3)) (+.f64 x (fma.f64 x x 1))))
(/.f64 (*.f64 (fma.f64 x x -1) y) (+.f64 x 1))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(pow.f64 (*.f64 y (+.f64 x -1)) 1)
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1))) 3)
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 3) 1/3)
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 x -1))) 2)
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 2))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(log.f64 (pow.f64 (exp.f64 (+.f64 x -1)) y))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 3))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 x -1))))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(exp.f64 (log.f64 (*.f64 y (+.f64 x -1))))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 x -1))))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(fma.f64 y x (neg.f64 y))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))
(fma.f64 x y (neg.f64 y))
(-.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x -1))

eval28.0ms (0.7%)

Compiler

Compiled 466 to 281 computations (39.7% saved)

prune28.0ms (0.7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New35237
Fresh000
Picked011
Done000
Total35338
Accuracy
100.0%
Counts
38 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 1 (*.f64 y (+.f64 x -1)))
77.8%
(+.f64 1 (*.f64 y x))
58.2%
(+.f64 1 (neg.f64 y))
100.0%
(+.f64 1 (*.f64 y (+.f64 x -1)))
77.8%
(+.f64 1 (*.f64 y x))
58.2%
(+.f64 1 (neg.f64 y))
Compiler

Compiled 44 to 34 computations (22.7% saved)

localize29.0ms (0.7%)

Compiler

Compiled 22 to 11 computations (50% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked022
Done011
Total033
Accuracy
100.0%
Counts
3 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 1 (*.f64 y (+.f64 x -1)))
77.8%
(+.f64 1 (*.f64 y x))
58.2%
(+.f64 1 (neg.f64 y))
Compiler

Compiled 49 to 36 computations (26.5% saved)

regimes19.0ms (0.5%)

Counts
4 → 1
Calls
Call 1
Inputs
(+.f64 1 (neg.f64 y))
(+.f64 1 (*.f64 y x))
(+.f64 1 (*.f64 y (+.f64 x -1)))
(+.f64 x (*.f64 (-.f64 1 x) (-.f64 1 y)))
Outputs
(+.f64 1 (*.f64 y (+.f64 x -1)))
Calls

4 calls:

5.0ms
x
4.0ms
y
3.0ms
(-.f64 1 y)
3.0ms
(+.f64 x (*.f64 (-.f64 1 x) (-.f64 1 y)))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(+.f64 x (*.f64 (-.f64 1 x) (-.f64 1 y)))
100.0%1(-.f64 1 y)
Compiler

Compiled 49 to 35 computations (28.6% saved)

regimes34.0ms (0.9%)

Counts
2 → 3
Calls
Call 1
Inputs
(+.f64 1 (neg.f64 y))
(+.f64 1 (*.f64 y x))
Outputs
(+.f64 1 (*.f64 y x))
(+.f64 1 (neg.f64 y))
(+.f64 1 (*.f64 y x))
Calls

2 calls:

24.0ms
x
9.0ms
y
Results
AccuracySegmentsBranch
99.4%3x
80.0%3y
Compiler

Compiled 17 to 12 computations (29.4% saved)

regimes9.0ms (0.2%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(+.f64 1 (neg.f64 y))
Outputs
(+.f64 1 (neg.f64 y))
Calls

2 calls:

5.0ms
x
3.0ms
y
Results
AccuracySegmentsBranch
58.2%1y
58.2%1x
Compiler

Compiled 12 to 9 computations (25% saved)

bsearch53.0ms (1.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
35.0ms
4.5449089166740556e-14
5962.702532163576
18.0ms
-2.671278357101053
-1.1833211799544086e-5
Results
39.0ms303×body256valid
0.0msbody256infinite
Compiler

Compiled 301 to 240 computations (20.3% saved)

simplify18.0ms (0.5%)

Algorithm
egg-herbie
Rules
10×+-commutative
*-commutative
unsub-neg
sub-neg
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02171
13771
23971
34071
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 1 (*.f64 y (+.f64 x -1)))
(if (<=.f64 x -1) (+.f64 1 (*.f64 y x)) (if (<=.f64 x 1) (+.f64 1 (neg.f64 y)) (+.f64 1 (*.f64 y x))))
(+.f64 1 (neg.f64 y))
Outputs
(+.f64 1 (*.f64 y (+.f64 x -1)))
(if (<=.f64 x -1) (+.f64 1 (*.f64 y x)) (if (<=.f64 x 1) (+.f64 1 (neg.f64 y)) (+.f64 1 (*.f64 y x))))
(if (or (<=.f64 x -1) (not (<=.f64 x 1))) (+.f64 1 (*.f64 y x)) (-.f64 1 y))
(+.f64 1 (neg.f64 y))
(-.f64 1 y)
Compiler

Compiled 33 to 25 computations (24.2% saved)

soundness1.1s (28.4%)

Rules
5896×fma-def
1004×unsub-neg
934×sub-neg
876×fma-neg
862×fma-neg
Iterations

Useful iterations: 12 (1.0ms)

IterNodesCost
020137
141109
2111109
3421109
4195195
5473995
6565595
7594195
8598495
9599995
10600295
11600295
12600275
075710
1220688
2795676
33453674
075710
1220688
2795676
33453674
Stop Event
node limit
node limit
node limit
Compiler

Compiled 204 to 140 computations (31.4% saved)

end0.0ms (0%)

preprocess177.0ms (4.5%)

Compiler

Compiled 98 to 70 computations (28.6% saved)

Profiling

Loading profile data...