Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, A

Time bar (total: 3.2s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

analyze0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated; 0ms collecting garbage
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 9 to 7 computations (22.2% saved)

sample779.0ms (24.2%)

Memory
34.7MiB live, 1 202.4MiB allocated; 246ms collecting garbage
Samples
510.0ms8 254×0valid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 208.0ms
ival-add: 83.0ms (39.8% of total)
ival-mult: 76.0ms (36.5% of total)
ival-sub: 38.0ms (18.2% of total)
ival-true: 6.0ms (2.9% of total)
ival-assert: 3.0ms (1.4% of total)
adjust: 2.0ms (1% of total)
Bogosity

explain71.0ms (2.2%)

Memory
-36.9MiB live, 105.3MiB allocated; 31ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(-.f64 (+.f64 x y) (*.f64 x y))
00-0-y
00-0-(+.f64 x y)
00-0-(*.f64 x y)
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
26.0ms512×0valid
Compiler

Compiled 41 to 19 computations (53.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-mult: 8.0ms (56.9% of total)
ival-add: 3.0ms (21.4% of total)
ival-sub: 2.0ms (14.2% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess248.0ms (7.7%)

Memory
44.9MiB live, 182.4MiB allocated; 74ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01543
13940
210539
319337
426335
539935
661135
7145635
8378235
057
087
1157
2317
3587
4887
51387
62227
76187
824217
967447
080246
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(-.f64 (+.f64 x y) (*.f64 x y))
Outputs
(-.f64 (+.f64 x y) (*.f64 x y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
Symmetry

(sort x y)

Compiler

Compiled 7 to 5 computations (28.6% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (+.f64 x y) (*.f64 x y))
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify299.0ms (9.3%)

Memory
-35.9MiB live, 203.9MiB allocated; 27ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x y)
cost-diff0
(+.f64 x y)
cost-diff1
(-.f64 (+.f64 x y) (*.f64 x y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0515
0815
11515
23115
35815
48815
513815
622215
761815
8242115
9674415
0802414
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(-.f64 (+.f64 x y) (*.f64 x y))
(+.f64 x y)
x
y
(*.f64 x y)
Outputs
(-.f64 (+.f64 x y) (*.f64 x y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+.f64 x y)
(+.f64 y x)
x
y
(*.f64 x y)
(*.f64 y x)

localize15.0ms (0.5%)

Memory
20.3MiB live, 20.3MiB allocated; 0ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 x y)
accuracy0.0
(*.f64 x y)
accuracy0.00390625
(-.f64 (+.f64 x y) (*.f64 x y))
Samples
10.0ms256×0valid
Compiler

Compiled 17 to 7 computations (58.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-mult: 2.0ms (44.5% of total)
ival-sub: 1.0ms (22.2% of total)
ival-add: 1.0ms (22.2% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series4.0ms (0.1%)

Memory
3.9MiB live, 3.9MiB allocated; 0ms collecting garbage
Counts
3 → 20
Calls
Call 1
Inputs
(-.f64 (+.f64 x y) (*.f64 x y))
(+.f64 x y)
(*.f64 x y)
Outputs
#s(approx (- (+ x y) (* x y)) #s(hole binary64 y))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ y (* x (- 1 y)))))
#s(approx (+ x y) #s(hole binary64 y))
#s(approx (+ x y) #s(hole binary64 (+ x y)))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- 1 y))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- (+ 1 (/ y x)) y))))
#s(approx (+ x y) #s(hole binary64 x))
#s(approx (+ x y) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- 1 x))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (+ x y) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (+ 1 (* -1 x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
Calls

6 calls:

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

simplify156.0ms (4.8%)

Memory
-18.3MiB live, 73.3MiB allocated; 15ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
063212
1147212
2317212
3908212
43933212
08212194
Stop Event
iter limit
node limit
Counts
20 → 20
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) #s(hole binary64 y))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ y (* x (- 1 y)))))
#s(approx (+ x y) #s(hole binary64 y))
#s(approx (+ x y) #s(hole binary64 (+ x y)))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- 1 y))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- (+ 1 (/ y x)) y))))
#s(approx (+ x y) #s(hole binary64 x))
#s(approx (+ x y) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- 1 x))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (+ x y) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (+ 1 (* -1 x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
Outputs
#s(approx (- (+ x y) (* x y)) #s(hole binary64 y))
#s(approx (- (+ x y) (* x y)) y)
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ y (* x (- 1 y)))))
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (+ x y) #s(hole binary64 y))
#s(approx (+ x y) y)
#s(approx (+ x y) #s(hole binary64 (+ x y)))
#s(approx (+ x y) (+.f64 y x))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx (* x y) (*.f64 y x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- 1 y))))
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- (+ 1 (/ y x)) y))))
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (+ x y) #s(hole binary64 x))
#s(approx (+ x y) x)
#s(approx (+ x y) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (+ x y) (+.f64 y x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))))
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (+ x y) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx (+ x y) (+.f64 y x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 x))
#s(approx (- (+ x y) (* x y)) x)
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- 1 x))))
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (+ x y) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (+ x y) (+.f64 y x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (+ 1 (* -1 x)))))
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))))
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (+ x y) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
#s(approx (+ x y) (+.f64 y x))

rewrite253.0ms (7.9%)

Memory
15.4MiB live, 155.1MiB allocated; 22ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0513
0813
13913
233413
3516713
0833413
Stop Event
iter limit
node limit
iter limit
Counts
3 → 139
Calls
Call 1
Inputs
(-.f64 (+.f64 x y) (*.f64 x y))
(+.f64 x y)
(*.f64 x y)
Outputs
(*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (fma.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) y x))
(*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (-.f64 (pow.f64 (+.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x)) #s(literal 2 binary64)))) (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (*.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x))))
(*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (+.f64 y x) #s(literal 6 binary64)))) (fma.f64 (*.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x)) (-.f64 (*.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))) (pow.f64 (+.f64 y x) #s(literal 4 binary64))))
(*.f64 (fma.f64 y x (+.f64 y x)) (/.f64 (fma.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) y x) (fma.f64 y x (+.f64 y x))))
(*.f64 (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64))) (/.f64 (fma.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) y x) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (+.f64 y x))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (+.f64 y x))) #s(literal 2 binary64))) (+.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (+.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (+.f64 y x)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) #s(literal 2 binary64))) (fma.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) y x))
(/.f64 (-.f64 (pow.f64 (fma.f64 (neg.f64 x) y y) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (fma.f64 (neg.f64 x) y y) x))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))) (-.f64 (*.f64 (neg.f64 x) y) (+.f64 y x)))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 (neg.f64 y) x x) #s(literal 2 binary64))) (-.f64 y (fma.f64 (neg.f64 y) x x)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (+.f64 y x))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (+.f64 y x))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (+.f64 y x))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (+.f64 y x))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (+.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (+.f64 y x)))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64))))))))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (fma.f64 (neg.f64 y) x x) #s(literal 3 binary64))) (fma.f64 y y (-.f64 (pow.f64 (fma.f64 (neg.f64 y) x x) #s(literal 2 binary64)) (*.f64 y (fma.f64 (neg.f64 y) x x)))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 (neg.f64 x) y y) #s(literal 2 binary64)))) (neg.f64 (-.f64 x (fma.f64 (neg.f64 x) y y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 (neg.f64 x) y y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 (fma.f64 (neg.f64 x) y y) (-.f64 (fma.f64 (neg.f64 x) y y) x) (*.f64 x x))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (fma.f64 y x (+.f64 y x)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (+.f64 y x))) (*.f64 (fma.f64 y x (+.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (pow.f64 (fma.f64 y x (+.f64 y x)) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) (*.f64 (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64))) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (pow.f64 (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64))) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 y x) #s(literal 4 binary64))) (*.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))) (fma.f64 y x (+.f64 y x))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 (neg.f64 x) y y) #s(literal 2 binary64))) (-.f64 x (fma.f64 (neg.f64 x) y y)))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 9 binary64)) (pow.f64 (*.f64 y x) #s(literal 9 binary64))) (*.f64 (+.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64))) (pow.f64 (*.f64 (*.f64 (+.f64 y x) x) y) #s(literal 3 binary64))) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64))) (*.f64 (+.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 y x) #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 (+.f64 y x) x) y) #s(literal 2 binary64))) (fma.f64 y x (+.f64 y x))))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64))) (*.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 (+.f64 y x) y) (neg.f64 x)))))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (fma.f64 (neg.f64 x) y y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 (neg.f64 x) y y) #s(literal 2 binary64)) (-.f64 (*.f64 x x) (*.f64 (fma.f64 (neg.f64 x) y y) x))))
(/.f64 (+.f64 (pow.f64 (fma.f64 (neg.f64 x) y y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (fma.f64 (neg.f64 x) y y) (-.f64 (fma.f64 (neg.f64 x) y y) x) (*.f64 x x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (neg.f64 (fma.f64 y x (+.f64 y x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (fma.f64 y x (+.f64 y x)))
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (fma.f64 y x (+.f64 y x))))
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))))
(neg.f64 (/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (neg.f64 (fma.f64 y x (+.f64 y x)))))
(neg.f64 (/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (neg.f64 (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64))))))
(fma.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (-.f64 (pow.f64 (+.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x)) #s(literal 2 binary64)))) (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (*.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (+.f64 y x) #s(literal 6 binary64)))) (fma.f64 (*.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x)) (-.f64 (*.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))) (pow.f64 (+.f64 y x) #s(literal 4 binary64))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (-.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))) (/.f64 (neg.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (fma.f64 y x (+.f64 y x))))
(fma.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (fma.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) y x) (/.f64 (neg.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (fma.f64 y x (+.f64 y x))))
(fma.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 y x) y) #s(literal 2 binary64)))) (-.f64 (*.f64 x x) (*.f64 (-.f64 y x) y)) (-.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (*.f64 y x)))
(fma.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 y x) y) #s(literal 2 binary64)))) (-.f64 (*.f64 x x) (*.f64 (-.f64 y x) y)) (+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (*.f64 (neg.f64 x) y)))
(fma.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 y x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 y x) y) (-.f64 (*.f64 (-.f64 y x) y) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))) (-.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (*.f64 y x)))
(fma.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 y x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 y x) y) (-.f64 (*.f64 (-.f64 y x) y) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))) (+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (*.f64 (neg.f64 x) y)))
(fma.f64 (/.f64 (*.f64 (-.f64 x y) (+.f64 y x)) (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (+.f64 y x) y (*.f64 x x)) (*.f64 (neg.f64 x) y))
(fma.f64 (/.f64 (*.f64 (-.f64 x y) (+.f64 y x)) (*.f64 (-.f64 x y) (+.f64 y x))) (+.f64 y x) (*.f64 (neg.f64 x) y))
(fma.f64 (/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 y x) y) #s(literal 2 binary64)))) (-.f64 (*.f64 x x) (*.f64 (-.f64 y x) y)) (*.f64 (neg.f64 x) y))
(fma.f64 (/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (-.f64 y x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 y x) y) (-.f64 (*.f64 (-.f64 y x) y) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))) (*.f64 (neg.f64 x) y))
(fma.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) y x)
(fma.f64 (pow.f64 x #s(literal 3/2 binary64)) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (-.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (*.f64 y x)))
(fma.f64 (pow.f64 x #s(literal 3/2 binary64)) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (*.f64 (neg.f64 x) y)))
(fma.f64 (pow.f64 (+.f64 y x) #s(literal 3/2 binary64)) (/.f64 (pow.f64 (+.f64 y x) #s(literal 3/2 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))))
(fma.f64 (neg.f64 (+.f64 y x)) (/.f64 (neg.f64 (+.f64 y x)) (fma.f64 y x (+.f64 y x))) (/.f64 (neg.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (fma.f64 y x (+.f64 y x))))
(fma.f64 (neg.f64 y) x (+.f64 y x))
(fma.f64 (fabs.f64 (+.f64 y x)) (/.f64 (fabs.f64 (+.f64 y x)) (fma.f64 y x (+.f64 y x))) (/.f64 (neg.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (fma.f64 y x (+.f64 y x))))
(fma.f64 (neg.f64 x) y (+.f64 y x))
(fma.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (/.f64 (+.f64 y x) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))))
(fma.f64 (fma.f64 (-.f64 y x) y (*.f64 x x)) (/.f64 (+.f64 y x) (fma.f64 (-.f64 y x) y (*.f64 x x))) (*.f64 (neg.f64 x) y))
(fma.f64 (*.f64 x x) (/.f64 x (fma.f64 (-.f64 y x) y (*.f64 x x))) (-.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (*.f64 y x)))
(fma.f64 (*.f64 x x) (/.f64 x (fma.f64 (-.f64 y x) y (*.f64 x x))) (+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (*.f64 (neg.f64 x) y)))
(fma.f64 (+.f64 y x) (/.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))))
(fma.f64 (+.f64 y x) (/.f64 (+.f64 y x) (fma.f64 y x (+.f64 y x))) (/.f64 (neg.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (fma.f64 y x (+.f64 y x))))
(fma.f64 (+.f64 y x) (/.f64 (-.f64 x y) (-.f64 x y)) (*.f64 (neg.f64 x) y))
(fma.f64 y (neg.f64 x) (+.f64 y x))
(fma.f64 x (/.f64 (*.f64 x x) (fma.f64 (-.f64 y x) y (*.f64 x x))) (-.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (*.f64 y x)))
(fma.f64 x (/.f64 (*.f64 x x) (fma.f64 (-.f64 y x) y (*.f64 x x))) (+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (*.f64 (neg.f64 x) y)))
(fma.f64 x (neg.f64 y) (+.f64 y x))
(-.f64 (fma.f64 (neg.f64 y) x (*.f64 x (/.f64 x (-.f64 x y)))) (*.f64 y (/.f64 y (-.f64 x y))))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (fma.f64 (neg.f64 x) y y))) (/.f64 (pow.f64 (fma.f64 (neg.f64 x) y y) #s(literal 2 binary64)) (-.f64 x (fma.f64 (neg.f64 x) y y))))
(-.f64 (*.f64 x (/.f64 x (-.f64 x y))) (fma.f64 y (/.f64 y (-.f64 x y)) (*.f64 y x)))
(-.f64 (*.f64 x (/.f64 x (-.f64 x y))) (-.f64 (*.f64 y (/.f64 y (-.f64 x y))) (*.f64 (neg.f64 x) y)))
(-.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (+.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (+.f64 y x))))
(-.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))))
(-.f64 (+.f64 y x) (*.f64 (neg.f64 (neg.f64 y)) x))
(-.f64 (+.f64 y x) (*.f64 (neg.f64 y) (neg.f64 x)))
(-.f64 (+.f64 y x) (*.f64 y x))
(-.f64 y (-.f64 (*.f64 y x) x))
(+.f64 (fma.f64 (neg.f64 y) x (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 (neg.f64 x) y y) (-.f64 (fma.f64 (neg.f64 x) y y) x) (*.f64 x x))) (/.f64 (pow.f64 (fma.f64 (neg.f64 x) y y) #s(literal 3 binary64)) (fma.f64 (fma.f64 (neg.f64 x) y y) (-.f64 (fma.f64 (neg.f64 x) y y) x) (*.f64 x x))))
(+.f64 (fma.f64 (neg.f64 y) x x) y)
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (-.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (*.f64 y x)))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (*.f64 (neg.f64 x) y)))
(+.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (+.f64 y x))) (/.f64 (neg.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (fma.f64 y x (+.f64 y x))))
(+.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x (+.f64 y x)) (*.f64 y x) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))))
(+.f64 (fma.f64 (neg.f64 x) y y) x)
(+.f64 (*.f64 (neg.f64 x) y) (+.f64 y x))
(+.f64 (+.f64 y x) (*.f64 (neg.f64 x) y))
(+.f64 y (fma.f64 (neg.f64 y) x x))
(+.f64 x (fma.f64 (neg.f64 x) y y))
(*.f64 (/.f64 (*.f64 (-.f64 x y) (+.f64 y x)) (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (+.f64 y x) y (*.f64 x x)))
(*.f64 (/.f64 (*.f64 (-.f64 x y) (+.f64 y x)) (*.f64 (-.f64 x y) (+.f64 y x))) (+.f64 y x))
(*.f64 (/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 y x) y) #s(literal 2 binary64)))) (-.f64 (*.f64 x x) (*.f64 (-.f64 y x) y)))
(*.f64 (/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (-.f64 y x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 y x) y) (-.f64 (*.f64 (-.f64 y x) y) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))))
(*.f64 (fma.f64 (-.f64 y x) y (*.f64 x x)) (/.f64 (+.f64 y x) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(*.f64 (+.f64 y x) (/.f64 (-.f64 x y) (-.f64 x y)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (/.f64 x (-.f64 x y))) #s(literal 2 binary64)) (pow.f64 (*.f64 y (/.f64 y (-.f64 x y))) #s(literal 2 binary64))) (fma.f64 x (/.f64 x (-.f64 x y)) (*.f64 y (/.f64 y (-.f64 x y)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) #s(literal 2 binary64))) (-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (/.f64 x (-.f64 x y))) #s(literal 3 binary64)) (pow.f64 (*.f64 y (/.f64 y (-.f64 x y))) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 x (/.f64 x (-.f64 x y))) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 y (/.f64 y (-.f64 x y))) #s(literal 2 binary64)) (*.f64 (*.f64 x (/.f64 x (-.f64 x y))) (*.f64 y (/.f64 y (-.f64 x y)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) #s(literal 2 binary64)) (-.f64 (pow.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x)))))))
(/.f64 (neg.f64 (*.f64 (+.f64 y x) (-.f64 y x))) (neg.f64 (-.f64 y x)))
(/.f64 (neg.f64 (*.f64 (neg.f64 (+.f64 y x)) (-.f64 x y))) (neg.f64 (neg.f64 (-.f64 x y))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (-.f64 y x) y (*.f64 x x)))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (-.f64 x y)) (*.f64 (-.f64 x y) (*.f64 y y))) (pow.f64 (-.f64 x y) #s(literal 2 binary64)))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x)) (*.f64 (fma.f64 (-.f64 y x) y (*.f64 x x)) (pow.f64 y #s(literal 3 binary64)))) (pow.f64 (fma.f64 (-.f64 y x) y (*.f64 x x)) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 y #s(literal 4 binary64))) (*.f64 (fma.f64 y y (*.f64 x x)) (-.f64 x y)))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 y #s(literal 6 binary64))) (*.f64 (fma.f64 (*.f64 y y) (fma.f64 y y (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))) (-.f64 x y)))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 y #s(literal 6 binary64))) (*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(/.f64 (*.f64 (+.f64 y x) (-.f64 y x)) (-.f64 y x))
(/.f64 (+.f64 (pow.f64 y #s(literal 9 binary64)) (pow.f64 x #s(literal 9 binary64))) (*.f64 (-.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 y #s(literal 6 binary64))) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(/.f64 (*.f64 (neg.f64 (+.f64 y x)) (-.f64 x y)) (neg.f64 (-.f64 x y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 (-.f64 y x) y (*.f64 x x))))
(/.f64 (*.f64 (-.f64 x y) (+.f64 y x)) (-.f64 x y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (-.f64 y x) y (*.f64 x x)))
(neg.f64 (neg.f64 (+.f64 y x)))
(fma.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 y x) y) #s(literal 2 binary64)))) (-.f64 (*.f64 x x) (*.f64 (-.f64 y x) y)) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(fma.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 y x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 y x) y) (-.f64 (*.f64 (-.f64 y x) y) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(fma.f64 (/.f64 (*.f64 x x) (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (+.f64 y x) y (*.f64 x x)) (/.f64 (*.f64 (neg.f64 y) y) (-.f64 x y)))
(fma.f64 (/.f64 (*.f64 x x) (*.f64 (-.f64 x y) (+.f64 y x))) (+.f64 y x) (/.f64 (*.f64 (neg.f64 y) y) (-.f64 x y)))
(fma.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 y x) y) #s(literal 2 binary64)))) (-.f64 (*.f64 x x) (*.f64 (-.f64 y x) y)) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(fma.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 y x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 y x) y) (-.f64 (*.f64 (-.f64 y x) y) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(fma.f64 (pow.f64 x #s(literal 3/2 binary64)) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(fma.f64 (pow.f64 y #s(literal 3/2 binary64)) (/.f64 (pow.f64 y #s(literal 3/2 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(fma.f64 (fabs.f64 x) (/.f64 (fabs.f64 x) (-.f64 x y)) (/.f64 (*.f64 (neg.f64 y) y) (-.f64 x y)))
(fma.f64 (neg.f64 x) (/.f64 (neg.f64 x) (-.f64 x y)) (/.f64 (*.f64 (neg.f64 y) y) (-.f64 x y)))
(fma.f64 (*.f64 y y) (/.f64 y (fma.f64 (-.f64 y x) y (*.f64 x x))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(fma.f64 (*.f64 x x) (/.f64 x (fma.f64 (-.f64 y x) y (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(fma.f64 y (/.f64 (*.f64 y y) (fma.f64 (-.f64 y x) y (*.f64 x x))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(fma.f64 x (/.f64 x (-.f64 x y)) (/.f64 (*.f64 (neg.f64 y) y) (-.f64 x y)))
(fma.f64 x (/.f64 (*.f64 x x) (fma.f64 (-.f64 y x) y (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(-.f64 (/.f64 (*.f64 y y) (-.f64 y x)) (/.f64 (*.f64 x x) (-.f64 y x)))
(-.f64 (*.f64 x (/.f64 x (-.f64 x y))) (*.f64 y (/.f64 y (-.f64 x y))))
(+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(+.f64 (*.f64 x (/.f64 x (-.f64 x y))) (/.f64 (*.f64 (neg.f64 y) y) (-.f64 x y)))
(+.f64 y x)
(+.f64 x y)
(*.f64 y x)
(*.f64 x y)
(neg.f64 (*.f64 (neg.f64 x) y))

eval15.0ms (0.5%)

Memory
11.7MiB live, 11.7MiB allocated; 0ms collecting garbage
Compiler

Compiled 4 257 to 477 computations (88.8% saved)

prune5.0ms (0.2%)

Memory
6.6MiB live, 6.6MiB allocated; 0ms collecting garbage
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1435148
Fresh000
Picked101
Done000
Total1445149
Accuracy
100.0%
Counts
149 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.3%
(-.f64 #s(approx (+ x y) y) (*.f64 x y))
63.9%
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
100.0%
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
38.7%
#s(approx (- (+ x y) (* x y)) y)
35.8%
#s(approx (- (+ x y) (* x y)) x)
Compiler

Compiled 100 to 66 computations (34% saved)

simplify171.0ms (5.3%)

Memory
-27.5MiB live, 168.1MiB allocated; 25ms collecting garbage
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x y)
cost-diff0
#s(approx (+ x y) y)
cost-diff0
(-.f64 #s(approx (+ x y) y) (*.f64 x y))
cost-diff0
(*.f64 x y)
cost-diff0
#s(approx (+ x y) x)
cost-diff0
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
cost-diff0
#s(approx (- (+ x y) (* x y)) y)
cost-diff0
#s(approx (- (+ x y) (* x y)) x)
cost-diff0
(-.f64 #s(literal 1 binary64) x)
cost-diff0
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
cost-diff0
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01684
02284
13584
26584
311581
422681
558781
6445481
0823281
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
y
#s(approx (- (+ x y) (* x y)) x)
x
#s(approx (- (+ x y) (* x y)) y)
y
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
#s(approx (+ x y) x)
x
(*.f64 x y)
y
(-.f64 #s(approx (+ x y) y) (*.f64 x y))
#s(approx (+ x y) y)
y
(*.f64 x y)
x
Outputs
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) y) x y))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
y
#s(approx (- (+ x y) (* x y)) x)
x
#s(approx (- (+ x y) (* x y)) y)
y
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
(fma.f64 (neg.f64 y) x #s(approx (+ x y) x))
#s(approx (+ x y) x)
x
(*.f64 x y)
(*.f64 y x)
y
(-.f64 #s(approx (+ x y) y) (*.f64 x y))
(fma.f64 (neg.f64 y) x #s(approx (+ x y) y))
#s(approx (+ x y) y)
y
(*.f64 x y)
(*.f64 y x)
x

localize26.0ms (0.8%)

Memory
31.7MiB live, 31.7MiB allocated; 0ms collecting garbage
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 x y)
accuracy0.00390625
(-.f64 #s(approx (+ x y) y) (*.f64 x y))
accuracy29.54199869661811
#s(approx (+ x y) y)
accuracy0.0
(*.f64 x y)
accuracy0.00390625
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
accuracy33.67647353811477
#s(approx (+ x y) x)
accuracy39.260990332083296
#s(approx (- (+ x y) (* x y)) y)
accuracy41.06580199961413
#s(approx (- (+ x y) (* x y)) x)
accuracy0.0
(-.f64 #s(literal 1 binary64) x)
accuracy0.0
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
accuracy0.00390625
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
Samples
18.0ms256×0valid
Compiler

Compiled 68 to 11 computations (83.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-add: 3.0ms (35.8% of total)
ival-mult: 3.0ms (35.8% of total)
ival-sub: 2.0ms (23.9% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series39.0ms (1.2%)

Memory
-35.9MiB live, 10.5MiB allocated; 3ms collecting garbage
Counts
10 → 36
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(-.f64 #s(literal 1 binary64) x)
#s(approx (- (+ x y) (* x y)) x)
#s(approx (- (+ x y) (* x y)) y)
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
#s(approx (+ x y) x)
(*.f64 x y)
(-.f64 #s(approx (+ x y) y) (*.f64 x y))
#s(approx (+ x y) y)
Outputs
#s(approx (- (+ x y) (* x y)) #s(hole binary64 y))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ y (* x (- 1 y)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 y))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (+ y (* x (+ 1 (* -1 y))))))
#s(approx (- 1 x) #s(hole binary64 1))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (+ x y) #s(hole binary64 y))
#s(approx (+ x y) #s(hole binary64 (+ x y)))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- 1 y))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- (+ 1 (/ y x)) y))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* x (+ 1 (+ (* -1 y) (/ y x))))))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (+ x y) #s(hole binary64 x))
#s(approx (+ x y) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* x (- y 1)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* x (- (+ y (* -1 (/ y x))) 1)))))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 x))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- 1 x))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* y (- 1 x))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (+ x y) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (+ 1 (* -1 x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
Calls

6 calls:

TimeVariablePointExpression
34.0ms
x
@-inf
((- (+ x y) (* x y)) (+ (* (- 1 x) y) x) (- 1 x) (- (+ x y) (* x y)) (- (+ x y) (* x y)) (- (+ x y) (* x y)) (+ x y) (* x y) (- (+ x y) (* x y)) (+ x y))
2.0ms
y
@-inf
((- (+ x y) (* x y)) (+ (* (- 1 x) y) x) (- 1 x) (- (+ x y) (* x y)) (- (+ x y) (* x y)) (- (+ x y) (* x y)) (+ x y) (* x y) (- (+ x y) (* x y)) (+ x y))
1.0ms
x
@inf
((- (+ x y) (* x y)) (+ (* (- 1 x) y) x) (- 1 x) (- (+ x y) (* x y)) (- (+ x y) (* x y)) (- (+ x y) (* x y)) (+ x y) (* x y) (- (+ x y) (* x y)) (+ x y))
1.0ms
x
@0
((- (+ x y) (* x y)) (+ (* (- 1 x) y) x) (- 1 x) (- (+ x y) (* x y)) (- (+ x y) (* x y)) (- (+ x y) (* x y)) (+ x y) (* x y) (- (+ x y) (* x y)) (+ x y))
1.0ms
y
@0
((- (+ x y) (* x y)) (+ (* (- 1 x) y) x) (- 1 x) (- (+ x y) (* x y)) (- (+ x y) (* x y)) (- (+ x y) (* x y)) (+ x y) (* x y) (- (+ x y) (* x y)) (+ x y))

simplify119.0ms (3.7%)

Memory
-6.2MiB live, 190.5MiB allocated; 29ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0102394
1234391
2559391
31416391
45494391
08380356
Stop Event
iter limit
node limit
Counts
36 → 36
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) #s(hole binary64 y))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ y (* x (- 1 y)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 y))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (+ y (* x (+ 1 (* -1 y))))))
#s(approx (- 1 x) #s(hole binary64 1))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (+ x y) #s(hole binary64 y))
#s(approx (+ x y) #s(hole binary64 (+ x y)))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- 1 y))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- (+ 1 (/ y x)) y))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* x (+ 1 (+ (* -1 y) (/ y x))))))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (+ x y) #s(hole binary64 x))
#s(approx (+ x y) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* x (- y 1)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* x (- (+ y (* -1 (/ y x))) 1)))))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 x))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- 1 x))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* y (- 1 x))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (+ x y) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (+ 1 (* -1 x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
Outputs
#s(approx (- (+ x y) (* x y)) #s(hole binary64 y))
#s(approx (+ (* (- 1 x) y) x) y)
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ y (* x (- 1 y)))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 y))
#s(approx (+ (* (- 1 x) y) x) y)
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (+ y (* x (+ 1 (* -1 y))))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (- 1 x) #s(hole binary64 1))
#s(approx (- 1 x) #s(literal 1 binary64))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (- 1 x) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ x y) #s(hole binary64 y))
#s(approx (+ x y) y)
#s(approx (+ x y) #s(hole binary64 (+ x y)))
#s(approx (+ x y) (+.f64 y x))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx (* x y) (*.f64 y x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- 1 y))))
#s(approx (+ (* (- 1 x) y) x) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- (+ 1 (/ y x)) y))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (+ (* (- 1 x) y) x) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* x (+ 1 (+ (* -1 y) (/ y x))))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) (neg.f64 x))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (- 1 x) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ x y) #s(hole binary64 x))
#s(approx (+ x y) x)
#s(approx (+ x y) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (+ x y) (+.f64 y x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (+ (* (- 1 x) y) x) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* x (- y 1)))))
#s(approx (+ (* (- 1 x) y) x) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* x (- (+ y (* -1 (/ y x))) 1)))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
#s(approx (- 1 x) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ x y) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx (+ x y) (+.f64 y x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 x))
#s(approx (+ (* (- 1 x) y) x) x)
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 x))
#s(approx (+ (* (- 1 x) y) x) x)
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- 1 x))))
#s(approx (+ (* (- 1 x) y) x) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* y (- 1 x))))
#s(approx (+ (* (- 1 x) y) x) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (+ x y) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (+ x y) (+.f64 y x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (+ 1 (* -1 x)))))
#s(approx (+ (* (- 1 x) y) x) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (+ x y) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
#s(approx (+ x y) (+.f64 y x))

rewrite70.0ms (2.2%)

Memory
9.2MiB live, 67.1MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01672
02272
110072
080172
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
10 → 56
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(-.f64 #s(literal 1 binary64) x)
#s(approx (- (+ x y) (* x y)) x)
#s(approx (- (+ x y) (* x y)) y)
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
#s(approx (+ x y) x)
(*.f64 x y)
(-.f64 #s(approx (+ x y) y) (*.f64 x y))
#s(approx (+ x y) y)
Outputs
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 2 binary64))) (-.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) y)) (pow.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) x))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 2 binary64)) (*.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) y)) (pow.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 2 binary64))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(fma.f64 y (-.f64 #s(literal 1 binary64) x) x)
(-.f64 (/.f64 (pow.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 2 binary64)) (-.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) x)))
(-.f64 x (*.f64 (neg.f64 (-.f64 #s(literal 1 binary64) x)) y))
(-.f64 x (*.f64 (neg.f64 y) (-.f64 #s(literal 1 binary64) x)))
(+.f64 (/.f64 (pow.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) y)) (pow.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) y)) (pow.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 2 binary64)))))
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) x)
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) y))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (neg.f64 (+.f64 #s(literal 1 binary64) x)))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (+.f64 (fma.f64 x x x) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)) (+.f64 #s(literal 1 binary64) x))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64))) (+.f64 (fma.f64 x x x) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (/.f64 (*.f64 x x) (+.f64 #s(literal 1 binary64) x)))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 (fma.f64 x x x) #s(literal 1 binary64))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 (fma.f64 x x x) #s(literal 1 binary64))))
(-.f64 #s(literal 1 binary64) x)
#s(approx (- (+ x y) (* x y)) x)
#s(approx (- (+ x y) (* x y)) y)
(/.f64 (+.f64 (pow.f64 #s(approx (+ x y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) y) #s(literal 3 binary64))) (fma.f64 #s(approx (+ x y) x) #s(approx (+ x y) x) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 #s(approx (+ x y) x) (*.f64 (neg.f64 x) y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (+ x y) x) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (neg.f64 (fma.f64 y x #s(approx (+ x y) x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (+ x y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 y x) (fma.f64 y x #s(approx (+ x y) x)) (pow.f64 #s(approx (+ x y) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 #s(approx (+ x y) x) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (fma.f64 y x #s(approx (+ x y) x)))
(/.f64 (-.f64 (pow.f64 #s(approx (+ x y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (fma.f64 y x #s(approx (+ x y) x)) (pow.f64 #s(approx (+ x y) x) #s(literal 2 binary64))))
(fma.f64 (neg.f64 x) y #s(approx (+ x y) x))
(fma.f64 y (neg.f64 x) #s(approx (+ x y) x))
(-.f64 (/.f64 (pow.f64 #s(approx (+ x y) x) #s(literal 2 binary64)) (fma.f64 y x #s(approx (+ x y) x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 y x #s(approx (+ x y) x))))
(-.f64 (/.f64 (pow.f64 #s(approx (+ x y) x) #s(literal 3 binary64)) (fma.f64 (*.f64 y x) (fma.f64 y x #s(approx (+ x y) x)) (pow.f64 #s(approx (+ x y) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 y x) (fma.f64 y x #s(approx (+ x y) x)) (pow.f64 #s(approx (+ x y) x) #s(literal 2 binary64)))))
(-.f64 #s(approx (+ x y) x) (*.f64 (neg.f64 (neg.f64 x)) y))
(-.f64 #s(approx (+ x y) x) (*.f64 y x))
(+.f64 (*.f64 (neg.f64 x) y) #s(approx (+ x y) x))
(+.f64 #s(approx (+ x y) x) (*.f64 (neg.f64 y) x))
(+.f64 #s(approx (+ x y) x) (*.f64 (neg.f64 x) y))
#s(approx (+ x y) x)
(*.f64 y x)
(*.f64 x y)
(/.f64 (+.f64 (pow.f64 #s(approx (+ x y) y) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) y) #s(literal 3 binary64))) (fma.f64 #s(approx (+ x y) y) #s(approx (+ x y) y) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 #s(approx (+ x y) y) (*.f64 (neg.f64 x) y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (+ x y) y) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (neg.f64 (fma.f64 y x #s(approx (+ x y) y))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (+ x y) y) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(approx (+ x y) y) #s(approx (+ x y) y) (*.f64 (*.f64 y x) (fma.f64 y x #s(approx (+ x y) y))))))
(/.f64 (-.f64 (pow.f64 #s(approx (+ x y) y) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (fma.f64 y x #s(approx (+ x y) y)))
(/.f64 (-.f64 (pow.f64 #s(approx (+ x y) y) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 #s(approx (+ x y) y) #s(approx (+ x y) y) (*.f64 (*.f64 y x) (fma.f64 y x #s(approx (+ x y) y)))))
(fma.f64 (neg.f64 x) y #s(approx (+ x y) y))
(fma.f64 y (neg.f64 x) #s(approx (+ x y) y))
(-.f64 (/.f64 (pow.f64 #s(approx (+ x y) y) #s(literal 2 binary64)) (fma.f64 y x #s(approx (+ x y) y))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 y x #s(approx (+ x y) y))))
(-.f64 (/.f64 (pow.f64 #s(approx (+ x y) y) #s(literal 3 binary64)) (fma.f64 #s(approx (+ x y) y) #s(approx (+ x y) y) (*.f64 (*.f64 y x) (fma.f64 y x #s(approx (+ x y) y))))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 #s(approx (+ x y) y) #s(approx (+ x y) y) (*.f64 (*.f64 y x) (fma.f64 y x #s(approx (+ x y) y))))))
(-.f64 #s(approx (+ x y) y) (*.f64 (neg.f64 (neg.f64 x)) y))
(-.f64 #s(approx (+ x y) y) (*.f64 y x))
(+.f64 (*.f64 (neg.f64 x) y) #s(approx (+ x y) y))
(+.f64 #s(approx (+ x y) y) (*.f64 (neg.f64 y) x))
(+.f64 #s(approx (+ x y) y) (*.f64 (neg.f64 x) y))
#s(approx (+ x y) y)

eval7.0ms (0.2%)

Memory
9.7MiB live, 9.7MiB allocated; 0ms collecting garbage
Compiler

Compiled 1 395 to 201 computations (85.6% saved)

prune4.0ms (0.1%)

Memory
7.2MiB live, 7.2MiB allocated; 0ms collecting garbage
Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New68169
Fresh000
Picked055
Done000
Total68674
Accuracy
100.0%
Counts
74 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.3%
(-.f64 #s(approx (+ x y) y) (*.f64 x y))
63.9%
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
100.0%
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
72.3%
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
38.7%
#s(approx (- (+ x y) (* x y)) y)
35.8%
#s(approx (- (+ x y) (* x y)) x)
Compiler

Compiled 66 to 44 computations (33.3% saved)

simplify137.0ms (4.2%)

Memory
-9.8MiB live, 123.6MiB allocated; 16ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (- 1 x) #s(literal 1 binary64))
cost-diff0
(fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)
cost-diff0
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01032
01232
12332
24732
39132
416732
545332
6312032
7727932
0801831
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)
#s(approx (- 1 x) #s(literal 1 binary64))
#s(literal 1 binary64)
y
x
Outputs
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)
#s(approx (- 1 x) #s(literal 1 binary64))
#s(literal 1 binary64)
y
x

localize39.0ms (1.2%)

Memory
-2.4MiB live, 55.5MiB allocated; 3ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
accuracy0.00390625
(fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)
accuracy32.75720655236161
#s(approx (- 1 x) #s(literal 1 binary64))
Samples
33.0ms256×0valid
Compiler

Compiled 22 to 11 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-sub: 4.0ms (38.5% of total)
ival-mult: 3.0ms (28.9% of total)
ival-add: 2.0ms (19.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series2.0ms (0.1%)

Memory
4.8MiB live, 4.8MiB allocated; 0ms collecting garbage
Counts
3 → 28
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)
#s(approx (- 1 x) #s(literal 1 binary64))
Outputs
#s(approx (- (+ x y) (* x y)) #s(hole binary64 y))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ y (* x (- 1 y)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 y))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (+ y (* x (+ 1 (* -1 y))))))
#s(approx (- 1 x) #s(hole binary64 1))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- 1 y))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- (+ 1 (/ y x)) y))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* x (+ 1 (+ (* -1 y) (/ y x))))))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* x (- y 1)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* x (- (+ y (* -1 (/ y x))) 1)))))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 x))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- 1 x))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* y (- 1 x))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (+ 1 (* -1 x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))))
Calls

6 calls:

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

simplify186.0ms (5.8%)

Memory
-4.1MiB live, 133.6MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
086342
1202339
2497339
31324339
44979339
08393304
Stop Event
iter limit
node limit
Counts
28 → 28
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) #s(hole binary64 y))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ y (* x (- 1 y)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 y))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (+ y (* x (+ 1 (* -1 y))))))
#s(approx (- 1 x) #s(hole binary64 1))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- 1 y))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- (+ 1 (/ y x)) y))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* x (+ 1 (+ (* -1 y) (/ y x))))))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* x (- y 1)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* x (- (+ y (* -1 (/ y x))) 1)))))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 x))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- 1 x))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* y (- 1 x))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (+ 1 (* -1 x)))))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))))
Outputs
#s(approx (- (+ x y) (* x y)) #s(hole binary64 y))
#s(approx (+ (* (- 1 x) y) x) y)
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ y (* x (- 1 y)))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) y) x y))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 y))
#s(approx (+ (* (- 1 x) y) x) y)
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (+ y (* x (+ 1 (* -1 y))))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) y) x y))
#s(approx (- 1 x) #s(hole binary64 1))
#s(approx (- 1 x) #s(literal 1 binary64))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (- 1 x) (-.f64 #s(literal 1 binary64) x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- 1 y))))
#s(approx (+ (* (- 1 x) y) x) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (- (+ 1 (/ y x)) y))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) y) x y))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (+ (* (- 1 x) y) x) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* x (+ 1 (+ (* -1 y) (/ y x))))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) y) x y))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) (neg.f64 x))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (- 1 x) (-.f64 #s(literal 1 binary64) x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* x (+ 1 (* -1 y)))))
#s(approx (+ (* (- 1 x) y) x) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) y) x y))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* x (- y 1)))))
#s(approx (+ (* (- 1 x) y) x) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* x (- (+ y (* -1 (/ y x))) 1)))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) y) x y))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
#s(approx (- 1 x) (-.f64 #s(literal 1 binary64) x))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 x))
#s(approx (+ (* (- 1 x) y) x) x)
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) y) x y))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 x))
#s(approx (+ (* (- 1 x) y) x) x)
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (+ x (* y (- 1 x)))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) y) x y))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- 1 x))))
#s(approx (+ (* (- 1 x) y) x) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) y) x y))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* y (- 1 x))))
#s(approx (+ (* (- 1 x) y) x) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* y (- (+ 1 (/ x y)) x))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) y) x y))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* y (+ 1 (* -1 x)))))
#s(approx (+ (* (- 1 x) y) x) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
#s(approx (- (+ x y) (* x y)) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) y) x y))
#s(approx (+ (* (- 1 x) y) x) #s(hole binary64 (* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))))
#s(approx (+ (* (- 1 x) y) x) (fma.f64 (-.f64 #s(literal 1 binary64) y) x y))

rewrite44.0ms (1.4%)

Memory
-9.5MiB live, 43.3MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01029
01229
16829
056729
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
3 → 16
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)
#s(approx (- 1 x) #s(literal 1 binary64))
Outputs
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) #s(literal 2 binary64))) (-.f64 x (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y)) (pow.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) x))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) x))))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y)) (pow.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) #s(literal 2 binary64))))
(fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)
(fma.f64 y #s(approx (- 1 x) #s(literal 1 binary64)) x)
(-.f64 (/.f64 (pow.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) #s(literal 2 binary64)) (-.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) x)))
(-.f64 x (*.f64 (neg.f64 #s(approx (- 1 x) #s(literal 1 binary64))) y))
(-.f64 x (*.f64 (neg.f64 y) #s(approx (- 1 x) #s(literal 1 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y)) (pow.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y)) (pow.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y) x)
(+.f64 x (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y))
#s(approx (- 1 x) #s(literal 1 binary64))

eval2.0ms (0.1%)

Memory
6.6MiB live, 6.6MiB allocated; 0ms collecting garbage
Compiler

Compiled 556 to 84 computations (84.9% saved)

prune3.0ms (0.1%)

Memory
8.4MiB live, 8.4MiB allocated; 0ms collecting garbage
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New23023
Fresh000
Picked011
Done055
Total23629
Accuracy
100.0%
Counts
29 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.3%
(-.f64 #s(approx (+ x y) y) (*.f64 x y))
63.9%
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
100.0%
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
72.3%
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
38.7%
#s(approx (- (+ x y) (* x y)) y)
35.8%
#s(approx (- (+ x y) (* x y)) x)
Compiler

Compiled 139 to 67 computations (51.8% saved)

regimes11.0ms (0.3%)

Memory
-20.1MiB live, 25.6MiB allocated; 4ms collecting garbage
Counts
7 → 1
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) x)
#s(approx (- (+ x y) (* x y)) y)
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
(-.f64 #s(approx (+ x y) y) (*.f64 x y))
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
(-.f64 (+.f64 x y) (*.f64 x y))
Outputs
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
Calls

3 calls:

5.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
3.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
100.0%1(-.f64 (+.f64 x y) (*.f64 x y))
100.0%1x
100.0%1y
Compiler

Compiled 9 to 9 computations (0% saved)

regimes8.0ms (0.2%)

Memory
21.7MiB live, 21.7MiB allocated; 0ms collecting garbage
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) x)
#s(approx (- (+ x y) (* x y)) y)
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
(-.f64 #s(approx (+ x y) y) (*.f64 x y))
Outputs
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
(-.f64 #s(approx (+ x y) y) (*.f64 x y))
Calls

3 calls:

3.0ms
x
3.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
2.0ms
y
Results
AccuracySegmentsBranch
99.0%2(-.f64 (+.f64 x y) (*.f64 x y))
99.6%3x
99.5%3y
Compiler

Compiled 9 to 9 computations (0% saved)

regimes5.0ms (0.1%)

Memory
9.8MiB live, 9.8MiB allocated; 0ms collecting garbage
Counts
4 → 3
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) x)
#s(approx (- (+ x y) (* x y)) y)
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
Outputs
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(-.f64 #s(approx (+ x y) x) (*.f64 x y))
Calls

2 calls:

2.0ms
x
2.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
Results
AccuracySegmentsBranch
99.6%3x
93.6%3(-.f64 (+.f64 x y) (*.f64 x y))
Compiler

Compiled 8 to 7 computations (12.5% saved)

regimes6.0ms (0.2%)

Memory
-34.5MiB live, 12.6MiB allocated; 1ms collecting garbage
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) x)
#s(approx (- (+ x y) (* x y)) y)
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
Outputs
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
Calls

3 calls:

3.0ms
y
2.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
2.0ms
x
Results
AccuracySegmentsBranch
72.3%1(-.f64 (+.f64 x y) (*.f64 x y))
72.3%1y
72.3%1x
Compiler

Compiled 9 to 9 computations (0% saved)

regimes4.0ms (0.1%)

Memory
11.1MiB live, 11.1MiB allocated; 0ms collecting garbage
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) x)
#s(approx (- (+ x y) (* x y)) y)
Outputs
#s(approx (- (+ x y) (* x y)) x)
#s(approx (- (+ x y) (* x y)) y)
Calls

3 calls:

1.0ms
y
1.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
1.0ms
x
Results
AccuracySegmentsBranch
71.7%2(-.f64 (+.f64 x y) (*.f64 x y))
63.1%2x
64.1%2y
Compiler

Compiled 9 to 9 computations (0% saved)

regimes3.0ms (0.1%)

Memory
9.0MiB live, 9.0MiB allocated; 0ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) x)
Outputs
#s(approx (- (+ x y) (* x y)) x)
Calls

3 calls:

1.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
1.0ms
y
1.0ms
x
Results
AccuracySegmentsBranch
35.8%1x
35.8%1y
35.8%1(-.f64 (+.f64 x y) (*.f64 x y))
Compiler

Compiled 9 to 9 computations (0% saved)

bsearch0.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-4.906052267643009e-239
1.2492662262662047e-205
Compiler

Compiled 10 to 10 computations (0% saved)

bsearch25.0ms (0.8%)

Memory
-1.9MiB live, 45.0MiB allocated; 3ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
3.9947925729479136e-16
5074475739141308000.0
8.0ms
-1453070.7269600646
-19439.977302435585
Samples
11.0ms288×0valid
Compiler

Compiled 460 to 352 computations (23.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-add: 2.0ms (39.1% of total)
ival-mult: 2.0ms (39.1% of total)
ival-sub: 1.0ms (19.6% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-4.906052267643009e-239
1.2492662262662047e-205
Compiler

Compiled 10 to 10 computations (0% saved)

simplify104.0ms (3.2%)

Memory
-20.9MiB live, 35.9MiB allocated; 84ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031129
153129
282129
3125129
4184129
5460129
63301129
Stop Event
node limit
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
(if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal -2346099009001469/58652475225036720546649669496166069228998121824605496380296088990333059082962747718339142176408838912879328274880511426712364770830486275482511413333124259062810366582741426385442408983508948533749841936858614266830705773786598571244254795994059356766208 binary64)) (-.f64 #s(approx (+ x y) x) (*.f64 x y)) (-.f64 #s(approx (+ x y) y) (*.f64 x y)))
(if (<=.f64 x #s(literal -20000 binary64)) (-.f64 #s(approx (+ x y) x) (*.f64 x y)) (if (<=.f64 x #s(literal 1 binary64)) #s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)) (-.f64 #s(approx (+ x y) x) (*.f64 x y))))
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal -2346099009001469/58652475225036720546649669496166069228998121824605496380296088990333059082962747718339142176408838912879328274880511426712364770830486275482511413333124259062810366582741426385442408983508948533749841936858614266830705773786598571244254795994059356766208 binary64)) #s(approx (- (+ x y) (* x y)) x) #s(approx (- (+ x y) (* x y)) y))
#s(approx (- (+ x y) (* x y)) x)
Outputs
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
(if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal -2346099009001469/58652475225036720546649669496166069228998121824605496380296088990333059082962747718339142176408838912879328274880511426712364770830486275482511413333124259062810366582741426385442408983508948533749841936858614266830705773786598571244254795994059356766208 binary64)) (-.f64 #s(approx (+ x y) x) (*.f64 x y)) (-.f64 #s(approx (+ x y) y) (*.f64 x y)))
(if (<=.f64 x #s(literal -20000 binary64)) (-.f64 #s(approx (+ x y) x) (*.f64 x y)) (if (<=.f64 x #s(literal 1 binary64)) #s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)) (-.f64 #s(approx (+ x y) x) (*.f64 x y))))
(if (or (<=.f64 x #s(literal -20000 binary64)) (not (<=.f64 x #s(literal 1 binary64)))) (-.f64 #s(approx (+ x y) x) (*.f64 x y)) #s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)))
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal -2346099009001469/58652475225036720546649669496166069228998121824605496380296088990333059082962747718339142176408838912879328274880511426712364770830486275482511413333124259062810366582741426385442408983508948533749841936858614266830705773786598571244254795994059356766208 binary64)) #s(approx (- (+ x y) (* x y)) x) #s(approx (- (+ x y) (* x y)) y))
#s(approx (- (+ x y) (* x y)) x)

derivations328.0ms (10.2%)

Memory
3.6MiB live, 279.2MiB allocated; 92ms collecting garbage
Stop Event
done
Compiler

Compiled 129 to 33 computations (74.4% saved)

preprocess35.0ms (1.1%)

Memory
45.1MiB live, 91.8MiB allocated; 3ms collecting garbage
Compiler

Compiled 300 to 94 computations (68.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...