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

Time bar (total: 4.0s)

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

sample2.0s (49.9%)

Results
902.0ms5341×0valid
632.0ms1771×1valid
114.0ms1011×0infinite
208.0ms132×2valid
8.0ms5exit
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 847.0ms
Operation backward-pass, time spent: 515.0ms, 61.0% of total-time
Operation ival-sub, time spent: 146.0ms, 17.0% of total-time
Operation ival-mult, time spent: 97.0ms, 11.0% of total-time
Operation ival-add, time spent: 69.0ms, 8.0% of total-time
Operation const, time spent: 20.0ms, 2.0% of total-time
Bogosity

preprocess377.0ms (9.5%)

Algorithm
egg-herbie
Rules
725×fma-neg
569×unsub-neg
521×sub-neg
432×distribute-lft-out
415×distribute-lft-out--
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
641(805277498.5353309 -5.484542045235636e-212)0-(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
00-0-x
00-0-(-.f64 #s(literal 1 binary64) x)
00-0-#s(literal 1 binary64)
00-0-(*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))
00-0-y
00-0-(-.f64 #s(literal 1 binary64) y)
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 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
(+.f64 (neg.f64 x) (*.f64 (-.f64 #s(literal 1 binary64) (neg.f64 x)) (-.f64 #s(literal 1 binary64) y)))
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) (neg.f64 y))))
(neg.f64 (+.f64 (neg.f64 x) (*.f64 (-.f64 #s(literal 1 binary64) (neg.f64 x)) (-.f64 #s(literal 1 binary64) y))))
(neg.f64 (+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) (neg.f64 y)))))
(+.f64 y (*.f64 (-.f64 #s(literal 1 binary64) y) (-.f64 #s(literal 1 binary64) x)))
Outputs
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y) x)
(+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y) x)
(+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))
(+.f64 (neg.f64 x) (*.f64 (-.f64 #s(literal 1 binary64) (neg.f64 x)) (-.f64 #s(literal 1 binary64) y)))
(+.f64 (neg.f64 x) (*.f64 (-.f64 #s(literal 1 binary64) y) (-.f64 #s(literal 1 binary64) (neg.f64 x))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) (+.f64 x #s(literal 1 binary64)) (neg.f64 x))
(-.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) (+.f64 x #s(literal 1 binary64))) x)
(+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 #s(literal -1 binary64) x)))
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) (neg.f64 y))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) (+.f64 #s(literal 1 binary64) y) x)
(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
(neg.f64 (+.f64 (neg.f64 x) (*.f64 (-.f64 #s(literal 1 binary64) (neg.f64 x)) (-.f64 #s(literal 1 binary64) y))))
(neg.f64 (+.f64 (neg.f64 x) (*.f64 (-.f64 #s(literal 1 binary64) y) (-.f64 #s(literal 1 binary64) (neg.f64 x)))))
(-.f64 x (*.f64 (-.f64 #s(literal 1 binary64) y) (+.f64 x #s(literal 1 binary64))))
(fma.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 y #s(literal -1 binary64)) x)
(fma.f64 (-.f64 #s(literal 1 binary64) y) (-.f64 #s(literal -1 binary64) x) x)
(-.f64 #s(literal -1 binary64) (*.f64 y (-.f64 #s(literal -1 binary64) x)))
(neg.f64 (+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) (neg.f64 y)))))
(neg.f64 (fma.f64 (-.f64 #s(literal 1 binary64) x) (+.f64 #s(literal 1 binary64) y) x))
(fma.f64 (+.f64 #s(literal 1 binary64) y) (+.f64 x #s(literal -1 binary64)) (neg.f64 x))
(+.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))
(+.f64 y (*.f64 (-.f64 #s(literal 1 binary64) y) (-.f64 #s(literal 1 binary64) x)))
(+.f64 y (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y) y)
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 y #s(literal -1 binary64))))
Compiler

Compiled 67 to 46 computations (31.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 42.0ms
Operation ival-sub, time spent: 22.0ms, 52.0% of total-time
Operation ival-mult, time spent: 12.0ms, 29.0% of total-time
Operation ival-add, time spent: 5.0ms, 12.0% of total-time
Operation const, time spent: 3.0ms, 7.0% of total-time

eval2.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 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))
Compiler

Compiled 9 to 7 computations (22.2% saved)

localize41.0ms (1%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))
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, 53.0% of total-time
Operation ival-mult, time spent: 4.0ms, 36.0% of total-time
Operation const, time spent: 1.0ms, 9.0% of total-time

series5.0ms (0.1%)

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

6 calls:

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

rewrite199.0ms (5%)

Algorithm
batch-egg-rewrite
Rules
722×prod-diff
705×log1p-expm1-u
705×expm1-log1p-u
342×fma-define
318×log-prod
Iterations

Useful iterations: 1 (0.0ms)

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

simplify81.0ms (2%)

Algorithm
egg-herbie
Rules
844×fma-neg
476×distribute-lft-neg-in
449×fma-define
373×associate-*r*
359×associate-*l*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01802207
14222169
211442169
351522169
Stop Event
node limit
Counts
88 → 78
Calls
Call 1
Inputs
#s(literal 1 binary64)
(+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 x #s(literal 1 binary64))))
(+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 x #s(literal 1 binary64))))
(+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 x #s(literal 1 binary64))))
(*.f64 y (-.f64 x #s(literal 1 binary64)))
(*.f64 y (-.f64 (+.f64 x (/.f64 #s(literal 1 binary64) y)) #s(literal 1 binary64)))
(*.f64 y (-.f64 (+.f64 x (/.f64 #s(literal 1 binary64) y)) #s(literal 1 binary64)))
(*.f64 y (-.f64 (+.f64 x (/.f64 #s(literal 1 binary64) y)) #s(literal 1 binary64)))
(*.f64 y (-.f64 x #s(literal 1 binary64)))
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (-.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) y))))
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (-.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) y))))
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (-.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) y))))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y))
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1 binary64) y) (*.f64 x y)))
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1 binary64) y) (*.f64 x y)))
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1 binary64) y) (*.f64 x y)))
(*.f64 x y)
(*.f64 x (+.f64 y (+.f64 (*.f64 #s(literal -1 binary64) (/.f64 y x)) (/.f64 #s(literal 1 binary64) x))))
(*.f64 x (+.f64 y (+.f64 (*.f64 #s(literal -1 binary64) (/.f64 y x)) (/.f64 #s(literal 1 binary64) x))))
(*.f64 x (+.f64 y (+.f64 (*.f64 #s(literal -1 binary64) (/.f64 y x)) (/.f64 #s(literal 1 binary64) x))))
(*.f64 x y)
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 (*.f64 #s(literal -1 binary64) y) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)) x)))))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 (*.f64 #s(literal -1 binary64) y) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)) x)))))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 (*.f64 #s(literal -1 binary64) y) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)) x)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)))) #s(literal 1 binary64))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))) (/.f64 (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))))
(*.f64 #s(literal 1 binary64) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(*.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)) (log.f64 (exp.f64 #s(literal 1 binary64))))
(*.f64 (cbrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))) (pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))) #s(literal 2 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))) #s(literal 2 binary64)) (cbrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))))
(*.f64 (sqrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))) (sqrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))))
(*.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64))))
(*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)))))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64)))))
(/.f64 (neg.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)))) (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)))
(pow.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))) #s(literal 3 binary64))
(pow.f64 (pow.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))) #s(literal 2 binary64))
(pow.f64 (/.f64 (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)))) #s(literal -1 binary64))
(sqrt.f64 (pow.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)))
(log.f64 (exp.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))))
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)))))
(cbrt.f64 (pow.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))))
(log1p.f64 (expm1.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))))
(exp.f64 (log1p.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))))
(exp.f64 (*.f64 (*.f64 #s(literal 1/3 binary64) (log1p.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log1p.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (log1p.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))))) #s(literal 2 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 y x) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y x (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 x y (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 (+.f64 x #s(literal -1 binary64)) y #s(literal 1 binary64))
(fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (+.f64 x #s(literal -1 binary64))) y) #s(literal 1 binary64))
(fma.f64 (cbrt.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))) (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))) #s(literal 2 binary64)) #s(literal 1 binary64))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))) #s(literal 2 binary64)) (cbrt.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))) #s(literal 1 binary64))
(fma.f64 (pow.f64 (cbrt.f64 y) #s(literal 2 binary64)) (*.f64 (cbrt.f64 y) x) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 y) #s(literal 2 binary64)) (*.f64 (cbrt.f64 y) (+.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (*.f64 (cbrt.f64 x) y) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 (sqrt.f64 (+.f64 x #s(literal -1 binary64))) (*.f64 (sqrt.f64 (+.f64 x #s(literal -1 binary64))) y) #s(literal 1 binary64))
(fma.f64 (sqrt.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))) (sqrt.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))) #s(literal 1 binary64))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (+.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 y x)) (cbrt.f64 (*.f64 y x))) (cbrt.f64 (*.f64 y x)) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 (sqrt.f64 y) (sqrt.f64 x)) (*.f64 (sqrt.f64 y) (sqrt.f64 x)) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 y)) (*.f64 (sqrt.f64 x) (sqrt.f64 y)) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) #s(literal 2 binary64))) (cbrt.f64 x) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) #s(literal 2 binary64))) (cbrt.f64 y) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64))) (cbrt.f64 (+.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(fma.f64 (*.f64 y (sqrt.f64 (+.f64 x #s(literal -1 binary64)))) (sqrt.f64 (+.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(fma.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (pow.f64 (cbrt.f64 y) #s(literal 2 binary64))) (cbrt.f64 y) #s(literal 1 binary64))
(fma.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (sqrt.f64 y)) (sqrt.f64 y) #s(literal 1 binary64))
Outputs
#s(literal 1 binary64)
(+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 x #s(literal 1 binary64))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 x #s(literal 1 binary64))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 x #s(literal 1 binary64))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 y (-.f64 x #s(literal 1 binary64)))
(*.f64 y (+.f64 x #s(literal -1 binary64)))
(*.f64 y (-.f64 (+.f64 x (/.f64 #s(literal 1 binary64) y)) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 y (-.f64 (+.f64 x (/.f64 #s(literal 1 binary64) y)) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 y (-.f64 (+.f64 x (/.f64 #s(literal 1 binary64) y)) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 y (-.f64 x #s(literal 1 binary64)))
(*.f64 y (+.f64 x #s(literal -1 binary64)))
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (-.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) y))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (-.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) y))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (-.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) y))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y))
(fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64))
(-.f64 #s(literal 1 binary64) y)
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1 binary64) y) (*.f64 x y)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1 binary64) y) (*.f64 x y)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1 binary64) y) (*.f64 x y)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 x y)
(*.f64 y x)
(*.f64 x (+.f64 y (+.f64 (*.f64 #s(literal -1 binary64) (/.f64 y x)) (/.f64 #s(literal 1 binary64) x))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 x (+.f64 y (+.f64 (*.f64 #s(literal -1 binary64) (/.f64 y x)) (/.f64 #s(literal 1 binary64) x))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 x (+.f64 y (+.f64 (*.f64 #s(literal -1 binary64) (/.f64 y x)) (/.f64 #s(literal 1 binary64) x))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 x y)
(*.f64 y x)
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 (*.f64 #s(literal -1 binary64) y) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)) x)))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 (*.f64 #s(literal -1 binary64) y) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)) x)))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 (*.f64 #s(literal -1 binary64) y) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)) x)))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)))) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))) (/.f64 (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)) (log.f64 (exp.f64 #s(literal 1 binary64))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 (cbrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))) (pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))) #s(literal 2 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))) #s(literal 2 binary64)) (cbrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 (sqrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))) (sqrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64))))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64)))))
(*.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64))))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64))))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))))
(*.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64))))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64)))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(/.f64 (neg.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64))))
(*.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64))))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)))) (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(pow.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))) #s(literal 3 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(pow.f64 (pow.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(pow.f64 (sqrt.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))) #s(literal 2 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(pow.f64 (/.f64 (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64)))) #s(literal -1 binary64))
(*.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64))))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(pow.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)))) #s(literal -1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(sqrt.f64 (pow.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(log.f64 (exp.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(cbrt.f64 (pow.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal 3 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(expm1.f64 (log1p.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(log1p.f64 (expm1.f64 (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(exp.f64 (log1p.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(exp.f64 (*.f64 (*.f64 #s(literal 1/3 binary64) (log1p.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))))) #s(literal 3 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log1p.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))))) #s(literal 1/3 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(exp.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (log1p.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))))) #s(literal 2 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 y x) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 y x (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 x y (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (+.f64 x #s(literal -1 binary64)) y #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (+.f64 x #s(literal -1 binary64))) y) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (cbrt.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))) (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))) #s(literal 2 binary64)) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))) #s(literal 2 binary64)) (cbrt.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (pow.f64 (cbrt.f64 y) #s(literal 2 binary64)) (*.f64 (cbrt.f64 y) x) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (pow.f64 (cbrt.f64 y) #s(literal 2 binary64)) (*.f64 (cbrt.f64 y) (+.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (*.f64 (cbrt.f64 x) y) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (sqrt.f64 (+.f64 x #s(literal -1 binary64))) (*.f64 (sqrt.f64 (+.f64 x #s(literal -1 binary64))) y) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (sqrt.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))) (sqrt.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (+.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 y x)) (cbrt.f64 (*.f64 y x))) (cbrt.f64 (*.f64 y x)) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (sqrt.f64 y) (sqrt.f64 x)) (*.f64 (sqrt.f64 y) (sqrt.f64 x)) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 y)) (*.f64 (sqrt.f64 x) (sqrt.f64 y)) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) #s(literal 2 binary64))) (cbrt.f64 x) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) #s(literal 2 binary64))) (cbrt.f64 y) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 y #s(literal -1 binary64) #s(literal 1 binary64)))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (+.f64 x #s(literal -1 binary64))) #s(literal 2 binary64))) (cbrt.f64 (+.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 y (sqrt.f64 (+.f64 x #s(literal -1 binary64)))) (sqrt.f64 (+.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (pow.f64 (cbrt.f64 y) #s(literal 2 binary64))) (cbrt.f64 y) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (sqrt.f64 y)) (sqrt.f64 y) #s(literal 1 binary64))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))

eval21.0ms (0.5%)

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 #s(literal -1 binary64)) y #s(literal 1 binary64))
56.3%
(-.f64 #s(literal 1 binary64) y)
100.0%
(+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))
65.2%
(*.f64 y (-.f64 x #s(literal 1 binary64)))
44.9%
(*.f64 y x)
35.7%
#s(literal 1 binary64)
Compiler

Compiled 65 to 49 computations (24.6% saved)

localize68.0ms (1.7%)

Compiler

Compiled 38 to 22 computations (42.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
Operation ival-mult, time spent: 8.0ms, 33.0% of total-time
Operation ival-add, time spent: 5.0ms, 21.0% of total-time
Operation composed, time spent: 5.0ms, 21.0% of total-time
Operation ival-sub, time spent: 4.0ms, 17.0% of total-time
Operation const, time spent: 2.0ms, 8.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune5.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 #s(literal -1 binary64)) y #s(literal 1 binary64))
56.3%
(-.f64 #s(literal 1 binary64) y)
100.0%
(+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))
65.2%
(*.f64 y (-.f64 x #s(literal 1 binary64)))
44.9%
(*.f64 y x)
35.7%
#s(literal 1 binary64)
Compiler

Compiled 73 to 52 computations (28.8% saved)

regimes17.0ms (0.4%)

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

4 calls:

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

Compiled 22 to 16 computations (27.3% saved)

regimes17.0ms (0.4%)

Counts
6 → 1
Calls
Call 1
Inputs
#s(literal 1 binary64)
(*.f64 y x)
(-.f64 #s(literal 1 binary64) y)
(*.f64 y (-.f64 x #s(literal 1 binary64)))
(+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
Outputs
(+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))
Calls

4 calls:

5.0ms
y
5.0ms
x
4.0ms
(-.f64 #s(literal 1 binary64) y)
2.0ms
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
100.0%1(-.f64 #s(literal 1 binary64) y)
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes70.0ms (1.8%)

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

3 calls:

49.0ms
y
14.0ms
x
6.0ms
(-.f64 #s(literal 1 binary64) y)
Results
AccuracySegmentsBranch
87.5%3x
87.5%3y
87.5%3(-.f64 #s(literal 1 binary64) y)
Compiler

Compiled 11 to 8 computations (27.3% saved)

regimes94.0ms (2.4%)

Counts
3 → 3
Calls
Call 1
Inputs
#s(literal 1 binary64)
(*.f64 y x)
(-.f64 #s(literal 1 binary64) y)
Outputs
(*.f64 y x)
(-.f64 #s(literal 1 binary64) y)
(*.f64 y x)
Calls

3 calls:

79.0ms
y
9.0ms
x
6.0ms
(-.f64 #s(literal 1 binary64) y)
Results
AccuracySegmentsBranch
86.6%3x
70.0%5(-.f64 #s(literal 1 binary64) y)
70.0%5y
Compiler

Compiled 11 to 8 computations (27.3% saved)

regimes21.0ms (0.5%)

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

2 calls:

15.0ms
y
5.0ms
x
Results
AccuracySegmentsBranch
67.3%3y
66.4%3x
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes3.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(literal 1 binary64)
Outputs
#s(literal 1 binary64)
Calls

2 calls:

1.0ms
x
1.0ms
y
Results
AccuracySegmentsBranch
35.7%1x
35.7%1y
Compiler

Compiled 6 to 4 computations (33.3% saved)

bsearch58.0ms (1.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
29.0ms
4.814392693541257e-17
3.3222430661680763e-13
29.0ms
-9.51310551062278e-19
-2.472489984347899e-22
Results
14.0ms129×0valid
34.0ms126×1valid
0.0ms1valid
Compiler

Compiled 208 to 172 computations (17.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
Operation backward-pass, time spent: 13.0ms, 54.0% of total-time
Operation ival-sub, time spent: 5.0ms, 21.0% of total-time
Operation ival-mult, time spent: 4.0ms, 17.0% of total-time
Operation ival-add, time spent: 2.0ms, 8.0% of total-time
Operation const, time spent: 1.0ms, 4.0% of total-time

bsearch135.0ms (3.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
103.0ms
3.0935076257076154e+60
3.3268000557993e+67
32.0ms
-5712.232271126597
-0.0016748852313158051
Results
36.0ms210×0valid
19.0ms63×1valid
1.0ms14×0infinite
0.0ms1valid
Compiler

Compiled 232 to 174 computations (25% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
Operation backward-pass, time spent: 8.0ms, 43.0% of total-time
Operation ival-sub, time spent: 5.0ms, 27.0% of total-time
Operation ival-mult, time spent: 3.0ms, 16.0% of total-time
Operation ival-add, time spent: 2.0ms, 11.0% of total-time
Operation const, time spent: 1.0ms, 5.0% of total-time

bsearch108.0ms (2.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
26.0ms
4.814392693541257e-17
3.3222430661680763e-13
82.0ms
-9.51310551062278e-19
-2.472489984347899e-22
Results
16.0ms135×0valid
85.0ms120×1valid
0.0ms0valid
Compiler

Compiled 176 to 140 computations (20.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 76.0ms
Operation ival-mult, time spent: 57.0ms, 75.0% of total-time
Operation backward-pass, time spent: 11.0ms, 15.0% of total-time
Operation ival-sub, time spent: 4.0ms, 5.0% of total-time
Operation ival-add, time spent: 2.0ms, 3.0% of total-time
Operation const, time spent: 1.0ms, 1.0% of total-time

simplify10.0ms (0.2%)

Algorithm
egg-herbie
Rules
if-if-or-not
*-commutative
+-commutative
sub-neg
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039197
165197
271197
378197
479197
Stop Event
done
saturated
Calls
Call 1
Inputs
(fma.f64 (+.f64 x #s(literal -1 binary64)) y #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))
(if (<=.f64 y #s(literal -5316911983139663/1329227995784915872903807060280344576 binary64)) (*.f64 y (-.f64 x #s(literal 1 binary64))) (if (<=.f64 y #s(literal 4436777100798803/316912650057057350374175801344 binary64)) #s(literal 1 binary64) (*.f64 y (-.f64 x #s(literal 1 binary64)))))
(if (<=.f64 x #s(literal -5200 binary64)) (*.f64 y x) (if (<=.f64 x #s(literal 3100000000000000057187273326823440646330194951565841683972096 binary64)) (-.f64 #s(literal 1 binary64) y) (*.f64 y x)))
(if (<=.f64 y #s(literal -3934514867523351/10633823966279326983230456482242756608 binary64)) (*.f64 y x) (if (<=.f64 y #s(literal 1188422437713965/4951760157141521099596496896 binary64)) #s(literal 1 binary64) (*.f64 y x)))
#s(literal 1 binary64)
Outputs
(fma.f64 (+.f64 x #s(literal -1 binary64)) y #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))))
(+.f64 #s(literal 1 binary64) (*.f64 (+.f64 x #s(literal -1 binary64)) y))
(if (<=.f64 y #s(literal -5316911983139663/1329227995784915872903807060280344576 binary64)) (*.f64 y (-.f64 x #s(literal 1 binary64))) (if (<=.f64 y #s(literal 4436777100798803/316912650057057350374175801344 binary64)) #s(literal 1 binary64) (*.f64 y (-.f64 x #s(literal 1 binary64)))))
(if (or (<=.f64 y #s(literal -5316911983139663/1329227995784915872903807060280344576 binary64)) (not (<=.f64 y #s(literal 4436777100798803/316912650057057350374175801344 binary64)))) (*.f64 y (-.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
(if (or (<=.f64 y #s(literal -5316911983139663/1329227995784915872903807060280344576 binary64)) (not (<=.f64 y #s(literal 4436777100798803/316912650057057350374175801344 binary64)))) (*.f64 (+.f64 x #s(literal -1 binary64)) y) #s(literal 1 binary64))
(if (<=.f64 x #s(literal -5200 binary64)) (*.f64 y x) (if (<=.f64 x #s(literal 3100000000000000057187273326823440646330194951565841683972096 binary64)) (-.f64 #s(literal 1 binary64) y) (*.f64 y x)))
(if (or (<=.f64 x #s(literal -5200 binary64)) (not (<=.f64 x #s(literal 3100000000000000057187273326823440646330194951565841683972096 binary64)))) (*.f64 x y) (-.f64 #s(literal 1 binary64) y))
(if (<=.f64 y #s(literal -3934514867523351/10633823966279326983230456482242756608 binary64)) (*.f64 y x) (if (<=.f64 y #s(literal 1188422437713965/4951760157141521099596496896 binary64)) #s(literal 1 binary64) (*.f64 y x)))
(if (or (<=.f64 y #s(literal -3934514867523351/10633823966279326983230456482242756608 binary64)) (not (<=.f64 y #s(literal 1188422437713965/4951760157141521099596496896 binary64)))) (*.f64 x y) #s(literal 1 binary64))
#s(literal 1 binary64)
Compiler

Compiled 69 to 52 computations (24.6% saved)

soundness563.0ms (14.2%)

Rules
844×fma-neg
725×fma-neg
722×prod-diff
705×log1p-expm1-u
705×expm1-log1p-u
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01802207
14222169
211442169
351522169
01225
114021
2194321
025270
157222
2167218
3709218
42707175
55011175
66069175
76595175
86843175
96993175
107082175
117202175
127543175
Stop Event
node limit
node limit
node limit
Compiler

Compiled 254 to 167 computations (34.3% saved)

end0.0ms (0%)

preprocess71.0ms (1.8%)

Compiler

Compiled 158 to 110 computations (30.4% saved)

Profiling

Loading profile data...