Linear.Projection:perspective from linear-1.19.1.3, B

Time bar (total: 3.8s)

start0.0ms (0%)

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

analyze50.0ms (1.3%)

Memory
-14.6MiB live, 30.2MiB allocated; 11ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
75%74.9%25%0.1%0%0%0%5
75%74.9%25%0.1%0%0%0%6
87.5%87.4%12.5%0.1%0%0%0%7
87.5%87.4%12.5%0.1%0%0%0%8
93.8%93.7%6.2%0.1%0%0%0%9
93.8%93.7%6.2%0.1%0%0%0%10
96.9%96.8%3.1%0.1%0%0%0%11
96.9%96.8%3.1%0.1%0%0%0%12
Compiler

Compiled 11 to 9 computations (18.2% saved)

sample1.2s (31.5%)

Memory
23.2MiB live, 1 600.1MiB allocated; 256ms collecting garbage
Samples
838.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 473.0ms
ival-mult: 244.0ms (51.6% of total)
ival-div: 116.0ms (24.5% of total)
ival-sub: 98.0ms (20.7% of total)
ival-true: 5.0ms (1.1% of total)
exact: 5.0ms (1.1% of total)
ival-assert: 4.0ms (0.8% of total)
adjust: 2.0ms (0.4% of total)
Bogosity

explain132.0ms (3.5%)

Memory
7.8MiB live, 198.9MiB allocated; 32ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
690-6(2.9322141147642127e-169 -1.5660814501619725e-152)(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
00-0-(*.f64 x #s(literal 2 binary64))
00-0-#s(literal 2 binary64)
00-0-y
00-0-(-.f64 x y)
00-0-(*.f64 (*.f64 x #s(literal 2 binary64)) y)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))o/n330
(*.f64 (*.f64 x #s(literal 2 binary64)) y)overflow33
/.f64(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))u/n300
(*.f64 (*.f64 x #s(literal 2 binary64)) y)underflow30
Confusion
Predicted +Predicted -
+636
-0187
Precision
1.0
Recall
0.9130434782608695
Confusion?
Predicted +Predicted MaybePredicted -
+6306
-00187
Precision?
1.0
Recall?
0.9130434782608695
Freqs
test
numberfreq
0193
163
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
76.0ms512×0valid
Compiler

Compiled 59 to 25 computations (57.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 57.0ms
ival-div: 47.0ms (82.5% of total)
ival-mult: 6.0ms (10.5% of total)
ival-sub: 3.0ms (5.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)

preprocess239.0ms (6.3%)

Memory
-18.2MiB live, 177.1MiB allocated; 33ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01953
15049
216849
371149
4170745
5490845
079
0119
1199
2449
31249
42759
511239
663129
080929
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
Outputs
(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
(*.f64 (/.f64 #s(literal 2 binary64) (-.f64 x y)) (*.f64 y x))
Compiler

Compiled 9 to 7 computations (22.2% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
75.8%
(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify150.0ms (3.9%)

Memory
30.2MiB live, 217.0MiB allocated; 17ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 x y)
cost-diff0
(*.f64 x #s(literal 2 binary64))
cost-diff0
(*.f64 (*.f64 x #s(literal 2 binary64)) y)
cost-diff0
(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0723
01123
11923
24423
312423
427523
5112323
6631223
0809223
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
(*.f64 (*.f64 x #s(literal 2 binary64)) y)
(*.f64 x #s(literal 2 binary64))
x
#s(literal 2 binary64)
y
(-.f64 x y)
Outputs
(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
(*.f64 (/.f64 #s(literal 2 binary64) (-.f64 x y)) (*.f64 y x))
(*.f64 (*.f64 x #s(literal 2 binary64)) y)
(*.f64 y (*.f64 #s(literal 2 binary64) x))
(*.f64 x #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) x)
x
#s(literal 2 binary64)
y
(-.f64 x y)

localize37.0ms (1%)

Memory
-22.0MiB live, 75.1MiB allocated; 10ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 x y)
accuracy0.0
(*.f64 (*.f64 x #s(literal 2 binary64)) y)
accuracy0.0
(*.f64 x #s(literal 2 binary64))
accuracy15.493658678233876
(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
Samples
32.0ms256×0valid
Compiler

Compiled 25 to 9 computations (64% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-mult: 21.0ms (85.1% of total)
ival-div: 2.0ms (8.1% of total)
ival-sub: 1.0ms (4.1% 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)

series22.0ms (0.6%)

Memory
-6.4MiB live, 31.2MiB allocated; 16ms collecting garbage
Counts
4 → 28
Calls
Call 1
Inputs
(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
(*.f64 (*.f64 x #s(literal 2 binary64)) y)
(*.f64 x #s(literal 2 binary64))
(-.f64 x y)
Outputs
(* -2 x)
(* x (- (* -2 (/ x y)) 2))
(* x (- (* x (- (* -2 (/ x (pow y 2))) (* 2 (/ 1 y)))) 2))
(* x (- (* x (- (* x (- (* -2 (/ x (pow y 3))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y)))) 2))
(* 2 (* x y))
(* 2 x)
(* -1 y)
(- x y)
(* 2 y)
(+ (* 2 y) (* 2 (/ (pow y 2) x)))
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (* 2 (/ (pow y 3) (pow x 2)))))
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (+ (* 2 (/ (pow y 3) (pow x 2))) (* 2 (/ (pow y 4) (pow x 3))))))
x
(* x (+ 1 (* -1 (/ y x))))
(+ (* -1 (/ (+ (* -2 (/ (pow y 3) x)) (* -2 (pow y 2))) x)) (* 2 y))
(+ (* -1 (/ (+ (* -2 (pow y 2)) (* -1 (/ (+ (* 2 (/ (pow y 4) x)) (* 2 (pow y 3))) x))) x)) (* 2 y))
(* -1 (* x (- (/ y x) 1)))
(* y (+ 2 (* 2 (/ y x))))
(* y (+ 2 (* y (+ (* 2 (/ y (pow x 2))) (* 2 (/ 1 x))))))
(* y (+ 2 (* y (+ (* y (+ (* 2 (/ y (pow x 3))) (* 2 (/ 1 (pow x 2))))) (* 2 (/ 1 x))))))
(+ x (* -1 y))
(+ (* -2 x) (* -2 (/ (pow x 2) y)))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (* -2 (/ (pow x 3) (pow y 2)))))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (+ (* -2 (/ (pow x 3) (pow y 2))) (* -2 (/ (pow x 4) (pow y 3))))))
(* y (- (/ x y) 1))
(+ (* -2 x) (* -1 (/ (+ (* 2 (/ (pow x 3) y)) (* 2 (pow x 2))) y)))
(+ (* -2 x) (* -1 (/ (+ (* -1 (/ (+ (* -2 (/ (pow x 4) y)) (* -2 (pow x 3))) y)) (* 2 (pow x 2))) y)))
(* -1 (* y (+ 1 (* -1 (/ x y)))))
Calls

6 calls:

TimeVariablePointExpression
15.0ms
y
@-inf
((/ (* (* x 2) y) (- x y)) (* (* x 2) y) (* x 2) (- x y))
2.0ms
x
@inf
((/ (* (* x 2) y) (- x y)) (* (* x 2) y) (* x 2) (- x y))
2.0ms
x
@-inf
((/ (* (* x 2) y) (- x y)) (* (* x 2) y) (* x 2) (- x y))
1.0ms
x
@0
((/ (* (* x 2) y) (- x y)) (* (* x 2) y) (* x 2) (- x y))
1.0ms
y
@inf
((/ (* (* x 2) y) (- x y)) (* (* x 2) y) (* x 2) (- x y))

simplify257.0ms (6.8%)

Memory
10.4MiB live, 245.2MiB allocated; 141ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0136359
1445339
21943315
08338285
Stop Event
iter limit
node limit
Counts
28 → 27
Calls
Call 1
Inputs
(* -2 x)
(* x (- (* -2 (/ x y)) 2))
(* x (- (* x (- (* -2 (/ x (pow y 2))) (* 2 (/ 1 y)))) 2))
(* x (- (* x (- (* x (- (* -2 (/ x (pow y 3))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y)))) 2))
(* 2 (* x y))
(* 2 x)
(* -1 y)
(- x y)
(* 2 y)
(+ (* 2 y) (* 2 (/ (pow y 2) x)))
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (* 2 (/ (pow y 3) (pow x 2)))))
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (+ (* 2 (/ (pow y 3) (pow x 2))) (* 2 (/ (pow y 4) (pow x 3))))))
x
(* x (+ 1 (* -1 (/ y x))))
(+ (* -1 (/ (+ (* -2 (/ (pow y 3) x)) (* -2 (pow y 2))) x)) (* 2 y))
(+ (* -1 (/ (+ (* -2 (pow y 2)) (* -1 (/ (+ (* 2 (/ (pow y 4) x)) (* 2 (pow y 3))) x))) x)) (* 2 y))
(* -1 (* x (- (/ y x) 1)))
(* y (+ 2 (* 2 (/ y x))))
(* y (+ 2 (* y (+ (* 2 (/ y (pow x 2))) (* 2 (/ 1 x))))))
(* y (+ 2 (* y (+ (* y (+ (* 2 (/ y (pow x 3))) (* 2 (/ 1 (pow x 2))))) (* 2 (/ 1 x))))))
(+ x (* -1 y))
(+ (* -2 x) (* -2 (/ (pow x 2) y)))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (* -2 (/ (pow x 3) (pow y 2)))))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (+ (* -2 (/ (pow x 3) (pow y 2))) (* -2 (/ (pow x 4) (pow y 3))))))
(* y (- (/ x y) 1))
(+ (* -2 x) (* -1 (/ (+ (* 2 (/ (pow x 3) y)) (* 2 (pow x 2))) y)))
(+ (* -2 x) (* -1 (/ (+ (* -1 (/ (+ (* -2 (/ (pow x 4) y)) (* -2 (pow x 3))) y)) (* 2 (pow x 2))) y)))
(* -1 (* y (+ 1 (* -1 (/ x y)))))
Outputs
(* -2 x)
(*.f64 #s(literal -2 binary64) x)
(* x (- (* -2 (/ x y)) 2))
(*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x)
(* x (- (* x (- (* -2 (/ x (pow y 2))) (* 2 (/ 1 y)))) 2))
(*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) y) x #s(literal -2 binary64)) x)
(* x (- (* x (- (* x (- (* -2 (/ x (pow y 3))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y)))) 2))
(*.f64 (fma.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) (*.f64 y y)) x (/.f64 #s(literal -2 binary64) y)) x #s(literal -2 binary64)) x)
(* 2 (* x y))
(*.f64 (*.f64 y x) #s(literal 2 binary64))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* -1 y)
(neg.f64 y)
(- x y)
(-.f64 x y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(+ (* 2 y) (* 2 (/ (pow y 2) x)))
(*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64))
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (* 2 (/ (pow y 3) (pow x 2)))))
(*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64)) y)
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (+ (* 2 (/ (pow y 3) (pow x 2))) (* 2 (/ (pow y 4) (pow x 3))))))
(*.f64 #s(literal 2 binary64) (+.f64 (fma.f64 (/.f64 y x) (fma.f64 y (/.f64 y x) y) y) (/.f64 (pow.f64 y #s(literal 4 binary64)) (pow.f64 x #s(literal 3 binary64)))))
x
(* x (+ 1 (* -1 (/ y x))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 y x)) x)
(+ (* -1 (/ (+ (* -2 (/ (pow y 3) x)) (* -2 (pow y 2))) x)) (* 2 y))
(*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64)) y)
(+ (* -1 (/ (+ (* -2 (pow y 2)) (* -1 (/ (+ (* 2 (/ (pow y 4) x)) (* 2 (pow y 3))) x))) x)) (* 2 y))
(*.f64 #s(literal 2 binary64) (+.f64 (fma.f64 (/.f64 y x) (fma.f64 y (/.f64 y x) y) y) (/.f64 (pow.f64 y #s(literal 4 binary64)) (pow.f64 x #s(literal 3 binary64)))))
(* -1 (* x (- (/ y x) 1)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 y x)) x)
(* y (+ 2 (* 2 (/ y x))))
(*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64))
(* y (+ 2 (* y (+ (* 2 (/ y (pow x 2))) (* 2 (/ 1 x))))))
(*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64)) y)
(* y (+ 2 (* y (+ (* y (+ (* 2 (/ y (pow x 3))) (* 2 (/ 1 (pow x 2))))) (* 2 (/ 1 x))))))
(*.f64 (fma.f64 (fma.f64 (/.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) x) y (/.f64 #s(literal 2 binary64) x)) y #s(literal 2 binary64)) y)
(+ x (* -1 y))
(-.f64 x y)
(+ (* -2 x) (* -2 (/ (pow x 2) y)))
(*.f64 (fma.f64 x (/.f64 x y) x) #s(literal -2 binary64))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (* -2 (/ (pow x 3) (pow y 2)))))
(*.f64 #s(literal -2 binary64) (fma.f64 (/.f64 x y) (fma.f64 x (/.f64 x y) x) x))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (+ (* -2 (/ (pow x 3) (pow y 2))) (* -2 (/ (pow x 4) (pow y 3))))))
(*.f64 #s(literal -2 binary64) (+.f64 (fma.f64 (/.f64 x y) (fma.f64 x (/.f64 x y) x) x) (/.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 y #s(literal 3 binary64)))))
(* y (- (/ x y) 1))
(*.f64 (-.f64 (/.f64 x y) #s(literal 1 binary64)) y)
(+ (* -2 x) (* -1 (/ (+ (* 2 (/ (pow x 3) y)) (* 2 (pow x 2))) y)))
(*.f64 #s(literal -2 binary64) (fma.f64 (/.f64 x y) (fma.f64 x (/.f64 x y) x) x))
(+ (* -2 x) (* -1 (/ (+ (* -1 (/ (+ (* -2 (/ (pow x 4) y)) (* -2 (pow x 3))) y)) (* 2 (pow x 2))) y)))
(*.f64 #s(literal -2 binary64) (+.f64 (fma.f64 (/.f64 x y) (fma.f64 x (/.f64 x y) x) x) (/.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 y #s(literal 3 binary64)))))
(* -1 (* y (+ 1 (* -1 (/ x y)))))
(*.f64 (-.f64 (/.f64 x y) #s(literal 1 binary64)) y)

rewrite33.0ms (0.9%)

Memory
40.2MiB live, 40.2MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0720
01120
13520
019220
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
4 → 33
Calls
Call 1
Inputs
(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
(*.f64 (*.f64 x #s(literal 2 binary64)) y)
(*.f64 x #s(literal 2 binary64))
(-.f64 x y)
Outputs
(*.f64 (/.f64 (*.f64 y (*.f64 #s(literal 2 binary64) x)) (*.f64 (+.f64 y x) (-.f64 x y))) (+.f64 y x))
(*.f64 (/.f64 (*.f64 y (*.f64 #s(literal 2 binary64) x)) (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (+.f64 y x) (*.f64 x x)))
(*.f64 (/.f64 y (-.f64 x y)) (*.f64 #s(literal 2 binary64) x))
(*.f64 y (/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y)))
(*.f64 (*.f64 #s(literal 2 binary64) x) (/.f64 y (-.f64 x y)))
(*.f64 #s(literal 2 binary64) (*.f64 x (/.f64 y (-.f64 x y))))
(*.f64 x (/.f64 (*.f64 y #s(literal 2 binary64)) (-.f64 x y)))
(*.f64 x (*.f64 #s(literal 2 binary64) (/.f64 y (-.f64 x y))))
(/.f64 (neg.f64 (*.f64 (neg.f64 y) (*.f64 #s(literal 2 binary64) x))) (neg.f64 (neg.f64 (-.f64 x y))))
(/.f64 (*.f64 (neg.f64 y) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (-.f64 x y)))
(/.f64 (*.f64 y (*.f64 #s(literal 2 binary64) x)) (-.f64 x y))
(neg.f64 (/.f64 (*.f64 (neg.f64 y) (*.f64 #s(literal 2 binary64) x)) (-.f64 x y)))
(neg.f64 (/.f64 (*.f64 y (*.f64 #s(literal 2 binary64) x)) (neg.f64 (-.f64 x y))))
(*.f64 (*.f64 y #s(literal 2 binary64)) x)
(*.f64 (*.f64 y x) #s(literal 2 binary64))
(*.f64 y (*.f64 #s(literal 2 binary64) x))
(*.f64 (*.f64 #s(literal 2 binary64) x) y)
(*.f64 #s(literal 2 binary64) (*.f64 y x))
(*.f64 x (*.f64 y #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
(fma.f64 #s(literal 1 binary64) x (*.f64 #s(literal 1 binary64) x))
(fma.f64 x #s(literal 1 binary64) (*.f64 x #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 #s(literal 1 binary64) x))
(+.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)))
(+.f64 x x)
(/.f64 (neg.f64 (*.f64 (+.f64 y x) (-.f64 x y))) (neg.f64 (+.f64 y x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (+.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (+.f64 y x))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (+.f64 y x) (*.f64 x x)))
(-.f64 (/.f64 (*.f64 x x) (+.f64 y x)) (/.f64 (*.f64 y y) (+.f64 y x)))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 y (+.f64 y x) (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (+.f64 y x) (*.f64 x x))))
(-.f64 x y)

eval25.0ms (0.7%)

Memory
-48.0MiB live, 11.2MiB allocated; 12ms collecting garbage
Compiler

Compiled 780 to 169 computations (78.3% saved)

prune4.0ms (0.1%)

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

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New44751
Fresh000
Picked101
Done000
Total45752
Accuracy
100.0%
Counts
52 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
75.8%
(/.f64 (*.f64 (+.f64 x x) y) (-.f64 x y))
86.4%
(*.f64 (/.f64 y (-.f64 x y)) (*.f64 #s(literal 2 binary64) x))
91.0%
(*.f64 y (/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y)))
47.3%
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x))
53.4%
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64)))
54.1%
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal 2 binary64) y))
47.9%
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal -2 binary64) x))
Compiler

Compiled 178 to 128 computations (28.1% saved)

simplify154.0ms (4.1%)

Memory
17.1MiB live, 249.9MiB allocated; 38ms collecting garbage
Localize:

Found 16 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
024137
038137
166137
2140137
3444137
41463137
56273137
08061137
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 y (/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y)))
y
(/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y))
(*.f64 #s(literal 2 binary64) x)
#s(literal 2 binary64)
x
(-.f64 x y)
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal -2 binary64) x))
(*.f64 #s(literal -2 binary64) x)
#s(literal -2 binary64)
x
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal 2 binary64) y))
(*.f64 #s(literal 2 binary64) y)
#s(literal 2 binary64)
y
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64)))
(*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64))
(fma.f64 y (/.f64 y x) y)
y
(/.f64 y x)
x
#s(literal 2 binary64)
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x))
(*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x)
(fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64))
(/.f64 x y)
x
y
#s(literal -2 binary64)
Outputs
(*.f64 y (/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y)))
(*.f64 (/.f64 #s(literal 2 binary64) (-.f64 x y)) (*.f64 x y))
y
(/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y))
(*.f64 (/.f64 #s(literal 2 binary64) (-.f64 x y)) x)
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
x
(-.f64 x y)
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal -2 binary64) x))
(*.f64 #s(literal -2 binary64) x)
#s(literal -2 binary64)
x
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal 2 binary64) y))
(*.f64 #s(literal 2 binary64) y)
#s(literal 2 binary64)
y
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64)))
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 (/.f64 y x) y y) #s(literal 2 binary64)))
(*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64))
(*.f64 (fma.f64 (/.f64 y x) y y) #s(literal 2 binary64))
(fma.f64 y (/.f64 y x) y)
(fma.f64 (/.f64 y x) y y)
y
(/.f64 y x)
x
#s(literal 2 binary64)
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x))
(*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x)
(fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64))
(/.f64 x y)
x
y
#s(literal -2 binary64)

localize55.0ms (1.5%)

Memory
16.0MiB live, 161.8MiB allocated; 7ms collecting garbage
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 x y)
accuracy0.00390625
(fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64))
accuracy0.05078125
(*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x)
accuracy33.729263003855195
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x))
accuracy0.0
(/.f64 y x)
accuracy0.0
(*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64))
accuracy0.07421875
(fma.f64 y (/.f64 y x) y)
accuracy29.854687205343904
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64)))
accuracy0.0
(*.f64 #s(literal 2 binary64) y)
accuracy29.37152020724361
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal 2 binary64) y))
accuracy0.0
(*.f64 #s(literal -2 binary64) x)
accuracy33.32643448099824
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal -2 binary64) x))
accuracy0.0
(-.f64 x y)
accuracy0.0
(*.f64 #s(literal 2 binary64) x)
accuracy0.00390625
(/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y))
accuracy5.743680247871988
(*.f64 y (/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y)))
Samples
42.0ms256×0valid
Compiler

Compiled 117 to 23 computations (80.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 29.0ms
ival-mult: 16.0ms (54.8% of total)
ival-div: 10.0ms (34.3% of total)
ival-add: 2.0ms (6.9% of total)
ival-sub: 1.0ms (3.4% 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)

series18.0ms (0.5%)

Memory
-29.1MiB live, 62.3MiB allocated; 7ms collecting garbage
Counts
16 → 64
Calls
Call 1
Inputs
(*.f64 y (/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y)))
(/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y))
(*.f64 #s(literal 2 binary64) x)
(-.f64 x y)
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal -2 binary64) x))
(*.f64 #s(literal -2 binary64) x)
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal 2 binary64) y))
(*.f64 #s(literal 2 binary64) y)
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64)))
(*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64))
(fma.f64 y (/.f64 y x) y)
(/.f64 y x)
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x))
(*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x)
(fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64))
(/.f64 x y)
Outputs
(* -2 x)
(* x (- (* -2 (/ x y)) 2))
(* x (- (* x (- (* -2 (/ x (pow y 2))) (* 2 (/ 1 y)))) 2))
(* x (- (* x (- (* x (- (* -2 (/ x (pow y 3))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y)))) 2))
(* -2 (/ x y))
(* x (- (* -2 (/ x (pow y 2))) (* 2 (/ 1 y))))
(* x (- (* x (- (* -2 (/ x (pow y 3))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y))))
(* x (- (* x (- (* x (- (* -2 (/ x (pow y 4))) (* 2 (/ 1 (pow y 3))))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y))))
(* 2 x)
(* -1 y)
(- x y)
(* 2 (/ (pow y 2) x))
(/ (+ (* 2 (* x y)) (* 2 (pow y 2))) x)
(/ (pow y 2) x)
(/ (+ (* x y) (pow y 2)) x)
(/ y x)
-2
(- (* -2 (/ x y)) 2)
(/ x y)
(* 2 y)
(+ (* 2 y) (* 2 (/ (pow y 2) x)))
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (* 2 (/ (pow y 3) (pow x 2)))))
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (+ (* 2 (/ (pow y 3) (pow x 2))) (* 2 (/ (pow y 4) (pow x 3))))))
2
(+ 2 (* 2 (/ y x)))
(- (+ 2 (* 2 (/ (pow y 2) (pow x 2)))) (* -2 (/ y x)))
(- (+ 2 (* 2 (/ (pow y 3) (pow x 3)))) (+ (* -2 (/ y x)) (* -2 (/ (pow y 2) (pow x 2)))))
x
(* x (+ 1 (* -1 (/ y x))))
y
(+ y (/ (pow y 2) x))
(* -2 (/ (pow x 2) y))
(* -1 (* (pow x 2) (+ (* 2 (/ 1 x)) (* 2 (/ 1 y)))))
(* -1 (* x (+ (* 2 (/ 1 y)) (* 2 (/ 1 x)))))
(+ (* -1 (/ (+ (* -2 (/ (pow y 3) x)) (* -2 (pow y 2))) x)) (* 2 y))
(+ (* -1 (/ (+ (* -2 (pow y 2)) (* -1 (/ (+ (* 2 (/ (pow y 4) x)) (* 2 (pow y 3))) x))) x)) (* 2 y))
(+ 2 (* -1 (/ (- (* -2 (/ (pow y 2) x)) (* 2 y)) x)))
(+ 2 (* -1 (/ (- (* -1 (/ (- (* 2 (/ (pow y 3) x)) (* -2 (pow y 2))) x)) (* 2 y)) x)))
(* -1 (* x (- (/ y x) 1)))
(* -1 (* x (+ (* 2 (/ 1 x)) (* 2 (/ 1 y)))))
(* y (+ 2 (* 2 (/ y x))))
(* y (+ 2 (* y (+ (* 2 (/ y (pow x 2))) (* 2 (/ 1 x))))))
(* y (+ 2 (* y (+ (* y (+ (* 2 (/ y (pow x 3))) (* 2 (/ 1 (pow x 2))))) (* 2 (/ 1 x))))))
(+ 2 (* y (+ (* 2 (/ y (pow x 2))) (* 2 (/ 1 x)))))
(+ 2 (* y (+ (* y (+ (* 2 (/ y (pow x 3))) (* 2 (/ 1 (pow x 2))))) (* 2 (/ 1 x)))))
(+ x (* -1 y))
(* y (+ 1 (/ y x)))
(/ (+ (* -2 (* x y)) (* -2 (pow x 2))) y)
(/ (+ (* -2 x) (* -2 y)) y)
(+ (* -2 x) (* -2 (/ (pow x 2) y)))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (* -2 (/ (pow x 3) (pow y 2)))))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (+ (* -2 (/ (pow x 3) (pow y 2))) (* -2 (/ (pow x 4) (pow y 3))))))
(/ (+ (* -2 x) (* -2 (/ (pow x 2) y))) y)
(/ (+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (* -2 (/ (pow x 3) (pow y 2))))) y)
(/ (+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (+ (* -2 (/ (pow x 3) (pow y 2))) (* -2 (/ (pow x 4) (pow y 3)))))) y)
(* y (- (/ x y) 1))
(* (pow y 2) (+ (* 2 (/ 1 x)) (* 2 (/ 1 y))))
(* (pow y 2) (+ (/ 1 x) (/ 1 y)))
(+ (* -2 x) (* -1 (/ (+ (* 2 (/ (pow x 3) y)) (* 2 (pow x 2))) y)))
(+ (* -2 x) (* -1 (/ (+ (* -1 (/ (+ (* -2 (/ (pow x 4) y)) (* -2 (pow x 3))) y)) (* 2 (pow x 2))) y)))
(* -1 (/ (+ (* 2 x) (* 2 (/ (pow x 2) y))) y))
(* -1 (/ (+ (* -1 (/ (+ (* -2 (/ (pow x 3) y)) (* -2 (pow x 2))) y)) (* 2 x)) y))
(* -1 (/ (+ (* -1 (/ (+ (* -2 (pow x 2)) (* -1 (/ (+ (* 2 (/ (pow x 4) y)) (* 2 (pow x 3))) y))) y)) (* 2 x)) y))
(* -1 (* y (+ 1 (* -1 (/ x y)))))
Calls

6 calls:

TimeVariablePointExpression
5.0ms
x
@0
((* y (/ (* 2 x) (- x y))) (/ (* 2 x) (- x y)) (* 2 x) (- x y) (/ (* (* x 2) y) (- x y)) (* -2 x) (/ (* (* x 2) y) (- x y)) (* 2 y) (/ (* (* x 2) y) (- x y)) (* (+ (* y (/ y x)) y) 2) (+ (* y (/ y x)) y) (/ y x) (/ (* (* x 2) y) (- x y)) (* (+ (* (/ x y) -2) -2) x) (+ (* (/ x y) -2) -2) (/ x y))
4.0ms
y
@inf
((* y (/ (* 2 x) (- x y))) (/ (* 2 x) (- x y)) (* 2 x) (- x y) (/ (* (* x 2) y) (- x y)) (* -2 x) (/ (* (* x 2) y) (- x y)) (* 2 y) (/ (* (* x 2) y) (- x y)) (* (+ (* y (/ y x)) y) 2) (+ (* y (/ y x)) y) (/ y x) (/ (* (* x 2) y) (- x y)) (* (+ (* (/ x y) -2) -2) x) (+ (* (/ x y) -2) -2) (/ x y))
2.0ms
x
@-inf
((* y (/ (* 2 x) (- x y))) (/ (* 2 x) (- x y)) (* 2 x) (- x y) (/ (* (* x 2) y) (- x y)) (* -2 x) (/ (* (* x 2) y) (- x y)) (* 2 y) (/ (* (* x 2) y) (- x y)) (* (+ (* y (/ y x)) y) 2) (+ (* y (/ y x)) y) (/ y x) (/ (* (* x 2) y) (- x y)) (* (+ (* (/ x y) -2) -2) x) (+ (* (/ x y) -2) -2) (/ x y))
2.0ms
x
@inf
((* y (/ (* 2 x) (- x y))) (/ (* 2 x) (- x y)) (* 2 x) (- x y) (/ (* (* x 2) y) (- x y)) (* -2 x) (/ (* (* x 2) y) (- x y)) (* 2 y) (/ (* (* x 2) y) (- x y)) (* (+ (* y (/ y x)) y) 2) (+ (* y (/ y x)) y) (/ y x) (/ (* (* x 2) y) (- x y)) (* (+ (* (/ x y) -2) -2) x) (+ (* (/ x y) -2) -2) (/ x y))
2.0ms
y
@-inf
((* y (/ (* 2 x) (- x y))) (/ (* 2 x) (- x y)) (* 2 x) (- x y) (/ (* (* x 2) y) (- x y)) (* -2 x) (/ (* (* x 2) y) (- x y)) (* 2 y) (/ (* (* x 2) y) (- x y)) (* (+ (* y (/ y x)) y) 2) (+ (* y (/ y x)) y) (/ y x) (/ (* (* x 2) y) (- x y)) (* (+ (* (/ x y) -2) -2) x) (+ (* (/ x y) -2) -2) (/ x y))

simplify321.0ms (8.5%)

Memory
-10.5MiB live, 332.2MiB allocated; 56ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0221812
1752760
23231713
08444655
Stop Event
iter limit
node limit
Counts
64 → 62
Calls
Call 1
Inputs
(* -2 x)
(* x (- (* -2 (/ x y)) 2))
(* x (- (* x (- (* -2 (/ x (pow y 2))) (* 2 (/ 1 y)))) 2))
(* x (- (* x (- (* x (- (* -2 (/ x (pow y 3))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y)))) 2))
(* -2 (/ x y))
(* x (- (* -2 (/ x (pow y 2))) (* 2 (/ 1 y))))
(* x (- (* x (- (* -2 (/ x (pow y 3))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y))))
(* x (- (* x (- (* x (- (* -2 (/ x (pow y 4))) (* 2 (/ 1 (pow y 3))))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y))))
(* 2 x)
(* -1 y)
(- x y)
(* 2 (/ (pow y 2) x))
(/ (+ (* 2 (* x y)) (* 2 (pow y 2))) x)
(/ (pow y 2) x)
(/ (+ (* x y) (pow y 2)) x)
(/ y x)
-2
(- (* -2 (/ x y)) 2)
(/ x y)
(* 2 y)
(+ (* 2 y) (* 2 (/ (pow y 2) x)))
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (* 2 (/ (pow y 3) (pow x 2)))))
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (+ (* 2 (/ (pow y 3) (pow x 2))) (* 2 (/ (pow y 4) (pow x 3))))))
2
(+ 2 (* 2 (/ y x)))
(- (+ 2 (* 2 (/ (pow y 2) (pow x 2)))) (* -2 (/ y x)))
(- (+ 2 (* 2 (/ (pow y 3) (pow x 3)))) (+ (* -2 (/ y x)) (* -2 (/ (pow y 2) (pow x 2)))))
x
(* x (+ 1 (* -1 (/ y x))))
y
(+ y (/ (pow y 2) x))
(* -2 (/ (pow x 2) y))
(* -1 (* (pow x 2) (+ (* 2 (/ 1 x)) (* 2 (/ 1 y)))))
(* -1 (* x (+ (* 2 (/ 1 y)) (* 2 (/ 1 x)))))
(+ (* -1 (/ (+ (* -2 (/ (pow y 3) x)) (* -2 (pow y 2))) x)) (* 2 y))
(+ (* -1 (/ (+ (* -2 (pow y 2)) (* -1 (/ (+ (* 2 (/ (pow y 4) x)) (* 2 (pow y 3))) x))) x)) (* 2 y))
(+ 2 (* -1 (/ (- (* -2 (/ (pow y 2) x)) (* 2 y)) x)))
(+ 2 (* -1 (/ (- (* -1 (/ (- (* 2 (/ (pow y 3) x)) (* -2 (pow y 2))) x)) (* 2 y)) x)))
(* -1 (* x (- (/ y x) 1)))
(* -1 (* x (+ (* 2 (/ 1 x)) (* 2 (/ 1 y)))))
(* y (+ 2 (* 2 (/ y x))))
(* y (+ 2 (* y (+ (* 2 (/ y (pow x 2))) (* 2 (/ 1 x))))))
(* y (+ 2 (* y (+ (* y (+ (* 2 (/ y (pow x 3))) (* 2 (/ 1 (pow x 2))))) (* 2 (/ 1 x))))))
(+ 2 (* y (+ (* 2 (/ y (pow x 2))) (* 2 (/ 1 x)))))
(+ 2 (* y (+ (* y (+ (* 2 (/ y (pow x 3))) (* 2 (/ 1 (pow x 2))))) (* 2 (/ 1 x)))))
(+ x (* -1 y))
(* y (+ 1 (/ y x)))
(/ (+ (* -2 (* x y)) (* -2 (pow x 2))) y)
(/ (+ (* -2 x) (* -2 y)) y)
(+ (* -2 x) (* -2 (/ (pow x 2) y)))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (* -2 (/ (pow x 3) (pow y 2)))))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (+ (* -2 (/ (pow x 3) (pow y 2))) (* -2 (/ (pow x 4) (pow y 3))))))
(/ (+ (* -2 x) (* -2 (/ (pow x 2) y))) y)
(/ (+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (* -2 (/ (pow x 3) (pow y 2))))) y)
(/ (+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (+ (* -2 (/ (pow x 3) (pow y 2))) (* -2 (/ (pow x 4) (pow y 3)))))) y)
(* y (- (/ x y) 1))
(* (pow y 2) (+ (* 2 (/ 1 x)) (* 2 (/ 1 y))))
(* (pow y 2) (+ (/ 1 x) (/ 1 y)))
(+ (* -2 x) (* -1 (/ (+ (* 2 (/ (pow x 3) y)) (* 2 (pow x 2))) y)))
(+ (* -2 x) (* -1 (/ (+ (* -1 (/ (+ (* -2 (/ (pow x 4) y)) (* -2 (pow x 3))) y)) (* 2 (pow x 2))) y)))
(* -1 (/ (+ (* 2 x) (* 2 (/ (pow x 2) y))) y))
(* -1 (/ (+ (* -1 (/ (+ (* -2 (/ (pow x 3) y)) (* -2 (pow x 2))) y)) (* 2 x)) y))
(* -1 (/ (+ (* -1 (/ (+ (* -2 (pow x 2)) (* -1 (/ (+ (* 2 (/ (pow x 4) y)) (* 2 (pow x 3))) y))) y)) (* 2 x)) y))
(* -1 (* y (+ 1 (* -1 (/ x y)))))
Outputs
(* -2 x)
(*.f64 #s(literal -2 binary64) x)
(* x (- (* -2 (/ x y)) 2))
(*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x)
(* x (- (* x (- (* -2 (/ x (pow y 2))) (* 2 (/ 1 y)))) 2))
(*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) y) x #s(literal -2 binary64)) x)
(* x (- (* x (- (* x (- (* -2 (/ x (pow y 3))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y)))) 2))
(*.f64 (fma.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) (*.f64 y y)) x (/.f64 #s(literal -2 binary64) y)) x #s(literal -2 binary64)) x)
(* -2 (/ x y))
(*.f64 (/.f64 x y) #s(literal -2 binary64))
(* x (- (* -2 (/ x (pow y 2))) (* 2 (/ 1 y))))
(*.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) y) x)
(* x (- (* x (- (* -2 (/ x (pow y 3))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y))))
(*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) (*.f64 y y)) x (/.f64 #s(literal -2 binary64) y)) x)
(* x (- (* x (- (* x (- (* -2 (/ x (pow y 4))) (* 2 (/ 1 (pow y 3))))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (/.f64 x (pow.f64 y #s(literal 4 binary64))) #s(literal -2 binary64) (/.f64 #s(literal -2 binary64) (pow.f64 y #s(literal 3 binary64)))) x (/.f64 (/.f64 #s(literal -2 binary64) y) y)) x (/.f64 #s(literal -2 binary64) y)) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* -1 y)
(neg.f64 y)
(- x y)
(-.f64 x y)
(* 2 (/ (pow y 2) x))
(*.f64 (/.f64 (*.f64 y y) x) #s(literal 2 binary64))
(/ (+ (* 2 (* x y)) (* 2 (pow y 2))) x)
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) y) (+.f64 x y)) x)
(/ (pow y 2) x)
(/.f64 (*.f64 y y) x)
(/ (+ (* x y) (pow y 2)) x)
(/.f64 (*.f64 y (+.f64 x y)) x)
(/ y x)
(/.f64 y x)
-2
#s(literal -2 binary64)
(- (* -2 (/ x y)) 2)
(fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64))
(/ x y)
(/.f64 x y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(+ (* 2 y) (* 2 (/ (pow y 2) x)))
(*.f64 (fma.f64 (/.f64 y x) y y) #s(literal 2 binary64))
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (* 2 (/ (pow y 3) (pow x 2)))))
(*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64)) y)
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (+ (* 2 (/ (pow y 3) (pow x 2))) (* 2 (/ (pow y 4) (pow x 3))))))
(*.f64 #s(literal 2 binary64) (+.f64 (fma.f64 (/.f64 y x) (fma.f64 (/.f64 y x) y y) y) (/.f64 (pow.f64 y #s(literal 4 binary64)) (pow.f64 x #s(literal 3 binary64)))))
2
#s(literal 2 binary64)
(+ 2 (* 2 (/ y x)))
(fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64))
(- (+ 2 (* 2 (/ (pow y 2) (pow x 2)))) (* -2 (/ y x)))
(fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64))
(- (+ 2 (* 2 (/ (pow y 3) (pow x 3)))) (+ (* -2 (/ y x)) (* -2 (/ (pow y 2) (pow x 2)))))
(-.f64 (/.f64 (*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64)) y) x) #s(literal -2 binary64))
x
(* x (+ 1 (* -1 (/ y x))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 y x)) x)
y
(+ y (/ (pow y 2) x))
(fma.f64 (/.f64 y x) y y)
(* -2 (/ (pow x 2) y))
(*.f64 (*.f64 x (/.f64 x y)) #s(literal -2 binary64))
(* -1 (* (pow x 2) (+ (* 2 (/ 1 x)) (* 2 (/ 1 y)))))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) y) (/.f64 #s(literal -2 binary64) x)) (*.f64 x x))
(* -1 (* x (+ (* 2 (/ 1 y)) (* 2 (/ 1 x)))))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) y) (/.f64 #s(literal -2 binary64) x)) x)
(+ (* -1 (/ (+ (* -2 (/ (pow y 3) x)) (* -2 (pow y 2))) x)) (* 2 y))
(*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64)) y)
(+ (* -1 (/ (+ (* -2 (pow y 2)) (* -1 (/ (+ (* 2 (/ (pow y 4) x)) (* 2 (pow y 3))) x))) x)) (* 2 y))
(*.f64 #s(literal 2 binary64) (+.f64 (fma.f64 (/.f64 y x) (fma.f64 (/.f64 y x) y y) y) (/.f64 (pow.f64 y #s(literal 4 binary64)) (pow.f64 x #s(literal 3 binary64)))))
(+ 2 (* -1 (/ (- (* -2 (/ (pow y 2) x)) (* 2 y)) x)))
(fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64))
(+ 2 (* -1 (/ (- (* -1 (/ (- (* 2 (/ (pow y 3) x)) (* -2 (pow y 2))) x)) (* 2 y)) x)))
(-.f64 (/.f64 (*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64)) y) x) #s(literal -2 binary64))
(* -1 (* x (- (/ y x) 1)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 y x)) x)
(* -1 (* x (+ (* 2 (/ 1 x)) (* 2 (/ 1 y)))))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) y) (/.f64 #s(literal -2 binary64) x)) x)
(* y (+ 2 (* 2 (/ y x))))
(*.f64 (fma.f64 (/.f64 y x) y y) #s(literal 2 binary64))
(* y (+ 2 (* y (+ (* 2 (/ y (pow x 2))) (* 2 (/ 1 x))))))
(*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64)) y)
(* y (+ 2 (* y (+ (* y (+ (* 2 (/ y (pow x 3))) (* 2 (/ 1 (pow x 2))))) (* 2 (/ 1 x))))))
(*.f64 (-.f64 (/.f64 (*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64)) y) x) #s(literal -2 binary64)) y)
(+ 2 (* y (+ (* 2 (/ y (pow x 2))) (* 2 (/ 1 x)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64))
(+ 2 (* y (+ (* y (+ (* 2 (/ y (pow x 3))) (* 2 (/ 1 (pow x 2))))) (* 2 (/ 1 x)))))
(-.f64 (/.f64 (*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64)) y) x) #s(literal -2 binary64))
(+ x (* -1 y))
(-.f64 x y)
(* y (+ 1 (/ y x)))
(fma.f64 (/.f64 y x) y y)
(/ (+ (* -2 (* x y)) (* -2 (pow x 2))) y)
(*.f64 #s(literal -2 binary64) (/.f64 (*.f64 x (+.f64 x y)) y))
(/ (+ (* -2 x) (* -2 y)) y)
(*.f64 #s(literal -2 binary64) (/.f64 (+.f64 x y) y))
(+ (* -2 x) (* -2 (/ (pow x 2) y)))
(*.f64 (fma.f64 x (/.f64 x y) x) #s(literal -2 binary64))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (* -2 (/ (pow x 3) (pow y 2)))))
(*.f64 #s(literal -2 binary64) (+.f64 (/.f64 (*.f64 x (fma.f64 x (/.f64 x y) x)) y) x))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (+ (* -2 (/ (pow x 3) (pow y 2))) (* -2 (/ (pow x 4) (pow y 3))))))
(fma.f64 #s(literal -2 binary64) x (/.f64 (*.f64 #s(literal -2 binary64) (fma.f64 x x (/.f64 (+.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) y) (pow.f64 x #s(literal 3 binary64))) y))) y))
(/ (+ (* -2 x) (* -2 (/ (pow x 2) y))) y)
(*.f64 #s(literal -2 binary64) (/.f64 (fma.f64 x (/.f64 x y) x) y))
(/ (+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (* -2 (/ (pow x 3) (pow y 2))))) y)
(/.f64 (*.f64 #s(literal -2 binary64) (+.f64 (/.f64 (*.f64 x (fma.f64 x (/.f64 x y) x)) y) x)) y)
(/ (+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (+ (* -2 (/ (pow x 3) (pow y 2))) (* -2 (/ (pow x 4) (pow y 3)))))) y)
(/.f64 (fma.f64 #s(literal -2 binary64) x (/.f64 (*.f64 #s(literal -2 binary64) (fma.f64 x x (/.f64 (+.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) y) (pow.f64 x #s(literal 3 binary64))) y))) y)) y)
(* y (- (/ x y) 1))
(fma.f64 (/.f64 x y) y (neg.f64 y))
(* (pow y 2) (+ (* 2 (/ 1 x)) (* 2 (/ 1 y))))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 2 binary64) x) (/.f64 #s(literal -2 binary64) y)) y) y)
(* (pow y 2) (+ (/ 1 x) (/ 1 y)))
(*.f64 y (fma.f64 y (/.f64 #s(literal 1 binary64) y) (/.f64 y x)))
(+ (* -2 x) (* -1 (/ (+ (* 2 (/ (pow x 3) y)) (* 2 (pow x 2))) y)))
(*.f64 #s(literal -2 binary64) (+.f64 (/.f64 (*.f64 x (fma.f64 x (/.f64 x y) x)) y) x))
(+ (* -2 x) (* -1 (/ (+ (* -1 (/ (+ (* -2 (/ (pow x 4) y)) (* -2 (pow x 3))) y)) (* 2 (pow x 2))) y)))
(fma.f64 #s(literal -2 binary64) x (/.f64 (*.f64 #s(literal -2 binary64) (fma.f64 x x (/.f64 (+.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) y) (pow.f64 x #s(literal 3 binary64))) y))) y))
(* -1 (/ (+ (* 2 x) (* 2 (/ (pow x 2) y))) y))
(*.f64 #s(literal -2 binary64) (/.f64 (fma.f64 x (/.f64 x y) x) y))
(* -1 (/ (+ (* -1 (/ (+ (* -2 (/ (pow x 3) y)) (* -2 (pow x 2))) y)) (* 2 x)) y))
(/.f64 (*.f64 #s(literal -2 binary64) (+.f64 (/.f64 (*.f64 x (fma.f64 x (/.f64 x y) x)) y) x)) y)
(* -1 (/ (+ (* -1 (/ (+ (* -2 (pow x 2)) (* -1 (/ (+ (* 2 (/ (pow x 4) y)) (* 2 (pow x 3))) y))) y)) (* 2 x)) y))
(/.f64 (fma.f64 #s(literal -2 binary64) x (/.f64 (*.f64 #s(literal -2 binary64) (fma.f64 x x (/.f64 (+.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) y) (pow.f64 x #s(literal 3 binary64))) y))) y)) y)
(* -1 (* y (+ 1 (* -1 (/ x y)))))
(fma.f64 (/.f64 x y) y (neg.f64 y))

rewrite82.0ms (2.2%)

Memory
21.6MiB live, 68.0MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024124
038124
1111124
0624124
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
16 → 150
Calls
Call 1
Inputs
(*.f64 y (/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y)))
(/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y))
(*.f64 #s(literal 2 binary64) x)
(-.f64 x y)
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal -2 binary64) x))
(*.f64 #s(literal -2 binary64) x)
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal 2 binary64) y))
(*.f64 #s(literal 2 binary64) y)
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64)))
(*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64))
(fma.f64 y (/.f64 y x) y)
(/.f64 y x)
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x))
(*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x)
(fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64))
(/.f64 x y)
Outputs
(*.f64 (/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (*.f64 (+.f64 x y) (-.f64 x y))) (+.f64 x y))
(*.f64 (/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 x x (*.f64 y (+.f64 x y))))
(*.f64 (/.f64 y (-.f64 x y)) (*.f64 x #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) y) (/.f64 x (-.f64 x y)))
(*.f64 (*.f64 (/.f64 x (-.f64 x y)) #s(literal 2 binary64)) y)
(*.f64 (*.f64 x #s(literal 2 binary64)) (/.f64 y (-.f64 x y)))
(*.f64 x (/.f64 (*.f64 #s(literal 2 binary64) y) (-.f64 x y)))
(*.f64 x (*.f64 #s(literal 2 binary64) (/.f64 y (-.f64 x y))))
(*.f64 #s(literal 2 binary64) (*.f64 (/.f64 x (-.f64 x y)) y))
(*.f64 #s(literal 2 binary64) (*.f64 x (/.f64 y (-.f64 x y))))
(*.f64 y (*.f64 (/.f64 x (-.f64 x y)) #s(literal 2 binary64)))
(/.f64 (neg.f64 (*.f64 (*.f64 #s(literal -2 binary64) x) y)) (neg.f64 (neg.f64 (-.f64 x y))))
(/.f64 (*.f64 (*.f64 #s(literal -2 binary64) x) y) (neg.f64 (-.f64 x y)))
(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
(neg.f64 (/.f64 (*.f64 (*.f64 #s(literal -2 binary64) x) y) (-.f64 x y)))
(neg.f64 (/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (neg.f64 (-.f64 x y))))
(*.f64 (/.f64 (*.f64 x #s(literal 2 binary64)) (*.f64 (+.f64 x y) (-.f64 x y))) (+.f64 x y))
(*.f64 (/.f64 (*.f64 x #s(literal 2 binary64)) (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 x x (*.f64 y (+.f64 x y))))
(*.f64 (/.f64 x (-.f64 x y)) #s(literal 2 binary64))
(*.f64 x (/.f64 #s(literal 2 binary64) (-.f64 x y)))
(*.f64 #s(literal 2 binary64) (/.f64 x (-.f64 x y)))
(/.f64 (neg.f64 (*.f64 #s(literal -2 binary64) x)) (neg.f64 (neg.f64 (-.f64 x y))))
(/.f64 (*.f64 #s(literal -2 binary64) x) (neg.f64 (-.f64 x y)))
(/.f64 (*.f64 x #s(literal 2 binary64)) (-.f64 x y))
(neg.f64 (/.f64 (*.f64 #s(literal -2 binary64) x) (-.f64 x y)))
(neg.f64 (/.f64 (*.f64 x #s(literal 2 binary64)) (neg.f64 (-.f64 x y))))
(fma.f64 (/.f64 x (*.f64 (+.f64 x y) (-.f64 x y))) (+.f64 x y) (/.f64 x (-.f64 x y)))
(fma.f64 (/.f64 x (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 x x (*.f64 y (+.f64 x y))) (/.f64 x (-.f64 x y)))
(+.f64 (/.f64 x (-.f64 x y)) (/.f64 x (-.f64 x y)))
(*.f64 x #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) x)
(/.f64 (-.f64 (*.f64 x x) (*.f64 x x)) (-.f64 x x))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x (-.f64 (*.f64 x x) (*.f64 x x))))
(fma.f64 #s(literal 1 binary64) x (*.f64 #s(literal 1 binary64) x))
(fma.f64 x #s(literal 1 binary64) (*.f64 x #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 #s(literal 1 binary64) x))
(+.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)))
(+.f64 x x)
(/.f64 (neg.f64 (*.f64 (+.f64 x y) (-.f64 x y))) (neg.f64 (+.f64 x y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 x x (*.f64 y (+.f64 x y)))))
(/.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (+.f64 x y))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 x x (*.f64 y (+.f64 x y))))
(-.f64 (/.f64 (*.f64 x x) (+.f64 x y)) (/.f64 (*.f64 y y) (+.f64 x y)))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (*.f64 y (+.f64 x y)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 x x (*.f64 y (+.f64 x y)))))
(-.f64 x y)
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal -2 binary64) x))
(*.f64 (neg.f64 x) #s(literal 2 binary64))
(*.f64 #s(literal -2 binary64) x)
(*.f64 x #s(literal -2 binary64))
(*.f64 #s(literal 2 binary64) (neg.f64 x))
(neg.f64 (*.f64 x #s(literal 2 binary64)))
(+.f64 (neg.f64 x) (neg.f64 x))
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal 2 binary64) y))
(*.f64 #s(literal 2 binary64) y)
(*.f64 y #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 y y) (*.f64 y y)) (-.f64 y y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y y (-.f64 (*.f64 y y) (*.f64 y y))))
(fma.f64 #s(literal 1 binary64) y (*.f64 #s(literal 1 binary64) y))
(fma.f64 y #s(literal 1 binary64) (*.f64 y #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 #s(literal 1 binary64) y))
(+.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 y #s(literal 1 binary64)))
(+.f64 y y)
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 (/.f64 y x) y y) #s(literal 2 binary64)))
(*.f64 (fma.f64 (/.f64 y x) y y) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (fma.f64 (/.f64 y x) y y))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64)) (*.f64 y y)) #s(literal 2 binary64)) (-.f64 (*.f64 (/.f64 y x) y) y))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 3 binary64))) #s(literal 2 binary64)) (fma.f64 y (-.f64 y (*.f64 (/.f64 y x) y)) (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64)) (*.f64 y y))) (-.f64 (*.f64 (/.f64 y x) y) y))
(/.f64 (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 3 binary64)))) (fma.f64 y (-.f64 y (*.f64 (/.f64 y x) y)) (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64))))
(fma.f64 (+.f64 (/.f64 y x) #s(literal 1 binary64)) y (fma.f64 (/.f64 y x) y y))
(fma.f64 #s(literal 1 binary64) (fma.f64 (/.f64 y x) y y) (*.f64 #s(literal 1 binary64) (fma.f64 (/.f64 y x) y y)))
(fma.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) y))
(fma.f64 (fma.f64 (/.f64 y x) y y) #s(literal 1 binary64) (*.f64 (fma.f64 (/.f64 y x) y y) #s(literal 1 binary64)))
(fma.f64 #s(literal 2 binary64) (*.f64 (/.f64 y x) y) (*.f64 #s(literal 2 binary64) y))
(fma.f64 #s(literal 2 binary64) y (*.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64)))
(fma.f64 #s(literal 2 binary64) y (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 y x) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64)))
(fma.f64 y #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 y x) y)))
(+.f64 (*.f64 #s(literal 1 binary64) (fma.f64 (/.f64 y x) y y)) (*.f64 #s(literal 1 binary64) (fma.f64 (/.f64 y x) y y)))
(+.f64 (*.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) y))
(+.f64 (*.f64 (fma.f64 (/.f64 y x) y y) #s(literal 1 binary64)) (*.f64 (fma.f64 (/.f64 y x) y y) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 y x) y)) (*.f64 #s(literal 2 binary64) y))
(+.f64 (fma.f64 (/.f64 y x) y y) (fma.f64 (/.f64 y x) y y))
(+.f64 (*.f64 #s(literal 2 binary64) y) (*.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64)))
(+.f64 (*.f64 #s(literal 2 binary64) y) (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 y x) y)))
(*.f64 (+.f64 (/.f64 y x) #s(literal 1 binary64)) y)
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64))) (-.f64 y (*.f64 (/.f64 y x) y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64)) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 (/.f64 y x) y) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y (*.f64 (/.f64 y x) y)) (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64)) (*.f64 y y)) (-.f64 (*.f64 (/.f64 y x) y) y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 3 binary64))) (fma.f64 y y (-.f64 (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64)) (/.f64 (pow.f64 y #s(literal 3 binary64)) x))))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 3 binary64))) (fma.f64 y (-.f64 y (*.f64 (/.f64 y x) y)) (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64))))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(-.f64 (/.f64 (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64)) (-.f64 (*.f64 (/.f64 y x) y) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 (/.f64 y x) y) y)))
(-.f64 y (*.f64 (neg.f64 (/.f64 y x)) y))
(-.f64 y (*.f64 (neg.f64 y) (/.f64 y x)))
(+.f64 (/.f64 (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 3 binary64)) (fma.f64 y (-.f64 y (*.f64 (/.f64 y x) y)) (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y (*.f64 (/.f64 y x) y)) (pow.f64 (*.f64 (/.f64 y x) y) #s(literal 2 binary64)))))
(+.f64 (*.f64 (/.f64 y x) y) y)
(+.f64 y (*.f64 (/.f64 y x) y))
(/.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 x)))
(/.f64 (neg.f64 y) (neg.f64 x))
(/.f64 y x)
(neg.f64 (/.f64 (neg.f64 y) x))
(neg.f64 (/.f64 y (neg.f64 x)))
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x))
(*.f64 (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 x y))) #s(literal -2 binary64))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (*.f64 #s(literal -2 binary64) x))
(*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x)
(*.f64 x (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 4 binary64)) x) (-.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal -2 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (/.f64 x y) #s(literal 3 binary64)) #s(literal -8 binary64) #s(literal -8 binary64)) x) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (/.f64 x y) #s(literal 4 binary64))))
(/.f64 (*.f64 x (-.f64 (pow.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 4 binary64))) (-.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal -2 binary64)))
(/.f64 (*.f64 x (fma.f64 (pow.f64 (/.f64 x y) #s(literal 3 binary64)) #s(literal -8 binary64) #s(literal -8 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (/.f64 x y) #s(literal 4 binary64))))
(fma.f64 (neg.f64 x) #s(literal 2 binary64) (*.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) x))
(fma.f64 (neg.f64 x) #s(literal 2 binary64) (*.f64 x (*.f64 (/.f64 x y) #s(literal -2 binary64))))
(fma.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) x (*.f64 #s(literal -2 binary64) x))
(fma.f64 #s(literal -2 binary64) x (*.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) x))
(fma.f64 #s(literal -2 binary64) x (*.f64 x (*.f64 (/.f64 x y) #s(literal -2 binary64))))
(fma.f64 x (*.f64 (/.f64 x y) #s(literal -2 binary64)) (*.f64 #s(literal -2 binary64) x))
(fma.f64 x #s(literal -2 binary64) (*.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) x))
(fma.f64 x #s(literal -2 binary64) (*.f64 x (*.f64 (/.f64 x y) #s(literal -2 binary64))))
(fma.f64 #s(literal 2 binary64) (neg.f64 x) (*.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) x))
(fma.f64 #s(literal 2 binary64) (neg.f64 x) (*.f64 x (*.f64 (/.f64 x y) #s(literal -2 binary64))))
(+.f64 (*.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) x) (*.f64 #s(literal -2 binary64) x))
(+.f64 (*.f64 x (*.f64 (/.f64 x y) #s(literal -2 binary64))) (*.f64 #s(literal -2 binary64) x))
(+.f64 (*.f64 #s(literal -2 binary64) x) (*.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) x))
(+.f64 (*.f64 #s(literal -2 binary64) x) (*.f64 x (*.f64 (/.f64 x y) #s(literal -2 binary64))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) #s(literal -2 binary64))
(*.f64 #s(literal -2 binary64) (+.f64 #s(literal 1 binary64) (/.f64 x y)))
(/.f64 (-.f64 #s(literal 4 binary64) (pow.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal 2 binary64))) (-.f64 #s(literal -2 binary64) (*.f64 (/.f64 x y) #s(literal -2 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 4 binary64))) (neg.f64 (-.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal -2 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (/.f64 x y) #s(literal 3 binary64)) #s(literal -8 binary64) #s(literal -8 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (/.f64 x y) #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 4 binary64)) (-.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal -2 binary64)))
(/.f64 (fma.f64 (pow.f64 (/.f64 x y) #s(literal 3 binary64)) #s(literal -8 binary64) #s(literal -8 binary64)) (+.f64 #s(literal 4 binary64) (-.f64 (pow.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal 2 binary64)) (*.f64 (/.f64 x y) #s(literal 4 binary64)))))
(/.f64 (fma.f64 (pow.f64 (/.f64 x y) #s(literal 3 binary64)) #s(literal -8 binary64) #s(literal -8 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (/.f64 x y) #s(literal 4 binary64))))
(fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64))
(fma.f64 #s(literal -2 binary64) (/.f64 x y) #s(literal -2 binary64))
(fma.f64 x (/.f64 #s(literal -2 binary64) y) #s(literal -2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal -2 binary64))) (/.f64 #s(literal 4 binary64) (-.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal -2 binary64))))
(-.f64 #s(literal -2 binary64) (*.f64 (neg.f64 (/.f64 x y)) #s(literal -2 binary64)))
(-.f64 #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (/.f64 x y) #s(literal 4 binary64)))) (/.f64 #s(literal -8 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (/.f64 x y) #s(literal 4 binary64)))))
(+.f64 (*.f64 (/.f64 x y) #s(literal -2 binary64)) #s(literal -2 binary64))
(+.f64 #s(literal -2 binary64) (*.f64 (/.f64 x y) #s(literal -2 binary64)))
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 y)))
(/.f64 (neg.f64 x) (neg.f64 y))
(/.f64 x y)
(neg.f64 (/.f64 (neg.f64 x) y))
(neg.f64 (/.f64 x (neg.f64 y)))

eval35.0ms (0.9%)

Memory
10.1MiB live, 55.9MiB allocated; 4ms collecting garbage
Compiler

Compiled 4 062 to 645 computations (84.1% saved)

prune12.0ms (0.3%)

Memory
-19.1MiB live, 33.5MiB allocated; 7ms collecting garbage
Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1913194
Fresh202
Picked235
Done000
Total1956201
Accuracy
100.0%
Counts
201 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
86.4%
(*.f64 (/.f64 y (-.f64 x y)) (*.f64 x #s(literal 2 binary64)))
91.0%
(*.f64 y (/.f64 (+.f64 x x) (-.f64 x y)))
54.1%
#s(approx (/ (* (* x 2) y) (- x y)) (+.f64 y y))
47.3%
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x))
53.4%
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64)))
47.9%
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal -2 binary64) x))
Compiler

Compiled 80 to 56 computations (30% saved)

simplify131.0ms (3.5%)

Memory
19.7MiB live, 207.7MiB allocated; 33ms collecting garbage
Localize:

Found 10 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01664
02464
14164
28064
319364
446164
5174564
6514164
0818964
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ (* (* x 2) y) (- x y)) (+.f64 y y))
(+.f64 y y)
y
(*.f64 y (/.f64 (+.f64 x x) (-.f64 x y)))
y
(/.f64 (+.f64 x x) (-.f64 x y))
(+.f64 x x)
x
(-.f64 x y)
(*.f64 (/.f64 y (-.f64 x y)) (*.f64 x #s(literal 2 binary64)))
(/.f64 y (-.f64 x y))
y
(-.f64 x y)
x
(*.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
Outputs
#s(approx (/ (* (* x 2) y) (- x y)) (+.f64 y y))
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 y #s(literal 2 binary64)))
(+.f64 y y)
(*.f64 y #s(literal 2 binary64))
y
(*.f64 y (/.f64 (+.f64 x x) (-.f64 x y)))
(*.f64 (/.f64 #s(literal 2 binary64) (-.f64 x y)) (*.f64 y x))
y
(/.f64 (+.f64 x x) (-.f64 x y))
(*.f64 (/.f64 #s(literal 2 binary64) (-.f64 x y)) x)
(+.f64 x x)
(*.f64 #s(literal 2 binary64) x)
x
(-.f64 x y)
(*.f64 (/.f64 y (-.f64 x y)) (*.f64 x #s(literal 2 binary64)))
(*.f64 (/.f64 #s(literal 2 binary64) (-.f64 x y)) (*.f64 y x))
(/.f64 y (-.f64 x y))
y
(-.f64 x y)
x
(*.f64 x #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) x)
#s(literal 2 binary64)

localize54.0ms (1.4%)

Memory
-13.2MiB live, 80.0MiB allocated; 9ms collecting garbage
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 x y)
accuracy0.0
(*.f64 x #s(literal 2 binary64))
accuracy0.015625
(/.f64 y (-.f64 x y))
accuracy8.666075521752122
(*.f64 (/.f64 y (-.f64 x y)) (*.f64 x #s(literal 2 binary64)))
accuracy0.0
(-.f64 x y)
accuracy0.0
(+.f64 x x)
accuracy0.00390625
(/.f64 (+.f64 x x) (-.f64 x y))
accuracy5.743680247871988
(*.f64 y (/.f64 (+.f64 x x) (-.f64 x y)))
accuracy0.0
(+.f64 y y)
accuracy29.37152020724361
#s(approx (/ (* (* x 2) y) (- x y)) (+.f64 y y))
Samples
45.0ms256×0valid
Compiler

Compiled 62 to 15 computations (75.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 23.0ms
ival-div: 12.0ms (53% of total)
ival-mult: 6.0ms (26.5% of total)
ival-add: 2.0ms (8.8% of total)
ival-sub: 1.0ms (4.4% 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)

series7.0ms (0.2%)

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

6 calls:

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

simplify190.0ms (5%)

Memory
-37.8MiB live, 200.9MiB allocated; 50ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0272946
1912877
23627831
08292767
Stop Event
iter limit
node limit
Counts
63 → 62
Calls
Call 1
Inputs
(* -2 x)
(* x (- (* -2 (/ x y)) 2))
(* x (- (* x (- (* -2 (/ x (pow y 2))) (* 2 (/ 1 y)))) 2))
(* x (- (* x (- (* x (- (* -2 (/ x (pow y 3))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y)))) 2))
(* -2 (/ x y))
(* x (- (* -2 (/ x (pow y 2))) (* 2 (/ 1 y))))
(* x (- (* x (- (* -2 (/ x (pow y 3))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y))))
(* x (- (* x (- (* x (- (* -2 (/ x (pow y 4))) (* 2 (/ 1 (pow y 3))))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y))))
(* 2 x)
(* -1 y)
(- x y)
-1
(- (* -1 (/ x y)) 1)
(- (* x (- (* -1 (/ x (pow y 2))) (/ 1 y))) 1)
(- (* x (- (* x (- (* -1 (/ x (pow y 3))) (/ 1 (pow y 2)))) (/ 1 y))) 1)
(* 2 y)
(+ (* 2 y) (* 2 (/ (pow y 2) x)))
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (* 2 (/ (pow y 3) (pow x 2)))))
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (+ (* 2 (/ (pow y 3) (pow x 2))) (* 2 (/ (pow y 4) (pow x 3))))))
2
(+ 2 (* 2 (/ y x)))
(- (+ 2 (* 2 (/ (pow y 2) (pow x 2)))) (* -2 (/ y x)))
(- (+ 2 (* 2 (/ (pow y 3) (pow x 3)))) (+ (* -2 (/ y x)) (* -2 (/ (pow y 2) (pow x 2)))))
x
(* x (+ 1 (* -1 (/ y x))))
(/ y x)
(/ (+ y (/ (pow y 2) x)) x)
(/ (- (+ y (/ (pow y 3) (pow x 2))) (* -1 (/ (pow y 2) x))) x)
(/ (- (+ y (/ (pow y 4) (pow x 3))) (+ (* -1 (/ (pow y 2) x)) (* -1 (/ (pow y 3) (pow x 2))))) x)
(+ (* -1 (/ (+ (* -2 (/ (pow y 3) x)) (* -2 (pow y 2))) x)) (* 2 y))
(+ (* -1 (/ (+ (* -2 (pow y 2)) (* -1 (/ (+ (* 2 (/ (pow y 4) x)) (* 2 (pow y 3))) x))) x)) (* 2 y))
(+ 2 (* -1 (/ (- (* -2 (/ (pow y 2) x)) (* 2 y)) x)))
(+ 2 (* -1 (/ (- (* -1 (/ (- (* 2 (/ (pow y 3) x)) (* -2 (pow y 2))) x)) (* 2 y)) x)))
(* -1 (* x (- (/ y x) 1)))
(* -1 (/ (+ (* -1 y) (* -1 (/ (pow y 2) x))) x))
(* -1 (/ (+ (* -1 y) (* -1 (/ (+ (/ (pow y 3) x) (pow y 2)) x))) x))
(* -1 (/ (+ (* -1 y) (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (pow y 4) x)) (* -1 (pow y 3))) x)) (pow y 2)) x))) x))
(* y (+ 2 (* 2 (/ y x))))
(* y (+ 2 (* y (+ (* 2 (/ y (pow x 2))) (* 2 (/ 1 x))))))
(* y (+ 2 (* y (+ (* y (+ (* 2 (/ y (pow x 3))) (* 2 (/ 1 (pow x 2))))) (* 2 (/ 1 x))))))
(+ 2 (* y (+ (* 2 (/ y (pow x 2))) (* 2 (/ 1 x)))))
(+ 2 (* y (+ (* y (+ (* 2 (/ y (pow x 3))) (* 2 (/ 1 (pow x 2))))) (* 2 (/ 1 x)))))
(+ x (* -1 y))
(* y (+ (/ 1 x) (/ y (pow x 2))))
(* y (+ (* y (+ (/ 1 (pow x 2)) (/ y (pow x 3)))) (/ 1 x)))
(* y (+ (* y (+ (* y (+ (/ 1 (pow x 3)) (/ y (pow x 4)))) (/ 1 (pow x 2)))) (/ 1 x)))
(+ (* -2 x) (* -2 (/ (pow x 2) y)))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (* -2 (/ (pow x 3) (pow y 2)))))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (+ (* -2 (/ (pow x 3) (pow y 2))) (* -2 (/ (pow x 4) (pow y 3))))))
(/ (+ (* -2 x) (* -2 (/ (pow x 2) y))) y)
(/ (+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (* -2 (/ (pow x 3) (pow y 2))))) y)
(/ (+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (+ (* -2 (/ (pow x 3) (pow y 2))) (* -2 (/ (pow x 4) (pow y 3)))))) y)
(* y (- (/ x y) 1))
(- (* -1 (/ (pow x 2) (pow y 2))) (+ 1 (/ x y)))
(- (* -1 (/ (pow x 3) (pow y 3))) (+ 1 (+ (/ x y) (/ (pow x 2) (pow y 2)))))
(+ (* -2 x) (* -1 (/ (+ (* 2 (/ (pow x 3) y)) (* 2 (pow x 2))) y)))
(+ (* -2 x) (* -1 (/ (+ (* -1 (/ (+ (* -2 (/ (pow x 4) y)) (* -2 (pow x 3))) y)) (* 2 (pow x 2))) y)))
(* -1 (/ (+ (* 2 x) (* 2 (/ (pow x 2) y))) y))
(* -1 (/ (+ (* -1 (/ (+ (* -2 (/ (pow x 3) y)) (* -2 (pow x 2))) y)) (* 2 x)) y))
(* -1 (/ (+ (* -1 (/ (+ (* -2 (pow x 2)) (* -1 (/ (+ (* 2 (/ (pow x 4) y)) (* 2 (pow x 3))) y))) y)) (* 2 x)) y))
(* -1 (* y (+ 1 (* -1 (/ x y)))))
(- (* -1 (/ (- (/ (pow x 2) y) (* -1 x)) y)) 1)
(- (* -1 (/ (- (* -1 (/ (- (* -1 (/ (pow x 3) y)) (pow x 2)) y)) (* -1 x)) y)) 1)
Outputs
(* -2 x)
(*.f64 #s(literal -2 binary64) x)
(* x (- (* -2 (/ x y)) 2))
(*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x)
(* x (- (* x (- (* -2 (/ x (pow y 2))) (* 2 (/ 1 y)))) 2))
(*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) y) x #s(literal -2 binary64)) x)
(* x (- (* x (- (* x (- (* -2 (/ x (pow y 3))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y)))) 2))
(*.f64 (fma.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) (*.f64 y y)) x (/.f64 #s(literal -2 binary64) y)) x #s(literal -2 binary64)) x)
(* -2 (/ x y))
(*.f64 (/.f64 x y) #s(literal -2 binary64))
(* x (- (* -2 (/ x (pow y 2))) (* 2 (/ 1 y))))
(*.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) y) x)
(* x (- (* x (- (* -2 (/ x (pow y 3))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y))))
(*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) (*.f64 y y)) x (/.f64 #s(literal -2 binary64) y)) x)
(* x (- (* x (- (* x (- (* -2 (/ x (pow y 4))) (* 2 (/ 1 (pow y 3))))) (* 2 (/ 1 (pow y 2))))) (* 2 (/ 1 y))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (/.f64 x (pow.f64 y #s(literal 4 binary64))) #s(literal -2 binary64) (/.f64 #s(literal -2 binary64) (pow.f64 y #s(literal 3 binary64)))) x (/.f64 #s(literal -2 binary64) (*.f64 y y))) x (/.f64 #s(literal -2 binary64) y)) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* -1 y)
(neg.f64 y)
(- x y)
(-.f64 x y)
-1
#s(literal -1 binary64)
(- (* -1 (/ x y)) 1)
(fma.f64 #s(literal -1 binary64) (/.f64 x y) #s(literal -1 binary64))
(- (* x (- (* -1 (/ x (pow y 2))) (/ 1 y))) 1)
(fma.f64 (-.f64 (/.f64 (/.f64 x (neg.f64 y)) y) (/.f64 #s(literal 1 binary64) y)) x #s(literal -1 binary64))
(- (* x (- (* x (- (* -1 (/ x (pow y 3))) (/ 1 (pow y 2)))) (/ 1 y))) 1)
(fma.f64 (-.f64 (*.f64 (-.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal 3 binary64))) (/.f64 (/.f64 #s(literal 1 binary64) y) y)) x) (/.f64 #s(literal 1 binary64) y)) x #s(literal -1 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(+ (* 2 y) (* 2 (/ (pow y 2) x)))
(*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64))
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (* 2 (/ (pow y 3) (pow x 2)))))
(*.f64 #s(literal 2 binary64) (+.f64 (/.f64 (fma.f64 y y (/.f64 (pow.f64 y #s(literal 3 binary64)) x)) x) y))
(+ (* 2 y) (+ (* 2 (/ (pow y 2) x)) (+ (* 2 (/ (pow y 3) (pow x 2))) (* 2 (/ (pow y 4) (pow x 3))))))
(fma.f64 y #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (fma.f64 y y (/.f64 (+.f64 (/.f64 (pow.f64 y #s(literal 4 binary64)) x) (pow.f64 y #s(literal 3 binary64))) x)) x)))
2
#s(literal 2 binary64)
(+ 2 (* 2 (/ y x)))
(fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64))
(- (+ 2 (* 2 (/ (pow y 2) (pow x 2)))) (* -2 (/ y x)))
(fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64))
(- (+ 2 (* 2 (/ (pow y 3) (pow x 3)))) (+ (* -2 (/ y x)) (* -2 (/ (pow y 2) (pow x 2)))))
(fma.f64 (pow.f64 (/.f64 y x) #s(literal 3 binary64)) #s(literal 2 binary64) (fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64)))
x
(* x (+ 1 (* -1 (/ y x))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 y x)) x)
(/ y x)
(/.f64 y x)
(/ (+ y (/ (pow y 2) x)) x)
(/.f64 (fma.f64 y (/.f64 y x) y) x)
(/ (- (+ y (/ (pow y 3) (pow x 2))) (* -1 (/ (pow y 2) x))) x)
(/.f64 (+.f64 (/.f64 (fma.f64 y y (/.f64 (pow.f64 y #s(literal 3 binary64)) x)) x) y) x)
(/ (- (+ y (/ (pow y 4) (pow x 3))) (+ (* -1 (/ (pow y 2) x)) (* -1 (/ (pow y 3) (pow x 2))))) x)
(/.f64 (+.f64 (/.f64 (fma.f64 y y (/.f64 (+.f64 (/.f64 (pow.f64 y #s(literal 4 binary64)) x) (pow.f64 y #s(literal 3 binary64))) x)) x) y) x)
(+ (* -1 (/ (+ (* -2 (/ (pow y 3) x)) (* -2 (pow y 2))) x)) (* 2 y))
(*.f64 #s(literal 2 binary64) (+.f64 (/.f64 (fma.f64 y y (/.f64 (pow.f64 y #s(literal 3 binary64)) x)) x) y))
(+ (* -1 (/ (+ (* -2 (pow y 2)) (* -1 (/ (+ (* 2 (/ (pow y 4) x)) (* 2 (pow y 3))) x))) x)) (* 2 y))
(fma.f64 y #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (fma.f64 y y (/.f64 (+.f64 (/.f64 (pow.f64 y #s(literal 4 binary64)) x) (pow.f64 y #s(literal 3 binary64))) x)) x)))
(+ 2 (* -1 (/ (- (* -2 (/ (pow y 2) x)) (* 2 y)) x)))
(fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64))
(+ 2 (* -1 (/ (- (* -1 (/ (- (* 2 (/ (pow y 3) x)) (* -2 (pow y 2))) x)) (* 2 y)) x)))
(fma.f64 (pow.f64 (/.f64 y x) #s(literal 3 binary64)) #s(literal 2 binary64) (fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64)))
(* -1 (* x (- (/ y x) 1)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 y x)) x)
(* -1 (/ (+ (* -1 y) (* -1 (/ (pow y 2) x))) x))
(/.f64 (fma.f64 y (/.f64 y x) y) x)
(* -1 (/ (+ (* -1 y) (* -1 (/ (+ (/ (pow y 3) x) (pow y 2)) x))) x))
(/.f64 (+.f64 (/.f64 (fma.f64 y y (/.f64 (pow.f64 y #s(literal 3 binary64)) x)) x) y) x)
(* -1 (/ (+ (* -1 y) (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (pow y 4) x)) (* -1 (pow y 3))) x)) (pow y 2)) x))) x))
(/.f64 (+.f64 (/.f64 (fma.f64 y y (/.f64 (+.f64 (/.f64 (pow.f64 y #s(literal 4 binary64)) x) (pow.f64 y #s(literal 3 binary64))) x)) x) y) x)
(* y (+ 2 (* 2 (/ y x))))
(*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64))
(* y (+ 2 (* y (+ (* 2 (/ y (pow x 2))) (* 2 (/ 1 x))))))
(*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64)) y)
(* y (+ 2 (* y (+ (* y (+ (* 2 (/ y (pow x 3))) (* 2 (/ 1 (pow x 2))))) (* 2 (/ 1 x))))))
(*.f64 (fma.f64 (fma.f64 (/.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) x) y (/.f64 #s(literal 2 binary64) x)) y #s(literal 2 binary64)) y)
(+ 2 (* y (+ (* 2 (/ y (pow x 2))) (* 2 (/ 1 x)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) y #s(literal 2 binary64))
(+ 2 (* y (+ (* y (+ (* 2 (/ y (pow x 3))) (* 2 (/ 1 (pow x 2))))) (* 2 (/ 1 x)))))
(fma.f64 (fma.f64 (/.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 2 binary64) #s(literal 2 binary64)) x) x) y (/.f64 #s(literal 2 binary64) x)) y #s(literal 2 binary64))
(+ x (* -1 y))
(-.f64 x y)
(* y (+ (/ 1 x) (/ y (pow x 2))))
(/.f64 (fma.f64 y (/.f64 y x) y) x)
(* y (+ (* y (+ (/ 1 (pow x 2)) (/ y (pow x 3)))) (/ 1 x)))
(/.f64 (+.f64 (/.f64 (fma.f64 y y (/.f64 (pow.f64 y #s(literal 3 binary64)) x)) x) y) x)
(* y (+ (* y (+ (* y (+ (/ 1 (pow x 3)) (/ y (pow x 4)))) (/ 1 (pow x 2)))) (/ 1 x)))
(*.f64 (fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 4 binary64))) y (/.f64 y (pow.f64 x #s(literal 3 binary64)))) y (/.f64 (+.f64 (/.f64 y x) #s(literal 1 binary64)) x)) y)
(+ (* -2 x) (* -2 (/ (pow x 2) y)))
(*.f64 (fma.f64 x (/.f64 x y) x) #s(literal -2 binary64))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (* -2 (/ (pow x 3) (pow y 2)))))
(*.f64 #s(literal -2 binary64) (+.f64 (/.f64 (fma.f64 x x (/.f64 (pow.f64 x #s(literal 3 binary64)) y)) y) x))
(+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (+ (* -2 (/ (pow x 3) (pow y 2))) (* -2 (/ (pow x 4) (pow y 3))))))
(*.f64 #s(literal -2 binary64) (+.f64 (fma.f64 x (/.f64 x y) x) (/.f64 (+.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) y) (pow.f64 x #s(literal 3 binary64))) (*.f64 y y))))
(/ (+ (* -2 x) (* -2 (/ (pow x 2) y))) y)
(/.f64 (*.f64 (fma.f64 x (/.f64 x y) x) #s(literal -2 binary64)) y)
(/ (+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (* -2 (/ (pow x 3) (pow y 2))))) y)
(/.f64 (*.f64 #s(literal -2 binary64) (+.f64 (/.f64 (fma.f64 x x (/.f64 (pow.f64 x #s(literal 3 binary64)) y)) y) x)) y)
(/ (+ (* -2 x) (+ (* -2 (/ (pow x 2) y)) (+ (* -2 (/ (pow x 3) (pow y 2))) (* -2 (/ (pow x 4) (pow y 3)))))) y)
(/.f64 (*.f64 #s(literal -2 binary64) (+.f64 (fma.f64 x (/.f64 x y) x) (/.f64 (+.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) y) (pow.f64 x #s(literal 3 binary64))) (*.f64 y y)))) y)
(* y (- (/ x y) 1))
(fma.f64 (/.f64 x y) y (neg.f64 y))
(- (* -1 (/ (pow x 2) (pow y 2))) (+ 1 (/ x y)))
(fma.f64 (/.f64 (fma.f64 x (/.f64 x y) x) y) #s(literal -1 binary64) #s(literal -1 binary64))
(- (* -1 (/ (pow x 3) (pow y 3))) (+ 1 (+ (/ x y) (/ (pow x 2) (pow y 2)))))
(-.f64 (-.f64 (pow.f64 (/.f64 x (neg.f64 y)) #s(literal 3 binary64)) (/.f64 (fma.f64 x (/.f64 x y) x) y)) #s(literal 1 binary64))
(+ (* -2 x) (* -1 (/ (+ (* 2 (/ (pow x 3) y)) (* 2 (pow x 2))) y)))
(*.f64 #s(literal -2 binary64) (+.f64 (/.f64 (fma.f64 x x (/.f64 (pow.f64 x #s(literal 3 binary64)) y)) y) x))
(+ (* -2 x) (* -1 (/ (+ (* -1 (/ (+ (* -2 (/ (pow x 4) y)) (* -2 (pow x 3))) y)) (* 2 (pow x 2))) y)))
(*.f64 #s(literal -2 binary64) (+.f64 (fma.f64 x (/.f64 x y) x) (/.f64 (+.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) y) (pow.f64 x #s(literal 3 binary64))) (*.f64 y y))))
(* -1 (/ (+ (* 2 x) (* 2 (/ (pow x 2) y))) y))
(/.f64 (*.f64 (fma.f64 x (/.f64 x y) x) #s(literal -2 binary64)) y)
(* -1 (/ (+ (* -1 (/ (+ (* -2 (/ (pow x 3) y)) (* -2 (pow x 2))) y)) (* 2 x)) y))
(/.f64 (*.f64 #s(literal -2 binary64) (+.f64 (/.f64 (fma.f64 x x (/.f64 (pow.f64 x #s(literal 3 binary64)) y)) y) x)) y)
(* -1 (/ (+ (* -1 (/ (+ (* -2 (pow x 2)) (* -1 (/ (+ (* 2 (/ (pow x 4) y)) (* 2 (pow x 3))) y))) y)) (* 2 x)) y))
(/.f64 (*.f64 #s(literal -2 binary64) (+.f64 (fma.f64 x (/.f64 x y) x) (/.f64 (+.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) y) (pow.f64 x #s(literal 3 binary64))) (*.f64 y y)))) y)
(* -1 (* y (+ 1 (* -1 (/ x y)))))
(fma.f64 (/.f64 x y) y (neg.f64 y))
(- (* -1 (/ (- (/ (pow x 2) y) (* -1 x)) y)) 1)
(fma.f64 (/.f64 (fma.f64 x (/.f64 x y) x) y) #s(literal -1 binary64) #s(literal -1 binary64))
(- (* -1 (/ (- (* -1 (/ (- (* -1 (/ (pow x 3) y)) (pow x 2)) y)) (* -1 x)) y)) 1)
(-.f64 (-.f64 (pow.f64 (/.f64 x (neg.f64 y)) #s(literal 3 binary64)) (/.f64 (fma.f64 x (/.f64 x y) x) y)) #s(literal 1 binary64))

rewrite20.0ms (0.5%)

Memory
44.5MiB live, 44.5MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01655
02455
07455
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
9 → 37
Calls
Call 1
Inputs
#s(approx (/ (* (* x 2) y) (- x y)) (+.f64 y y))
(+.f64 y y)
(*.f64 y (/.f64 (+.f64 x x) (-.f64 x y)))
(/.f64 (+.f64 x x) (-.f64 x y))
(+.f64 x x)
(-.f64 x y)
(*.f64 (/.f64 y (-.f64 x y)) (*.f64 x #s(literal 2 binary64)))
(/.f64 y (-.f64 x y))
(*.f64 x #s(literal 2 binary64))
Outputs
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal 2 binary64) y))
(*.f64 #s(literal 2 binary64) y)
(/.f64 (-.f64 (*.f64 y y) (*.f64 y y)) (-.f64 y y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y y (-.f64 (*.f64 y y) (*.f64 y y))))
(+.f64 y y)
(*.f64 (*.f64 (/.f64 y (-.f64 x y)) x) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) x) (/.f64 y (-.f64 x y)))
(*.f64 (/.f64 y (-.f64 x y)) (*.f64 #s(literal 2 binary64) x))
(*.f64 (/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y)) y)
(*.f64 y (/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y)))
(/.f64 (neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) y)) (neg.f64 (-.f64 x y)))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) y) (-.f64 x y))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) x)) (neg.f64 (-.f64 x y)))
(/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y))
(+.f64 (/.f64 x (-.f64 x y)) (/.f64 x (-.f64 x y)))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 x x) (*.f64 x x)) (-.f64 x x))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x (-.f64 (*.f64 x x) (*.f64 x x))))
(+.f64 x x)
(/.f64 (-.f64 (*.f64 x x) (*.f64 y y)) (+.f64 x y))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 x x (fma.f64 y y (*.f64 x y))))
(-.f64 x y)
(*.f64 (*.f64 (/.f64 y (-.f64 x y)) x) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) x) (/.f64 y (-.f64 x y)))
(*.f64 (/.f64 y (-.f64 x y)) (*.f64 #s(literal 2 binary64) x))
(*.f64 (/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y)) y)
(*.f64 y (/.f64 (*.f64 #s(literal 2 binary64) x) (-.f64 x y)))
(/.f64 (neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) y)) (neg.f64 (-.f64 x y)))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) y) (-.f64 x y))
(/.f64 (neg.f64 y) (neg.f64 (-.f64 x y)))
(/.f64 y (-.f64 x y))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 x x) (*.f64 x x)) (-.f64 x x))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x (-.f64 (*.f64 x x) (*.f64 x x))))
(+.f64 x x)

eval17.0ms (0.4%)

Memory
-34.4MiB live, 19.1MiB allocated; 12ms collecting garbage
Compiler

Compiled 1 329 to 269 computations (79.8% saved)

prune5.0ms (0.1%)

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

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New73073
Fresh000
Picked033
Done033
Total73679
Accuracy
100.0%
Counts
79 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
86.4%
(*.f64 (/.f64 y (-.f64 x y)) (*.f64 x #s(literal 2 binary64)))
91.0%
(*.f64 y (/.f64 (+.f64 x x) (-.f64 x y)))
54.1%
#s(approx (/ (* (* x 2) y) (- x y)) (+.f64 y y))
47.3%
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x))
53.4%
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 y (/.f64 y x) y) #s(literal 2 binary64)))
47.9%
#s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal -2 binary64) x))
Compiler

Compiled 209 to 94 computations (55% saved)

regimes14.0ms (0.4%)

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

3 calls:

7.0ms
(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
3.0ms
x
3.0ms
y
Results
AccuracySegmentsBranch
95.8%3(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
99.9%3x
100.0%3y
Compiler

Compiled 11 to 11 computations (0% saved)

regimes6.0ms (0.2%)

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

2 calls:

3.0ms
x
3.0ms
y
Results
AccuracySegmentsBranch
96.8%3x
93.8%2y
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes23.0ms (0.6%)

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

3 calls:

18.0ms
(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
2.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
80.1%3y
57.1%2(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
77.0%3x
Compiler

Compiled 11 to 11 computations (0% saved)

regimes3.0ms (0.1%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

3 calls:

1.0ms
y
1.0ms
(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
1.0ms
x
Results
AccuracySegmentsBranch
54.1%1(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) y) (-.f64 x y))
54.1%1x
54.1%1y
Compiler

Compiled 11 to 11 computations (0% saved)

bsearch49.0ms (1.3%)

Memory
7.5MiB live, 44.3MiB allocated; 18ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
predicate-same
Steps
TimeLeftRight
4.0ms
1.1217576005426758e-14
2.1899687931892835e-14
43.0ms
-2.246781888443179e+68
-1.5253976015598361e+56
Samples
42.0ms144×0valid
Compiler

Compiled 174 to 147 computations (15.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 38.0ms
ival-sub: 35.0ms (91% of total)
ival-mult: 2.0ms (5.2% of total)
ival-div: 1.0ms (2.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)

bsearch68.0ms (1.8%)

Memory
12.6MiB live, 112.9MiB allocated; 32ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
22.0ms
1.730542185557617e-202
1.5041673676595545e-188
42.0ms
-1.602933780834066e-190
-1.9853653705926112e-193
Samples
15.0ms288×0valid
Compiler

Compiled 498 to 372 computations (25.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult: 4.0ms (48.7% of total)
ival-div: 2.0ms (24.3% of total)
ival-sub: 1.0ms (12.2% 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)

bsearch53.0ms (1.4%)

Memory
-26.9MiB live, 61.2MiB allocated; 17ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
3.557349553064666e-11
5.970062281309527e-9
39.0ms
-1.317816559246543e+19
-7656463185423337.0
Samples
11.0ms240×0valid
Compiler

Compiled 402 to 327 computations (18.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 3.0ms (48.6% of total)
ival-sub: 1.0ms (16.2% of total)
ival-div: 1.0ms (16.2% 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)

simplify50.0ms (1.3%)

Memory
13.6MiB live, 71.2MiB allocated; 18ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041111
160111
289111
3170111
4348111
52245111
Stop Event
node limit
Calls
Call 1
Inputs
(if (<=.f64 y #s(literal -200000000000000018380567016286756476168068919431369064448 binary64)) (*.f64 (/.f64 y (-.f64 x y)) (*.f64 #s(literal 2 binary64) x)) (if (<=.f64 y #s(literal 2535301200456459/158456325028528675187087900672 binary64)) (*.f64 y (/.f64 (+.f64 x x) (-.f64 x y))) (*.f64 (/.f64 y (-.f64 x y)) (*.f64 #s(literal 2 binary64) x))))
(if (<=.f64 x #s(literal -5457904683003073/321053216647239593947814323906257853121968982105906607635393121525191171526921436896586092302098904493834409720225721295960658706676257560005359788247795462033399882271023229870096664909931806474077957259264 binary64)) (*.f64 y (/.f64 (+.f64 x x) (-.f64 x y))) (if (<=.f64 x #s(literal 802633041618099/40131652080904949243476790488282231640246122763238325954424140190648896440865179612073261537762363061729301215028215161995082338334532195000669973530974432754174985283877903733762083113741475809259744657408 binary64)) #s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x)) (*.f64 y (/.f64 (+.f64 x x) (-.f64 x y)))))
(if (<=.f64 y #s(literal -37000000000000000 binary64)) #s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal -2 binary64) x)) (if (<=.f64 y #s(literal 6769984589841923/2417851639229258349412352 binary64)) #s(approx (/ (* (* x 2) y) (- x y)) (+.f64 y y)) #s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal -2 binary64) x))))
#s(approx (/ (* (* x 2) y) (- x y)) (+.f64 y y))
Outputs
(if (<=.f64 y #s(literal -200000000000000018380567016286756476168068919431369064448 binary64)) (*.f64 (/.f64 y (-.f64 x y)) (*.f64 #s(literal 2 binary64) x)) (if (<=.f64 y #s(literal 2535301200456459/158456325028528675187087900672 binary64)) (*.f64 y (/.f64 (+.f64 x x) (-.f64 x y))) (*.f64 (/.f64 y (-.f64 x y)) (*.f64 #s(literal 2 binary64) x))))
(if (or (<=.f64 y #s(literal -200000000000000018380567016286756476168068919431369064448 binary64)) (not (<=.f64 y #s(literal 2535301200456459/158456325028528675187087900672 binary64)))) (*.f64 (/.f64 y (-.f64 x y)) (*.f64 #s(literal 2 binary64) x)) (*.f64 y (/.f64 (+.f64 x x) (-.f64 x y))))
(if (<=.f64 x #s(literal -5457904683003073/321053216647239593947814323906257853121968982105906607635393121525191171526921436896586092302098904493834409720225721295960658706676257560005359788247795462033399882271023229870096664909931806474077957259264 binary64)) (*.f64 y (/.f64 (+.f64 x x) (-.f64 x y))) (if (<=.f64 x #s(literal 802633041618099/40131652080904949243476790488282231640246122763238325954424140190648896440865179612073261537762363061729301215028215161995082338334532195000669973530974432754174985283877903733762083113741475809259744657408 binary64)) #s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x)) (*.f64 y (/.f64 (+.f64 x x) (-.f64 x y)))))
(if (or (<=.f64 x #s(literal -5457904683003073/321053216647239593947814323906257853121968982105906607635393121525191171526921436896586092302098904493834409720225721295960658706676257560005359788247795462033399882271023229870096664909931806474077957259264 binary64)) (not (<=.f64 x #s(literal 802633041618099/40131652080904949243476790488282231640246122763238325954424140190648896440865179612073261537762363061729301215028215161995082338334532195000669973530974432754174985283877903733762083113741475809259744657408 binary64)))) (*.f64 y (/.f64 (+.f64 x x) (-.f64 x y))) #s(approx (/ (* (* x 2) y) (- x y)) (*.f64 (fma.f64 (/.f64 x y) #s(literal -2 binary64) #s(literal -2 binary64)) x)))
(if (<=.f64 y #s(literal -37000000000000000 binary64)) #s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal -2 binary64) x)) (if (<=.f64 y #s(literal 6769984589841923/2417851639229258349412352 binary64)) #s(approx (/ (* (* x 2) y) (- x y)) (+.f64 y y)) #s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal -2 binary64) x))))
(if (or (<=.f64 y #s(literal -37000000000000000 binary64)) (not (<=.f64 y #s(literal 6769984589841923/2417851639229258349412352 binary64)))) #s(approx (/ (* (* x 2) y) (- x y)) (*.f64 #s(literal -2 binary64) x)) #s(approx (/ (* (* x 2) y) (- x y)) (+.f64 y y)))
#s(approx (/ (* (* x 2) y) (- x y)) (+.f64 y y))

derivations161.0ms (4.3%)

Memory
12.5MiB live, 149.4MiB allocated; 14ms collecting garbage
Stop Event
done
Compiler

Compiled 111 to 45 computations (59.5% saved)

preprocess116.0ms (3.1%)

Memory
-33.6MiB live, 117.9MiB allocated; 42ms collecting garbage
Compiler

Compiled 310 to 136 computations (56.1% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...