Graphics.Rendering.Plot.Render.Plot.Legend:renderLegendOutside from plot-0.2.3.4, A

Time bar (total: 1.8s)

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 8 to 5 computations (37.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-add: 0.0ms (0% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

sample589.0ms (33%)

Results
422.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 175.0ms
ival-add: 164.0ms (93.6% of total)
const: 8.0ms (4.6% of total)
backward-pass: 3.0ms (1.7% of total)
Bogosity

preprocess43.0ms (2.4%)

Algorithm
egg-herbie
Rules
592×sum5-define
564×fnmadd-define
526×fmsub-define
512×fnmsub-define
456×sum4-define
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01430
14528
211428
338624
4122824
5203324
6241024
7243424
044
184
2124
3154
4174
5184
0184
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(+ (+ x y) x)
Outputs
(+ (+ x y) x)
(+.f64 y (*.f64 x #s(literal 2 binary64)))
Call 2
Inputs
(+ (+ x y) x)
(+ (+ (neg x) y) (neg x))
(+ (+ x (neg y)) x)
(neg (+ (+ (neg x) y) (neg x)))
(neg (+ (+ x (neg y)) x))
(+ (+ y x) y)
Outputs
(+ (+ x y) x)
(sum3 x x y)
(+ (+ (neg x) y) (neg x))
(fma x -2 y)
(+ (+ x (neg y)) x)
(fnmsub x -2 y)
(neg (+ (+ (neg x) y) (neg x)))
(fnmsub x -2 y)
(neg (+ (+ x (neg y)) x))
(fma x -2 y)
(+ (+ y x) y)
(sum3 x y y)

explain67.0ms (3.7%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-x
00-0-(+.f64 (+.f64 x y) x)
00-0-(+.f64 x y)
00-0-y
Results
47.0ms512×0valid
Compiler

Compiled 33 to 14 computations (57.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-add: 8.0ms (88.6% of total)
const: 1.0ms (11.1% of total)
backward-pass: 0.0ms (0% of total)

eval0.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 y (*.f64 x #s(literal 2 binary64)))
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x #s(literal 2 binary64))
cost-diff0
(+.f64 y (*.f64 x #s(literal 2 binary64)))
Rules
fma-lowering-fma.f32
fma-define
+-lowering-+.f64
*-lowering-*.f32
*-lowering-*.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0511
1710
2910
0910
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(+ y (* x 2))
y
(* x 2)
x
2
Outputs
(+ y (* x 2))
(+.f64 y (*.f64 x #s(literal 2 binary64)))
y
(* x 2)
(*.f64 x #s(literal 2 binary64))
x
2
#s(literal 2 binary64)

localize26.0ms (1.5%)

Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(+.f64 y (*.f64 x #s(literal 2 binary64)))
accuracy100.0%
(*.f64 x #s(literal 2 binary64))
Results
20.0ms256×0valid
Compiler

Compiled 14 to 6 computations (57.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-mult: 2.0ms (51.3% of total)
ival-add: 1.0ms (25.7% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series2.0ms (0.1%)

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

9 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(* x 2)
0.0ms
x
@inf
(+ y (* x 2))
0.0ms
x
@inf
(* x 2)
0.0ms
y
@inf
(+ y (* x 2))
0.0ms
y
@0
(+ y (* x 2))

rewrite320.0ms (17.9%)

Algorithm
batch-egg-rewrite
Rules
3044×*-lowering-*.f32
3044×*-lowering-*.f64
2620×/-lowering-/.f32
2620×/-lowering-/.f64
1656×+-lowering-+.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
058
1207
21767
319207
085787
Stop Event
iter limit
node limit
Counts
2 → 124
Calls
Call 1
Inputs
(+ y (* x 2))
(* x 2)
Outputs
(+.f64 y (*.f64 x #s(literal 2 binary64)))
(+.f64 (*.f64 x #s(literal 2 binary64)) y)
(+.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (neg.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal 2 binary64))))) #s(literal -1 binary64)))
(-.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))
(-.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (-.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 (*.f64 (*.f64 x x) #s(literal -4 binary64)) (*.f64 x (*.f64 x #s(literal 4 binary64))))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))
(-.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x #s(literal 2 binary64)) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))
(-.f64 (/.f64 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal -8 binary64)))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))) (/.f64 (/.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64))) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal -8 binary64)))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))))
(-.f64 (/.f64 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (+.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64))))))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (/.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64))) (+.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64))))))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))
(-.f64 (/.f64 (/.f64 (*.f64 y (*.f64 y (*.f64 y y))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64))))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 16 binary64)) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64))))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))
(-.f64 (/.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))))) (/.f64 (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))))))
(-.f64 (/.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (/.f64 (+.f64 (*.f64 y y) (*.f64 (*.f64 x x) #s(literal -4 binary64))) (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(-.f64 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal -8 binary64))))) (/.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64))) (*.f64 (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal -8 binary64))))))
(-.f64 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (+.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64)))))))) (/.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (+.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64)))))))))
(-.f64 (/.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64)))))) (/.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 16 binary64)) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64)))))))
(-.f64 (/.f64 (*.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (/.f64 (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 x (*.f64 x #s(literal 4 binary64)))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(-.f64 (/.f64 (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))))) (+.f64 (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (+.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))))) (/.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))) (+.f64 (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (+.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))))))
(-.f64 (/.f64 (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (+.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))) (/.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (+.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))))
(fma.f64 y (/.f64 y (+.f64 y (*.f64 x #s(literal -2 binary64)))) (neg.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(fma.f64 x #s(literal 2 binary64) y)
(fma.f64 #s(literal 2 binary64) x y)
(fma.f64 (*.f64 y y) (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (neg.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(fma.f64 (/.f64 (*.f64 y y) (+.f64 (*.f64 y y) (*.f64 (*.f64 x x) #s(literal -4 binary64)))) (+.f64 y (*.f64 x #s(literal 2 binary64))) (neg.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(fma.f64 (/.f64 (*.f64 y y) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal -8 binary64)))) (+.f64 (*.f64 y y) (*.f64 (*.f64 x #s(literal 2 binary64)) (+.f64 y (*.f64 x #s(literal 2 binary64))))) (neg.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(neg.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))))))
(neg.f64 (/.f64 (+.f64 (*.f64 y y) (*.f64 (*.f64 x x) #s(literal -4 binary64))) (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(neg.f64 (-.f64 (/.f64 #s(literal 0 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))) (+.f64 y (*.f64 x #s(literal 2 binary64)))))
(neg.f64 (-.f64 (/.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (+.f64 y (*.f64 x #s(literal 2 binary64)))))
(/.f64 (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))))
(/.f64 (+.f64 (*.f64 y y) (*.f64 (*.f64 x x) #s(literal -4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y y) (*.f64 (*.f64 x x) #s(literal -4 binary64)))) (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))))
(/.f64 (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) #s(literal 512 binary64))) (*.f64 (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))) (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (-.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (*.f64 y (*.f64 y y)))))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal 2 binary64)))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (*.f64 y y))))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal 2 binary64)))))))
(/.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64)))) (*.f64 (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal -8 binary64)))))
(/.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64)))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (+.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64))))))))
(/.f64 (-.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (*.f64 y y)) (-.f64 (*.f64 x #s(literal 2 binary64)) y))
(/.f64 (-.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 16 binary64))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal 2 binary64))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal 2 binary64)))) #s(literal 1 binary64))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (-.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (*.f64 y y)))))
(/.f64 (-.f64 (*.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 x (*.f64 x #s(literal 4 binary64))))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) #s(literal 512 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (-.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (*.f64 y (*.f64 y y))))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64)))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal -8 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64)))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64)))))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))
(/.f64 (*.f64 (-.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 16 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64)))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y y) (*.f64 (*.f64 x x) #s(literal -4 binary64))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(/.f64 (neg.f64 (-.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 x #s(literal 2 binary64)) y)))
(/.f64 (neg.f64 (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) #s(literal 512 binary64)))) (neg.f64 (*.f64 (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))) (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (-.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (*.f64 y (*.f64 y y))))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64))))) (neg.f64 (*.f64 (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal -8 binary64))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64))))) (neg.f64 (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (+.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64)))))))))
(/.f64 (neg.f64 (-.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 16 binary64)))) (neg.f64 (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64)))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))))) (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))))) (+.f64 (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (+.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))) (+.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64))) #s(literal 1 binary64)) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) #s(literal 512 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))))) (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (-.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (*.f64 y (*.f64 y y))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))))) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal -8 binary64))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (+.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64)))))))
(/.f64 (*.f64 (-.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 16 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64)))))
(/.f64 (-.f64 (neg.f64 (*.f64 y y)) (*.f64 (*.f64 x x) #s(literal -4 binary64))) (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))))
(/.f64 (-.f64 (*.f64 (*.f64 y y) (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 (*.f64 x x) #s(literal -4 binary64)))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(/.f64 (-.f64 (*.f64 (*.f64 y y) (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 x (*.f64 x #s(literal 4 binary64))))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) #s(literal 1 binary64))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 x (*.f64 x #s(literal 4 binary64))))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 y y)) (*.f64 x (*.f64 x #s(literal 4 binary64))))) (*.f64 (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 y y)) (+.f64 y (*.f64 x #s(literal -2 binary64)))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (*.f64 (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 y y)) (*.f64 (*.f64 x x) #s(literal -4 binary64)))) (*.f64 (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 y y)) (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 x (*.f64 x #s(literal 4 binary64))))) (*.f64 (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 y y)) #s(literal 1 binary64))) (*.f64 (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 y y)) (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 x (*.f64 x #s(literal 4 binary64))))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 y y)) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 x (*.f64 x #s(literal 4 binary64))))) (*.f64 (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 y y)) (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (*.f64 (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 (*.f64 x x) #s(literal -4 binary64)))) (*.f64 (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 y y)) (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 x (*.f64 x #s(literal 4 binary64))))) (*.f64 (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))) #s(literal 1 binary64))) (*.f64 (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 x (*.f64 x #s(literal 4 binary64))))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x #s(literal 2 binary64)) y)) (*.f64 (-.f64 (*.f64 x #s(literal 2 binary64)) y) (*.f64 y y))) (*.f64 (-.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 x (*.f64 x #s(literal 4 binary64)))))) (neg.f64 (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) #s(literal 512 binary64))) #s(literal 1 binary64))) (neg.f64 (*.f64 (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (-.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (*.f64 y (*.f64 y y))))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64)))) #s(literal 1 binary64))) (neg.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal -8 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64)))) #s(literal 1 binary64))) (neg.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64)))))) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 16 binary64))) #s(literal 1 binary64))) (neg.f64 (*.f64 (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64)))) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)))))) (neg.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y y) (*.f64 (*.f64 x x) #s(literal -4 binary64)))))) (neg.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (*.f64 y y)))) (neg.f64 (neg.f64 (-.f64 (*.f64 x #s(literal 2 binary64)) y))))
(/.f64 (neg.f64 (-.f64 (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))))) (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))))) (neg.f64 (+.f64 (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (+.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))))) (neg.f64 (+.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64))) #s(literal 1 binary64))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) #s(literal 512 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))))) (neg.f64 (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (-.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (*.f64 y (*.f64 y y)))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))))) (neg.f64 (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal -8 binary64)))))
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))))) (neg.f64 (+.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64))))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 16 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))))) (neg.f64 (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64))))))
(/.f64 (+.f64 (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))))) (pow.f64 (neg.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (-.f64 (*.f64 (neg.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64))))) (neg.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))) (*.f64 (/.f64 (*.f64 y y) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (neg.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x #s(literal 2 binary64)) y)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 y y) (-.f64 (*.f64 x #s(literal 2 binary64)) y)) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x #s(literal 2 binary64)) y)) (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x #s(literal 2 binary64)) y))) (+.f64 (*.f64 (/.f64 (*.f64 y y) (-.f64 (*.f64 x #s(literal 2 binary64)) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 x #s(literal 2 binary64)) y))) (*.f64 (/.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x #s(literal 2 binary64)) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal 2 binary64)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal 2 binary64)))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (-.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (*.f64 y y))) #s(literal -1 binary64))
(*.f64 (+.f64 y (*.f64 x #s(literal 2 binary64))) (*.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(*.f64 (+.f64 y (*.f64 x #s(literal 2 binary64))) (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (+.f64 y (*.f64 x #s(literal -2 binary64)))))
(*.f64 (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))))
(*.f64 (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))) (*.f64 (+.f64 y (*.f64 x #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))))))
(*.f64 (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))) (/.f64 (+.f64 y (*.f64 x #s(literal 2 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))))
(*.f64 (+.f64 (*.f64 y y) (*.f64 (*.f64 x x) #s(literal -4 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 y y) (*.f64 (*.f64 x x) #s(literal -4 binary64)))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64))))))
(*.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))) (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)))) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (+.f64 (*.f64 y y) (*.f64 (*.f64 x x) #s(literal -4 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x #s(literal -2 binary64)))) (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 y y) (*.f64 (*.f64 x x) #s(literal -4 binary64)))) #s(literal -1 binary64)))
(*.f64 (-.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (*.f64 y y)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))
(*.f64 (/.f64 (+.f64 (*.f64 y y) (*.f64 (*.f64 x x) #s(literal -4 binary64))) (+.f64 (*.f64 y y) (*.f64 (*.f64 x x) #s(literal -4 binary64)))) (+.f64 y (*.f64 x #s(literal 2 binary64))))
(*.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64))) (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (*.f64 (-.f64 (*.f64 x #s(literal 2 binary64)) y) (*.f64 (-.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))))) (+.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))) (-.f64 (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y))) (*.f64 y y)))))
(*.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64))) (-.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (*.f64 (-.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))) (+.f64 (*.f64 y y) (*.f64 (*.f64 x #s(literal -2 binary64)) (-.f64 (*.f64 x #s(literal 2 binary64)) y))))
(*.f64 (/.f64 (+.f64 (*.f64 y y) (*.f64 (*.f64 x x) #s(literal -4 binary64))) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal -8 binary64)))) (+.f64 (*.f64 y y) (*.f64 (*.f64 x #s(literal 2 binary64)) (+.f64 y (*.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))) (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) #s(literal 512 binary64)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (-.f64 (*.f64 (*.f64 x (*.f64 x x)) #s(literal 8 binary64)) (*.f64 y (*.f64 y y)))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 y y) (*.f64 x (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x #s(literal 2 binary64)) y)))) (-.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal -8 binary64)))))
(*.f64 (pow.f64 (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (-.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) #s(literal 64 binary64))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x (*.f64 x #s(literal 4 binary64))) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64))))))))
(*.f64 (pow.f64 (/.f64 (+.f64 y (*.f64 x #s(literal -2 binary64))) (-.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 16 binary64)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 y y) (*.f64 x (*.f64 x #s(literal 4 binary64))))))
(exp.f64 (log.f64 (*.f64 x #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 x #s(literal 2 binary64))) #s(literal 1 binary64)))
(pow.f64 (*.f64 x #s(literal 2 binary64)) #s(literal 1 binary64))
(*.f64 x #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) x)
(*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1 binary64)))
(*.f64 (pow.f64 x #s(literal 1 binary64)) #s(literal 2 binary64))
(*.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 #s(literal 2 binary64))))
(*.f64 (exp.f64 (log.f64 #s(literal 2 binary64))) (exp.f64 (log.f64 x)))

simplify155.0ms (8.7%)

Algorithm
egg-herbie
Rules
1544×fnmadd-define
1404×fmsub-define
1344×fnmsub-define
1318×fma-lowering-fma.f32
1318×fma-lowering-fma.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023138
168120
2160120
3441120
41347120
53754120
66035120
08044120
Stop Event
iter limit
node limit
Counts
36 → 36
Calls
Call 1
Inputs
(* 2 x)
(+ y (* 2 x))
(+ y (* 2 x))
(+ y (* 2 x))
y
(* y (+ 1 (* 2 (/ x y))))
(* y (+ 1 (* 2 (/ x y))))
(* y (+ 1 (* 2 (/ x y))))
y
(* -1 (* y (- (* -2 (/ x y)) 1)))
(* -1 (* y (- (* -2 (/ x y)) 1)))
(* -1 (* y (- (* -2 (/ x y)) 1)))
y
(+ y (* 2 x))
(+ y (* 2 x))
(+ y (* 2 x))
(* 2 x)
(* x (+ 2 (/ y x)))
(* x (+ 2 (/ y x)))
(* x (+ 2 (/ y x)))
(* 2 x)
(* -1 (* x (- (* -1 (/ y x)) 2)))
(* -1 (* x (- (* -1 (/ y x)) 2)))
(* -1 (* x (- (* -1 (/ y x)) 2)))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
Outputs
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(+ y (* 2 x))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(+ y (* 2 x))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(+ y (* 2 x))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
y
(* y (+ 1 (* 2 (/ x y))))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(* y (+ 1 (* 2 (/ x y))))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(* y (+ 1 (* 2 (/ x y))))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
y
(* -1 (* y (- (* -2 (/ x y)) 1)))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(* -1 (* y (- (* -2 (/ x y)) 1)))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(* -1 (* y (- (* -2 (/ x y)) 1)))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
y
(+ y (* 2 x))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(+ y (* 2 x))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(+ y (* 2 x))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* x (+ 2 (/ y x)))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(* x (+ 2 (/ y x)))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(* x (+ 2 (/ y x)))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* -1 (* x (- (* -1 (/ y x)) 2)))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(* -1 (* x (- (* -1 (/ y x)) 2)))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(* -1 (* x (- (* -1 (/ y x)) 2)))
(+.f64 (*.f64 #s(literal 2 binary64) x) y)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)

eval18.0ms (1%)

Compiler

Compiled 5063 to 415 computations (91.8% saved)

prune18.0ms (1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1582160
Fresh000
Picked011
Done000
Total1583161
Accuracy
100.0%
Counts
161 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 y (*.f64 x #s(literal 2 binary64)))
54.3%
(*.f64 #s(literal 2 binary64) x)
46.6%
y
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal 2 binary64) x)
Rules
*-lowering-*.f32
*-lowering-*.f64
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046
156
056
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
y
(* 2 x)
2
x
Outputs
y
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
2
#s(literal 2 binary64)
x

localize23.0ms (1.3%)

Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 #s(literal 2 binary64) x)
Results
18.0ms256×0valid
Compiler

Compiled 9 to 5 computations (44.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-mult: 2.0ms (81% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series0.0ms (0%)

Counts
1 → 12
Calls
Call 1
Inputs
#<alt (* 2 x)>
Outputs
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
Calls

3 calls:

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

rewrite12.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
*-lowering-*.f32
*-lowering-*.f64
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
143
043
Stop Event
iter limit
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(* 2 x)
Outputs
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-lowering-*.f32
*-lowering-*.f64
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0336
1436
0436
Stop Event
iter limit
saturated
Counts
12 → 12
Calls
Call 1
Inputs
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
Outputs
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)

eval1.0ms (0.1%)

Compiler

Compiled 44 to 5 computations (88.6% saved)

prune2.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New14014
Fresh000
Picked022
Done011
Total14317
Accuracy
100.0%
Counts
17 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 y (*.f64 x #s(literal 2 binary64)))
54.3%
(*.f64 #s(literal 2 binary64) x)
46.6%
y
Compiler

Compiled 31 to 19 computations (38.7% saved)

regimes11.0ms (0.6%)

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

3 calls:

6.0ms
(+.f64 (+.f64 x y) x)
2.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(+.f64 (+.f64 x y) x)
Compiler

Compiled 13 to 8 computations (38.5% saved)

regimes3.0ms (0.2%)

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

2 calls:

2.0ms
y
1.0ms
x
Results
AccuracySegmentsBranch
79.4%3x
75.1%3y
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes3.0ms (0.2%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

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

Compiled 6 to 4 computations (33.3% saved)

bsearch18.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
7.0ms
9903583212471992000.0
8.479884857632283e+19
10.0ms
-2.5013847284712796e-62
-2.335223482994574e-63
Results
8.0ms192×0valid
Compiler

Compiled 132 to 104 computations (21.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-add: 2.0ms (86.5% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

simplify12.0ms (0.7%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
if-if-or-not_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01219
11819
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 y (*.f64 x #s(literal 2 binary64)))
(if (<=.f64 x #s(literal -60790846849591/14474011154664524427946373126085988481658748083205070504932198000989141204992 binary64)) (*.f64 #s(literal 2 binary64) x) (if (<=.f64 x #s(literal 16500000000000000000 binary64)) y (*.f64 #s(literal 2 binary64) x)))
y
Outputs
(+.f64 y (*.f64 x #s(literal 2 binary64)))
(if (<=.f64 x #s(literal -60790846849591/14474011154664524427946373126085988481658748083205070504932198000989141204992 binary64)) (*.f64 #s(literal 2 binary64) x) (if (<=.f64 x #s(literal 16500000000000000000 binary64)) y (*.f64 #s(literal 2 binary64) x)))
(if (<=.f64 x #s(literal -60790846849591/14474011154664524427946373126085988481658748083205070504932198000989141204992 binary64)) (*.f64 x #s(literal 2 binary64)) (if (<=.f64 x #s(literal 16500000000000000000 binary64)) y (*.f64 x #s(literal 2 binary64))))
y

soundness406.0ms (22.8%)

Rules
1544×fnmadd-define
1404×fmsub-define
1344×fnmsub-define
1318×fma-lowering-fma.f32
1318×fma-lowering-fma.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023138
168120
2160120
3441120
41347120
53754120
66035120
08044120
044
184
2124
3154
4174
5184
0184
Stop Event
done
iter limit
saturated
iter limit
node limit
Compiler

Compiled 62 to 39 computations (37.1% saved)

preprocess42.0ms (2.4%)

Compiler

Compiled 74 to 40 computations (45.9% saved)

end0.0ms (0%)

Profiling

Loading profile data...