Diagrams.Solve.Polynomial:quartForm from diagrams-solve-0.1, E

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 6 computations (25% saved)

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

sample594.0ms (32.5%)

Results
411.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 152.0ms
ival-div: 75.0ms (49.5% of total)
ival-sub: 63.0ms (41.6% of total)
const: 11.0ms (7.3% of total)
backward-pass: 3.0ms (2% of total)
Bogosity

preprocess52.0ms (2.8%)

Algorithm
egg-herbie
Rules
300×fnmsub-define
298×fmsub-define
290×fnmadd-define
244×fmm-def
196×fnmadd-define
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01434
13332
28030
318124
449324
589424
6110024
7111224
055
175
2175
3265
4405
5764
61464
72464
83444
95194
106544
117134
127214
07214
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(- x (/ y 4))
Outputs
(- x (/ y 4))
(-.f64 x (/.f64 y #s(literal 4 binary64)))
Call 2
Inputs
(- x (/ y 4))
(- (neg x) (/ y 4))
(- x (/ (neg y) 4))
(neg (- (neg x) (/ y 4)))
(neg (- x (/ (neg y) 4)))
(- y (/ x 4))
Outputs
(- x (/ y 4))
(fma y -1/4 x)
(- (neg x) (/ y 4))
(fnmsub y 1/4 x)
(- x (/ (neg y) 4))
(fma y 1/4 x)
(neg (- (neg x) (/ y 4)))
(fma y 1/4 x)
(neg (- x (/ (neg y) 4)))
(fnmsub y 1/4 x)
(- y (/ x 4))
(fma x -1/4 y)

explain68.0ms (3.7%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-x
00-0-(/.f64 y #s(literal 4 binary64))
00-0-#s(literal 4 binary64)
00-0-y
00-0-(-.f64 x (/.f64 y #s(literal 4 binary64)))
Results
46.0ms512×0valid
Compiler

Compiled 35 to 17 computations (51.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-div: 4.0ms (41.4% of total)
ival-sub: 4.0ms (41.4% of total)
const: 1.0ms (10.3% 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 x (/.f64 y #s(literal 4 binary64)))
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify25.0ms (1.4%)

Algorithm
egg-herbie
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 y #s(literal 4 binary64))
cost-diff0
(-.f64 x (/.f64 y #s(literal 4 binary64)))
Rules
196×fnmadd-define
150×sum3-define
136×fnmsub-define
136×fmsub-define
128×fma-lowering-fma.f32
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0511
1711
21711
32611
44011
57610
614610
724610
834410
951910
1065410
1171310
1272110
072110
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(- x (/ y 4))
x
(/ y 4)
y
4
Outputs
(- x (/ y 4))
(-.f64 x (/.f64 y #s(literal 4 binary64)))
x
(/ y 4)
(/.f64 y #s(literal 4 binary64))
y
4
#s(literal 4 binary64)

localize25.0ms (1.4%)

Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(/.f64 y #s(literal 4 binary64))
accuracy100.0%
(-.f64 x (/.f64 y #s(literal 4 binary64)))
Results
19.0ms256×0valid
Compiler

Compiled 14 to 6 computations (57.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-div: 2.0ms (47.6% of total)
ival-sub: 2.0ms (47.6% 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 (- x (/ y 4))>
#<alt (/ y 4)>
Outputs
#<alt (* -1/4 y)>
#<alt (- x (* 1/4 y))>
#<alt (- x (* 1/4 y))>
#<alt (- x (* 1/4 y))>
#<alt x>
#<alt (* x (+ 1 (* -1/4 (/ y x))))>
#<alt (* x (+ 1 (* -1/4 (/ y x))))>
#<alt (* x (+ 1 (* -1/4 (/ y x))))>
#<alt x>
#<alt (* -1 (* x (- (* 1/4 (/ y x)) 1)))>
#<alt (* -1 (* x (- (* 1/4 (/ y x)) 1)))>
#<alt (* -1 (* x (- (* 1/4 (/ y x)) 1)))>
#<alt x>
#<alt (+ x (* -1/4 y))>
#<alt (+ x (* -1/4 y))>
#<alt (+ x (* -1/4 y))>
#<alt (* -1/4 y)>
#<alt (* y (- (/ x y) 1/4))>
#<alt (* y (- (/ x y) 1/4))>
#<alt (* y (- (/ x y) 1/4))>
#<alt (* -1/4 y)>
#<alt (* -1 (* y (+ 1/4 (* -1 (/ x y)))))>
#<alt (* -1 (* y (+ 1/4 (* -1 (/ x y)))))>
#<alt (* -1 (* y (+ 1/4 (* -1 (/ x y)))))>
#<alt (* 1/4 y)>
#<alt (* 1/4 y)>
#<alt (* 1/4 y)>
#<alt (* 1/4 y)>
#<alt (* 1/4 y)>
#<alt (* 1/4 y)>
#<alt (* 1/4 y)>
#<alt (* 1/4 y)>
#<alt (* 1/4 y)>
#<alt (* 1/4 y)>
#<alt (* 1/4 y)>
#<alt (* 1/4 y)>
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(/ y 4)
0.0ms
y
@inf
(- x (/ y 4))
0.0ms
y
@0
(- x (/ y 4))
0.0ms
y
@inf
(/ y 4)
0.0ms
x
@inf
(- x (/ y 4))

rewrite257.0ms (14.1%)

Algorithm
batch-egg-rewrite
Rules
3186×*-lowering-*.f32
3186×*-lowering-*.f64
1548×/-lowering-/.f32
1548×/-lowering-/.f64
1274×unpow-prod-down
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
058
1308
22567
343107
084767
Stop Event
iter limit
node limit
Counts
2 → 113
Calls
Call 1
Inputs
(- x (/ y 4))
(/ y 4)
Outputs
(+.f64 x (/.f64 y #s(literal -4 binary64)))
(+.f64 (/.f64 y #s(literal -4 binary64)) x)
(+.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (neg.f64 (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))))
(+.f64 (/.f64 (*.f64 x x) (-.f64 x (/.f64 y #s(literal -4 binary64)))) (neg.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64))))))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal -4 binary64))))) #s(literal -1 binary64)))
(-.f64 x (/.f64 y #s(literal 4 binary64)))
(-.f64 #s(literal 0 binary64) (-.f64 (/.f64 y #s(literal 4 binary64)) x))
(-.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (/.f64 y #s(literal -4 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64)))))
(-.f64 (+.f64 x #s(literal 0 binary64)) (/.f64 y #s(literal 4 binary64)))
(fma.f64 x #s(literal 1 binary64) (/.f64 y #s(literal -4 binary64)))
(fma.f64 x (/.f64 x (-.f64 x (/.f64 y #s(literal -4 binary64)))) (neg.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64))))))
(fma.f64 x (/.f64 (*.f64 x x) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (neg.f64 (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))))
(fma.f64 y #s(literal -1/4 binary64) x)
(fma.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1/4 binary64) x)
(fma.f64 (*.f64 x (*.f64 x x)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (neg.f64 (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))))
(fma.f64 (*.f64 x x) (/.f64 #s(literal 1 binary64) (-.f64 x (/.f64 y #s(literal -4 binary64)))) (neg.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64))))))
(fma.f64 (*.f64 x x) (/.f64 x (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (neg.f64 (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))))
(fma.f64 #s(literal 1 binary64) x (/.f64 y #s(literal -4 binary64)))
(fma.f64 #s(literal -1 binary64) (/.f64 y #s(literal 4 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3/2 binary64)) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (neg.f64 (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))))
(fma.f64 (/.f64 (*.f64 x x) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -16 binary64) y)))) (+.f64 x (/.f64 y #s(literal -4 binary64))) (neg.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64))))))
(fma.f64 (/.f64 (*.f64 x x) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 4 binary64)) x) (/.f64 #s(literal 4 binary64) y))) (neg.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64))))))
(fma.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)) (*.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (*.f64 (-.f64 x (/.f64 y #s(literal -4 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64)))))))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)) (-.f64 (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)) (*.f64 x x)))) (neg.f64 (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))))
(fma.f64 (/.f64 (*.f64 x (*.f64 x x)) (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (*.f64 (-.f64 x (/.f64 y #s(literal -4 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64))))))) (-.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))) (neg.f64 (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))))
(neg.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))))
(neg.f64 (/.f64 (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -16 binary64) y))) (-.f64 #s(literal 0 binary64) (-.f64 x (/.f64 y #s(literal -4 binary64))))))
(neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 x (*.f64 x x))) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))))
(neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 x x)) (*.f64 y (*.f64 y #s(literal 1/16 binary64)))) (-.f64 x (/.f64 y #s(literal -4 binary64)))))
(/.f64 (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))
(/.f64 (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64))) (+.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (-.f64 (*.f64 x x) (/.f64 (*.f64 x y) #s(literal -4 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal -4 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 1 binary64)))
(/.f64 (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -16 binary64) y))) (-.f64 x (/.f64 y #s(literal -4 binary64))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal -4 binary64))))))
(/.f64 (+.f64 (neg.f64 (*.f64 x (*.f64 x x))) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))))
(/.f64 (+.f64 (neg.f64 (*.f64 x x)) (*.f64 y (*.f64 y #s(literal 1/16 binary64)))) (-.f64 #s(literal 0 binary64) (-.f64 x (/.f64 y #s(literal -4 binary64)))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) #s(literal 262144 binary64))) (*.f64 (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))))
(/.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64))) (*.f64 (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)))))
(/.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64))) (*.f64 (-.f64 x (/.f64 y #s(literal -4 binary64))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/16 binary64))))))))
(/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y y) (*.f64 y y)) #s(literal 256 binary64))) (*.f64 (-.f64 x (/.f64 y #s(literal -4 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/16 binary64))))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (*.f64 (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)))) (*.f64 (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (-.f64 x (/.f64 y #s(literal -4 binary64)))) (*.f64 (-.f64 x (/.f64 y #s(literal -4 binary64))) (*.f64 y (*.f64 y #s(literal 1/16 binary64))))) (*.f64 (-.f64 x (/.f64 y #s(literal -4 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) #s(literal 262144 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/16 binary64)))))) (-.f64 x (/.f64 y #s(literal -4 binary64)))))
(/.f64 (*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y y) (*.f64 y y)) #s(literal 256 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/16 binary64)))) (-.f64 x (/.f64 y #s(literal -4 binary64)))))
(/.f64 (*.f64 (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -16 binary64) y))) #s(literal 1 binary64)) (-.f64 x (/.f64 y #s(literal -4 binary64))))
(/.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64))) #s(literal 1 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))
(/.f64 (neg.f64 (+.f64 (neg.f64 (*.f64 x (*.f64 x x))) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))))
(/.f64 (neg.f64 (+.f64 (neg.f64 (*.f64 x x)) (*.f64 y (*.f64 y #s(literal 1/16 binary64))))) (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 x (/.f64 y #s(literal -4 binary64))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))) (+.f64 (*.f64 (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))) (*.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x x) (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 x x) (-.f64 x (/.f64 y #s(literal -4 binary64)))) (/.f64 (*.f64 x x) (-.f64 x (/.f64 y #s(literal -4 binary64))))) (+.f64 (*.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64))))) (*.f64 (/.f64 (*.f64 x x) (-.f64 x (/.f64 y #s(literal -4 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64))))))))
(/.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (*.f64 x x)) (-.f64 (/.f64 y #s(literal -4 binary64)) x))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))) (*.f64 (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))))) (+.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) (-.f64 x (/.f64 y #s(literal -4 binary64)))) (/.f64 (*.f64 x x) (-.f64 x (/.f64 y #s(literal -4 binary64))))) (*.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64)))))) (+.f64 (/.f64 (*.f64 x x) (-.f64 x (/.f64 y #s(literal -4 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) #s(literal 262144 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))) (+.f64 (*.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x (/.f64 y #s(literal -4 binary64))))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/16 binary64)))))))
(/.f64 (*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y y) (*.f64 y y)) #s(literal 256 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x (/.f64 y #s(literal -4 binary64))))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/16 binary64)))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 1 binary64)) #s(literal -1 binary64))
(*.f64 (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))))
(*.f64 (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))) (*.f64 (+.f64 x (/.f64 y #s(literal -4 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))))
(*.f64 (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))) (/.f64 (+.f64 x (/.f64 y #s(literal -4 binary64))) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))))
(*.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal -4 binary64))))
(*.f64 (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -16 binary64) y))) (/.f64 #s(literal 1 binary64) (-.f64 x (/.f64 y #s(literal -4 binary64)))))
(*.f64 (-.f64 x (/.f64 y #s(literal -4 binary64))) (*.f64 (+.f64 x (/.f64 y #s(literal -4 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x (/.f64 y #s(literal -4 binary64))))))
(*.f64 (-.f64 x (/.f64 y #s(literal -4 binary64))) (/.f64 (+.f64 x (/.f64 y #s(literal -4 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64)))))
(*.f64 (+.f64 (neg.f64 (*.f64 x (*.f64 x x))) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))))
(*.f64 (+.f64 (neg.f64 (*.f64 x x)) (*.f64 y (*.f64 y #s(literal 1/16 binary64)))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (-.f64 x (/.f64 y #s(literal -4 binary64))))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)))) (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)))) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (-.f64 x (/.f64 y #s(literal -4 binary64)))) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -16 binary64) y))))
(*.f64 (/.f64 #s(literal 1 binary64) (-.f64 x (/.f64 y #s(literal -4 binary64)))) (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -16 binary64) y)))) #s(literal -1 binary64)))
(*.f64 (/.f64 (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -16 binary64) y))) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 4 binary64)) x) (/.f64 #s(literal 4 binary64) y))))
(*.f64 (/.f64 (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -16 binary64) y))) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -16 binary64) y)))) (+.f64 x (/.f64 y #s(literal -4 binary64))))
(*.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)) (*.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (*.f64 (-.f64 x (/.f64 y #s(literal -4 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64)))))))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)) (-.f64 (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64)) (*.f64 x x)))))
(*.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64))) (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (*.f64 (-.f64 x (/.f64 y #s(literal -4 binary64))) (-.f64 x (/.f64 y #s(literal -4 binary64))))))) (-.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))))
(*.f64 (pow.f64 (/.f64 (-.f64 x (/.f64 y #s(literal -4 binary64))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/16 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/16 binary64))))))))
(*.f64 (pow.f64 (/.f64 (-.f64 x (/.f64 y #s(literal -4 binary64))) (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y y) (*.f64 y y)) #s(literal 256 binary64)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/16 binary64))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) #s(literal 262144 binary64)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x x) (/.f64 (*.f64 y (-.f64 x (/.f64 y #s(literal -4 binary64)))) #s(literal 4 binary64))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 64 binary64)))))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 4 binary64) y)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (/.f64 y #s(literal 4 binary64))) #s(literal 1 binary64)))
(-.f64 #s(literal 0 binary64) (/.f64 y #s(literal -4 binary64)))
(neg.f64 (/.f64 y #s(literal -4 binary64)))
(neg.f64 (*.f64 (/.f64 y #s(literal -4 binary64)) #s(literal 1 binary64)))
(/.f64 y #s(literal 4 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -4 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 4 binary64) y))
(/.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) y))
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal -4 binary64) y))
(pow.f64 (/.f64 y #s(literal 4 binary64)) #s(literal 1 binary64))
(pow.f64 (/.f64 #s(literal 4 binary64) y) #s(literal -1 binary64))
(*.f64 y #s(literal 1/4 binary64))
(*.f64 (/.f64 y #s(literal 4 binary64)) #s(literal 1 binary64))
(*.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -1/4 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 y #s(literal 4 binary64)))
(*.f64 #s(literal 1/4 binary64) y)
(*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) y)))
(*.f64 #s(literal 1/4 binary64) (pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)) #s(literal -1 binary64)))
(*.f64 #s(literal 1/4 binary64) (pow.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) y)) #s(literal 1 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 y #s(literal -4 binary64)))
(*.f64 #s(literal -1 binary64) (pow.f64 (/.f64 y #s(literal -4 binary64)) #s(literal 1 binary64)))
(*.f64 #s(literal -1/4 binary64) (-.f64 #s(literal 0 binary64) y))
(*.f64 #s(literal -1/4 binary64) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) y)) #s(literal -1 binary64)))
(*.f64 #s(literal -1/4 binary64) (pow.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) y)) #s(literal 1/4 binary64))
(*.f64 (pow.f64 (/.f64 y #s(literal 4 binary64)) #s(literal 1/2 binary64)) (pow.f64 (/.f64 y #s(literal 4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) y)) #s(literal -1 binary64)) #s(literal -1/4 binary64))
(*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1 binary64)) #s(literal -1/4 binary64))
(*.f64 (pow.f64 (pow.f64 (/.f64 y #s(literal 4 binary64)) #s(literal 1/2 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 (/.f64 y #s(literal 4 binary64)) #s(literal 1/2 binary64)) #s(literal 1 binary64)))

simplify112.0ms (6.1%)

Algorithm
egg-herbie
Rules
2256×fnmadd-define
1614×fma-define
1120×*-lowering-*.f32
1120×*-lowering-*.f64
1112×fma-lowering-fma.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
025138
170120
2187120
3552120
41613120
54131120
08143120
Stop Event
iter limit
node limit
Counts
36 → 36
Calls
Call 1
Inputs
(* -1/4 y)
(- x (* 1/4 y))
(- x (* 1/4 y))
(- x (* 1/4 y))
x
(* x (+ 1 (* -1/4 (/ y x))))
(* x (+ 1 (* -1/4 (/ y x))))
(* x (+ 1 (* -1/4 (/ y x))))
x
(* -1 (* x (- (* 1/4 (/ y x)) 1)))
(* -1 (* x (- (* 1/4 (/ y x)) 1)))
(* -1 (* x (- (* 1/4 (/ y x)) 1)))
x
(+ x (* -1/4 y))
(+ x (* -1/4 y))
(+ x (* -1/4 y))
(* -1/4 y)
(* y (- (/ x y) 1/4))
(* y (- (/ x y) 1/4))
(* y (- (/ x y) 1/4))
(* -1/4 y)
(* -1 (* y (+ 1/4 (* -1 (/ x y)))))
(* -1 (* y (+ 1/4 (* -1 (/ x y)))))
(* -1 (* y (+ 1/4 (* -1 (/ x y)))))
(* 1/4 y)
(* 1/4 y)
(* 1/4 y)
(* 1/4 y)
(* 1/4 y)
(* 1/4 y)
(* 1/4 y)
(* 1/4 y)
(* 1/4 y)
(* 1/4 y)
(* 1/4 y)
(* 1/4 y)
Outputs
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
(- x (* 1/4 y))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(- x (* 1/4 y))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(- x (* 1/4 y))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
x
(* x (+ 1 (* -1/4 (/ y x))))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(* x (+ 1 (* -1/4 (/ y x))))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(* x (+ 1 (* -1/4 (/ y x))))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
x
(* -1 (* x (- (* 1/4 (/ y x)) 1)))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(* -1 (* x (- (* 1/4 (/ y x)) 1)))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(* -1 (* x (- (* 1/4 (/ y x)) 1)))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
x
(+ x (* -1/4 y))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(+ x (* -1/4 y))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(+ x (* -1/4 y))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
(* y (- (/ x y) 1/4))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(* y (- (/ x y) 1/4))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(* y (- (/ x y) 1/4))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
(* -1 (* y (+ 1/4 (* -1 (/ x y)))))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(* -1 (* y (+ 1/4 (* -1 (/ x y)))))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(* -1 (* y (+ 1/4 (* -1 (/ x y)))))
(+.f64 (*.f64 #s(literal -1/4 binary64) y) x)
(* 1/4 y)
(*.f64 y #s(literal 1/4 binary64))
(* 1/4 y)
(*.f64 y #s(literal 1/4 binary64))
(* 1/4 y)
(*.f64 y #s(literal 1/4 binary64))
(* 1/4 y)
(*.f64 y #s(literal 1/4 binary64))
(* 1/4 y)
(*.f64 y #s(literal 1/4 binary64))
(* 1/4 y)
(*.f64 y #s(literal 1/4 binary64))
(* 1/4 y)
(*.f64 y #s(literal 1/4 binary64))
(* 1/4 y)
(*.f64 y #s(literal 1/4 binary64))
(* 1/4 y)
(*.f64 y #s(literal 1/4 binary64))
(* 1/4 y)
(*.f64 y #s(literal 1/4 binary64))
(* 1/4 y)
(*.f64 y #s(literal 1/4 binary64))
(* 1/4 y)
(*.f64 y #s(literal 1/4 binary64))

eval27.0ms (1.5%)

Compiler

Compiled 3435 to 338 computations (90.2% saved)

prune51.0ms (2.8%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1472149
Fresh000
Picked011
Done000
Total1473150
Accuracy
100.0%
Counts
150 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 x (/.f64 y #s(literal 4 binary64)))
51.8%
(*.f64 #s(literal -1/4 binary64) y)
49.9%
x
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify5.0ms (0.3%)

Algorithm
egg-herbie
Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal -1/4 binary64) y)
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
x
(* -1/4 y)
-1/4
y
Outputs
x
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
-1/4
#s(literal -1/4 binary64)
y

localize36.0ms (1.9%)

Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 #s(literal -1/4 binary64) y)
Results
30.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 (80.2% 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 (* -1/4 y)>
Outputs
#<alt (* -1/4 y)>
#<alt (* -1/4 y)>
#<alt (* -1/4 y)>
#<alt (* -1/4 y)>
#<alt (* -1/4 y)>
#<alt (* -1/4 y)>
#<alt (* -1/4 y)>
#<alt (* -1/4 y)>
#<alt (* -1/4 y)>
#<alt (* -1/4 y)>
#<alt (* -1/4 y)>
#<alt (* -1/4 y)>
Calls

3 calls:

TimeVariablePointExpression
0.0ms
y
@0
(* -1/4 y)
0.0ms
y
@inf
(* -1/4 y)
0.0ms
y
@-inf
(* -1/4 y)

rewrite13.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
(* -1/4 y)
Outputs
(*.f64 #s(literal -1/4 binary64) y)
(*.f64 y #s(literal -1/4 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
(* -1/4 y)
(* -1/4 y)
(* -1/4 y)
(* -1/4 y)
(* -1/4 y)
(* -1/4 y)
(* -1/4 y)
(* -1/4 y)
(* -1/4 y)
(* -1/4 y)
(* -1/4 y)
(* -1/4 y)
Outputs
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)
(* -1/4 y)
(*.f64 #s(literal -1/4 binary64) y)

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 x (/.f64 y #s(literal 4 binary64)))
51.8%
(*.f64 #s(literal -1/4 binary64) y)
49.9%
x
Compiler

Compiled 26 to 18 computations (30.8% saved)

regimes12.0ms (0.6%)

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

4 calls:

6.0ms
x
2.0ms
(-.f64 x (/.f64 y #s(literal 4 binary64)))
2.0ms
(/.f64 y #s(literal 4 binary64))
2.0ms
y
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(-.f64 x (/.f64 y #s(literal 4 binary64)))
100.0%1(/.f64 y #s(literal 4 binary64))
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes3.0ms (0.2%)

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

2 calls:

2.0ms
x
2.0ms
y
Results
AccuracySegmentsBranch
77.1%3x
77.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
x
Outputs
x
Calls

2 calls:

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

Compiled 6 to 4 computations (33.3% saved)

bsearch20.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
7.737488241708513e+132
2.6942420243029285e+138
6.0ms
-253086696155.17508
-73780302847.89941
Results
11.0ms224×0valid
Compiler

Compiled 152 to 121 computations (20.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-div: 2.0ms (58% of total)
ival-sub: 1.0ms (29% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

simplify9.0ms (0.5%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01319
11919
22819
33419
43919
54119
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 x (/.f64 y #s(literal 4 binary64)))
(if (<=.f64 x #s(literal -170000000000 binary64)) x (if (<=.f64 x #s(literal 7800000000000000023035440609764707306225245270208055445667293615954891386067581332557867136688329716277136586495271403190824982282240 binary64)) (*.f64 #s(literal -1/4 binary64) y) x))
x
Outputs
(-.f64 x (/.f64 y #s(literal 4 binary64)))
(if (<=.f64 x #s(literal -170000000000 binary64)) x (if (<=.f64 x #s(literal 7800000000000000023035440609764707306225245270208055445667293615954891386067581332557867136688329716277136586495271403190824982282240 binary64)) (*.f64 #s(literal -1/4 binary64) y) x))
(if (<=.f64 x #s(literal -170000000000 binary64)) x (if (<=.f64 x #s(literal 7800000000000000023035440609764707306225245270208055445667293615954891386067581332557867136688329716277136586495271403190824982282240 binary64)) (*.f64 y #s(literal -1/4 binary64)) x))
x

soundness480.0ms (26.3%)

Rules
2256×fnmadd-define
1614×fma-define
1120×*-lowering-*.f32
1120×*-lowering-*.f64
1112×fma-lowering-fma.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
025138
170120
2187120
3552120
41613120
54131120
08143120
Stop Event
done
iter limit
node limit
Compiler

Compiled 32 to 21 computations (34.4% saved)

preprocess26.0ms (1.4%)

Compiler

Compiled 56 to 36 computations (35.7% saved)

end0.0ms (0%)

Profiling

Loading profile data...