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

Time bar (total: 1.6s)

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)

sample456.0ms (28.5%)

Results
308.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 126.0ms
ival-add: 117.0ms (92.9% of total)
const: 6.0ms (4.8% of total)
backward-pass: 3.0ms (2.4% of total)
Bogosity

preprocess79.0ms (4.9%)

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)

explain46.0ms (2.9%)

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
24.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: 6.0ms (70.2% of total)
backward-pass: 2.0ms (23.4% of total)
const: 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.3%)

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)

localize21.0ms (1.3%)

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
15.0ms256×0valid
Compiler

Compiled 14 to 6 computations (57.1% saved)

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

series2.0ms (0.2%)

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
1.0ms
x
@-inf
(* x 2)
0.0ms
x
@inf
(+ y (* x 2))
0.0ms
y
@inf
(+ y (* x 2))
0.0ms
x
@inf
(* x 2)
0.0ms
y
@0
(+ y (* x 2))

rewrite295.0ms (18.4%)

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)))

simplify147.0ms (9.2%)

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)

eval17.0ms (1.1%)

Compiler

Compiled 5063 to 415 computations (91.8% saved)

prune19.0ms (1.2%)

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)))
52.8%
(*.f64 #s(literal 2 binary64) x)
49.0%
y
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify4.0ms (0.3%)

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

localize16.0ms (1%)

Localize:

Found 1 expressions of interest:

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

Compiled 9 to 5 computations (44.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-mult: 3.0ms (87% 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
@0
(* 2 x)
0.0ms
x
@inf
(* 2 x)
0.0ms
x
@-inf
(* 2 x)

rewrite10.0ms (0.6%)

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))

simplify9.0ms (0.6%)

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)))
52.8%
(*.f64 #s(literal 2 binary64) x)
49.0%
y
Compiler

Compiled 31 to 19 computations (38.7% saved)

regimes7.0ms (0.4%)

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:

2.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
y
(*.f64 #s(literal 2 binary64) x)
y
Calls

2 calls:

2.0ms
y
1.0ms
x
Results
AccuracySegmentsBranch
79.2%3x
80.3%3y
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes6.0ms (0.4%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

4.0ms
x
1.0ms
y
Results
AccuracySegmentsBranch
49.0%1x
49.0%1y
Compiler

Compiled 6 to 4 computations (33.3% saved)

bsearch25.0ms (1.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
2.853523388057395e+108
8.939062516627886e+112
11.0ms
-1.3088063108905112e+38
-3.6211100586841377e+27
Results
14.0ms288×0valid
Compiler

Compiled 192 to 152 computations (20.8% saved)

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

simplify8.0ms (0.5%)

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 y #s(literal -23000000000000000237804896654031060992 binary64)) y (if (<=.f64 y #s(literal 2900000000000000072523015470626769421101421875527363876910153634105854279854684664812870050533417154024308736 binary64)) (*.f64 #s(literal 2 binary64) x) y))
y
Outputs
(+.f64 y (*.f64 x #s(literal 2 binary64)))
(if (<=.f64 y #s(literal -23000000000000000237804896654031060992 binary64)) y (if (<=.f64 y #s(literal 2900000000000000072523015470626769421101421875527363876910153634105854279854684664812870050533417154024308736 binary64)) (*.f64 #s(literal 2 binary64) x) y))
(if (<=.f64 y #s(literal -23000000000000000237804896654031060992 binary64)) y (if (<=.f64 y #s(literal 2900000000000000072523015470626769421101421875527363876910153634105854279854684664812870050533417154024308736 binary64)) (*.f64 x #s(literal 2 binary64)) y))
y

soundness367.0ms (22.9%)

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 60 to 39 computations (35% saved)

preprocess55.0ms (3.5%)

Compiler

Compiled 70 to 40 computations (42.9% saved)

end0.0ms (0%)

Profiling

Loading profile data...