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

Time bar (total: 3.1s)

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)

sample686.0ms (21.8%)

Results
527.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 191.0ms
ival-add: 102.0ms (53.3% of total)
ival-div: 76.0ms (39.7% of total)
const: 11.0ms (5.8% of total)
backward-pass: 3.0ms (1.6% of total)
Bogosity

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

explain59.0ms (1.9%)

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
26.0ms512×0valid
Compiler

Compiled 35 to 17 computations (51.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-div: 6.0ms (63.1% of total)
ival-add: 3.0ms (31.6% of total)
const: 1.0ms (10.5% 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)

localize39.0ms (1.2%)

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
33.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 (50.8% of total)
ival-add: 1.0ms (25.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))

rewrite529.0ms (16.8%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
058
1297
22497
339877
082807
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 y #s(literal 1/250000 binary64))) (+.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 y #s(literal 1/250000 binary64))) (+.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)) (/.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 y #s(literal 1/250000 binary64))) (+.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 y #s(literal 1/250000 binary64))) (+.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 y #s(literal 1/250000 binary64))) (+.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 -1/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 y #s(literal 1/250000 binary64))) (+.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 -1/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 #s(literal 0 binary64) (+.f64 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 -1/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 -1/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 y #s(literal 1/250000 binary64))) (*.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 -1/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 #s(literal 0 binary64) (+.f64 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 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 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 15625000000000000 binary64))) (*.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 -1/125000000 binary64)))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 15625000000000000 binary64))) (*.f64 (+.f64 x (/.f64 y #s(literal -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 (*.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 y #s(literal 1/250000 binary64))))))
(/.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 y #s(literal 1/250000 binary64))))) (*.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 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 15625000000000000 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) #s(literal -1/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 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 15625000000000000 binary64))) #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 -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 y #s(literal 1/250000 binary64)))) (+.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 -1/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 #s(literal 0 binary64) (+.f64 x (/.f64 y #s(literal -500 binary64))))))
(/.f64 (neg.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.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 y #s(literal 1/250000 binary64))) (+.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 y #s(literal 1/250000 binary64))) (+.f64 x (/.f64 y #s(literal -500 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 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 y #s(literal 1/250000 binary64))) (+.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 y #s(literal 1/250000 binary64))) (+.f64 x (/.f64 y #s(literal -500 binary64)))) (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 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 y #s(literal 1/250000 binary64))) (+.f64 x (/.f64 y #s(literal -500 binary64))))))
(/.f64 (*.f64 (-.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) #s(literal -1/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 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 15625000000000000 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 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) #s(literal -1/125000000 binary64))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 15625000000000000 binary64))) (/.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 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 (*.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 y #s(literal 1/250000 binary64)))))
(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 y #s(literal 1/250000 binary64))) (*.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 -1/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 -1/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 #s(literal 0 binary64) (+.f64 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 -1/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 -1/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 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 (*.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 -1/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 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 (*.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 -1/125000000 binary64))) (-.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 (/.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 -1/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 (*.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 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 15625000000000000 binary64)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) #s(literal -1/125000000 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 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 15625000000000000 binary64)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 1/250000 binary64))))))))
(*.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 y #s(literal 1/250000 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 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) y)) #s(literal 1 binary64)))
(*.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 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 0 binary64) y) #s(literal 1 binary64)))
(*.f64 #s(literal -1/500 binary64) (pow.f64 (/.f64 #s(literal 1 binary64) (-.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 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)))
(*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) y)) #s(literal -1 binary64)) #s(literal -1/500 binary64))

simplify168.0ms (5.3%)

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

eval30.0ms (1%)

Compiler

Compiled 2711 to 308 computations (88.6% saved)

prune15.0ms (0.5%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1383141
Fresh000
Picked011
Done000
Total1384142
Accuracy
100.0%
Counts
142 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x (/.f64 y #s(literal 500 binary64)))
99.9%
(+.f64 x (/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) y)))
47.9%
(*.f64 #s(literal 1/500 binary64) y)
51.8%
x
Compiler

Compiled 24 to 18 computations (25% saved)

simplify5.0ms (0.2%)

Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 #s(literal 1 binary64) y)
cost-diff128
(/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) y))
cost-diff128
(+.f64 x (/.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: 1 (0.0ms)

IterNodesCost
0820
11419
21619
01619
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
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

localize49.0ms (1.6%)

Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
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.6%
(/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) y))
accuracy99.8%
(*.f64 #s(literal 1/500 binary64) y)
Results
37.0ms256×0valid
Compiler

Compiled 28 to 9 computations (67.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-div: 4.0ms (35.2% of total)
...c/correct-round.rkt:119:19: 4.0ms (35.2% of total)
ival-mult: 2.0ms (17.6% of total)
ival-add: 1.0ms (8.8% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series1.0ms (0%)

Counts
4 → 60
Calls
Call 1
Inputs
#<alt (* 1/500 y)>
#<alt (+ x (/ 1/500 (/ 1 y)))>
#<alt (/ 1/500 (/ 1 y))>
#<alt (/ 1 y)>
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 (+ 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)>
#<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)>
Calls

15 calls:

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

rewrite231.0ms (7.4%)

Algorithm
batch-egg-rewrite
Rules
2080×*-lowering-*.f32
2080×*-lowering-*.f64
1714×/-lowering-/.f32
1714×/-lowering-/.f64
1454×fma-lowering-fma.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0813
14312
231512
3428012
0803212
Stop Event
iter limit
node limit
Counts
4 → 126
Calls
Call 1
Inputs
(* 1/500 y)
(+ x (/ 1/500 (/ 1 y)))
(/ 1/500 (/ 1 y))
(/ 1 y)
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 (/.f64 #s(literal -1 binary64) y) #s(literal 1/500 binary64)))
(/.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 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 -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 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 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)))
(fma.f64 #s(literal 1/500 binary64) y x)
(fma.f64 y #s(literal 1/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 -1/500 binary64)))) (neg.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/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) (-.f64 #s(literal 0 binary64) y) x)
(fma.f64 (*.f64 x x) (/.f64 #s(literal 1 binary64) (+.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))))))
(fma.f64 (/.f64 (*.f64 x x) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal -1/250000 binary64))))) (+.f64 x (/.f64 y #s(literal 500 binary64))) (neg.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))
(fma.f64 (/.f64 (*.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 y #s(literal 500 binary64)) (+.f64 x (/.f64 y #s(literal 500 binary64))))) (neg.f64 (/.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))
(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 #s(literal 0 binary64) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))
(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 (neg.f64 (*.f64 x x)) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(/.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 y #s(literal 1/250000 binary64))) (*.f64 x x))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (/.f64 y #s(literal 500 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 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 (neg.f64 (*.f64 x x)) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))) (-.f64 #s(literal 0 binary64) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(/.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (*.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 (*.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 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 y (*.f64 y #s(literal 1/250000 binary64))) (*.f64 x x)) (-.f64 (/.f64 y #s(literal 500 binary64)) x))
(/.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 (*.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 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (*.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)))))) #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 (*.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 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 (neg.f64 (+.f64 (neg.f64 (*.f64 x x)) (*.f64 y (*.f64 y #s(literal 1/250000 binary64))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))
(/.f64 (neg.f64 (-.f64 (*.f64 y (*.f64 y #s(literal 1/250000 binary64))) (*.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 -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 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 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 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (*.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 #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 (*.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 (*.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 x (/.f64 y #s(literal 500 binary64)))) #s(literal -1 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 -1/500 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y #s(literal -1/500 binary64))))))
(*.f64 (+.f64 x (/.f64 y #s(literal 500 binary64))) (/.f64 (+.f64 x (*.f64 y #s(literal -1/500 binary64))) (+.f64 x (*.f64 y #s(literal -1/500 binary64)))))
(*.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 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 (+.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 #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 (neg.f64 (*.f64 x x)) (*.f64 y (*.f64 y #s(literal 1/250000 binary64)))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 x (*.f64 y #s(literal -1/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 #s(literal 1/125000000 binary64) (*.f64 y (*.f64 y y)))))
(*.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 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 (*.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 x (/.f64 y #s(literal 500 binary64))))
(*.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 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 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 (*.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 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 x (/.f64 y #s(literal 500 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 (/.f64 #s(literal -1 binary64) y) #s(literal 1/500 binary64)))
(/.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 #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)))

simplify190.0ms (6%)

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
024198
170180
2162180
3440180
41342180
53731180
66004180
08003180
Stop Event
iter limit
node limit
Counts
60 → 60
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)
(+ 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)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 y)
(/ 1 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)
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(+ x (* 1/500 y))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(+ x (* 1/500 y))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(+ x (* 1/500 y))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
x
(* x (+ 1 (* 1/500 (/ y x))))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(* x (+ 1 (* 1/500 (/ y x))))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(* x (+ 1 (* 1/500 (/ y x))))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
x
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(* -1 (* x (- (* -1/500 (/ y x)) 1)))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
x
(+ x (* 1/500 y))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(+ x (* 1/500 y))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(+ x (* 1/500 y))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* y (+ 1/500 (/ x y)))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(* y (+ 1/500 (/ x y)))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(* y (+ 1/500 (/ x y)))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(* 1/500 y)
(*.f64 #s(literal 1/500 binary64) y)
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(* -1 (* y (- (* -1 (/ x y)) 1/500)))
(-.f64 x (*.f64 y #s(literal -1/500 binary64)))
(* 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 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)

eval20.0ms (0.6%)

Compiler

Compiled 2691 to 314 computations (88.3% saved)

prune42.0ms (1.3%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New1851186
Fresh000
Picked033
Done011
Total1855190
Accuracy
100.0%
Counts
190 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.0%
(/.f64 y #s(literal 500 binary64))
100.0%
(+.f64 x (/.f64 y #s(literal 500 binary64)))
99.9%
(+.f64 x (/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) y)))
47.9%
(*.f64 #s(literal 1/500 binary64) y)
51.8%
x
Compiler

Compiled 29 to 22 computations (24.1% 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)

localize30.0ms (1%)

Localize:

Found 1 expressions of interest:

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

Compiled 8 to 5 computations (37.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-div: 2.0ms (76.4% 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)

rewrite188.0ms (6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
033
1133
2393
31453
46563
564693
081893
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 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 #s(literal 0 binary64) (*.f64 y (*.f64 y y))) #s(literal 500 binary64)) (*.f64 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 #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)))

simplify11.0ms (0.3%)

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)

eval42.0ms (1.3%)

Compiler

Compiled 2816 to 451 computations (84% saved)

prune33.0ms (1%)

Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New2480248
Fresh000
Picked011
Done044
Total2485253
Accuracy
100.0%
Counts
253 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.0%
(/.f64 y #s(literal 500 binary64))
100.0%
(+.f64 x (/.f64 y #s(literal 500 binary64)))
99.9%
(+.f64 x (/.f64 #s(literal 1/500 binary64) (/.f64 #s(literal 1 binary64) y)))
47.9%
(*.f64 #s(literal 1/500 binary64) y)
51.8%
x
Compiler

Compiled 50 to 33 computations (34% saved)

regimes10.0ms (0.3%)

Counts
5 → 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 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:

2.0ms
x
2.0ms
(/.f64 y #s(literal 500 binary64))
2.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)

regimes7.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
(/.f64 y #s(literal 500 binary64))
x
(/.f64 y #s(literal 500 binary64))
Calls

3 calls:

3.0ms
y
2.0ms
x
2.0ms
(/.f64 y #s(literal 500 binary64))
Results
AccuracySegmentsBranch
76.0%3x
78.0%3y
78.0%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
(*.f64 #s(literal 1/500 binary64) y)
x
(*.f64 #s(literal 1/500 binary64) y)
Calls

1 calls:

1.0ms
y
Results
AccuracySegmentsBranch
78.0%3y
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
y
1.0ms
x
Results
AccuracySegmentsBranch
51.8%1x
51.8%1y
Compiler

Compiled 6 to 4 computations (33.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
80983021306514020.0
1.2865337911765702e+30
0.0ms
-1.683118913268351e+40
-6.114556535921258e+38
Compiler

Compiled 12 to 9 computations (25% saved)

bsearch23.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
4.049151065325701e+19
6.432668955882851e+32
8.0ms
-8.415594566341755e+42
-3.057278267960629e+41
Results
13.0ms272×0valid
Compiler

Compiled 182 to 145 computations (20.3% saved)

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

simplify8.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01936
12736
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 x (/.f64 y #s(literal 500 binary64)))
(if (<=.f64 (/.f64 y #s(literal 500 binary64)) #s(literal -10000000000000000303786028427003666890752 binary64)) (/.f64 y #s(literal 500 binary64)) (if (<=.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 100000000000000000 binary64)) x (/.f64 y #s(literal 500 binary64))))
(if (<=.f64 y #s(literal -579999999999999976516111781868820739653632 binary64)) (*.f64 #s(literal 1/500 binary64) y) (if (<=.f64 y #s(literal 599999999999999983783277232128 binary64)) x (*.f64 #s(literal 1/500 binary64) y)))
x
Outputs
(+.f64 x (/.f64 y #s(literal 500 binary64)))
(if (<=.f64 (/.f64 y #s(literal 500 binary64)) #s(literal -10000000000000000303786028427003666890752 binary64)) (/.f64 y #s(literal 500 binary64)) (if (<=.f64 (/.f64 y #s(literal 500 binary64)) #s(literal 100000000000000000 binary64)) x (/.f64 y #s(literal 500 binary64))))
(if (<=.f64 y #s(literal -579999999999999976516111781868820739653632 binary64)) (*.f64 #s(literal 1/500 binary64) y) (if (<=.f64 y #s(literal 599999999999999983783277232128 binary64)) x (*.f64 #s(literal 1/500 binary64) y)))
(if (<=.f64 y #s(literal -579999999999999976516111781868820739653632 binary64)) (*.f64 y #s(literal 1/500 binary64)) (if (<=.f64 y #s(literal 599999999999999983783277232128 binary64)) x (*.f64 y #s(literal 1/500 binary64))))
x

soundness642.0ms (20.4%)

Rules
2080×*-lowering-*.f32
2080×*-lowering-*.f64
1714×/-lowering-/.f32
1714×/-lowering-/.f64
1544×fnmadd-define
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023138
168120
2160120
3441120
41347120
53754120
66031120
08030120
0813
14312
231512
3428012
0803212
Stop Event
done
iter limit
node limit
iter limit
node limit
Compiler

Compiled 66 to 37 computations (43.9% saved)

preprocess34.0ms (1.1%)

Compiler

Compiled 98 to 48 computations (51% saved)

end0.0ms (0%)

Profiling

Loading profile data...