Data.Colour.CIE:cieLAB from colour-2.3.3, C

Time bar (total: 3.0s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 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-add: 0.0ms (0% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

sample677.0ms (22.4%)

Results
476.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 172.0ms
ival-div: 90.0ms (52.5% of total)
ival-add: 67.0ms (39.1% of total)
const: 12.0ms (7% of total)
backward-pass: 3.0ms (1.7% of total)
Bogosity

preprocess34.0ms (1.1%)

Algorithm
egg-herbie
Rules
292×fnmadd-define
288×fnmsub-define
288×fmsub-define
226×fmm-def
140×sum3-define
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01434
13430
27930
323525
455624
588224
6106724
7108824
055
165
065
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(+ x (/ y 500))
Outputs
(+ x (/ y 500))
(+.f64 x (/.f64 y #s(literal 500 binary64)))
Call 2
Inputs
(+ x (/ y 500))
(+ (neg x) (/ y 500))
(+ x (/ (neg y) 500))
(neg (+ (neg x) (/ y 500)))
(neg (+ x (/ (neg y) 500)))
(+ y (/ x 500))
Outputs
(+ x (/ y 500))
(fma y 1/500 x)
(+ (neg x) (/ y 500))
(fnmsub y -1/500 x)
(+ x (/ (neg y) 500))
(fma y -1/500 x)
(neg (+ (neg x) (/ y 500)))
(fma y -1/500 x)
(neg (+ x (/ (neg y) 500)))
(fnmsub y -1/500 x)
(+ y (/ x 500))
(fma x 1/500 y)

explain103.0ms (3.4%)

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

Compiled 35 to 17 computations (51.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-div: 5.0ms (58.1% of total)
ival-add: 3.0ms (34.9% of total)
const: 1.0ms (11.6% 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 500 binary64)))
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 y #s(literal 500 binary64))
cost-diff0
(+.f64 x (/.f64 y #s(literal 500 binary64)))
Rules
+-lowering-+.f64
+-lowering-+.f32
/-lowering-/.f32
/-lowering-/.f64
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0511
1611
0611
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(+ x (/ y 500))
x
(/ y 500)
y
500
Outputs
(+ x (/ y 500))
(+.f64 x (/.f64 y #s(literal 500 binary64)))
x
(/ y 500)
(/.f64 y #s(literal 500 binary64))
y
500
#s(literal 500 binary64)

localize26.0ms (0.9%)

Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(/.f64 y #s(literal 500 binary64))
accuracy100.0%
(+.f64 x (/.f64 y #s(literal 500 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-div: 2.0ms (46.9% of total)
ival-add: 1.0ms (23.4% 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 500))>
#<alt (/ y 500)>
Outputs
#<alt (* 1/500 y)>
#<alt (+ x (* 1/500 y))>
#<alt (+ x (* 1/500 y))>
#<alt (+ x (* 1/500 y))>
#<alt x>
#<alt (* x (+ 1 (* 1/500 (/ y x))))>
#<alt (* x (+ 1 (* 1/500 (/ y x))))>
#<alt (* x (+ 1 (* 1/500 (/ y x))))>
#<alt x>
#<alt (* -1 (* x (- (* -1/500 (/ y x)) 1)))>
#<alt (* -1 (* x (- (* -1/500 (/ y x)) 1)))>
#<alt (* -1 (* x (- (* -1/500 (/ y x)) 1)))>
#<alt x>
#<alt (+ x (* 1/500 y))>
#<alt (+ x (* 1/500 y))>
#<alt (+ x (* 1/500 y))>
#<alt (* 1/500 y)>
#<alt (* y (+ 1/500 (/ x y)))>
#<alt (* y (+ 1/500 (/ x y)))>
#<alt (* y (+ 1/500 (/ x y)))>
#<alt (* 1/500 y)>
#<alt (* -1 (* y (- (* -1 (/ x y)) 1/500)))>
#<alt (* -1 (* y (- (* -1 (/ x y)) 1/500)))>
#<alt (* -1 (* y (- (* -1 (/ x y)) 1/500)))>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
Calls

9 calls:

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

rewrite314.0ms (10.4%)

Algorithm
batch-egg-rewrite
Rules
3020×*-lowering-*.f32
3020×*-lowering-*.f64
1446×/-lowering-/.f32
1446×/-lowering-/.f64
1198×unpow-prod-down
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
058
1297
22517
340027
083607
Stop Event
iter limit
node limit
Counts
2 → 105
Calls
Call 1
Inputs
(+ x (/ y 500))
(/ y 500)
Outputs
(+.f64 x (/.f64 y #s(literal 500 binary64)))
(+.f64 (/.f64 y #s(literal 500 binary64)) x)
(+.f64 (/.f64 (*.f64 x x) (+.f64 x (/.f64 y #s(literal -500 binary64)))) (neg.f64 (/.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 x (/.f64 y #s(literal -500 binary64))))))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal 500 binary64))))) #s(literal -1 binary64)))
(-.f64 x (/.f64 y #s(literal -500 binary64)))
(-.f64 (/.f64 (*.f64 x x) (+.f64 x (/.f64 y #s(literal -500 binary64)))) (/.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 x (/.f64 y #s(literal -500 binary64)))))
(-.f64 (/.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(fma.f64 x #s(literal 1 binary64) (/.f64 y #s(literal 500 binary64)))
(fma.f64 x (/.f64 x (+.f64 x (/.f64 y #s(literal -500 binary64)))) (neg.f64 (/.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 x (/.f64 y #s(literal -500 binary64))))))
(fma.f64 y #s(literal 1/500 binary64) x)
(fma.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -1/500 binary64) x)
(fma.f64 (*.f64 x x) (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal -500 binary64)))) (neg.f64 (/.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 x (/.f64 y #s(literal -500 binary64))))))
(fma.f64 #s(literal 1 binary64) x (/.f64 y #s(literal 500 binary64)))
(fma.f64 #s(literal 1 binary64) (/.f64 y #s(literal 500 binary64)) x)
(fma.f64 #s(literal 1/500 binary64) y x)
(fma.f64 (/.f64 (*.f64 x x) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -250000 binary64) y)))) (+.f64 x (/.f64 y #s(literal 500 binary64))) (neg.f64 (/.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 x (/.f64 y #s(literal -500 binary64))))))
(fma.f64 (/.f64 (*.f64 x x) (-.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)))) (+.f64 (*.f64 x x) (*.f64 (/.f64 y #s(literal 500 binary64)) (+.f64 x (/.f64 y #s(literal 500 binary64))))) (neg.f64 (/.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 x (/.f64 y #s(literal -500 binary64))))))
(neg.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))))
(neg.f64 (/.f64 (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -250000 binary64) y))) (+.f64 (-.f64 #s(literal 0 binary64) x) (/.f64 y #s(literal 500 binary64)))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -250000 binary64) y)))) (+.f64 x (/.f64 y #s(literal -500 binary64)))))
(/.f64 (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal 500 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal 500 binary64)))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (-.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (*.f64 x x))))
(/.f64 (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -250000 binary64) y))) (+.f64 x (/.f64 y #s(literal -500 binary64))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal 500 binary64))))))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -250000 binary64) y)))) (+.f64 (-.f64 #s(literal 0 binary64) x) (/.f64 y #s(literal 500 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 1953125000000000000000000 binary64))) (*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)) (-.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)) (*.f64 x (*.f64 x x)))))))
(/.f64 (-.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (*.f64 x x)) (-.f64 (/.f64 y #s(literal 500 binary64)) x))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 y (*.f64 y y))))) (*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (-.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 y (*.f64 y y))))) (*.f64 (+.f64 x (/.f64 y #s(literal -500 binary64))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal 250000 binary64) y)))))))
(/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y y) (*.f64 y y)) #s(literal 62500000000 binary64))) (*.f64 (+.f64 x (/.f64 y #s(literal -500 binary64))) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal 250000 binary64) y)))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (+.f64 x (/.f64 y #s(literal -500 binary64)))) (*.f64 (+.f64 x (/.f64 y #s(literal -500 binary64))) (/.f64 y (/.f64 #s(literal 250000 binary64) y)))) (*.f64 (+.f64 x (/.f64 y #s(literal -500 binary64))) (+.f64 x (/.f64 y #s(literal -500 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 1953125000000000000000000 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)) (-.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)) (*.f64 x (*.f64 x x))))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 y (*.f64 y y))))) #s(literal 1 binary64)) (*.f64 (-.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 y (*.f64 y y))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal 250000 binary64) y))))) (+.f64 x (/.f64 y #s(literal -500 binary64)))))
(/.f64 (*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y y) (*.f64 y y)) #s(literal 62500000000 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal 250000 binary64) y))) (+.f64 x (/.f64 y #s(literal -500 binary64)))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -250000 binary64) y))))) (neg.f64 (+.f64 (-.f64 #s(literal 0 binary64) x) (/.f64 y #s(literal 500 binary64)))))
(/.f64 (neg.f64 (-.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (*.f64 x x))) (neg.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x x) (+.f64 x (/.f64 y #s(literal -500 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 x (/.f64 y #s(literal -500 binary64)))) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 x x) (+.f64 x (/.f64 y #s(literal -500 binary64)))) (/.f64 (*.f64 x x) (+.f64 x (/.f64 y #s(literal -500 binary64))))) (+.f64 (*.f64 (/.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 x (/.f64 y #s(literal -500 binary64)))) (/.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 x (/.f64 y #s(literal -500 binary64))))) (*.f64 (/.f64 (*.f64 x x) (+.f64 x (/.f64 y #s(literal -500 binary64)))) (/.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 x (/.f64 y #s(literal -500 binary64))))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) (+.f64 x (/.f64 y #s(literal -500 binary64)))) (/.f64 (*.f64 x x) (+.f64 x (/.f64 y #s(literal -500 binary64))))) (*.f64 (/.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 x (/.f64 y #s(literal -500 binary64)))) (/.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 x (/.f64 y #s(literal -500 binary64)))))) (+.f64 (/.f64 (*.f64 x x) (+.f64 x (/.f64 y #s(literal -500 binary64)))) (/.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 x (/.f64 y #s(literal -500 binary64))))))
(/.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64))) #s(literal 1 binary64)) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))
(/.f64 (*.f64 (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -250000 binary64) y))) #s(literal 1 binary64)) (+.f64 x (/.f64 y #s(literal -500 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 1953125000000000000000000 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)) (-.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)) (*.f64 x (*.f64 x x))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 y (*.f64 y y))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))) (-.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 y (*.f64 y y))))) (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal -500 binary64))))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal 250000 binary64) y))))))
(/.f64 (*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y y) (*.f64 y y)) #s(literal 62500000000 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal -500 binary64))))) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal 250000 binary64) y))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal 500 binary64)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal 500 binary64)))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (-.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (*.f64 x x))) #s(literal -1 binary64))
(*.f64 (+.f64 x (/.f64 y #s(literal 500 binary64))) (*.f64 (+.f64 x (/.f64 y #s(literal -500 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal -500 binary64))))))
(*.f64 (+.f64 x (/.f64 y #s(literal 500 binary64))) (/.f64 (+.f64 x (/.f64 y #s(literal -500 binary64))) (+.f64 x (/.f64 y #s(literal -500 binary64)))))
(*.f64 (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (*.f64 (+.f64 x (/.f64 y #s(literal 500 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))))
(*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (/.f64 (+.f64 x (/.f64 y #s(literal 500 binary64))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(*.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal 500 binary64))))
(*.f64 (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -250000 binary64) y))) (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal -500 binary64)))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -250000 binary64) y)))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 0 binary64) x) (/.f64 y #s(literal 500 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))) (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)))) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal -500 binary64)))) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -250000 binary64) y))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal -500 binary64)))) (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -250000 binary64) y)))) #s(literal -1 binary64)))
(*.f64 (-.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (*.f64 x x)) (/.f64 #s(literal 1 binary64) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(*.f64 (/.f64 (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -250000 binary64) y))) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -250000 binary64) y)))) (+.f64 x (/.f64 y #s(literal 500 binary64))))
(*.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)) (*.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)) (-.f64 (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)) (*.f64 x x)))))
(*.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64))) (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (-.f64 (/.f64 y #s(literal 500 binary64)) x))))) (-.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))
(*.f64 (/.f64 (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal -250000 binary64) y))) (-.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)))) (+.f64 (*.f64 x x) (*.f64 (/.f64 y #s(literal 500 binary64)) (+.f64 x (/.f64 y #s(literal 500 binary64))))))
(*.f64 (pow.f64 (/.f64 (+.f64 x (/.f64 y #s(literal -500 binary64))) (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 y (*.f64 y y)))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (/.f64 y (/.f64 #s(literal 250000 binary64) y)) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal 250000 binary64) y)))))))
(*.f64 (pow.f64 (/.f64 (+.f64 x (/.f64 y #s(literal -500 binary64))) (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y y) (*.f64 y y)) #s(literal 62500000000 binary64)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 y (/.f64 #s(literal 250000 binary64) y)))))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (+.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 1953125000000000000000000 binary64)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)) (-.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)) (*.f64 x (*.f64 x x)))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 y (*.f64 y y)))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x (*.f64 x x)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal 125000000 binary64)))))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 500 binary64) y)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (/.f64 y #s(literal 500 binary64))) #s(literal 1 binary64)))
(-.f64 #s(literal 0 binary64) (/.f64 y #s(literal -500 binary64)))
(neg.f64 (/.f64 y #s(literal -500 binary64)))
(neg.f64 (*.f64 (/.f64 y #s(literal -500 binary64)) #s(literal 1 binary64)))
(/.f64 y #s(literal 500 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -500 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 500 binary64) y))
(/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) y))
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal -500 binary64) y))
(pow.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 1 binary64))
(pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1 binary64))
(*.f64 y #s(literal 1/500 binary64))
(*.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 1 binary64))
(*.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -1/500 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 y #s(literal 500 binary64)))
(*.f64 #s(literal 1/500 binary64) y)
(*.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) y)))
(*.f64 #s(literal 1/500 binary64) (pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)) #s(literal -1 binary64)))
(*.f64 #s(literal 1/500 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 -500 binary64)))
(*.f64 #s(literal -1 binary64) (pow.f64 (/.f64 y #s(literal -500 binary64)) #s(literal 1 binary64)))
(*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) y))
(*.f64 #s(literal -1/500 binary64) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) y)) #s(literal -1 binary64)))
(*.f64 #s(literal -1/500 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/500 binary64))
(*.f64 (pow.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 1/2 binary64)) (pow.f64 (/.f64 y #s(literal 500 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/500 binary64))
(*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1 binary64)) #s(literal -1/500 binary64))
(*.f64 (pow.f64 (pow.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 1/2 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 1/2 binary64)) #s(literal 1 binary64)))

simplify156.0ms (5.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
(* 1/500 y)
(+ x (* 1/500 y))
(+ x (* 1/500 y))
(+ x (* 1/500 y))
x
(* x (+ 1 (* 1/500 (/ y x))))
(* x (+ 1 (* 1/500 (/ y x))))
(* x (+ 1 (* 1/500 (/ y x))))
x
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
x
(+ x (* 1/500 y))
(+ x (* 1/500 y))
(+ x (* 1/500 y))
(* 1/500 y)
(* y (+ 1/500 (/ x y)))
(* y (+ 1/500 (/ x y)))
(* y (+ 1/500 (/ x y)))
(* 1/500 y)
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
Outputs
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
x
(* x (+ 1 (* 1/500 (/ y x))))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* x (+ 1 (* 1/500 (/ y x))))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* x (+ 1 (* 1/500 (/ y x))))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
x
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
x
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* y (+ 1/500 (/ x y)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* y (+ 1/500 (/ x y)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* y (+ 1/500 (/ x y)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)

eval16.0ms (0.5%)

Compiler

Compiled 2711 to 308 computations (88.6% saved)

prune18.0ms (0.6%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1374141
Fresh000
Picked011
Done000
Total1375142
Accuracy
100.0%
Counts
142 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
100.0%
(+.f64 x (/.f64 y #s(literal 500 binary64)))
99.8%
(+.f64 x (/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) y)))
46.2%
(*.f64 #s(literal 1/500 binary64) y)
54.8%
x
Compiler

Compiled 31 to 23 computations (25.8% saved)

simplify7.0ms (0.2%)

Algorithm
egg-herbie
Localize:

Found 6 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0929
11629
21729
01729
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
x
(* 1/500 y)
1/500
y
(+ x (/ 1/500 (/ 1 y)))
x
(/ 1/500 (/ 1 y))
1/500
(/ 1 y)
1
y
(+ (* 1/500 y) x)
(* 1/500 y)
1/500
y
x
Outputs
x
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
1/500
#s(literal 1/500 binary64)
y
(+ x (/ 1/500 (/ 1 y)))
(+.f64 x (*.f64 #s(literal 1/500 binary64) y))
x
(/ 1/500 (/ 1 y))
(*.f64 #s(literal 1/500 binary64) y)
1/500
#s(literal 1/500 binary64)
(/ 1 y)
(/.f64 #s(literal 1 binary64) y)
1
#s(literal 1 binary64)
y
(+ (* 1/500 y) x)
(+.f64 x (*.f64 #s(literal 1/500 binary64) y))
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
1/500
#s(literal 1/500 binary64)
y
x

localize60.0ms (2%)

Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
accuracy99.7%
(*.f64 #s(literal 1/500 binary64) y)
accuracy100.0%
(/.f64 #s(literal 1 binary64) y)
accuracy100.0%
(+.f64 x (/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) y)))
accuracy99.5%
(/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) y))
accuracy99.7%
(*.f64 #s(literal 1/500 binary64) y)
Results
42.0ms256×0valid
Compiler

Compiled 39 to 10 computations (74.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-div: 4.0ms (28.9% of total)
...c/correct-round.rkt:119:19: 4.0ms (28.9% of total)
ival-add: 3.0ms (21.7% of total)
ival-mult: 3.0ms (21.7% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series18.0ms (0.6%)

Counts
5 → 84
Calls
Call 1
Inputs
#<alt (* 1/500 y)>
#<alt (/ 1/500 (/ 1 y))>
#<alt (+ x (/ 1/500 (/ 1 y)))>
#<alt (/ 1 y)>
#<alt (+ (* 1/500 y) x)>
Outputs
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (+ x (* 1/500 y))>
#<alt (+ x (* 1/500 y))>
#<alt (+ x (* 1/500 y))>
#<alt x>
#<alt (* x (+ 1 (* 1/500 (/ y x))))>
#<alt (* x (+ 1 (* 1/500 (/ y x))))>
#<alt (* x (+ 1 (* 1/500 (/ y x))))>
#<alt x>
#<alt (* -1 (* x (- (* -1/500 (/ y x)) 1)))>
#<alt (* -1 (* x (- (* -1/500 (/ y x)) 1)))>
#<alt (* -1 (* x (- (* -1/500 (/ y x)) 1)))>
#<alt x>
#<alt (+ x (* 1/500 y))>
#<alt (+ x (* 1/500 y))>
#<alt (+ x (* 1/500 y))>
#<alt (* 1/500 y)>
#<alt (* y (+ 1/500 (/ x y)))>
#<alt (* y (+ 1/500 (/ x y)))>
#<alt (* y (+ 1/500 (/ x y)))>
#<alt (* 1/500 y)>
#<alt (* -1 (* y (- (* -1 (/ x y)) 1/500)))>
#<alt (* -1 (* y (- (* -1 (/ x y)) 1/500)))>
#<alt (* -1 (* y (- (* -1 (/ x y)) 1/500)))>
#<alt (/ 1 y)>
#<alt (/ 1 y)>
#<alt (/ 1 y)>
#<alt (/ 1 y)>
#<alt (/ 1 y)>
#<alt (/ 1 y)>
#<alt (/ 1 y)>
#<alt (/ 1 y)>
#<alt (/ 1 y)>
#<alt (/ 1 y)>
#<alt (/ 1 y)>
#<alt (/ 1 y)>
#<alt x>
#<alt (+ x (* 1/500 y))>
#<alt (+ x (* 1/500 y))>
#<alt (+ x (* 1/500 y))>
#<alt (* 1/500 y)>
#<alt (* y (+ 1/500 (/ x y)))>
#<alt (* y (+ 1/500 (/ x y)))>
#<alt (* y (+ 1/500 (/ x y)))>
#<alt (* 1/500 y)>
#<alt (* -1 (* y (- (* -1 (/ x y)) 1/500)))>
#<alt (* -1 (* y (- (* -1 (/ x y)) 1/500)))>
#<alt (* -1 (* y (- (* -1 (/ x y)) 1/500)))>
#<alt (* 1/500 y)>
#<alt (+ x (* 1/500 y))>
#<alt (+ x (* 1/500 y))>
#<alt (+ x (* 1/500 y))>
#<alt x>
#<alt (* x (+ 1 (* 1/500 (/ y x))))>
#<alt (* x (+ 1 (* 1/500 (/ y x))))>
#<alt (* x (+ 1 (* 1/500 (/ y x))))>
#<alt x>
#<alt (* -1 (* x (- (* -1/500 (/ y x)) 1)))>
#<alt (* -1 (* x (- (* -1/500 (/ y x)) 1)))>
#<alt (* -1 (* x (- (* -1/500 (/ y x)) 1)))>
Calls

21 calls:

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

rewrite295.0ms (9.8%)

Algorithm
batch-egg-rewrite
Rules
2930×*-lowering-*.f32
2930×*-lowering-*.f64
2350×/-lowering-/.f32
2350×/-lowering-/.f64
1524×frac-times
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
16016
243216
3657616
0866416
Stop Event
iter limit
node limit
Counts
5 → 218
Calls
Call 1
Inputs
(* 1/500 y)
(/ 1/500 (/ 1 y))
(+ x (/ 1/500 (/ 1 y)))
(/ 1 y)
(+ (* 1/500 y) x)
Outputs
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 500 binary64) y)) #s(literal -1 binary64)))
(-.f64 #s(literal 0 binary64) (*.f64 y #s(literal -1/500 binary64)))
(neg.f64 (*.f64 y #s(literal -1/500 binary64)))
(/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) y))
(/.f64 y #s(literal 500 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 500 binary64) y))
(/.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 1 binary64))
(/.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (/.f64 #s(literal 500 binary64) y)))
(/.f64 #s(literal -1/500 binary64) (/.f64 #s(literal -1 binary64) y))
(/.f64 (*.f64 y #s(literal -1/500 binary64)) #s(literal -1 binary64))
(/.f64 (/.f64 #s(literal 1/500 binary64) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1 binary64))
(*.f64 #s(literal 1/500 binary64) y)
(*.f64 y #s(literal 1/500 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 y #s(literal 500 binary64)))
(*.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 y #s(literal -1/500 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -1/500 binary64))
(*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) y))
(*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 500 binary64) y)) #s(literal -1 binary64)))
(-.f64 #s(literal 0 binary64) (*.f64 y #s(literal -1/500 binary64)))
(neg.f64 (*.f64 y #s(literal -1/500 binary64)))
(/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) y))
(/.f64 y #s(literal 500 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 500 binary64) y))
(/.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 1 binary64))
(/.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (/.f64 #s(literal 500 binary64) y)))
(/.f64 #s(literal -1/500 binary64) (/.f64 #s(literal -1 binary64) y))
(/.f64 (*.f64 y #s(literal -1/500 binary64)) #s(literal -1 binary64))
(/.f64 (/.f64 #s(literal 1/500 binary64) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1 binary64))
(*.f64 #s(literal 1/500 binary64) y)
(*.f64 y #s(literal 1/500 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 y #s(literal 500 binary64)))
(*.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 y #s(literal -1/500 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -1/500 binary64))
(*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) y))
(*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))
(+.f64 (/.f64 y #s(literal 500 binary64)) x)
(+.f64 x (/.f64 y #s(literal 500 binary64)))
(+.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (neg.f64 (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x))))
(+.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (neg.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(-.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(-.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(fma.f64 #s(literal 1/500 binary64) y x)
(fma.f64 y #s(literal 1/500 binary64) x)
(fma.f64 #s(literal 1 binary64) (/.f64 y #s(literal 500 binary64)) x)
(fma.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) y) x)
(neg.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))))
(neg.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64)))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(neg.f64 (/.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 y #s(literal 500 binary64)) x)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 y #s(literal 500 binary64)) x)) #s(literal 1 binary64)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 y #s(literal 500 binary64)) x))))
(/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))
(/.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)) (-.f64 (/.f64 y #s(literal 500 binary64)) x))
(/.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64)))) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(/.f64 (+.f64 (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) (*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (+.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal -1/125000000 binary64) (*.f64 y (*.f64 y y))))))))
(/.f64 (+.f64 (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) (*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (-.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x x)))))))
(/.f64 (-.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (-.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x x)))))
(/.f64 (-.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (+.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 (*.f64 x x) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64))))))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal -1/125000000 binary64) (*.f64 y (*.f64 y y))))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (+.f64 x (*.f64 y #s(literal -1/500 binary64))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64))))))))
(/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y)))) (*.f64 (+.f64 x (*.f64 y #s(literal -1/500 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64))))))
(/.f64 (-.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 x (*.f64 x (*.f64 x x)))) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64))))))
(/.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (*.f64 x x))) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (*.f64 (+.f64 x (*.f64 y #s(literal -1/500 binary64))) (*.f64 y (*.f64 y #s(literal 1/250000 binary64))))) (*.f64 (+.f64 x (*.f64 y #s(literal -1/500 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal -1/125000000 binary64) (*.f64 y (*.f64 y y)))))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (-.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x x))))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) #s(literal 1 binary64)) (*.f64 (-.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x x))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 (*.f64 x x) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal -1/125000000 binary64) (*.f64 y (*.f64 y y)))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 x (*.f64 x (*.f64 x x)))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(/.f64 (*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y)))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x))) (+.f64 (*.f64 (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x))) (*.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))) (+.f64 (*.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))) (*.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x))) (*.f64 (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))) (+.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))) (*.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))) (+.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))
(/.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) #s(literal 1 binary64)) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))
(/.f64 (*.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)) #s(literal 1 binary64)) (-.f64 (/.f64 y #s(literal 500 binary64)) x))
(/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64)))) #s(literal 1 binary64)) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))) (+.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal -1/125000000 binary64) (*.f64 y (*.f64 y y)))))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (-.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x x))))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))) (-.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x x))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal -1/125000000 binary64) (*.f64 y (*.f64 y y)))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (/.f64 #s(literal 1 binary64) (-.f64 (/.f64 y #s(literal 500 binary64)) x))) (+.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 (*.f64 x x) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 x (*.f64 x (*.f64 x x)))) (/.f64 #s(literal 1 binary64) (-.f64 (/.f64 y #s(literal 500 binary64)) x))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))))))
(/.f64 (*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y)))) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 y #s(literal 500 binary64)) x)) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (+.f64 (/.f64 y #s(literal 500 binary64)) x))
(*.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (*.f64 (+.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))))
(*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (/.f64 (+.f64 (/.f64 y #s(literal 500 binary64)) x) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(*.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)) (/.f64 #s(literal 1 binary64) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(*.f64 (+.f64 (/.f64 y #s(literal 500 binary64)) x) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 1 binary64) (-.f64 (/.f64 y #s(literal 500 binary64)) x))))
(*.f64 (+.f64 (/.f64 y #s(literal 500 binary64)) x) (*.f64 (+.f64 x (*.f64 y #s(literal -1/500 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))
(*.f64 (+.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(*.f64 (+.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 (+.f64 x (*.f64 y #s(literal -1/500 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))))
(*.f64 (/.f64 #s(literal 1 binary64) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64)))))
(*.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64)))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64))))) (+.f64 (/.f64 y #s(literal 500 binary64)) x))
(*.f64 (/.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)) (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x))) (+.f64 (/.f64 y #s(literal 500 binary64)) x))
(*.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) (+.f64 (*.f64 (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (*.f64 (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))))) (+.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (-.f64 (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))))))
(*.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) (-.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))) (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))
(*.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) (+.f64 (*.f64 (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)) (*.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)) (-.f64 (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)) (*.f64 x x)))))
(*.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (-.f64 (/.f64 y #s(literal 500 binary64)) x))))) (+.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal -1/500 binary64)) (-.f64 (/.f64 y #s(literal 500 binary64)) x))))
(*.f64 (/.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)) (-.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x x)))) (+.f64 (*.f64 x x) (*.f64 (/.f64 y #s(literal 500 binary64)) (+.f64 (/.f64 y #s(literal 500 binary64)) x))))
(*.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64)))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal -1/125000000 binary64) (*.f64 y (*.f64 y y))))) (+.f64 (*.f64 x x) (*.f64 (/.f64 y #s(literal 500 binary64)) (+.f64 (/.f64 y #s(literal 500 binary64)) x))))
(exp.f64 (*.f64 #s(literal -1 binary64) (log.f64 y)))
(-.f64 #s(literal 0 binary64) (/.f64 #s(literal -1 binary64) y))
(neg.f64 (/.f64 #s(literal -1 binary64) y))
(/.f64 #s(literal 1 binary64) y)
(/.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64))
(/.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) y))
(/.f64 (/.f64 #s(literal -1 binary64) y) #s(literal -1 binary64))
(pow.f64 y #s(literal -1 binary64))
(pow.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64))
(pow.f64 (pow.f64 y #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 y y) #s(literal -1/2 binary64))
(pow.f64 (exp.f64 (log.f64 y)) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) y))
(*.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) y))
(*.f64 (/.f64 #s(literal -1 binary64) y) #s(literal -1 binary64))
(*.f64 (pow.f64 y #s(literal -1/2 binary64)) (pow.f64 y #s(literal -1/2 binary64)))
(*.f64 (pow.f64 y #s(literal -1/2 binary64)) (*.f64 (pow.f64 y #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 y #s(literal -1/2 binary64)) (/.f64 (pow.f64 y #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(+.f64 (/.f64 y #s(literal 500 binary64)) x)
(+.f64 x (/.f64 y #s(literal 500 binary64)))
(+.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (neg.f64 (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x))))
(+.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (neg.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(-.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(-.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(fma.f64 #s(literal 1/500 binary64) y x)
(fma.f64 y #s(literal 1/500 binary64) x)
(fma.f64 #s(literal 1 binary64) (/.f64 y #s(literal 500 binary64)) x)
(fma.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) y) x)
(neg.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))))
(neg.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64)))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(neg.f64 (/.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 y #s(literal 500 binary64)) x)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 y #s(literal 500 binary64)) x)) #s(literal 1 binary64)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 y #s(literal 500 binary64)) x))))
(/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))
(/.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)) (-.f64 (/.f64 y #s(literal 500 binary64)) x))
(/.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64)))) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(/.f64 (+.f64 (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) (*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (+.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal -1/125000000 binary64) (*.f64 y (*.f64 y y))))))))
(/.f64 (+.f64 (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) (*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (-.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x x)))))))
(/.f64 (-.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (-.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x x)))))
(/.f64 (-.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (+.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 (*.f64 x x) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64))))))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal -1/125000000 binary64) (*.f64 y (*.f64 y y))))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (+.f64 x (*.f64 y #s(literal -1/500 binary64))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64))))))))
(/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y)))) (*.f64 (+.f64 x (*.f64 y #s(literal -1/500 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64))))))
(/.f64 (-.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 x (*.f64 x (*.f64 x x)))) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64))))))
(/.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (*.f64 x x))) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (*.f64 (+.f64 x (*.f64 y #s(literal -1/500 binary64))) (*.f64 y (*.f64 y #s(literal 1/250000 binary64))))) (*.f64 (+.f64 x (*.f64 y #s(literal -1/500 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal -1/125000000 binary64) (*.f64 y (*.f64 y y)))))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (-.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x x))))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) #s(literal 1 binary64)) (*.f64 (-.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x x))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 (*.f64 x x) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal -1/125000000 binary64) (*.f64 y (*.f64 y y)))) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 x (*.f64 x (*.f64 x x)))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(/.f64 (*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y)))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x))) (+.f64 (*.f64 (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x))) (*.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))) (+.f64 (*.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))) (*.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x))) (*.f64 (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))) (+.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (/.f64 (*.f64 x x) (-.f64 (/.f64 y #s(literal 500 binary64)) x))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))) (*.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))) (+.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))
(/.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) #s(literal 1 binary64)) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))
(/.f64 (*.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)) #s(literal 1 binary64)) (-.f64 (/.f64 y #s(literal 500 binary64)) x))
(/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64)))) #s(literal 1 binary64)) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))) (+.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal -1/125000000 binary64) (*.f64 y (*.f64 y y)))))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (-.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x x))))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))) (-.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x x))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal -1/125000000 binary64) (*.f64 y (*.f64 y y)))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (/.f64 #s(literal 1 binary64) (-.f64 (/.f64 y #s(literal 500 binary64)) x))) (+.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 (*.f64 x x) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 x (*.f64 x (*.f64 x x)))) (/.f64 #s(literal 1 binary64) (-.f64 (/.f64 y #s(literal 500 binary64)) x))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))))))
(/.f64 (*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y)))) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 y #s(literal 500 binary64)) x)) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (+.f64 (/.f64 y #s(literal 500 binary64)) x))
(*.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (*.f64 (+.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))))
(*.f64 (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))) (/.f64 (+.f64 (/.f64 y #s(literal 500 binary64)) x) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))))
(*.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)) (/.f64 #s(literal 1 binary64) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(*.f64 (+.f64 (/.f64 y #s(literal 500 binary64)) x) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 1 binary64) (-.f64 (/.f64 y #s(literal 500 binary64)) x))))
(*.f64 (+.f64 (/.f64 y #s(literal 500 binary64)) x) (*.f64 (+.f64 x (*.f64 y #s(literal -1/500 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))
(*.f64 (+.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))
(*.f64 (+.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 (+.f64 x (*.f64 y #s(literal -1/500 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y))))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))))
(*.f64 (/.f64 #s(literal 1 binary64) (-.f64 (/.f64 y #s(literal 500 binary64)) x)) (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64)))))
(*.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64)))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64))))) (+.f64 (/.f64 y #s(literal 500 binary64)) x))
(*.f64 (/.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)) (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x))) (+.f64 (/.f64 y #s(literal 500 binary64)) x))
(*.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) (+.f64 (*.f64 (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (*.f64 (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))) (*.f64 #s(literal 1/15625000000000000 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))))) (+.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (-.f64 (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))))))
(*.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) (-.f64 (*.f64 #s(literal 1/62500000000 binary64) (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64)))) (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))) (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))
(*.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) (+.f64 (*.f64 (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)) (*.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (-.f64 (/.f64 y #s(literal 500 binary64)) x)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)) (-.f64 (/.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (/.f64 #s(literal 500 binary64) y)) (*.f64 x x)))))
(*.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))) (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 (-.f64 (/.f64 y #s(literal 500 binary64)) x) (-.f64 (/.f64 y #s(literal 500 binary64)) x))))) (+.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal -1/500 binary64)) (-.f64 (/.f64 y #s(literal 500 binary64)) x))))
(*.f64 (/.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)) (-.f64 (*.f64 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x x)))) (+.f64 (*.f64 x x) (*.f64 (/.f64 y #s(literal 500 binary64)) (+.f64 (/.f64 y #s(literal 500 binary64)) x))))
(*.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64)))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 #s(literal -1/125000000 binary64) (*.f64 y (*.f64 y y))))) (+.f64 (*.f64 x x) (*.f64 (/.f64 y #s(literal 500 binary64)) (+.f64 (/.f64 y #s(literal 500 binary64)) x))))

simplify155.0ms (5.1%)

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
024300
170264
2162264
3440264
41342264
53731264
66008264
08017264
Stop Event
iter limit
node limit
Counts
84 → 84
Calls
Call 1
Inputs
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(* 1/500 y)
(+ x (* 1/500 y))
(+ x (* 1/500 y))
(+ x (* 1/500 y))
x
(* x (+ 1 (* 1/500 (/ y x))))
(* x (+ 1 (* 1/500 (/ y x))))
(* x (+ 1 (* 1/500 (/ y x))))
x
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
x
(+ x (* 1/500 y))
(+ x (* 1/500 y))
(+ x (* 1/500 y))
(* 1/500 y)
(* y (+ 1/500 (/ x y)))
(* y (+ 1/500 (/ x y)))
(* y (+ 1/500 (/ x y)))
(* 1/500 y)
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
x
(+ x (* 1/500 y))
(+ x (* 1/500 y))
(+ x (* 1/500 y))
(* 1/500 y)
(* y (+ 1/500 (/ x y)))
(* y (+ 1/500 (/ x y)))
(* y (+ 1/500 (/ x y)))
(* 1/500 y)
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(* 1/500 y)
(+ x (* 1/500 y))
(+ x (* 1/500 y))
(+ x (* 1/500 y))
x
(* x (+ 1 (* 1/500 (/ y x))))
(* x (+ 1 (* 1/500 (/ y x))))
(* x (+ 1 (* 1/500 (/ y x))))
x
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
Outputs
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
x
(* x (+ 1 (* 1/500 (/ y x))))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* x (+ 1 (* 1/500 (/ y x))))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* x (+ 1 (* 1/500 (/ y x))))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
x
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
x
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* y (+ 1/500 (/ x y)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* y (+ 1/500 (/ x y)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* y (+ 1/500 (/ x y)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(/ 1 y)
(/.f64 #s(literal 1 binary64) y)
(/ 1 y)
(/.f64 #s(literal 1 binary64) y)
(/ 1 y)
(/.f64 #s(literal 1 binary64) y)
(/ 1 y)
(/.f64 #s(literal 1 binary64) y)
(/ 1 y)
(/.f64 #s(literal 1 binary64) y)
(/ 1 y)
(/.f64 #s(literal 1 binary64) y)
(/ 1 y)
(/.f64 #s(literal 1 binary64) y)
(/ 1 y)
(/.f64 #s(literal 1 binary64) y)
(/ 1 y)
(/.f64 #s(literal 1 binary64) y)
(/ 1 y)
(/.f64 #s(literal 1 binary64) y)
(/ 1 y)
(/.f64 #s(literal 1 binary64) y)
(/ 1 y)
(/.f64 #s(literal 1 binary64) y)
x
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* y (+ 1/500 (/ x y)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* y (+ 1/500 (/ x y)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* y (+ 1/500 (/ x y)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(+ x (* 1/500 y))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
x
(* x (+ 1 (* 1/500 (/ y x))))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* x (+ 1 (* 1/500 (/ y x))))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* x (+ 1 (* 1/500 (/ y x))))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
x
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)

eval43.0ms (1.4%)

Compiler

Compiled 6872 to 383 computations (94.4% saved)

prune25.0ms (0.8%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New3331334
Fresh000
Picked134
Done101
Total3354339
Accuracy
100.0%
Counts
339 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
46.3%
(/.f64 y #s(literal 500 binary64))
99.9%
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
99.8%
(+.f64 x (/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) y)))
54.8%
x
Compiler

Compiled 24 to 18 computations (25% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 y #s(literal 500 binary64))
Rules
/-lowering-/.f32
/-lowering-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035
035
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(/ y 500)
y
500
Outputs
(/ y 500)
(/.f64 y #s(literal 500 binary64))
y
500
#s(literal 500 binary64)

localize27.0ms (0.9%)

Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(/.f64 y #s(literal 500 binary64))
Results
22.0ms256×0valid
Compiler

Compiled 8 to 5 computations (37.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-div: 8.0ms (91.5% 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 (/ y 500)>
Outputs
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
#<alt (* 1/500 y)>
Calls

3 calls:

TimeVariablePointExpression
0.0ms
y
@0
(/ y 500)
0.0ms
y
@inf
(/ y 500)
0.0ms
y
@-inf
(/ y 500)

rewrite238.0ms (7.9%)

Algorithm
batch-egg-rewrite
Rules
2328×*-lowering-*.f32
2328×*-lowering-*.f64
1932×/-lowering-/.f32
1932×/-lowering-/.f64
1460×frac-times
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
1133
2393
31453
46583
564893
080313
Stop Event
iter limit
node limit
Counts
1 → 236
Calls
Call 1
Inputs
(/ y 500)
Outputs
(+.f64 #s(literal 0 binary64) (/.f64 y #s(literal 500 binary64)))
(+.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 0 binary64))
(exp.f64 (log.f64 (/.f64 y #s(literal 500 binary64))))
(exp.f64 (*.f64 (log.f64 (/.f64 y #s(literal 500 binary64))) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 250000 binary64) (*.f64 y y))) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 #s(literal 500 binary64) y)) #s(literal -1/2 binary64)) #s(literal 2 binary64)))
(exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 #s(literal 500 binary64) y)) #s(literal -1/2 binary64)) (*.f64 (log.f64 (/.f64 #s(literal 500 binary64) y)) #s(literal -1/2 binary64))))
(-.f64 #s(literal 0 binary64) (/.f64 y #s(literal 500 binary64)))
(-.f64 (/.f64 #s(literal 0 binary64) (*.f64 #s(literal -500 binary64) (*.f64 y y))) (/.f64 y #s(literal 500 binary64)))
(-.f64 (/.f64 #s(literal 0 binary64) (*.f64 y #s(literal -500 binary64))) (/.f64 y #s(literal 500 binary64)))
(-.f64 (/.f64 #s(literal 0 binary64) (/.f64 (*.f64 y y) #s(literal 250000 binary64))) (/.f64 y #s(literal 500 binary64)))
(neg.f64 (/.f64 y #s(literal 500 binary64)))
(/.f64 y #s(literal 500 binary64))
(/.f64 y #s(literal -500 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 500 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -500 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 500 binary64) y))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (*.f64 y y) #s(literal 250000 binary64)) (/.f64 (*.f64 y (*.f64 y y)) #s(literal -125000000 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 y #s(literal 500 binary64)) (/.f64 (*.f64 y y) #s(literal 250000 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 y y) (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))))))
(/.f64 #s(literal 1 binary64) (/.f64 y (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y)))))
(/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) y))
(/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal -1 binary64) y))
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal 500 binary64) y))
(/.f64 #s(literal -1/500 binary64) (/.f64 #s(literal 1 binary64) y))
(/.f64 #s(literal -1/500 binary64) (/.f64 #s(literal -1 binary64) y))
(/.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 1 binary64))
(/.f64 (/.f64 y #s(literal 500 binary64)) #s(literal -1 binary64))
(/.f64 (*.f64 y (*.f64 y y)) (*.f64 #s(literal 500 binary64) (*.f64 y y)))
(/.f64 (*.f64 y (*.f64 y y)) (*.f64 #s(literal -500 binary64) (*.f64 y y)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 500 binary64) (*.f64 y y)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal -500 binary64) (*.f64 y y)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1 binary64) (*.f64 #s(literal 500 binary64) (*.f64 y y))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal -1 binary64) (*.f64 #s(literal -500 binary64) (*.f64 y y))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1 binary64) (*.f64 #s(literal -500 binary64) (*.f64 y y))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) (*.f64 #s(literal -1 binary64) (*.f64 #s(literal 500 binary64) (*.f64 y y))))
(/.f64 (*.f64 y y) (*.f64 y #s(literal 500 binary64)))
(/.f64 (*.f64 y y) (*.f64 y #s(literal -500 binary64)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (*.f64 y #s(literal 500 binary64)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (*.f64 y #s(literal -500 binary64)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (*.f64 #s(literal 1 binary64) (*.f64 y #s(literal 500 binary64))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (*.f64 #s(literal -1 binary64) (*.f64 y #s(literal -500 binary64))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (*.f64 #s(literal 1 binary64) (*.f64 y #s(literal -500 binary64))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (*.f64 #s(literal -1 binary64) (*.f64 y #s(literal 500 binary64))))
(/.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 500 binary64) y)))
(/.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal -125000000 binary64)) (/.f64 (*.f64 y y) #s(literal 250000 binary64)))
(/.f64 (/.f64 (*.f64 y y) #s(literal 250000 binary64)) (/.f64 y #s(literal 500 binary64)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 #s(literal -500 binary64) (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 #s(literal 500 binary64) (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 y #s(literal -500 binary64)) (*.f64 y y)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 y #s(literal 500 binary64)) (*.f64 y y)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 #s(literal -500 binary64) (*.f64 y y)) (*.f64 y (*.f64 y y))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 y #s(literal -500 binary64)) (*.f64 y (*.f64 y (*.f64 y y)))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 #s(literal 500 binary64) (*.f64 y y)) (*.f64 y (*.f64 y y))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 y #s(literal 500 binary64)) (*.f64 y (*.f64 y (*.f64 y y)))))
(/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) (*.f64 y y))
(/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) (-.f64 #s(literal 0 binary64) (*.f64 y y)))
(/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) y)
(/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) (-.f64 #s(literal 0 binary64) y))
(/.f64 (*.f64 #s(literal 1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) (*.f64 y y))
(/.f64 (*.f64 #s(literal 1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) (-.f64 #s(literal 0 binary64) (*.f64 y y)))
(/.f64 (*.f64 #s(literal 1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) y)
(/.f64 (*.f64 #s(literal 1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) (-.f64 #s(literal 0 binary64) y))
(/.f64 (*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) #s(literal 1/500 binary64)) (*.f64 y y))
(/.f64 (*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) #s(literal 1/500 binary64)) (-.f64 #s(literal 0 binary64) (*.f64 y y)))
(/.f64 (*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) #s(literal 1/500 binary64)) y)
(/.f64 (*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) #s(literal 1/500 binary64)) (-.f64 #s(literal 0 binary64) y))
(/.f64 (neg.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))))) (*.f64 y y))
(/.f64 (neg.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))))) (-.f64 #s(literal 0 binary64) (*.f64 y y)))
(/.f64 (neg.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y)))) y)
(/.f64 (neg.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y)))) (-.f64 #s(literal 0 binary64) y))
(/.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) #s(literal -500 binary64)) (*.f64 y y))
(/.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) #s(literal -500 binary64)) y)
(/.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) #s(literal 500 binary64)) (*.f64 y y))
(/.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) #s(literal 500 binary64)) y)
(/.f64 (*.f64 (*.f64 y (*.f64 y y)) #s(literal -1/500 binary64)) (*.f64 y y))
(/.f64 (*.f64 (*.f64 y (*.f64 y y)) #s(literal -1/500 binary64)) (-.f64 #s(literal 0 binary64) (*.f64 y y)))
(/.f64 (*.f64 (*.f64 y y) #s(literal -1/500 binary64)) y)
(/.f64 (*.f64 (*.f64 y y) #s(literal -1/500 binary64)) (-.f64 #s(literal 0 binary64) y))
(/.f64 (*.f64 #s(literal -1/500 binary64) (*.f64 y (*.f64 y y))) (*.f64 y y))
(/.f64 (*.f64 #s(literal -1/500 binary64) (*.f64 y (*.f64 y y))) (-.f64 #s(literal 0 binary64) (*.f64 y y)))
(/.f64 (*.f64 #s(literal -1/500 binary64) (*.f64 y y)) y)
(/.f64 (*.f64 #s(literal -1/500 binary64) (*.f64 y y)) (-.f64 #s(literal 0 binary64) y))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))))) (*.f64 y y))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y)))) y)
(/.f64 (*.f64 #s(literal 1/500 binary64) (*.f64 y (*.f64 y y))) (*.f64 y y))
(/.f64 (*.f64 #s(literal 1/500 binary64) (*.f64 y (*.f64 y y))) (-.f64 #s(literal 0 binary64) (*.f64 y y)))
(/.f64 (*.f64 #s(literal 1/500 binary64) (*.f64 y y)) y)
(/.f64 (*.f64 #s(literal 1/500 binary64) (*.f64 y y)) (-.f64 #s(literal 0 binary64) y))
(/.f64 (*.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))))) (*.f64 y y))
(/.f64 (*.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y)))) y)
(/.f64 (*.f64 (*.f64 y (*.f64 y y)) #s(literal 1/500 binary64)) (*.f64 y y))
(/.f64 (*.f64 (*.f64 y (*.f64 y y)) #s(literal 1/500 binary64)) (-.f64 #s(literal 0 binary64) (*.f64 y y)))
(/.f64 (*.f64 (*.f64 y y) #s(literal 1/500 binary64)) y)
(/.f64 (*.f64 (*.f64 y y) #s(literal 1/500 binary64)) (-.f64 #s(literal 0 binary64) y))
(/.f64 (*.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) #s(literal 1 binary64)) (*.f64 y y))
(/.f64 (*.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) #s(literal 1 binary64)) y)
(/.f64 (*.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) #s(literal -1 binary64)) (*.f64 y y))
(/.f64 (*.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) #s(literal -1 binary64)) y)
(/.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 500 binary64) (*.f64 y (*.f64 y y)))) (*.f64 y y))
(/.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 500 binary64) (*.f64 y y))) y)
(/.f64 (/.f64 #s(literal 1/500 binary64) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) (*.f64 y (*.f64 y y)))) (*.f64 y y))
(/.f64 (/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) (*.f64 y y))) y)
(/.f64 (/.f64 #s(literal -1 binary64) (/.f64 #s(literal -500 binary64) (*.f64 y (*.f64 y y)))) (*.f64 y y))
(/.f64 (/.f64 #s(literal -1 binary64) (/.f64 #s(literal -500 binary64) (*.f64 y y))) y)
(/.f64 (/.f64 #s(literal -1/500 binary64) (/.f64 #s(literal -1 binary64) (*.f64 y (*.f64 y y)))) (*.f64 y y))
(/.f64 (/.f64 #s(literal -1/500 binary64) (/.f64 #s(literal -1 binary64) (*.f64 y y))) y)
(/.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) y) y)
(/.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) (-.f64 #s(literal 0 binary64) y)) (-.f64 #s(literal 0 binary64) y))
(/.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) #s(literal 1 binary64)) (*.f64 y y))
(/.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (*.f64 y y)))
(/.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) #s(literal 1 binary64)) y)
(/.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) y))
(/.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) (pow.f64 y #s(literal 1/2 binary64))) (pow.f64 y #s(literal 1/2 binary64)))
(/.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -500 binary64) (*.f64 y (*.f64 y y)))) (*.f64 y y))
(/.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -500 binary64) (*.f64 y y))) y)
(/.f64 (/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal -1 binary64) (*.f64 y (*.f64 y y)))) (*.f64 y y))
(/.f64 (/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal -1 binary64) (*.f64 y y))) y)
(/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 #s(literal 500 binary64) y))) (sqrt.f64 (/.f64 #s(literal 500 binary64) y)))
(/.f64 (/.f64 #s(literal -1 binary64) (/.f64 #s(literal 500 binary64) (*.f64 y (*.f64 y y)))) (*.f64 y y))
(/.f64 (/.f64 #s(literal -1 binary64) (/.f64 #s(literal 500 binary64) (*.f64 y y))) y)
(/.f64 (/.f64 #s(literal -1/500 binary64) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (/.f64 #s(literal -1/500 binary64) (/.f64 #s(literal 1 binary64) (*.f64 y (*.f64 y y)))) (*.f64 y y))
(/.f64 (/.f64 #s(literal -1/500 binary64) (/.f64 #s(literal 1 binary64) (*.f64 y y))) y)
(pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1 binary64))
(pow.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 1 binary64))
(pow.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (/.f64 #s(literal 250000 binary64) (*.f64 y y)) #s(literal -1/2 binary64))
(pow.f64 (/.f64 (*.f64 y y) #s(literal 250000 binary64)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal 500 binary64) y)))
(*.f64 y #s(literal 1/500 binary64))
(*.f64 y #s(literal -1/500 binary64))
(*.f64 y (pow.f64 (pow.f64 #s(literal 500 binary64) #s(literal -1/2 binary64)) #s(literal 2 binary64)))
(*.f64 y (*.f64 (pow.f64 #s(literal 500 binary64) #s(literal -1/2 binary64)) (pow.f64 #s(literal 500 binary64) #s(literal -1/2 binary64))))
(*.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1/500 binary64))
(*.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -1/500 binary64))
(*.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 (pow.f64 #s(literal -500 binary64) #s(literal -1/2 binary64)) (pow.f64 #s(literal -500 binary64) #s(literal -1/2 binary64))))
(*.f64 #s(literal 1 binary64) (/.f64 y #s(literal 500 binary64)))
(*.f64 #s(literal 1/500 binary64) y)
(*.f64 #s(literal 1/500 binary64) (-.f64 #s(literal 0 binary64) y))
(*.f64 #s(literal -1 binary64) (/.f64 y #s(literal 500 binary64)))
(*.f64 #s(literal -1/500 binary64) y)
(*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) y))
(*.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 1 binary64))
(*.f64 (/.f64 y #s(literal 500 binary64)) #s(literal -1 binary64))
(*.f64 (*.f64 y (*.f64 y y)) (/.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) (/.f64 #s(literal -1/500 binary64) (*.f64 y y)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) (/.f64 #s(literal 1 binary64) (*.f64 #s(literal -500 binary64) (*.f64 y y))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) (/.f64 #s(literal 1 binary64) (*.f64 #s(literal 500 binary64) (*.f64 y y))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) (*.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal -1/500 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) (*.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 1/500 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) (/.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal -500 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) (/.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 500 binary64)))
(*.f64 (*.f64 y y) (/.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) y)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (/.f64 #s(literal -1/500 binary64) y))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (/.f64 #s(literal 1 binary64) (*.f64 y #s(literal -500 binary64))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (/.f64 #s(literal 1 binary64) (*.f64 y #s(literal 500 binary64))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (*.f64 (/.f64 #s(literal 1 binary64) y) #s(literal -1/500 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (*.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1/500 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (/.f64 (/.f64 #s(literal 1 binary64) y) #s(literal -500 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (/.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 500 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))))
(*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) (/.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) (neg.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))))
(*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) (*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))) #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 500 binary64) #s(literal -1/2 binary64)) (*.f64 (pow.f64 y #s(literal 1/2 binary64)) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))))
(*.f64 (pow.f64 #s(literal 500 binary64) #s(literal -1/2 binary64)) (*.f64 (pow.f64 y #s(literal 1/2 binary64)) (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))))
(*.f64 (pow.f64 y #s(literal 1/2 binary64)) (*.f64 (pow.f64 y #s(literal 1/2 binary64)) #s(literal 1/500 binary64)))
(*.f64 (pow.f64 y #s(literal 1/2 binary64)) (*.f64 (pow.f64 #s(literal 500 binary64) #s(literal -1/2 binary64)) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))))
(*.f64 (pow.f64 y #s(literal 1/2 binary64)) (*.f64 (pow.f64 y #s(literal 1/2 binary64)) #s(literal -1/500 binary64)))
(*.f64 (pow.f64 y #s(literal 1/2 binary64)) (*.f64 (pow.f64 #s(literal 500 binary64) #s(literal -1/2 binary64)) (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))))
(*.f64 (pow.f64 y #s(literal 1/2 binary64)) (/.f64 (pow.f64 y #s(literal 1/2 binary64)) #s(literal 500 binary64)))
(*.f64 (pow.f64 y #s(literal 1/2 binary64)) (/.f64 (pow.f64 y #s(literal 1/2 binary64)) #s(literal -500 binary64)))
(*.f64 (pow.f64 #s(literal -500 binary64) #s(literal -1/2 binary64)) (*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1/2 binary64)) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))))
(*.f64 (pow.f64 #s(literal -500 binary64) #s(literal -1/2 binary64)) (*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1/2 binary64)) (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))))
(*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1/2 binary64)) (*.f64 (pow.f64 #s(literal -500 binary64) #s(literal -1/2 binary64)) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))))
(*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1/2 binary64)) (*.f64 (pow.f64 #s(literal -500 binary64) #s(literal -1/2 binary64)) (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))))
(*.f64 (pow.f64 #s(literal -1 binary64) #s(literal -1/2 binary64)) (/.f64 y #s(literal 500 binary64)))
(*.f64 (/.f64 (*.f64 y (*.f64 y y)) #s(literal -125000000 binary64)) (/.f64 #s(literal 250000 binary64) (*.f64 y y)))
(*.f64 (/.f64 (*.f64 y y) #s(literal 250000 binary64)) (/.f64 #s(literal 500 binary64) y))
(*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/4 binary64)) (*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/4 binary64)) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))))
(*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/4 binary64)) (*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/4 binary64)) (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))))
(*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))) (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))))
(*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))) (/.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) #s(literal -1 binary64)))
(*.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(*.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) (/.f64 #s(literal 1 binary64) y))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 #s(literal 500 binary64) y)) #s(literal -1 binary64)) (pow.f64 (sqrt.f64 (/.f64 #s(literal 500 binary64) y)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) (*.f64 y (*.f64 y y))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) (*.f64 y y)) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) y))
(*.f64 (pow.f64 (pow.f64 #s(literal 500 binary64) #s(literal -1/2 binary64)) #s(literal 2 binary64)) y)
(*.f64 (pow.f64 (pow.f64 #s(literal -500 binary64) #s(literal -1/2 binary64)) #s(literal 2 binary64)) (pow.f64 (pow.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 (pow.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 (pow.f64 #s(literal -500 binary64) #s(literal -1/2 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 (pow.f64 #s(literal -1 binary64) #s(literal -1/2 binary64)) #s(literal 2 binary64)) (/.f64 y #s(literal 500 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal -500 binary64) (*.f64 y (*.f64 y y))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(*.f64 (pow.f64 (/.f64 #s(literal -500 binary64) (*.f64 y y)) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) y))
(*.f64 (*.f64 #s(literal 1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(*.f64 (*.f64 #s(literal 1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) (/.f64 #s(literal 1 binary64) y))
(*.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (pow.f64 y #s(literal 1/2 binary64))) (/.f64 #s(literal -1/500 binary64) (pow.f64 y #s(literal 1/2 binary64))))
(*.f64 (/.f64 #s(literal -1/500 binary64) y) (-.f64 #s(literal 0 binary64) (*.f64 y y)))
(*.f64 (/.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) y)) (*.f64 y y))
(*.f64 (/.f64 #s(literal -1/500 binary64) (pow.f64 y #s(literal 1/2 binary64))) (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y y)) (pow.f64 y #s(literal 1/2 binary64))))
(*.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) #s(literal 1 binary64)) (/.f64 #s(literal -1/500 binary64) (*.f64 y y)))
(*.f64 (*.f64 (pow.f64 #s(literal 500 binary64) #s(literal -1/2 binary64)) (pow.f64 #s(literal 500 binary64) #s(literal -1/2 binary64))) y)
(*.f64 (*.f64 (pow.f64 #s(literal -500 binary64) #s(literal -1/2 binary64)) (pow.f64 #s(literal -500 binary64) #s(literal -1/2 binary64))) (-.f64 #s(literal 0 binary64) y))
(*.f64 (*.f64 (pow.f64 #s(literal -1 binary64) #s(literal -1/2 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal -1/2 binary64))) (/.f64 y #s(literal 500 binary64)))
(*.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))
(*.f64 (*.f64 #s(literal 1/500 binary64) (pow.f64 y #s(literal 1/2 binary64))) (pow.f64 y #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) (pow.f64 #s(literal 500 binary64) #s(literal -1/2 binary64))) (pow.f64 y #s(literal 1/2 binary64)))
(*.f64 (*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) (pow.f64 y #s(literal 1/2 binary64))) (pow.f64 #s(literal 500 binary64) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) (pow.f64 #s(literal -500 binary64) #s(literal -1/2 binary64))) (pow.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) (pow.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1/2 binary64))) (pow.f64 #s(literal -500 binary64) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/4 binary64))) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/4 binary64)))
(*.f64 (*.f64 #s(literal -1/500 binary64) (pow.f64 y #s(literal 1/2 binary64))) (pow.f64 y #s(literal 1/2 binary64)))
(*.f64 (*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))) (pow.f64 #s(literal 500 binary64) #s(literal -1/2 binary64))) (pow.f64 y #s(literal 1/2 binary64)))
(*.f64 (*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))) (pow.f64 y #s(literal 1/2 binary64))) (pow.f64 #s(literal 500 binary64) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))) (pow.f64 #s(literal -500 binary64) #s(literal -1/2 binary64))) (pow.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))) (pow.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1/2 binary64))) (pow.f64 #s(literal -500 binary64) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))) (pow.f64 #s(literal -1 binary64) #s(literal -1/2 binary64))) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64))) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/4 binary64))) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/4 binary64)))
(*.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) y))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 #s(literal 500 binary64) y))) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))
(*.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 y (*.f64 y (*.f64 y y))))
(*.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) (*.f64 y (*.f64 y (*.f64 y y)))) (*.f64 y y))
(*.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y (*.f64 y y))))) (-.f64 #s(literal 0 binary64) (*.f64 y y)))
(*.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) (-.f64 #s(literal 0 binary64) (*.f64 y (*.f64 y y)))) (-.f64 #s(literal 0 binary64) (*.f64 y y)))
(*.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) (-.f64 #s(literal 0 binary64) (*.f64 y y))) (-.f64 #s(literal 0 binary64) y))
(*.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) (*.f64 y (*.f64 y y))) (*.f64 y y))
(*.f64 (/.f64 (*.f64 #s(literal -1/500 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y y))) (*.f64 y y)) y)
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))) (pow.f64 (/.f64 #s(literal 500 binary64) y) #s(literal -1/2 binary64)))

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

eval27.0ms (0.9%)

Compiler

Compiled 2816 to 451 computations (84% saved)

prune31.0ms (1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New2480248
Fresh000
Picked011
Done033
Total2484252
Accuracy
100.0%
Counts
252 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
46.3%
(/.f64 y #s(literal 500 binary64))
99.9%
(+.f64 (*.f64 #s(literal 1/500 binary64) y) x)
99.8%
(+.f64 x (/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) y)))
54.8%
x
Compiler

Compiled 50 to 30 computations (40% saved)

regimes14.0ms (0.4%)

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

4 calls:

5.0ms
x
3.0ms
(/.f64 y #s(literal 500 binary64))
3.0ms
(+.f64 x (/.f64 y #s(literal 500 binary64)))
2.0ms
y
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(+.f64 x (/.f64 y #s(literal 500 binary64)))
100.0%1(/.f64 y #s(literal 500 binary64))
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes6.0ms (0.2%)

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

3 calls:

2.0ms
(/.f64 y #s(literal 500 binary64))
2.0ms
x
2.0ms
y
Results
AccuracySegmentsBranch
79.4%3x
75.4%3y
75.4%3(/.f64 y #s(literal 500 binary64))
Compiler

Compiled 11 to 8 computations (27.3% saved)

regimes2.0ms (0.1%)

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

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
79.3%3x
Compiler

Compiled 3 to 2 computations (33.3% saved)

regimes3.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

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

Compiled 6 to 4 computations (33.3% saved)

bsearch17.0ms (0.6%)

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

Compiled 132 to 105 computations (20.5% saved)

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

bsearch18.0ms (0.6%)

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

Compiled 132 to 105 computations (20.5% saved)

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

simplify8.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01932
12732
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 x (/.f64 y #s(literal 500 binary64)))
(if (<=.f64 x #s(literal -60790846849591/14474011154664524427946373126085988481658748083205070504932198000989141204992 binary64)) x (if (<=.f64 x #s(literal 16500000000000000000 binary64)) (/.f64 y #s(literal 500 binary64)) x))
(if (<=.f64 x #s(literal -4168515212543383/231584178474632390847141970017375815706539969331281128078915168015826259279872 binary64)) x (if (<=.f64 x #s(literal 46000000000000000000 binary64)) (*.f64 #s(literal 1/500 binary64) y) x))
x
Outputs
(+.f64 x (/.f64 y #s(literal 500 binary64)))
(if (<=.f64 x #s(literal -60790846849591/14474011154664524427946373126085988481658748083205070504932198000989141204992 binary64)) x (if (<=.f64 x #s(literal 16500000000000000000 binary64)) (/.f64 y #s(literal 500 binary64)) x))
(if (<=.f64 x #s(literal -4168515212543383/231584178474632390847141970017375815706539969331281128078915168015826259279872 binary64)) x (if (<=.f64 x #s(literal 46000000000000000000 binary64)) (*.f64 #s(literal 1/500 binary64) y) x))
(if (<=.f64 x #s(literal -4168515212543383/231584178474632390847141970017375815706539969331281128078915168015826259279872 binary64)) x (if (<=.f64 x #s(literal 46000000000000000000 binary64)) (*.f64 y #s(literal 1/500 binary64)) x))
x

soundness635.0ms (21%)

Rules
2930×*-lowering-*.f32
2930×*-lowering-*.f64
2350×/-lowering-/.f32
2350×/-lowering-/.f64
1544×fnmadd-define
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023138
168120
2160120
3441120
41347120
53754120
66035120
08044120
0916
16016
243216
3657616
0866416
Stop Event
done
iter limit
node limit
iter limit
node limit
Compiler

Compiled 58 to 37 computations (36.2% saved)

preprocess31.0ms (1%)

Compiler

Compiled 82 to 48 computations (41.5% saved)

end0.0ms (0%)

Profiling

Loading profile data...