Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, E

Time bar (total: 3.3s)

start0.0ms (0%)

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

analyze14.0ms (0.4%)

Memory
-11.4MiB live, 37.9MiB allocated; 4ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
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 10 to 9 computations (10% saved)

sample823.0ms (25%)

Memory
-6.7MiB live, 1 166.2MiB allocated; 201ms collecting garbage
Samples
480.0ms8 252×0valid
14.0ms257×0invalid
0.0ms2valid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 276.0ms
ival-sqrt: 82.0ms (29.7% of total)
ival-sub: 69.0ms (25% of total)
ival-mult: 62.0ms (22.5% of total)
ival-add: 51.0ms (18.5% of total)
exact: 7.0ms (2.5% of total)
ival-assert: 3.0ms (1.1% of total)
adjust: 2.0ms (0.7% of total)
Bogosity

explain91.0ms (2.8%)

Memory
3.7MiB live, 240.6MiB allocated; 18ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
00-0-(sqrt.f64 x)
00-0-y
00-0-(-.f64 #s(literal 1 binary64) x)
00-0-#s(literal 1 binary64)
00-0-(*.f64 y (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
31.0ms512×0valid
Compiler

Compiled 52 to 25 computations (51.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-mult: 4.0ms (28% of total)
ival-sqrt: 4.0ms (28% of total)
ival-sub: 3.0ms (21% of total)
ival-add: 2.0ms (14% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess256.0ms (7.8%)

Memory
32.6MiB live, 225.6MiB allocated; 30ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02154
15554
211254
319651
441550
5118950
6306750
7696950
078
0118
1208
2358
3648
41338
54598
636078
771978
080537
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
Outputs
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
Compiler

Compiled 8 to 7 computations (12.5% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
Compiler

Compiled 8 to 7 computations (12.5% saved)

simplify159.0ms (4.8%)

Memory
-5.9MiB live, 144.7MiB allocated; 26ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f64 x)
cost-diff0
(*.f64 y (sqrt.f64 x))
cost-diff0
(-.f64 #s(literal 1 binary64) x)
cost-diff1
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0720
01120
12020
23520
36420
413320
545920
6360720
7719720
0805319
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
(*.f64 y (sqrt.f64 x))
y
(sqrt.f64 x)
Outputs
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
(*.f64 y (sqrt.f64 x))
(*.f64 (sqrt.f64 x) y)
y
(sqrt.f64 x)

localize23.0ms (0.7%)

Memory
1.2MiB live, 46.6MiB allocated; 4ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 #s(literal 1 binary64) x)
accuracy0.0
(sqrt.f64 x)
accuracy0.01171875
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
accuracy0.19140625
(*.f64 y (sqrt.f64 x))
Samples
17.0ms256×0valid
Compiler

Compiled 22 to 9 computations (59.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-sub: 2.0ms (28.1% of total)
ival-mult: 2.0ms (28.1% of total)
ival-sqrt: 2.0ms (28.1% of total)
ival-add: 1.0ms (14% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.2%)

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

6 calls:

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

simplify77.0ms (2.3%)

Memory
-20.6MiB live, 84.6MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
074274
1172267
2505266
01780248
Stop Event
iter limit
iter limit
node limit
Counts
20 → 20
Calls
Call 1
Inputs
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (- 1 x) #s(hole binary64 1))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (* y (sqrt x)) #s(hole binary64 (* (sqrt x) y)))
#s(approx (sqrt x) #s(hole binary64 (sqrt x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
#s(approx (* y (sqrt x)) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (sqrt x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- 1 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
Outputs
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (- 1 x) #s(hole binary64 1))
#s(approx (- 1 x) #s(literal 1 binary64))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (- 1 x) (-.f64 #s(literal 1 binary64) x))
#s(approx (* y (sqrt x)) #s(hole binary64 (* (sqrt x) y)))
#s(approx (* y (sqrt x)) (*.f64 (sqrt.f64 x) y))
#s(approx (sqrt x) #s(hole binary64 (sqrt x)))
#s(approx (sqrt x) (sqrt.f64 x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) x))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) (neg.f64 x))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (- 1 x) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y (neg.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x)))) x))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
#s(approx (- 1 x) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x)) (neg.f64 x)))
#s(approx (* y (sqrt x)) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (* y (sqrt x)) (*.f64 (sqrt.f64 x) y))
#s(approx (sqrt x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (sqrt x) (sqrt.f64 x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- 1 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (+.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) y) (sqrt.f64 x)) y))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (+.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) y) (sqrt.f64 x)) y))

rewrite61.0ms (1.8%)

Memory
-13.1MiB live, 75.5MiB allocated; 16ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
01117
14817
036616
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
4 → 33
Calls
Call 1
Inputs
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
(-.f64 #s(literal 1 binary64) x)
(*.f64 y (sqrt.f64 x))
(sqrt.f64 x)
Outputs
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 x (*.f64 (sqrt.f64 x) y)) (-.f64 x (*.f64 (sqrt.f64 x) y)))) (+.f64 #s(literal 1 binary64) (-.f64 x (*.f64 (sqrt.f64 x) y))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64)) (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64))) (-.f64 (*.f64 (sqrt.f64 x) y) (-.f64 #s(literal 1 binary64) x)))
(/.f64 (-.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 y) (sqrt.f64 x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64)) (*.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 (neg.f64 y) (sqrt.f64 x))))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x (*.f64 (sqrt.f64 x) y)) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (-.f64 x (*.f64 (sqrt.f64 x) y)) (-.f64 x (*.f64 (sqrt.f64 x) y)) (*.f64 #s(literal 1 binary64) (-.f64 x (*.f64 (sqrt.f64 x) y))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)) (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64)))) (neg.f64 (-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 (sqrt.f64 x) y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 3 binary64)) (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (sqrt.f64 x) y) (-.f64 (*.f64 (sqrt.f64 x) y) (-.f64 #s(literal 1 binary64) x)) (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)) (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64))) (-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 (sqrt.f64 x) y)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 3 binary64)) (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64)) (-.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)) (*.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (sqrt.f64 x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 3 binary64)) (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 x) y) (-.f64 (*.f64 (sqrt.f64 x) y) (-.f64 #s(literal 1 binary64) x)) (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64))))
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
(fma.f64 y (sqrt.f64 x) (-.f64 #s(literal 1 binary64) x))
(-.f64 (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)) x)
(-.f64 (/.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)) (-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 (sqrt.f64 x) y))) (/.f64 (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64)) (-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 (sqrt.f64 x) y))))
(-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 (neg.f64 (sqrt.f64 x)) y))
(-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 (neg.f64 y) (sqrt.f64 x)))
(-.f64 #s(literal 1 binary64) (-.f64 x (*.f64 (sqrt.f64 x) y)))
(+.f64 (/.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (fma.f64 (*.f64 (sqrt.f64 x) y) (-.f64 (*.f64 (sqrt.f64 x) y) (-.f64 #s(literal 1 binary64) x)) (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 3 binary64)) (fma.f64 (*.f64 (sqrt.f64 x) y) (-.f64 (*.f64 (sqrt.f64 x) y) (-.f64 #s(literal 1 binary64) x)) (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (sqrt.f64 x) y) (-.f64 #s(literal 1 binary64) x))
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 (neg.f64 (neg.f64 y)) (sqrt.f64 x)))
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 (sqrt.f64 x) y))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (neg.f64 (+.f64 x #s(literal 1 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (+.f64 (fma.f64 x x x) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)) (+.f64 x #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64))) (+.f64 (fma.f64 x x x) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (/.f64 (*.f64 x x) (+.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 (fma.f64 x x x) #s(literal 1 binary64))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 (fma.f64 x x x) #s(literal 1 binary64))))
(-.f64 #s(literal 1 binary64) x)
(*.f64 (sqrt.f64 x) y)
(*.f64 y (sqrt.f64 x))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(pow.f64 x #s(literal 1/2 binary64))
(sqrt.f64 x)
(exp.f64 (*.f64 (log.f64 x) #s(literal 1/2 binary64)))

eval5.0ms (0.2%)

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

Compiled 810 to 160 computations (80.2% saved)

prune4.0ms (0.1%)

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

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New41748
Fresh000
Picked101
Done000
Total42749
Accuracy
99.9%
Counts
49 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
99.8%
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))))
68.0%
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
62.2%
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
94.2%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) x))
63.0%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
38.9%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
Compiler

Compiled 198 to 148 computations (25.3% saved)

simplify141.0ms (4.3%)

Memory
5.0MiB live, 100.0MiB allocated; 23ms collecting garbage
Localize:

Found 15 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
021122
031118
146118
276118
3148118
4317118
51164118
08525118
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
(sqrt.f64 x)
x
y
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
(*.f64 (sqrt.f64 x) y)
(sqrt.f64 x)
x
y
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
(fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))
(sqrt.f64 x)
x
y
#s(literal 1 binary64)
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x)
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64))
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
y
#s(literal -1 binary64)
Outputs
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
(fma.f64 y (sqrt.f64 x) (-.f64 #s(literal 1 binary64) x))
(sqrt.f64 x)
x
y
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 y (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) y)
(*.f64 y (sqrt.f64 x))
(sqrt.f64 x)
x
y
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 y (sqrt.f64 x) #s(literal 1 binary64)))
(fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))
(fma.f64 y (sqrt.f64 x) #s(literal 1 binary64))
(sqrt.f64 x)
x
y
#s(literal 1 binary64)
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x)
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64))
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
y
#s(literal -1 binary64)

localize127.0ms (3.9%)

Memory
-40.3MiB live, 148.8MiB allocated; 30ms collecting garbage
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
accuracy0.109375
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64))
accuracy0.16796875
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
accuracy3.6587712031096924
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x)
accuracy19.997542259952198
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
accuracy0.0
(sqrt.f64 x)
accuracy0.10546875
(fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))
accuracy20.41220282618716
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
accuracy0.0
(sqrt.f64 x)
accuracy0.19140625
(*.f64 (sqrt.f64 x) y)
accuracy39.01654683235528
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
accuracy0.0
(-.f64 #s(literal 1 binary64) x)
accuracy24.18070430781241
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
accuracy0.0
(-.f64 #s(literal 1 binary64) x)
accuracy0.0
(sqrt.f64 x)
accuracy0.0625
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
Samples
47.0ms256×0valid
Compiler

Compiled 103 to 18 computations (82.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 34.0ms
ival-mult: 22.0ms (64.8% of total)
ival-add: 5.0ms (14.7% of total)
ival-sqrt: 4.0ms (11.8% of total)
ival-div: 2.0ms (5.9% of total)
ival-sub: 1.0ms (2.9% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series10.0ms (0.3%)

Memory
23.7MiB live, 23.8MiB allocated; 0ms collecting garbage
Counts
12 → 55
Calls
Call 1
Inputs
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
(sqrt.f64 x)
(-.f64 #s(literal 1 binary64) x)
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
(*.f64 (sqrt.f64 x) y)
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
(fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x)
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64))
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
Outputs
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (sqrt x) #s(hole binary64 (sqrt x)))
#s(approx (- 1 x) #s(hole binary64 1))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (* (sqrt x) y) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* (sqrt x) y)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (+ (* -1 x) (* (sqrt x) y))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (/ (+ (* -1 x) (* (sqrt x) y)) x)))
#s(approx (sqrt (/ 1 x)) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) y) 1)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (sqrt x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (* (sqrt x) y) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) (/ 1 x))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1)))
#s(approx (sqrt (/ 1 x)) #s(hole binary64 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (- 1 x)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- 1 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 1))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 -1))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* y (+ (sqrt x) (* -1 (/ x y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* y (- (sqrt (/ 1 x)) (/ 1 y)))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (/ x y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt (/ 1 x))) (/ 1 y))))))
Calls

6 calls:

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

simplify106.0ms (3.2%)

Memory
-23.6MiB live, 153.5MiB allocated; 65ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0137856
1296816
2826808
03161735
Stop Event
iter limit
iter limit
node limit
Counts
55 → 55
Calls
Call 1
Inputs
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (sqrt x) #s(hole binary64 (sqrt x)))
#s(approx (- 1 x) #s(hole binary64 1))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (* (sqrt x) y) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* (sqrt x) y)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (+ (* -1 x) (* (sqrt x) y))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (/ (+ (* -1 x) (* (sqrt x) y)) x)))
#s(approx (sqrt (/ 1 x)) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) y) 1)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (sqrt x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (* (sqrt x) y) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) (/ 1 x))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1)))
#s(approx (sqrt (/ 1 x)) #s(hole binary64 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (- 1 x)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- 1 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 1))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 -1))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* y (+ (sqrt x) (* -1 (/ x y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* y (- (sqrt (/ 1 x)) (/ 1 y)))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (/ x y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt (/ 1 x))) (/ 1 y))))))
Outputs
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (sqrt x) #s(hole binary64 (sqrt x)))
#s(approx (sqrt x) (sqrt.f64 x))
#s(approx (- 1 x) #s(hole binary64 1))
#s(approx (- 1 x) #s(literal 1 binary64))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (- 1 x) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (* (sqrt x) y) #s(hole binary64 (* (sqrt x) y)))
#s(approx (* (sqrt x) y) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* (sqrt x) y)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (*.f64 (sqrt.f64 x) y))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (+ (* -1 x) (* (sqrt x) y))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (fma.f64 (sqrt.f64 x) y (neg.f64 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (/ (+ (* -1 x) (* (sqrt x) y)) x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (/.f64 y x) (sqrt.f64 x) #s(literal -1 binary64)))
#s(approx (sqrt (/ 1 x)) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (sqrt (/ 1 x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (-.f64 #s(literal 1 binary64) x)))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) (neg.f64 x))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (- 1 x) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) 1) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) y) 1)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y (/.f64 #s(literal 1 binary64) x))) (neg.f64 x)))
#s(approx (sqrt x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (sqrt x) (sqrt.f64 x))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
#s(approx (- 1 x) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x)) (neg.f64 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y (/.f64 #s(literal 1 binary64) x))) (neg.f64 x)))
#s(approx (* (sqrt x) y) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (* (sqrt x) y) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (+ (* (sqrt x) y) 1) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) (/ 1 x))))))
#s(approx (+ (* (sqrt x) y) 1) (*.f64 (-.f64 (*.f64 (neg.f64 y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) (/.f64 #s(literal 1 binary64) x)) (neg.f64 x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (*.f64 (fma.f64 (neg.f64 y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1 binary64)) x))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (neg.f64 y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1 binary64)))
#s(approx (sqrt (/ 1 x)) #s(hole binary64 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))
#s(approx (sqrt (/ 1 x)) (neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (- 1 x)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- 1 x)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 1))
#s(approx (+ (* (sqrt x) y) 1) #s(literal 1 binary64))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (neg.f64 x))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 -1))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(literal -1 binary64))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* y (+ (sqrt x) (* -1 (/ x y))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (fma.f64 (sqrt.f64 x) y (neg.f64 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* y (- (sqrt (/ 1 x)) (/ 1 y)))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (+ (* (sqrt x) y) 1) (neg.f64 (fma.f64 (neg.f64 y) (sqrt.f64 x) #s(literal -1 binary64))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (/ x y))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (fma.f64 (sqrt.f64 x) y (neg.f64 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt (/ 1 x))) (/ 1 y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)))

rewrite83.0ms (2.5%)

Memory
-26.3MiB live, 68.5MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02198
03194
111690
078390
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
12 → 113
Calls
Call 1
Inputs
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
(sqrt.f64 x)
(-.f64 #s(literal 1 binary64) x)
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
(*.f64 (sqrt.f64 x) y)
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
(fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x)
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64))
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
Outputs
(/.f64 (-.f64 (*.f64 (fma.f64 y (sqrt.f64 x) #s(literal 1 binary64)) (fma.f64 y (sqrt.f64 x) #s(literal 1 binary64))) (*.f64 x x)) (+.f64 (fma.f64 y (sqrt.f64 x) #s(literal 1 binary64)) x))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 x (*.f64 y (sqrt.f64 x))) (-.f64 x (*.f64 y (sqrt.f64 x))))) (+.f64 #s(literal 1 binary64) (-.f64 x (*.f64 y (sqrt.f64 x)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 y (sqrt.f64 x) #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (fma.f64 y (sqrt.f64 x) #s(literal 1 binary64)) (fma.f64 y (sqrt.f64 x) #s(literal 1 binary64)) (fma.f64 x x (*.f64 (fma.f64 y (sqrt.f64 x) #s(literal 1 binary64)) x))))
(/.f64 (-.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 y) (sqrt.f64 x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)) (*.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 (neg.f64 y) (sqrt.f64 x))))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x (*.f64 y (sqrt.f64 x))) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (-.f64 x (*.f64 y (sqrt.f64 x))) (-.f64 x (*.f64 y (sqrt.f64 x))) (*.f64 #s(literal 1 binary64) (-.f64 x (*.f64 y (sqrt.f64 x)))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)) (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)) (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)))) (neg.f64 (+.f64 (fma.f64 y (sqrt.f64 x) #s(literal -1 binary64)) x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 y (sqrt.f64 x)) (+.f64 (fma.f64 y (sqrt.f64 x) #s(literal -1 binary64)) x) (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x))) (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)) (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64))) (-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)) (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64))) (+.f64 (fma.f64 y (sqrt.f64 x) #s(literal -1 binary64)) x))
(/.f64 (+.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 3 binary64))) (fma.f64 (*.f64 y (sqrt.f64 x)) (+.f64 (fma.f64 y (sqrt.f64 x) #s(literal -1 binary64)) x) (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 3 binary64))) (fma.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x))) (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 y (sqrt.f64 x)) #s(literal -1 binary64)) #s(literal -1 binary64) (-.f64 #s(literal 1 binary64) x))
(fma.f64 (*.f64 y (sqrt.f64 x)) #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x))
(fma.f64 #s(literal 1 binary64) (*.f64 y (sqrt.f64 x)) (-.f64 #s(literal 1 binary64) x))
(fma.f64 y (*.f64 (sqrt.f64 x) #s(literal 1 binary64)) (-.f64 #s(literal 1 binary64) x))
(fma.f64 y (sqrt.f64 x) (-.f64 #s(literal 1 binary64) x))
(fma.f64 (sqrt.f64 x) (*.f64 y #s(literal 1 binary64)) (-.f64 #s(literal 1 binary64) x))
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
(-.f64 (/.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)) (-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))) (/.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)) (-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))))
(-.f64 (/.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)) (+.f64 (fma.f64 y (sqrt.f64 x) #s(literal -1 binary64)) x)) (/.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)) (+.f64 (fma.f64 y (sqrt.f64 x) #s(literal -1 binary64)) x)))
(-.f64 (fma.f64 y (sqrt.f64 x) #s(literal 1 binary64)) x)
(-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 (neg.f64 (sqrt.f64 x)) y))
(-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 (neg.f64 y) (sqrt.f64 x)))
(-.f64 #s(literal 1 binary64) (-.f64 x (*.f64 y (sqrt.f64 x))))
(+.f64 (/.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (fma.f64 (*.f64 y (sqrt.f64 x)) (+.f64 (fma.f64 y (sqrt.f64 x) #s(literal -1 binary64)) x) (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 3 binary64)) (fma.f64 (*.f64 y (sqrt.f64 x)) (+.f64 (fma.f64 y (sqrt.f64 x) #s(literal -1 binary64)) x) (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 3 binary64)) (fma.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x))) (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (fma.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x))) (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)))))
(+.f64 (*.f64 y (sqrt.f64 x)) (-.f64 #s(literal 1 binary64) x))
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 (neg.f64 (neg.f64 y)) (sqrt.f64 x)))
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
(+.f64 #s(literal 1 binary64) (-.f64 (*.f64 y (sqrt.f64 x)) x))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(pow.f64 x #s(literal 1/2 binary64))
(sqrt.f64 x)
(exp.f64 (*.f64 (log.f64 x) #s(literal 1/2 binary64)))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (neg.f64 (+.f64 #s(literal 1 binary64) x)))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (+.f64 (fma.f64 x x x) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)) (+.f64 #s(literal 1 binary64) x))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64))) (+.f64 (fma.f64 x x x) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (/.f64 (*.f64 x x) (+.f64 #s(literal 1 binary64) x)))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 (fma.f64 x x x) #s(literal 1 binary64))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 (fma.f64 x x x) #s(literal 1 binary64))))
(-.f64 #s(literal 1 binary64) x)
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 y (sqrt.f64 x)))
(*.f64 (*.f64 (*.f64 y (sqrt.f64 x)) #s(literal -1 binary64)) #s(literal -1 binary64))
(*.f64 (*.f64 y (sqrt.f64 x)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 y (sqrt.f64 x)))
(*.f64 y (*.f64 (sqrt.f64 x) #s(literal 1 binary64)))
(*.f64 y (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (*.f64 y #s(literal 1 binary64)))
(*.f64 (sqrt.f64 x) y)
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 y (sqrt.f64 x) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 y (sqrt.f64 x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 y (sqrt.f64 x) #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 y (sqrt.f64 x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 y (sqrt.f64 x) #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)) (*.f64 y (sqrt.f64 x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 y (sqrt.f64 x))))
(fma.f64 (*.f64 (*.f64 y (sqrt.f64 x)) #s(literal -1 binary64)) #s(literal -1 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 y (sqrt.f64 x)) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 y (sqrt.f64 x)) #s(literal 1 binary64))
(fma.f64 y (*.f64 (sqrt.f64 x) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 y (sqrt.f64 x) #s(literal 1 binary64))
(fma.f64 (sqrt.f64 x) (*.f64 y #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)) (fma.f64 y (sqrt.f64 x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 y (sqrt.f64 x) #s(literal -1 binary64))))
(-.f64 (*.f64 y (sqrt.f64 x)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (sqrt.f64 x)) y))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 y) (sqrt.f64 x)))
(+.f64 (/.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 y (sqrt.f64 x)))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 y (sqrt.f64 x)))))
(+.f64 (*.f64 y (sqrt.f64 x)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 y (sqrt.f64 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) y #s(literal -1 binary64)) x))
(*.f64 (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) y #s(literal -1 binary64)) x)
(*.f64 x (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) y #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (*.f64 y y) (pow.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) x) (-.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal -1 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal 3 binary64)) #s(literal -1 binary64)) x) (fma.f64 (*.f64 y y) (pow.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal -1 binary64)))))
(/.f64 (*.f64 x (fma.f64 (*.f64 y y) (pow.f64 x #s(literal -1 binary64)) #s(literal -1 binary64))) (-.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal -1 binary64)))
(/.f64 (*.f64 x (+.f64 (pow.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 (*.f64 y y) (pow.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal -1 binary64)))))
(fma.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) x (*.f64 #s(literal -1 binary64) x))
(fma.f64 #s(literal -1 binary64) x (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) x))
(fma.f64 x (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) (*.f64 x #s(literal -1 binary64)))
(fma.f64 x #s(literal -1 binary64) (*.f64 x (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y)))
(+.f64 (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) x) (*.f64 #s(literal -1 binary64) x))
(+.f64 (*.f64 x (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y)) (*.f64 x #s(literal -1 binary64)))
(+.f64 (*.f64 x #s(literal -1 binary64)) (*.f64 x (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y)))
(+.f64 (*.f64 #s(literal -1 binary64) x) (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) x))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal 2 binary64))) (-.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y)))
(/.f64 (neg.f64 (fma.f64 (*.f64 y y) (pow.f64 x #s(literal -1 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal -1 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 (*.f64 y y) (pow.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal -1 binary64))))))
(/.f64 (fma.f64 (*.f64 y y) (pow.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (-.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal -1 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal -1 binary64)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 (*.f64 y y) (pow.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal -1 binary64)))))
(fma.f64 (pow.f64 x #s(literal -1/2 binary64)) y #s(literal -1 binary64))
(fma.f64 y (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal -1 binary64))))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (pow.f64 x #s(literal -1/2 binary64))) y))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 y) (pow.f64 x #s(literal -1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal 3 binary64)) (fma.f64 (*.f64 y y) (pow.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal -1 binary64))))) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 y y) (pow.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal -1 binary64))))))
(+.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y))
(*.f64 (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) (sqrt.f64 x)))
(*.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -1/2 binary64)))
(pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 x) #s(literal -1 binary64))
(pow.f64 x #s(literal -1/2 binary64))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (neg.f64 x)))
(/.f64 #s(literal -1 binary64) (neg.f64 (sqrt.f64 x)))
(/.f64 #s(literal 1 binary64) (sqrt.f64 x))
(sqrt.f64 (pow.f64 x #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 x #s(literal -1 binary64))) #s(literal 1/2 binary64)))

eval25.0ms (0.8%)

Memory
5.1MiB live, 49.5MiB allocated; 5ms collecting garbage
Compiler

Compiled 3 309 to 487 computations (85.3% saved)

prune8.0ms (0.2%)

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

11 alts after pruning (7 fresh and 4 done)

PrunedKeptTotal
New1587165
Fresh202
Picked145
Done000
Total16111172
Accuracy
100.0%
Counts
172 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
68.7%
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
68.0%
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
62.2%
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
63.0%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) y #s(literal -1 binary64)) x))
38.9%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
60.0%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (/.f64 y x) (sqrt.f64 x) #s(literal -1 binary64))) x))
33.3%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)) x))
31.6%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
31.3%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
63.5%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))))
Compiler

Compiled 316 to 229 computations (27.5% saved)

simplify168.0ms (5.1%)

Memory
9.2MiB live, 151.6MiB allocated; 18ms collecting garbage
Localize:

Found 17 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 y x)
cost-diff0
(fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
cost-diff0
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)))
cost-diff0
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))))
cost-diff0
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)
cost-diff0
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y))
cost-diff0
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)) x)
cost-diff0
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)) x))
cost-diff0
(neg.f64 x)
cost-diff0
#s(approx (- 1 x) (neg.f64 x))
cost-diff0
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
cost-diff0
#s(approx (- 1 x) #s(literal 1 binary64))
cost-diff0
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
cost-diff0
(neg.f64 x)
cost-diff0
#s(approx (- 1 x) (neg.f64 x))
cost-diff0
(sqrt.f64 x)
cost-diff0
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031203
041203
162203
297203
3178203
4339203
5950203
64876203
08585194
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
(sqrt.f64 x)
x
y
#s(approx (- 1 x) (neg.f64 x))
(neg.f64 x)
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
#s(approx (- 1 x) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
#s(approx (- 1 x) (neg.f64 x))
(neg.f64 x)
x
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)) x))
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)) x)
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
y
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)))
(fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
(*.f64 y x)
y
x
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
Outputs
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
(sqrt.f64 x)
x
y
#s(approx (- 1 x) (neg.f64 x))
(neg.f64 x)
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
#s(approx (- 1 x) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
#s(approx (- 1 x) (neg.f64 x))
(neg.f64 x)
x
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)) x))
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)) x)
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
y
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)))
(fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
(*.f64 y x)
y
x
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)

localize173.0ms (5.2%)

Memory
-29.9MiB live, 152.4MiB allocated; 41ms collecting garbage
Localize:

Found 17 expressions of interest:

NewMetricScoreProgram
accuracy0.0
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)))
accuracy0.16796875
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
accuracy4.04622953342737
(fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
accuracy20.41220282618716
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))))
accuracy0.26953125
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)
accuracy3.6587712031096924
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)) x)
accuracy19.997542259952198
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)) x))
accuracy30.88758794433522
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y))
accuracy0.0
(neg.f64 x)
accuracy24.18070430781241
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
accuracy30.69794699771844
#s(approx (- 1 x) (neg.f64 x))
accuracy24.18070430781241
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
accuracy33.764611420646396
#s(approx (- 1 x) #s(literal 1 binary64))
accuracy0.0
(sqrt.f64 x)
accuracy0.0
(neg.f64 x)
accuracy0.0625
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
accuracy30.69794699771844
#s(approx (- 1 x) (neg.f64 x))
Samples
109.0ms256×0valid
Compiler

Compiled 124 to 22 computations (82.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 84.0ms
ival-sqrt: 34.0ms (40.4% of total)
ival-div: 31.0ms (36.9% of total)
ival-mult: 9.0ms (10.7% of total)
ival-add: 6.0ms (7.1% of total)
ival-sub: 1.0ms (1.2% of total)
ival-neg: 1.0ms (1.2% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series14.0ms (0.4%)

Memory
1.3MiB live, 44.4MiB allocated; 6ms collecting garbage
Counts
16 → 65
Calls
Call 1
Inputs
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
(sqrt.f64 x)
#s(approx (- 1 x) (neg.f64 x))
(neg.f64 x)
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
#s(approx (- 1 x) #s(literal 1 binary64))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)) x))
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)) x)
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)))
(fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
(*.f64 y x)
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
Outputs
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (sqrt x) #s(hole binary64 (sqrt x)))
#s(approx (- 1 x) #s(hole binary64 1))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (neg x) #s(hole binary64 (* -1 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* (sqrt x) y)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (+ (* -1 x) (* (sqrt x) y))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (/ (+ (* -1 x) (* (sqrt x) y)) x)))
#s(approx (* (sqrt (/ 1 x)) y) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (sqrt (/ 1 x)) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) y) 1)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (sqrt x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1)))
#s(approx (* (sqrt (/ 1 x)) y) #s(hole binary64 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) (/ 1 x))))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* (sqrt x) (* y (pow (sqrt -1) 2)))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* -1 (* x (- (* -1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (sqrt (/ 1 x)) #s(hole binary64 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (- 1 x)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- 1 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 -1))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 1))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 1))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* y (+ (sqrt x) (* -1 (/ x y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* y (- (sqrt (/ 1 x)) (/ 1 y)))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (/ x y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt (/ 1 x))) (/ 1 y))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
Calls

6 calls:

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

simplify105.0ms (3.2%)

Memory
35.9MiB live, 136.5MiB allocated; 16ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01561036
1328982
2883970
03292885
Stop Event
iter limit
iter limit
node limit
Counts
65 → 65
Calls
Call 1
Inputs
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (sqrt x) #s(hole binary64 (sqrt x)))
#s(approx (- 1 x) #s(hole binary64 1))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (neg x) #s(hole binary64 (* -1 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* (sqrt x) y)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (+ (* -1 x) (* (sqrt x) y))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (/ (+ (* -1 x) (* (sqrt x) y)) x)))
#s(approx (* (sqrt (/ 1 x)) y) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (sqrt (/ 1 x)) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) y) 1)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (sqrt x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1)))
#s(approx (* (sqrt (/ 1 x)) y) #s(hole binary64 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) (/ 1 x))))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* (sqrt x) (* y (pow (sqrt -1) 2)))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* -1 (* x (- (* -1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (sqrt (/ 1 x)) #s(hole binary64 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (- 1 x)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- 1 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 -1))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 1))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 1))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* y (+ (sqrt x) (* -1 (/ x y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* y (- (sqrt (/ 1 x)) (/ 1 y)))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (/ x y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt (/ 1 x))) (/ 1 y))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
Outputs
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (sqrt x) #s(hole binary64 (sqrt x)))
#s(approx (sqrt x) (sqrt.f64 x))
#s(approx (- 1 x) #s(hole binary64 1))
#s(approx (- 1 x) #s(literal 1 binary64))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (- 1 x) (-.f64 #s(literal 1 binary64) x))
#s(approx (neg x) #s(hole binary64 (* -1 x)))
#s(approx (neg x) (neg.f64 x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* (sqrt x) y)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (*.f64 (sqrt.f64 x) y))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (+ (* -1 x) (* (sqrt x) y))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (fma.f64 (sqrt.f64 x) y (neg.f64 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (/ (+ (* -1 x) (* (sqrt x) y)) x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (/.f64 y x) (sqrt.f64 x) #s(literal -1 binary64)))
#s(approx (* (sqrt (/ 1 x)) y) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (* (sqrt (/ 1 x)) y) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (* y x) (*.f64 y x))
#s(approx (sqrt (/ 1 x)) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (sqrt (/ 1 x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (-.f64 #s(literal 1 binary64) x)))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) (neg.f64 x))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (- 1 x) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (-.f64 #s(literal 1 binary64) x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) y) 1)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) 1) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y (/.f64 #s(literal 1 binary64) x))) (neg.f64 x)))
#s(approx (sqrt x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (sqrt x) (sqrt.f64 x))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
#s(approx (- 1 x) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x)) (neg.f64 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y (/.f64 #s(literal 1 binary64) x))) (neg.f64 x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (*.f64 (fma.f64 (neg.f64 y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1 binary64)) x))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (neg.f64 y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1 binary64)))
#s(approx (* (sqrt (/ 1 x)) y) #s(hole binary64 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))))
#s(approx (* (sqrt (/ 1 x)) y) (*.f64 (neg.f64 y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (+ (* (sqrt x) y) 1) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) (/ 1 x))))))
#s(approx (+ (* (sqrt x) y) 1) (*.f64 (-.f64 (*.f64 (neg.f64 y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) (/.f64 #s(literal 1 binary64) x)) (neg.f64 x)))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* (sqrt x) (* y (pow (sqrt -1) 2)))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) (*.f64 (neg.f64 y) (sqrt.f64 x)))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* -1 (* x (- (* -1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) (*.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y) (/.f64 #s(literal 1 binary64) x)) (neg.f64 x)))
#s(approx (sqrt (/ 1 x)) #s(hole binary64 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))
#s(approx (sqrt (/ 1 x)) (neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (- 1 x)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- 1 x)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (neg.f64 x))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 -1))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(literal -1 binary64))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 1))
#s(approx (+ (* (sqrt x) y) 1) #s(literal 1 binary64))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 1))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(literal 1 binary64))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* y (+ (sqrt x) (* -1 (/ x y))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (fma.f64 (sqrt.f64 x) y (neg.f64 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* y (- (sqrt (/ 1 x)) (/ 1 y)))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (* (sqrt x) y) (- 1 x)) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (+ (* (sqrt x) y) (- 1 x)) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (/ x y))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (fma.f64 (sqrt.f64 x) y (neg.f64 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt (/ 1 x))) (/ 1 y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (+ (* (sqrt x) y) 1) (neg.f64 (fma.f64 (neg.f64 y) (sqrt.f64 x) #s(literal -1 binary64))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (+ (* (* y x) (sqrt (/ 1 x))) 1) (neg.f64 (fma.f64 (neg.f64 y) (sqrt.f64 x) #s(literal -1 binary64))))

rewrite49.0ms (1.5%)

Memory
-13.9MiB live, 32.2MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031175
041175
1143164
0954152
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
16 → 77
Calls
Call 1
Inputs
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
(sqrt.f64 x)
#s(approx (- 1 x) (neg.f64 x))
(neg.f64 x)
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
#s(approx (- 1 x) #s(literal 1 binary64))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)) x))
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)) x)
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)))
(fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
(*.f64 y x)
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
Outputs
(/.f64 (-.f64 (pow.f64 #s(approx (- 1 x) (neg.f64 x)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64))) (-.f64 #s(approx (- 1 x) (neg.f64 x)) (*.f64 (sqrt.f64 x) y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64)) (pow.f64 #s(approx (- 1 x) (neg.f64 x)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 (sqrt.f64 x) y) #s(approx (- 1 x) (neg.f64 x)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (- 1 x) (neg.f64 x)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(approx (- 1 x) (neg.f64 x)) (-.f64 #s(approx (- 1 x) (neg.f64 x)) (*.f64 (sqrt.f64 x) y)) (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64)) (pow.f64 #s(approx (- 1 x) (neg.f64 x)) #s(literal 2 binary64))) (-.f64 (*.f64 (sqrt.f64 x) y) #s(approx (- 1 x) (neg.f64 x))))
(/.f64 (+.f64 (pow.f64 #s(approx (- 1 x) (neg.f64 x)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 3 binary64))) (fma.f64 #s(approx (- 1 x) (neg.f64 x)) #s(approx (- 1 x) (neg.f64 x)) (-.f64 (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64)) (*.f64 (*.f64 (sqrt.f64 x) y) #s(approx (- 1 x) (neg.f64 x))))))
(/.f64 (+.f64 (pow.f64 #s(approx (- 1 x) (neg.f64 x)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 3 binary64))) (fma.f64 #s(approx (- 1 x) (neg.f64 x)) (-.f64 #s(approx (- 1 x) (neg.f64 x)) (*.f64 (sqrt.f64 x) y)) (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 x) y) #s(literal -1 binary64)) #s(literal -1 binary64) #s(approx (- 1 x) (neg.f64 x)))
(fma.f64 (*.f64 (sqrt.f64 x) y) #s(literal 1 binary64) #s(approx (- 1 x) (neg.f64 x)))
(fma.f64 (sqrt.f64 x) (*.f64 y #s(literal 1 binary64)) #s(approx (- 1 x) (neg.f64 x)))
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
(fma.f64 #s(literal 1 binary64) (*.f64 (sqrt.f64 x) y) #s(approx (- 1 x) (neg.f64 x)))
(fma.f64 y (*.f64 (sqrt.f64 x) #s(literal 1 binary64)) #s(approx (- 1 x) (neg.f64 x)))
(fma.f64 y (sqrt.f64 x) #s(approx (- 1 x) (neg.f64 x)))
(-.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64)) (-.f64 (*.f64 (sqrt.f64 x) y) #s(approx (- 1 x) (neg.f64 x)))) (/.f64 (pow.f64 #s(approx (- 1 x) (neg.f64 x)) #s(literal 2 binary64)) (-.f64 (*.f64 (sqrt.f64 x) y) #s(approx (- 1 x) (neg.f64 x)))))
(-.f64 #s(approx (- 1 x) (neg.f64 x)) (*.f64 (neg.f64 (sqrt.f64 x)) y))
(-.f64 #s(approx (- 1 x) (neg.f64 x)) (*.f64 (neg.f64 y) (sqrt.f64 x)))
(+.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 3 binary64)) (fma.f64 #s(approx (- 1 x) (neg.f64 x)) (-.f64 #s(approx (- 1 x) (neg.f64 x)) (*.f64 (sqrt.f64 x) y)) (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64)))) (/.f64 (pow.f64 #s(approx (- 1 x) (neg.f64 x)) #s(literal 3 binary64)) (fma.f64 #s(approx (- 1 x) (neg.f64 x)) (-.f64 #s(approx (- 1 x) (neg.f64 x)) (*.f64 (sqrt.f64 x) y)) (pow.f64 (*.f64 (sqrt.f64 x) y) #s(literal 2 binary64)))))
(+.f64 (*.f64 (sqrt.f64 x) y) #s(approx (- 1 x) (neg.f64 x)))
(+.f64 #s(approx (- 1 x) (neg.f64 x)) (*.f64 (sqrt.f64 x) y))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(pow.f64 x #s(literal 1/2 binary64))
(sqrt.f64 x)
(exp.f64 (*.f64 (log.f64 x) #s(literal 1/2 binary64)))
#s(approx (- 1 x) (neg.f64 x))
(neg.f64 x)
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
#s(approx (- 1 x) #s(literal 1 binary64))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y)) x))
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y)) x)
(*.f64 x #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y))
(*.f64 (pow.f64 x #s(literal -1/2 binary64)) y)
(*.f64 y (pow.f64 x #s(literal -1/2 binary64)))
(/.f64 (*.f64 #s(literal 1 binary64) y) (sqrt.f64 x))
(/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (/.f64 x (sqrt.f64 x)) y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (/.f64 x (sqrt.f64 x)) y)) (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 2 binary64)) (*.f64 (/.f64 x (sqrt.f64 x)) y))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (/.f64 x (sqrt.f64 x)) y)) (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal -1 binary64)) #s(literal -1 binary64) #s(literal 1 binary64))
(fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))
(fma.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 y x) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 y x) (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) x #s(literal 1 binary64))
(fma.f64 (pow.f64 x #s(literal -1/2 binary64)) (*.f64 (*.f64 y x) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (pow.f64 x #s(literal -1/2 binary64)) (*.f64 y x) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 1 binary64))
(fma.f64 y (*.f64 (/.f64 x (sqrt.f64 x)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 y (/.f64 x (sqrt.f64 x)) #s(literal 1 binary64))
(fma.f64 x (*.f64 (pow.f64 x #s(literal -1/2 binary64)) y) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 2 binary64)) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal -1 binary64))))
(-.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 y x)) (pow.f64 x #s(literal -1/2 binary64))))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (pow.f64 x #s(literal -1/2 binary64))) (*.f64 y x)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 y) (/.f64 x (sqrt.f64 x))))
(+.f64 (/.f64 (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (/.f64 x (sqrt.f64 x)) y)) (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (/.f64 x (sqrt.f64 x)) y)) (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 2 binary64)))))
(+.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (/.f64 x (sqrt.f64 x)) y))
(*.f64 y x)
(*.f64 x y)
(*.f64 (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) (sqrt.f64 x)))
(*.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -1/2 binary64)))
(pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 x) #s(literal -1 binary64))
(pow.f64 x #s(literal -1/2 binary64))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (neg.f64 x)))
(/.f64 #s(literal -1 binary64) (neg.f64 (sqrt.f64 x)))
(/.f64 #s(literal 1 binary64) (sqrt.f64 x))
(sqrt.f64 (pow.f64 x #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 x #s(literal -1 binary64))) #s(literal 1/2 binary64)))

eval13.0ms (0.4%)

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

Compiled 3 347 to 443 computations (86.8% saved)

prune11.0ms (0.3%)

Memory
-26.6MiB live, 18.8MiB allocated; 4ms collecting garbage
Pruning

10 alts after pruning (3 fresh and 7 done)

PrunedKeptTotal
New1323135
Fresh202
Picked235
Done044
Total13610146
Accuracy
100.0%
Counts
146 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
68.7%
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
68.0%
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
62.2%
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
38.9%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
33.4%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))) x))
31.6%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
31.3%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
68.0%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))))
63.5%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))))
Compiler

Compiled 159 to 115 computations (27.7% saved)

simplify174.0ms (5.3%)

Memory
-26.8MiB live, 176.3MiB allocated; 31ms collecting garbage
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x)))
cost-diff0
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))) x)
cost-diff0
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))) x))
cost-diff2
(*.f64 y #s(literal 1 binary64))
cost-diff0
(/.f64 x (sqrt.f64 x))
cost-diff0
(fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))
cost-diff0
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64)))
cost-diff0
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))))
cost-diff0
(*.f64 y x)
cost-diff0
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64)))
cost-diff0
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))))
cost-diff2
(fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029187
041183
170171
2148171
3398171
41727171
56168171
09052161
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64)))
(fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))
(*.f64 y x)
y
x
(/.f64 #s(literal 1 binary64) (sqrt.f64 x))
#s(literal 1 binary64)
(sqrt.f64 x)
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64)))
(fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))
(/.f64 x (sqrt.f64 x))
x
(sqrt.f64 x)
y
#s(literal 1 binary64)
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))) x))
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))) x)
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x)))
(/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))
(*.f64 y #s(literal 1 binary64))
y
#s(literal 1 binary64)
(sqrt.f64 x)
x
Outputs
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64)))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64)))
(fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))
(fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))
(*.f64 y x)
y
x
(/.f64 #s(literal 1 binary64) (sqrt.f64 x))
#s(literal 1 binary64)
(sqrt.f64 x)
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64)))
(fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))
(/.f64 x (sqrt.f64 x))
x
(sqrt.f64 x)
y
#s(literal 1 binary64)
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 y (sqrt.f64 x))) x))
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))) x)
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 y (sqrt.f64 x))) x)
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 y (sqrt.f64 x)))
(/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))
(/.f64 y (sqrt.f64 x))
(*.f64 y #s(literal 1 binary64))
y
y
#s(literal 1 binary64)
(sqrt.f64 x)
x

localize76.0ms (2.3%)

Memory
-0.7MiB live, 99.7MiB allocated; 12ms collecting garbage
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.18359375
(/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))
accuracy3.6587712031096924
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))) x)
accuracy19.997542259952198
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))) x))
accuracy30.88758794433522
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x)))
accuracy0.0
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64)))
accuracy0.10546875
(fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))
accuracy0.421875
(/.f64 x (sqrt.f64 x))
accuracy20.41220282618716
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))))
accuracy0.0
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64)))
accuracy0.26171875
(/.f64 #s(literal 1 binary64) (sqrt.f64 x))
accuracy4.04622953342737
(fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))
accuracy20.41220282618716
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))))
Samples
57.0ms256×0valid
Compiler

Compiled 109 to 26 computations (76.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 45.0ms
ival-sqrt: 19.0ms (42.2% of total)
ival-mult: 12.0ms (26.7% of total)
ival-div: 7.0ms (15.6% of total)
ival-add: 6.0ms (13.3% of total)
ival-sub: 2.0ms (4.4% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series11.0ms (0.3%)

Memory
17.9MiB live, 17.9MiB allocated; 0ms collecting garbage
Counts
14 → 52
Calls
Call 1
Inputs
(fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64)))
(*.f64 y x)
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64)))
(fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))
(/.f64 x (sqrt.f64 x))
(*.f64 y #s(literal 1 binary64))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))) x))
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))) x)
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x)))
(/.f64 #s(literal 1 binary64) (sqrt.f64 x))
(/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))
Outputs
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (/ x (sqrt x)) #s(hole binary64 (sqrt x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* (sqrt x) y)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (+ (* -1 x) (* (sqrt x) y))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (/ (+ (* -1 x) (* (sqrt x) y)) x)))
#s(approx (/ 1 (sqrt x)) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (/ (* y 1) (sqrt x)) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) y) 1)))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* -1 (* x (- (* -1 (* (sqrt (/ 1 x)) y)) (/ 1 x))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) (/ 1 x))))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* -1 (* x (- (* -1 (* (sqrt (/ 1 x)) y)) (/ 1 x))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1)))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 1))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- 1 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 1))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 1))
#s(approx (* y 1) #s(hole binary64 y))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 -1))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* y (+ (sqrt x) (* -1 (/ x y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* y (- (sqrt (/ 1 x)) (/ 1 y)))))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (/ x y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt (/ 1 x))) (/ 1 y))))))
Calls

6 calls:

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

simplify77.0ms (2.3%)

Memory
21.4MiB live, 67.4MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0138849
1311790
2934788
03379713
Stop Event
iter limit
iter limit
node limit
Counts
52 → 52
Calls
Call 1
Inputs
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (/ x (sqrt x)) #s(hole binary64 (sqrt x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* (sqrt x) y)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (+ (* -1 x) (* (sqrt x) y))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (/ (+ (* -1 x) (* (sqrt x) y)) x)))
#s(approx (/ 1 (sqrt x)) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (/ (* y 1) (sqrt x)) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) y) 1)))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* -1 (* x (- (* -1 (* (sqrt (/ 1 x)) y)) (/ 1 x))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) (/ 1 x))))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* -1 (* x (- (* -1 (* (sqrt (/ 1 x)) y)) (/ 1 x))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1)))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 1))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- 1 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 1))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 1))
#s(approx (* y 1) #s(hole binary64 y))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 -1))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* y (+ (sqrt x) (* -1 (/ x y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* y (- (sqrt (/ 1 x)) (/ 1 y)))))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (/ x y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt (/ 1 x))) (/ 1 y))))))
Outputs
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (+ 1 (+ (* -1 x) (* (sqrt x) y)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (* y x) (*.f64 x y))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (+ 1 (* (sqrt x) y))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (/ x (sqrt x)) #s(hole binary64 (sqrt x)))
#s(approx (/ x (sqrt x)) (sqrt.f64 x))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* (sqrt x) y)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (*.f64 (sqrt.f64 x) y))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (+ (* -1 x) (* (sqrt x) y))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (fma.f64 (sqrt.f64 x) y (neg.f64 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (/ (+ (* -1 x) (* (sqrt x) y)) x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (/.f64 y x) (sqrt.f64 x) #s(literal -1 binary64)))
#s(approx (/ 1 (sqrt x)) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (/ 1 (sqrt x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
#s(approx (/ (* y 1) (sqrt x)) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (/ (* y 1) (sqrt x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (/ x (sqrt x)) y) 1) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) (fma.f64 (*.f64 x y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* x (- (+ (* (sqrt (/ 1 x)) y) (/ 1 x)) 1))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (*.f64 x y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (sqrt x) y) 1) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 x y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (* (/ x (sqrt x)) y) 1) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* x (+ (* (sqrt (/ 1 x)) y) (/ 1 x)))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) (fma.f64 (*.f64 x y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) y) 1))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) y) 1)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* -1 (* x (- (* -1 (* (sqrt (/ 1 x)) y)) (/ 1 x))))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) (*.f64 (-.f64 (*.f64 (neg.f64 y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) (/.f64 #s(literal 1 binary64) x)) (neg.f64 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* x (- (+ 1 (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2)))) (/ 1 x))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y (/.f64 #s(literal 1 binary64) x))) (neg.f64 x)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (+ (* (sqrt x) y) 1) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) (/ 1 x))))))
#s(approx (+ (* (sqrt x) y) 1) (*.f64 (-.f64 (*.f64 (neg.f64 y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) (/.f64 #s(literal 1 binary64) x)) (neg.f64 x)))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* -1 (* x (- (* -1 (* (sqrt (/ 1 x)) y)) (/ 1 x))))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) (*.f64 (-.f64 (*.f64 (neg.f64 y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) (/.f64 #s(literal 1 binary64) x)) (neg.f64 x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* x (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (*.f64 (fma.f64 (neg.f64 y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1 binary64)) x))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (- (* (sqrt (/ 1 x)) (* y (pow (sqrt -1) 2))) 1)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (neg.f64 y) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1 binary64)))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 1))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(literal 1 binary64))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- 1 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (- (+ 1 (* (sqrt x) y)) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 1))
#s(approx (+ (* (sqrt x) y) 1) #s(literal 1 binary64))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 1))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(literal 1 binary64))
#s(approx (* y 1) #s(hole binary64 y))
#s(approx (* y 1) y)
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 x)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (neg.f64 x))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 -1))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(literal -1 binary64))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* (sqrt x) y)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* y (- (+ (sqrt x) (/ 1 y)) (/ x y)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* y (+ (sqrt x) (/ 1 y)))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* y (+ (sqrt x) (* -1 (/ x y))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (fma.f64 (sqrt.f64 x) y (neg.f64 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* y (- (sqrt (/ 1 x)) (/ 1 y)))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)))
#s(approx (+ (* (* y x) (/ 1 (sqrt x))) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (* -1 (/ (- 1 x) y)))))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (* (sqrt x) y) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 (* -1 (* y (- (* -1 (sqrt x)) (/ 1 y))))))
#s(approx (+ (* (/ x (sqrt x)) y) 1) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt x)) (/ x y))))))
#s(approx (* (+ (* (sqrt (/ 1 x)) y) -1) x) (fma.f64 (sqrt.f64 x) y (neg.f64 x)))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) #s(hole binary64 (* -1 (* y (+ (* -1 (sqrt (/ 1 x))) (/ 1 y))))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)))

rewrite49.0ms (1.5%)

Memory
-18.3MiB live, 27.3MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029172
041162
1159149
01107142
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
14 → 104
Calls
Call 1
Inputs
(fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64)))
(*.f64 y x)
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64)))
(fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))
(/.f64 x (sqrt.f64 x))
(*.f64 y #s(literal 1 binary64))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))) x))
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))) x)
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x)))
(/.f64 #s(literal 1 binary64) (sqrt.f64 x))
(/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))
Outputs
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (/.f64 y (sqrt.f64 x)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (/.f64 y (sqrt.f64 x)) x #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (/.f64 y (sqrt.f64 x)) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (/.f64 y (sqrt.f64 x)) x #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) (*.f64 (/.f64 y (sqrt.f64 x)) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (/.f64 y (sqrt.f64 x)) x)))
(fma.f64 (*.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal -1 binary64)) #s(literal -1 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 (/.f64 x (sqrt.f64 x)) #s(literal 1 binary64)) y #s(literal 1 binary64))
(fma.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (/.f64 y (sqrt.f64 x)) x #s(literal 1 binary64))
(fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))
(fma.f64 (pow.f64 x #s(literal -1/2 binary64)) (*.f64 x y) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 1 binary64))
(fma.f64 (*.f64 x y) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 x y) (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1 binary64))
(fma.f64 x (/.f64 y (sqrt.f64 x)) #s(literal 1 binary64))
(fma.f64 y (*.f64 #s(literal 1 binary64) (/.f64 x (sqrt.f64 x))) #s(literal 1 binary64))
(fma.f64 y (*.f64 (/.f64 x (sqrt.f64 x)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 y (/.f64 x (sqrt.f64 x)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) (fma.f64 (/.f64 y (sqrt.f64 x)) x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 y (sqrt.f64 x)) x #s(literal -1 binary64))))
(-.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (pow.f64 x #s(literal -1/2 binary64))) (*.f64 x y)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 x y)) (pow.f64 x #s(literal -1/2 binary64))))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (/.f64 x (sqrt.f64 x))) y))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 y) (/.f64 x (sqrt.f64 x))))
(+.f64 (/.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (/.f64 y (sqrt.f64 x)) x))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (/.f64 y (sqrt.f64 x)) x))))
(+.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (/.f64 y (sqrt.f64 x)) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64)))
(*.f64 (*.f64 (*.f64 x y) #s(literal -1 binary64)) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 x y))
(*.f64 (*.f64 x y) #s(literal 1 binary64))
(*.f64 x y)
(*.f64 y x)
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))))
#s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (/.f64 y (sqrt.f64 x)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (/.f64 y (sqrt.f64 x)) x #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (/.f64 y (sqrt.f64 x)) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (/.f64 y (sqrt.f64 x)) x #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) (*.f64 (/.f64 y (sqrt.f64 x)) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (/.f64 y (sqrt.f64 x)) x)))
(fma.f64 (*.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal -1 binary64)) #s(literal -1 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 (/.f64 x (sqrt.f64 x)) #s(literal 1 binary64)) y #s(literal 1 binary64))
(fma.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (/.f64 y (sqrt.f64 x)) x #s(literal 1 binary64))
(fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))
(fma.f64 (pow.f64 x #s(literal -1/2 binary64)) (*.f64 x y) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 1 binary64))
(fma.f64 (*.f64 x y) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 x y) (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1 binary64))
(fma.f64 x (/.f64 y (sqrt.f64 x)) #s(literal 1 binary64))
(fma.f64 y (*.f64 #s(literal 1 binary64) (/.f64 x (sqrt.f64 x))) #s(literal 1 binary64))
(fma.f64 y (*.f64 (/.f64 x (sqrt.f64 x)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 y (/.f64 x (sqrt.f64 x)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) (fma.f64 (/.f64 y (sqrt.f64 x)) x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 y (sqrt.f64 x)) x #s(literal -1 binary64))))
(-.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (pow.f64 x #s(literal -1/2 binary64))) (*.f64 x y)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 x y)) (pow.f64 x #s(literal -1/2 binary64))))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (/.f64 x (sqrt.f64 x))) y))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 y) (/.f64 x (sqrt.f64 x))))
(+.f64 (/.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (/.f64 y (sqrt.f64 x)) x))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (/.f64 y (sqrt.f64 x)) x))))
(+.f64 (*.f64 (/.f64 y (sqrt.f64 x)) x) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (/.f64 y (sqrt.f64 x)) x))
(*.f64 (pow.f64 x #s(literal -1/2 binary64)) x)
(*.f64 x (pow.f64 x #s(literal -1/2 binary64)))
(/.f64 (*.f64 x #s(literal -1 binary64)) (neg.f64 (sqrt.f64 x)))
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 (sqrt.f64 x))))
(/.f64 (neg.f64 x) (neg.f64 (sqrt.f64 x)))
(/.f64 x (sqrt.f64 x))
(neg.f64 (/.f64 (neg.f64 x) (sqrt.f64 x)))
(neg.f64 (/.f64 x (neg.f64 (sqrt.f64 x))))
y
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 y (sqrt.f64 x))) x))
(*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 y (sqrt.f64 x))) x)
(*.f64 x #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 y (sqrt.f64 x))))
#s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 y (sqrt.f64 x)))
(*.f64 (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (sqrt.f64 x) #s(literal -1/2 binary64)) (pow.f64 (sqrt.f64 x) #s(literal -1/2 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) (sqrt.f64 x)))
(*.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -1/2 binary64)))
(pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 x) #s(literal -1 binary64))
(pow.f64 x #s(literal -1/2 binary64))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (neg.f64 x)))
(/.f64 #s(literal -1 binary64) (neg.f64 (sqrt.f64 x)))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 (sqrt.f64 x))))
(/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 x) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (sqrt.f64 x))
(neg.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)))
(neg.f64 (/.f64 #s(literal 1 binary64) (neg.f64 (sqrt.f64 x))))
(sqrt.f64 (pow.f64 x #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 x #s(literal -1 binary64))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 x)) #s(literal -1 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1 binary64)) y)
(*.f64 (/.f64 y (sqrt.f64 x)) #s(literal 1 binary64))
(*.f64 (pow.f64 x #s(literal -1/2 binary64)) y)
(*.f64 #s(literal 1 binary64) (/.f64 y (sqrt.f64 x)))
(*.f64 y (pow.f64 x #s(literal -1/2 binary64)))
(/.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 (sqrt.f64 x))))
(/.f64 (neg.f64 y) (neg.f64 (sqrt.f64 x)))
(/.f64 y (sqrt.f64 x))
(neg.f64 (/.f64 (neg.f64 y) (sqrt.f64 x)))

eval11.0ms (0.3%)

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

Compiled 2 814 to 420 computations (85.1% saved)

prune51.0ms (1.5%)

Memory
-29.0MiB live, 22.9MiB allocated; 8ms collecting garbage
Pruning

10 alts after pruning (1 fresh and 9 done)

PrunedKeptTotal
New1051106
Fresh000
Picked123
Done077
Total10610116
Accuracy
100.0%
Counts
116 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
68.7%
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
68.0%
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
62.2%
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
38.9%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
33.4%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 #s(approx (* y 1) y) (sqrt.f64 x))) x))
31.6%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
31.3%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
68.0%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))))
63.5%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))))
Compiler

Compiled 505 to 196 computations (61.2% saved)

regimes21.0ms (0.6%)

Memory
-8.3MiB live, 33.6MiB allocated; 7ms collecting garbage
Counts
19 → 1
Calls
Call 1
Inputs
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 #s(approx (* y 1) y) (sqrt.f64 x))) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (/.f64 x (sqrt.f64 x)) y #s(literal 1 binary64))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y)) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 (*.f64 y #s(literal 1 binary64)) (sqrt.f64 x))) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (+ (* (sqrt x) y) 1) (fma.f64 (*.f64 y x) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1 binary64))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (fma.f64 (/.f64 y x) (sqrt.f64 x) #s(literal -1 binary64))) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) y #s(literal -1 binary64)) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) x))
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))))
Outputs
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
Calls

3 calls:

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

Compiled 10 to 11 computations (-10% saved)

regimes8.0ms (0.2%)

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

3 calls:

2.0ms
x
2.0ms
y
2.0ms
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
Results
AccuracySegmentsBranch
97.8%2(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
98.2%2x
95.4%3y
Compiler

Compiled 10 to 11 computations (-10% saved)

regimes7.0ms (0.2%)

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

3 calls:

2.0ms
x
2.0ms
y
2.0ms
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
Results
AccuracySegmentsBranch
95.4%3y
85.4%3(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
78.4%2x
Compiler

Compiled 10 to 11 computations (-10% saved)

regimes2.0ms (0.1%)

Memory
6.7MiB live, 6.7MiB allocated; 0ms collecting garbage
Counts
4 → 3
Calls
Call 1
Inputs
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
Outputs
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
Calls

1 calls:

2.0ms
y
Results
AccuracySegmentsBranch
92.1%3y
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes7.0ms (0.2%)

Memory
-30.1MiB live, 14.7MiB allocated; 3ms collecting garbage
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
Outputs
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
Calls

3 calls:

4.0ms
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
2.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
62.2%1x
62.2%1(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
62.2%1y
Compiler

Compiled 10 to 11 computations (-10% saved)

regimes4.0ms (0.1%)

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

3 calls:

1.0ms
y
1.0ms
x
1.0ms
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
Results
AccuracySegmentsBranch
61.4%2(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
36.1%3y
60.8%2x
Compiler

Compiled 10 to 11 computations (-10% saved)

regimes3.0ms (0.1%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

3 calls:

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

Compiled 10 to 11 computations (-10% saved)

bsearch14.0ms (0.4%)

Memory
-21.6MiB live, 24.2MiB allocated; 3ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
13.0ms
0.024135655008597375
6.28869852535679
Samples
8.0ms128×0valid
Compiler

Compiled 203 to 180 computations (11.3% saved)

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

bsearch17.0ms (0.5%)

Memory
19.8MiB live, 19.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
7.045584281645447e+32
5.71744250892192e+36
4.0ms
-2.5746254427624153e+35
-1.8439503902150068e+35
Samples
8.0ms176×0valid
Compiler

Compiled 297 to 265 computations (10.8% saved)

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

bsearch20.0ms (0.6%)

Memory
18.8MiB live, 18.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
1.9997130780069484e+65
1.2165518826146085e+67
8.0ms
-4.416625685722392e+45
-5.805445231592361e+44
Samples
10.0ms208×0valid
Compiler

Compiled 336 to 298 computations (11.3% saved)

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

bsearch0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-77.7619778576226
0.9758643449914026
Compiler

Compiled 11 to 12 computations (-9.1% saved)

simplify63.0ms (1.9%)

Memory
-19.3MiB live, 40.4MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040170
160170
276170
3106170
4163170
5423170
63444170
75922170
Stop Event
node limit
Calls
Call 1
Inputs
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
(if (<=.f64 x #s(literal 1 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))) (fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x))))
(if (<=.f64 y #s(literal -250000000000000010605159343504490496 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))) (if (<=.f64 y #s(literal 530000000000000009201282075158642688 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x)) #s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))))
(if (<=.f64 y #s(literal -4400000000000000071227251776425245816706301952 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y)) (if (<=.f64 y #s(literal 1400000000000000035694593162559767294036500350640283004107797561344 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x)) #s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
(if (<=.f64 (+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x))) #s(literal -50 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x))) #s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
Outputs
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
(if (<=.f64 x #s(literal 1 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))) (fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x))))
(if (<=.f64 y #s(literal -250000000000000010605159343504490496 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))) (if (<=.f64 y #s(literal 530000000000000009201282075158642688 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x)) #s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))))
(if (or (<=.f64 y #s(literal -250000000000000010605159343504490496 binary64)) (not (<=.f64 y #s(literal 530000000000000009201282075158642688 binary64)))) #s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))) #s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x)))
(if (<=.f64 y #s(literal -4400000000000000071227251776425245816706301952 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y)) (if (<=.f64 y #s(literal 1400000000000000035694593162559767294036500350640283004107797561344 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x)) #s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))))
(if (or (<=.f64 y #s(literal -4400000000000000071227251776425245816706301952 binary64)) (not (<=.f64 y #s(literal 1400000000000000035694593162559767294036500350640283004107797561344 binary64)))) #s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y)) #s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
(if (<=.f64 (+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x))) #s(literal -50 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x))) #s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64))))
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))

derivations87.0ms (2.6%)

Memory
2.5MiB live, 89.9MiB allocated; 11ms collecting garbage
Stop Event
fuel
Compiler

Compiled 170 to 43 computations (74.7% saved)

preprocess42.0ms (1.3%)

Memory
-20.8MiB live, 76.7MiB allocated; 29ms collecting garbage
Compiler

Compiled 356 to 100 computations (71.9% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...