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

Time bar (total: 3.5s)

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)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-sub, time spent: 0.0ms, 0.0% of total-time
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample1.1s (31.2%)

Results
508.0ms5912×256valid
95.0ms1018×256infinite
99.0ms733×512valid
110.0ms591×1024valid
0.0ms512valid
0.0ms2048valid
Precisions
Click to see histograms. Total time spent on operations: 314.0ms
Operation ival-sub, time spent: 135.0ms, 43.0% of total-time
Operation ival-mult, time spent: 90.0ms, 29.0% of total-time
Operation ival-add, time spent: 67.0ms, 21.0% of total-time
Operation const, time spent: 22.0ms, 7.0% of total-time
Bogosity

preprocess371.0ms (10.7%)

Algorithm
egg-herbie
Rules
1450×fma-neg
1138×unsub-neg
1042×sub-neg
864×distribute-lft-out
830×distribute-lft-out--
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
590-0-(+.f64 x (*.f64 (-.f64 1 x) (-.f64 1 y)))
00-0-x
00-0-(*.f64 (-.f64 1 x) (-.f64 1 y))
00-0-(-.f64 1 y)
00-0-(-.f64 1 x)
00-0-y
00-0-1
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
025270
157222
2167218
3709218
42707175
55011175
66069175
76595175
86843175
96993175
107082175
117202175
127543175
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))))
(neg.f64 (+.f64 (neg.f64 x) (*.f64 (-.f64 1 (neg.f64 x)) (-.f64 1 y))))
(neg.f64 (+.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)))
(+.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)))
(+.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))))
(fma.f64 (-.f64 1 y) (+.f64 x 1) (neg.f64 x))
(-.f64 (*.f64 (-.f64 1 y) (+.f64 x 1)) x)
(+.f64 1 (*.f64 y (-.f64 -1 x)))
(+.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))
(neg.f64 (+.f64 (neg.f64 x) (*.f64 (-.f64 1 (neg.f64 x)) (-.f64 1 y))))
(neg.f64 (+.f64 (neg.f64 x) (*.f64 (-.f64 1 y) (-.f64 1 (neg.f64 x)))))
(-.f64 x (*.f64 (-.f64 1 y) (+.f64 x 1)))
(fma.f64 (+.f64 x 1) (+.f64 y -1) x)
(fma.f64 (-.f64 1 y) (-.f64 -1 x) x)
(-.f64 -1 (*.f64 y (-.f64 -1 x)))
(neg.f64 (+.f64 x (*.f64 (-.f64 1 x) (-.f64 1 (neg.f64 y)))))
(neg.f64 (fma.f64 (-.f64 1 x) (+.f64 1 y) x))
(fma.f64 (+.f64 1 y) (+.f64 x -1) (neg.f64 x))
(+.f64 -1 (*.f64 y (+.f64 x -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)))
Results
52.0ms341×256valid
10.0ms74×256infinite
16.0ms66×512valid
13.0ms30×1024valid
0.0ms256valid
Compiler

Compiled 67 to 46 computations (31.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 43.0ms
Operation ival-sub, time spent: 23.0ms, 53.0% of total-time
Operation ival-mult, time spent: 10.0ms, 23.0% of total-time
Operation const, time spent: 6.0ms, 14.0% of total-time
Operation ival-add, time spent: 4.0ms, 9.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 17 to 12 computations (29.4% saved)

prune1.0ms (0%)

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

Compiled 9 to 7 computations (22.2% saved)

localize44.0ms (1.3%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 1 (*.f64 y (+.f64 x -1)))
Results
28.0ms218×256valid
4.0ms37×256infinite
0.0ms256valid
Compiler

Compiled 22 to 15 computations (31.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
Operation ival-add, time spent: 6.0ms, 52.0% of total-time
Operation ival-mult, time spent: 4.0ms, 35.0% of total-time
Operation const, time spent: 1.0ms, 9.0% of total-time

series10.0ms (0.3%)

Counts
1 → 36
Calls
Call 1
Inputs
#<alt (+.f64 1 (*.f64 y (+.f64 x -1)))>
Outputs
#<alt 1>
#<alt (+.f64 1 (*.f64 y (-.f64 x 1)))>
#<alt (+.f64 1 (*.f64 y (-.f64 x 1)))>
#<alt (+.f64 1 (*.f64 y (-.f64 x 1)))>
#<alt (+.f64 1 (*.f64 y (-.f64 x 1)))>
#<alt (+.f64 1 (*.f64 y (-.f64 x 1)))>
#<alt (*.f64 y (-.f64 x 1))>
#<alt (*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))>
#<alt (*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))>
#<alt (*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))>
#<alt (*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))>
#<alt (*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))>
#<alt (*.f64 y (-.f64 x 1))>
#<alt (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))>
#<alt (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))>
#<alt (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))>
#<alt (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))>
#<alt (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))>
#<alt (+.f64 1 (*.f64 -1 y))>
#<alt (+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))>
#<alt (+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))>
#<alt (+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))>
#<alt (+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))>
#<alt (+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))>
#<alt (*.f64 x y)>
#<alt (*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))>
#<alt (*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))>
#<alt (*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))>
#<alt (*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))>
#<alt (*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))>
#<alt (*.f64 x y)>
#<alt (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))>
Calls

6 calls:

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

rewrite193.0ms (5.6%)

Algorithm
batch-egg-rewrite
Rules
1444×prod-diff
705×log1p-expm1-u
705×expm1-log1p-u
684×fma-define
636×log-prod
Iterations

Useful iterations: 1 (0.0ms)

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

simplify83.0ms (2.4%)

Algorithm
egg-herbie
Rules
1688×fma-neg
952×distribute-lft-neg-in
898×fma-define
746×associate-*r*
718×associate-*l*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01802459
14222421
211442421
351522421
Stop Event
node limit
Counts
100 → 78
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 y (-.f64 x 1)))
(+.f64 1 (*.f64 y (-.f64 x 1)))
(+.f64 1 (*.f64 y (-.f64 x 1)))
(+.f64 1 (*.f64 y (-.f64 x 1)))
(+.f64 1 (*.f64 y (-.f64 x 1)))
(*.f64 y (-.f64 x 1))
(*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))
(*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))
(*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))
(*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))
(*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))
(*.f64 y (-.f64 x 1))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))
(+.f64 1 (*.f64 -1 y))
(+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))
(+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))
(+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))
(+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))
(+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))
(*.f64 x y)
(*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))
(*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))
(*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))
(*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))
(*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))
(*.f64 x y)
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (+.f64 x -1) 1))) 1)
(-.f64 (/.f64 1 (-.f64 1 (*.f64 y (+.f64 x -1)))) (/.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 2) (-.f64 1 (*.f64 y (+.f64 x -1)))))
(*.f64 1 (fma.f64 y (+.f64 x -1) 1))
(*.f64 (fma.f64 y (+.f64 x -1) 1) 1)
(*.f64 (fma.f64 y (+.f64 x -1) 1) (log.f64 (exp.f64 1)))
(*.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1) 1)) (pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1) 1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1) 1)) 2) (cbrt.f64 (fma.f64 y (+.f64 x -1) 1)))
(*.f64 (sqrt.f64 (fma.f64 y (+.f64 x -1) 1)) (sqrt.f64 (fma.f64 y (+.f64 x -1) 1)))
(*.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (/.f64 1 (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1)))
(*.f64 (-.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 2)) (/.f64 1 (-.f64 1 (*.f64 y (+.f64 x -1)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1) (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3))))
(/.f64 1 (/.f64 (-.f64 1 (*.f64 y (+.f64 x -1))) (-.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 2))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1))
(/.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (+.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 2) (-.f64 1 (*.f64 y (+.f64 x -1)))))
(/.f64 (-.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 2)) (-.f64 1 (*.f64 y (+.f64 x -1))))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3))) (neg.f64 (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1)))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 2))) (neg.f64 (-.f64 1 (*.f64 y (+.f64 x -1)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 2) 1) (fma.f64 y (+.f64 x -1) -1))
(pow.f64 (fma.f64 y (+.f64 x -1) 1) 1)
(pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1) 1)) 3)
(pow.f64 (pow.f64 (fma.f64 y (+.f64 x -1) 1) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 y (+.f64 x -1) 1)) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1) (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3))) -1)
(pow.f64 (/.f64 (-.f64 1 (*.f64 y (+.f64 x -1))) (-.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 2))) -1)
(sqrt.f64 (pow.f64 (fma.f64 y (+.f64 x -1) 1) 2))
(log.f64 (exp.f64 (fma.f64 y (+.f64 x -1) 1)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (+.f64 x -1) 1))))
(cbrt.f64 (pow.f64 (fma.f64 y (+.f64 x -1) 1) 3))
(expm1.f64 (log1p.f64 (fma.f64 y (+.f64 x -1) 1)))
(log1p.f64 (expm1.f64 (fma.f64 y (+.f64 x -1) 1)))
(exp.f64 (log1p.f64 (*.f64 y (+.f64 x -1))))
(exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 (*.f64 y (+.f64 x -1)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log1p.f64 (*.f64 y (+.f64 x -1)))) 1/3))
(exp.f64 (*.f64 (*.f64 1/2 (log1p.f64 (*.f64 y (+.f64 x -1)))) 2))
(fma.f64 1 (*.f64 y (+.f64 x -1)) 1)
(fma.f64 1 (*.f64 y x) (fma.f64 y -1 1))
(fma.f64 y x (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 x y (fma.f64 y -1 1))
(fma.f64 (+.f64 x -1) y 1)
(fma.f64 (*.f64 y (+.f64 x -1)) 1 1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x -1)) 2) (*.f64 (cbrt.f64 (+.f64 x -1)) y) 1)
(fma.f64 (cbrt.f64 (*.f64 y (+.f64 x -1))) (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1))) 2) 1)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1))) 2) (cbrt.f64 (*.f64 y (+.f64 x -1))) 1)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (fma.f64 y -1 1))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (+.f64 x -1)) 1)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (fma.f64 y -1 1))
(fma.f64 (sqrt.f64 (+.f64 x -1)) (*.f64 (sqrt.f64 (+.f64 x -1)) y) 1)
(fma.f64 (sqrt.f64 (*.f64 y (+.f64 x -1))) (sqrt.f64 (*.f64 y (+.f64 x -1))) 1)
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (fma.f64 y -1 1))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (+.f64 x -1)) 1)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (fma.f64 y -1 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 y x)) (cbrt.f64 (*.f64 y x))) (cbrt.f64 (*.f64 y x)) (fma.f64 y -1 1))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (fma.f64 y -1 1))
(fma.f64 (*.f64 (sqrt.f64 y) (sqrt.f64 x)) (*.f64 (sqrt.f64 y) (sqrt.f64 x)) (fma.f64 y -1 1))
(fma.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 y)) (*.f64 (sqrt.f64 x) (sqrt.f64 y)) (fma.f64 y -1 1))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 y -1 1))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 y -1 1))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 y -1 1))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 y -1 1))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (+.f64 x -1)) 2)) (cbrt.f64 (+.f64 x -1)) 1)
(fma.f64 (*.f64 y (sqrt.f64 (+.f64 x -1))) (sqrt.f64 (+.f64 x -1)) 1)
(fma.f64 (*.f64 (+.f64 x -1) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) 1)
(fma.f64 (*.f64 (+.f64 x -1) (sqrt.f64 y)) (sqrt.f64 y) 1)
Outputs
1
(+.f64 1 (*.f64 y (-.f64 x 1)))
(fma.f64 y (+.f64 x -1) 1)
(+.f64 1 (*.f64 y (-.f64 x 1)))
(fma.f64 y (+.f64 x -1) 1)
(+.f64 1 (*.f64 y (-.f64 x 1)))
(fma.f64 y (+.f64 x -1) 1)
(+.f64 1 (*.f64 y (-.f64 x 1)))
(fma.f64 y (+.f64 x -1) 1)
(+.f64 1 (*.f64 y (-.f64 x 1)))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 y (-.f64 x 1))
(*.f64 y (+.f64 x -1))
(*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 y (-.f64 (+.f64 x (/.f64 1 y)) 1))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 y (-.f64 x 1))
(*.f64 y (+.f64 x -1))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (-.f64 x 1)) (/.f64 1 y))))
(fma.f64 y (+.f64 x -1) 1)
(+.f64 1 (*.f64 -1 y))
(fma.f64 y -1 1)
(-.f64 1 y)
(+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))
(fma.f64 y (+.f64 x -1) 1)
(+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))
(fma.f64 y (+.f64 x -1) 1)
(+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))
(fma.f64 y (+.f64 x -1) 1)
(+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))
(fma.f64 y (+.f64 x -1) 1)
(+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 x y)))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 x y)
(*.f64 y x)
(*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 x (+.f64 y (+.f64 (*.f64 -1 (/.f64 y x)) (/.f64 1 x))))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 x y)
(*.f64 y x)
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 1 (*.f64 -1 y)) x)))))
(fma.f64 y (+.f64 x -1) 1)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (+.f64 x -1) 1))) 1)
(fma.f64 y (+.f64 x -1) 1)
(-.f64 (/.f64 1 (-.f64 1 (*.f64 y (+.f64 x -1)))) (/.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 2) (-.f64 1 (*.f64 y (+.f64 x -1)))))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 1 (fma.f64 y (+.f64 x -1) 1))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 (fma.f64 y (+.f64 x -1) 1) 1)
(fma.f64 y (+.f64 x -1) 1)
(*.f64 (fma.f64 y (+.f64 x -1) 1) (log.f64 (exp.f64 1)))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1) 1)) (pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1) 1)) 2))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1) 1)) 2) (cbrt.f64 (fma.f64 y (+.f64 x -1) 1)))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 (sqrt.f64 (fma.f64 y (+.f64 x -1) 1)) (sqrt.f64 (fma.f64 y (+.f64 x -1) 1)))
(fma.f64 y (+.f64 x -1) 1)
(*.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (/.f64 1 (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1))
(*.f64 (-.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 2)) (/.f64 1 (-.f64 1 (*.f64 y (+.f64 x -1)))))
(fma.f64 y (+.f64 x -1) 1)
(/.f64 1 (/.f64 (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1) (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3))))
(*.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (/.f64 1 (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1))
(/.f64 1 (/.f64 (-.f64 1 (*.f64 y (+.f64 x -1))) (-.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 2))))
(fma.f64 y (+.f64 x -1) 1)
(/.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1))
(*.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (/.f64 1 (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (+.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 2) (-.f64 1 (*.f64 y (+.f64 x -1)))))
(*.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (/.f64 1 (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1))
(/.f64 (-.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 2)) (-.f64 1 (*.f64 y (+.f64 x -1))))
(fma.f64 y (+.f64 x -1) 1)
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3))) (neg.f64 (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1)))
(*.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (/.f64 1 (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 2))) (neg.f64 (-.f64 1 (*.f64 y (+.f64 x -1)))))
(fma.f64 y (+.f64 x -1) 1)
(/.f64 (-.f64 (pow.f64 (*.f64 y (+.f64 x -1)) 2) 1) (fma.f64 y (+.f64 x -1) -1))
(fma.f64 y (+.f64 x -1) 1)
(pow.f64 (fma.f64 y (+.f64 x -1) 1) 1)
(fma.f64 y (+.f64 x -1) 1)
(pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1) 1)) 3)
(fma.f64 y (+.f64 x -1) 1)
(pow.f64 (pow.f64 (fma.f64 y (+.f64 x -1) 1) 3) 1/3)
(fma.f64 y (+.f64 x -1) 1)
(pow.f64 (sqrt.f64 (fma.f64 y (+.f64 x -1) 1)) 2)
(fma.f64 y (+.f64 x -1) 1)
(pow.f64 (/.f64 (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1) (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3))) -1)
(*.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (/.f64 1 (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 3)) (fma.f64 (*.f64 y (+.f64 x -1)) (fma.f64 y (+.f64 x -1) -1) 1))
(pow.f64 (/.f64 (-.f64 1 (*.f64 y (+.f64 x -1))) (-.f64 1 (pow.f64 (*.f64 y (+.f64 x -1)) 2))) -1)
(fma.f64 y (+.f64 x -1) 1)
(sqrt.f64 (pow.f64 (fma.f64 y (+.f64 x -1) 1) 2))
(fma.f64 y (+.f64 x -1) 1)
(log.f64 (exp.f64 (fma.f64 y (+.f64 x -1) 1)))
(fma.f64 y (+.f64 x -1) 1)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (+.f64 x -1) 1))))
(fma.f64 y (+.f64 x -1) 1)
(cbrt.f64 (pow.f64 (fma.f64 y (+.f64 x -1) 1) 3))
(fma.f64 y (+.f64 x -1) 1)
(expm1.f64 (log1p.f64 (fma.f64 y (+.f64 x -1) 1)))
(fma.f64 y (+.f64 x -1) 1)
(log1p.f64 (expm1.f64 (fma.f64 y (+.f64 x -1) 1)))
(fma.f64 y (+.f64 x -1) 1)
(exp.f64 (log1p.f64 (*.f64 y (+.f64 x -1))))
(fma.f64 y (+.f64 x -1) 1)
(exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 (*.f64 y (+.f64 x -1)))) 3))
(fma.f64 y (+.f64 x -1) 1)
(exp.f64 (*.f64 (*.f64 3 (log1p.f64 (*.f64 y (+.f64 x -1)))) 1/3))
(fma.f64 y (+.f64 x -1) 1)
(exp.f64 (*.f64 (*.f64 1/2 (log1p.f64 (*.f64 y (+.f64 x -1)))) 2))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 1 (*.f64 y (+.f64 x -1)) 1)
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 1 (*.f64 y x) (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 y x (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 x y (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (+.f64 x -1) y 1)
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (*.f64 y (+.f64 x -1)) 1 1)
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x -1)) 2) (*.f64 (cbrt.f64 (+.f64 x -1)) y) 1)
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (cbrt.f64 (*.f64 y (+.f64 x -1))) (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1))) 2) 1)
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1))) 2) (cbrt.f64 (*.f64 y (+.f64 x -1))) 1)
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (+.f64 x -1)) 1)
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (sqrt.f64 (+.f64 x -1)) (*.f64 (sqrt.f64 (+.f64 x -1)) y) 1)
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (sqrt.f64 (*.f64 y (+.f64 x -1))) (sqrt.f64 (*.f64 y (+.f64 x -1))) 1)
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (+.f64 x -1)) 1)
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (*.f64 (cbrt.f64 (*.f64 y x)) (cbrt.f64 (*.f64 y x))) (cbrt.f64 (*.f64 y x)) (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (*.f64 (sqrt.f64 y) (sqrt.f64 x)) (*.f64 (sqrt.f64 y) (sqrt.f64 x)) (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 y)) (*.f64 (sqrt.f64 x) (sqrt.f64 y)) (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 y -1 1))
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (+.f64 x -1)) 2)) (cbrt.f64 (+.f64 x -1)) 1)
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (*.f64 y (sqrt.f64 (+.f64 x -1))) (sqrt.f64 (+.f64 x -1)) 1)
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (*.f64 (+.f64 x -1) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) 1)
(fma.f64 y (+.f64 x -1) 1)
(fma.f64 (*.f64 (+.f64 x -1) (sqrt.f64 y)) (sqrt.f64 y) 1)
(fma.f64 y (+.f64 x -1) 1)

eval23.0ms (0.7%)

Compiler

Compiled 944 to 652 computations (30.9% saved)

prune15.0ms (0.4%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New73578
Fresh000
Picked011
Done000
Total73679
Accuracy
100.0%
Counts
79 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (+.f64 x -1) y 1)
62.7%
(-.f64 1 y)
100.0%
(+.f64 1 (*.f64 y (+.f64 x -1)))
63.9%
(*.f64 y (-.f64 x 1))
39.1%
(*.f64 y x)
36.9%
1
Compiler

Compiled 65 to 49 computations (24.6% saved)

localize70.0ms (2%)

Results
37.0ms218×256valid
6.0ms37×256infinite
0.0ms256valid
Compiler

Compiled 38 to 22 computations (42.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
Operation ival-mult, time spent: 6.0ms, 28.0% of total-time
Operation ival-sub, time spent: 5.0ms, 23.0% of total-time
Operation composed, time spent: 5.0ms, 23.0% of total-time
Operation ival-add, time spent: 5.0ms, 23.0% of total-time
Operation const, time spent: 2.0ms, 9.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune4.0ms (0.1%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New000
Fresh000
Picked055
Done011
Total066
Accuracy
100.0%
Counts
6 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (+.f64 x -1) y 1)
62.7%
(-.f64 1 y)
100.0%
(+.f64 1 (*.f64 y (+.f64 x -1)))
63.9%
(*.f64 y (-.f64 x 1))
39.1%
(*.f64 y x)
36.9%
1
Compiler

Compiled 73 to 52 computations (28.8% saved)

regimes18.0ms (0.5%)

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

4 calls:

5.0ms
x
5.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 22 to 16 computations (27.3% saved)

regimes21.0ms (0.6%)

Counts
6 → 1
Calls
Call 1
Inputs
1
(*.f64 y x)
(-.f64 1 y)
(*.f64 y (-.f64 x 1))
(+.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:

7.0ms
x
5.0ms
(+.f64 x (*.f64 (-.f64 1 x) (-.f64 1 y)))
5.0ms
y
3.0ms
(-.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 22 to 16 computations (27.3% saved)

regimes42.0ms (1.2%)

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

3 calls:

20.0ms
x
12.0ms
y
9.0ms
(-.f64 1 y)
Results
AccuracySegmentsBranch
91.5%5x
88.7%3y
88.7%3(-.f64 1 y)
Compiler

Compiled 11 to 8 computations (27.3% saved)

regimes274.0ms (7.9%)

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

3 calls:

246.0ms
x
19.0ms
y
8.0ms
(-.f64 1 y)
Results
AccuracySegmentsBranch
91.1%5x
69.7%6y
65.7%2(-.f64 1 y)
Compiler

Compiled 11 to 8 computations (27.3% saved)

regimes34.0ms (1%)

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

2 calls:

17.0ms
y
17.0ms
x
Results
AccuracySegmentsBranch
62.9%3y
65.6%5x
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes6.0ms (0.2%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

3.0ms
x
3.0ms
y
Results
AccuracySegmentsBranch
36.9%1x
36.9%1y
Compiler

Compiled 6 to 4 computations (33.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000000294309022
1.0000003162178075
0.0ms
-29044154535.2118
-13308128.928689508
Compiler

Compiled 16 to 12 computations (25% saved)

bsearch462.0ms (13.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
398.0ms
6.41737638394667e-9
486200669243.86523
22.0ms
-28348054.285774134
-0.0038537666759041575
23.0ms
-2.6820590644645073e+69
-1.361662069239688e+64
19.0ms
-1.5885789511663753e+131
-1.170592649547085e+128
Results
418.0ms477×256valid
12.0ms85×512valid
4.0ms45×256infinite
0.0ms256valid
Compiler

Compiled 472 to 354 computations (25% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
Operation ival-sub, time spent: 8.0ms, 41.0% of total-time
Operation ival-mult, time spent: 6.0ms, 31.0% of total-time
Operation ival-add, time spent: 4.0ms, 20.0% of total-time
Operation const, time spent: 2.0ms, 10.0% of total-time

bsearch27.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
1.6142273916372127e-5
0.00010206844679162322
13.0ms
-3.1621780754930017e-7
-2.9430902197770102e-8
Results
18.0ms191×256valid
0.0ms256valid
Compiler

Compiled 136 to 108 computations (20.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
Operation ival-sub, time spent: 3.0ms, 46.0% of total-time
Operation ival-mult, time spent: 2.0ms, 30.0% of total-time
Operation ival-add, time spent: 1.0ms, 15.0% of total-time
Operation const, time spent: 1.0ms, 15.0% of total-time

simplify12.0ms (0.3%)

Algorithm
egg-herbie
Rules
10×*-commutative
10×+-commutative
10×if-if-or-not
sub-neg
not-or
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
045265
171262
280256
393252
498252
5102252
6103252
7104252
Stop Event
done
saturated
Calls
Call 1
Inputs
(fma.f64 (+.f64 x -1) y 1)
(+.f64 1 (*.f64 y (+.f64 x -1)))
(if (<=.f64 (-.f64 1 y) -20000000000) (*.f64 y (-.f64 x 1)) (if (<=.f64 (-.f64 1 y) 4503600528090421/4503599627370496) (-.f64 1 y) (*.f64 y (-.f64 x 1))))
(if (<=.f64 x -120000000000000009020938429982185035296571487722288985617949092282931911029089824559744932131730964251391914604662303159201300480) (*.f64 y x) (if (<=.f64 x -560000000000000002305215852009150211690013990644322704621719632478208) (-.f64 1 y) (if (<=.f64 x -28000000) (*.f64 y x) (if (<=.f64 x 67000000000) (-.f64 1 y) (*.f64 y x)))))
(if (<=.f64 y -4986819005910345/151115727451828646838272) (*.f64 y x) (if (<=.f64 y 2434970217729661/147573952589676412928) 1 (*.f64 y x)))
1
Outputs
(fma.f64 (+.f64 x -1) y 1)
(+.f64 1 (*.f64 y (+.f64 x -1)))
(+.f64 1 (*.f64 (+.f64 x -1) y))
(if (<=.f64 (-.f64 1 y) -20000000000) (*.f64 y (-.f64 x 1)) (if (<=.f64 (-.f64 1 y) 4503600528090421/4503599627370496) (-.f64 1 y) (*.f64 y (-.f64 x 1))))
(if (or (<=.f64 (-.f64 1 y) -20000000000) (not (<=.f64 (-.f64 1 y) 4503600528090421/4503599627370496))) (*.f64 y (-.f64 x 1)) (-.f64 1 y))
(if (or (<=.f64 (-.f64 1 y) -20000000000) (not (<=.f64 (-.f64 1 y) 4503600528090421/4503599627370496))) (*.f64 (+.f64 x -1) y) (-.f64 1 y))
(if (<=.f64 x -120000000000000009020938429982185035296571487722288985617949092282931911029089824559744932131730964251391914604662303159201300480) (*.f64 y x) (if (<=.f64 x -560000000000000002305215852009150211690013990644322704621719632478208) (-.f64 1 y) (if (<=.f64 x -28000000) (*.f64 y x) (if (<=.f64 x 67000000000) (-.f64 1 y) (*.f64 y x)))))
(if (<=.f64 x -120000000000000009020938429982185035296571487722288985617949092282931911029089824559744932131730964251391914604662303159201300480) (*.f64 x y) (if (<=.f64 x -560000000000000002305215852009150211690013990644322704621719632478208) (-.f64 1 y) (if (or (<=.f64 x -28000000) (not (<=.f64 x 67000000000))) (*.f64 x y) (-.f64 1 y))))
(if (<=.f64 x -120000000000000009020938429982185035296571487722288985617949092282931911029089824559744932131730964251391914604662303159201300480) (*.f64 x y) (if (or (<=.f64 x -560000000000000002305215852009150211690013990644322704621719632478208) (not (or (<=.f64 x -28000000) (not (<=.f64 x 67000000000))))) (-.f64 1 y) (*.f64 x y)))
(if (or (<=.f64 x -120000000000000009020938429982185035296571487722288985617949092282931911029089824559744932131730964251391914604662303159201300480) (not (or (<=.f64 x -560000000000000002305215852009150211690013990644322704621719632478208) (not (or (<=.f64 x -28000000) (not (<=.f64 x 67000000000))))))) (*.f64 x y) (-.f64 1 y))
(if (or (<=.f64 x -120000000000000009020938429982185035296571487722288985617949092282931911029089824559744932131730964251391914604662303159201300480) (not (or (<=.f64 x -560000000000000002305215852009150211690013990644322704621719632478208) (and (not (<=.f64 x -28000000)) (<=.f64 x 67000000000))))) (*.f64 x y) (-.f64 1 y))
(if (<=.f64 y -4986819005910345/151115727451828646838272) (*.f64 y x) (if (<=.f64 y 2434970217729661/147573952589676412928) 1 (*.f64 y x)))
(if (or (<=.f64 y -4986819005910345/151115727451828646838272) (not (<=.f64 y 2434970217729661/147573952589676412928))) (*.f64 x y) 1)
1
Compiler

Compiled 84 to 64 computations (23.8% saved)

soundness585.0ms (16.9%)

Rules
1688×fma-neg
1450×fma-neg
1444×prod-diff
1138×unsub-neg
1042×sub-neg
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
025270
157222
2167218
3709218
42707175
55011175
66069175
76595175
86843175
96993175
107082175
117202175
127543175
01802459
14222421
211442421
351522421
01225
114021
2194321
Stop Event
node limit
node limit
node limit
Compiler

Compiled 254 to 167 computations (34.3% saved)

end0.0ms (0%)

preprocess81.0ms (2.3%)

Compiler

Compiled 188 to 134 computations (28.7% saved)

Profiling

Loading profile data...