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

Time bar (total: 1.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)

sample794.0ms (42.5%)

Results
503.0ms5888×body256valid
102.0ms630×body1024valid
90.0ms672×body512valid
85.0ms1061×body256infinite
1.0msbody2048valid
Bogosity

preprocess201.0ms (10.8%)

Algorithm
egg-herbie
Rules
5896×fma-def
1004×unsub-neg
952×sub-neg
876×fma-neg
702×associate-+l-
Problems
207×No Errors
49×(+.f64 x (*.f64 (-.f64 1 x) (-.f64 1 y)))
Iterations

Useful iterations: 12 (0.0ms)

IterNodesCost
023182
144154
2114154
3424154
41951125
54744125
65705125
75997125
86040125
96055125
106058125
116058125
126058105
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 (-.f64 1 x) y))
(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 (-.f64 1 x) y))
(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)
(+.f64 1 (*.f64 y (-.f64 -1 x)))
(fma.f64 y (-.f64 -1 x) 1)
(+.f64 x (*.f64 (-.f64 1 x) (-.f64 1 (neg.f64 y))))
(fma.f64 (-.f64 1 x) (+.f64 1 y) x)
(+.f64 1 (*.f64 (-.f64 1 x) y))
(fma.f64 (-.f64 1 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 (*.f64 x (+.f64 y -1)))
(fma.f64 x (+.f64 y -1) 1)
Compiler

Compiled 39 to 27 computations (30.8% saved)

eval1.0ms (0%)

Compiler

Compiled 23 to 16 computations (30.4% saved)

prune1.0ms (0.1%)

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

Compiled 18 to 14 computations (22.2% saved)

localize28.0ms (1.5%)

Localize:

Found 1 expressions with local error:

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

Compiled 21 to 14 computations (33.3% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
y
@-inf
(*.f64 (-.f64 1 x) y)
0.0ms
x
@inf
(*.f64 (-.f64 1 x) y)
0.0ms
y
@0
(*.f64 (-.f64 1 x) y)
0.0ms
y
@inf
(*.f64 (-.f64 1 x) y)
0.0ms
x
@-inf
(*.f64 (-.f64 1 x) y)

rewrite91.0ms (4.9%)

Algorithm
batch-egg-rewrite
Rules
624×unpow-prod-down
458×log-prod
456×cbrt-prod
455×log1p-expm1-u
455×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01019
110019
2120619
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(*.f64 (-.f64 1 x) y)
Outputs
(+.f64 y (*.f64 y (neg.f64 x)))
(+.f64 y (*.f64 (neg.f64 x) y))
(+.f64 0 (*.f64 (-.f64 1 x) y))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(-.f64 (+.f64 1 (*.f64 (-.f64 1 x) y)) 1)
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 3))) (fma.f64 x (+.f64 1 x) 1))
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 2))) (+.f64 1 x))
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 3)) y) (fma.f64 x (+.f64 1 x) 1))
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 2)) y) (+.f64 1 x))
(pow.f64 (*.f64 (-.f64 1 x) y) 1)
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 3)
(pow.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 (-.f64 1 x) y)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (-.f64 1 x) y))) 2)) (cbrt.f64 (log.f64 (*.f64 (-.f64 1 x) y))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (-.f64 1 x) y)))) (sqrt.f64 (log.f64 (*.f64 (-.f64 1 x) y))))
(sqrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2))
(log.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))
(cbrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3))
(expm1.f64 (log1p.f64 (*.f64 (-.f64 1 x) y)))
(exp.f64 (log.f64 (*.f64 (-.f64 1 x) y)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y))) 2))
(log1p.f64 (expm1.f64 (*.f64 (-.f64 1 x) y)))
(fma.f64 1 y (*.f64 y (neg.f64 x)))
(fma.f64 1 y (*.f64 (neg.f64 x) y))
(fma.f64 y 1 (*.f64 y (neg.f64 x)))
(fma.f64 y 1 (*.f64 (neg.f64 x) y))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 y (neg.f64 x)))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 (neg.f64 x) y))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y (neg.f64 x)))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 (neg.f64 x) y))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y (neg.f64 x)))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 (neg.f64 x) y))

simplify68.0ms (3.7%)

Algorithm
egg-herbie
Rules
1674×log-prod
738×associate-*r*
662×associate-*l*
616×fma-neg
402×fma-def
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01031598
12291358
25931358
334581358
470671358
Stop Event
node limit
Counts
61 → 56
Calls
Call 1
Inputs
y
(+.f64 y (*.f64 -1 (*.f64 x y)))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 -1 (*.f64 x y))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 -1 (*.f64 x y))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(+.f64 y (*.f64 y (neg.f64 x)))
(+.f64 y (*.f64 (neg.f64 x) y))
(+.f64 0 (*.f64 (-.f64 1 x) y))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(-.f64 (+.f64 1 (*.f64 (-.f64 1 x) y)) 1)
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 3))) (fma.f64 x (+.f64 1 x) 1))
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 2))) (+.f64 1 x))
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 3)) y) (fma.f64 x (+.f64 1 x) 1))
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 2)) y) (+.f64 1 x))
(pow.f64 (*.f64 (-.f64 1 x) y) 1)
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 3)
(pow.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 (-.f64 1 x) y)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (-.f64 1 x) y))) 2)) (cbrt.f64 (log.f64 (*.f64 (-.f64 1 x) y))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (-.f64 1 x) y)))) (sqrt.f64 (log.f64 (*.f64 (-.f64 1 x) y))))
(sqrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2))
(log.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))
(cbrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3))
(expm1.f64 (log1p.f64 (*.f64 (-.f64 1 x) y)))
(exp.f64 (log.f64 (*.f64 (-.f64 1 x) y)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y))) 2))
(log1p.f64 (expm1.f64 (*.f64 (-.f64 1 x) y)))
(fma.f64 1 y (*.f64 y (neg.f64 x)))
(fma.f64 1 y (*.f64 (neg.f64 x) y))
(fma.f64 y 1 (*.f64 y (neg.f64 x)))
(fma.f64 y 1 (*.f64 (neg.f64 x) y))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 y (neg.f64 x)))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 (neg.f64 x) y))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y (neg.f64 x)))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 (neg.f64 x) y))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y (neg.f64 x)))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 (neg.f64 x) y))
Outputs
y
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(*.f64 -1 (*.f64 x y))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(*.f64 -1 (*.f64 x y))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(+.f64 y (*.f64 y (neg.f64 x)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(+.f64 y (*.f64 (neg.f64 x) y))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(+.f64 0 (*.f64 (-.f64 1 x) y))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(-.f64 (+.f64 1 (*.f64 (-.f64 1 x) y)) 1)
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 3))) (fma.f64 x (+.f64 1 x) 1))
(/.f64 y (/.f64 (fma.f64 x (+.f64 x 1) 1) (-.f64 1 (pow.f64 x 3))))
(*.f64 y (/.f64 (-.f64 1 (pow.f64 x 3)) (fma.f64 x (+.f64 x 1) 1)))
(/.f64 (-.f64 1 (pow.f64 x 3)) (/.f64 (fma.f64 x (+.f64 x 1) 1) y))
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 2))) (+.f64 1 x))
(/.f64 (-.f64 1 (pow.f64 x 2)) (/.f64 (+.f64 x 1) y))
(*.f64 (/.f64 y (+.f64 x 1)) (-.f64 1 (pow.f64 x 2)))
(*.f64 y (/.f64 (-.f64 1 (pow.f64 x 2)) (+.f64 x 1)))
(*.f64 (-.f64 1 (pow.f64 x 2)) (/.f64 y (+.f64 x 1)))
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 3)) y) (fma.f64 x (+.f64 1 x) 1))
(/.f64 y (/.f64 (fma.f64 x (+.f64 x 1) 1) (-.f64 1 (pow.f64 x 3))))
(*.f64 y (/.f64 (-.f64 1 (pow.f64 x 3)) (fma.f64 x (+.f64 x 1) 1)))
(/.f64 (-.f64 1 (pow.f64 x 3)) (/.f64 (fma.f64 x (+.f64 x 1) 1) y))
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 2)) y) (+.f64 1 x))
(/.f64 (-.f64 1 (pow.f64 x 2)) (/.f64 (+.f64 x 1) y))
(*.f64 (/.f64 y (+.f64 x 1)) (-.f64 1 (pow.f64 x 2)))
(*.f64 y (/.f64 (-.f64 1 (pow.f64 x 2)) (+.f64 x 1)))
(*.f64 (-.f64 1 (pow.f64 x 2)) (/.f64 y (+.f64 x 1)))
(pow.f64 (*.f64 (-.f64 1 x) y) 1)
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 3)
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(pow.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) 1/2)
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(pow.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3) 1/3)
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) 2)
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(pow.f64 (E.f64) (log.f64 (*.f64 (-.f64 1 x) y)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (-.f64 1 x) y))) 2)) (cbrt.f64 (log.f64 (*.f64 (-.f64 1 x) y))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 y (-.f64 1 x)))) 2)) (cbrt.f64 (log.f64 (*.f64 y (-.f64 1 x)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (-.f64 1 x) y)))) (sqrt.f64 (log.f64 (*.f64 (-.f64 1 x) y))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 y (-.f64 1 x))))) (sqrt.f64 (log.f64 (*.f64 y (-.f64 1 x)))))
(sqrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(log.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(cbrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(expm1.f64 (log1p.f64 (*.f64 (-.f64 1 x) y)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(exp.f64 (log.f64 (*.f64 (-.f64 1 x) y)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y))) 3))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3)) 1/3))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y))) 2))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(log1p.f64 (expm1.f64 (*.f64 (-.f64 1 x) y)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(fma.f64 1 y (*.f64 y (neg.f64 x)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(fma.f64 1 y (*.f64 (neg.f64 x) y))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(fma.f64 y 1 (*.f64 y (neg.f64 x)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(fma.f64 y 1 (*.f64 (neg.f64 x) y))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 y (neg.f64 x)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 (neg.f64 x) y))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y (neg.f64 x)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 (neg.f64 x) y))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y (neg.f64 x)))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 (neg.f64 x) y))
(*.f64 (+.f64 (neg.f64 x) 1) y)
(*.f64 y (-.f64 1 x))

eval16.0ms (0.9%)

Compiler

Compiled 667 to 464 computations (30.4% saved)

prune10.0ms (0.5%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New53356
Fresh000
Picked011
Done000
Total53457
Accuracy
100.0%
Counts
57 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 1 (+.f64 y (*.f64 (neg.f64 x) y)))
100.0%
(-.f64 1 (*.f64 (-.f64 1 x) y))
75.8%
(-.f64 1 (*.f64 y (neg.f64 x)))
66.7%
(-.f64 1 y)
100.0%
(-.f64 1 (+.f64 y (*.f64 (neg.f64 x) y)))
100.0%
(-.f64 1 (*.f64 (-.f64 1 x) y))
75.8%
(-.f64 1 (*.f64 y (neg.f64 x)))
66.7%
(-.f64 1 y)
Compiler

Compiled 64 to 48 computations (25% saved)

localize43.0ms (2.3%)

Compiler

Compiled 46 to 16 computations (65.2% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune3.0ms (0.1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New000
Fresh000
Picked033
Done011
Total044
Accuracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 1 (+.f64 y (*.f64 (neg.f64 x) y)))
100.0%
(-.f64 1 (*.f64 (-.f64 1 x) y))
75.8%
(-.f64 1 (*.f64 y (neg.f64 x)))
66.7%
(-.f64 1 y)
Compiler

Compiled 67 to 47 computations (29.9% saved)

regimes18.0ms (0.9%)

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

4 calls:

5.0ms
x
4.0ms
y
4.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 57 to 39 computations (31.6% saved)

regimes11.0ms (0.6%)

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

3 calls:

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

Compiled 29 to 21 computations (27.6% saved)

regimes37.0ms (2%)

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

3 calls:

18.0ms
y
9.0ms
x
9.0ms
(-.f64 1 y)
Results
AccuracySegmentsBranch
99.0%3x
81.6%4y
81.6%4(-.f64 1 y)
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes9.0ms (0.5%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

3 calls:

3.0ms
y
3.0ms
x
2.0ms
(-.f64 1 y)
Results
AccuracySegmentsBranch
66.7%1(-.f64 1 y)
66.7%1y
66.7%1x
Compiler

Compiled 16 to 12 computations (25% saved)

bsearch24.0ms (1.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
1.1654595869311227e-18
6.2988405095285864e-12
9.0ms
-2.5885882502480917
-0.5732636074355527
Results
21.0ms240×body256valid
Compiler

Compiled 241 to 192 computations (20.3% saved)

simplify11.0ms (0.6%)

Algorithm
egg-herbie
Rules
72×unsub-neg
72×distribute-lft-neg-in
58×cancel-sign-sub-inv
46×neg-mul-1
40×distribute-neg-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
028131
159123
298123
3141123
4191123
5225123
6264123
7293123
8303123
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 1 (+.f64 y (*.f64 (neg.f64 x) y)))
(-.f64 1 (*.f64 (-.f64 1 x) y))
(if (<=.f64 x -1) (-.f64 1 (*.f64 y (neg.f64 x))) (if (<=.f64 x 3837614121784679/618970019642690137449562112) (-.f64 1 y) (-.f64 1 (*.f64 y (neg.f64 x)))))
(-.f64 1 y)
Outputs
(-.f64 1 (+.f64 y (*.f64 (neg.f64 x) y)))
(-.f64 1 (+.f64 y (neg.f64 (*.f64 x y))))
(-.f64 1 (-.f64 y (*.f64 y x)))
(+.f64 1 (-.f64 (*.f64 y x) y))
(-.f64 1 (*.f64 (-.f64 1 x) y))
(-.f64 1 (*.f64 y (-.f64 1 x)))
(+.f64 1 (*.f64 y (+.f64 x -1)))
(if (<=.f64 x -1) (-.f64 1 (*.f64 y (neg.f64 x))) (if (<=.f64 x 3837614121784679/618970019642690137449562112) (-.f64 1 y) (-.f64 1 (*.f64 y (neg.f64 x)))))
(if (or (<=.f64 x -1) (not (<=.f64 x 3837614121784679/618970019642690137449562112))) (-.f64 1 (neg.f64 (*.f64 x y))) (-.f64 1 y))
(if (or (<=.f64 x -1) (not (<=.f64 x 3837614121784679/618970019642690137449562112))) (+.f64 1 (*.f64 y x)) (-.f64 1 y))
(-.f64 1 y)
Compiler

Compiled 42 to 31 computations (26.2% saved)

soundness449.0ms (24.1%)

Rules
5896×fma-def
1674×log-prod
1004×unsub-neg
952×sub-neg
876×fma-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023182
144154
2114154
3424154
41951125
54744125
65705125
75997125
86040125
96055125
106058125
116058125
126058105
01019
110019
2120619
01031598
12291358
25931358
334581358
470671358
Stop Event
node limit
node limit
node limit
Compiler

Compiled 217 to 141 computations (35% saved)

end0.0ms (0%)

preprocess48.0ms (2.6%)

Compiler

Compiled 112 to 76 computations (32.1% saved)

Profiling

Loading profile data...