Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, A

Time bar (total: 1.3s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze38.0ms (2.9%)

Memory
-1.1MiB live, 44.5MiB allocated
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
25%25%74.9%0.1%0%0%0%3
37.5%37.5%62.4%0.1%0%0%0%4
56.3%56.2%43.7%0.1%0%0%0%5
62.5%62.4%37.5%0.1%0%0%0%6
71.9%71.8%28.1%0.1%0%0%0%7
76.6%76.5%23.4%0.1%0%0%0%8
83.6%83.5%16.4%0.1%0%0%0%9
87.1%87%12.9%0.1%0%0%0%10
91.2%91.1%8.8%0.1%0%0%0%11
93.3%93.2%6.7%0.1%0%0%0%12
Compiler

Compiled 19 to 11 computations (42.1% saved)

sample749.0ms (57.7%)

Memory
23.5MiB live, 1 309.9MiB allocated
Samples
483.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 311.0ms
ival-mult: 162.0ms (52% of total)
ival-add: 76.0ms (24.4% of total)
ival-div: 60.0ms (19.3% of total)
ival-true: 6.0ms (1.9% of total)
exact: 5.0ms (1.6% of total)
ival-assert: 3.0ms (1% of total)
Bogosity

explain113.0ms (8.7%)

Memory
-13.3MiB live, 183.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
800-5(-1.5038578244355267e-137 -8.081892051988868e-187)(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
00-0-#s(literal 1 binary64)
00-0-(+.f64 (+.f64 x y) #s(literal 1 binary64))
00-0-(*.f64 x y)
00-0-y
00-0-(+.f64 x y)
00-0-(*.f64 (+.f64 x y) (+.f64 x y))
00-0-(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))o/o270
(*.f64 x y)overflow27
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))overflow132
(*.f64 (+.f64 x y) (+.f64 x y))overflow104
/.f64(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))u/n190
(*.f64 x y)underflow31
/.f64(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))n/o170
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))overflow132
(*.f64 (+.f64 x y) (+.f64 x y))overflow104
/.f64(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))u/u120
(*.f64 x y)underflow31
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))underflow12
(*.f64 (+.f64 x y) (+.f64 x y))underflow12
Confusion
Predicted +Predicted -
+755
-0176
Precision
1.0
Recall
0.9375
Confusion?
Predicted +Predicted MaybePredicted -
+7505
-00176
Precision?
1.0
Recall?
0.9375
Freqs
test
numberfreq
0181
175
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
35.0ms508×0valid
0.0ms2valid
0.0ms1valid
Compiler

Compiled 174 to 40 computations (77% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
ival-mult: 9.0ms (41.8% of total)
ival-add: 8.0ms (37.1% of total)
ival-div: 3.0ms (13.9% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess3.0ms (0.2%)

Memory
5.7MiB live, 5.7MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
Outputs
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
Compiler

Compiled 17 to 9 computations (47.1% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
70.5%
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
Compiler

Compiled 17 to 9 computations (47.1% saved)

simplify0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (+.f64 x y) (+.f64 x y))
cost-diff0
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
cost-diff0
(*.f64 x y)
cost-diff0
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
Calls
Call 1
Inputs
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(*.f64 x y)
x
y
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(*.f64 (+.f64 x y) (+.f64 x y))
(+.f64 x y)
(+.f64 (+.f64 x y) #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(*.f64 x y)
x
y
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(*.f64 (+.f64 x y) (+.f64 x y))
(+.f64 x y)
(+.f64 (+.f64 x y) #s(literal 1 binary64))
#s(literal 1 binary64)

localize26.0ms (2%)

Memory
0.1MiB live, 37.5MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(*.f64 (+.f64 x y) (+.f64 x y))
accuracy0.0078125
(+.f64 (+.f64 x y) #s(literal 1 binary64))
accuracy0.08984375
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
accuracy18.690747601005754
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
Samples
19.0ms254×0valid
0.0ms2valid
0.0ms1valid
Compiler

Compiled 104 to 20 computations (80.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-div: 5.0ms (40.1% of total)
ival-mult: 4.0ms (32.1% of total)
ival-add: 2.0ms (16% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series16.0ms (1.2%)

Memory
20.6MiB live, 20.5MiB allocated
Counts
5 → 64
Calls
Call 1
Inputs
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(*.f64 x y)
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(*.f64 (+.f64 x y) (+.f64 x y))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
Outputs
(/ x (* y (+ 1 y)))
(* x (+ (* -1 (* x (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* -1 (* x (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* x (- (* -1 (* x (+ (* -1 (/ (* (+ 1 (+ y (* 2 y))) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))) (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x y)
(* (pow y 2) (+ 1 y))
(+ (* x (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ y (* 2 y)))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ x (+ y (* 2 y))))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(pow y 2)
(+ (* 2 (* x y)) (pow y 2))
(+ (* x (+ x (* 2 y))) (pow y 2))
(+ 1 y)
(+ 1 (+ x y))
(/ y (pow x 2))
(/ (+ y (* -1 (/ (* y (+ 1 (+ y (* 2 y)))) x))) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))) (pow x 2)))) (/ (* y (+ 1 (+ y (* 2 y)))) x)) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (* (+ 1 (+ y (* 2 y))) (+ (* 2 (* y (+ 1 y))) (pow y 2))))) (+ (* -1 (* (+ 1 (+ y (* 2 y))) (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))))) (* (pow y 3) (+ 1 y)))) (pow x 3)))) (+ (* -1 (/ (* y (pow (+ 1 (+ y (* 2 y))) 2)) (pow x 2))) (+ (/ (* y (+ 1 (+ y (* 2 y)))) x) (/ (* y (+ (* 2 (* y (+ 1 y))) (pow y 2))) (pow x 2))))) (pow x 2))
(pow x 3)
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (/ 1 x) (/ y x)))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (/ (pow y 2) (pow x 2))))))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (+ (/ (* (pow y 2) (+ 1 y)) (pow x 3)) (/ (pow y 2) (pow x 2)))))))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y x))))
(* (pow x 2) (+ 1 (+ (* 2 (/ y x)) (/ (pow y 2) (pow x 2)))))
x
(* x (+ 1 (+ (/ 1 x) (/ y x))))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* y (* (+ 1 (+ y (* 2 y))) (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))))) (+ (* (+ 1 (+ y (* 2 y))) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) (* (pow y 3) (+ 1 y)))) x)) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (* 2 y))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))) x)) (* 2 y)))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (+ (* -1 (/ (* (pow y 2) (+ 1 y)) x)) (* -1 (pow y 2)))) x)) (* 2 y)))) x)) 1)))
(* (pow x 2) (+ 1 (* -1 (/ (+ (* -2 y) (* -1 (/ (pow y 2) x))) x))))
(* -1 (* x (- (* -1 (/ (+ 1 y) x)) 1)))
(/ y (* x (+ 1 x)))
(* y (+ (* -1 (* y (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* -1 (* y (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* y (- (* -1 (* y (+ (* -1 (/ (* (+ 1 (+ x (* 2 x))) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))) (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* (pow x 2) (+ 1 x))
(+ (* y (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (* 2 x)))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (+ y (* 2 x))))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(+ (* 2 (* x y)) (pow x 2))
(+ (* y (+ y (* 2 x))) (pow x 2))
(+ 1 x)
(/ x (pow y 2))
(/ (+ x (* -1 (/ (* x (+ 1 (+ x (* 2 x)))) y))) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))) (pow y 2)))) (/ (* x (+ 1 (+ x (* 2 x)))) y)) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (* (+ 1 (+ x (* 2 x))) (+ (* 2 (* x (+ 1 x))) (pow x 2))))) (+ (* -1 (* (+ 1 (+ x (* 2 x))) (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))))) (* (pow x 3) (+ 1 x)))) (pow y 3)))) (+ (* -1 (/ (* x (pow (+ 1 (+ x (* 2 x))) 2)) (pow y 2))) (+ (/ (* x (+ 1 (+ x (* 2 x)))) y) (/ (* x (+ (* 2 (* x (+ 1 x))) (pow x 2))) (pow y 2))))) (pow y 2))
(pow y 3)
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (/ 1 y) (/ x y)))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (/ (pow x 2) (pow y 2))))))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (+ (/ (* (pow x 2) (+ 1 x)) (pow y 3)) (/ (pow x 2) (pow y 2)))))))))
(* (pow y 2) (+ 1 (* 2 (/ x y))))
(* (pow y 2) (+ 1 (+ (* 2 (/ x y)) (/ (pow x 2) (pow y 2)))))
y
(* y (+ 1 (+ (/ 1 y) (/ x y))))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* x (* (+ 1 (+ x (* 2 x))) (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))))) (+ (* (+ 1 (+ x (* 2 x))) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) (* (pow x 3) (+ 1 x)))) y)) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (* 2 x))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))) y)) (* 2 x)))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (+ (* -1 (/ (* (pow x 2) (+ 1 x)) y)) (* -1 (pow x 2)))) y)) (* 2 x)))) y)) 1)))
(* (pow y 2) (+ 1 (* -1 (/ (+ (* -2 x) (* -1 (/ (pow x 2) y))) y))))
(* -1 (* y (- (* -1 (/ (+ 1 x) y)) 1)))
Calls

6 calls:

TimeVariablePointExpression
3.0ms
y
@-inf
((/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (* (+ x y) (+ x y)) (+ (+ x y) 1))
3.0ms
x
@-inf
((/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (* (+ x y) (+ x y)) (+ (+ x y) 1))
2.0ms
x
@0
((/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (* (+ x y) (+ x y)) (+ (+ x y) 1))
2.0ms
y
@inf
((/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (* (+ x y) (+ x y)) (+ (+ x y) 1))
2.0ms
x
@inf
((/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (* (+ x y) (+ x y)) (+ (+ x y) 1))

simplify2.0ms (0.1%)

Memory
2.3MiB live, 2.3MiB allocated
Algorithm
egg-herbie
Counts
64 → 5
Calls
Call 1
Inputs
(/ x (* y (+ 1 y)))
(* x (+ (* -1 (* x (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* -1 (* x (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* x (- (* -1 (* x (+ (* -1 (/ (* (+ 1 (+ y (* 2 y))) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))) (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x y)
(* (pow y 2) (+ 1 y))
(+ (* x (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ y (* 2 y)))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ x (+ y (* 2 y))))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(pow y 2)
(+ (* 2 (* x y)) (pow y 2))
(+ (* x (+ x (* 2 y))) (pow y 2))
(+ 1 y)
(+ 1 (+ x y))
(/ y (pow x 2))
(/ (+ y (* -1 (/ (* y (+ 1 (+ y (* 2 y)))) x))) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))) (pow x 2)))) (/ (* y (+ 1 (+ y (* 2 y)))) x)) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (* (+ 1 (+ y (* 2 y))) (+ (* 2 (* y (+ 1 y))) (pow y 2))))) (+ (* -1 (* (+ 1 (+ y (* 2 y))) (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))))) (* (pow y 3) (+ 1 y)))) (pow x 3)))) (+ (* -1 (/ (* y (pow (+ 1 (+ y (* 2 y))) 2)) (pow x 2))) (+ (/ (* y (+ 1 (+ y (* 2 y)))) x) (/ (* y (+ (* 2 (* y (+ 1 y))) (pow y 2))) (pow x 2))))) (pow x 2))
(pow x 3)
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (/ 1 x) (/ y x)))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (/ (pow y 2) (pow x 2))))))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (+ (/ (* (pow y 2) (+ 1 y)) (pow x 3)) (/ (pow y 2) (pow x 2)))))))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y x))))
(* (pow x 2) (+ 1 (+ (* 2 (/ y x)) (/ (pow y 2) (pow x 2)))))
x
(* x (+ 1 (+ (/ 1 x) (/ y x))))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* y (* (+ 1 (+ y (* 2 y))) (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))))) (+ (* (+ 1 (+ y (* 2 y))) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) (* (pow y 3) (+ 1 y)))) x)) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (* 2 y))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))) x)) (* 2 y)))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (+ (* -1 (/ (* (pow y 2) (+ 1 y)) x)) (* -1 (pow y 2)))) x)) (* 2 y)))) x)) 1)))
(* (pow x 2) (+ 1 (* -1 (/ (+ (* -2 y) (* -1 (/ (pow y 2) x))) x))))
(* -1 (* x (- (* -1 (/ (+ 1 y) x)) 1)))
(/ y (* x (+ 1 x)))
(* y (+ (* -1 (* y (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* -1 (* y (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* y (- (* -1 (* y (+ (* -1 (/ (* (+ 1 (+ x (* 2 x))) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))) (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* (pow x 2) (+ 1 x))
(+ (* y (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (* 2 x)))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (+ y (* 2 x))))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(+ (* 2 (* x y)) (pow x 2))
(+ (* y (+ y (* 2 x))) (pow x 2))
(+ 1 x)
(/ x (pow y 2))
(/ (+ x (* -1 (/ (* x (+ 1 (+ x (* 2 x)))) y))) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))) (pow y 2)))) (/ (* x (+ 1 (+ x (* 2 x)))) y)) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (* (+ 1 (+ x (* 2 x))) (+ (* 2 (* x (+ 1 x))) (pow x 2))))) (+ (* -1 (* (+ 1 (+ x (* 2 x))) (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))))) (* (pow x 3) (+ 1 x)))) (pow y 3)))) (+ (* -1 (/ (* x (pow (+ 1 (+ x (* 2 x))) 2)) (pow y 2))) (+ (/ (* x (+ 1 (+ x (* 2 x)))) y) (/ (* x (+ (* 2 (* x (+ 1 x))) (pow x 2))) (pow y 2))))) (pow y 2))
(pow y 3)
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (/ 1 y) (/ x y)))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (/ (pow x 2) (pow y 2))))))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (+ (/ (* (pow x 2) (+ 1 x)) (pow y 3)) (/ (pow x 2) (pow y 2)))))))))
(* (pow y 2) (+ 1 (* 2 (/ x y))))
(* (pow y 2) (+ 1 (+ (* 2 (/ x y)) (/ (pow x 2) (pow y 2)))))
y
(* y (+ 1 (+ (/ 1 y) (/ x y))))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* x (* (+ 1 (+ x (* 2 x))) (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))))) (+ (* (+ 1 (+ x (* 2 x))) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) (* (pow x 3) (+ 1 x)))) y)) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (* 2 x))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))) y)) (* 2 x)))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (+ (* -1 (/ (* (pow x 2) (+ 1 x)) y)) (* -1 (pow x 2)))) y)) (* 2 x)))) y)) 1)))
(* (pow y 2) (+ 1 (* -1 (/ (+ (* -2 x) (* -1 (/ (pow x 2) y))) y))))
(* -1 (* y (- (* -1 (/ (+ 1 x) y)) 1)))
Outputs
(/ x (* y (+ 1 y)))
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(* x (+ (* -1 (* x (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(*.f64 x y)
(* x (+ (* x (- (* -1 (* x (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(* x (+ (* x (- (* x (- (* -1 (* x (+ (* -1 (/ (* (+ 1 (+ y (* 2 y))) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))) (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(*.f64 (+.f64 x y) (+.f64 x y))
(* x y)
(+.f64 (+.f64 x y) #s(literal 1 binary64))

rewrite0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Counts
5 → 5
Calls
Call 1
Inputs
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(*.f64 x y)
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(*.f64 (+.f64 x y) (+.f64 x y))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
Outputs
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(*.f64 x y)
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(*.f64 (+.f64 x y) (+.f64 x y))
(+.f64 (+.f64 x y) #s(literal 1 binary64))

eval1.0ms (0.1%)

Memory
1.7MiB live, 1.7MiB allocated
Compiler

Compiled 220 to 22 computations (90% saved)

prune2.0ms (0.2%)

Memory
3.3MiB live, 3.3MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New6410
Fresh000
Picked011
Done000
Total6511
Accuracy
77.8%
Counts
11 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
70.5%
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
43.6%
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
2.5%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
2.4%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
3.7%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
Compiler

Compiled 117 to 57 computations (51.3% saved)

simplify1.0ms (0.1%)

Memory
1.3MiB live, 1.3MiB allocated
Algorithm
egg-herbie
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 x y)
cost-diff0
(+.f64 (+.f64 x y) #s(literal 1 binary64))
cost-diff0
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
cost-diff0
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
cost-diff0
(+.f64 x y)
cost-diff0
(*.f64 (+.f64 x y) (+.f64 x y))
cost-diff0
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
cost-diff0
(+.f64 x y)
cost-diff0
(*.f64 (+.f64 x y) (+.f64 x y))
cost-diff0
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
cost-diff0
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
cost-diff0
(*.f64 x y)
cost-diff0
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
Calls
Call 1
Inputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
(*.f64 x y)
x
y
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(*.f64 (+.f64 x y) (+.f64 x y))
(+.f64 x y)
x
y
(+.f64 (+.f64 x y) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
(*.f64 (+.f64 x y) (+.f64 x y))
(+.f64 x y)
x
y
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(*.f64 (+.f64 x y) (+.f64 x y))
Outputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
(*.f64 x y)
x
y
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(*.f64 (+.f64 x y) (+.f64 x y))
(+.f64 x y)
x
y
(+.f64 (+.f64 x y) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
(*.f64 (+.f64 x y) (+.f64 x y))
(+.f64 x y)
x
y
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(*.f64 (+.f64 x y) (+.f64 x y))

localize38.0ms (2.9%)

Memory
-37.8MiB live, 42.5MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.0078125
(+.f64 (+.f64 x y) #s(literal 1 binary64))
accuracy0.08984375
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
accuracy18.690747601005754
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
accuracy61.746818944492574
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
accuracy0.0
(+.f64 x y)
accuracy0.00390625
(*.f64 (+.f64 x y) (+.f64 x y))
accuracy62.40201918087689
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
accuracy0.00390625
(*.f64 (+.f64 x y) (+.f64 x y))
accuracy0.0078125
(+.f64 (+.f64 x y) #s(literal 1 binary64))
accuracy0.08984375
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
accuracy62.44821486687804
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
accuracy0.0
(*.f64 x y)
accuracy61.62503942527382
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
Samples
20.0ms254×0valid
0.0ms2valid
0.0ms1valid
Compiler

Compiled 340 to 31 computations (90.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 5.0ms (56.2% of total)
ival-add: 2.0ms (22.5% of total)
ival-div: 1.0ms (11.2% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series6.0ms (0.5%)

Memory
9.9MiB live, 9.9MiB allocated
Counts
10 → 69
Calls
Call 1
Inputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
(*.f64 x y)
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(*.f64 (+.f64 x y) (+.f64 x y))
(+.f64 x y)
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
Outputs
(/ x (* y (+ 1 y)))
(* x (+ (* -1 (* x (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* -1 (* x (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* x (- (* -1 (* x (+ (* -1 (/ (* (+ 1 (+ y (* 2 y))) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))) (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x y)
(* (pow y 2) (+ 1 y))
(+ (* x (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ y (* 2 y)))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ x (+ y (* 2 y))))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(pow y 2)
(+ (* 2 (* x y)) (pow y 2))
(+ (* x (+ x (* 2 y))) (pow y 2))
y
(+ x y)
(+ 1 y)
(+ 1 (+ x y))
(/ y (pow x 2))
(/ (+ y (* -1 (/ (* y (+ 1 (+ y (* 2 y)))) x))) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))) (pow x 2)))) (/ (* y (+ 1 (+ y (* 2 y)))) x)) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (* (+ 1 (+ y (* 2 y))) (+ (* 2 (* y (+ 1 y))) (pow y 2))))) (+ (* -1 (* (+ 1 (+ y (* 2 y))) (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))))) (* (pow y 3) (+ 1 y)))) (pow x 3)))) (+ (* -1 (/ (* y (pow (+ 1 (+ y (* 2 y))) 2)) (pow x 2))) (+ (/ (* y (+ 1 (+ y (* 2 y)))) x) (/ (* y (+ (* 2 (* y (+ 1 y))) (pow y 2))) (pow x 2))))) (pow x 2))
(pow x 3)
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (/ 1 x) (/ y x)))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (/ (pow y 2) (pow x 2))))))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (+ (/ (* (pow y 2) (+ 1 y)) (pow x 3)) (/ (pow y 2) (pow x 2)))))))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y x))))
(* (pow x 2) (+ 1 (+ (* 2 (/ y x)) (/ (pow y 2) (pow x 2)))))
x
(* x (+ 1 (/ y x)))
(* x (+ 1 (+ (/ 1 x) (/ y x))))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* y (* (+ 1 (+ y (* 2 y))) (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))))) (+ (* (+ 1 (+ y (* 2 y))) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) (* (pow y 3) (+ 1 y)))) x)) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (* 2 y))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))) x)) (* 2 y)))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (+ (* -1 (/ (* (pow y 2) (+ 1 y)) x)) (* -1 (pow y 2)))) x)) (* 2 y)))) x)) 1)))
(* (pow x 2) (+ 1 (* -1 (/ (+ (* -2 y) (* -1 (/ (pow y 2) x))) x))))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* -1 (* x (- (* -1 (/ (+ 1 y) x)) 1)))
(/ y (* x (+ 1 x)))
(* y (+ (* -1 (* y (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* -1 (* y (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* y (- (* -1 (* y (+ (* -1 (/ (* (+ 1 (+ x (* 2 x))) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))) (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* (pow x 2) (+ 1 x))
(+ (* y (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (* 2 x)))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (+ y (* 2 x))))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(+ (* 2 (* x y)) (pow x 2))
(+ (* y (+ y (* 2 x))) (pow x 2))
(+ 1 x)
(/ x (pow y 2))
(/ (+ x (* -1 (/ (* x (+ 1 (+ x (* 2 x)))) y))) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))) (pow y 2)))) (/ (* x (+ 1 (+ x (* 2 x)))) y)) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (* (+ 1 (+ x (* 2 x))) (+ (* 2 (* x (+ 1 x))) (pow x 2))))) (+ (* -1 (* (+ 1 (+ x (* 2 x))) (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))))) (* (pow x 3) (+ 1 x)))) (pow y 3)))) (+ (* -1 (/ (* x (pow (+ 1 (+ x (* 2 x))) 2)) (pow y 2))) (+ (/ (* x (+ 1 (+ x (* 2 x)))) y) (/ (* x (+ (* 2 (* x (+ 1 x))) (pow x 2))) (pow y 2))))) (pow y 2))
(pow y 3)
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (/ 1 y) (/ x y)))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (/ (pow x 2) (pow y 2))))))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (+ (/ (* (pow x 2) (+ 1 x)) (pow y 3)) (/ (pow x 2) (pow y 2)))))))))
(* (pow y 2) (+ 1 (* 2 (/ x y))))
(* (pow y 2) (+ 1 (+ (* 2 (/ x y)) (/ (pow x 2) (pow y 2)))))
(* y (+ 1 (/ x y)))
(* y (+ 1 (+ (/ 1 y) (/ x y))))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* x (* (+ 1 (+ x (* 2 x))) (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))))) (+ (* (+ 1 (+ x (* 2 x))) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) (* (pow x 3) (+ 1 x)))) y)) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (* 2 x))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))) y)) (* 2 x)))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (+ (* -1 (/ (* (pow x 2) (+ 1 x)) y)) (* -1 (pow x 2)))) y)) (* 2 x)))) y)) 1)))
(* (pow y 2) (+ 1 (* -1 (/ (+ (* -2 x) (* -1 (/ (pow x 2) y))) y))))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* -1 (* y (- (* -1 (/ (+ 1 x) y)) 1)))
Calls

6 calls:

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

simplify2.0ms (0.1%)

Memory
4.2MiB live, 4.2MiB allocated
Algorithm
egg-herbie
Counts
69 → 10
Calls
Call 1
Inputs
(/ x (* y (+ 1 y)))
(* x (+ (* -1 (* x (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* -1 (* x (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* x (- (* -1 (* x (+ (* -1 (/ (* (+ 1 (+ y (* 2 y))) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))) (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x y)
(* (pow y 2) (+ 1 y))
(+ (* x (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ y (* 2 y)))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ x (+ y (* 2 y))))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(pow y 2)
(+ (* 2 (* x y)) (pow y 2))
(+ (* x (+ x (* 2 y))) (pow y 2))
y
(+ x y)
(+ 1 y)
(+ 1 (+ x y))
(/ y (pow x 2))
(/ (+ y (* -1 (/ (* y (+ 1 (+ y (* 2 y)))) x))) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))) (pow x 2)))) (/ (* y (+ 1 (+ y (* 2 y)))) x)) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (* (+ 1 (+ y (* 2 y))) (+ (* 2 (* y (+ 1 y))) (pow y 2))))) (+ (* -1 (* (+ 1 (+ y (* 2 y))) (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))))) (* (pow y 3) (+ 1 y)))) (pow x 3)))) (+ (* -1 (/ (* y (pow (+ 1 (+ y (* 2 y))) 2)) (pow x 2))) (+ (/ (* y (+ 1 (+ y (* 2 y)))) x) (/ (* y (+ (* 2 (* y (+ 1 y))) (pow y 2))) (pow x 2))))) (pow x 2))
(pow x 3)
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (/ 1 x) (/ y x)))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (/ (pow y 2) (pow x 2))))))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (+ (/ (* (pow y 2) (+ 1 y)) (pow x 3)) (/ (pow y 2) (pow x 2)))))))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y x))))
(* (pow x 2) (+ 1 (+ (* 2 (/ y x)) (/ (pow y 2) (pow x 2)))))
x
(* x (+ 1 (/ y x)))
(* x (+ 1 (+ (/ 1 x) (/ y x))))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* y (* (+ 1 (+ y (* 2 y))) (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))))) (+ (* (+ 1 (+ y (* 2 y))) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) (* (pow y 3) (+ 1 y)))) x)) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (* 2 y))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))) x)) (* 2 y)))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (+ (* -1 (/ (* (pow y 2) (+ 1 y)) x)) (* -1 (pow y 2)))) x)) (* 2 y)))) x)) 1)))
(* (pow x 2) (+ 1 (* -1 (/ (+ (* -2 y) (* -1 (/ (pow y 2) x))) x))))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* -1 (* x (- (* -1 (/ (+ 1 y) x)) 1)))
(/ y (* x (+ 1 x)))
(* y (+ (* -1 (* y (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* -1 (* y (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* y (- (* -1 (* y (+ (* -1 (/ (* (+ 1 (+ x (* 2 x))) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))) (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* (pow x 2) (+ 1 x))
(+ (* y (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (* 2 x)))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (+ y (* 2 x))))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(+ (* 2 (* x y)) (pow x 2))
(+ (* y (+ y (* 2 x))) (pow x 2))
(+ 1 x)
(/ x (pow y 2))
(/ (+ x (* -1 (/ (* x (+ 1 (+ x (* 2 x)))) y))) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))) (pow y 2)))) (/ (* x (+ 1 (+ x (* 2 x)))) y)) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (* (+ 1 (+ x (* 2 x))) (+ (* 2 (* x (+ 1 x))) (pow x 2))))) (+ (* -1 (* (+ 1 (+ x (* 2 x))) (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))))) (* (pow x 3) (+ 1 x)))) (pow y 3)))) (+ (* -1 (/ (* x (pow (+ 1 (+ x (* 2 x))) 2)) (pow y 2))) (+ (/ (* x (+ 1 (+ x (* 2 x)))) y) (/ (* x (+ (* 2 (* x (+ 1 x))) (pow x 2))) (pow y 2))))) (pow y 2))
(pow y 3)
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (/ 1 y) (/ x y)))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (/ (pow x 2) (pow y 2))))))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (+ (/ (* (pow x 2) (+ 1 x)) (pow y 3)) (/ (pow x 2) (pow y 2)))))))))
(* (pow y 2) (+ 1 (* 2 (/ x y))))
(* (pow y 2) (+ 1 (+ (* 2 (/ x y)) (/ (pow x 2) (pow y 2)))))
(* y (+ 1 (/ x y)))
(* y (+ 1 (+ (/ 1 y) (/ x y))))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* x (* (+ 1 (+ x (* 2 x))) (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))))) (+ (* (+ 1 (+ x (* 2 x))) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) (* (pow x 3) (+ 1 x)))) y)) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (* 2 x))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))) y)) (* 2 x)))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (+ (* -1 (/ (* (pow x 2) (+ 1 x)) y)) (* -1 (pow x 2)))) y)) (* 2 x)))) y)) 1)))
(* (pow y 2) (+ 1 (* -1 (/ (+ (* -2 x) (* -1 (/ (pow x 2) y))) y))))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* -1 (* y (- (* -1 (/ (+ 1 x) y)) 1)))
Outputs
(/ x (* y (+ 1 y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
(* x (+ (* -1 (* x (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(*.f64 x y)
(* x (+ (* x (- (* -1 (* x (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(* x (+ (* x (- (* x (- (* -1 (* x (+ (* -1 (/ (* (+ 1 (+ y (* 2 y))) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))) (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(* x y)
(*.f64 (+.f64 x y) (+.f64 x y))
(* (pow y 2) (+ 1 y))
(+.f64 x y)
(+ (* x (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ y (* 2 y)))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ x (+ y (* 2 y))))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(pow y 2)
(+.f64 (+.f64 x y) #s(literal 1 binary64))

rewrite1.0ms (0.1%)

Memory
2.2MiB live, 2.2MiB allocated
Counts
10 → 10
Calls
Call 1
Inputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
(*.f64 x y)
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(*.f64 (+.f64 x y) (+.f64 x y))
(+.f64 x y)
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
Outputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
(*.f64 x y)
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(*.f64 (+.f64 x y) (+.f64 x y))
(+.f64 x y)
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))

eval4.0ms (0.3%)

Memory
10.0MiB live, 10.0MiB allocated
Compiler

Compiled 1 147 to 41 computations (96.4% saved)

prune4.0ms (0.3%)

Memory
7.0MiB live, 7.0MiB allocated
Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New33437
Fresh000
Picked224
Done011
Total35742
Accuracy
77.9%
Counts
42 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
70.5%
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
3.0%
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
37.0%
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
2.5%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
3.7%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
2.7%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
2.7%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
Compiler

Compiled 205 to 89 computations (56.6% saved)

simplify1.0ms (0.1%)

Memory
2.0MiB live, 2.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 x y)
cost-diff0
(+.f64 (+.f64 x y) #s(literal 1 binary64))
cost-diff0
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
cost-diff0
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
cost-diff0
(+.f64 x y)
cost-diff0
(+.f64 (+.f64 x y) #s(literal 1 binary64))
cost-diff0
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
cost-diff0
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
cost-diff0
(+.f64 x y)
cost-diff0
(+.f64 (+.f64 x y) #s(literal 1 binary64))
cost-diff0
#s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
cost-diff0
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
cost-diff0
(+.f64 x y)
cost-diff0
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
cost-diff0
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
Calls
Call 1
Inputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
(+.f64 x y)
x
y
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
(*.f64 (+.f64 x y) (+.f64 x y))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
Outputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
(+.f64 x y)
x
y
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
(*.f64 (+.f64 x y) (+.f64 x y))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))

localize39.0ms (3%)

Memory
-14.9MiB live, 61.2MiB allocated
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
accuracy0.0078125
(+.f64 (+.f64 x y) #s(literal 1 binary64))
accuracy18.690747601005754
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
accuracy60.07167856192354
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
accuracy61.746818944492574
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
accuracy18.690747601005754
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
accuracy61.746818944492574
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
accuracy62.40201918087689
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
accuracy62.44821486687804
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
accuracy0.0
(+.f64 x y)
accuracy0.0078125
(+.f64 (+.f64 x y) #s(literal 1 binary64))
accuracy61.49356847942461
#s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
accuracy62.40201918087689
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
accuracy0.0
(+.f64 x y)
accuracy60.07167856192354
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
accuracy62.44821486687804
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
Samples
27.0ms254×0valid
0.0ms2valid
0.0ms1valid
Compiler

Compiled 500 to 33 computations (93.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 8.0ms (62.4% of total)
ival-div: 2.0ms (15.6% of total)
ival-add: 2.0ms (15.6% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series7.0ms (0.5%)

Memory
17.0MiB live, 17.0MiB allocated
Counts
11 → 69
Calls
Call 1
Inputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
(+.f64 x y)
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
Outputs
(/ x (* y (+ 1 y)))
(* x (+ (* -1 (* x (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* -1 (* x (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* x (- (* -1 (* x (+ (* -1 (/ (* (+ 1 (+ y (* 2 y))) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))) (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* (pow y 2) (+ 1 y))
(+ (* x (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ y (* 2 y)))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ x (+ y (* 2 y))))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
y
(+ x y)
(pow y 2)
(+ (* 2 (* x y)) (pow y 2))
(+ (* x (+ x (* 2 y))) (pow y 2))
(+ 1 y)
(+ 1 (+ x y))
(* x y)
(/ y (pow x 2))
(/ (+ y (* -1 (/ (* y (+ 1 (+ y (* 2 y)))) x))) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))) (pow x 2)))) (/ (* y (+ 1 (+ y (* 2 y)))) x)) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (* (+ 1 (+ y (* 2 y))) (+ (* 2 (* y (+ 1 y))) (pow y 2))))) (+ (* -1 (* (+ 1 (+ y (* 2 y))) (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))))) (* (pow y 3) (+ 1 y)))) (pow x 3)))) (+ (* -1 (/ (* y (pow (+ 1 (+ y (* 2 y))) 2)) (pow x 2))) (+ (/ (* y (+ 1 (+ y (* 2 y)))) x) (/ (* y (+ (* 2 (* y (+ 1 y))) (pow y 2))) (pow x 2))))) (pow x 2))
(pow x 3)
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (/ 1 x) (/ y x)))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (/ (pow y 2) (pow x 2))))))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (+ (/ (* (pow y 2) (+ 1 y)) (pow x 3)) (/ (pow y 2) (pow x 2)))))))))
x
(* x (+ 1 (/ y x)))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y x))))
(* (pow x 2) (+ 1 (+ (* 2 (/ y x)) (/ (pow y 2) (pow x 2)))))
(* x (+ 1 (+ (/ 1 x) (/ y x))))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* y (* (+ 1 (+ y (* 2 y))) (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))))) (+ (* (+ 1 (+ y (* 2 y))) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) (* (pow y 3) (+ 1 y)))) x)) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (* 2 y))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))) x)) (* 2 y)))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (+ (* -1 (/ (* (pow y 2) (+ 1 y)) x)) (* -1 (pow y 2)))) x)) (* 2 y)))) x)) 1)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* (pow x 2) (+ 1 (* -1 (/ (+ (* -2 y) (* -1 (/ (pow y 2) x))) x))))
(* -1 (* x (- (* -1 (/ (+ 1 y) x)) 1)))
(/ y (* x (+ 1 x)))
(* y (+ (* -1 (* y (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* -1 (* y (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* y (- (* -1 (* y (+ (* -1 (/ (* (+ 1 (+ x (* 2 x))) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))) (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* (pow x 2) (+ 1 x))
(+ (* y (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (* 2 x)))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (+ y (* 2 x))))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(+ (* 2 (* x y)) (pow x 2))
(+ (* y (+ y (* 2 x))) (pow x 2))
(+ 1 x)
(/ x (pow y 2))
(/ (+ x (* -1 (/ (* x (+ 1 (+ x (* 2 x)))) y))) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))) (pow y 2)))) (/ (* x (+ 1 (+ x (* 2 x)))) y)) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (* (+ 1 (+ x (* 2 x))) (+ (* 2 (* x (+ 1 x))) (pow x 2))))) (+ (* -1 (* (+ 1 (+ x (* 2 x))) (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))))) (* (pow x 3) (+ 1 x)))) (pow y 3)))) (+ (* -1 (/ (* x (pow (+ 1 (+ x (* 2 x))) 2)) (pow y 2))) (+ (/ (* x (+ 1 (+ x (* 2 x)))) y) (/ (* x (+ (* 2 (* x (+ 1 x))) (pow x 2))) (pow y 2))))) (pow y 2))
(pow y 3)
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (/ 1 y) (/ x y)))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (/ (pow x 2) (pow y 2))))))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (+ (/ (* (pow x 2) (+ 1 x)) (pow y 3)) (/ (pow x 2) (pow y 2)))))))))
(* y (+ 1 (/ x y)))
(* (pow y 2) (+ 1 (* 2 (/ x y))))
(* (pow y 2) (+ 1 (+ (* 2 (/ x y)) (/ (pow x 2) (pow y 2)))))
(* y (+ 1 (+ (/ 1 y) (/ x y))))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* x (* (+ 1 (+ x (* 2 x))) (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))))) (+ (* (+ 1 (+ x (* 2 x))) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) (* (pow x 3) (+ 1 x)))) y)) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (* 2 x))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))) y)) (* 2 x)))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (+ (* -1 (/ (* (pow x 2) (+ 1 x)) y)) (* -1 (pow x 2)))) y)) (* 2 x)))) y)) 1)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* (pow y 2) (+ 1 (* -1 (/ (+ (* -2 x) (* -1 (/ (pow x 2) y))) y))))
(* -1 (* y (- (* -1 (/ (+ 1 x) y)) 1)))
Calls

6 calls:

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

simplify2.0ms (0.1%)

Memory
3.0MiB live, 3.0MiB allocated
Algorithm
egg-herbie
Counts
69 → 11
Calls
Call 1
Inputs
(/ x (* y (+ 1 y)))
(* x (+ (* -1 (* x (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* -1 (* x (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* x (- (* -1 (* x (+ (* -1 (/ (* (+ 1 (+ y (* 2 y))) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))) (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* (pow y 2) (+ 1 y))
(+ (* x (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ y (* 2 y)))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ x (+ y (* 2 y))))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
y
(+ x y)
(pow y 2)
(+ (* 2 (* x y)) (pow y 2))
(+ (* x (+ x (* 2 y))) (pow y 2))
(+ 1 y)
(+ 1 (+ x y))
(* x y)
(/ y (pow x 2))
(/ (+ y (* -1 (/ (* y (+ 1 (+ y (* 2 y)))) x))) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))) (pow x 2)))) (/ (* y (+ 1 (+ y (* 2 y)))) x)) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (* (+ 1 (+ y (* 2 y))) (+ (* 2 (* y (+ 1 y))) (pow y 2))))) (+ (* -1 (* (+ 1 (+ y (* 2 y))) (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))))) (* (pow y 3) (+ 1 y)))) (pow x 3)))) (+ (* -1 (/ (* y (pow (+ 1 (+ y (* 2 y))) 2)) (pow x 2))) (+ (/ (* y (+ 1 (+ y (* 2 y)))) x) (/ (* y (+ (* 2 (* y (+ 1 y))) (pow y 2))) (pow x 2))))) (pow x 2))
(pow x 3)
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (/ 1 x) (/ y x)))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (/ (pow y 2) (pow x 2))))))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (+ (/ (* (pow y 2) (+ 1 y)) (pow x 3)) (/ (pow y 2) (pow x 2)))))))))
x
(* x (+ 1 (/ y x)))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y x))))
(* (pow x 2) (+ 1 (+ (* 2 (/ y x)) (/ (pow y 2) (pow x 2)))))
(* x (+ 1 (+ (/ 1 x) (/ y x))))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* y (* (+ 1 (+ y (* 2 y))) (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))))) (+ (* (+ 1 (+ y (* 2 y))) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) (* (pow y 3) (+ 1 y)))) x)) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (* 2 y))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))) x)) (* 2 y)))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (+ (* -1 (/ (* (pow y 2) (+ 1 y)) x)) (* -1 (pow y 2)))) x)) (* 2 y)))) x)) 1)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* (pow x 2) (+ 1 (* -1 (/ (+ (* -2 y) (* -1 (/ (pow y 2) x))) x))))
(* -1 (* x (- (* -1 (/ (+ 1 y) x)) 1)))
(/ y (* x (+ 1 x)))
(* y (+ (* -1 (* y (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* -1 (* y (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* y (- (* -1 (* y (+ (* -1 (/ (* (+ 1 (+ x (* 2 x))) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))) (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* (pow x 2) (+ 1 x))
(+ (* y (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (* 2 x)))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (+ y (* 2 x))))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(+ (* 2 (* x y)) (pow x 2))
(+ (* y (+ y (* 2 x))) (pow x 2))
(+ 1 x)
(/ x (pow y 2))
(/ (+ x (* -1 (/ (* x (+ 1 (+ x (* 2 x)))) y))) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))) (pow y 2)))) (/ (* x (+ 1 (+ x (* 2 x)))) y)) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (* (+ 1 (+ x (* 2 x))) (+ (* 2 (* x (+ 1 x))) (pow x 2))))) (+ (* -1 (* (+ 1 (+ x (* 2 x))) (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))))) (* (pow x 3) (+ 1 x)))) (pow y 3)))) (+ (* -1 (/ (* x (pow (+ 1 (+ x (* 2 x))) 2)) (pow y 2))) (+ (/ (* x (+ 1 (+ x (* 2 x)))) y) (/ (* x (+ (* 2 (* x (+ 1 x))) (pow x 2))) (pow y 2))))) (pow y 2))
(pow y 3)
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (/ 1 y) (/ x y)))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (/ (pow x 2) (pow y 2))))))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (+ (/ (* (pow x 2) (+ 1 x)) (pow y 3)) (/ (pow x 2) (pow y 2)))))))))
(* y (+ 1 (/ x y)))
(* (pow y 2) (+ 1 (* 2 (/ x y))))
(* (pow y 2) (+ 1 (+ (* 2 (/ x y)) (/ (pow x 2) (pow y 2)))))
(* y (+ 1 (+ (/ 1 y) (/ x y))))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* x (* (+ 1 (+ x (* 2 x))) (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))))) (+ (* (+ 1 (+ x (* 2 x))) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) (* (pow x 3) (+ 1 x)))) y)) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (* 2 x))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))) y)) (* 2 x)))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (+ (* -1 (/ (* (pow x 2) (+ 1 x)) y)) (* -1 (pow x 2)))) y)) (* 2 x)))) y)) 1)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* (pow y 2) (+ 1 (* -1 (/ (+ (* -2 x) (* -1 (/ (pow x 2) y))) y))))
(* -1 (* y (- (* -1 (/ (+ 1 x) y)) 1)))
Outputs
(/ x (* y (+ 1 y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
(* x (+ (* -1 (* x (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
(* x (+ (* x (- (* -1 (* x (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(+.f64 x y)
(* x (+ (* x (- (* x (- (* -1 (* x (+ (* -1 (/ (* (+ 1 (+ y (* 2 y))) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))) (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(* (pow y 2) (+ 1 y))
#s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ y (* 2 y)))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ x (+ y (* 2 y))))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
y
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
(+ x y)
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
(pow y 2)
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))

rewrite6.0ms (0.5%)

Memory
-41.3MiB live, 2.0MiB allocated
Counts
11 → 11
Calls
Call 1
Inputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
(+.f64 x y)
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
Outputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
(+.f64 x y)
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))

eval5.0ms (0.4%)

Memory
10.1MiB live, 10.1MiB allocated
Compiler

Compiled 2 343 to 75 computations (96.8% saved)

prune9.0ms (0.7%)

Memory
16.8MiB live, 16.8MiB allocated
Pruning

11 alts after pruning (4 fresh and 7 done)

PrunedKeptTotal
New43447
Fresh000
Picked044
Done033
Total431154
Accuracy
78.0%
Counts
54 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
70.5%
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
3.0%
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
37.0%
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
43.5%
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
2.7%
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))))
4.8%
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
37.4%
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
2.5%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
3.7%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
2.7%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
2.7%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
Compiler

Compiled 481 to 167 computations (65.3% saved)

simplify2.0ms (0.2%)

Memory
4.6MiB live, 4.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 x y)
cost-diff0
(+.f64 (+.f64 x y) #s(literal 1 binary64))
cost-diff0
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
cost-diff0
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
cost-diff0
(+.f64 x y)
cost-diff0
(+.f64 (+.f64 x y) #s(literal 1 binary64))
cost-diff0
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
cost-diff0
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))))
cost-diff0
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
cost-diff0
(+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))
cost-diff0
#s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64)))
cost-diff0
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
cost-diff0
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
cost-diff0
(+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))
cost-diff0
#s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64)))
cost-diff0
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
Calls
Call 1
Inputs
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
#s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64)))
(+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
(*.f64 (+.f64 x y) (+.f64 x y))
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64)))
(+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))))
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))
(*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))
#s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
(*.f64 (+.f64 x y) (+.f64 x y))
Outputs
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
#s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64)))
(+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
(*.f64 (+.f64 x y) (+.f64 x y))
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64)))
(+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))))
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
x
y
#s(literal 1 binary64)
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))
(*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))
#s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
(*.f64 (+.f64 x y) (+.f64 x y))

localize66.0ms (5.1%)

Memory
-20.0MiB live, 92.0MiB allocated
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy62.40201918087689
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
accuracy62.40201918087689
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))
accuracy62.44821486687804
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
accuracy62.44821486687804
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))))
accuracy60.07167856192354
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
accuracy60.07167856192354
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))))
accuracy61.746818944492574
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
accuracy62.26924633912415
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
accuracy60.07167856192354
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
accuracy61.746818944492574
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
accuracy61.746818944492574
#s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64)))
accuracy62.26924633912415
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
accuracy61.746818944492574
#s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64)))
accuracy62.26924633912415
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
accuracy62.40201918087689
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
accuracy62.44821486687804
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
Samples
26.0ms254×0valid
0.0ms2valid
0.0ms1valid
Compiler

Compiled 1 510 to 41 computations (97.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 5.0ms (55.5% of total)
ival-div: 2.0ms (22.2% of total)
ival-add: 2.0ms (22.2% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series8.0ms (0.6%)

Memory
15.4MiB live, 15.4MiB allocated
Counts
16 → 57
Calls
Call 1
Inputs
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
#s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64)))
(+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))
Outputs
(/ x (* y (+ 1 y)))
(* x (+ (* -1 (* x (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* -1 (* x (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* x (- (* -1 (* x (+ (* -1 (/ (* (+ 1 (+ y (* 2 y))) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))) (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x y)
(+ 1 y)
(+ 1 (+ x y))
y
(+ x y)
(* (pow y 2) (+ 1 y))
(+ (* x (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ y (* 2 y)))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ x (+ y (* 2 y))))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(/ y (pow x 2))
(/ (+ y (* -1 (/ (* y (+ 1 (+ y (* 2 y)))) x))) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))) (pow x 2)))) (/ (* y (+ 1 (+ y (* 2 y)))) x)) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (* (+ 1 (+ y (* 2 y))) (+ (* 2 (* y (+ 1 y))) (pow y 2))))) (+ (* -1 (* (+ 1 (+ y (* 2 y))) (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))))) (* (pow y 3) (+ 1 y)))) (pow x 3)))) (+ (* -1 (/ (* y (pow (+ 1 (+ y (* 2 y))) 2)) (pow x 2))) (+ (/ (* y (+ 1 (+ y (* 2 y)))) x) (/ (* y (+ (* 2 (* y (+ 1 y))) (pow y 2))) (pow x 2))))) (pow x 2))
x
(* x (+ 1 (+ (/ 1 x) (/ y x))))
(* x (+ 1 (/ y x)))
(pow x 3)
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (/ 1 x) (/ y x)))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (/ (pow y 2) (pow x 2))))))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (+ (/ (* (pow y 2) (+ 1 y)) (pow x 3)) (/ (pow y 2) (pow x 2)))))))))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* y (* (+ 1 (+ y (* 2 y))) (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))))) (+ (* (+ 1 (+ y (* 2 y))) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) (* (pow y 3) (+ 1 y)))) x)) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(* -1 (* x (- (* -1 (/ (+ 1 y) x)) 1)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (* 2 y))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))) x)) (* 2 y)))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (+ (* -1 (/ (* (pow y 2) (+ 1 y)) x)) (* -1 (pow y 2)))) x)) (* 2 y)))) x)) 1)))
(/ y (* x (+ 1 x)))
(* y (+ (* -1 (* y (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* -1 (* y (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* y (- (* -1 (* y (+ (* -1 (/ (* (+ 1 (+ x (* 2 x))) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))) (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(+ 1 x)
(* (pow x 2) (+ 1 x))
(+ (* y (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (* 2 x)))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (+ y (* 2 x))))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(/ x (pow y 2))
(/ (+ x (* -1 (/ (* x (+ 1 (+ x (* 2 x)))) y))) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))) (pow y 2)))) (/ (* x (+ 1 (+ x (* 2 x)))) y)) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (* (+ 1 (+ x (* 2 x))) (+ (* 2 (* x (+ 1 x))) (pow x 2))))) (+ (* -1 (* (+ 1 (+ x (* 2 x))) (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))))) (* (pow x 3) (+ 1 x)))) (pow y 3)))) (+ (* -1 (/ (* x (pow (+ 1 (+ x (* 2 x))) 2)) (pow y 2))) (+ (/ (* x (+ 1 (+ x (* 2 x)))) y) (/ (* x (+ (* 2 (* x (+ 1 x))) (pow x 2))) (pow y 2))))) (pow y 2))
(* y (+ 1 (+ (/ 1 y) (/ x y))))
(* y (+ 1 (/ x y)))
(pow y 3)
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (/ 1 y) (/ x y)))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (/ (pow x 2) (pow y 2))))))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (+ (/ (* (pow x 2) (+ 1 x)) (pow y 3)) (/ (pow x 2) (pow y 2)))))))))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* x (* (+ 1 (+ x (* 2 x))) (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))))) (+ (* (+ 1 (+ x (* 2 x))) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) (* (pow x 3) (+ 1 x)))) y)) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(* -1 (* y (- (* -1 (/ (+ 1 x) y)) 1)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (* 2 x))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))) y)) (* 2 x)))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (+ (* -1 (/ (* (pow x 2) (+ 1 x)) y)) (* -1 (pow x 2)))) y)) (* 2 x)))) y)) 1)))
Calls

6 calls:

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

simplify2.0ms (0.2%)

Memory
3.2MiB live, 3.2MiB allocated
Algorithm
egg-herbie
Counts
57 → 16
Calls
Call 1
Inputs
(/ x (* y (+ 1 y)))
(* x (+ (* -1 (* x (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* -1 (* x (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x (+ (* x (- (* x (- (* -1 (* x (+ (* -1 (/ (* (+ 1 (+ y (* 2 y))) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))) (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(* x y)
(+ 1 y)
(+ 1 (+ x y))
y
(+ x y)
(* (pow y 2) (+ 1 y))
(+ (* x (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ y (* 2 y)))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ x (+ y (* 2 y))))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
(/ y (pow x 2))
(/ (+ y (* -1 (/ (* y (+ 1 (+ y (* 2 y)))) x))) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))) (pow x 2)))) (/ (* y (+ 1 (+ y (* 2 y)))) x)) (pow x 2))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (* (+ 1 (+ y (* 2 y))) (+ (* 2 (* y (+ 1 y))) (pow y 2))))) (+ (* -1 (* (+ 1 (+ y (* 2 y))) (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))))) (* (pow y 3) (+ 1 y)))) (pow x 3)))) (+ (* -1 (/ (* y (pow (+ 1 (+ y (* 2 y))) 2)) (pow x 2))) (+ (/ (* y (+ 1 (+ y (* 2 y)))) x) (/ (* y (+ (* 2 (* y (+ 1 y))) (pow y 2))) (pow x 2))))) (pow x 2))
x
(* x (+ 1 (+ (/ 1 x) (/ y x))))
(* x (+ 1 (/ y x)))
(pow x 3)
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (/ 1 x) (/ y x)))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (/ (pow y 2) (pow x 2))))))))
(* (pow x 3) (+ 1 (+ (* 2 (/ y x)) (+ (* 2 (/ (* y (+ 1 y)) (pow x 2))) (+ (/ 1 x) (+ (/ y x) (+ (/ (* (pow y 2) (+ 1 y)) (pow x 3)) (/ (pow y 2) (pow x 2)))))))))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(/ (+ y (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* y (* (+ 1 (+ y (* 2 y))) (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))))) (+ (* (+ 1 (+ y (* 2 y))) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) (* (pow y 3) (+ 1 y)))) x)) (+ (* y (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2)))) (* y (pow (+ 1 (+ y (* 2 y))) 2)))) x)) (* y (+ 1 (+ y (* 2 y))))) x))) (pow x 2))
(* -1 (* x (- (* -1 (/ (+ 1 y) x)) 1)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (* 2 y))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (* -1 (pow y 2))) x)) (* 2 y)))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1 (+ y (+ (* -1 (/ (+ (* -2 (* y (+ 1 y))) (+ (* -1 (/ (* (pow y 2) (+ 1 y)) x)) (* -1 (pow y 2)))) x)) (* 2 y)))) x)) 1)))
(/ y (* x (+ 1 x)))
(* y (+ (* -1 (* y (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* -1 (* y (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(* y (+ (* y (- (* y (- (* -1 (* y (+ (* -1 (/ (* (+ 1 (+ x (* 2 x))) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))) (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* x (+ 1 x))) (pow x 2)) (+ (/ 1 (* x (pow (+ 1 x) 2))) (* 2 (/ 1 (* (pow x 2) (+ 1 x)))))) (* (pow x 2) (+ 1 x)))) (+ (* 3 (/ 1 (* (pow x 2) (pow (+ 1 x) 2)))) (/ 1 (* (pow x 3) (pow (+ 1 x) 2))))))) (+ (* 2 (/ 1 (* (pow x 2) (+ 1 x)))) (/ 1 (* x (pow (+ 1 x) 2)))))) (/ 1 (* x (+ 1 x)))))
(+ 1 x)
(* (pow x 2) (+ 1 x))
(+ (* y (+ (* 2 (* x (+ 1 x))) (pow x 2))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (* 2 x)))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(+ (* y (+ (* 2 (* x (+ 1 x))) (+ (* y (+ 1 (+ x (+ y (* 2 x))))) (pow x 2)))) (* (pow x 2) (+ 1 x)))
(/ x (pow y 2))
(/ (+ x (* -1 (/ (* x (+ 1 (+ x (* 2 x)))) y))) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))) (pow y 2)))) (/ (* x (+ 1 (+ x (* 2 x)))) y)) (pow y 2))
(/ (- (+ x (* -1 (/ (+ (* -1 (* x (* (+ 1 (+ x (* 2 x))) (+ (* 2 (* x (+ 1 x))) (pow x 2))))) (+ (* -1 (* (+ 1 (+ x (* 2 x))) (+ (* -1 (* x (pow (+ 1 (+ x (* 2 x))) 2))) (* x (+ (* 2 (* x (+ 1 x))) (pow x 2)))))) (* (pow x 3) (+ 1 x)))) (pow y 3)))) (+ (* -1 (/ (* x (pow (+ 1 (+ x (* 2 x))) 2)) (pow y 2))) (+ (/ (* x (+ 1 (+ x (* 2 x)))) y) (/ (* x (+ (* 2 (* x (+ 1 x))) (pow x 2))) (pow y 2))))) (pow y 2))
(* y (+ 1 (+ (/ 1 y) (/ x y))))
(* y (+ 1 (/ x y)))
(pow y 3)
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (/ 1 y) (/ x y)))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (/ (pow x 2) (pow y 2))))))))
(* (pow y 3) (+ 1 (+ (* 2 (/ x y)) (+ (* 2 (/ (* x (+ 1 x)) (pow y 2))) (+ (/ 1 y) (+ (/ x y) (+ (/ (* (pow x 2) (+ 1 x)) (pow y 3)) (/ (pow x 2) (pow y 2)))))))))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(/ (+ x (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* x (* (+ 1 (+ x (* 2 x))) (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))))) (+ (* (+ 1 (+ x (* 2 x))) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) (* (pow x 3) (+ 1 x)))) y)) (+ (* x (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2)))) (* x (pow (+ 1 (+ x (* 2 x))) 2)))) y)) (* x (+ 1 (+ x (* 2 x))))) y))) (pow y 2))
(* -1 (* y (- (* -1 (/ (+ 1 x) y)) 1)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (* 2 x))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (* -1 (pow x 2))) y)) (* 2 x)))) y)) 1)))
(* -1 (* (pow y 3) (- (* -1 (/ (+ 1 (+ x (+ (* -1 (/ (+ (* -2 (* x (+ 1 x))) (+ (* -1 (/ (* (pow x 2) (+ 1 x)) y)) (* -1 (pow x 2)))) y)) (* 2 x)))) y)) 1)))
Outputs
(/ x (* y (+ 1 y)))
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
(* x (+ (* -1 (* x (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
#s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64)))
(* x (+ (* x (- (* -1 (* x (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
(+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))
(* x (+ (* x (- (* x (- (* -1 (* x (+ (* -1 (/ (* (+ 1 (+ y (* 2 y))) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* -1 (/ (* (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))) (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* -1 (/ (* (+ (* 2 (* y (+ 1 y))) (pow y 2)) (+ (/ 1 (* y (pow (+ 1 y) 2))) (* 2 (/ 1 (* (pow y 2) (+ 1 y)))))) (* (pow y 2) (+ 1 y)))) (+ (* 3 (/ 1 (* (pow y 2) (pow (+ 1 y) 2)))) (/ 1 (* (pow y 3) (pow (+ 1 y) 2))))))) (+ (* 2 (/ 1 (* (pow y 2) (+ 1 y)))) (/ 1 (* y (pow (+ 1 y) 2)))))) (/ 1 (* y (+ 1 y)))))
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
(* x y)
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
(+ 1 y)
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))))
(+ 1 (+ x y))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
y
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+ x y)
(+.f64 x y)
(* (pow y 2) (+ 1 y))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
(+ (* x (+ (* 2 (* y (+ 1 y))) (pow y 2))) (* (pow y 2) (+ 1 y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ y (* 2 y)))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
(+ (* x (+ (* 2 (* y (+ 1 y))) (+ (* x (+ 1 (+ x (+ y (* 2 y))))) (pow y 2)))) (* (pow y 2) (+ 1 y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
(/ y (pow x 2))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))))
(/ (+ y (* -1 (/ (* y (+ 1 (+ y (* 2 y)))) x))) (pow x 2))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))))
(/ (- (+ y (* -1 (/ (+ (* -1 (* y (pow (+ 1 (+ y (* 2 y))) 2))) (* y (+ (* 2 (* y (+ 1 y))) (pow y 2)))) (pow x 2)))) (/ (* y (+ 1 (+ y (* 2 y)))) x)) (pow x 2))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))

rewrite2.0ms (0.1%)

Memory
3.3MiB live, 3.3MiB allocated
Counts
16 → 16
Calls
Call 1
Inputs
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
#s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64)))
(+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))
Outputs
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
#s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64)))
(+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))
#s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))))
#s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
(+.f64 (+.f64 x y) #s(literal 1 binary64))
(+.f64 x y)
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))))
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))

eval25.0ms (1.9%)

Memory
-50.5MiB live, 15.3MiB allocated
Compiler

Compiled 5 017 to 83 computations (98.3% saved)

prune13.0ms (1%)

Memory
26.3MiB live, 26.3MiB allocated
Pruning

16 alts after pruning (5 fresh and 11 done)

PrunedKeptTotal
New66571
Fresh000
Picked044
Done077
Total661682
Accuracy
78.0%
Counts
82 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
70.5%
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
36.9%
(/.f64 #s(approx (* x y) (/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
3.0%
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
37.0%
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
43.5%
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
2.7%
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))))
2.4%
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))))
4.8%
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
37.4%
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
37.0%
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
3.4%
(/.f64 #s(approx (* x y) #s(approx (+ (+ x y) 1) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))))))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
2.5%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
3.7%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
2.4%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))))
2.7%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
2.7%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
Compiler

Compiled 1 894 to 323 computations (82.9% saved)

regimes22.0ms (1.7%)

Memory
-6.0MiB live, 32.4MiB allocated
Counts
18 → 2
Calls
Call 1
Inputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))))
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
(/.f64 #s(approx (* x y) #s(approx (+ (+ x y) 1) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))))))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
(/.f64 #s(approx (* x y) (/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))))
Outputs
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
Calls

3 calls:

9.0ms
y
6.0ms
x
5.0ms
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
Results
AccuracySegmentsBranch
76.4%3x
76.4%3y
77.6%2(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
Compiler

Compiled 19 to 13 computations (31.6% saved)

regimes18.0ms (1.4%)

Memory
-11.5MiB live, 26.7MiB allocated
Counts
12 → 1
Calls
Call 1
Inputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (+ x y) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))))))
Outputs
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
Calls

3 calls:

9.0ms
x
4.0ms
y
4.0ms
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
Results
AccuracySegmentsBranch
43.5%1x
43.5%1y
43.5%1(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
Compiler

Compiled 19 to 13 computations (31.6% saved)

regimes11.0ms (0.8%)

Memory
27.8MiB live, 27.8MiB allocated
Counts
9 → 1
Calls
Call 1
Inputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
(/.f64 #s(approx (* x y) (+.f64 #s(approx (+ x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
Outputs
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
Calls

3 calls:

3.0ms
y
3.0ms
x
3.0ms
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
Results
AccuracySegmentsBranch
37.0%1x
37.0%1y
37.0%1(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
Compiler

Compiled 19 to 13 computations (31.6% saved)

regimes11.0ms (0.8%)

Memory
-10.0MiB live, 28.6MiB allocated
Counts
7 → 1
Calls
Call 1
Inputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (+ x y) (+ x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
Outputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
Calls

3 calls:

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

Compiled 19 to 13 computations (31.6% saved)

regimes4.0ms (0.3%)

Memory
13.8MiB live, 13.8MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

3 calls:

1.0ms
y
1.0ms
x
1.0ms
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
Results
AccuracySegmentsBranch
2.7%1(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
2.7%1x
2.7%1y
Compiler

Compiled 19 to 13 computations (31.6% saved)

bsearch1.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.0508388700838628e-9
NaN
Compiler

Compiled 20 to 14 computations (30% saved)

simplify6.0ms (0.4%)

Memory
-29.1MiB live, 16.6MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(if (<=.f64 (/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))) #s(literal 3022314549036573/604462909807314587353088 binary64)) (/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
Outputs
(if (<=.f64 (/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))) #s(literal 3022314549036573/604462909807314587353088 binary64)) (/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))) (/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y))))))))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) #s(approx (+ x y) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))))))
(/.f64 #s(approx (* x y) (+.f64 (+.f64 x y) #s(literal 1 binary64))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) #s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))

soundness1.0ms (0.1%)

Memory
3.1MiB live, 3.1MiB allocated
Stop Event
fuel
Compiler

Compiled 320 to 31 computations (90.3% saved)

preprocess34.0ms (2.7%)

Memory
6.1MiB live, 83.9MiB allocated
Compiler

Compiled 712 to 102 computations (85.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...