Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, B

Time bar (total: 1.5s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze13.0ms (0.8%)

Memory
-15.6MiB live, 22.3MiB 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
50%50%50%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
66.7%50%25%0.1%0%25%0%4
66.7%50%25%0.1%0%25%0%5
80%50%12.5%0.1%0%37.5%0%6
80%50%12.5%0.1%0%37.5%0%7
88.9%50%6.2%0.1%0%43.7%0%8
88.9%50%6.2%0.1%0%43.7%0%9
94.1%50%3.1%0.1%0%46.8%0%10
94.1%50%3.1%0.1%0%46.8%0%11
97%50%1.6%0.1%0%48.4%0%12
Compiler

Compiled 16 to 14 computations (12.5% saved)

sample889.0ms (58.8%)

Memory
-11.9MiB live, 1 436.3MiB allocated
Samples
557.0ms8 256×0valid
19.0ms261×0invalid
Precisions
Click to see histograms. Total time spent on operations: 389.0ms
ival-mult: 152.0ms (39.1% of total)
ival-sqrt: 79.0ms (20.3% of total)
ival-div: 59.0ms (15.2% of total)
ival-add: 42.0ms (10.8% of total)
ival-sub: 38.0ms (9.8% of total)
exact: 10.0ms (2.6% of total)
ival-true: 6.0ms (1.5% of total)
ival-assert: 3.0ms (0.8% of total)
Bogosity

explain117.0ms (7.7%)

Memory
9.8MiB live, 213.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
00-0-(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
00-0-(sqrt.f64 x)
00-0-(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
00-0-#s(literal 3 binary64)
00-0-#s(literal 1 binary64)
00-0-(-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))
00-0-#s(literal 9 binary64)
00-0-(+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
00-0-(*.f64 x #s(literal 9 binary64))
00-0-y
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
39.0ms512×0valid
Compiler

Compiled 165 to 52 computations (68.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 23.0ms
ival-mult: 10.0ms (44% of total)
ival-sqrt: 4.0ms (17.6% of total)
ival-div: 3.0ms (13.2% of total)
ival-sub: 2.0ms (8.8% of total)
ival-add: 2.0ms (8.8% of total)
exact: 1.0ms (4.4% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess3.0ms (0.2%)

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

Compiled 14 to 12 computations (14.3% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB 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
99.5%
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
Compiler

Compiled 14 to 12 computations (14.3% 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 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))
cost-diff0
(sqrt.f64 x)
cost-diff0
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
cost-diff0
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
#s(literal 3 binary64)
(sqrt.f64 x)
x
(-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))
(+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
y
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
#s(literal 1 binary64)
(*.f64 x #s(literal 9 binary64))
#s(literal 9 binary64)
Outputs
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
#s(literal 3 binary64)
(sqrt.f64 x)
x
(-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))
(+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
y
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
#s(literal 1 binary64)
(*.f64 x #s(literal 9 binary64))
#s(literal 9 binary64)

localize28.0ms (1.9%)

Memory
8.7MiB live, 47.2MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
accuracy0.2109375
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
accuracy0.23828125
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
accuracy0.2890625
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
Samples
21.0ms256×0valid
Compiler

Compiled 100 to 26 computations (74% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-mult: 4.0ms (32% of total)
ival-sqrt: 4.0ms (32% of total)
ival-div: 2.0ms (16% of total)
ival-sub: 1.0ms (8% of total)
ival-add: 1.0ms (8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series10.0ms (0.6%)

Memory
-23.4MiB live, 15.0MiB allocated
Counts
6 → 26
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
(sqrt.f64 x)
(-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
(+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
Outputs
(* 1/3 (sqrt (/ 1 x)))
(/ (+ (* 1/3 (sqrt x)) (* 3 (* (sqrt (pow x 3)) (- y 1)))) x)
(* 3 (sqrt x))
(sqrt x)
(/ 1/9 x)
(/ (+ 1/9 (* x (- y 1))) x)
(/ (+ 1/9 (* x y)) x)
(* 3 (* (sqrt x) (- y 1)))
(* x (+ (* 1/3 (sqrt (/ 1 (pow x 3)))) (* 3 (* (sqrt (/ 1 x)) (- y 1)))))
(- y 1)
(- (+ y (* 1/9 (/ 1 x))) 1)
y
(+ y (* 1/9 (/ 1 x)))
(* -3 (* (sqrt x) (* (pow (sqrt -1) 2) (- y 1))))
(* -1 (* x (+ (* 1/3 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* 3 (* (sqrt (/ 1 x)) (* (pow (sqrt -1) 2) (- y 1)))))))
(* -3 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* 3 (* (sqrt x) (- (* 1/9 (/ 1 x)) 1)))
(+ (* 3 (* (sqrt x) y)) (* 3 (* (sqrt x) (- (* 1/9 (/ 1 x)) 1))))
(- (* 1/9 (/ 1 x)) 1)
(* 3 (* (sqrt x) y))
(* y (+ (* 3 (sqrt x)) (* 3 (* (sqrt x) (/ (- (* 1/9 (/ 1 x)) 1) y)))))
(* y (- (+ 1 (/ 1/9 (* x y))) (/ 1 y)))
(* y (+ 1 (* 1/9 (/ 1 (* x y)))))
(* -1 (* y (+ (* -3 (sqrt x)) (* -3 (* (sqrt x) (/ (- (* 1/9 (/ 1 x)) 1) y))))))
(* -1 (* y (- (* -1 (/ (- (* 1/9 (/ 1 x)) 1) y)) 1)))
Calls

6 calls:

TimeVariablePointExpression
2.0ms
y
@inf
((* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (* 3 (sqrt x)) (sqrt x) (- (+ y (/ 1 (* x 9))) 1) (/ 1 (* x 9)) (+ y (/ 1 (* x 9))))
2.0ms
x
@-inf
((* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (* 3 (sqrt x)) (sqrt x) (- (+ y (/ 1 (* x 9))) 1) (/ 1 (* x 9)) (+ y (/ 1 (* x 9))))
2.0ms
x
@0
((* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (* 3 (sqrt x)) (sqrt x) (- (+ y (/ 1 (* x 9))) 1) (/ 1 (* x 9)) (+ y (/ 1 (* x 9))))
1.0ms
x
@inf
((* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (* 3 (sqrt x)) (sqrt x) (- (+ y (/ 1 (* x 9))) 1) (/ 1 (* x 9)) (+ y (/ 1 (* x 9))))
1.0ms
y
@0
((* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (* 3 (sqrt x)) (sqrt x) (- (+ y (/ 1 (* x 9))) 1) (/ 1 (* x 9)) (+ y (/ 1 (* x 9))))

simplify1.0ms (0%)

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

rewrite0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Counts
6 → 6
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
(sqrt.f64 x)
(-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
(+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
Outputs
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
(sqrt.f64 x)
(-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
(+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))

eval1.0ms (0.1%)

Memory
2.8MiB live, 2.8MiB allocated
Compiler

Compiled 215 to 33 computations (84.7% saved)

prune2.0ms (0.1%)

Memory
4.3MiB live, 4.3MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New8412
Fresh000
Picked011
Done000
Total8513
Accuracy
99.5%
Counts
13 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.5%
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
34.2%
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
73.0%
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
27.0%
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
3.0%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
Compiler

Compiled 92 to 77 computations (16.3% saved)

simplify1.0ms (0.1%)

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

Found 15 expressions of interest:

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

localize42.0ms (2.8%)

Memory
-1.9MiB live, 77.9MiB allocated
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
accuracy0.2109375
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
accuracy0.23828125
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
accuracy0.2890625
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
accuracy41.85975960125632
#s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
accuracy0.2109375
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
accuracy0.23828125
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
accuracy0.2890625
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
accuracy16.99431209267311
#s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
accuracy0.00390625
(+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
accuracy0.2109375
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
accuracy0.23828125
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
accuracy52.66372483305741
#s(approx (* 3 (sqrt x)) (sqrt.f64 x))
accuracy0.0
(sqrt.f64 x)
accuracy0.2890625
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
accuracy62.055573683470335
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
Samples
26.0ms256×0valid
Compiler

Compiled 361 to 42 computations (88.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-mult: 4.0ms (33.7% of total)
ival-sqrt: 3.0ms (25.2% of total)
ival-div: 2.0ms (16.8% of total)
ival-sub: 1.0ms (8.4% of total)
ival-add: 1.0ms (8.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.3%)

Memory
9.8MiB live, 9.8MiB allocated
Counts
12 → 26
Calls
Call 1
Inputs
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
(sqrt.f64 x)
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
#s(approx (* 3 (sqrt x)) (sqrt.f64 x))
(-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
#s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
(+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
Outputs
(* 1/3 (sqrt (/ 1 x)))
(/ (+ (* 1/3 (sqrt x)) (* 3 (* (sqrt (pow x 3)) (- y 1)))) x)
(* 3 (sqrt x))
(sqrt x)
(/ 1/9 x)
(/ (+ 1/9 (* x (- y 1))) x)
(/ (+ 1/9 (* x y)) x)
(* 3 (* (sqrt x) (- y 1)))
(* x (+ (* 1/3 (sqrt (/ 1 (pow x 3)))) (* 3 (* (sqrt (/ 1 x)) (- y 1)))))
(- y 1)
(- (+ y (* 1/9 (/ 1 x))) 1)
y
(+ y (* 1/9 (/ 1 x)))
(* -3 (* (sqrt x) (* (pow (sqrt -1) 2) (- y 1))))
(* -1 (* x (+ (* 1/3 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* 3 (* (sqrt (/ 1 x)) (* (pow (sqrt -1) 2) (- y 1)))))))
(* -3 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* 3 (* (sqrt x) (- (* 1/9 (/ 1 x)) 1)))
(+ (* 3 (* (sqrt x) y)) (* 3 (* (sqrt x) (- (* 1/9 (/ 1 x)) 1))))
(- (* 1/9 (/ 1 x)) 1)
(* 3 (* (sqrt x) y))
(* y (+ (* 3 (sqrt x)) (* 3 (* (sqrt x) (/ (- (* 1/9 (/ 1 x)) 1) y)))))
(* y (- (+ 1 (/ 1/9 (* x y))) (/ 1 y)))
(* y (+ 1 (* 1/9 (/ 1 (* x y)))))
(* -1 (* y (+ (* -3 (sqrt x)) (* -3 (* (sqrt x) (/ (- (* 1/9 (/ 1 x)) 1) y))))))
(* -1 (* y (- (* -1 (/ (- (* 1/9 (/ 1 x)) 1) y)) 1)))
Calls

6 calls:

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

simplify1.0ms (0%)

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

rewrite1.0ms (0.1%)

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

eval4.0ms (0.2%)

Memory
8.0MiB live, 8.0MiB allocated
Compiler

Compiled 923 to 57 computations (93.8% saved)

prune9.0ms (0.6%)

Memory
-23.9MiB live, 15.1MiB allocated
Pruning

11 alts after pruning (6 fresh and 5 done)

PrunedKeptTotal
New30636
Fresh000
Picked044
Done011
Total301141
Accuracy
99.6%
Counts
41 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.5%
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
34.2%
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
73.0%
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
27.0%
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
7.4%
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
23.1%
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
2.8%
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) #s(approx (* 3 (sqrt x)) (sqrt.f64 x))))
3.0%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
99.5%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))))))
5.9%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
3.0%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (* 3 (sqrt x)) (sqrt.f64 x)))
Compiler

Compiled 420 to 303 computations (27.9% saved)

simplify1.0ms (0.1%)

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

Found 19 expressions of interest:

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

localize45.0ms (3%)

Memory
0.8MiB live, 75.4MiB allocated
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.2109375
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
accuracy0.23828125
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
accuracy41.85975960125632
#s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
accuracy52.66372483305741
#s(approx (* 3 (sqrt x)) (sqrt.f64 x))
accuracy0.0
(sqrt.f64 x)
accuracy0.2109375
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) #s(approx (* 3 (sqrt x)) (sqrt.f64 x))))
accuracy52.66372483305741
#s(approx (* 3 (sqrt x)) (sqrt.f64 x))
accuracy62.175843319297186
#s(approx (- (+ y (/ 1 (* x 9))) 1) #s(approx (* 3 (sqrt x)) (sqrt.f64 x)))
accuracy0.00390625
(+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
accuracy0.23828125
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
accuracy16.99431209267311
#s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
accuracy59.4010648838688
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
accuracy0.0
(sqrt.f64 x)
accuracy52.66372483305741
#s(approx (* 3 (sqrt x)) (sqrt.f64 x))
accuracy62.055573683470335
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (* 3 (sqrt x)) (sqrt.f64 x)))
accuracy0.2890625
(*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))))
accuracy52.66372483305741
#s(approx (* 3 (sqrt x)) (sqrt.f64 x))
accuracy62.055573683470335
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))))))
accuracy62.061058389873985
#s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))))
Samples
26.0ms256×0valid
Compiler

Compiled 548 to 46 computations (91.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 4.0ms (37.2% of total)
ival-div: 2.0ms (18.6% of total)
ival-sqrt: 2.0ms (18.6% of total)
ival-sub: 1.0ms (9.3% of total)
ival-add: 1.0ms (9.3% 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.4%)

Memory
10.1MiB live, 10.0MiB allocated
Counts
15 → 26
Calls
Call 1
Inputs
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))))))
(*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))))
#s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))))
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (* 3 (sqrt x)) (sqrt.f64 x)))
#s(approx (* 3 (sqrt x)) (sqrt.f64 x))
(sqrt.f64 x)
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
#s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
(+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) #s(approx (* 3 (sqrt x)) (sqrt.f64 x))))
#s(approx (- (+ y (/ 1 (* x 9))) 1) #s(approx (* 3 (sqrt x)) (sqrt.f64 x)))
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
Outputs
(* 1/3 (sqrt (/ 1 x)))
(/ (+ (* 1/3 (sqrt x)) (* 3 (* (sqrt (pow x 3)) (- y 1)))) x)
(* 3 (sqrt x))
(sqrt x)
(/ 1/9 x)
(/ (+ 1/9 (* x (- y 1))) x)
(/ (+ 1/9 (* x y)) x)
(* 3 (* (sqrt x) (- y 1)))
(* x (+ (* 1/3 (sqrt (/ 1 (pow x 3)))) (* 3 (* (sqrt (/ 1 x)) (- y 1)))))
(- y 1)
(- (+ y (* 1/9 (/ 1 x))) 1)
y
(+ y (* 1/9 (/ 1 x)))
(* -3 (* (sqrt x) (* (pow (sqrt -1) 2) (- y 1))))
(* -1 (* x (+ (* 1/3 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* 3 (* (sqrt (/ 1 x)) (* (pow (sqrt -1) 2) (- y 1)))))))
(* -3 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* 3 (* (sqrt x) (- (* 1/9 (/ 1 x)) 1)))
(+ (* 3 (* (sqrt x) y)) (* 3 (* (sqrt x) (- (* 1/9 (/ 1 x)) 1))))
(- (* 1/9 (/ 1 x)) 1)
(* 3 (* (sqrt x) y))
(* y (+ (* 3 (sqrt x)) (* 3 (* (sqrt x) (/ (- (* 1/9 (/ 1 x)) 1) y)))))
(* y (- (+ 1 (/ 1/9 (* x y))) (/ 1 y)))
(* y (+ 1 (* 1/9 (/ 1 (* x y)))))
(* -1 (* y (+ (* -3 (sqrt x)) (* -3 (* (sqrt x) (/ (- (* 1/9 (/ 1 x)) 1) y))))))
(* -1 (* y (- (* -1 (/ (- (* 1/9 (/ 1 x)) 1) y)) 1)))
Calls

6 calls:

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

simplify1.0ms (0%)

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

rewrite1.0ms (0.1%)

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

eval4.0ms (0.3%)

Memory
7.8MiB live, 7.8MiB allocated
Compiler

Compiled 1 324 to 65 computations (95.1% saved)

prune21.0ms (1.4%)

Memory
-25.3MiB live, 18.7MiB allocated
Pruning

13 alts after pruning (3 fresh and 10 done)

PrunedKeptTotal
New36238
Fresh011
Picked055
Done055
Total361349
Accuracy
99.6%
Counts
49 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.5%
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
34.2%
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
73.0%
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
27.0%
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
7.4%
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
23.1%
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
2.8%
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) #s(approx (* 3 (sqrt x)) (sqrt.f64 x))))
3.0%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
99.5%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))))))
2.1%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 #s(approx (+ y (/ 1 (* x 9))) (sqrt.f64 x)) #s(literal 1 binary64))))))
3.6%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
5.9%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
3.0%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (* 3 (sqrt x)) (sqrt.f64 x)))
Compiler

Compiled 326 to 230 computations (29.4% saved)

simplify1.0ms (0.1%)

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

Found 12 expressions of interest:

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

localize41.0ms (2.7%)

Memory
21.2MiB live, 57.4MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.2109375
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
accuracy0.23828125
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
accuracy16.99431209267311
#s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
accuracy52.66372483305741
#s(approx (* 3 (sqrt x)) (sqrt.f64 x))
accuracy52.66372483305741
#s(approx (* 3 (sqrt x)) (sqrt.f64 x))
accuracy61.587021421646476
#s(approx (+ y (/ 1 (* x 9))) (sqrt.f64 x))
accuracy62.055573683470335
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 #s(approx (+ y (/ 1 (* x 9))) (sqrt.f64 x)) #s(literal 1 binary64))))))
accuracy62.061058389873985
#s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 #s(approx (+ y (/ 1 (* x 9))) (sqrt.f64 x)) #s(literal 1 binary64))))
accuracy0.0
(*.f64 x #s(literal 9 binary64))
accuracy0.23828125
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
accuracy41.85975960125632
#s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
accuracy59.4010648838688
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
Samples
29.0ms256×0valid
Compiler

Compiled 411 to 44 computations (89.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 4.0ms (36.9% of total)
ival-div: 2.0ms (18.5% of total)
ival-sqrt: 2.0ms (18.5% of total)
ival-sub: 1.0ms (9.2% of total)
ival-add: 1.0ms (9.2% 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.4%)

Memory
10.6MiB live, 10.6MiB allocated
Counts
13 → 27
Calls
Call 1
Inputs
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
(*.f64 x #s(literal 9 binary64))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 #s(approx (+ y (/ 1 (* x 9))) (sqrt.f64 x)) #s(literal 1 binary64))))))
(*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 #s(approx (+ y (/ 1 (* x 9))) (sqrt.f64 x)) #s(literal 1 binary64)))))
#s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 #s(approx (+ y (/ 1 (* x 9))) (sqrt.f64 x)) #s(literal 1 binary64))))
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 #s(approx (+ y (/ 1 (* x 9))) (sqrt.f64 x)) #s(literal 1 binary64)))
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
#s(approx (* 3 (sqrt x)) (sqrt.f64 x))
(sqrt.f64 x)
#s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (+ y (/ 1 (* x 9))) (sqrt.f64 x))
Outputs
(* 1/3 (sqrt (/ 1 x)))
(/ (+ (* 1/3 (sqrt x)) (* 3 (* (sqrt (pow x 3)) (- y 1)))) x)
(/ 1/9 x)
(/ (+ 1/9 (* x (- y 1))) x)
(* 9 x)
(* 3 (sqrt x))
(sqrt x)
(/ (+ 1/9 (* x y)) x)
(* 3 (* (sqrt x) (- y 1)))
(* x (+ (* 1/3 (sqrt (/ 1 (pow x 3)))) (* 3 (* (sqrt (/ 1 x)) (- y 1)))))
(- y 1)
(- (+ y (* 1/9 (/ 1 x))) 1)
y
(+ y (* 1/9 (/ 1 x)))
(* -3 (* (sqrt x) (* (pow (sqrt -1) 2) (- y 1))))
(* -1 (* x (+ (* 1/3 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* 3 (* (sqrt (/ 1 x)) (* (pow (sqrt -1) 2) (- y 1)))))))
(* -3 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* 3 (* (sqrt x) (- (* 1/9 (/ 1 x)) 1)))
(+ (* 3 (* (sqrt x) y)) (* 3 (* (sqrt x) (- (* 1/9 (/ 1 x)) 1))))
(- (* 1/9 (/ 1 x)) 1)
(* 3 (* (sqrt x) y))
(* y (+ (* 3 (sqrt x)) (* 3 (* (sqrt x) (/ (- (* 1/9 (/ 1 x)) 1) y)))))
(* y (- (+ 1 (/ 1/9 (* x y))) (/ 1 y)))
(* y (+ 1 (* 1/9 (/ 1 (* x y)))))
(* -1 (* y (+ (* -3 (sqrt x)) (* -3 (* (sqrt x) (/ (- (* 1/9 (/ 1 x)) 1) y))))))
(* -1 (* y (- (* -1 (/ (- (* 1/9 (/ 1 x)) 1) y)) 1)))
Calls

6 calls:

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

simplify1.0ms (0%)

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

rewrite1.0ms (0.1%)

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

eval9.0ms (0.6%)

Memory
-29.5MiB live, 7.1MiB allocated
Compiler

Compiled 1 125 to 63 computations (94.4% saved)

prune9.0ms (0.6%)

Memory
16.9MiB live, 16.9MiB allocated
Pruning

14 alts after pruning (1 fresh and 13 done)

PrunedKeptTotal
New29130
Fresh000
Picked033
Done01010
Total291443
Accuracy
99.6%
Counts
43 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.5%
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
34.2%
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
73.0%
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
27.0%
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
7.4%
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
23.1%
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
2.8%
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) #s(approx (* 3 (sqrt x)) (sqrt.f64 x))))
3.0%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
99.5%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))))))
2.1%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 #s(approx (+ y (/ 1 (* x 9))) (sqrt.f64 x)) #s(literal 1 binary64))))))
3.6%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
5.9%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
2.8%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (*.f64 x #s(literal 9 binary64))))
3.0%
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (* 3 (sqrt x)) (sqrt.f64 x)))
Compiler

Compiled 708 to 293 computations (58.6% saved)

regimes19.0ms (1.3%)

Memory
-10.9MiB live, 27.0MiB allocated
Counts
14 → 1
Calls
Call 1
Inputs
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (*.f64 x #s(literal 9 binary64))))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (* 3 (sqrt x)) (sqrt.f64 x)))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) #s(approx (* 3 (sqrt x)) (sqrt.f64 x))))
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 #s(approx (+ y (/ 1 (* x 9))) (sqrt.f64 x)) #s(literal 1 binary64))))))
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))))))
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
Outputs
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
Calls

3 calls:

8.0ms
x
5.0ms
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
5.0ms
y
Results
AccuracySegmentsBranch
99.5%1x
99.5%1y
99.5%1(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
Compiler

Compiled 16 to 16 computations (0% saved)

regimes15.0ms (1%)

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

3 calls:

5.0ms
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
5.0ms
x
5.0ms
y
Results
AccuracySegmentsBranch
99.5%1x
99.5%1y
99.5%1(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
Compiler

Compiled 16 to 16 computations (0% saved)

regimes18.0ms (1.2%)

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

3 calls:

8.0ms
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
4.0ms
y
4.0ms
x
Results
AccuracySegmentsBranch
73.0%1x
73.0%1y
73.0%1(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
Compiler

Compiled 16 to 16 computations (0% saved)

regimes13.0ms (0.9%)

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

3 calls:

4.0ms
x
4.0ms
y
4.0ms
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
46.3%3y
53.0%3(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
52.4%2x
Compiler

Compiled 16 to 16 computations (0% saved)

regimes11.0ms (0.7%)

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

2 calls:

4.0ms
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
4.0ms
x
Results
AccuracySegmentsBranch
49.1%3(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
48.5%2x
Compiler

Compiled 15 to 14 computations (6.7% saved)

regimes11.0ms (0.8%)

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

3 calls:

4.0ms
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
4.0ms
y
4.0ms
x
Results
AccuracySegmentsBranch
23.1%1y
23.1%1(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
23.1%1x
Compiler

Compiled 16 to 16 computations (0% saved)

regimes13.0ms (0.9%)

Memory
-21.7MiB live, 16.3MiB allocated
Counts
8 → 2
Calls
Call 1
Inputs
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (*.f64 x #s(literal 9 binary64))))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (* 3 (sqrt x)) (sqrt.f64 x)))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) #s(approx (* 3 (sqrt x)) (sqrt.f64 x))))
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 #s(approx (+ y (/ 1 (* x 9))) (sqrt.f64 x)) #s(literal 1 binary64))))))
Outputs
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
Calls

3 calls:

6.0ms
x
3.0ms
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
3.0ms
y
Results
AccuracySegmentsBranch
7.4%1y
9.3%2x
9.0%2(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
Compiler

Compiled 16 to 16 computations (0% saved)

regimes9.0ms (0.6%)

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

3 calls:

3.0ms
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
3.0ms
y
3.0ms
x
Results
AccuracySegmentsBranch
5.9%1y
5.9%1(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
5.9%1x
Compiler

Compiled 16 to 16 computations (0% saved)

regimes7.0ms (0.5%)

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

3 calls:

2.0ms
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
2.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
3.6%1(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
3.6%1x
3.6%1y
Compiler

Compiled 16 to 16 computations (0% saved)

regimes9.0ms (0.6%)

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

3 calls:

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

Compiled 16 to 16 computations (0% saved)

regimes5.0ms (0.3%)

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

3 calls:

2.0ms
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
1.0ms
y
1.0ms
x
Results
AccuracySegmentsBranch
3.0%1x
3.0%1y
3.0%1(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
Compiler

Compiled 16 to 16 computations (0% saved)

regimes4.0ms (0.2%)

Memory
8.0MiB live, 8.0MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (*.f64 x #s(literal 9 binary64))))
Outputs
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (*.f64 x #s(literal 9 binary64))))
Calls

3 calls:

1.0ms
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
1.0ms
x
1.0ms
y
Results
AccuracySegmentsBranch
2.8%1x
2.8%1(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
2.8%1y
Compiler

Compiled 16 to 16 computations (0% saved)

bsearch8.0ms (0.5%)

Memory
9.7MiB live, 9.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
7.0ms
2.0493743617668924e-8
3.0224791774768315e-8
Samples
4.0ms64×0valid
Compiler

Compiled 165 to 149 computations (9.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-mult: 1.0ms (38.4% of total)
ival-div: 0.0ms (0% of total)
ival-sub: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
ival-sqrt: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0.1%)

Memory
1.2MiB live, 1.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
2.0493743617668924e-8
3.0224791774768315e-8
Compiler

Compiled 197 to 173 computations (12.2% saved)

bsearch18.0ms (1.2%)

Memory
-21.9MiB live, 21.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
16.0ms
1.1227629562017582e-42
2.6513128428825964e-39
Samples
8.0ms128×0valid
Compiler

Compiled 457 to 337 computations (26.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-mult: 2.0ms (37.5% of total)
ival-div: 1.0ms (18.8% of total)
ival-sub: 1.0ms (18.8% of total)
ival-add: 1.0ms (18.8% of total)
ival-sqrt: 1.0ms (18.8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify5.0ms (0.3%)

Memory
8.9MiB live, 8.9MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))))))
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
(if (<=.f64 x #s(literal 4533471823554859/151115727451828646838272 binary64)) (*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))))
(if (<=.f64 x #s(literal 4533471823554859/151115727451828646838272 binary64)) (*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))))
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
(if (<=.f64 x #s(literal 2550072580000839/49039857307708443467467104868809893875799651909875269632 binary64)) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))) #s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (* 3 (sqrt x)) (sqrt.f64 x)))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (*.f64 x #s(literal 9 binary64))))
Outputs
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64)))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))))))
(*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
(if (<=.f64 x #s(literal 4533471823554859/151115727451828646838272 binary64)) (*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) #s(literal 1 binary64))))
(if (<=.f64 x #s(literal 4533471823554859/151115727451828646838272 binary64)) (*.f64 (*.f64 #s(literal 3 binary64) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))))
(*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
(if (<=.f64 x #s(literal 2550072580000839/49039857307708443467467104868809893875799651909875269632 binary64)) (*.f64 #s(approx (* 3 (sqrt x)) (sqrt.f64 x)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))) #s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (+.f64 y (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (* 3 (sqrt x)) (sqrt.f64 x)))
#s(approx (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)) #s(approx (- (+ y (/ 1 (* x 9))) 1) (*.f64 x #s(literal 9 binary64))))

soundness3.0ms (0.2%)

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

Compiled 378 to 46 computations (87.8% saved)

preprocess68.0ms (4.5%)

Memory
-0.6MiB live, 109.3MiB allocated
Compiler

Compiled 818 to 142 computations (82.6% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...