Numeric.SpecFunctions:invIncompleteGamma from math-functions-0.1.5.2, D

Time bar (total: 1.4s)

start0.0ms (0%)

Memory
0.1MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
1.0MiB live, 1.0MiB 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
100%50%0%0.1%0%50%0%2
Compiler

Compiled 16 to 14 computations (12.5% saved)

sample876.0ms (62.9%)

Memory
16.2MiB live, 1 730.0MiB allocated
Samples
599.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 407.0ms
ival-mult: 135.0ms (33.2% of total)
ival-div: 112.0ms (27.5% of total)
ival-sub: 76.0ms (18.7% of total)
ival-sqrt: 63.0ms (15.5% of total)
exact: 11.0ms (2.7% of total)
ival-true: 6.0ms (1.5% of total)
ival-assert: 4.0ms (1% of total)
Bogosity

explain130.0ms (9.3%)

Memory
6.2MiB live, 242.2MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
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-#s(literal 9 binary64)
00-0-(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
00-0-(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
00-0-y
00-0-(*.f64 x #s(literal 9 binary64))
00-0-(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
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
44.0ms512×0valid
Compiler

Compiled 156 to 52 computations (66.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
ival-mult: 8.0ms (29.6% of total)
ival-div: 7.0ms (25.9% of total)
ival-sqrt: 6.0ms (22.2% of total)
ival-sub: 4.0ms (14.8% of total)
exact: 1.0ms (3.7% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess3.0ms (0.2%)

Memory
8.6MiB live, 8.6MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
Outputs
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
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
1.1MiB live, 1.1MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
Compiler

Compiled 14 to 12 computations (14.3% saved)

simplify0.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x #s(literal 9 binary64))
cost-diff0
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
cost-diff0
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
cost-diff0
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
Calls
Call 1
Inputs
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
(-.f64 #s(literal 1 binary64) (/.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 x #s(literal 9 binary64))
x
#s(literal 9 binary64)
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
y
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
#s(literal 3 binary64)
(sqrt.f64 x)
Outputs
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
(-.f64 #s(literal 1 binary64) (/.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 x #s(literal 9 binary64))
x
#s(literal 9 binary64)
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
y
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
#s(literal 3 binary64)
(sqrt.f64 x)

localize35.0ms (2.5%)

Memory
-27.2MiB live, 58.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0078125
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
accuracy0.23828125
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
accuracy0.26953125
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
accuracy0.26953125
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
Samples
20.0ms256×0valid
Compiler

Compiled 94 to 26 computations (72.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-div: 3.0ms (26.6% of total)
ival-mult: 3.0ms (26.6% of total)
ival-sub: 2.0ms (17.7% of total)
ival-sqrt: 2.0ms (17.7% 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.7%)

Memory
23.0MiB live, 23.0MiB allocated
Counts
6 → 17
Calls
Call 1
Inputs
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
(-.f64 #s(literal 1 binary64) (/.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))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
Outputs
(* -1 (/ (+ 1/9 (* 1/3 (* (sqrt x) y))) x))
(/ (- x (+ 1/9 (* 1/3 (* (sqrt x) y)))) x)
(/ -1/9 x)
(/ (- x 1/9) x)
(/ 1/9 x)
(* 9 x)
(* 3 (sqrt x))
(* 1/3 (* (sqrt (/ 1 x)) y))
(- 1 (* 1/3 (* (sqrt (/ 1 x)) y)))
(- 1 (+ (* 1/3 (* (sqrt (/ 1 x)) y)) (* 1/9 (/ 1 x))))
1
(- 1 (* 1/9 (/ 1 x)))
(* -3 (* (sqrt x) (pow (sqrt -1) 2)))
(- (+ 1 (* -1/3 (* (sqrt (/ 1 x)) y))) (* 1/9 (/ 1 x)))
(* -1/3 (* (sqrt (/ 1 x)) y))
(* y (- (/ 1 y) (+ (* 1/3 (sqrt (/ 1 x))) (/ 1/9 (* x y)))))
(* -1 (* y (- (* -1 (/ (- 1 (* 1/9 (/ 1 x))) y)) (* -1/3 (sqrt (/ 1 x))))))
Calls

6 calls:

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

simplify0.0ms (0%)

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

rewrite0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Counts
6 → 6
Calls
Call 1
Inputs
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
(-.f64 #s(literal 1 binary64) (/.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))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
Outputs
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
(-.f64 #s(literal 1 binary64) (/.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))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))

eval4.0ms (0.3%)

Memory
-34.6MiB live, 3.2MiB allocated
Compiler

Compiled 213 to 35 computations (83.6% saved)

prune2.0ms (0.1%)

Memory
4.0MiB live, 4.0MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New9312
Fresh000
Picked011
Done000
Total9413
Accuracy
99.7%
Counts
13 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
38.3%
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
28.3%
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
62.2%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
Compiler

Compiled 74 to 62 computations (16.2% saved)

simplify1.0ms (0.1%)

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

Found 12 expressions of interest:

NewMetricScoreProgram
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 (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
cost-diff0
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
cost-diff0
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
cost-diff0
(*.f64 x #s(literal 9 binary64))
cost-diff0
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
cost-diff0
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
cost-diff0
(*.f64 x #s(literal 9 binary64))
cost-diff0
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
cost-diff0
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
cost-diff0
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
Calls
Call 1
Inputs
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
(-.f64 #s(literal 1 binary64) (/.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 x #s(literal 9 binary64))
x
#s(literal 9 binary64)
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
(*.f64 x #s(literal 9 binary64))
x
#s(literal 9 binary64)
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
y
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
#s(literal 3 binary64)
(sqrt.f64 x)
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
#s(approx (- 1 (/ 1 (* x 9))) (/.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)
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
y
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
#s(literal 3 binary64)
(sqrt.f64 x)
Outputs
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
(-.f64 #s(literal 1 binary64) (/.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 x #s(literal 9 binary64))
x
#s(literal 9 binary64)
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
(*.f64 x #s(literal 9 binary64))
x
#s(literal 9 binary64)
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
y
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
#s(literal 3 binary64)
(sqrt.f64 x)
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
#s(approx (- 1 (/ 1 (* x 9))) (/.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)
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
y
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
#s(literal 3 binary64)
(sqrt.f64 x)

localize38.0ms (2.7%)

Memory
20.7MiB live, 58.7MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.23828125
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
accuracy0.26953125
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
accuracy0.26953125
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
accuracy62.178755457304156
#s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
accuracy0.0078125
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
accuracy0.23828125
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
accuracy0.26953125
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
accuracy61.87742127490121
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
accuracy0.0
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
accuracy0.0
(*.f64 x #s(literal 9 binary64))
accuracy0.26953125
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
accuracy24.11681597269053
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
Samples
26.0ms256×0valid
Compiler

Compiled 266 to 40 computations (85% saved)

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

series6.0ms (0.5%)

Memory
10.7MiB live, 10.7MiB allocated
Counts
10 → 17
Calls
Call 1
Inputs
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
(-.f64 #s(literal 1 binary64) (/.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))
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
#s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
Outputs
(* -1 (/ (+ 1/9 (* 1/3 (* (sqrt x) y))) x))
(/ (- x (+ 1/9 (* 1/3 (* (sqrt x) y)))) x)
(/ -1/9 x)
(/ (- x 1/9) x)
(/ 1/9 x)
(* 9 x)
(* 1/3 (* (sqrt (/ 1 x)) y))
(* 3 (sqrt x))
(- 1 (* 1/3 (* (sqrt (/ 1 x)) y)))
(- 1 (+ (* 1/3 (* (sqrt (/ 1 x)) y)) (* 1/9 (/ 1 x))))
1
(- 1 (* 1/9 (/ 1 x)))
(* -3 (* (sqrt x) (pow (sqrt -1) 2)))
(- (+ 1 (* -1/3 (* (sqrt (/ 1 x)) y))) (* 1/9 (/ 1 x)))
(* -1/3 (* (sqrt (/ 1 x)) y))
(* y (- (/ 1 y) (+ (* 1/3 (sqrt (/ 1 x))) (/ 1/9 (* x y)))))
(* -1 (* y (- (* -1 (/ (- 1 (* 1/9 (/ 1 x))) y)) (* -1/3 (sqrt (/ 1 x))))))
Calls

6 calls:

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

simplify0.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated
Algorithm
egg-herbie
Counts
17 → 10
Calls
Call 1
Inputs
(* -1 (/ (+ 1/9 (* 1/3 (* (sqrt x) y))) x))
(/ (- x (+ 1/9 (* 1/3 (* (sqrt x) y)))) x)
(/ -1/9 x)
(/ (- x 1/9) x)
(/ 1/9 x)
(* 9 x)
(* 1/3 (* (sqrt (/ 1 x)) y))
(* 3 (sqrt x))
(- 1 (* 1/3 (* (sqrt (/ 1 x)) y)))
(- 1 (+ (* 1/3 (* (sqrt (/ 1 x)) y)) (* 1/9 (/ 1 x))))
1
(- 1 (* 1/9 (/ 1 x)))
(* -3 (* (sqrt x) (pow (sqrt -1) 2)))
(- (+ 1 (* -1/3 (* (sqrt (/ 1 x)) y))) (* 1/9 (/ 1 x)))
(* -1/3 (* (sqrt (/ 1 x)) y))
(* y (- (/ 1 y) (+ (* 1/3 (sqrt (/ 1 x))) (/ 1/9 (* x y)))))
(* -1 (* y (- (* -1 (/ (- 1 (* 1/9 (/ 1 x))) y)) (* -1/3 (sqrt (/ 1 x))))))
Outputs
(* -1 (/ (+ 1/9 (* 1/3 (* (sqrt x) y))) x))
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
(/ (- x (+ 1/9 (* 1/3 (* (sqrt x) y)))) x)
(-.f64 #s(literal 1 binary64) (/.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)))
(/ (- x 1/9) x)
(*.f64 x #s(literal 9 binary64))
(/ 1/9 x)
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
(* 9 x)
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
(* 1/3 (* (sqrt (/ 1 x)) y))
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
(* 3 (sqrt x))
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
(- 1 (* 1/3 (* (sqrt (/ 1 x)) y)))
#s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
(- 1 (+ (* 1/3 (* (sqrt (/ 1 x)) y)) (* 1/9 (/ 1 x))))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))

rewrite1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Counts
10 → 10
Calls
Call 1
Inputs
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
(-.f64 #s(literal 1 binary64) (/.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))
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
#s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
Outputs
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
(-.f64 #s(literal 1 binary64) (/.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))
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
#s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))

eval6.0ms (0.5%)

Memory
-38.9MiB live, 4.7MiB allocated
Compiler

Compiled 706 to 50 computations (92.9% saved)

prune5.0ms (0.3%)

Memory
8.7MiB live, 8.7MiB allocated
Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New23427
Fresh000
Picked033
Done011
Total23831
Accuracy
99.7%
Counts
31 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
38.3%
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
28.3%
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
62.2%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
1.6%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) #s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))))
3.5%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
2.9%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
3.0%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))))
Compiler

Compiled 188 to 136 computations (27.7% saved)

simplify1.0ms (0.1%)

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

Found 14 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
cost-diff0
#s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))
cost-diff0
(-.f64 #s(literal 1 binary64) #s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))))
cost-diff0
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) #s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))))
cost-diff0
(sqrt.f64 x)
cost-diff0
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
cost-diff0
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
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 (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
cost-diff0
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
cost-diff0
(*.f64 x #s(literal 9 binary64))
cost-diff0
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
cost-diff0
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))))
Calls
Call 1
Inputs
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))))
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
(*.f64 x #s(literal 9 binary64))
x
#s(literal 9 binary64)
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (- 1 (/ 1 (* x 9))) (/.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 (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
#s(literal 3 binary64)
(sqrt.f64 x)
x
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) #s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))))
(-.f64 #s(literal 1 binary64) #s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))))
#s(literal 1 binary64)
#s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
(*.f64 x #s(literal 9 binary64))
x
#s(literal 9 binary64)
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
y
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
#s(literal 3 binary64)
(sqrt.f64 x)
Outputs
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))))
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
(*.f64 x #s(literal 9 binary64))
x
#s(literal 9 binary64)
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (- 1 (/ 1 (* x 9))) (/.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 (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
#s(literal 3 binary64)
(sqrt.f64 x)
x
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) #s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))))
(-.f64 #s(literal 1 binary64) #s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))))
#s(literal 1 binary64)
#s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
(*.f64 x #s(literal 9 binary64))
x
#s(literal 9 binary64)
(/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
y
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
#s(literal 3 binary64)
(sqrt.f64 x)

localize40.0ms (2.9%)

Memory
20.6MiB live, 58.5MiB allocated
Localize:

Found 14 expressions of interest:

NewMetricScoreProgram
accuracy0.26953125
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
accuracy24.11681597269053
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) #s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))))
accuracy61.87742127490121
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
accuracy62.131276175608896
#s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))
accuracy0.0
(sqrt.f64 x)
accuracy0.26953125
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
accuracy61.74653496459154
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
accuracy0.0
(*.f64 x #s(literal 9 binary64))
accuracy0.26953125
(/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))
accuracy24.11681597269053
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
accuracy62.178755457304156
#s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))
accuracy0.0
(*.f64 x #s(literal 9 binary64))
accuracy24.11681597269053
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))))
accuracy61.87742127490121
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
Samples
28.0ms256×0valid
Compiler

Compiled 410 to 43 computations (89.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-sqrt: 5.0ms (33.7% of total)
ival-div: 3.0ms (20.2% of total)
ival-mult: 3.0ms (20.2% of total)
ival-sub: 2.0ms (13.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series9.0ms (0.6%)

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

6 calls:

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

simplify1.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated
Algorithm
egg-herbie
Counts
18 → 13
Calls
Call 1
Inputs
(* -1 (/ (+ 1/9 (* 1/3 (* (sqrt x) y))) x))
(/ (- x (+ 1/9 (* 1/3 (* (sqrt x) y)))) x)
(/ -1/9 x)
(/ (- x 1/9) x)
(* 9 x)
(/ 1/9 x)
(* 3 (sqrt x))
(sqrt x)
(- 1 (* 1/3 (* (sqrt (/ 1 x)) y)))
(- 1 (+ (* 1/3 (* (sqrt (/ 1 x)) y)) (* 1/9 (/ 1 x))))
1
(- 1 (* 1/9 (/ 1 x)))
(* -3 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(- (+ 1 (* -1/3 (* (sqrt (/ 1 x)) y))) (* 1/9 (/ 1 x)))
(* -1/3 (* (sqrt (/ 1 x)) y))
(* y (- (/ 1 y) (+ (* 1/3 (sqrt (/ 1 x))) (/ 1/9 (* x y)))))
(* -1 (* y (- (* -1 (/ (- 1 (* 1/9 (/ 1 x))) y)) (* -1/3 (sqrt (/ 1 x))))))
Outputs
(* -1 (/ (+ 1/9 (* 1/3 (* (sqrt x) y))) x))
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))))
(/ (- x (+ 1/9 (* 1/3 (* (sqrt x) y)))) x)
#s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64)))
(/ -1/9 x)
(*.f64 x #s(literal 9 binary64))
(/ (- x 1/9) x)
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
(* 9 x)
#s(approx (- 1 (/ 1 (* x 9))) (/.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)))
(* 3 (sqrt x))
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
(sqrt x)
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
(- 1 (* 1/3 (* (sqrt (/ 1 x)) y)))
(sqrt.f64 x)
(- 1 (+ (* 1/3 (* (sqrt (/ 1 x)) y)) (* 1/9 (/ 1 x))))
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) #s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))))
1
(-.f64 #s(literal 1 binary64) #s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))))
(- 1 (* 1/9 (/ 1 x)))
#s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))
(* -3 (* (sqrt x) (pow (sqrt -1) 2)))
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))

rewrite1.0ms (0.1%)

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

eval4.0ms (0.3%)

Memory
7.5MiB live, 7.5MiB allocated
Compiler

Compiled 1 467 to 85 computations (94.2% saved)

prune6.0ms (0.4%)

Memory
11.3MiB live, 11.3MiB allocated
Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New35237
Fresh000
Picked044
Done044
Total351045
Accuracy
99.7%
Counts
45 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
38.3%
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
28.3%
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
62.2%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
1.6%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) #s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))))
3.5%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
3.5%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))
3.5%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (sqrt.f64 x))
2.9%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
3.0%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))))
Compiler

Compiled 229 to 168 computations (26.6% saved)

simplify0.0ms (0%)

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

Found 6 expressions of interest:

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

localize29.0ms (2.1%)

Memory
1.5MiB live, 39.7MiB allocated
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
accuracy0.26953125
(*.f64 #s(literal 3 binary64) (sqrt.f64 x))
accuracy0.26953125
(*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
accuracy52.66657313358449
#s(approx (sqrt x) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
accuracy61.74653496459154
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))
accuracy0.0
(sqrt.f64 x)
accuracy61.73220856330916
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (sqrt.f64 x))
Samples
19.0ms256×0valid
Compiler

Compiled 115 to 33 computations (71.3% saved)

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

series4.0ms (0.3%)

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

6 calls:

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

simplify0.0ms (0%)

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

rewrite0.0ms (0%)

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

eval1.0ms (0.1%)

Memory
2.2MiB live, 2.2MiB allocated
Compiler

Compiled 347 to 30 computations (91.4% saved)

prune10.0ms (0.7%)

Memory
-34.3MiB live, 10.5MiB allocated
Pruning

11 alts after pruning (1 fresh and 10 done)

PrunedKeptTotal
New12113
Fresh000
Picked022
Done088
Total121123
Accuracy
99.7%
Counts
23 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
38.3%
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
28.3%
(-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
62.2%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
1.6%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) #s(approx (/ 1 (* x 9)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))))
3.5%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))
3.5%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))))
3.5%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) #s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (*.f64 #s(literal 3 binary64) #s(approx (sqrt x) (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))))))))
3.5%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (sqrt.f64 x))
2.9%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
3.0%
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))))
Compiler

Compiled 556 to 233 computations (58.1% saved)

regimes12.0ms (0.9%)

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

3 calls:

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

Compiled 16 to 16 computations (0% saved)

regimes13.0ms (0.9%)

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

3 calls:

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

Compiled 16 to 16 computations (0% saved)

regimes4.0ms (0.3%)

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

1 calls:

3.0ms
y
Results
AccuracySegmentsBranch
84.0%3y
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes6.0ms (0.4%)

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

2 calls:

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

Compiled 15 to 14 computations (6.7% saved)

regimes6.0ms (0.4%)

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

3 calls:

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

Compiled 16 to 16 computations (0% saved)

regimes7.0ms (0.5%)

Memory
-29.7MiB live, 8.7MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

3 calls:

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

Compiled 16 to 16 computations (0% saved)

bsearch36.0ms (2.6%)

Memory
13.4MiB live, 51.3MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
4.579132145579248e+92
1.3922398984178139e+96
15.0ms
-5.188634750851549e+75
-2.5896285248194866e+70
Samples
21.0ms272×0valid
Compiler

Compiled 731 to 646 computations (11.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-mult: 6.0ms (40.7% of total)
ival-div: 4.0ms (27.1% of total)
ival-sub: 3.0ms (20.3% of total)
ival-sqrt: 2.0ms (13.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch29.0ms (2.1%)

Memory
2.8MiB live, 47.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
1.3922398984178139e+96
3.167209982339531e+98
10.0ms
-9.139169570961988e+119
-7.4456166213721985e+118
Samples
18.0ms208×0valid
Compiler

Compiled 537 to 472 computations (12.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 7.0ms (53.1% of total)
ival-div: 3.0ms (22.7% of total)
ival-sub: 2.0ms (15.2% of total)
ival-sqrt: 1.0ms (7.6% 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.4%)

Memory
11.3MiB live, 11.3MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
(if (<=.f64 y #s(literal -679999999999999982185812085187020778825228033158890213782659441106503073792 binary64)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))) (if (<=.f64 y #s(literal 649999999999999999247220724173422091745944409046783589347156796658334918513896720133578031104 binary64)) #s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))))
(if (<=.f64 y #s(literal -75000000000000000292055919796808457071114213922031061361465021175027559017048435180892704563878189286310200255866470400 binary64)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))) (if (<=.f64 y #s(literal 119999999999999993652004141211841614212616598767388023447146864721381099945841831339418427708145664 binary64)) #s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))))
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (sqrt.f64 x))
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))))
Outputs
(-.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))
(if (<=.f64 y #s(literal -679999999999999982185812085187020778825228033158890213782659441106503073792 binary64)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))) (if (<=.f64 y #s(literal 649999999999999999247220724173422091745944409046783589347156796658334918513896720133578031104 binary64)) #s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))))
(if (<=.f64 y #s(literal -75000000000000000292055919796808457071114213922031061361465021175027559017048435180892704563878189286310200255866470400 binary64)) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x)))) (if (<=.f64 y #s(literal 119999999999999993652004141211841614212616598767388023447146864721381099945841831339418427708145664 binary64)) #s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64))))) (-.f64 #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))) (/.f64 y (*.f64 #s(literal 3 binary64) (sqrt.f64 x))))))
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x #s(literal 9 binary64)))))
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) (sqrt.f64 x))
#s(approx (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))) #s(approx (- 1 (/ 1 (* x 9))) (*.f64 x #s(literal 9 binary64))))

soundness5.0ms (0.3%)

Memory
-33.7MiB live, 4.7MiB allocated
Stop Event
fuel
Compiler

Compiled 215 to 41 computations (80.9% saved)

preprocess45.0ms (3.2%)

Memory
-2.2MiB live, 119.3MiB allocated
Compiler

Compiled 486 to 130 computations (73.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.1MiB allocated

Profiling

Loading profile data...