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

Time bar (total: 2.5s)

start0.0ms (0%)

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

analyze16.0ms (0.6%)

Memory
-28.4MiB live, 15.9MiB allocated; 8ms 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)

sample752.0ms (30.4%)

Memory
77.0MiB live, 1 049.2MiB allocated; 270ms collecting garbage
Samples
456.0ms8 253×0valid
17.0ms253×0invalid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 269.0ms
ival-sub: 85.0ms (31.6% of total)
ival-mult: 66.0ms (24.5% of total)
ival-sqrt: 65.0ms (24.1% of total)
ival-add: 36.0ms (13.4% of total)
ival-true: 6.0ms (2.2% of total)
exact: 5.0ms (1.9% of total)
adjust: 3.0ms (1.1% of total)
ival-assert: 3.0ms (1.1% of total)
Bogosity

explain107.0ms (4.3%)

Memory
-19.4MiB live, 114.1MiB allocated; 57ms 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
41.0ms512×0valid
Compiler

Compiled 52 to 25 computations (51.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-sqrt: 18.0ms (65% of total)
ival-sub: 3.0ms (10.8% of total)
ival-mult: 3.0ms (10.8% of total)
ival-add: 2.0ms (7.2% 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)

preprocess233.0ms (9.4%)

Memory
3.3MiB live, 189.5MiB allocated; 67ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01946
14946
29646
317243
435642
5103742
6280642
7660742
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.0MiB live, 0.0MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

series6.0ms (0.2%)

Memory
8.4MiB live, 8.4MiB allocated; 0ms collecting garbage
Counts
7 → 22
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
#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 x #s(hole binary64 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 y #s(hole binary64 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 (+ (- 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) 1 x (* y (sqrt x)) y (sqrt x))
1.0ms
y
@-inf
((+ (- 1 x) (* y (sqrt x))) (- 1 x) 1 x (* y (sqrt x)) y (sqrt x))
1.0ms
x
@inf
((+ (- 1 x) (* y (sqrt x))) (- 1 x) 1 x (* y (sqrt x)) y (sqrt x))
1.0ms
x
@0
((+ (- 1 x) (* y (sqrt x))) (- 1 x) 1 x (* y (sqrt x)) y (sqrt x))
1.0ms
y
@inf
((+ (- 1 x) (* y (sqrt x))) (- 1 x) 1 x (* y (sqrt x)) y (sqrt x))

simplify108.0ms (4.4%)

Memory
-21.4MiB live, 80.6MiB allocated; 37ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
076280
1174273
2506272
01776254
Stop Event
iter limit
iter limit
node limit
Counts
22 → 22
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 x #s(hole binary64 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 y #s(hole binary64 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 (+ (- 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 x #s(hole binary64 x))
#s(approx x 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 (-.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 (- 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 y #s(hole binary64 y))
#s(approx y y)
#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))

rewrite55.0ms (2.2%)

Memory
22.7MiB live, 113.2MiB allocated; 10ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0720
01120
14820
036619
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
7 → 36
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) (*.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)
#s(literal 1 binary64)
x
(*.f64 (sqrt.f64 x) y)
(*.f64 y (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)))

eval6.0ms (0.2%)

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

Compiled 872 to 169 computations (80.6% saved)

prune52.0ms (2.1%)

Memory
-99.2MiB live, 26.2MiB allocated; 65ms collecting garbage
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New49655
Fresh000
Picked101
Done000
Total50656
Accuracy
100.0%
Counts
56 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(fma.f64 (sqrt.f64 x) y (-.f64 #s(literal 1 binary64) x))
99.7%
(+.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)))))
66.7%
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
63.2%
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
62.5%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) y #s(literal -1 binary64)) x))
37.7%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
Compiler

Compiled 154 to 120 computations (22.1% saved)

series50.0ms (2%)

Memory
-20.2MiB live, 29.5MiB allocated; 6ms collecting garbage
Counts
17 → 58
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))
#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))
(/.f64 #s(literal 1 binary64) x)
#s(literal -1 binary64)
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 x #s(hole binary64 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 (/ 1 x) #s(hole binary64 (/ 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 y #s(hole binary64 y))
#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
42.0ms
y
@-inf
((+ (* (sqrt x) y) (- 1 x)) (sqrt x) x y (- 1 x) 1 (+ (- 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 x) -1)
3.0ms
x
@-inf
((+ (* (sqrt x) y) (- 1 x)) (sqrt x) x y (- 1 x) 1 (+ (- 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 x) -1)
2.0ms
x
@0
((+ (* (sqrt x) y) (- 1 x)) (sqrt x) x y (- 1 x) 1 (+ (- 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 x) -1)
1.0ms
x
@inf
((+ (* (sqrt x) y) (- 1 x)) (sqrt x) x y (- 1 x) 1 (+ (- 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 x) -1)
1.0ms
y
@inf
((+ (* (sqrt x) y) (- 1 x)) (sqrt x) x y (- 1 x) 1 (+ (- 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 x) -1)

simplify95.0ms (3.9%)

Memory
21.2MiB live, 161.1MiB allocated; 11ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0140869
1299829
2828821
03157748
Stop Event
iter limit
iter limit
node limit
Counts
58 → 58
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 x #s(hole binary64 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 (/ 1 x) #s(hole binary64 (/ 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 y #s(hole binary64 y))
#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 x #s(hole binary64 x))
#s(approx x 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 (/ 1 x) #s(hole binary64 (/ 1 x)))
#s(approx (/ 1 x) (/.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 (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 (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 (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 (* (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 y #s(hole binary64 y))
#s(approx y y)
#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)))

rewrite52.0ms (2.1%)

Memory
21.2MiB live, 108.4MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
021105
031101
111697
078397
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
17 → 128
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))
#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))
(/.f64 #s(literal 1 binary64) x)
#s(literal -1 binary64)
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)))
x
y
(/.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(literal 1 binary64)
#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)))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) x))
(*.f64 (pow.f64 x #s(literal -1/2 binary64)) (pow.f64 x #s(literal -1/2 binary64)))
(*.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -1 binary64)))
(pow.f64 x #s(literal -1 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 x))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 x)))
(/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) x)
(neg.f64 (/.f64 #s(literal -1 binary64) x))
(neg.f64 (/.f64 #s(literal 1 binary64) (neg.f64 x)))
(exp.f64 (*.f64 (log.f64 x) #s(literal -1 binary64)))
#s(literal -1 binary64)

eval28.0ms (1.1%)

Memory
-13.4MiB live, 89.4MiB allocated; 8ms collecting garbage
Compiler

Compiled 3 920 to 569 computations (85.5% saved)

prune13.0ms (0.5%)

Memory
1.7MiB live, 45.4MiB allocated; 5ms collecting garbage
Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New1977204
Fresh101
Picked235
Done000
Total20010210
Accuracy
100.0%
Counts
210 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
68.1%
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
66.7%
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
63.2%
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
62.5%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) y #s(literal -1 binary64)) x))
37.6%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64))) y))
37.7%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
32.1%
#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))
32.1%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
30.6%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
63.1%
#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 291 to 209 computations (28.2% saved)

series14.0ms (0.6%)

Memory
6.2MiB live, 51.7MiB allocated; 3ms collecting garbage
Counts
20 → 68
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) (* 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(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)
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 x #s(hole binary64 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 (/ 1 x)) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (/ 1 x) #s(hole binary64 (/ 1 x)))
#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 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 (/ 1 x)) #s(hole binary64 (* (sqrt (/ 1 x)) (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 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 y #s(hole binary64 y))
#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
5.0ms
x
@-inf
((+ (* (sqrt x) y) (- 1 x)) (sqrt x) x y (- 1 x) (neg x) (+ (- 1 x) (* y (sqrt x))) (- 1 x) 1 (+ (- 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) (sqrt (/ 1 x)) (/ 1 x) (+ (- 1 x) (* y (sqrt x))) (+ (* (sqrt x) y) 1) (+ (* (* y x) (sqrt (/ 1 x))) 1) (* y x))
2.0ms
y
@-inf
((+ (* (sqrt x) y) (- 1 x)) (sqrt x) x y (- 1 x) (neg x) (+ (- 1 x) (* y (sqrt x))) (- 1 x) 1 (+ (- 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) (sqrt (/ 1 x)) (/ 1 x) (+ (- 1 x) (* y (sqrt x))) (+ (* (sqrt x) y) 1) (+ (* (* y x) (sqrt (/ 1 x))) 1) (* y x))
1.0ms
x
@inf
((+ (* (sqrt x) y) (- 1 x)) (sqrt x) x y (- 1 x) (neg x) (+ (- 1 x) (* y (sqrt x))) (- 1 x) 1 (+ (- 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) (sqrt (/ 1 x)) (/ 1 x) (+ (- 1 x) (* y (sqrt x))) (+ (* (sqrt x) y) 1) (+ (* (* y x) (sqrt (/ 1 x))) 1) (* y x))
1.0ms
x
@0
((+ (* (sqrt x) y) (- 1 x)) (sqrt x) x y (- 1 x) (neg x) (+ (- 1 x) (* y (sqrt x))) (- 1 x) 1 (+ (- 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) (sqrt (/ 1 x)) (/ 1 x) (+ (- 1 x) (* y (sqrt x))) (+ (* (sqrt x) y) 1) (+ (* (* y x) (sqrt (/ 1 x))) 1) (* y x))
1.0ms
y
@inf
((+ (* (sqrt x) y) (- 1 x)) (sqrt x) x y (- 1 x) (neg x) (+ (- 1 x) (* y (sqrt x))) (- 1 x) 1 (+ (- 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) (sqrt (/ 1 x)) (/ 1 x) (+ (- 1 x) (* y (sqrt x))) (+ (* (sqrt x) y) 1) (+ (* (* y x) (sqrt (/ 1 x))) 1) (* y x))

simplify82.0ms (3.3%)

Memory
17.5MiB live, 165.3MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01591049
1331995
2885983
03289898
Stop Event
iter limit
iter limit
node limit
Counts
68 → 68
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 x #s(hole binary64 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 (/ 1 x)) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (/ 1 x) #s(hole binary64 (/ 1 x)))
#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 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 (/ 1 x)) #s(hole binary64 (* (sqrt (/ 1 x)) (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 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 y #s(hole binary64 y))
#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 x #s(hole binary64 x))
#s(approx x 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 (/ 1 x)) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (sqrt (/ 1 x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
#s(approx (/ 1 x) #s(hole binary64 (/ 1 x)))
#s(approx (/ 1 x) (/.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) (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 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 (/ 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) #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 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 y #s(hole binary64 y))
#s(approx y y)
#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))))

rewrite54.0ms (2.2%)

Memory
4.4MiB live, 95.9MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031181
041181
1143170
0954158
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
20 → 91
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) (* 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(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)
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)))
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) (* 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))
(*.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)))
(*.f64 (pow.f64 x #s(literal -1/2 binary64)) (pow.f64 x #s(literal -1/2 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) x))
(*.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -1 binary64)))
(pow.f64 x #s(literal -1 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 x))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 x)))
(/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) x)
(neg.f64 (/.f64 #s(literal -1 binary64) x))
(neg.f64 (/.f64 #s(literal 1 binary64) (neg.f64 x)))
(exp.f64 (*.f64 (log.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 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)

eval72.0ms (2.9%)

Memory
-49.4MiB live, 52.2MiB allocated; 23ms collecting garbage
Compiler

Compiled 4 509 to 570 computations (87.4% saved)

prune9.0ms (0.4%)

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

10 alts after pruning (3 fresh and 7 done)

PrunedKeptTotal
New1812183
Fresh112
Picked145
Done033
Total18310193
Accuracy
100.0%
Counts
193 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
68.1%
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
66.7%
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
63.2%
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
37.6%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64))) y))
37.7%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
32.1%
#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))
32.1%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
30.6%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
66.6%
#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.1%
#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 170 to 121 computations (28.8% saved)

series83.0ms (3.4%)

Memory
-3.8MiB live, 138.7MiB allocated; 32ms collecting garbage
Counts
18 → 53
Calls
Call 1
Inputs
#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))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64))) y))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64))) y)
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(pow.f64 x #s(literal 1/4 binary64))
#s(literal 1/4 binary64)
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 (+ (* (sqrt x) y) 1) #s(hole binary64 (+ 1 (* (sqrt 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 x #s(hole binary64 x))
#s(approx (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 (/ (* y 1) (sqrt x)) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (* (* (pow x 1/4) (pow x 1/4)) y) #s(hole binary64 (* (sqrt x) y)))
#s(approx (* (pow x 1/4) (pow x 1/4)) #s(hole binary64 (sqrt x)))
#s(approx (pow x 1/4) #s(hole binary64 (pow (* 1 x) 1/4)))
#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 (+ (- 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 x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#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 (* (* (pow x 1/4) (pow x 1/4)) y) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (* (pow x 1/4) (pow x 1/4)) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (pow x 1/4) #s(hole binary64 (exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 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 (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 1))
#s(approx y #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 1) #s(hole binary64 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 (+ (- 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
35.0ms
x
@-inf
((+ (- 1 x) (* y (sqrt x))) (+ (* (sqrt x) y) 1) (+ (* (/ x (sqrt x)) y) 1) (/ x (sqrt x)) x (sqrt x) y 1 (+ (- 1 x) (* y (sqrt x))) (* (+ (* (sqrt (/ 1 x)) y) -1) x) (+ (* (sqrt (/ 1 x)) y) -1) (/ (* y 1) (sqrt x)) (* y 1) (+ (- 1 x) (* y (sqrt x))) (* (* (pow x 1/4) (pow x 1/4)) y) (* (pow x 1/4) (pow x 1/4)) (pow x 1/4) 1/4)
35.0ms
x
@0
((+ (- 1 x) (* y (sqrt x))) (+ (* (sqrt x) y) 1) (+ (* (/ x (sqrt x)) y) 1) (/ x (sqrt x)) x (sqrt x) y 1 (+ (- 1 x) (* y (sqrt x))) (* (+ (* (sqrt (/ 1 x)) y) -1) x) (+ (* (sqrt (/ 1 x)) y) -1) (/ (* y 1) (sqrt x)) (* y 1) (+ (- 1 x) (* y (sqrt x))) (* (* (pow x 1/4) (pow x 1/4)) y) (* (pow x 1/4) (pow x 1/4)) (pow x 1/4) 1/4)
8.0ms
x
@inf
((+ (- 1 x) (* y (sqrt x))) (+ (* (sqrt x) y) 1) (+ (* (/ x (sqrt x)) y) 1) (/ x (sqrt x)) x (sqrt x) y 1 (+ (- 1 x) (* y (sqrt x))) (* (+ (* (sqrt (/ 1 x)) y) -1) x) (+ (* (sqrt (/ 1 x)) y) -1) (/ (* y 1) (sqrt x)) (* y 1) (+ (- 1 x) (* y (sqrt x))) (* (* (pow x 1/4) (pow x 1/4)) y) (* (pow x 1/4) (pow x 1/4)) (pow x 1/4) 1/4)
2.0ms
y
@-inf
((+ (- 1 x) (* y (sqrt x))) (+ (* (sqrt x) y) 1) (+ (* (/ x (sqrt x)) y) 1) (/ x (sqrt x)) x (sqrt x) y 1 (+ (- 1 x) (* y (sqrt x))) (* (+ (* (sqrt (/ 1 x)) y) -1) x) (+ (* (sqrt (/ 1 x)) y) -1) (/ (* y 1) (sqrt x)) (* y 1) (+ (- 1 x) (* y (sqrt x))) (* (* (pow x 1/4) (pow x 1/4)) y) (* (pow x 1/4) (pow x 1/4)) (pow x 1/4) 1/4)
1.0ms
y
@inf
((+ (- 1 x) (* y (sqrt x))) (+ (* (sqrt x) y) 1) (+ (* (/ x (sqrt x)) y) 1) (/ x (sqrt x)) x (sqrt x) y 1 (+ (- 1 x) (* y (sqrt x))) (* (+ (* (sqrt (/ 1 x)) y) -1) x) (+ (* (sqrt (/ 1 x)) y) -1) (/ (* y 1) (sqrt x)) (* y 1) (+ (- 1 x) (* y (sqrt x))) (* (* (pow x 1/4) (pow x 1/4)) y) (* (pow x 1/4) (pow x 1/4)) (pow x 1/4) 1/4)

simplify126.0ms (5.1%)

Memory
14.9MiB live, 106.7MiB allocated; 10ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0149761
1347729
21115726
04347662
Stop Event
iter limit
iter limit
node limit
Counts
53 → 53
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 (+ (* (sqrt x) y) 1) #s(hole binary64 (+ 1 (* (sqrt 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 x #s(hole binary64 x))
#s(approx (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 (/ (* y 1) (sqrt x)) #s(hole binary64 (* (sqrt (/ 1 x)) y)))
#s(approx (* (* (pow x 1/4) (pow x 1/4)) y) #s(hole binary64 (* (sqrt x) y)))
#s(approx (* (pow x 1/4) (pow x 1/4)) #s(hole binary64 (sqrt x)))
#s(approx (pow x 1/4) #s(hole binary64 (pow (* 1 x) 1/4)))
#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 (+ (- 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 x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#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 (* (* (pow x 1/4) (pow x 1/4)) y) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (* (pow x 1/4) (pow x 1/4)) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (pow x 1/4) #s(hole binary64 (exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 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 (+ (* (/ x (sqrt x)) y) 1) #s(hole binary64 1))
#s(approx y #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 1) #s(hole binary64 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 (+ (- 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 (+ (- 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))) (-.f64 (fma.f64 (sqrt.f64 x) y #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 (+ (* (/ 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 x #s(hole binary64 x))
#s(approx x x)
#s(approx (sqrt x) #s(hole binary64 (sqrt x)))
#s(approx (* (pow x 1/4) (pow x 1/4)) (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 (/ (* 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 (* (* (pow x 1/4) (pow x 1/4)) y) #s(hole binary64 (* (sqrt x) y)))
#s(approx (* (* (pow x 1/4) (pow x 1/4)) y) (*.f64 (sqrt.f64 x) y))
#s(approx (* (pow x 1/4) (pow x 1/4)) #s(hole binary64 (sqrt x)))
#s(approx (* (pow x 1/4) (pow x 1/4)) (sqrt.f64 x))
#s(approx (pow x 1/4) #s(hole binary64 (pow (* 1 x) 1/4)))
#s(approx (pow x 1/4) (pow.f64 x #s(literal 1/4 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 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 (+ (* (/ 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 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 (+ (- 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 x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (* (pow x 1/4) (pow x 1/4)) (sqrt.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 (* (* (pow x 1/4) (pow x 1/4)) y) #s(hole binary64 (* -1 (* (sqrt x) (* y (pow (sqrt -1) 2))))))
#s(approx (* (* (pow x 1/4) (pow x 1/4)) y) (*.f64 (sqrt.f64 x) y))
#s(approx (* (pow x 1/4) (pow x 1/4)) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (* (pow x 1/4) (pow x 1/4)) (sqrt.f64 x))
#s(approx (pow x 1/4) #s(hole binary64 (exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 x))))))))
#s(approx (pow x 1/4) (*.f64 (pow.f64 #s(literal -1 binary64) #s(literal 1/4 binary64)) (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -1/4 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))) (-.f64 (fma.f64 (sqrt.f64 x) y #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 #s(hole binary64 y))
#s(approx y 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 1) #s(hole binary64 y))
#s(approx y y)
#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 (fma.f64 (sqrt.f64 x) y #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 (+ (- 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 (fma.f64 (sqrt.f64 x) y #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)))

rewrite68.0ms (2.7%)

Memory
-21.4MiB live, 73.6MiB allocated; 22ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029158
040127
1159127
01045122
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
18 → 119
Calls
Call 1
Inputs
#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))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64))) y))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64))) y)
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(pow.f64 x #s(literal 1/4 binary64))
#s(literal 1/4 binary64)
Outputs
#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 (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (/.f64 x (sqrt.f64 x)) y))))
(/.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 (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (/.f64 x (sqrt.f64 x)) y)))
(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 (/.f64 x (sqrt.f64 x)) #s(literal 1 binary64)) y #s(literal 1 binary64))
(fma.f64 (/.f64 x (neg.f64 (pow.f64 x #s(literal 1/4 binary64)))) (/.f64 y (neg.f64 (pow.f64 x #s(literal 1/4 binary64)))) #s(literal 1 binary64))
(fma.f64 (/.f64 x (pow.f64 x #s(literal 1/4 binary64))) (/.f64 y (pow.f64 x #s(literal 1/4 binary64))) #s(literal 1 binary64))
(fma.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (/.f64 x (sqrt.f64 x)) y #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))
(fma.f64 x (/.f64 y (sqrt.f64 x)) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (/.f64 x (sqrt.f64 x)) 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 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 x (sqrt.f64 x)) y) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (/.f64 x (sqrt.f64 x)) y))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 x (sqrt.f64 x)) y) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (/.f64 x (sqrt.f64 x)) y))))
(+.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 (/.f64 x (neg.f64 (pow.f64 x #s(literal 1/4 binary64)))) (neg.f64 (pow.f64 x #s(literal 1/4 binary64))))
(/.f64 (/.f64 x (pow.f64 x #s(literal 1/4 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(/.f64 (neg.f64 (neg.f64 x)) (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))))
x
(*.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 (pow.f64 x #s(literal 1/4 binary64)))) (neg.f64 (neg.f64 (pow.f64 x #s(literal 1/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 x #s(literal 1/4 binary64))))
(*.f64 (neg.f64 (pow.f64 x #s(literal 1/4 binary64))) (neg.f64 (pow.f64 x #s(literal 1/4 binary64))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(pow.f64 (neg.f64 (pow.f64 x #s(literal 1/4 binary64))) #s(literal 2 binary64))
(pow.f64 (*.f64 x x) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 x #s(literal 1/2 binary64))
(neg.f64 (neg.f64 (sqrt.f64 x)))
(sqrt.f64 x)
(fabs.f64 (sqrt.f64 x))
(exp.f64 (fma.f64 (log.f64 x) #s(literal 1/4 binary64) (*.f64 (log.f64 x) #s(literal 1/4 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 x) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 x x)) #s(literal 1/4 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 x #s(literal 1/4 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 x) #s(literal 1/2 binary64)))
y
#s(literal 1 binary64)
#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 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1 binary64)) y)
(*.f64 (/.f64 y (neg.f64 (pow.f64 x #s(literal 1/4 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 x #s(literal 1/4 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 x #s(literal 1/4 binary64)))) (/.f64 y (neg.f64 (pow.f64 x #s(literal 1/4 binary64)))))
(*.f64 (/.f64 y (pow.f64 x #s(literal 1/4 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 1/4 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 1/4 binary64))) (/.f64 y (pow.f64 x #s(literal 1/4 binary64))))
(*.f64 (/.f64 y (sqrt.f64 x)) #s(literal 1 binary64))
(*.f64 (pow.f64 x #s(literal -1/2 binary64)) y)
(*.f64 y (pow.f64 x #s(literal -1/2 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 y (sqrt.f64 x)))
(/.f64 (/.f64 y (neg.f64 (pow.f64 x #s(literal 1/4 binary64)))) (neg.f64 (pow.f64 x #s(literal 1/4 binary64))))
(/.f64 (/.f64 y (pow.f64 x #s(literal 1/4 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(/.f64 (neg.f64 (neg.f64 y)) (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)))
y
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
(*.f64 (*.f64 (*.f64 (sqrt.f64 x) y) #s(literal -1 binary64)) #s(literal -1 binary64))
(*.f64 (*.f64 (sqrt.f64 x) #s(literal 1 binary64)) y)
(*.f64 (*.f64 y (neg.f64 (pow.f64 x #s(literal 1/4 binary64)))) (neg.f64 (pow.f64 x #s(literal 1/4 binary64))))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) y) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (pow.f64 x #s(literal 1/4 binary64)) y)))
(*.f64 (neg.f64 (pow.f64 x #s(literal 1/4 binary64))) (*.f64 (neg.f64 (pow.f64 x #s(literal 1/4 binary64))) y))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 (pow.f64 x #s(literal 1/4 binary64)) y))
(*.f64 (sqrt.f64 x) y)
(*.f64 (*.f64 (sqrt.f64 x) y) #s(literal 1 binary64))
(*.f64 y (*.f64 #s(literal 1 binary64) (sqrt.f64 x)))
(*.f64 y (*.f64 (sqrt.f64 x) #s(literal 1 binary64)))
(*.f64 y (sqrt.f64 x))
(*.f64 #s(literal 1 binary64) (*.f64 (sqrt.f64 x) y))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 (pow.f64 x #s(literal 1/4 binary64)))) (neg.f64 (neg.f64 (pow.f64 x #s(literal 1/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 x #s(literal 1/4 binary64))))
(*.f64 (neg.f64 (pow.f64 x #s(literal 1/4 binary64))) (neg.f64 (pow.f64 x #s(literal 1/4 binary64))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(pow.f64 (neg.f64 (pow.f64 x #s(literal 1/4 binary64))) #s(literal 2 binary64))
(pow.f64 (*.f64 x x) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 x #s(literal 1/2 binary64))
(neg.f64 (neg.f64 (sqrt.f64 x)))
(sqrt.f64 x)
(fabs.f64 (sqrt.f64 x))
(exp.f64 (fma.f64 (log.f64 x) #s(literal 1/4 binary64) (*.f64 (log.f64 x) #s(literal 1/4 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 x) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 x x)) #s(literal 1/4 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 x #s(literal 1/4 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 x) #s(literal 1/2 binary64)))
(*.f64 (neg.f64 (pow.f64 x #s(literal 1/8 binary64))) (neg.f64 (pow.f64 x #s(literal 1/8 binary64))))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 1/8 binary64))) (fabs.f64 (pow.f64 x #s(literal 1/8 binary64))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 x #s(literal 1/8 binary64)))
(pow.f64 (exp.f64 (log.f64 x)) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 x #s(literal 1/8 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 x x) #s(literal 1/8 binary64))
(pow.f64 x #s(literal 1/4 binary64))
(sqrt.f64 (sqrt.f64 x))
(fabs.f64 (neg.f64 (pow.f64 x #s(literal 1/4 binary64))))
(fabs.f64 (pow.f64 x #s(literal 1/4 binary64)))
(exp.f64 (*.f64 (log.f64 x) #s(literal 1/4 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 x) #s(literal 1/4 binary64))) (sinh.f64 (*.f64 (log.f64 x) #s(literal 1/4 binary64))))
#s(literal 1/4 binary64)

eval23.0ms (0.9%)

Memory
14.9MiB live, 56.0MiB allocated; 10ms collecting garbage
Compiler

Compiled 4 659 to 676 computations (85.5% saved)

prune14.0ms (0.6%)

Memory
-12.1MiB live, 34.1MiB allocated; 4ms collecting garbage
Pruning

12 alts after pruning (4 fresh and 8 done)

PrunedKeptTotal
New1794183
Fresh000
Picked213
Done077
Total18112193
Accuracy
100.0%
Counts
193 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
68.1%
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
66.7%
#s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64)))
63.2%
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
37.6%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 (pow.f64 x #s(literal 1/4 binary64)) y)))
37.6%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (*.f64 (pow.f64 (pow.f64 x #s(literal 1/8 binary64)) #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64))) y))
37.6%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (sqrt.f64 x))) y))
37.7%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y))
32.1%
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 #s(approx (+ (* (sqrt (/ 1 x)) y) -1) (/.f64 y (sqrt.f64 x))) x))
32.1%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) (neg.f64 x)))
30.6%
#s(approx (+ (- 1 x) (* y (sqrt x))) #s(approx (- 1 x) #s(literal 1 binary64)))
66.6%
#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.1%
#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 546 to 232 computations (57.5% saved)

regimes21.0ms (0.9%)

Memory
-4.8MiB live, 38.9MiB allocated; 7ms collecting garbage
Counts
20 → 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 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))) (*.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 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (sqrt.f64 x))) y))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64))) y))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 (pow.f64 x #s(literal 1/4 binary64)) y)))
(+.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)))))
#s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (*.f64 (pow.f64 (pow.f64 x #s(literal 1/8 binary64)) #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64))) y))
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.3%)

Memory
17.3MiB live, 17.3MiB allocated; 0ms collecting garbage
Counts
6 → 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)))
(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)))
#s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x))
(fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))
Calls

3 calls:

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

Compiled 10 to 11 computations (-10% saved)

regimes7.0ms (0.3%)

Memory
16.2MiB live, 16.2MiB 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
97.7%3y
82.2%3(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
80.3%2x
Compiler

Compiled 10 to 11 computations (-10% saved)

regimes2.0ms (0.1%)

Memory
5.3MiB live, 5.3MiB 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
95.5%3y
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes11.0ms (0.5%)

Memory
-43.4MiB live, 11.9MiB allocated; 12ms 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:

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

Compiled 10 to 11 computations (-10% saved)

regimes4.0ms (0.2%)

Memory
10.8MiB live, 10.8MiB 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
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
1.0ms
x
Results
AccuracySegmentsBranch
60.9%2x
37.0%3y
61.4%2(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
Compiler

Compiled 10 to 11 computations (-10% saved)

regimes3.0ms (0.1%)

Memory
10.7MiB live, 10.7MiB 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
(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
1.0ms
x
1.0ms
y
Results
AccuracySegmentsBranch
30.6%1y
30.6%1x
30.6%1(+.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 y (sqrt.f64 x)))
Compiler

Compiled 10 to 11 computations (-10% saved)

bsearch23.0ms (0.9%)

Memory
-3.6MiB live, 41.0MiB allocated; 9ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
496619.36242952023
258234025.51407176
7.0ms
1.6718405949616097e-18
4.583968826481093e-18
Samples
13.0ms208×0valid
Compiler

Compiled 317 to 287 computations (9.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-sub: 5.0ms (56.9% of total)
ival-add: 1.0ms (11.4% of total)
ival-mult: 1.0ms (11.4% of total)
ival-sqrt: 1.0ms (11.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)

bsearch50.0ms (2%)

Memory
-7.3MiB live, 36.6MiB allocated; 12ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
39.0ms
4.975043362918305e+37
4.492624747033921e+39
9.0ms
-1.1151883402367701e+54
-4.0230602893739384e+52
Samples
10.0ms224×0valid
Compiler

Compiled 375 to 334 computations (10.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-sqrt: 2.0ms (35.5% of total)
ival-sub: 1.0ms (17.8% of total)
ival-add: 1.0ms (17.8% of total)
ival-mult: 1.0ms (17.8% 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)

bsearch41.0ms (1.7%)

Memory
20.4MiB live, 65.6MiB allocated; 8ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
29.0ms
8.35975097112023e+60
5.378994358864365e+71
9.0ms
-1.6046430413410112e+93
-4.445678491602928e+91
Samples
28.0ms272×0valid
Compiler

Compiled 436 to 386 computations (11.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-sub: 2.0ms (28.4% of total)
ival-mult: 2.0ms (28.4% of total)
ival-sqrt: 2.0ms (28.4% of total)
ival-add: 1.0ms (14.2% 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.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.8448241227239901
0.9997033543931537
Compiler

Compiled 11 to 12 computations (-9.1% saved)

simplify55.0ms (2.2%)

Memory
-22.8MiB live, 39.5MiB allocated; 24ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044186
164186
280186
3110186
4167186
5427186
63420186
75935186
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 5841333965851681/1298074214633706907132624082305024 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))) (if (<=.f64 x #s(literal 500000 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x)) (fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))))
(if (<=.f64 y #s(literal -580000000000000038603446096247052159269616825298583552 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))) (if (<=.f64 y #s(literal 3300000000000000209052713146227835797504 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 -44999999999999999057176132924958487708788574405639572698880203879111155593596049794531328000 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y)) (if (<=.f64 y #s(literal 54999999999999996805656153175253908383958902763484409340661923315712 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 -1/2 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 5841333965851681/1298074214633706907132624082305024 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))) (if (<=.f64 x #s(literal 500000 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (-.f64 #s(literal 1 binary64) x)) (fma.f64 (sqrt.f64 x) y #s(approx (- 1 x) (neg.f64 x)))))
(if (<=.f64 y #s(literal -580000000000000038603446096247052159269616825298583552 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (fma.f64 (sqrt.f64 x) y #s(literal 1 binary64))) (if (<=.f64 y #s(literal 3300000000000000209052713146227835797504 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 -580000000000000038603446096247052159269616825298583552 binary64)) (not (<=.f64 y #s(literal 3300000000000000209052713146227835797504 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 -44999999999999999057176132924958487708788574405639572698880203879111155593596049794531328000 binary64)) #s(approx (+ (- 1 x) (* y (sqrt x))) (*.f64 (sqrt.f64 x) y)) (if (<=.f64 y #s(literal 54999999999999996805656153175253908383958902763484409340661923315712 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 -44999999999999999057176132924958487708788574405639572698880203879111155593596049794531328000 binary64)) (not (<=.f64 y #s(literal 54999999999999996805656153175253908383958902763484409340661923315712 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 -1/2 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)))

derivations75.0ms (3%)

Memory
12.5MiB live, 56.0MiB allocated; 9ms collecting garbage
Stop Event
fuel
Compiler

Compiled 186 to 47 computations (74.7% saved)

preprocess53.0ms (2.1%)

Memory
3.0MiB live, 47.0MiB allocated; 8ms collecting garbage
Compiler

Compiled 388 to 108 computations (72.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...