Numeric.Log:$cexpm1 from log-domain-0.10.2.1, B

Time bar (total: 4.2s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.7MiB live, 0.7MiB 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)

sample927.0ms (22%)

Memory
-13.2MiB live, 1 081.4MiB allocated; 206ms collecting garbage
Samples
678.0ms8 255×0valid
0.0ms2valid
Precisions
Click to see histograms. Total time spent on operations: 281.0ms
ival-add: 156.0ms (55.6% of total)
ival-mult: 114.0ms (40.6% of total)
ival-true: 5.0ms (1.8% of total)
ival-assert: 3.0ms (1.1% of total)
adjust: 2.0ms (0.7% of total)
Bogosity

explain152.0ms (3.6%)

Memory
3.1MiB live, 138.5MiB allocated; 21ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(+.f64 (*.f64 x y) x)
00-0-y
00-0-(+.f64 (+.f64 (*.f64 x y) 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
22.0ms512×0valid
Compiler

Compiled 45 to 19 computations (57.8% saved)

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

preprocess236.0ms (5.6%)

Memory
4.8MiB live, 264.0MiB allocated; 40ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01852
14747
210245
322443
433842
554142
6149142
7410642
057
087
1137
2297
3547
41057
51937
65857
724867
868957
082166
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) x) y)
Outputs
(+.f64 (+.f64 (*.f64 x y) x) y)
(fma.f64 (-.f64 x #s(literal -1 binary64)) y x)
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.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (+.f64 (*.f64 x y) x) y)
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify162.0ms (3.9%)

Memory
-11.5MiB live, 174.5MiB allocated; 29ms collecting garbage
Localize:

Found 3 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0517
0817
11317
22917
35417
410517
519317
658517
7248617
8689517
0821615
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) x) y)
(+.f64 (*.f64 x y) x)
(*.f64 x y)
x
y
Outputs
(+.f64 (+.f64 (*.f64 x y) x) y)
(fma.f64 (-.f64 x #s(literal -1 binary64)) y x)
(+.f64 (*.f64 x y) x)
(fma.f64 y x x)
(*.f64 x y)
(*.f64 y x)
x
y

localize15.0ms (0.4%)

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

Found 3 expressions of interest:

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

Compiled 19 to 7 computations (63.2% saved)

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

series18.0ms (0.4%)

Memory
-33.7MiB live, 9.5MiB allocated; 8ms collecting garbage
Counts
3 → 20
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) x)
(+.f64 (+.f64 (*.f64 x y) x) y)
(*.f64 x y)
Outputs
#s(approx (+ (* x y) x) #s(hole binary64 (* x (+ 1 y))))
#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 (* 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 (/ y x))))))
#s(approx (+ (* x y) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ y x))) 1)))))
#s(approx (+ (* x y) x) #s(hole binary64 x))
#s(approx (+ (* x y) x) #s(hole binary64 (+ x (* x y))))
#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) #s(hole binary64 (* x y)))
#s(approx (+ (* x y) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (+ (* x y) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (+ (* -1 x) (* -1 (/ x y))) 1)))))
Calls

6 calls:

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

simplify168.0ms (4%)

Memory
6.0MiB live, 197.1MiB allocated; 24ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
063238
1165238
2446238
31254238
44854238
08174204
Stop Event
iter limit
node limit
Counts
20 → 20
Calls
Call 1
Inputs
#s(approx (+ (* x y) x) #s(hole binary64 (* x (+ 1 y))))
#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 (* 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 (/ y x))))))
#s(approx (+ (* x y) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ y x))) 1)))))
#s(approx (+ (* x y) x) #s(hole binary64 x))
#s(approx (+ (* x y) x) #s(hole binary64 (+ x (* x y))))
#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) #s(hole binary64 (* x y)))
#s(approx (+ (* x y) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (+ (* x y) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (+ (* -1 x) (* -1 (/ x y))) 1)))))
Outputs
#s(approx (+ (* x y) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* x y) x) (fma.f64 y x x))
#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) (+.f64 (fma.f64 y x 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) (fma.f64 y x x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* x (+ 1 (+ y (/ y x))))))
#s(approx (+ (+ (* x y) x) y) (+.f64 (fma.f64 y x y) x))
#s(approx (+ (* x y) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* x y) x) (fma.f64 y x x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ y x))) 1)))))
#s(approx (+ (+ (* x y) x) y) (+.f64 (fma.f64 y x y) x))
#s(approx (+ (* x y) x) #s(hole binary64 x))
#s(approx (+ (* x y) x) x)
#s(approx (+ (* x y) x) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* x y) x) (fma.f64 y x 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) (+.f64 (fma.f64 y x y) x))
#s(approx (+ (* x y) x) #s(hole binary64 (* x y)))
#s(approx (+ (* x y) x) (*.f64 y x))
#s(approx (+ (* x y) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (* x y) x) (fma.f64 y x x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (+ (+ (* x y) x) y) (+.f64 (fma.f64 y x y) x))
#s(approx (+ (* x y) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (* x y) x) (fma.f64 y x x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (+ (* -1 x) (* -1 (/ x y))) 1)))))
#s(approx (+ (+ (* x y) x) y) (+.f64 (fma.f64 y x y) x))

rewrite372.0ms (8.8%)

Memory
-26.4MiB live, 378.5MiB allocated; 136ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0515
0815
13815
232815
3524815
0843813
Stop Event
iter limit
node limit
iter limit
Counts
3 → 156
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) x)
(+.f64 (+.f64 (*.f64 x y) x) y)
(*.f64 x y)
Outputs
(*.f64 (/.f64 (*.f64 x (fma.f64 (*.f64 y y) x (neg.f64 x))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 (fma.f64 y x x) x (pow.f64 (*.f64 y x) #s(literal 2 binary64))))
(*.f64 (/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1 binary64)) (pow.f64 x #s(literal 3 binary64))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 x (*.f64 y x)) x) #s(literal 2 binary64)))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (-.f64 x (*.f64 y x)) x)))
(*.f64 (/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1 binary64)) (pow.f64 x #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (-.f64 x (*.f64 y x)) x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 x (*.f64 y x)) x) (-.f64 (*.f64 (-.f64 x (*.f64 y x)) x) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 (*.f64 y x) #s(literal 4 binary64))))
(*.f64 (/.f64 (*.f64 x (fma.f64 (*.f64 y y) x (neg.f64 x))) (*.f64 x (fma.f64 (*.f64 y y) x (neg.f64 x)))) (fma.f64 y x x))
(*.f64 (+.f64 #s(literal 1 binary64) y) x)
(*.f64 (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x)))) (/.f64 (fma.f64 y x x) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(*.f64 (fma.f64 y x x) (/.f64 (-.f64 (*.f64 y x) x) (-.f64 (*.f64 y x) x)))
(*.f64 x (+.f64 #s(literal 1 binary64) y))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) x)) #s(literal 2 binary64)) (pow.f64 (*.f64 x (/.f64 x (-.f64 (*.f64 y x) x))) #s(literal 2 binary64))) (+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) x)) (*.f64 x (/.f64 x (-.f64 (*.f64 y x) x)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) #s(literal 2 binary64))) (-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x)))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) x)) #s(literal 3 binary64)) (pow.f64 (*.f64 x (/.f64 x (-.f64 (*.f64 y x) x))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) x)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 x (/.f64 x (-.f64 (*.f64 y x) x))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) x)) (*.f64 x (/.f64 x (-.f64 (*.f64 y x) x)))))))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) #s(literal 2 binary64)) (-.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x)))))))))
(/.f64 (neg.f64 (*.f64 x (-.f64 x (*.f64 (*.f64 y y) x)))) (neg.f64 (-.f64 x (*.f64 y x))))
(/.f64 (neg.f64 (neg.f64 (*.f64 x (fma.f64 (*.f64 y y) x (neg.f64 x))))) (neg.f64 (neg.f64 (-.f64 (*.f64 y x) x))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1 binary64)) (pow.f64 x #s(literal 3 binary64))))) (neg.f64 (neg.f64 (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x)))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) x)) (*.f64 (-.f64 (*.f64 y x) x) (*.f64 x x))) (pow.f64 (-.f64 (*.f64 y x) x) #s(literal 2 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x)))) (*.f64 (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x)))) (pow.f64 x #s(literal 3 binary64)))) (pow.f64 (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x)))) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 4 binary64)) (pow.f64 x #s(literal 4 binary64))) (*.f64 (fma.f64 x x (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (*.f64 y x) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 6 binary64)) (pow.f64 x #s(literal 6 binary64))) (*.f64 (+.f64 (fma.f64 (*.f64 y y) (pow.f64 x #s(literal 4 binary64)) (pow.f64 x #s(literal 4 binary64))) (pow.f64 (*.f64 y x) #s(literal 4 binary64))) (-.f64 (*.f64 y x) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 6 binary64)) (pow.f64 x #s(literal 6 binary64))) (*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(/.f64 (*.f64 x (-.f64 x (*.f64 (*.f64 y y) x))) (-.f64 x (*.f64 y x)))
(/.f64 (+.f64 (pow.f64 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 x #s(literal 6 binary64))) (pow.f64 (*.f64 (*.f64 x x) y) #s(literal 3 binary64))) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(/.f64 (neg.f64 (*.f64 x (fma.f64 (*.f64 y y) x (neg.f64 x)))) (neg.f64 (-.f64 (*.f64 y x) x)))
(/.f64 (neg.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(/.f64 (*.f64 x (fma.f64 (*.f64 y y) x (neg.f64 x))) (-.f64 (*.f64 y x) x))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1 binary64)) (pow.f64 x #s(literal 3 binary64))) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x)))))
(neg.f64 (neg.f64 (fma.f64 y x x)))
(fma.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 (fma.f64 y x x) x (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (/.f64 (*.f64 (neg.f64 x) x) (-.f64 (*.f64 y x) x)))
(fma.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (neg.f64 x)))) (fma.f64 y x x) (/.f64 (*.f64 (neg.f64 x) x) (-.f64 (*.f64 y x) x)))
(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 (-.f64 x (*.f64 y x)) x) #s(literal 2 binary64)))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (-.f64 x (*.f64 y x)) x)) (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(fma.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 x (*.f64 y x)) x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 x (*.f64 y x)) x) (-.f64 (*.f64 (-.f64 x (*.f64 y x)) x) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 (*.f64 y x) #s(literal 4 binary64))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(fma.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 (pow.f64 (*.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 x (*.f64 y x)) x) #s(literal 2 binary64)))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (-.f64 x (*.f64 y x)) x)) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(fma.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 x (*.f64 y x)) x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 x (*.f64 y x)) x) (-.f64 (*.f64 (-.f64 x (*.f64 y x)) 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)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(fma.f64 (*.f64 (*.f64 y y) x) (/.f64 x (-.f64 (*.f64 y x) x)) (/.f64 (*.f64 (neg.f64 x) x) (-.f64 (*.f64 y x) x)))
(fma.f64 (pow.f64 x #s(literal 3/2 binary64)) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(fma.f64 (pow.f64 (*.f64 y x) #s(literal 3/2 binary64)) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3/2 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(fma.f64 (*.f64 (neg.f64 y) x) (/.f64 (*.f64 (neg.f64 y) x) (-.f64 (*.f64 y x) x)) (/.f64 (*.f64 (neg.f64 x) x) (-.f64 (*.f64 y x) x)))
(fma.f64 (fabs.f64 (*.f64 y x)) (/.f64 (fabs.f64 (*.f64 y x)) (-.f64 (*.f64 y x) x)) (/.f64 (*.f64 (neg.f64 x) x) (-.f64 (*.f64 y x) x)))
(fma.f64 (*.f64 (*.f64 x x) y) (/.f64 y (-.f64 (*.f64 y x) x)) (/.f64 (*.f64 (neg.f64 x) x) (-.f64 (*.f64 y x) x)))
(fma.f64 (*.f64 x x) (/.f64 (*.f64 y y) (-.f64 (*.f64 y x) x)) (/.f64 (*.f64 (neg.f64 x) x) (-.f64 (*.f64 y x) x)))
(fma.f64 (*.f64 x x) (/.f64 x (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(fma.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (/.f64 (*.f64 y x) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (/.f64 (pow.f64 y #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(fma.f64 (*.f64 y y) (*.f64 x (/.f64 x (-.f64 (*.f64 y x) x))) (/.f64 (*.f64 (neg.f64 x) x) (-.f64 (*.f64 y x) x)))
(fma.f64 (pow.f64 y #s(literal 3 binary64)) (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(fma.f64 (*.f64 y x) (/.f64 (*.f64 y x) (-.f64 (*.f64 y x) x)) (/.f64 (*.f64 (neg.f64 x) x) (-.f64 (*.f64 y x) x)))
(fma.f64 (*.f64 y x) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(fma.f64 y (/.f64 (*.f64 (*.f64 x x) y) (-.f64 (*.f64 y x) x)) (/.f64 (*.f64 (neg.f64 x) x) (-.f64 (*.f64 y x) x)))
(fma.f64 y x x)
(fma.f64 x (/.f64 (*.f64 (*.f64 y y) x) (-.f64 (*.f64 y x) x)) (/.f64 (*.f64 (neg.f64 x) x) (-.f64 (*.f64 y x) x)))
(fma.f64 x (/.f64 (*.f64 x x) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(fma.f64 x y x)
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 x (*.f64 y x))))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) x)) (*.f64 x (/.f64 x (-.f64 (*.f64 y x) x))))
(-.f64 x (*.f64 (neg.f64 y) x))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) x)) (/.f64 (*.f64 (neg.f64 x) x) (-.f64 (*.f64 y x) x)))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 (neg.f64 (neg.f64 y)) x))
(+.f64 x (*.f64 (neg.f64 (neg.f64 x)) y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (+.f64 (fma.f64 y x x) y) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))))
(*.f64 (/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64))) (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 y (fma.f64 y x x)) y) #s(literal 2 binary64)))) (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (*.f64 (-.f64 y (fma.f64 y x x)) y)))
(*.f64 (/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (-.f64 y (fma.f64 y x x)) y) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 y (fma.f64 y x x)) y) (-.f64 (*.f64 (-.f64 y (fma.f64 y x x)) y) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (pow.f64 (fma.f64 y x x) #s(literal 4 binary64))))
(*.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (fma.f64 (neg.f64 y) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (+.f64 (fma.f64 y x x) y))
(*.f64 (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (/.f64 (+.f64 (fma.f64 y x x) y) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(*.f64 (+.f64 (fma.f64 y x x) y) (/.f64 (-.f64 (fma.f64 y x x) y) (-.f64 (fma.f64 y x x) y)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (-.f64 (fma.f64 y x x) y)) #s(literal 2 binary64)) (pow.f64 (*.f64 y (/.f64 y (-.f64 (fma.f64 y x x) y))) #s(literal 2 binary64))) (+.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (-.f64 (fma.f64 y x x) y)) (*.f64 y (/.f64 y (-.f64 (fma.f64 y x x) y)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (fma.f64 y x y) x))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) #s(literal 2 binary64))) (-.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x 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))) (-.f64 (+.f64 y x) (*.f64 y x)))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 y x y) #s(literal 2 binary64))) (-.f64 x (fma.f64 y x y)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (-.f64 (fma.f64 y x x) y)) #s(literal 3 binary64)) (pow.f64 (*.f64 y (/.f64 y (-.f64 (fma.f64 y x x) y))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (-.f64 (fma.f64 y x x) y)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 y (/.f64 y (-.f64 (fma.f64 y x x) y))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (-.f64 (fma.f64 y x x) y)) (*.f64 y (/.f64 y (-.f64 (fma.f64 y x x) y)))))))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 y x y) #s(literal 2 binary64)) (-.f64 (*.f64 x x) (*.f64 (fma.f64 y x y) x))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))))))))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (fma.f64 y x y) #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (fma.f64 y x y) #s(literal 2 binary64)) (*.f64 x (fma.f64 y x y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) (neg.f64 (-.f64 (-.f64 (*.f64 y x) x) y)))
(/.f64 (neg.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (neg.f64 (-.f64 y (fma.f64 y x 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 (+.f64 y x) (-.f64 (+.f64 y x) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (neg.f64 y) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (-.f64 (fma.f64 y x x) y))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (-.f64 (fma.f64 y x x) y)) (*.f64 (-.f64 (fma.f64 y x x) y) (*.f64 y y))) (pow.f64 (-.f64 (fma.f64 y x x) y) #s(literal 2 binary64)))
(/.f64 (fma.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (*.f64 (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (pow.f64 y #s(literal 3 binary64)))) (pow.f64 (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 4 binary64)) (pow.f64 y #s(literal 4 binary64))) (*.f64 (fma.f64 y y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (-.f64 (fma.f64 y x x) y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 6 binary64)) (pow.f64 y #s(literal 6 binary64))) (*.f64 (fma.f64 (*.f64 y y) (fma.f64 y y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (pow.f64 (fma.f64 y x x) #s(literal 4 binary64))) (-.f64 (fma.f64 y x x) y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 6 binary64)) (pow.f64 y #s(literal 6 binary64))) (*.f64 (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x 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))) (-.f64 (-.f64 (*.f64 y x) x) y))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (-.f64 y (fma.f64 y x x)))
(/.f64 (+.f64 (pow.f64 y #s(literal 9 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 9 binary64))) (*.f64 (-.f64 (+.f64 (pow.f64 (fma.f64 y x x) #s(literal 6 binary64)) (pow.f64 y #s(literal 6 binary64))) (pow.f64 (*.f64 (fma.f64 y x x) y) #s(literal 3 binary64))) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x 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 y x) (*.f64 y x)))))
(/.f64 (+.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 (fma.f64 (neg.f64 y) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (neg.f64 (-.f64 (fma.f64 y x x) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (neg.f64 y) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (-.f64 (fma.f64 y x x) y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64))) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))))
(neg.f64 (/.f64 (neg.f64 (fma.f64 (neg.f64 y) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (-.f64 (fma.f64 y x x) y)))
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)))) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(neg.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (neg.f64 (-.f64 (fma.f64 y x x) y))))
(neg.f64 (/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64))) (neg.f64 (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))))))
(fma.f64 (/.f64 (*.f64 x (fma.f64 (*.f64 y y) x (neg.f64 x))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 (fma.f64 y x x) x (pow.f64 (*.f64 y x) #s(literal 2 binary64))) y)
(fma.f64 (/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1 binary64)) (pow.f64 x #s(literal 3 binary64))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 x (*.f64 y x)) x) #s(literal 2 binary64)))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (-.f64 x (*.f64 y x)) x)) y)
(fma.f64 (/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1 binary64)) (pow.f64 x #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (-.f64 x (*.f64 y x)) x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 x (*.f64 y x)) x) (-.f64 (*.f64 (-.f64 x (*.f64 y x)) x) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 (*.f64 y x) #s(literal 4 binary64))) y)
(fma.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (+.f64 (fma.f64 y x x) y) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (/.f64 (*.f64 (neg.f64 y) y) (-.f64 (fma.f64 y x x) y)))
(fma.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (fma.f64 (neg.f64 y) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (+.f64 (fma.f64 y x x) y) (/.f64 (*.f64 (neg.f64 y) y) (-.f64 (fma.f64 y x x) y)))
(fma.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 y (fma.f64 y x x)) y) #s(literal 2 binary64)))) (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (*.f64 (-.f64 y (fma.f64 y x x)) y)) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 y (fma.f64 y x x)) y) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 y (fma.f64 y x x)) y) (-.f64 (*.f64 (-.f64 y (fma.f64 y x x)) y) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (pow.f64 (fma.f64 y x x) #s(literal 4 binary64))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x 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 (-.f64 x (*.f64 y x)) x) #s(literal 2 binary64)))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (-.f64 x (*.f64 y x)) x)) (+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) y))
(fma.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 x (*.f64 y x)) x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 x (*.f64 y x)) x) (-.f64 (*.f64 (-.f64 x (*.f64 y x)) x) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 (*.f64 y x) #s(literal 4 binary64))) (+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) y))
(fma.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 y (fma.f64 y x x)) y) #s(literal 2 binary64)))) (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (*.f64 (-.f64 y (fma.f64 y x x)) y)) (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 y (fma.f64 y x x)) y) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 y (fma.f64 y x x)) y) (-.f64 (*.f64 (-.f64 y (fma.f64 y x x)) y) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (pow.f64 (fma.f64 y x x) #s(literal 4 binary64))) (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (*.f64 x (fma.f64 (*.f64 y y) x (neg.f64 x))) (*.f64 x (fma.f64 (*.f64 y y) x (neg.f64 x)))) (fma.f64 y x x) y)
(fma.f64 (+.f64 x #s(literal 1 binary64)) y x)
(fma.f64 (+.f64 #s(literal 1 binary64) y) x y)
(fma.f64 (pow.f64 (fma.f64 y x x) #s(literal 3/2 binary64)) (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3/2 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(fma.f64 (pow.f64 y #s(literal 3/2 binary64)) (/.f64 (pow.f64 y #s(literal 3/2 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(fma.f64 (pow.f64 (*.f64 y x) #s(literal 3/2 binary64)) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3/2 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) y))
(fma.f64 (neg.f64 (fma.f64 y x x)) (/.f64 (neg.f64 (fma.f64 y x x)) (-.f64 (fma.f64 y x x) y)) (/.f64 (*.f64 (neg.f64 y) y) (-.f64 (fma.f64 y x x) y)))
(fma.f64 (fabs.f64 (fma.f64 y x x)) (/.f64 (fabs.f64 (fma.f64 y x x)) (-.f64 (fma.f64 y x x) y)) (/.f64 (*.f64 (neg.f64 y) y) (-.f64 (fma.f64 y x x) y)))
(fma.f64 (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x)))) (/.f64 (fma.f64 y x x) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) y)
(fma.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (/.f64 (*.f64 y x) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) y))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (/.f64 (pow.f64 y #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) y))
(fma.f64 (*.f64 y y) (/.f64 y (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(fma.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (/.f64 (fma.f64 y x x) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(fma.f64 (pow.f64 y #s(literal 3 binary64)) (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) y))
(fma.f64 (fma.f64 y x x) (/.f64 (-.f64 (*.f64 y x) x) (-.f64 (*.f64 y x) x)) y)
(fma.f64 (fma.f64 y x x) (/.f64 (fma.f64 y x x) (-.f64 (fma.f64 y x x) y)) (/.f64 (*.f64 (neg.f64 y) y) (-.f64 (fma.f64 y x x) y)))
(fma.f64 (fma.f64 y x x) (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(fma.f64 (*.f64 y x) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) y))
(fma.f64 y (/.f64 (*.f64 y y) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(fma.f64 y x (+.f64 y x))
(fma.f64 x (+.f64 #s(literal 1 binary64) y) y)
(fma.f64 x y (+.f64 y x))
(-.f64 (+.f64 y (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) x))) (*.f64 x (/.f64 x (-.f64 (*.f64 y x) x))))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (-.f64 (*.f64 y x) x) y)) (/.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (-.f64 (-.f64 (*.f64 y x) x) y)))
(-.f64 (/.f64 (*.f64 y y) (-.f64 y (fma.f64 y x x))) (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (-.f64 y (fma.f64 y x x))))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) x)) (-.f64 (*.f64 x (/.f64 x (-.f64 (*.f64 y x) x))) y))
(-.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (-.f64 (fma.f64 y x x) y)) (*.f64 y (/.f64 y (-.f64 (fma.f64 y x x) y))))
(-.f64 (+.f64 y x) (*.f64 (neg.f64 y) x))
(-.f64 y (neg.f64 (fma.f64 y x x)))
(-.f64 x (-.f64 (*.f64 (neg.f64 y) x) y))
(+.f64 (+.f64 y (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x)))))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))))
(+.f64 (/.f64 (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 (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 (fma.f64 y x y) x)
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) (+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 y y) x (-.f64 x (*.f64 y x))))) y))
(+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 y (fma.f64 y x x)) y (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (-.f64 (fma.f64 y x x) y)) (/.f64 (*.f64 (neg.f64 y) y) (-.f64 (fma.f64 y x x) y)))
(+.f64 (+.f64 y x) (*.f64 y x))
(+.f64 (fma.f64 y x x) y)
(+.f64 (*.f64 y x) (+.f64 y x))
(+.f64 y (fma.f64 y x x))
(+.f64 x (fma.f64 y x y))
(*.f64 y x)
(*.f64 x y)

eval17.0ms (0.4%)

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

Compiled 5 063 to 530 computations (89.5% saved)

prune28.0ms (0.7%)

Memory
-27.4MiB live, 17.6MiB allocated; 5ms collecting garbage
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1596165
Fresh000
Picked101
Done000
Total1606166
Accuracy
100.0%
Counts
166 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (+.f64 x #s(literal 1 binary64)) y x)
73.3%
(+.f64 #s(approx (+ (* x y) x) x) y)
60.3%
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
67.1%
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
34.4%
#s(approx (+ (+ (* x y) x) y) y)
41.4%
#s(approx (+ (+ (* x y) x) y) x)
Compiler

Compiled 114 to 74 computations (35.1% saved)

simplify179.0ms (4.2%)

Memory
32.8MiB live, 177.1MiB allocated; 15ms collecting garbage
Localize:

Found 8 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01468
02063
13463
26663
314363
454763
5191063
6631263
0814263
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(fma.f64 (+.f64 x #s(literal 1 binary64)) y x)
(+.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
y
#s(approx (+ (+ (* x y) x) y) x)
x
#s(approx (+ (+ (* x y) x) y) y)
y
(+.f64 #s(approx (+ (* x y) x) x) y)
#s(approx (+ (* x y) x) x)
x
y
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
(fma.f64 y x x)
y
x
Outputs
(fma.f64 (+.f64 x #s(literal 1 binary64)) y x)
(fma.f64 y (-.f64 x #s(literal -1 binary64)) x)
(+.f64 x #s(literal 1 binary64))
(-.f64 x #s(literal -1 binary64))
x
#s(literal 1 binary64)
y
#s(approx (+ (+ (* x y) x) y) x)
x
#s(approx (+ (+ (* x y) x) y) y)
y
(+.f64 #s(approx (+ (* x y) x) x) y)
#s(approx (+ (* x y) x) x)
x
y
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
(fma.f64 y x x)
y
x

localize66.0ms (1.6%)

Memory
2.1MiB live, 48.7MiB allocated; 4ms collecting garbage
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(fma.f64 y x x)
accuracy21.08284120632083
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
accuracy0.00390625
(+.f64 #s(approx (+ (* x y) x) x) y)
accuracy30.677830506750432
#s(approx (+ (* x y) x) x)
accuracy41.96179160457848
#s(approx (+ (+ (* x y) x) y) y)
accuracy37.52233536338615
#s(approx (+ (+ (* x y) x) y) x)
accuracy0.0
(+.f64 x #s(literal 1 binary64))
accuracy0.0078125
(fma.f64 (+.f64 x #s(literal 1 binary64)) y x)
Samples
58.0ms256×0valid
Compiler

Compiled 59 to 13 computations (78% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-add: 6.0ms (56% of total)
ival-mult: 5.0ms (46.6% 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)

series54.0ms (1.3%)

Memory
-36.7MiB live, 9.0MiB allocated; 7ms collecting garbage
Counts
8 → 41
Calls
Call 1
Inputs
(fma.f64 (+.f64 x #s(literal 1 binary64)) y x)
(+.f64 x #s(literal 1 binary64))
#s(approx (+ (+ (* x y) x) y) x)
#s(approx (+ (+ (* x y) x) y) y)
(+.f64 #s(approx (+ (* x y) x) x) y)
#s(approx (+ (* x y) x) x)
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
(fma.f64 y x x)
Outputs
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 y))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (+ y (* x (+ 1 y)))))
#s(approx (+ x 1) #s(hole binary64 1))
#s(approx (+ x 1) #s(hole binary64 (+ 1 x)))
#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) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* x (+ 1 (+ y (/ y x))))))
#s(approx (+ x 1) #s(hole binary64 x))
#s(approx (+ x 1) #s(hole binary64 (* x (+ 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 (/ y x))))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ y x))) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ y x))) 1)))))
#s(approx (+ (* x y) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 x))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (+ x (* y (+ 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 (+ (* x y) x) #s(hole binary64 x))
#s(approx (+ (* x y) x) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* y x) x) #s(hole binary64 x))
#s(approx (+ (* y x) x) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (+ (* x y) x) #s(hole binary64 (* x y)))
#s(approx (+ (* x y) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* -1 (* y (+ (* -1 (+ 1 x)) (* -1 (/ x y)))))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (+ (* -1 x) (* -1 (/ x y))) 1)))))
#s(approx (+ (* x y) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
Calls

6 calls:

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

simplify142.0ms (3.4%)

Memory
31.8MiB live, 170.5MiB allocated; 24ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
096473
1233473
2634473
32001473
46581473
08106407
Stop Event
iter limit
node limit
Counts
41 → 41
Calls
Call 1
Inputs
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 y))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (+ y (* x (+ 1 y)))))
#s(approx (+ x 1) #s(hole binary64 1))
#s(approx (+ x 1) #s(hole binary64 (+ 1 x)))
#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) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* x (+ 1 (+ y (/ y x))))))
#s(approx (+ x 1) #s(hole binary64 x))
#s(approx (+ x 1) #s(hole binary64 (* x (+ 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 (/ y x))))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ y x))) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ y x))) 1)))))
#s(approx (+ (* x y) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 x))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (+ x (* y (+ 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 (+ (* x y) x) #s(hole binary64 x))
#s(approx (+ (* x y) x) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* y x) x) #s(hole binary64 x))
#s(approx (+ (* y x) x) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (+ (* x y) x) #s(hole binary64 (* x y)))
#s(approx (+ (* x y) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* -1 (* y (+ (* -1 (+ 1 x)) (* -1 (/ x y)))))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (+ (* -1 x) (* -1 (/ x y))) 1)))))
#s(approx (+ (* x y) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
Outputs
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 y))
#s(approx (+ (+ (* x y) x) y) y)
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (+ y (* x (+ 1 y)))))
#s(approx (+ (+ (* x y) x) y) (+.f64 (fma.f64 y x x) y))
#s(approx (+ x 1) #s(hole binary64 1))
#s(approx (+ x 1) #s(literal 1 binary64))
#s(approx (+ x 1) #s(hole binary64 (+ 1 x)))
#s(approx (+ x 1) (-.f64 x #s(literal -1 binary64)))
#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) (+.f64 (fma.f64 y x x) y))
#s(approx (+ (* x y) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* y x) x) (fma.f64 y x x))
#s(approx (+ (* y x) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* y x) x) (fma.f64 y x x))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* x (+ 1 (+ y (/ y x))))))
#s(approx (+ (+ (* x y) x) y) (+.f64 (fma.f64 y x x) y))
#s(approx (+ x 1) #s(hole binary64 x))
#s(approx (+ x 1) x)
#s(approx (+ x 1) #s(hole binary64 (* x (+ 1 (/ 1 x)))))
#s(approx (+ x 1) (-.f64 x #s(literal -1 binary64)))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* x (+ 1 (+ y (/ y x))))))
#s(approx (+ (+ (* x y) x) y) (+.f64 (fma.f64 y x x) y))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ y x))) 1)))))
#s(approx (+ (+ (* x y) x) y) (+.f64 (fma.f64 y x x) y))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ y x))) 1)))))
#s(approx (+ (+ (* x y) x) y) (+.f64 (fma.f64 y x x) y))
#s(approx (+ (* x y) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) x) (fma.f64 y x x))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) x) (fma.f64 y x x))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 x))
#s(approx (+ (+ (* x y) x) y) x)
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (+ x (* y (+ 1 x)))))
#s(approx (+ (+ (* x y) x) y) (+.f64 (fma.f64 y x x) y))
#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) (+.f64 (fma.f64 y x x) y))
#s(approx (+ (* x y) x) #s(hole binary64 x))
#s(approx (+ (* y x) x) x)
#s(approx (+ (* x y) x) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* y x) x) (fma.f64 y x x))
#s(approx (+ (* y x) x) #s(hole binary64 x))
#s(approx (+ (* y x) x) x)
#s(approx (+ (* y x) x) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* y x) x) (fma.f64 y x x))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (+ (+ (* x y) x) y) (+.f64 (fma.f64 y x x) y))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (+ (+ (* x y) x) y) (+.f64 (fma.f64 y x x) y))
#s(approx (+ (* x y) x) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) x) (*.f64 y x))
#s(approx (+ (* x y) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (* y x) x) (fma.f64 y x x))
#s(approx (+ (* y x) x) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) x) (*.f64 y x))
#s(approx (+ (* y x) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (* y x) x) (fma.f64 y x x))
#s(approx (+ (* (+ x 1) y) x) #s(hole binary64 (* -1 (* y (+ (* -1 (+ 1 x)) (* -1 (/ x y)))))))
#s(approx (+ (+ (* x y) x) y) (+.f64 (fma.f64 y x x) y))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (+ (* -1 x) (* -1 (/ x y))) 1)))))
#s(approx (+ (+ (* x y) x) y) (+.f64 (fma.f64 y x x) y))
#s(approx (+ (* x y) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (* y x) x) (fma.f64 y x x))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (* y x) x) (fma.f64 y x x))

rewrite41.0ms (1%)

Memory
3.8MiB live, 49.3MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01459
02054
110354
072654
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
8 → 55
Calls
Call 1
Inputs
(fma.f64 (+.f64 x #s(literal 1 binary64)) y x)
(+.f64 x #s(literal 1 binary64))
#s(approx (+ (+ (* x y) x) y) x)
#s(approx (+ (+ (* x y) x) y) y)
(+.f64 #s(approx (+ (* x y) x) x) y)
#s(approx (+ (* x y) x) x)
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
(fma.f64 y x x)
Outputs
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) #s(literal 2 binary64))) (-.f64 x (*.f64 y (-.f64 x #s(literal -1 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 y (-.f64 x #s(literal -1 binary64)))) (pow.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) x))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 y (-.f64 x #s(literal -1 binary64)))) (pow.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) #s(literal 2 binary64))))
(fma.f64 y (-.f64 x #s(literal -1 binary64)) x)
(fma.f64 (-.f64 x #s(literal -1 binary64)) y x)
(-.f64 (/.f64 (pow.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)) (-.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) x)))
(-.f64 x (*.f64 (neg.f64 y) (-.f64 x #s(literal -1 binary64))))
(-.f64 x (*.f64 (neg.f64 (-.f64 x #s(literal -1 binary64))) y))
(+.f64 (/.f64 (pow.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 y (-.f64 x #s(literal -1 binary64)))) (pow.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 y (-.f64 x #s(literal -1 binary64)))) (pow.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) #s(literal 2 binary64)))))
(+.f64 (*.f64 y (-.f64 x #s(literal -1 binary64))) x)
(+.f64 x (*.f64 y (-.f64 x #s(literal -1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)) (-.f64 #s(literal 1 binary64) x))
(/.f64 (neg.f64 (fma.f64 x x #s(literal -1 binary64))) (neg.f64 (-.f64 x #s(literal 1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 x x (-.f64 #s(literal 1 binary64) x))))
(/.f64 (fma.f64 x x #s(literal -1 binary64)) (-.f64 x #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 x x) x)))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 x x (-.f64 #s(literal 1 binary64) x)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x #s(literal 1 binary64))))
(-.f64 x #s(literal -1 binary64))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (-.f64 #s(literal 1 binary64) x))) (/.f64 #s(literal 1 binary64) (fma.f64 x x (-.f64 #s(literal 1 binary64) x))))
(+.f64 #s(literal 1 binary64) x)
(+.f64 x #s(literal 1 binary64))
#s(approx (+ (+ (* x y) x) y) x)
#s(approx (+ (+ (* x y) x) y) y)
(/.f64 (-.f64 (*.f64 y y) (pow.f64 #s(approx (+ (* x y) x) x) #s(literal 2 binary64))) (-.f64 y #s(approx (+ (* x y) x) x)))
(/.f64 (neg.f64 (*.f64 (+.f64 #s(approx (+ (* x y) x) x) y) (-.f64 #s(approx (+ (* x y) x) x) y))) (neg.f64 (-.f64 #s(approx (+ (* x y) x) x) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (+ (* x y) x) x) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(approx (+ (* x y) x) x) #s(approx (+ (* x y) x) x) (*.f64 y (-.f64 y #s(approx (+ (* x y) x) x))))))
(/.f64 (*.f64 (+.f64 #s(approx (+ (* x y) x) x) y) (-.f64 #s(approx (+ (* x y) x) x) y)) (-.f64 #s(approx (+ (* x y) x) x) y))
(/.f64 (+.f64 (pow.f64 #s(approx (+ (* x y) x) x) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y y (-.f64 (pow.f64 #s(approx (+ (* x y) x) x) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* x y) x) x) y))))
(/.f64 (+.f64 (pow.f64 #s(approx (+ (* x y) x) x) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 #s(approx (+ (* x y) x) x) #s(approx (+ (* x y) x) x) (*.f64 y (-.f64 y #s(approx (+ (* x y) x) x)))))
(-.f64 (/.f64 (pow.f64 #s(approx (+ (* x y) x) x) #s(literal 2 binary64)) (-.f64 #s(approx (+ (* x y) x) x) y)) (/.f64 (*.f64 y y) (-.f64 #s(approx (+ (* x y) x) x) y)))
(+.f64 (/.f64 (pow.f64 #s(approx (+ (* x y) x) x) #s(literal 3 binary64)) (fma.f64 #s(approx (+ (* x y) x) x) #s(approx (+ (* x y) x) x) (*.f64 y (-.f64 y #s(approx (+ (* x y) x) x))))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 #s(approx (+ (* x y) x) x) #s(approx (+ (* x y) x) x) (*.f64 y (-.f64 y #s(approx (+ (* x y) x) x))))))
(+.f64 #s(approx (+ (* x y) x) x) y)
(+.f64 y #s(approx (+ (* x y) x) x))
#s(approx (+ (* x y) x) x)
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
(*.f64 (-.f64 y #s(literal -1 binary64)) x)
(*.f64 x (-.f64 y #s(literal -1 binary64)))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 x (*.f64 y x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 y x) x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 y x) x))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))
(fma.f64 y x x)
(fma.f64 x y x)
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 y x) x)))
(-.f64 x (*.f64 (neg.f64 y) x))
(-.f64 x (*.f64 (neg.f64 x) y))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 y x))

eval37.0ms (0.9%)

Memory
-4.6MiB live, 50.4MiB allocated; 15ms collecting garbage
Compiler

Compiled 1 184 to 197 computations (83.4% saved)

prune44.0ms (1%)

Memory
-28.2MiB live, 10.6MiB allocated; 16ms collecting garbage
Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New62163
Fresh011
Picked055
Done000
Total62769
Accuracy
100.0%
Counts
69 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (+.f64 x #s(literal 1 binary64)) y x)
73.3%
(+.f64 #s(approx (+ (* x y) x) x) y)
60.3%
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
67.1%
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
67.1%
#s(approx (+ (+ (* x y) x) y) (*.f64 (-.f64 y #s(literal -1 binary64)) x))
34.4%
#s(approx (+ (+ (* x y) x) y) y)
41.4%
#s(approx (+ (+ (* x y) x) y) x)
Compiler

Compiled 70 to 46 computations (34.3% saved)

simplify189.0ms (4.5%)

Memory
9.8MiB live, 192.3MiB allocated; 82ms collecting garbage
Localize:

Found 5 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01142
01542
12340
24140
37040
413140
524340
682340
7298440
8717440
0879038
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) x) y) (*.f64 (-.f64 y #s(literal -1 binary64)) x))
(*.f64 (-.f64 y #s(literal -1 binary64)) x)
(-.f64 y #s(literal -1 binary64))
y
#s(literal -1 binary64)
x
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
(fma.f64 y x y)
y
x
Outputs
#s(approx (+ (+ (* x y) x) y) (*.f64 (-.f64 y #s(literal -1 binary64)) x))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
(*.f64 (-.f64 y #s(literal -1 binary64)) x)
(fma.f64 y x x)
(-.f64 y #s(literal -1 binary64))
y
#s(literal -1 binary64)
x
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
(fma.f64 y x y)
y
x

localize26.0ms (0.6%)

Memory
14.4MiB live, 60.6MiB allocated; 3ms collecting garbage
Localize:

Found 5 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(fma.f64 y x y)
accuracy25.4362760334525
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
accuracy0.0
(-.f64 y #s(literal -1 binary64))
accuracy0.00390625
(*.f64 (-.f64 y #s(literal -1 binary64)) x)
accuracy21.08284120632083
#s(approx (+ (+ (* x y) x) y) (*.f64 (-.f64 y #s(literal -1 binary64)) x))
Samples
20.0ms256×0valid
Compiler

Compiled 34 to 12 computations (64.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-mult: 7.0ms (57.9% of total)
ival-add: 3.0ms (24.8% of total)
ival-sub: 1.0ms (8.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)

series4.0ms (0.1%)

Memory
10.4MiB live, 10.5MiB allocated; 0ms collecting garbage
Counts
5 → 29
Calls
Call 1
Inputs
(*.f64 (-.f64 y #s(literal -1 binary64)) x)
#s(approx (+ (+ (* x y) x) y) (*.f64 (-.f64 y #s(literal -1 binary64)) x))
(-.f64 y #s(literal -1 binary64))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
(fma.f64 y x y)
Outputs
#s(approx (* (- y -1) x) #s(hole binary64 (* x (+ 1 y))))
#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 (+ (* y x) y) #s(hole binary64 y))
#s(approx (+ (* y x) y) #s(hole binary64 (+ y (* 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 (/ y x))))))
#s(approx (+ (* y x) y) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) y) #s(hole binary64 (* x (+ y (/ y x)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ y x))) 1)))))
#s(approx (+ (* y x) y) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))))
#s(approx (* (- y -1) x) #s(hole binary64 x))
#s(approx (* (- y -1) x) #s(hole binary64 (+ x (* x y))))
#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 (- y -1) #s(hole binary64 1))
#s(approx (- y -1) #s(hole binary64 (+ 1 y)))
#s(approx (+ (* y x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (* (- y -1) x) #s(hole binary64 (* x y)))
#s(approx (* (- y -1) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (- y -1) #s(hole binary64 y))
#s(approx (- y -1) #s(hole binary64 (* y (+ 1 (/ 1 y)))))
#s(approx (* (- y -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (+ (* -1 x) (* -1 (/ x y))) 1)))))
#s(approx (+ (* y x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
Calls

6 calls:

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

simplify109.0ms (2.6%)

Memory
6.3MiB live, 198.3MiB allocated; 16ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
083315
1214315
2540315
31575315
46991315
08023271
Stop Event
iter limit
node limit
Counts
29 → 29
Calls
Call 1
Inputs
#s(approx (* (- y -1) x) #s(hole binary64 (* x (+ 1 y))))
#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 (+ (* y x) y) #s(hole binary64 y))
#s(approx (+ (* y x) y) #s(hole binary64 (+ y (* 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 (/ y x))))))
#s(approx (+ (* y x) y) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) y) #s(hole binary64 (* x (+ y (/ y x)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ y x))) 1)))))
#s(approx (+ (* y x) y) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))))
#s(approx (* (- y -1) x) #s(hole binary64 x))
#s(approx (* (- y -1) x) #s(hole binary64 (+ x (* x y))))
#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 (- y -1) #s(hole binary64 1))
#s(approx (- y -1) #s(hole binary64 (+ 1 y)))
#s(approx (+ (* y x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (* (- y -1) x) #s(hole binary64 (* x y)))
#s(approx (* (- y -1) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (- y -1) #s(hole binary64 y))
#s(approx (- y -1) #s(hole binary64 (* y (+ 1 (/ 1 y)))))
#s(approx (* (- y -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (+ (* -1 x) (* -1 (/ x y))) 1)))))
#s(approx (+ (* y x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
Outputs
#s(approx (* (- y -1) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (* (- y -1) x) (fma.f64 x y x))
#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 x #s(literal -1 binary64)) y x))
#s(approx (+ (* y x) y) #s(hole binary64 y))
#s(approx (+ (* y x) y) y)
#s(approx (+ (* y x) y) #s(hole binary64 (+ y (* x y))))
#s(approx (+ (* y x) y) (fma.f64 x y y))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 x y x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* x (+ 1 (+ y (/ y x))))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 (-.f64 x #s(literal -1 binary64)) y x))
#s(approx (+ (* y x) y) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) y) (*.f64 x y))
#s(approx (+ (* y x) y) #s(hole binary64 (* x (+ y (/ y x)))))
#s(approx (+ (* y x) y) (fma.f64 x y y))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 x y x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ y x))) 1)))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 (-.f64 x #s(literal -1 binary64)) y x))
#s(approx (+ (* y x) y) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))))
#s(approx (+ (* y x) y) (fma.f64 x y y))
#s(approx (* (- y -1) x) #s(hole binary64 x))
#s(approx (* (- y -1) x) x)
#s(approx (* (- y -1) x) #s(hole binary64 (+ x (* x y))))
#s(approx (* (- y -1) x) (fma.f64 x 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 x #s(literal -1 binary64)) y x))
#s(approx (- y -1) #s(hole binary64 1))
#s(approx (- y -1) #s(literal 1 binary64))
#s(approx (- y -1) #s(hole binary64 (+ 1 y)))
#s(approx (- y -1) (-.f64 y #s(literal -1 binary64)))
#s(approx (+ (* y x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (* y x) y) (fma.f64 x y y))
#s(approx (* (- y -1) x) #s(hole binary64 (* x y)))
#s(approx (* (- y -1) x) (*.f64 x y))
#s(approx (* (- y -1) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (* (- y -1) x) (fma.f64 x y x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 x y y))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 (-.f64 x #s(literal -1 binary64)) y x))
#s(approx (- y -1) #s(hole binary64 y))
#s(approx (- y -1) y)
#s(approx (- y -1) #s(hole binary64 (* y (+ 1 (/ 1 y)))))
#s(approx (- y -1) (-.f64 y #s(literal -1 binary64)))
#s(approx (* (- y -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (* (- y -1) x) (fma.f64 x y x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 x y y))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (+ (* -1 x) (* -1 (/ x y))) 1)))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 (-.f64 x #s(literal -1 binary64)) y x))
#s(approx (+ (* y x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
#s(approx (+ (* y x) y) (fma.f64 x y y))

rewrite40.0ms (0.9%)

Memory
22.1MiB live, 62.7MiB allocated; 10ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01137
01537
17435
053035
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
5 → 30
Calls
Call 1
Inputs
(*.f64 (-.f64 y #s(literal -1 binary64)) x)
#s(approx (+ (+ (* x y) x) y) (*.f64 (-.f64 y #s(literal -1 binary64)) x))
(-.f64 y #s(literal -1 binary64))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
(fma.f64 y x y)
Outputs
(*.f64 x (-.f64 y #s(literal -1 binary64)))
(*.f64 (-.f64 y #s(literal -1 binary64)) x)
(/.f64 (*.f64 (fma.f64 y y #s(literal -1 binary64)) x) (+.f64 #s(literal -1 binary64) y))
(/.f64 (*.f64 (-.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1 binary64)) x) (fma.f64 y y (fma.f64 #s(literal -1 binary64) y #s(literal 1 binary64))))
(/.f64 (*.f64 x (fma.f64 y y #s(literal -1 binary64))) (+.f64 #s(literal -1 binary64) y))
(/.f64 (*.f64 x (-.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 y y (fma.f64 #s(literal -1 binary64) y #s(literal 1 binary64))))
#s(approx (+ (+ (* x y) x) y) (*.f64 x (-.f64 y #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 y y #s(literal -1 binary64))) (neg.f64 (+.f64 #s(literal -1 binary64) y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 y y (fma.f64 #s(literal -1 binary64) y #s(literal 1 binary64)))))
(/.f64 (fma.f64 y y #s(literal -1 binary64)) (+.f64 #s(literal -1 binary64) y))
(/.f64 (-.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 y y (fma.f64 #s(literal -1 binary64) y #s(literal 1 binary64))))
(-.f64 (/.f64 (*.f64 y y) (+.f64 #s(literal -1 binary64) y)) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal -1 binary64) y)))
(-.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y y (fma.f64 #s(literal -1 binary64) y #s(literal 1 binary64)))) (/.f64 #s(literal -1 binary64) (fma.f64 y y (fma.f64 #s(literal -1 binary64) y #s(literal 1 binary64)))))
(-.f64 y #s(literal -1 binary64))
#s(approx (+ (+ (* x y) x) y) (fma.f64 x y y))
(*.f64 (+.f64 x #s(literal 1 binary64)) y)
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 x y) #s(literal 2 binary64))) (-.f64 y (*.f64 x y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 x y) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 y y)) (-.f64 (*.f64 x y) y))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y y (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 (*.f64 x y) y))))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (-.f64 y (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))))
(fma.f64 x y y)
(fma.f64 y x y)
(-.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (-.f64 (*.f64 x y) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 x y) y)))
(-.f64 y (*.f64 (neg.f64 x) y))
(-.f64 y (*.f64 (neg.f64 y) x))
(+.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (fma.f64 y (-.f64 y (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))))
(+.f64 (*.f64 x y) y)
(+.f64 y (*.f64 x y))

eval20.0ms (0.5%)

Memory
-23.0MiB live, 29.9MiB allocated; 17ms collecting garbage
Compiler

Compiled 805 to 147 computations (81.7% saved)

prune3.0ms (0.1%)

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

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New42143
Fresh000
Picked022
Done055
Total42850
Accuracy
100.0%
Counts
50 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (+.f64 x #s(literal 1 binary64)) y x)
73.3%
(+.f64 #s(approx (+ (* x y) x) x) y)
60.3%
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
67.1%
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
67.1%
#s(approx (+ (+ (* x y) x) y) (*.f64 (-.f64 y #s(literal -1 binary64)) x))
27.9%
#s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))
34.4%
#s(approx (+ (+ (* x y) x) y) y)
41.4%
#s(approx (+ (+ (* x y) x) y) x)
Compiler

Compiled 85 to 56 computations (34.1% saved)

simplify216.0ms (5.1%)

Memory
2.8MiB live, 196.3MiB allocated; 64ms collecting garbage
Localize:

Found 3 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01029
01129
11729
23329
35829
410829
520029
660829
7266729
8668429
0814228
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))
(*.f64 #s(approx (- y -1) y) x)
#s(approx (- y -1) y)
y
x
Outputs
#s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))
(*.f64 #s(approx (- y -1) y) x)
#s(approx (- y -1) y)
y
x

localize42.0ms (1%)

Memory
1.3MiB live, 51.0MiB allocated; 6ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(*.f64 #s(approx (- y -1) y) x)
accuracy21.08284120632083
#s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))
accuracy32.23662391584791
#s(approx (- y -1) y)
Samples
36.0ms256×0valid
Compiler

Compiled 19 to 10 computations (47.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 30.0ms
ival-mult: 26.0ms (87% of total)
ival-add: 2.0ms (6.7% of total)
ival-sub: 1.0ms (3.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)

series39.0ms (0.9%)

Memory
-37.4MiB live, 9.4MiB allocated; 3ms collecting garbage
Counts
3 → 22
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))
(*.f64 #s(approx (- y -1) y) x)
#s(approx (- y -1) 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 (* (- y -1) x) #s(hole binary64 (* x (+ 1 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 (/ y x))))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -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 (* (- y -1) x) #s(hole binary64 x))
#s(approx (* (- y -1) x) #s(hole binary64 (+ x (* x y))))
#s(approx (- y -1) #s(hole binary64 1))
#s(approx (- y -1) #s(hole binary64 (+ 1 y)))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (* (- y -1) x) #s(hole binary64 (* x y)))
#s(approx (* (- y -1) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (- y -1) #s(hole binary64 y))
#s(approx (- y -1) #s(hole binary64 (* y (+ 1 (/ 1 y)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (+ (* -1 x) (* -1 (/ x y))) 1)))))
#s(approx (* (- y -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
Calls

6 calls:

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

simplify164.0ms (3.9%)

Memory
33.1MiB live, 219.1MiB allocated; 15ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
070248
1179248
2468248
31452248
46390248
08054216
Stop Event
iter limit
node limit
Counts
22 → 22
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 (* (- y -1) x) #s(hole binary64 (* x (+ 1 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 (/ y x))))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -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 (* (- y -1) x) #s(hole binary64 x))
#s(approx (* (- y -1) x) #s(hole binary64 (+ x (* x y))))
#s(approx (- y -1) #s(hole binary64 1))
#s(approx (- y -1) #s(hole binary64 (+ 1 y)))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (* (- y -1) x) #s(hole binary64 (* x y)))
#s(approx (* (- y -1) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (- y -1) #s(hole binary64 y))
#s(approx (- y -1) #s(hole binary64 (* y (+ 1 (/ 1 y)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (+ (* -1 x) (* -1 (/ x y))) 1)))))
#s(approx (* (- y -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
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 x #s(literal -1 binary64)) y x))
#s(approx (* (- y -1) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (* (- y -1) x) (fma.f64 y x x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* x (+ 1 (+ y (/ y x))))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 (+.f64 (/.f64 y x) y) x x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ y x))) 1)))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 (+.f64 (/.f64 y x) y) x 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 x #s(literal -1 binary64)) y x))
#s(approx (* (- y -1) x) #s(hole binary64 x))
#s(approx (* (- y -1) x) x)
#s(approx (* (- y -1) x) #s(hole binary64 (+ x (* x y))))
#s(approx (* (- y -1) x) (fma.f64 y x x))
#s(approx (- y -1) #s(hole binary64 1))
#s(approx (- y -1) #s(literal 1 binary64))
#s(approx (- y -1) #s(hole binary64 (+ 1 y)))
#s(approx (- y -1) (-.f64 y #s(literal -1 binary64)))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 x))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* y (+ 1 (+ x (/ x y))))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 (-.f64 x #s(literal -1 binary64)) y x))
#s(approx (* (- y -1) x) #s(hole binary64 (* x y)))
#s(approx (* (- y -1) x) (*.f64 y x))
#s(approx (* (- y -1) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (* (- y -1) x) (fma.f64 y x x))
#s(approx (- y -1) #s(hole binary64 y))
#s(approx (- y -1) y)
#s(approx (- y -1) #s(hole binary64 (* y (+ 1 (/ 1 y)))))
#s(approx (- y -1) (-.f64 y #s(literal -1 binary64)))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (* -1 x) 1)))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
#s(approx (+ (+ (* x y) x) y) #s(hole binary64 (* -1 (* y (- (+ (* -1 x) (* -1 (/ x y))) 1)))))
#s(approx (+ (+ (* x y) x) y) (fma.f64 (-.f64 x #s(literal -1 binary64)) y x))
#s(approx (* (- y -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (* (- y -1) x) (fma.f64 y x x))

rewrite30.0ms (0.7%)

Memory
-7.6MiB live, 38.5MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01027
01127
15327
043226
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
3 → 4
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))
(*.f64 #s(approx (- y -1) y) x)
#s(approx (- y -1) y)
Outputs
#s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))
(*.f64 #s(approx (- y -1) y) x)
(*.f64 x #s(approx (- y -1) y))
#s(approx (- y -1) y)

eval2.0ms (0%)

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

Compiled 214 to 42 computations (80.4% saved)

prune4.0ms (0.1%)

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

8 alts after pruning (0 fresh and 8 done)

PrunedKeptTotal
New15015
Fresh000
Picked011
Done077
Total15823
Accuracy
100.0%
Counts
23 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (+.f64 x #s(literal 1 binary64)) y x)
73.3%
(+.f64 #s(approx (+ (* x y) x) x) y)
60.3%
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x y))
67.1%
#s(approx (+ (+ (* x y) x) y) (fma.f64 y x x))
67.1%
#s(approx (+ (+ (* x y) x) y) (*.f64 (-.f64 y #s(literal -1 binary64)) x))
27.9%
#s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))
34.4%
#s(approx (+ (+ (* x y) x) y) y)
41.4%
#s(approx (+ (+ (* x y) x) y) x)
Compiler

Compiled 177 to 84 computations (52.5% saved)

regimes14.0ms (0.3%)

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

3 calls:

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

Compiled 9 to 9 computations (0% saved)

regimes11.0ms (0.3%)

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

3 calls:

5.0ms
(+.f64 (+.f64 (*.f64 x y) x) y)
3.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
98.7%2(+.f64 (+.f64 (*.f64 x y) x) y)
99.5%3x
99.4%3y
Compiler

Compiled 9 to 9 computations (0% saved)

regimes3.0ms (0.1%)

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

1 calls:

2.0ms
(+.f64 (+.f64 (*.f64 x y) x) y)
Results
AccuracySegmentsBranch
98.7%2(+.f64 (+.f64 (*.f64 x y) x) y)
Compiler

Compiled 7 to 5 computations (28.6% saved)

regimes7.0ms (0.2%)

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

3 calls:

2.0ms
y
2.0ms
x
2.0ms
(+.f64 (+.f64 (*.f64 x y) x) y)
Results
AccuracySegmentsBranch
83.5%3y
98.7%3x
92.5%3(+.f64 (+.f64 (*.f64 x y) x) y)
Compiler

Compiled 9 to 9 computations (0% saved)

regimes4.0ms (0.1%)

Memory
9.5MiB live, 9.5MiB 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)
(+.f64 #s(approx (+ (* x y) x) x) y)
#s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))
Outputs
#s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))
(+.f64 #s(approx (+ (* x y) x) x) y)
#s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))
Calls

2 calls:

2.0ms
x
2.0ms
(+.f64 (+.f64 (*.f64 x y) x) y)
Results
AccuracySegmentsBranch
86.1%3(+.f64 (+.f64 (*.f64 x y) x) y)
83.3%3x
Compiler

Compiled 8 to 7 computations (12.5% saved)

regimes8.0ms (0.2%)

Memory
-31.2MiB live, 14.6MiB allocated; 5ms collecting garbage
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) x) y) x)
#s(approx (+ (+ (* x y) x) y) y)
(+.f64 #s(approx (+ (* x y) x) x) y)
Outputs
(+.f64 #s(approx (+ (* x y) x) x) y)
Calls

3 calls:

4.0ms
y
2.0ms
x
1.0ms
(+.f64 (+.f64 (*.f64 x y) x) y)
Results
AccuracySegmentsBranch
73.3%1x
73.3%1y
73.3%1(+.f64 (+.f64 (*.f64 x y) x) y)
Compiler

Compiled 9 to 9 computations (0% saved)

regimes4.0ms (0.1%)

Memory
14.0MiB live, 14.0MiB 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 (*.f64 x y) x) y)
1.0ms
x
Results
AccuracySegmentsBranch
63.1%2x
64.2%2y
72.7%2(+.f64 (+.f64 (*.f64 x y) x) y)
Compiler

Compiled 9 to 9 computations (0% saved)

regimes3.0ms (0.1%)

Memory
11.5MiB live, 11.5MiB 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 (*.f64 x y) x) y)
1.0ms
x
1.0ms
y
Results
AccuracySegmentsBranch
41.4%1x
41.4%1y
41.4%1(+.f64 (+.f64 (*.f64 x y) x) y)
Compiler

Compiled 9 to 9 computations (0% saved)

bsearch0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-2.529668460726159e-251
7.82550598996691e-268
Compiler

Compiled 10 to 10 computations (0% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-2.529668460726159e-251
7.82550598996691e-268
Compiler

Compiled 10 to 10 computations (0% saved)

bsearch30.0ms (0.7%)

Memory
-35.6MiB live, 61.9MiB allocated; 11ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
0.0787458060881219
228768316702213.47
13.0ms
-172.3380623548953
-5.144850093457254e-7
Samples
14.0ms304×0valid
Compiler

Compiled 439 to 325 computations (26% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult: 5.0ms (63.8% of total)
ival-add: 3.0ms (38.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.5MiB live, 1.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.1486755255919788e+238
2.1458326544216945e+241
0.0ms
-2.5159157922730974e+302
-1.1788914048222342e+301
Compiler

Compiled 10 to 10 computations (0% saved)

bsearch0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-2.529668460726159e-251
7.82550598996691e-268
Compiler

Compiled 10 to 10 computations (0% saved)

simplify35.0ms (0.8%)

Memory
12.8MiB live, 60.1MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043210
155210
276210
3110210
4200210
5610210
64916210
Stop Event
node limit
Calls
Call 1
Inputs
(fma.f64 (+.f64 x #s(literal 1 binary64)) y x)
(if (<=.f64 (+.f64 (+.f64 (*.f64 x y) x) y) #s(literal -5159126280621731/257956314031086546070478410603767874276780920916074961976543314954430616482775810290242800726395111276696481930301332362735521269288420672485614735577607215287298185546389201254263436365442598170421988724712494337962904439820098505292185985726092029535907510203973632 binary64)) #s(approx (+ (+ (* x y) x) y) (*.f64 (-.f64 y #s(literal -1 binary64)) x)) #s(approx (+ (+ (* x y) x) y) (fma.f64 y x y)))
(if (<=.f64 (+.f64 (+.f64 (*.f64 x y) x) y) #s(literal -5159126280621731/257956314031086546070478410603767874276780920916074961976543314954430616482775810290242800726395111276696481930301332362735521269288420672485614735577607215287298185546389201254263436365442598170421988724712494337962904439820098505292185985726092029535907510203973632 binary64)) #s(approx (+ (+ (* x y) x) y) (fma.f64 y x x)) #s(approx (+ (+ (* x y) x) y) (fma.f64 y x y)))
(if (<=.f64 x #s(literal -1 binary64)) #s(approx (+ (+ (* x y) x) y) (fma.f64 y x x)) (if (<=.f64 x #s(literal 860000000000 binary64)) (+.f64 #s(approx (+ (* x y) x) x) y) #s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))))
(if (<=.f64 (+.f64 (+.f64 (*.f64 x y) x) y) #s(literal -200000000000000015259406158169789850694693710301313623403203468412422760576251588968284377929383568153279495154277097522744420775689599876583631222701039661500335299712977963253072736190829214628470302116746917973781650311318127235431726410565244781018568366879717234206167471347699798409140996315021312 binary64)) #s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x)) (if (<=.f64 (+.f64 (+.f64 (*.f64 x y) x) y) #s(literal 40000000000000001945903893149060041619392612399884220638941241589674604509430938803167612022280515642126955783555328569714338388662038834492785865819864594858697283926172343242228052880157501208293402494583566494524476715636026609219141632 binary64)) (+.f64 #s(approx (+ (* x y) x) x) y) #s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))))
(+.f64 #s(approx (+ (* x y) x) x) y)
(if (<=.f64 (+.f64 (+.f64 (*.f64 x y) x) y) #s(literal -5159126280621731/257956314031086546070478410603767874276780920916074961976543314954430616482775810290242800726395111276696481930301332362735521269288420672485614735577607215287298185546389201254263436365442598170421988724712494337962904439820098505292185985726092029535907510203973632 binary64)) #s(approx (+ (+ (* x y) x) y) x) #s(approx (+ (+ (* x y) x) y) y))
#s(approx (+ (+ (* x y) x) y) x)
Outputs
(fma.f64 (+.f64 x #s(literal 1 binary64)) y x)
(if (<=.f64 (+.f64 (+.f64 (*.f64 x y) x) y) #s(literal -5159126280621731/257956314031086546070478410603767874276780920916074961976543314954430616482775810290242800726395111276696481930301332362735521269288420672485614735577607215287298185546389201254263436365442598170421988724712494337962904439820098505292185985726092029535907510203973632 binary64)) #s(approx (+ (+ (* x y) x) y) (*.f64 (-.f64 y #s(literal -1 binary64)) x)) #s(approx (+ (+ (* x y) x) y) (fma.f64 y x y)))
(if (<=.f64 (+.f64 (+.f64 (*.f64 x y) x) y) #s(literal -5159126280621731/257956314031086546070478410603767874276780920916074961976543314954430616482775810290242800726395111276696481930301332362735521269288420672485614735577607215287298185546389201254263436365442598170421988724712494337962904439820098505292185985726092029535907510203973632 binary64)) #s(approx (+ (+ (* x y) x) y) (fma.f64 y x x)) #s(approx (+ (+ (* x y) x) y) (fma.f64 y x y)))
(if (<=.f64 x #s(literal -1 binary64)) #s(approx (+ (+ (* x y) x) y) (fma.f64 y x x)) (if (<=.f64 x #s(literal 860000000000 binary64)) (+.f64 #s(approx (+ (* x y) x) x) y) #s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))))
(if (<=.f64 (+.f64 (+.f64 (*.f64 x y) x) y) #s(literal -200000000000000015259406158169789850694693710301313623403203468412422760576251588968284377929383568153279495154277097522744420775689599876583631222701039661500335299712977963253072736190829214628470302116746917973781650311318127235431726410565244781018568366879717234206167471347699798409140996315021312 binary64)) #s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x)) (if (<=.f64 (+.f64 (+.f64 (*.f64 x y) x) y) #s(literal 40000000000000001945903893149060041619392612399884220638941241589674604509430938803167612022280515642126955783555328569714338388662038834492785865819864594858697283926172343242228052880157501208293402494583566494524476715636026609219141632 binary64)) (+.f64 #s(approx (+ (* x y) x) x) y) #s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x))))
(if (or (<=.f64 (+.f64 (+.f64 (*.f64 x y) x) y) #s(literal -200000000000000015259406158169789850694693710301313623403203468412422760576251588968284377929383568153279495154277097522744420775689599876583631222701039661500335299712977963253072736190829214628470302116746917973781650311318127235431726410565244781018568366879717234206167471347699798409140996315021312 binary64)) (not (<=.f64 (+.f64 (+.f64 (*.f64 x y) x) y) #s(literal 40000000000000001945903893149060041619392612399884220638941241589674604509430938803167612022280515642126955783555328569714338388662038834492785865819864594858697283926172343242228052880157501208293402494583566494524476715636026609219141632 binary64)))) #s(approx (+ (+ (* x y) x) y) (*.f64 #s(approx (- y -1) y) x)) (+.f64 #s(approx (+ (* x y) x) x) y))
(+.f64 #s(approx (+ (* x y) x) x) y)
(if (<=.f64 (+.f64 (+.f64 (*.f64 x y) x) y) #s(literal -5159126280621731/257956314031086546070478410603767874276780920916074961976543314954430616482775810290242800726395111276696481930301332362735521269288420672485614735577607215287298185546389201254263436365442598170421988724712494337962904439820098505292185985726092029535907510203973632 binary64)) #s(approx (+ (+ (* x y) x) y) x) #s(approx (+ (+ (* x y) x) y) y))
#s(approx (+ (+ (* x y) x) y) x)

derivations458.0ms (10.8%)

Memory
-3.9MiB live, 321.2MiB allocated; 114ms collecting garbage
Stop Event
done
Compiler

Compiled 210 to 45 computations (78.6% saved)

preprocess98.0ms (2.3%)

Memory
11.4MiB live, 57.3MiB allocated; 13ms collecting garbage
Remove

(sort x y)

Compiler

Compiled 446 to 110 computations (75.3% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...