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

Time bar (total: 1.1s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze55.0ms (4.9%)

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

sample793.0ms (69.6%)

Memory
49.0MiB live, 1 253.8MiB allocated
Samples
521.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 351.0ms
ival-mult: 187.0ms (53.3% of total)
ival-add: 93.0ms (26.5% of total)
ival-div: 56.0ms (16% of total)
ival-true: 6.0ms (1.7% of total)
exact: 5.0ms (1.4% of total)
ival-assert: 3.0ms (0.9% of total)
Bogosity

explain111.0ms (9.8%)

Memory
-35.3MiB live, 184.0MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
831(-1.2667759651677722e+92 -1.992056475915993e+207)2(-1.1441838286863555e-163 -5.781374754848282e-151)(/.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/o430
(*.f64 x y)overflow43
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))overflow150
(*.f64 (+.f64 x y) (+.f64 x y))overflow123
/.f64(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))n/o160
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))overflow150
(*.f64 (+.f64 x y) (+.f64 x y))overflow123
/.f64(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))u/n140
(*.f64 x y)underflow23
/.f64(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))u/u90
(*.f64 x y)underflow23
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))underflow9
(*.f64 (+.f64 x y) (+.f64 x y))underflow9
Confusion
Predicted +Predicted -
+812
-1172
Precision
0.9878048780487805
Recall
0.9759036144578314
Confusion?
Predicted +Predicted MaybePredicted -
+8102
-10172
Precision?
0.9878048780487805
Recall?
0.9759036144578314
Freqs
test
numberfreq
0174
182
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
34.0ms512×0valid
Compiler

Compiled 174 to 40 computations (77% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-mult: 10.0ms (51.4% of total)
ival-add: 5.0ms (25.7% of total)
ival-div: 3.0ms (15.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess3.0ms (0.2%)

Memory
5.9MiB live, 5.9MiB 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.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
69.2%
(/.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.9MiB live, 0.9MiB 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)

localize25.0ms (2.2%)

Memory
5.9MiB live, 44.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 x y)
accuracy0.01171875
(*.f64 (+.f64 x y) (+.f64 x y))
accuracy0.0703125
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
accuracy19.466869501496664
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
Samples
18.0ms256×0valid
Compiler

Compiled 104 to 20 computations (80.8% saved)

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

series16.0ms (1.4%)

Memory
24.8MiB live, 24.8MiB allocated
Counts
4 → 55
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))
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 (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)))))
(/ (+ 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))))
(/ 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))
(/ 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)))))
(/ (+ 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))))
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)))
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)))
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)))
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)))
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)))

simplify3.0ms (0.3%)

Memory
-35.5MiB live, 2.9MiB allocated
Algorithm
egg-herbie
Counts
55 → 4
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 (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)))))
(/ (+ 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))))
(/ 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))
(/ 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)))))
(/ (+ 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))))
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))

rewrite0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Counts
4 → 4
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))
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))

eval1.0ms (0.1%)

Memory
1.8MiB live, 1.8MiB allocated
Compiler

Compiled 180 to 20 computations (88.9% saved)

prune2.0ms (0.1%)

Memory
3.4MiB live, 3.4MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New538
Fresh000
Picked011
Done000
Total549
Accuracy
69.6%
Counts
9 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
69.2%
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
2.3%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
2.2%
#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.4%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
Compiler

Compiled 94 to 47 computations (50% saved)

simplify1.0ms (0.1%)

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

Found 9 expressions of interest:

NewMetricScoreProgram
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
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

localize28.0ms (2.5%)

Memory
7.8MiB live, 45.1MiB allocated
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 x y)
accuracy0.01171875
(*.f64 (+.f64 x y) (+.f64 x y))
accuracy62.54441951595549
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
accuracy0.0
(+.f64 x y)
accuracy0.01171875
(*.f64 (+.f64 x y) (+.f64 x y))
accuracy0.0703125
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64)))
accuracy62.580672649756
#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.84785761157735
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
Samples
21.0ms256×0valid
Compiler

Compiled 226 to 29 computations (87.2% saved)

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

series6.0ms (0.5%)

Memory
11.1MiB live, 11.1MiB allocated
Counts
7 → 62
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)))
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)
(/ 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)))
(/ (+ 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)))
(/ 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))
(/ 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)))
(/ (+ 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)))
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))))
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))))
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))))
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))))
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))))

simplify2.0ms (0.1%)

Memory
3.1MiB live, 3.1MiB allocated
Algorithm
egg-herbie
Counts
62 → 7
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)
(/ 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)))
(/ (+ 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)))
(/ 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))
(/ 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)))
(/ (+ 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)))
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)))

rewrite1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Counts
7 → 7
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)))
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)))

eval2.0ms (0.2%)

Memory
3.6MiB live, 3.6MiB allocated
Compiler

Compiled 537 to 26 computations (95.2% saved)

prune2.0ms (0.2%)

Memory
4.6MiB live, 4.6MiB allocated
Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New16117
Fresh000
Picked123
Done011
Total17421
Accuracy
69.8%
Counts
21 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
69.2%
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
2.3%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
3.4%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
2.8%
#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 98 to 44 computations (55.1% saved)

simplify0.0ms (0%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
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
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

localize23.0ms (2%)

Memory
-7.2MiB live, 36.2MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 x y)
accuracy59.964427005742515
#s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y))
accuracy62.580672649756
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) #s(approx (* (* (+ x y) (+ x y)) (+ (+ x y) 1)) (+.f64 x y)))
Samples
17.0ms256×0valid
Compiler

Compiled 94 to 23 computations (75.5% saved)

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

series4.0ms (0.4%)

Memory
-33.6MiB live, 5.5MiB allocated
Counts
3 → 49
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)
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)
(/ 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)))
(/ (+ 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)))
(/ 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)))
(/ 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)))
(/ (+ 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)))
Calls

6 calls:

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

simplify1.0ms (0.1%)

Memory
2.4MiB live, 2.4MiB allocated
Algorithm
egg-herbie
Counts
49 → 3
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)
(/ 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)))
(/ (+ 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)))
(/ 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)))
(/ 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)))
(/ (+ 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)))
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)

rewrite0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Counts
3 → 3
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)
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)

eval1.0ms (0.1%)

Memory
1.2MiB live, 1.2MiB allocated
Compiler

Compiled 179 to 14 computations (92.2% saved)

prune4.0ms (0.3%)

Memory
7.4MiB live, 7.4MiB allocated
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New505
Fresh000
Picked011
Done033
Total549
Accuracy
69.8%
Counts
9 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
69.2%
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
2.3%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 (+.f64 x y) (+.f64 x y)))
3.4%
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
2.8%
#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 227 to 65 computations (71.4% saved)

regimes7.0ms (0.6%)

Memory
15.5MiB live, 15.5MiB allocated
Counts
5 → 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))) (*.f64 (+.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 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))))
Calls

3 calls:

2.0ms
y
2.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
69.2%1x
69.2%1y
69.2%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)

regimes8.0ms (0.7%)

Memory
-22.8MiB live, 15.5MiB allocated
Counts
4 → 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))) (*.f64 (+.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))))
Outputs
#s(approx (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))) (*.f64 x y))
Calls

3 calls:

4.0ms
y
2.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.4%1y
3.4%1x
3.4%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)

regimes4.0ms (0.3%)

Memory
10.6MiB live, 10.6MiB 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.8%1(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
2.8%1x
2.8%1y
Compiler

Compiled 19 to 13 computations (31.6% saved)

simplify5.0ms (0.4%)

Memory
12.3MiB live, 12.3MiB 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))))
#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
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) #s(literal 1 binary64))))
#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
1.6MiB live, 1.6MiB allocated
Stop Event
done
Compiler

Compiled 73 to 19 computations (74% saved)

preprocess32.0ms (2.8%)

Memory
-25.8MiB live, 54.1MiB allocated
Compiler

Compiled 218 to 78 computations (64.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...