Numeric.Log:$clog1p from log-domain-0.10.2.1, B

Time bar (total: 4.9s)

start0.0ms (0%)

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

analyze1.0ms (0%)

Memory
3.4MiB live, 3.4MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
50%50%50%0%0%0%0%2
66.7%50%25%0%0%25%0%3
83.3%62.5%12.5%0%0%25%0%4
91.7%68.7%6.2%0%0%25%0%5
95.8%71.8%3.1%0%0%25%0%6
97.9%73.4%1.6%0%0%25%0%7
99%74.2%0.8%0%0%25%0%8
99.5%74.6%0.4%0%0%25%0%9
99.7%74.8%0.2%0%0%25%0%10
99.9%74.9%0.1%0%0%25%0%11
99.9%74.9%0%0%0%25%0%12
Compiler

Compiled 10 to 8 computations (20% saved)

sample788.0ms (16%)

Memory
33.8MiB live, 825.3MiB allocated; 181ms collecting garbage
Samples
557.0ms8 254×0valid
0.0ms2valid
0.0ms0invalid
Precisions
Click to see histograms. Total time spent on operations: 336.0ms
ival-div: 135.0ms (40.1% of total)
ival-add: 100.0ms (29.7% of total)
ival-sqrt: 86.0ms (25.6% of total)
ival-true: 5.0ms (1.5% of total)
exact: 5.0ms (1.5% of total)
ival-assert: 3.0ms (0.9% of total)
adjust: 2.0ms (0.6% of total)
Bogosity

explain117.0ms (2.4%)

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

Compiled 58 to 22 computations (62.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-add: 5.0ms (38.7% of total)
ival-div: 3.0ms (23.2% of total)
ival-sqrt: 3.0ms (23.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)

preprocess254.0ms (5.2%)

Memory
46.0MiB live, 188.6MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
11819
22819
34619
410519
542716
6390916
7798616
068
0108
1148
2178
3318
4738
53248
630778
769498
087878
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
Outputs
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
(/.f64 x (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))
Compiler

Compiled 8 to 6 computations (25% saved)

eval0.0ms (0%)

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

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 8 to 6 computations (25% saved)

simplify260.0ms (5.3%)

Memory
-16.2MiB live, 183.6MiB allocated; 21ms collecting garbage
Localize:

Found 4 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0623
01023
11423
21723
33123
47323
532423
6307723
7694923
0878723
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
x
(+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64))))
#s(literal 1 binary64)
(sqrt.f64 (+.f64 x #s(literal 1 binary64)))
(+.f64 x #s(literal 1 binary64))
Outputs
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
(/.f64 x (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))
x
(+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64))))
(-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))
#s(literal 1 binary64)
(sqrt.f64 (+.f64 x #s(literal 1 binary64)))
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
(+.f64 x #s(literal 1 binary64))
(-.f64 x #s(literal -1 binary64))

localize33.0ms (0.7%)

Memory
-19.8MiB live, 27.2MiB allocated; 2ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 x #s(literal 1 binary64))
accuracy0.00390625
(+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64))))
accuracy0.01171875
(sqrt.f64 (+.f64 x #s(literal 1 binary64)))
accuracy0.18359375
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
Samples
28.0ms256×0valid
Compiler

Compiled 25 to 8 computations (68% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
ival-sqrt: 18.0ms (80.3% of total)
ival-add: 3.0ms (13.4% of total)
ival-div: 2.0ms (8.9% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.1%)

Memory
7.6MiB live, 7.6MiB allocated; 0ms collecting garbage
Counts
4 → 36
Calls
Call 1
Inputs
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
(+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64))))
(sqrt.f64 (+.f64 x #s(literal 1 binary64)))
(+.f64 x #s(literal 1 binary64))
Outputs
(* 1/2 x)
(* x (+ 1/2 (* -1/8 x)))
(* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))
(* x (+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8))))
2
(+ 2 (* 1/2 x))
(+ 2 (* x (+ 1/2 (* -1/8 x))))
(+ 2 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(+ 1 x)
(sqrt x)
(- (sqrt x) 1)
(- (+ (sqrt x) (* -1 (/ (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))) (pow x 2)))) 1)
(- (+ (sqrt x) (* 1/2 (/ 1 x))) (+ 1 (+ (* -1 (sqrt (/ 1 x))) (+ (* -1 (* (sqrt (/ 1 (pow x 5))) (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))))) (* 1/2 (sqrt (/ 1 x)))))))
(* x (+ (sqrt (/ 1 x)) (/ 1 x)))
(* x (+ (sqrt (/ 1 x)) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x)))))
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
x
(* x (+ 1 (/ 1 x)))
(* -1 (sqrt x))
(+ (* -1 (sqrt x)) (/ 1 (pow (sqrt -1) 2)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (+ (* -1/2 (* (sqrt x) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt x) (/ 1 (pow (sqrt -1) 2))))) x)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (* -1 (/ (- (+ (* -1 (* (sqrt (/ 1 x)) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))))) (* 1/2 (/ x (pow (sqrt -1) 4)))) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2))))) x))) x)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (- (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(* -1 (* x (+ (* -1 (/ (+ 1 (* -1/2 (sqrt (/ 1 x)))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1 (/ (+ 1 (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
Calls

3 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
((/ x (+ 1 (sqrt (+ x 1)))) (+ 1 (sqrt (+ x 1))) (sqrt (+ x 1)) (+ x 1))
2.0ms
x
@inf
((/ x (+ 1 (sqrt (+ x 1)))) (+ 1 (sqrt (+ x 1))) (sqrt (+ x 1)) (+ x 1))
0.0ms
x
@0
((/ x (+ 1 (sqrt (+ x 1)))) (+ 1 (sqrt (+ x 1))) (sqrt (+ x 1)) (+ x 1))

simplify218.0ms (4.4%)

Memory
8.2MiB live, 194.3MiB allocated; 17ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0161577
1546472
22421440
08548399
Stop Event
iter limit
node limit
Counts
36 → 35
Calls
Call 1
Inputs
(* 1/2 x)
(* x (+ 1/2 (* -1/8 x)))
(* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))
(* x (+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8))))
2
(+ 2 (* 1/2 x))
(+ 2 (* x (+ 1/2 (* -1/8 x))))
(+ 2 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(+ 1 x)
(sqrt x)
(- (sqrt x) 1)
(- (+ (sqrt x) (* -1 (/ (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))) (pow x 2)))) 1)
(- (+ (sqrt x) (* 1/2 (/ 1 x))) (+ 1 (+ (* -1 (sqrt (/ 1 x))) (+ (* -1 (* (sqrt (/ 1 (pow x 5))) (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))))) (* 1/2 (sqrt (/ 1 x)))))))
(* x (+ (sqrt (/ 1 x)) (/ 1 x)))
(* x (+ (sqrt (/ 1 x)) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x)))))
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
x
(* x (+ 1 (/ 1 x)))
(* -1 (sqrt x))
(+ (* -1 (sqrt x)) (/ 1 (pow (sqrt -1) 2)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (+ (* -1/2 (* (sqrt x) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt x) (/ 1 (pow (sqrt -1) 2))))) x)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (* -1 (/ (- (+ (* -1 (* (sqrt (/ 1 x)) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))))) (* 1/2 (/ x (pow (sqrt -1) 4)))) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2))))) x))) x)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (- (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(* -1 (* x (+ (* -1 (/ (+ 1 (* -1/2 (sqrt (/ 1 x)))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1 (/ (+ 1 (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
Outputs
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (* -1/8 x)))
(*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
2
#s(literal 2 binary64)
(+ 2 (* 1/2 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))
(+ 2 (* x (+ 1/2 (* -1/8 x))))
(fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x #s(literal 2 binary64))
(+ 2 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x #s(literal 2 binary64))
1
#s(literal 1 binary64)
(+ 1 (* 1/2 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(sqrt x)
(sqrt.f64 x)
(- (sqrt x) 1)
(-.f64 (sqrt.f64 x) #s(literal 1 binary64))
(- (+ (sqrt x) (* -1 (/ (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))) (pow x 2)))) 1)
(fma.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
(- (+ (sqrt x) (* 1/2 (/ 1 x))) (+ 1 (+ (* -1 (sqrt (/ 1 x))) (+ (* -1 (* (sqrt (/ 1 (pow x 5))) (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))))) (* 1/2 (sqrt (/ 1 x)))))))
(-.f64 (-.f64 (sqrt.f64 x) (/.f64 #s(literal -1/2 binary64) x)) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) (fma.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))))
(* x (+ (sqrt (/ 1 x)) (/ 1 x)))
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) x #s(literal 1 binary64))
(* x (+ (sqrt (/ 1 x)) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x))))
(fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x #s(literal 1 binary64))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x)))))
(fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))) x #s(literal 1 binary64))
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))) x)
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) #s(literal 1/16 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))))) x)
x
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(* -1 (sqrt x))
(neg.f64 (sqrt.f64 x))
(+ (* -1 (sqrt x)) (/ 1 (pow (sqrt -1) 2)))
(-.f64 #s(literal -1 binary64) (sqrt.f64 x))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (+ (* -1/2 (* (sqrt x) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt x) (/ 1 (pow (sqrt -1) 2))))) x)))
(-.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) x) (sqrt.f64 x) #s(literal -1 binary64)) (sqrt.f64 x))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (* -1 (/ (- (+ (* -1 (* (sqrt (/ 1 x)) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))))) (* 1/2 (/ x (pow (sqrt -1) 4)))) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2))))) x))) x)))
(-.f64 (-.f64 (/.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) #s(literal 1/2 binary64)) (-.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1 binary64))) x)) x) #s(literal 1 binary64)) (sqrt.f64 x))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* x (- (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(*.f64 (neg.f64 x) (-.f64 (neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) (/.f64 #s(literal 1 binary64) x)))
(* -1 (* x (+ (* -1 (/ (+ 1 (* -1/2 (sqrt (/ 1 x)))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f64 (+.f64 (/.f64 (fma.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* -1 (* x (+ (* -1 (/ (+ 1 (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f64 (+.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/8 binary64) (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64))) x)) x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f64 (fma.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (fma.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))) x)
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
(*.f64 (fma.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (fma.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))))) x)

rewrite59.0ms (1.2%)

Memory
11.2MiB live, 58.2MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0621
01021
14321
030821
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
4 → 47
Calls
Call 1
Inputs
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
(+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64))))
(sqrt.f64 (+.f64 x #s(literal 1 binary64)))
(+.f64 x #s(literal 1 binary64))
Outputs
(*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(*.f64 (/.f64 x (+.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)) #s(literal 1 binary64))) (-.f64 (+.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (neg.f64 x) (neg.f64 (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))))
(/.f64 x (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))
(neg.f64 (/.f64 (neg.f64 x) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))))
(neg.f64 (/.f64 x (neg.f64 (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)) (expm1.f64 (*.f64 (log1p.f64 x) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (neg.f64 (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (+.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(/.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(/.f64 (+.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)) #s(literal 1 binary64)) (+.f64 (-.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(/.f64 (+.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)) #s(literal 1 binary64)) (-.f64 (+.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(fma.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)) #s(literal 1 binary64))
(fma.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))) (/.f64 (-.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))
(+.f64 (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))) (/.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)) (-.f64 (+.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(*.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (sqrt.f64 (-.f64 x #s(literal 1 binary64))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64))) (sqrt.f64 (fma.f64 x x (-.f64 #s(literal 1 binary64) x))))
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
(exp.f64 (*.f64 (log1p.f64 x) #s(literal 1/2 binary64)))
(*.f64 (neg.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (neg.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(*.f64 (fabs.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (fabs.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(*.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(pow.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) (-.f64 x #s(literal -1 binary64))) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal 2 binary64))
(pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)) (-.f64 #s(literal 1 binary64) x))
(/.f64 (neg.f64 (fma.f64 x x #s(literal -1 binary64))) (neg.f64 (-.f64 x #s(literal 1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 x x (-.f64 #s(literal 1 binary64) x))))
(/.f64 (fma.f64 x x #s(literal -1 binary64)) (-.f64 x #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 x x) x)))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 x x (-.f64 #s(literal 1 binary64) x)))
(sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) (-.f64 x #s(literal -1 binary64))))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x #s(literal 1 binary64))))
(-.f64 x #s(literal -1 binary64))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (-.f64 #s(literal 1 binary64) x))) (/.f64 #s(literal 1 binary64) (fma.f64 x x (-.f64 #s(literal 1 binary64) x))))
(+.f64 #s(literal 1 binary64) x)
(+.f64 x #s(literal 1 binary64))

eval36.0ms (0.7%)

Memory
-22.4MiB live, 21.9MiB allocated; 6ms collecting garbage
Compiler

Compiled 1 347 to 345 computations (74.4% saved)

prune5.0ms (0.1%)

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

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New73881
Fresh000
Picked011
Done000
Total73982
Accuracy
100.0%
Counts
82 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
72.2%
(/.f64 x #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))
31.6%
(*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
29.4%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
70.7%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
71.9%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
70.4%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
71.7%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
30.1%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
Compiler

Compiled 242 to 176 computations (27.3% saved)

simplify181.0ms (3.7%)

Memory
-3.8MiB live, 98.9MiB allocated; 7ms collecting garbage
Localize:

Found 16 expressions of interest:

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

Useful iterations: 5 (0.0ms)

IterNodesCost
029160
046154
166154
2121150
3260148
4662148
52912143
08178143
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 x #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))
x
#s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
x
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)
(fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64))
#s(literal -1/8 binary64)
x
#s(literal 1/2 binary64)
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
#s(literal 1/16 binary64)
x
#s(literal -1/8 binary64)
#s(literal 1/2 binary64)
(*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))))
x
(-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))
#s(literal 1 binary64)
(-.f64 x #s(literal -1 binary64))
#s(literal -1 binary64)
(-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
Outputs
(/.f64 x #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))
x
#s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
x
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)
(fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64))
#s(literal -1/8 binary64)
x
#s(literal 1/2 binary64)
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
#s(literal 1/16 binary64)
x
#s(literal -1/8 binary64)
#s(literal 1/2 binary64)
(*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(+.f64 #s(literal -1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))))
#s(literal -1 binary64)
x
(-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))
(neg.f64 x)
#s(literal 1 binary64)
(-.f64 x #s(literal -1 binary64))
#s(literal -1 binary64)
(-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))

localize212.0ms (4.3%)

Memory
39.8MiB live, 261.4MiB allocated; 42ms collecting garbage
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
accuracy0.01171875
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
accuracy41.77289101629413
(-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))
accuracy41.80224801841936
(-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
accuracy0.0
(fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
accuracy0.0
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
accuracy0.0234375
(*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
accuracy17.99641344371644
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
accuracy0.0
(fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64))
accuracy0.01171875
(*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)
accuracy18.923435161674895
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
accuracy0.0
(*.f64 #s(literal 1/2 binary64) x)
accuracy18.111297688905204
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
accuracy0.0
(fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))
accuracy0.18359375
(/.f64 x #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))
accuracy17.762123522614818
#s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64)))
Samples
76.0ms68×2valid
57.0ms109×1valid
37.0ms79×0valid
Compiler

Compiled 139 to 29 computations (79.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 137.0ms
ival-sub: 58.0ms (42.5% of total)
ival-mult: 35.0ms (25.6% of total)
adjust: 24.0ms (17.6% of total)
ival-add: 8.0ms (5.9% of total)
ival-sqrt: 6.0ms (4.4% of total)
ival-div: 5.0ms (3.7% of total)
exact: 1.0ms (0.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series21.0ms (0.4%)

Memory
-27.2MiB live, 15.2MiB allocated; 16ms collecting garbage
Counts
18 → 78
Calls
Call 1
Inputs
(/.f64 x #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))
#s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)
(fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
(/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))))
(-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))
(*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(-.f64 x #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
Outputs
(* 1/2 x)
(* x (+ 1/2 (* -1/8 x)))
(* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))
(* x (+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8))))
2
(+ 2 (* 1/2 x))
(+ 2 (* x (+ 1/2 (* -1/8 x))))
(+ 2 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
1/2
(+ 1/2 (* -1/8 x))
(+ 1/2 (* x (- (* 1/16 x) 1/8)))
-1/8
(- (* 1/16 x) 1/8)
-1
(* -1 x)
1
(+ 1 x)
(* -1/2 x)
(* x (- (* 1/8 x) 1/2))
(* x (- (* x (+ 1/8 (* -1/16 x))) 1/2))
(* x (- (* x (+ 1/8 (* x (- (* 5/128 x) 1/16)))) 1/2))
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(sqrt x)
(- (sqrt x) 1)
(- (+ (sqrt x) (* -1 (/ (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))) (pow x 2)))) 1)
(- (+ (sqrt x) (* 1/2 (/ 1 x))) (+ 1 (+ (* -1 (sqrt (/ 1 x))) (+ (* -1 (* (sqrt (/ 1 (pow x 5))) (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))))) (* 1/2 (sqrt (/ 1 x)))))))
(* x (+ (sqrt (/ 1 x)) (/ 1 x)))
(* x (+ (sqrt (/ 1 x)) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x)))))
(* x (+ 1/2 (* 2 (/ 1 x))))
(* -1/8 (pow x 2))
(* (pow x 2) (- (* 1/2 (/ 1 x)) 1/8))
(* -1/8 x)
(* x (- (* 1/2 (/ 1 x)) 1/8))
(* 1/16 (pow x 3))
(* (pow x 3) (- 1/16 (* 1/8 (/ 1 x))))
(* (pow x 3) (- (+ 1/16 (/ 1/2 (pow x 2))) (* 1/8 (/ 1 x))))
(* 1/16 (pow x 2))
(* (pow x 2) (- 1/16 (* 1/8 (/ 1 x))))
(* (pow x 2) (- (+ 1/16 (/ 1/2 (pow x 2))) (* 1/8 (/ 1 x))))
(* 1/16 x)
(* x (- 1/16 (* 1/8 (/ 1 x))))
(* x (- (sqrt (/ 1 x)) (/ 1 x)))
(* x (- (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))) (/ 1 x)))
(* x (- (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))) (/ 1 x)))
x
(* x (+ 1 (/ 1 x)))
(* -1 (sqrt x))
(* x (- (/ 1 x) (sqrt (/ 1 x))))
(* x (- (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x)) (sqrt (/ 1 x))))
(* x (- (+ (* 1/8 (sqrt (/ 1 (pow x 5)))) (/ 1 x)) (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
(+ (* -1 (sqrt x)) (/ 1 (pow (sqrt -1) 2)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (+ (* -1/2 (* (sqrt x) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt x) (/ 1 (pow (sqrt -1) 2))))) x)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (* -1 (/ (- (+ (* -1 (* (sqrt (/ 1 x)) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))))) (* 1/2 (/ x (pow (sqrt -1) 4)))) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2))))) x))) x)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (- (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(* -1 (* x (+ (* -1 (/ (+ 1 (* -1/2 (sqrt (/ 1 x)))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1 (/ (+ 1 (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (- 1/8 (* 1/2 (/ 1 x)))))
(* -1 (* (pow x 3) (- (* 1/8 (/ 1 x)) 1/16)))
(* -1 (* (pow x 3) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/8) x)) 1/16)))
(* (pow x 2) (+ 1/16 (* -1 (/ (- 1/8 (* 1/2 (/ 1 x))) x))))
(* -1 (* x (- (* 1/8 (/ 1 x)) 1/16)))
(* -1 (* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(* -1 (* x (+ (* -1 (/ (- (* -1/2 (sqrt (/ 1 x))) 1) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1 (/ (- (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x)) 1) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* (sqrt x) (pow (sqrt -1) 2))
(* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x)))
(* -1 (* x (- (* -1 (/ (+ 1 (* 1/2 (sqrt (/ 1 x)))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (- (* -1 (/ (+ 1 (* -1 (/ (- (* 1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
Calls

3 calls:

TimeVariablePointExpression
14.0ms
x
@0
((/ x (+ 1 (sqrt (+ x 1)))) (+ 1 (sqrt (+ x 1))) (+ (* 1/2 x) 2) (/ x (+ 1 (sqrt (+ x 1)))) (* 1/2 x) (/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* -1/8 x) 1/2) x) (+ (* -1/8 x) 1/2) (/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* (+ (* 1/16 x) -1/8) x) 1/2) x) (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (+ (* 1/16 x) -1/8) (/ x (- 1 (- x -1))) (- 1 (- x -1)) (* (/ x (- 1 (- x -1))) (- 1 (sqrt (- x -1)))) (- x -1) (- 1 (sqrt (- x -1))) (sqrt (- x -1)))
4.0ms
x
@-inf
((/ x (+ 1 (sqrt (+ x 1)))) (+ 1 (sqrt (+ x 1))) (+ (* 1/2 x) 2) (/ x (+ 1 (sqrt (+ x 1)))) (* 1/2 x) (/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* -1/8 x) 1/2) x) (+ (* -1/8 x) 1/2) (/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* (+ (* 1/16 x) -1/8) x) 1/2) x) (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (+ (* 1/16 x) -1/8) (/ x (- 1 (- x -1))) (- 1 (- x -1)) (* (/ x (- 1 (- x -1))) (- 1 (sqrt (- x -1)))) (- x -1) (- 1 (sqrt (- x -1))) (sqrt (- x -1)))
2.0ms
x
@inf
((/ x (+ 1 (sqrt (+ x 1)))) (+ 1 (sqrt (+ x 1))) (+ (* 1/2 x) 2) (/ x (+ 1 (sqrt (+ x 1)))) (* 1/2 x) (/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* -1/8 x) 1/2) x) (+ (* -1/8 x) 1/2) (/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* (+ (* 1/16 x) -1/8) x) 1/2) x) (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (+ (* 1/16 x) -1/8) (/ x (- 1 (- x -1))) (- 1 (- x -1)) (* (/ x (- 1 (- x -1))) (- 1 (sqrt (- x -1)))) (- x -1) (- 1 (sqrt (- x -1))) (sqrt (- x -1)))

simplify250.0ms (5.1%)

Memory
10.4MiB live, 155.2MiB allocated; 69ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02631058
1837897
23474862
08733800
Stop Event
iter limit
node limit
Counts
78 → 77
Calls
Call 1
Inputs
(* 1/2 x)
(* x (+ 1/2 (* -1/8 x)))
(* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))
(* x (+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8))))
2
(+ 2 (* 1/2 x))
(+ 2 (* x (+ 1/2 (* -1/8 x))))
(+ 2 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
1/2
(+ 1/2 (* -1/8 x))
(+ 1/2 (* x (- (* 1/16 x) 1/8)))
-1/8
(- (* 1/16 x) 1/8)
-1
(* -1 x)
1
(+ 1 x)
(* -1/2 x)
(* x (- (* 1/8 x) 1/2))
(* x (- (* x (+ 1/8 (* -1/16 x))) 1/2))
(* x (- (* x (+ 1/8 (* x (- (* 5/128 x) 1/16)))) 1/2))
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(sqrt x)
(- (sqrt x) 1)
(- (+ (sqrt x) (* -1 (/ (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))) (pow x 2)))) 1)
(- (+ (sqrt x) (* 1/2 (/ 1 x))) (+ 1 (+ (* -1 (sqrt (/ 1 x))) (+ (* -1 (* (sqrt (/ 1 (pow x 5))) (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))))) (* 1/2 (sqrt (/ 1 x)))))))
(* x (+ (sqrt (/ 1 x)) (/ 1 x)))
(* x (+ (sqrt (/ 1 x)) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x)))))
(* x (+ 1/2 (* 2 (/ 1 x))))
(* -1/8 (pow x 2))
(* (pow x 2) (- (* 1/2 (/ 1 x)) 1/8))
(* -1/8 x)
(* x (- (* 1/2 (/ 1 x)) 1/8))
(* 1/16 (pow x 3))
(* (pow x 3) (- 1/16 (* 1/8 (/ 1 x))))
(* (pow x 3) (- (+ 1/16 (/ 1/2 (pow x 2))) (* 1/8 (/ 1 x))))
(* 1/16 (pow x 2))
(* (pow x 2) (- 1/16 (* 1/8 (/ 1 x))))
(* (pow x 2) (- (+ 1/16 (/ 1/2 (pow x 2))) (* 1/8 (/ 1 x))))
(* 1/16 x)
(* x (- 1/16 (* 1/8 (/ 1 x))))
(* x (- (sqrt (/ 1 x)) (/ 1 x)))
(* x (- (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))) (/ 1 x)))
(* x (- (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))) (/ 1 x)))
x
(* x (+ 1 (/ 1 x)))
(* -1 (sqrt x))
(* x (- (/ 1 x) (sqrt (/ 1 x))))
(* x (- (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x)) (sqrt (/ 1 x))))
(* x (- (+ (* 1/8 (sqrt (/ 1 (pow x 5)))) (/ 1 x)) (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
(+ (* -1 (sqrt x)) (/ 1 (pow (sqrt -1) 2)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (+ (* -1/2 (* (sqrt x) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt x) (/ 1 (pow (sqrt -1) 2))))) x)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (* -1 (/ (- (+ (* -1 (* (sqrt (/ 1 x)) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))))) (* 1/2 (/ x (pow (sqrt -1) 4)))) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2))))) x))) x)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (- (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(* -1 (* x (+ (* -1 (/ (+ 1 (* -1/2 (sqrt (/ 1 x)))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1 (/ (+ 1 (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (- 1/8 (* 1/2 (/ 1 x)))))
(* -1 (* (pow x 3) (- (* 1/8 (/ 1 x)) 1/16)))
(* -1 (* (pow x 3) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/8) x)) 1/16)))
(* (pow x 2) (+ 1/16 (* -1 (/ (- 1/8 (* 1/2 (/ 1 x))) x))))
(* -1 (* x (- (* 1/8 (/ 1 x)) 1/16)))
(* -1 (* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(* -1 (* x (+ (* -1 (/ (- (* -1/2 (sqrt (/ 1 x))) 1) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1 (/ (- (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x)) 1) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* (sqrt x) (pow (sqrt -1) 2))
(* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x)))
(* -1 (* x (- (* -1 (/ (+ 1 (* 1/2 (sqrt (/ 1 x)))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (- (* -1 (/ (+ 1 (* -1 (/ (- (* 1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
Outputs
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (* -1/8 x)))
(*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
2
#s(literal 2 binary64)
(+ 2 (* 1/2 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))
(+ 2 (* x (+ 1/2 (* -1/8 x))))
(fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x #s(literal 2 binary64))
(+ 2 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x #s(literal 2 binary64))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* -1/8 x))
(fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64))
(+ 1/2 (* x (- (* 1/16 x) 1/8)))
(fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
-1/8
#s(literal -1/8 binary64)
(- (* 1/16 x) 1/8)
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
-1
#s(literal -1 binary64)
(* -1 x)
(neg.f64 x)
1
#s(literal 1 binary64)
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(* -1/2 x)
(*.f64 #s(literal -1/2 binary64) x)
(* x (- (* 1/8 x) 1/2))
(*.f64 (fma.f64 #s(literal 1/8 binary64) x #s(literal -1/2 binary64)) x)
(* x (- (* x (+ 1/8 (* -1/16 x))) 1/2))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/16 binary64) x #s(literal 1/8 binary64)) x #s(literal -1/2 binary64)) x)
(* x (- (* x (+ 1/8 (* x (- (* 5/128 x) 1/16)))) 1/2))
(*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 5/128 binary64) x) #s(literal 1/16 binary64)) x #s(literal 1/8 binary64)) x #s(literal -1/2 binary64)) x)
(+ 1 (* 1/2 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(sqrt x)
(sqrt.f64 x)
(- (sqrt x) 1)
(-.f64 (sqrt.f64 x) #s(literal 1 binary64))
(- (+ (sqrt x) (* -1 (/ (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))) (pow x 2)))) 1)
(fma.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) (/.f64 (/.f64 #s(literal 1/2 binary64) x) x) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
(- (+ (sqrt x) (* 1/2 (/ 1 x))) (+ 1 (+ (* -1 (sqrt (/ 1 x))) (+ (* -1 (* (sqrt (/ 1 (pow x 5))) (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))))) (* 1/2 (sqrt (/ 1 x)))))))
(-.f64 (-.f64 (-.f64 (sqrt.f64 x) (/.f64 #s(literal -1/2 binary64) x)) #s(literal 1 binary64)) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/2 binary64))))
(* x (+ (sqrt (/ 1 x)) (/ 1 x)))
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) x #s(literal 1 binary64))
(* x (+ (sqrt (/ 1 x)) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x))))
(fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x #s(literal 1 binary64))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x)))))
(fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))) x #s(literal 1 binary64))
(* x (+ 1/2 (* 2 (/ 1 x))))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))
(* -1/8 (pow x 2))
(*.f64 (*.f64 x x) #s(literal -1/8 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 x)) 1/8))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/8 binary64)) x) x)
(* -1/8 x)
(*.f64 #s(literal -1/8 binary64) x)
(* x (- (* 1/2 (/ 1 x)) 1/8))
(*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/8 binary64)) x)
(* 1/16 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/16 binary64))
(* (pow x 3) (- 1/16 (* 1/8 (/ 1 x))))
(*.f64 (-.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1/8 binary64) x)) (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (- (+ 1/16 (/ 1/2 (pow x 2))) (* 1/8 (/ 1 x))))
(*.f64 (-.f64 #s(literal 1/16 binary64) (/.f64 (-.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) x)) (pow.f64 x #s(literal 3 binary64)))
(* 1/16 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/16 binary64))
(* (pow x 2) (- 1/16 (* 1/8 (/ 1 x))))
(*.f64 (*.f64 (-.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1/8 binary64) x)) x) x)
(* (pow x 2) (- (+ 1/16 (/ 1/2 (pow x 2))) (* 1/8 (/ 1 x))))
(*.f64 (*.f64 (-.f64 #s(literal 1/16 binary64) (/.f64 (-.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) x)) x) x)
(* 1/16 x)
(*.f64 #s(literal 1/16 binary64) x)
(* x (- 1/16 (* 1/8 (/ 1 x))))
(*.f64 (-.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1/8 binary64) x)) x)
(* x (- (sqrt (/ 1 x)) (/ 1 x)))
(*.f64 (-.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) x)) x)
(* x (- (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))) (/ 1 x)))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (-.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) x))) x)
(* x (- (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))) (/ 1 x)))
(*.f64 (-.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))) (/.f64 #s(literal 1 binary64) x)) x)
x
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(* -1 (sqrt x))
(neg.f64 (sqrt.f64 x))
(* x (- (/ 1 x) (sqrt (/ 1 x))))
(fma.f64 (neg.f64 x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
(* x (- (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x)) (sqrt (/ 1 x))))
(+.f64 #s(literal 1 binary64) (*.f64 x (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/2 binary64) (neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x))))))
(* x (- (+ (* 1/8 (sqrt (/ 1 (pow x 5)))) (/ 1 x)) (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal 1/8 binary64)) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))))))
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))) x)
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) #s(literal 1/16 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(+ (* -1 (sqrt x)) (/ 1 (pow (sqrt -1) 2)))
(-.f64 #s(literal -1 binary64) (sqrt.f64 x))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (+ (* -1/2 (* (sqrt x) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt x) (/ 1 (pow (sqrt -1) 2))))) x)))
(-.f64 (fma.f64 (sqrt.f64 x) (/.f64 #s(literal 1/2 binary64) x) #s(literal -1 binary64)) (sqrt.f64 x))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (* -1 (/ (- (+ (* -1 (* (sqrt (/ 1 x)) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))))) (* 1/2 (/ x (pow (sqrt -1) 4)))) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2))))) x))) x)))
(-.f64 (-.f64 (/.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) (+.f64 x (sqrt.f64 (pow.f64 x #s(literal 3 binary64)))) (*.f64 (*.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))) x) x) #s(literal 1 binary64)) (sqrt.f64 x))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* x (- (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(*.f64 (neg.f64 x) (-.f64 (neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) (/.f64 #s(literal 1 binary64) x)))
(* -1 (* x (+ (* -1 (/ (+ 1 (* -1/2 (sqrt (/ 1 x)))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f64 (+.f64 (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/2 binary64) #s(literal 1 binary64)) x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* -1 (* x (+ (* -1 (/ (+ 1 (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) x (fma.f64 x (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 (sqrt.f64 x) #s(literal -1/2 binary64))) (*.f64 x x)) #s(literal 1 binary64)))
(* -1 (* x (- 1/8 (* 1/2 (/ 1 x)))))
(*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/8 binary64)) x)
(* -1 (* (pow x 3) (- (* 1/8 (/ 1 x)) 1/16)))
(*.f64 (pow.f64 (neg.f64 x) #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1/8 binary64) x) #s(literal 1/16 binary64)))
(* -1 (* (pow x 3) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/8) x)) 1/16)))
(*.f64 (pow.f64 (neg.f64 x) #s(literal 3 binary64)) (-.f64 (/.f64 (-.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/16 binary64)))
(* (pow x 2) (+ 1/16 (* -1 (/ (- 1/8 (* 1/2 (/ 1 x))) x))))
(*.f64 (*.f64 (-.f64 #s(literal 1/16 binary64) (/.f64 (-.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) x)) x) x)
(* -1 (* x (- (* 1/8 (/ 1 x)) 1/16)))
(*.f64 (neg.f64 x) (-.f64 (/.f64 #s(literal 1/8 binary64) x) #s(literal 1/16 binary64)))
(* -1 (* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) x #s(literal -1 binary64))
(* -1 (* x (+ (* -1 (/ (- (* -1/2 (sqrt (/ 1 x))) 1) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f64 (+.f64 (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/2 binary64) #s(literal -1 binary64)) x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* -1 (* x (+ (* -1 (/ (- (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x)) 1) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f64 (+.f64 (/.f64 (-.f64 (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 (sqrt.f64 x) #s(literal -1/2 binary64))) x) #s(literal 1 binary64)) x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* (sqrt x) (pow (sqrt -1) 2))
(neg.f64 (sqrt.f64 x))
(* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x)))
(fma.f64 (neg.f64 x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (+ 1 (* 1/2 (sqrt (/ 1 x)))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f64 (-.f64 (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64) #s(literal 1 binary64)) x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* -1 (* x (- (* -1 (/ (+ 1 (* -1 (/ (- (* 1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 (sqrt.f64 x) #s(literal -1/2 binary64))) x)) x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/2 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))) x)
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) #s(literal -1/16 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/2 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))))) x)

rewrite59.0ms (1.2%)

Memory
6.0MiB live, 52.1MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
029145
046145
1180139
01425139
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
18 → 193
Calls
Call 1
Inputs
(/.f64 x #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))
#s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)
(fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
(/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))))
(-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))
(*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(-.f64 x #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
Outputs
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))))
(/.f64 (neg.f64 x) (neg.f64 #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64)))))
(/.f64 x #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))
(neg.f64 (/.f64 (neg.f64 x) #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64)))))
(neg.f64 (/.f64 x (neg.f64 #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))))
#s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64)))
(/.f64 (-.f64 #s(literal 4 binary64) (*.f64 #s(literal 1/4 binary64) (*.f64 x x))) (-.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) x)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64))) (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 #s(literal 4 binary64) x))))
(/.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -4 binary64)) (-.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64)))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64)) (+.f64 #s(literal 4 binary64) (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) x)))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 #s(literal 4 binary64) x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))
(fma.f64 x #s(literal 1/2 binary64) #s(literal 2 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) (-.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64))) (/.f64 #s(literal 4 binary64) (-.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64))))
(-.f64 #s(literal 2 binary64) (*.f64 #s(literal -1/2 binary64) x))
(-.f64 #s(literal 2 binary64) (*.f64 (neg.f64 x) #s(literal 1/2 binary64)))
(+.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 #s(literal 4 binary64) x))) (/.f64 #s(literal 8 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 #s(literal 4 binary64) x))))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64))
(+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) x))
(+.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 x #s(literal 1/2 binary64))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)
(*.f64 x (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/64 binary64) (*.f64 x x) #s(literal -1/4 binary64)) x) (-.f64 (*.f64 #s(literal -1/8 binary64) x) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/512 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64)) x) (fma.f64 #s(literal 1/64 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/16 binary64)))))
(/.f64 (*.f64 x (fma.f64 #s(literal 1/64 binary64) (*.f64 x x) #s(literal -1/4 binary64))) (-.f64 (*.f64 #s(literal -1/8 binary64) x) #s(literal 1/2 binary64)))
(/.f64 (*.f64 x (fma.f64 #s(literal -1/512 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 #s(literal 1/64 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/16 binary64)))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 #s(literal 1/2 binary64) x (*.f64 (*.f64 #s(literal -1/8 binary64) x) x))
(fma.f64 #s(literal 1/2 binary64) x (*.f64 x (*.f64 #s(literal -1/8 binary64) x)))
(fma.f64 x (*.f64 #s(literal -1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal -1/8 binary64) x) x))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 x (*.f64 #s(literal -1/8 binary64) x)))
(+.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) (*.f64 #s(literal 1/2 binary64) x))
(+.f64 (*.f64 x (*.f64 #s(literal -1/8 binary64) x)) (*.f64 #s(literal 1/2 binary64) x))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 #s(literal -1/8 binary64) x) x))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 x (*.f64 #s(literal -1/8 binary64) x)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/64 binary64) (*.f64 x x))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/8 binary64) x)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/64 binary64) (*.f64 x x) #s(literal -1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/8 binary64) x) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/512 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/64 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/16 binary64))))))
(/.f64 (fma.f64 #s(literal 1/64 binary64) (*.f64 x x) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal -1/8 binary64) x) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 #s(literal -1/512 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 x x)) (*.f64 x #s(literal -1/16 binary64)))))
(/.f64 (fma.f64 #s(literal -1/512 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/64 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/16 binary64)))))
(fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64))
(fma.f64 x #s(literal -1/8 binary64) #s(literal 1/2 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 x x)) (-.f64 (*.f64 #s(literal -1/8 binary64) x) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal -1/8 binary64) x) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/8 binary64) x))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 x) #s(literal -1/8 binary64)))
(+.f64 (/.f64 (*.f64 #s(literal -1/512 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 #s(literal 1/64 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/16 binary64))))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/64 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/16 binary64))))))
(+.f64 (*.f64 #s(literal -1/8 binary64) x) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/8 binary64) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(*.f64 x (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64)) x) (-.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 3 binary64)) #s(literal 1/8 binary64)) x) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64))))
(/.f64 (*.f64 x (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (-.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64)))
(/.f64 (*.f64 x (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 #s(literal 1/2 binary64) x (*.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x))
(fma.f64 #s(literal 1/2 binary64) x (*.f64 x (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)))
(fma.f64 x (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 x (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)))
(+.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x) (*.f64 #s(literal 1/2 binary64) x))
(+.f64 (*.f64 x (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)) (*.f64 #s(literal 1/2 binary64) x))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 x (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64))))
(fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
(fma.f64 x (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)) (-.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))) x))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 x) (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 3 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x))
(/.f64 (-.f64 #s(literal 1/64 binary64) (*.f64 #s(literal 1/256 binary64) (*.f64 x x))) (-.f64 #s(literal -1/8 binary64) (*.f64 #s(literal 1/16 binary64) x)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) #s(literal -1/64 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/16 binary64) x) #s(literal -1/8 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/4096 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal -1/512 binary64))) (neg.f64 (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) (-.f64 #s(literal 1/64 binary64) (*.f64 x #s(literal -1/128 binary64))))))
(/.f64 (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) #s(literal -1/64 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) x) #s(literal -1/8 binary64)))
(/.f64 (fma.f64 #s(literal 1/4096 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal -1/512 binary64)) (+.f64 #s(literal 1/64 binary64) (-.f64 (*.f64 #s(literal 1/256 binary64) (*.f64 x x)) (*.f64 x #s(literal -1/128 binary64)))))
(/.f64 (fma.f64 #s(literal 1/4096 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal -1/512 binary64)) (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) (-.f64 #s(literal 1/64 binary64) (*.f64 x #s(literal -1/128 binary64)))))
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
(fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/256 binary64) (*.f64 x x)) (-.f64 (*.f64 #s(literal 1/16 binary64) x) #s(literal -1/8 binary64))) (/.f64 #s(literal 1/64 binary64) (-.f64 (*.f64 #s(literal 1/16 binary64) x) #s(literal -1/8 binary64))))
(-.f64 #s(literal -1/8 binary64) (*.f64 #s(literal -1/16 binary64) x))
(-.f64 #s(literal -1/8 binary64) (*.f64 (neg.f64 x) #s(literal 1/16 binary64)))
(+.f64 (/.f64 (*.f64 #s(literal 1/4096 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) (-.f64 #s(literal 1/64 binary64) (*.f64 x #s(literal -1/128 binary64))))) (/.f64 #s(literal -1/512 binary64) (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) (-.f64 #s(literal 1/64 binary64) (*.f64 x #s(literal -1/128 binary64))))))
(+.f64 (*.f64 #s(literal 1/16 binary64) x) #s(literal -1/8 binary64))
(+.f64 #s(literal -1/8 binary64) (*.f64 #s(literal 1/16 binary64) x))
(*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64)))) (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3 binary64)))) (fma.f64 (-.f64 x #s(literal -1 binary64)) (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))))))
(/.f64 (neg.f64 x) (neg.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))))
(/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))))
(neg.f64 (/.f64 (neg.f64 x) (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))))
(neg.f64 (/.f64 x (neg.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))))))
(*.f64 (+.f64 #s(literal -1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal -1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(*.f64 (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(/.f64 (-.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) (-.f64 (-.f64 #s(literal 1 binary64) x) #s(literal -1 binary64)))
(/.f64 (+.f64 (pow.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) x) #s(literal -1 binary64)))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (-.f64 x #s(literal -1 binary64)) (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64))) (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3 binary64))) (fma.f64 (-.f64 x #s(literal -1 binary64)) (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x) #s(literal -1 binary64))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64))) (/.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64)) (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 x #s(literal -1 binary64)) (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64))) (/.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3 binary64)) (fma.f64 (-.f64 x #s(literal -1 binary64)) (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64))))
(-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))
(+.f64 (-.f64 #s(literal 1 binary64) x) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (-.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(*.f64 (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) x) (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64)))) (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) x) (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3 binary64)))) (fma.f64 (-.f64 x #s(literal -1 binary64)) (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (/.f64 x (+.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)) #s(literal 1 binary64))) (-.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(*.f64 (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))))
(*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(*.f64 x (/.f64 (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))) (/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))))) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64))) (/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))))) (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(/.f64 (*.f64 (neg.f64 x) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))) (neg.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (neg.f64 x)) (neg.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))))
(/.f64 (*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))
(/.f64 (*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)))) (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(/.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) x)) (neg.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))))
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))) (neg.f64 x)) (*.f64 (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)) (neg.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))))))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))) x) (*.f64 (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64))) (neg.f64 x)) (*.f64 (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (neg.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))))))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64))) x) (*.f64 (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))))
(/.f64 (*.f64 (neg.f64 x) (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (*.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))))
(/.f64 (*.f64 (neg.f64 x) (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)))) (*.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(/.f64 (*.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (*.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))))
(/.f64 (*.f64 x (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)))) (*.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))) (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) x) (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))))
(/.f64 (neg.f64 x) (neg.f64 (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))))
(/.f64 x (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))
(neg.f64 (/.f64 (neg.f64 x) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))))
(neg.f64 (/.f64 x (neg.f64 (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))))
(*.f64 (neg.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (neg.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(*.f64 (fabs.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (fabs.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(*.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 #s(literal -1 binary64) (-.f64 x #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(*.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))
(pow.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(pow.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (fma.f64 x x #s(literal -1 binary64))) (-.f64 x #s(literal 1 binary64)))
(/.f64 (*.f64 #s(literal 1 binary64) (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 x x (fma.f64 #s(literal -1 binary64) x #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)) (-.f64 #s(literal 1 binary64) x))
(/.f64 (neg.f64 (fma.f64 x x #s(literal -1 binary64))) (neg.f64 (-.f64 x #s(literal 1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 x x (-.f64 #s(literal 1 binary64) x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 x x (fma.f64 #s(literal -1 binary64) x #s(literal 1 binary64)))))
(/.f64 (fma.f64 x x #s(literal -1 binary64)) (-.f64 x #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 x x) x)))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 x x (fma.f64 #s(literal -1 binary64) x #s(literal 1 binary64))))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 x x (-.f64 #s(literal 1 binary64) x)))
(sqrt.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (fma.f64 #s(literal -1 binary64) x #s(literal 1 binary64)))) (/.f64 #s(literal -1 binary64) (fma.f64 x x (fma.f64 #s(literal -1 binary64) x #s(literal 1 binary64)))))
(-.f64 x #s(literal -1 binary64))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (-.f64 #s(literal 1 binary64) x))) (/.f64 #s(literal 1 binary64) (fma.f64 x x (-.f64 #s(literal 1 binary64) x))))
(+.f64 #s(literal 1 binary64) x)
(+.f64 x #s(literal 1 binary64))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)))) (neg.f64 (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64))) (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (neg.f64 (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))) (/.f64 (-.f64 x #s(literal -1 binary64)) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))) (/.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)) (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(*.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)))
(*.f64 #s(literal -1 binary64) (*.f64 #s(literal -1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(*.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (sqrt.f64 (-.f64 x #s(literal 1 binary64))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64))) (sqrt.f64 (fma.f64 x x (-.f64 #s(literal 1 binary64) x))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64))) (sqrt.f64 (fma.f64 x x (fma.f64 #s(literal -1 binary64) x #s(literal 1 binary64)))))
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
(exp.f64 (*.f64 (log1p.f64 x) #s(literal 1/2 binary64)))

eval65.0ms (1.3%)

Memory
-1.2MiB live, 51.3MiB allocated; 13ms collecting garbage
Compiler

Compiled 6 474 to 1 128 computations (82.6% saved)

prune48.0ms (1%)

Memory
-29.0MiB live, 17.8MiB allocated; 2ms collecting garbage
Pruning

12 alts after pruning (7 fresh and 5 done)

PrunedKeptTotal
New2854289
Fresh033
Picked145
Done011
Total28612298
Accuracy
100.0%
Counts
298 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
72.2%
(/.f64 x #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))
34.7%
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
71.9%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x)))
70.4%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x)))
29.4%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
70.7%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
71.9%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
70.4%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
5.7%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
71.7%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
30.1%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
Compiler

Compiled 314 to 231 computations (26.4% saved)

simplify158.0ms (3.2%)

Memory
14.5MiB live, 101.3MiB allocated; 11ms collecting garbage
Localize:

Found 17 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
030182
043178
175178
2154178
3395178
4950178
52176178
65966178
08080171
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x))
(*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
#s(literal 1/16 binary64)
x
#s(literal -1/8 binary64)
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
(sqrt.f64 x)
x
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
(-.f64 (sqrt.f64 x) #s(literal 1 binary64))
(sqrt.f64 x)
x
#s(literal 1 binary64)
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
(*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x)
#s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/16 binary64))
(*.f64 x x)
x
#s(literal 1/16 binary64)
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x)))
(fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal -1/8 binary64) x)
#s(literal -1/8 binary64)
x
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
Outputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
#s(literal 1/16 binary64)
x
#s(literal -1/8 binary64)
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
(sqrt.f64 x)
x
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
(-.f64 (sqrt.f64 x) #s(literal 1 binary64))
(sqrt.f64 x)
x
#s(literal 1 binary64)
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
(*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x)
#s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/16 binary64))
(*.f64 x x)
x
#s(literal 1/16 binary64)
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
(fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x))
(*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)
(*.f64 #s(literal -1/8 binary64) x)
#s(literal -1/8 binary64)
x
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)

localize71.0ms (1.4%)

Memory
3.9MiB live, 57.7MiB allocated; 7ms collecting garbage
Localize:

Found 17 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x))
accuracy0.0
(*.f64 #s(literal 1/2 binary64) x)
accuracy0.0
(*.f64 #s(literal -1/8 binary64) x)
accuracy18.793201418259322
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x)))
accuracy0.0
(*.f64 x x)
accuracy0.015625
(*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x)
accuracy17.971181288956135
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
accuracy21.844435774156853
#s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64)))
accuracy0.0
(-.f64 (sqrt.f64 x) #s(literal 1 binary64))
accuracy0.0
(sqrt.f64 x)
accuracy22.178925104723845
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
accuracy0.0
(sqrt.f64 x)
accuracy21.748895306438257
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
accuracy0.0
(*.f64 #s(literal 1/2 binary64) x)
accuracy0.00390625
(*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)
accuracy0.015625
(fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x))
accuracy17.971181288956135
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x)))
Samples
31.0ms164×0valid
14.0ms92×0invalid
Compiler

Compiled 133 to 26 computations (80.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
ival-mult: 12.0ms (46.1% of total)
ival-add: 7.0ms (26.9% of total)
ival-sqrt: 3.0ms (11.5% of total)
ival-div: 2.0ms (7.7% of total)
ival-sub: 1.0ms (3.8% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series7.0ms (0.1%)

Memory
10.9MiB live, 10.9MiB allocated; 0ms collecting garbage
Counts
17 → 37
Calls
Call 1
Inputs
(fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x)))
(*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
(sqrt.f64 x)
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
(-.f64 (sqrt.f64 x) #s(literal 1 binary64))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
(*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x)
#s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/16 binary64))
(fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x)))
(*.f64 #s(literal -1/8 binary64) x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 x x)
Outputs
(* 1/2 x)
(* x (+ 1/2 (* -1/8 x)))
(* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))
(* x (+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8))))
(* -1/8 x)
(* x (- (* 1/16 x) 1/8))
-1/8
(- (* 1/16 x) 1/8)
(sqrt x)
(- (sqrt x) 1)
1/2
(+ 1/2 (* -1/8 x))
(+ 1/2 (* x (- (* 1/16 x) 1/8)))
(* 1/16 (pow x 2))
(pow x 2)
(* 1/16 (pow x 3))
(* (pow x 3) (- 1/16 (* 1/8 (/ 1 x))))
(* (pow x 3) (- (+ 1/16 (/ 1/2 (pow x 2))) (* 1/8 (/ 1 x))))
(- (+ (sqrt x) (* -1 (/ (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))) (pow x 2)))) 1)
(- (+ (sqrt x) (* 1/2 (/ 1 x))) (+ 1 (+ (* -1 (sqrt (/ 1 x))) (+ (* -1 (* (sqrt (/ 1 (pow x 5))) (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))))) (* 1/2 (sqrt (/ 1 x)))))))
(* (pow x 2) (- 1/16 (* 1/8 (/ 1 x))))
(* 1/16 x)
(* x (- 1/16 (* 1/8 (/ 1 x))))
(* x (- (sqrt (/ 1 x)) (/ 1 x)))
(* (pow x 2) (- (+ 1/16 (/ 1/2 (pow x 2))) (* 1/8 (/ 1 x))))
(* -1/8 (pow x 2))
(* (pow x 2) (- (* 1/2 (/ 1 x)) 1/8))
(* -1 (* (pow x 3) (- (* 1/8 (/ 1 x)) 1/16)))
(* -1 (* (pow x 3) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/8) x)) 1/16)))
(* -1 (sqrt x))
(+ (* -1 (sqrt x)) (/ 1 (pow (sqrt -1) 2)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (+ (* -1/2 (* (sqrt x) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt x) (/ 1 (pow (sqrt -1) 2))))) x)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (* -1 (/ (- (+ (* -1 (* (sqrt (/ 1 x)) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))))) (* 1/2 (/ x (pow (sqrt -1) 4)))) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2))))) x))) x)))
(* -1 (* x (- (* 1/8 (/ 1 x)) 1/16)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(* (pow x 2) (+ 1/16 (* -1 (/ (- 1/8 (* 1/2 (/ 1 x))) x))))
Calls

3 calls:

TimeVariablePointExpression
3.0ms
x
@-inf
((+ (* (* (+ (* 1/16 x) -1/8) x) x) (* 1/2 x)) (/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* 1/16 x) -1/8) x) (+ (* 1/16 x) -1/8) (/ x (+ 1 (sqrt (+ x 1)))) (sqrt x) (/ x (+ 1 (sqrt (+ x 1)))) (- (sqrt x) 1) (/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* (+ (* 1/16 x) -1/8) x) 1/2) x) (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (* (* x x) 1/16) (+ (* (* -1/8 x) x) (* 1/2 x)) (/ x (+ 1 (sqrt (+ x 1)))) (* -1/8 x) (* 1/2 x) (* x x))
2.0ms
x
@inf
((+ (* (* (+ (* 1/16 x) -1/8) x) x) (* 1/2 x)) (/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* 1/16 x) -1/8) x) (+ (* 1/16 x) -1/8) (/ x (+ 1 (sqrt (+ x 1)))) (sqrt x) (/ x (+ 1 (sqrt (+ x 1)))) (- (sqrt x) 1) (/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* (+ (* 1/16 x) -1/8) x) 1/2) x) (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (* (* x x) 1/16) (+ (* (* -1/8 x) x) (* 1/2 x)) (/ x (+ 1 (sqrt (+ x 1)))) (* -1/8 x) (* 1/2 x) (* x x))
1.0ms
x
@0
((+ (* (* (+ (* 1/16 x) -1/8) x) x) (* 1/2 x)) (/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* 1/16 x) -1/8) x) (+ (* 1/16 x) -1/8) (/ x (+ 1 (sqrt (+ x 1)))) (sqrt x) (/ x (+ 1 (sqrt (+ x 1)))) (- (sqrt x) 1) (/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* (+ (* 1/16 x) -1/8) x) 1/2) x) (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (* (* x x) 1/16) (+ (* (* -1/8 x) x) (* 1/2 x)) (/ x (+ 1 (sqrt (+ x 1)))) (* -1/8 x) (* 1/2 x) (* x x))

simplify221.0ms (4.5%)

Memory
4.9MiB live, 139.3MiB allocated; 16ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0124379
1390325
21614295
07283269
Stop Event
iter limit
iter limit
node limit
Counts
37 → 37
Calls
Call 1
Inputs
(* 1/2 x)
(* x (+ 1/2 (* -1/8 x)))
(* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))
(* x (+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8))))
(* -1/8 x)
(* x (- (* 1/16 x) 1/8))
-1/8
(- (* 1/16 x) 1/8)
(sqrt x)
(- (sqrt x) 1)
1/2
(+ 1/2 (* -1/8 x))
(+ 1/2 (* x (- (* 1/16 x) 1/8)))
(* 1/16 (pow x 2))
(pow x 2)
(* 1/16 (pow x 3))
(* (pow x 3) (- 1/16 (* 1/8 (/ 1 x))))
(* (pow x 3) (- (+ 1/16 (/ 1/2 (pow x 2))) (* 1/8 (/ 1 x))))
(- (+ (sqrt x) (* -1 (/ (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))) (pow x 2)))) 1)
(- (+ (sqrt x) (* 1/2 (/ 1 x))) (+ 1 (+ (* -1 (sqrt (/ 1 x))) (+ (* -1 (* (sqrt (/ 1 (pow x 5))) (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))))) (* 1/2 (sqrt (/ 1 x)))))))
(* (pow x 2) (- 1/16 (* 1/8 (/ 1 x))))
(* 1/16 x)
(* x (- 1/16 (* 1/8 (/ 1 x))))
(* x (- (sqrt (/ 1 x)) (/ 1 x)))
(* (pow x 2) (- (+ 1/16 (/ 1/2 (pow x 2))) (* 1/8 (/ 1 x))))
(* -1/8 (pow x 2))
(* (pow x 2) (- (* 1/2 (/ 1 x)) 1/8))
(* -1 (* (pow x 3) (- (* 1/8 (/ 1 x)) 1/16)))
(* -1 (* (pow x 3) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/8) x)) 1/16)))
(* -1 (sqrt x))
(+ (* -1 (sqrt x)) (/ 1 (pow (sqrt -1) 2)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (+ (* -1/2 (* (sqrt x) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt x) (/ 1 (pow (sqrt -1) 2))))) x)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (* -1 (/ (- (+ (* -1 (* (sqrt (/ 1 x)) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))))) (* 1/2 (/ x (pow (sqrt -1) 4)))) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2))))) x))) x)))
(* -1 (* x (- (* 1/8 (/ 1 x)) 1/16)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(* (pow x 2) (+ 1/16 (* -1 (/ (- 1/8 (* 1/2 (/ 1 x))) x))))
Outputs
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (* -1/8 x)))
(*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(* -1/8 x)
(*.f64 #s(literal -1/8 binary64) x)
(* x (- (* 1/16 x) 1/8))
(*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)
-1/8
#s(literal -1/8 binary64)
(- (* 1/16 x) 1/8)
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
(sqrt x)
(sqrt.f64 x)
(- (sqrt x) 1)
(-.f64 (sqrt.f64 x) #s(literal 1 binary64))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* -1/8 x))
(fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64))
(+ 1/2 (* x (- (* 1/16 x) 1/8)))
(fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
(* 1/16 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/16 binary64))
(pow x 2)
(*.f64 x x)
(* 1/16 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/16 binary64))
(* (pow x 3) (- 1/16 (* 1/8 (/ 1 x))))
(*.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x)
(* (pow x 3) (- (+ 1/16 (/ 1/2 (pow x 2))) (* 1/8 (/ 1 x))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/16 binary64) (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64))) x)
(- (+ (sqrt x) (* -1 (/ (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))) (pow x 2)))) 1)
(fma.f64 (/.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) (*.f64 x x)) #s(literal 1/2 binary64) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
(- (+ (sqrt x) (* 1/2 (/ 1 x))) (+ 1 (+ (* -1 (sqrt (/ 1 x))) (+ (* -1 (* (sqrt (/ 1 (pow x 5))) (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))))) (* 1/2 (sqrt (/ 1 x)))))))
(-.f64 (-.f64 (sqrt.f64 x) (/.f64 #s(literal -1/2 binary64) x)) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(* (pow x 2) (- 1/16 (* 1/8 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)
(* 1/16 x)
(*.f64 #s(literal 1/16 binary64) x)
(* x (- 1/16 (* 1/8 (/ 1 x))))
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
(* x (- (sqrt (/ 1 x)) (/ 1 x)))
(*.f64 (-.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) x)) x)
(* (pow x 2) (- (+ 1/16 (/ 1/2 (pow x 2))) (* 1/8 (/ 1 x))))
(fma.f64 (*.f64 x x) #s(literal 1/16 binary64) (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)))
(* -1/8 (pow x 2))
(*.f64 (*.f64 x x) #s(literal -1/8 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 x)) 1/8))
(*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)
(* -1 (* (pow x 3) (- (* 1/8 (/ 1 x)) 1/16)))
(*.f64 (pow.f64 (neg.f64 x) #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1/8 binary64) x) #s(literal 1/16 binary64)))
(* -1 (* (pow x 3) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/8) x)) 1/16)))
(*.f64 (pow.f64 (neg.f64 x) #s(literal 3 binary64)) (-.f64 (/.f64 (-.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/16 binary64)))
(* -1 (sqrt x))
(neg.f64 (sqrt.f64 x))
(+ (* -1 (sqrt x)) (/ 1 (pow (sqrt -1) 2)))
(-.f64 #s(literal -1 binary64) (sqrt.f64 x))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (+ (* -1/2 (* (sqrt x) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt x) (/ 1 (pow (sqrt -1) 2))))) x)))
(-.f64 (fma.f64 (sqrt.f64 x) (/.f64 #s(literal 1/2 binary64) x) #s(literal -1 binary64)) (sqrt.f64 x))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (* -1 (/ (- (+ (* -1 (* (sqrt (/ 1 x)) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))))) (* 1/2 (/ x (pow (sqrt -1) 4)))) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2))))) x))) x)))
(-.f64 (/.f64 (-.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) #s(literal 1/2 binary64)) (-.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1 binary64))) x)) x) x) (sqrt.f64 x))
(* -1 (* x (- (* 1/8 (/ 1 x)) 1/16)))
(*.f64 (neg.f64 x) (-.f64 (/.f64 #s(literal 1/8 binary64) x) #s(literal 1/16 binary64)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) x #s(literal -1 binary64))
(* (pow x 2) (+ 1/16 (* -1 (/ (- 1/8 (* 1/2 (/ 1 x))) x))))
(fma.f64 (*.f64 x x) #s(literal 1/16 binary64) (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)))

rewrite80.0ms (1.6%)

Memory
15.1MiB live, 68.8MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030165
043161
1164161
01130154
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
17 → 129
Calls
Call 1
Inputs
(fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x)))
(*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x)
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
(sqrt.f64 x)
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
(-.f64 (sqrt.f64 x) #s(literal 1 binary64))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
(*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x)
#s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/16 binary64))
(fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x)))
(*.f64 #s(literal -1/8 binary64) x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 x x)
Outputs
(*.f64 (fma.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(*.f64 x (-.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) #s(literal -1/2 binary64)))
(*.f64 x (fma.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)))
(/.f64 (*.f64 x (-.f64 (pow.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (-.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64)))
(/.f64 (*.f64 x (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) #s(literal 3 binary64)))) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x)) (pow.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal -1/2 binary64) x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 2 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (*.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) (*.f64 #s(literal -1/2 binary64) x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 x x)))) (neg.f64 (*.f64 x (-.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x)) (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 x x))) (*.f64 x (-.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 1/2 binary64)) x))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x)) (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) (neg.f64 x)) (neg.f64 x) (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 (*.f64 x x) (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 #s(literal 1/2 binary64) x (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x))
(fma.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) (*.f64 x x) (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x))
(fma.f64 x (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) (*.f64 #s(literal 1/2 binary64) x))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 2 binary64)) (*.f64 x (-.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64)))) (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) (*.f64 x (-.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64)))))
(-.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) (*.f64 (neg.f64 x) #s(literal 1/2 binary64)))
(-.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) (*.f64 #s(literal -1/2 binary64) x))
(-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (neg.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x)) x))
(-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (neg.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64))) (*.f64 x x)))
(-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (neg.f64 x) (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x)) (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x)) (pow.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x) (*.f64 #s(literal 1/2 binary64) x))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)) x)
(*.f64 x (fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) #s(literal -1/64 binary64)) x) (-.f64 (*.f64 x #s(literal 1/16 binary64)) #s(literal -1/8 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/4096 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal -1/512 binary64)) x) (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) (-.f64 #s(literal 1/64 binary64) (*.f64 x #s(literal -1/128 binary64)))))
(/.f64 (*.f64 x (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) #s(literal -1/64 binary64))) (-.f64 (*.f64 x #s(literal 1/16 binary64)) #s(literal -1/8 binary64)))
(/.f64 (*.f64 x (fma.f64 #s(literal 1/4096 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal -1/512 binary64))) (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) (-.f64 #s(literal 1/64 binary64) (*.f64 x #s(literal -1/128 binary64)))))
(fma.f64 (*.f64 #s(literal 1/16 binary64) (neg.f64 x)) (neg.f64 x) (*.f64 #s(literal -1/8 binary64) x))
(fma.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1/16 binary64)) (*.f64 #s(literal -1/8 binary64) x))
(fma.f64 (*.f64 x x) #s(literal 1/16 binary64) (*.f64 #s(literal -1/8 binary64) x))
(fma.f64 (*.f64 x #s(literal 1/16 binary64)) x (*.f64 #s(literal -1/8 binary64) x))
(fma.f64 #s(literal -1/8 binary64) x (*.f64 (*.f64 x x) #s(literal 1/16 binary64)))
(fma.f64 x (*.f64 x #s(literal 1/16 binary64)) (*.f64 #s(literal -1/8 binary64) x))
(fma.f64 x #s(literal -1/8 binary64) (*.f64 (*.f64 x x) #s(literal 1/16 binary64)))
(fma.f64 #s(literal 1/16 binary64) (*.f64 x x) (*.f64 #s(literal -1/8 binary64) x))
(+.f64 (*.f64 #s(literal -1/8 binary64) x) (*.f64 (*.f64 x x) #s(literal 1/16 binary64)))
(+.f64 (*.f64 (*.f64 x x) #s(literal 1/16 binary64)) (*.f64 #s(literal -1/8 binary64) x))
(/.f64 (-.f64 #s(literal 1/64 binary64) (*.f64 #s(literal 1/256 binary64) (*.f64 x x))) (-.f64 #s(literal -1/8 binary64) (*.f64 x #s(literal 1/16 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) #s(literal -1/64 binary64))) (neg.f64 (-.f64 (*.f64 x #s(literal 1/16 binary64)) #s(literal -1/8 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/4096 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal -1/512 binary64))) (neg.f64 (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) (-.f64 #s(literal 1/64 binary64) (*.f64 x #s(literal -1/128 binary64))))))
(/.f64 (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) #s(literal -1/64 binary64)) (-.f64 (*.f64 x #s(literal 1/16 binary64)) #s(literal -1/8 binary64)))
(/.f64 (fma.f64 #s(literal 1/4096 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal -1/512 binary64)) (+.f64 #s(literal 1/64 binary64) (-.f64 (*.f64 #s(literal 1/256 binary64) (*.f64 x x)) (*.f64 x #s(literal -1/128 binary64)))))
(/.f64 (fma.f64 #s(literal 1/4096 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal -1/512 binary64)) (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) (-.f64 #s(literal 1/64 binary64) (*.f64 x #s(literal -1/128 binary64)))))
(fma.f64 x #s(literal 1/16 binary64) #s(literal -1/8 binary64))
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/256 binary64) (*.f64 x x)) (-.f64 (*.f64 x #s(literal 1/16 binary64)) #s(literal -1/8 binary64))) (/.f64 #s(literal 1/64 binary64) (-.f64 (*.f64 x #s(literal 1/16 binary64)) #s(literal -1/8 binary64))))
(-.f64 #s(literal -1/8 binary64) (*.f64 (neg.f64 x) #s(literal 1/16 binary64)))
(-.f64 #s(literal -1/8 binary64) (*.f64 #s(literal -1/16 binary64) x))
(+.f64 (/.f64 (pow.f64 (*.f64 x #s(literal 1/16 binary64)) #s(literal 3 binary64)) (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) (-.f64 #s(literal 1/64 binary64) (*.f64 x #s(literal -1/128 binary64))))) (/.f64 #s(literal -1/512 binary64) (fma.f64 #s(literal 1/256 binary64) (*.f64 x x) (-.f64 #s(literal 1/64 binary64) (*.f64 x #s(literal -1/128 binary64))))))
(+.f64 (*.f64 x #s(literal 1/16 binary64)) #s(literal -1/8 binary64))
(+.f64 #s(literal -1/8 binary64) (*.f64 x #s(literal 1/16 binary64)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 x) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (sqrt.f64 x))
(pow.f64 x #s(literal 1/2 binary64))
(sqrt.f64 x)
(exp.f64 (*.f64 (log.f64 x) #s(literal 1/2 binary64)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
(/.f64 (neg.f64 (-.f64 x #s(literal 1 binary64))) (neg.f64 (-.f64 (sqrt.f64 x) #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 (sqrt.f64 x) x #s(literal -1 binary64))) (neg.f64 (+.f64 (-.f64 (sqrt.f64 x) #s(literal -1 binary64)) x)))
(/.f64 (-.f64 x #s(literal 1 binary64)) (-.f64 (sqrt.f64 x) #s(literal -1 binary64)))
(/.f64 (fma.f64 (sqrt.f64 x) x #s(literal -1 binary64)) (+.f64 (-.f64 (sqrt.f64 x) #s(literal -1 binary64)) x))
(fma.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)) #s(literal -1 binary64))
(fma.f64 (sqrt.f64 x) #s(literal 1 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal 1 binary64) (sqrt.f64 x) #s(literal -1 binary64))
(expm1.f64 (*.f64 (log.f64 x) #s(literal 1/2 binary64)))
(-.f64 (/.f64 x (-.f64 (sqrt.f64 x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (sqrt.f64 x) #s(literal -1 binary64))))
(-.f64 (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (+.f64 (-.f64 (sqrt.f64 x) #s(literal -1 binary64)) x)) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 (sqrt.f64 x) #s(literal -1 binary64)) x)))
(-.f64 (sqrt.f64 x) #s(literal 1 binary64))
(+.f64 (sqrt.f64 x) #s(literal -1 binary64))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
(*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x)
(*.f64 x #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))))
#s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64)))
(*.f64 (*.f64 #s(literal 1/16 binary64) (neg.f64 x)) (neg.f64 x))
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1/16 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/16 binary64))
(*.f64 (*.f64 x #s(literal 1/16 binary64)) x)
(*.f64 x (*.f64 x #s(literal 1/16 binary64)))
(*.f64 #s(literal 1/16 binary64) (*.f64 x x))
(*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)
(*.f64 x (-.f64 (*.f64 #s(literal -1/8 binary64) x) #s(literal -1/2 binary64)))
(*.f64 x (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)))
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 #s(literal -1/8 binary64) x) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal -1/2 binary64) x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 2 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (*.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) (*.f64 #s(literal -1/2 binary64) x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 x x)))) (neg.f64 (*.f64 x (-.f64 (*.f64 #s(literal -1/8 binary64) x) #s(literal 1/2 binary64)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 #s(literal -1/8 binary64) x) x)) (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 x x))) (*.f64 x (-.f64 (*.f64 #s(literal -1/8 binary64) x) #s(literal 1/2 binary64))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 1/2 binary64)) x))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 #s(literal -1/8 binary64) x) x)) (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 2 binary64))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) (neg.f64 x)) (neg.f64 x) (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 (*.f64 x x) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 #s(literal 1/2 binary64) x (*.f64 (*.f64 #s(literal -1/8 binary64) x) x))
(fma.f64 #s(literal -1/8 binary64) (*.f64 x x) (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 x (*.f64 #s(literal -1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal -1/8 binary64) x) x))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 2 binary64)) (*.f64 x (-.f64 (*.f64 #s(literal -1/8 binary64) x) #s(literal 1/2 binary64)))) (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) (*.f64 x (-.f64 (*.f64 #s(literal -1/8 binary64) x) #s(literal 1/2 binary64)))))
(-.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) (*.f64 (neg.f64 x) #s(literal 1/2 binary64)))
(-.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) (*.f64 #s(literal -1/2 binary64) x))
(-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (neg.f64 (*.f64 #s(literal -1/8 binary64) x)) x))
(-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 #s(literal 1/8 binary64) (*.f64 x x)))
(-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (neg.f64 x) (*.f64 #s(literal -1/8 binary64) x)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 #s(literal -1/8 binary64) x) x)) (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 #s(literal -1/8 binary64) x) x)) (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) x) x) (*.f64 #s(literal 1/2 binary64) x))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 #s(literal -1/8 binary64) x) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
(*.f64 #s(literal -1/8 binary64) x)
(*.f64 x #s(literal -1/8 binary64))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 x #s(literal 1/2 binary64))
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)))
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 x x)
(pow.f64 (neg.f64 x) #s(literal 2 binary64))
(pow.f64 x #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 x) x))
(neg.f64 (*.f64 x (neg.f64 x)))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))

eval25.0ms (0.5%)

Memory
-7.8MiB live, 39.1MiB allocated; 4ms collecting garbage
Compiler

Compiled 4 251 to 634 computations (85.1% saved)

prune15.0ms (0.3%)

Memory
-24.1MiB live, 23.2MiB allocated; 2ms collecting garbage
Pruning

12 alts after pruning (2 fresh and 10 done)

PrunedKeptTotal
New1710171
Fresh022
Picked055
Done055
Total17112183
Accuracy
100.0%
Counts
183 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
72.2%
(/.f64 x #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))
34.7%
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
71.9%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x)))
70.4%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x)))
29.4%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
70.7%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
71.9%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
70.4%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
5.7%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
71.7%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
30.1%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
Compiler

Compiled 190 to 140 computations (26.3% saved)

simplify273.0ms (5.5%)

Memory
-20.8MiB live, 141.0MiB allocated; 160ms collecting garbage
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
cost-diff0
(-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
cost-diff0
#s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64))
cost-diff0
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
cost-diff0
(fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64))
cost-diff0
(fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
cost-diff0
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
cost-diff0
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
024100
035100
149100
29496
328694
490094
5365388
0857588
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64))
(fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64))
#s(literal -5/128 binary64)
x
#s(literal 1/16 binary64)
#s(literal -1/8 binary64)
#s(literal 1/2 binary64)
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
#s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64))
#s(literal -1 binary64)
(-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
#s(literal 1 binary64)
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
(-.f64 x #s(literal -1 binary64))
x
Outputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64))
(fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64))
#s(literal -5/128 binary64)
x
#s(literal 1/16 binary64)
#s(literal -1/8 binary64)
#s(literal 1/2 binary64)
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(fma.f64 (neg.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64))) (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)))
#s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64))
#s(literal -1 binary64)
(-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
#s(literal 1 binary64)
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
(-.f64 x #s(literal -1 binary64))
x

localize143.0ms (2.9%)

Memory
37.4MiB live, 183.6MiB allocated; 11ms collecting garbage
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
accuracy0.0
#s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64))
accuracy0.01171875
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
accuracy41.80224801841936
(-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
accuracy0.025722509768442016
(fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
accuracy0.02734375
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
accuracy0.04296875
(fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64))
accuracy18.74422725843818
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
Samples
84.0ms72×2valid
34.0ms112×1valid
10.0ms72×0valid
Compiler

Compiled 94 to 26 computations (72.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 112.0ms
adjust: 75.0ms (67.2% of total)
ival-mult: 9.0ms (8.1% of total)
ival-sub: 7.0ms (6.3% of total)
ival-add: 7.0ms (6.3% of total)
ival-div: 6.0ms (5.4% of total)
ival-sqrt: 6.0ms (5.4% of total)
exact: 1.0ms (0.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series8.0ms (0.2%)

Memory
-40.4MiB live, 6.3MiB allocated; 4ms collecting garbage
Counts
8 → 65
Calls
Call 1
Inputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64))
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
#s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
Outputs
(* 1/2 x)
(* x (+ 1/2 (* -1/8 x)))
(* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))
(* x (+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8))))
1/2
(+ 1/2 (* -1/8 x))
(+ 1/2 (* x (- (* 1/16 x) 1/8)))
(+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8)))
-1/8
(- (* 1/16 x) 1/8)
(- (* x (+ 1/16 (* -5/128 x))) 1/8)
-1
(* -1/2 x)
(* x (- (* 1/8 x) 1/2))
(* x (- (* x (+ 1/8 (* -1/16 x))) 1/2))
(* x (- (* x (+ 1/8 (* x (- (* 5/128 x) 1/16)))) 1/2))
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(sqrt x)
(- (sqrt x) 1)
(- (+ (sqrt x) (* -1 (/ (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))) (pow x 2)))) 1)
(- (+ (sqrt x) (* 1/2 (/ 1 x))) (+ 1 (+ (* -1 (sqrt (/ 1 x))) (+ (* -1 (* (sqrt (/ 1 (pow x 5))) (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))))) (* 1/2 (sqrt (/ 1 x)))))))
(* -5/128 (pow x 4))
(* (pow x 4) (- (* 1/16 (/ 1 x)) 5/128))
(* (pow x 4) (- (* 1/16 (/ 1 x)) (+ 5/128 (/ 1/8 (pow x 2)))))
(* (pow x 4) (- (+ (* 1/16 (/ 1 x)) (* 1/2 (/ 1 (pow x 3)))) (+ 5/128 (/ 1/8 (pow x 2)))))
(* -5/128 (pow x 3))
(* (pow x 3) (- (* 1/16 (/ 1 x)) 5/128))
(* (pow x 3) (- (* 1/16 (/ 1 x)) (+ 5/128 (/ 1/8 (pow x 2)))))
(* (pow x 3) (- (+ (* 1/16 (/ 1 x)) (* 1/2 (/ 1 (pow x 3)))) (+ 5/128 (/ 1/8 (pow x 2)))))
(* -5/128 (pow x 2))
(* (pow x 2) (- (* 1/16 (/ 1 x)) 5/128))
(* (pow x 2) (- (* 1/16 (/ 1 x)) (+ 5/128 (/ 1/8 (pow x 2)))))
(* x (- (sqrt (/ 1 x)) (/ 1 x)))
(* x (- (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))) (/ 1 x)))
(* x (- (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))) (/ 1 x)))
(* -1 (sqrt x))
(* x (- (/ 1 x) (sqrt (/ 1 x))))
(* x (- (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x)) (sqrt (/ 1 x))))
(* x (- (+ (* 1/8 (sqrt (/ 1 (pow x 5)))) (/ 1 x)) (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
(+ (* -1 (sqrt x)) (/ 1 (pow (sqrt -1) 2)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (+ (* -1/2 (* (sqrt x) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt x) (/ 1 (pow (sqrt -1) 2))))) x)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (* -1 (/ (- (+ (* -1 (* (sqrt (/ 1 x)) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))))) (* 1/2 (/ x (pow (sqrt -1) 4)))) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2))))) x))) x)))
(* (pow x 4) (- (* -1 (/ (- (* 1/8 (/ 1 x)) 1/16) x)) 5/128))
(* (pow x 4) (- (* -1 (/ (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/8) x)) 1/16) x)) 5/128))
(* -1 (* (pow x 3) (- 5/128 (* 1/16 (/ 1 x)))))
(* -1 (* (pow x 3) (+ 5/128 (* -1 (/ (- 1/16 (* 1/8 (/ 1 x))) x)))))
(* -1 (* (pow x 3) (+ 5/128 (* -1 (/ (+ 1/16 (* -1 (/ (- 1/8 (* 1/2 (/ 1 x))) x))) x)))))
(* (pow x 2) (- (* -1 (/ (- (* 1/8 (/ 1 x)) 1/16) x)) 5/128))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(* -1 (* x (+ (* -1 (/ (- (* -1/2 (sqrt (/ 1 x))) 1) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1 (/ (- (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x)) 1) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* (sqrt x) (pow (sqrt -1) 2))
(* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x)))
(* -1 (* x (- (* -1 (/ (+ 1 (* 1/2 (sqrt (/ 1 x)))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (- (* -1 (/ (+ 1 (* -1 (/ (- (* 1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
Calls

3 calls:

TimeVariablePointExpression
6.0ms
x
@inf
((/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* (+ (* (+ (* -5/128 x) 1/16) x) -1/8) x) 1/2) x) (+ (* (+ (* (+ (* -5/128 x) 1/16) x) -1/8) x) 1/2) (+ (* (+ (* -5/128 x) 1/16) x) -1/8) (* (/ x (- 1 (- x -1))) (- 1 (sqrt (- x -1)))) (/ x (- 1 (- x -1))) (- 1 (sqrt (- x -1))) (sqrt (- x -1)))
1.0ms
x
@-inf
((/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* (+ (* (+ (* -5/128 x) 1/16) x) -1/8) x) 1/2) x) (+ (* (+ (* (+ (* -5/128 x) 1/16) x) -1/8) x) 1/2) (+ (* (+ (* -5/128 x) 1/16) x) -1/8) (* (/ x (- 1 (- x -1))) (- 1 (sqrt (- x -1)))) (/ x (- 1 (- x -1))) (- 1 (sqrt (- x -1))) (sqrt (- x -1)))
0.0ms
x
@0
((/ x (+ 1 (sqrt (+ x 1)))) (* (+ (* (+ (* (+ (* -5/128 x) 1/16) x) -1/8) x) 1/2) x) (+ (* (+ (* (+ (* -5/128 x) 1/16) x) -1/8) x) 1/2) (+ (* (+ (* -5/128 x) 1/16) x) -1/8) (* (/ x (- 1 (- x -1))) (- 1 (sqrt (- x -1)))) (/ x (- 1 (- x -1))) (- 1 (sqrt (- x -1))) (sqrt (- x -1)))

simplify157.0ms (3.2%)

Memory
38.7MiB live, 180.3MiB allocated; 15ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0250978
1785837
23306804
08556749
Stop Event
iter limit
node limit
Counts
65 → 65
Calls
Call 1
Inputs
(* 1/2 x)
(* x (+ 1/2 (* -1/8 x)))
(* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))
(* x (+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8))))
1/2
(+ 1/2 (* -1/8 x))
(+ 1/2 (* x (- (* 1/16 x) 1/8)))
(+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8)))
-1/8
(- (* 1/16 x) 1/8)
(- (* x (+ 1/16 (* -5/128 x))) 1/8)
-1
(* -1/2 x)
(* x (- (* 1/8 x) 1/2))
(* x (- (* x (+ 1/8 (* -1/16 x))) 1/2))
(* x (- (* x (+ 1/8 (* x (- (* 5/128 x) 1/16)))) 1/2))
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(sqrt x)
(- (sqrt x) 1)
(- (+ (sqrt x) (* -1 (/ (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))) (pow x 2)))) 1)
(- (+ (sqrt x) (* 1/2 (/ 1 x))) (+ 1 (+ (* -1 (sqrt (/ 1 x))) (+ (* -1 (* (sqrt (/ 1 (pow x 5))) (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))))) (* 1/2 (sqrt (/ 1 x)))))))
(* -5/128 (pow x 4))
(* (pow x 4) (- (* 1/16 (/ 1 x)) 5/128))
(* (pow x 4) (- (* 1/16 (/ 1 x)) (+ 5/128 (/ 1/8 (pow x 2)))))
(* (pow x 4) (- (+ (* 1/16 (/ 1 x)) (* 1/2 (/ 1 (pow x 3)))) (+ 5/128 (/ 1/8 (pow x 2)))))
(* -5/128 (pow x 3))
(* (pow x 3) (- (* 1/16 (/ 1 x)) 5/128))
(* (pow x 3) (- (* 1/16 (/ 1 x)) (+ 5/128 (/ 1/8 (pow x 2)))))
(* (pow x 3) (- (+ (* 1/16 (/ 1 x)) (* 1/2 (/ 1 (pow x 3)))) (+ 5/128 (/ 1/8 (pow x 2)))))
(* -5/128 (pow x 2))
(* (pow x 2) (- (* 1/16 (/ 1 x)) 5/128))
(* (pow x 2) (- (* 1/16 (/ 1 x)) (+ 5/128 (/ 1/8 (pow x 2)))))
(* x (- (sqrt (/ 1 x)) (/ 1 x)))
(* x (- (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))) (/ 1 x)))
(* x (- (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))) (/ 1 x)))
(* -1 (sqrt x))
(* x (- (/ 1 x) (sqrt (/ 1 x))))
(* x (- (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x)) (sqrt (/ 1 x))))
(* x (- (+ (* 1/8 (sqrt (/ 1 (pow x 5)))) (/ 1 x)) (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
(+ (* -1 (sqrt x)) (/ 1 (pow (sqrt -1) 2)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (+ (* -1/2 (* (sqrt x) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt x) (/ 1 (pow (sqrt -1) 2))))) x)))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (* -1 (/ (- (+ (* -1 (* (sqrt (/ 1 x)) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))))) (* 1/2 (/ x (pow (sqrt -1) 4)))) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2))))) x))) x)))
(* (pow x 4) (- (* -1 (/ (- (* 1/8 (/ 1 x)) 1/16) x)) 5/128))
(* (pow x 4) (- (* -1 (/ (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/8) x)) 1/16) x)) 5/128))
(* -1 (* (pow x 3) (- 5/128 (* 1/16 (/ 1 x)))))
(* -1 (* (pow x 3) (+ 5/128 (* -1 (/ (- 1/16 (* 1/8 (/ 1 x))) x)))))
(* -1 (* (pow x 3) (+ 5/128 (* -1 (/ (+ 1/16 (* -1 (/ (- 1/8 (* 1/2 (/ 1 x))) x))) x)))))
(* (pow x 2) (- (* -1 (/ (- (* 1/8 (/ 1 x)) 1/16) x)) 5/128))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(* -1 (* x (+ (* -1 (/ (- (* -1/2 (sqrt (/ 1 x))) 1) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1 (/ (- (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x)) 1) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* (sqrt x) (pow (sqrt -1) 2))
(* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x)))
(* -1 (* x (- (* -1 (/ (+ 1 (* 1/2 (sqrt (/ 1 x)))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (- (* -1 (/ (+ 1 (* -1 (/ (- (* 1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
Outputs
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (* -1/8 x)))
(*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* -1/8 x))
(fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64))
(+ 1/2 (* x (- (* 1/16 x) 1/8)))
(fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
(+ 1/2 (* x (- (* x (+ 1/16 (* -5/128 x))) 1/8)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
-1/8
#s(literal -1/8 binary64)
(- (* 1/16 x) 1/8)
(fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64))
(- (* x (+ 1/16 (* -5/128 x))) 1/8)
(fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64))
-1
#s(literal -1 binary64)
(* -1/2 x)
(*.f64 #s(literal -1/2 binary64) x)
(* x (- (* 1/8 x) 1/2))
(*.f64 (fma.f64 #s(literal 1/8 binary64) x #s(literal -1/2 binary64)) x)
(* x (- (* x (+ 1/8 (* -1/16 x))) 1/2))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/16 binary64) x #s(literal 1/8 binary64)) x #s(literal -1/2 binary64)) x)
(* x (- (* x (+ 1/8 (* x (- (* 5/128 x) 1/16)))) 1/2))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 5/128 binary64) x #s(literal -1/16 binary64)) x #s(literal 1/8 binary64)) x #s(literal -1/2 binary64)) x)
1
#s(literal 1 binary64)
(+ 1 (* 1/2 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(sqrt x)
(sqrt.f64 x)
(- (sqrt x) 1)
(-.f64 (sqrt.f64 x) #s(literal 1 binary64))
(- (+ (sqrt x) (* -1 (/ (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))) (pow x 2)))) 1)
(fma.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) (/.f64 (/.f64 #s(literal 1/2 binary64) x) x) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
(- (+ (sqrt x) (* 1/2 (/ 1 x))) (+ 1 (+ (* -1 (sqrt (/ 1 x))) (+ (* -1 (* (sqrt (/ 1 (pow x 5))) (+ (* -1 (sqrt (pow x 3))) (* 1/2 (sqrt (pow x 3)))))) (* 1/2 (sqrt (/ 1 x)))))))
(-.f64 (-.f64 (-.f64 (sqrt.f64 x) (/.f64 #s(literal -1/2 binary64) x)) #s(literal 1 binary64)) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/2 binary64))))
(* -5/128 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -5/128 binary64))
(* (pow x 4) (- (* 1/16 (/ 1 x)) 5/128))
(*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) x) #s(literal 5/128 binary64)) (pow.f64 x #s(literal 4 binary64)))
(* (pow x 4) (- (* 1/16 (/ 1 x)) (+ 5/128 (/ 1/8 (pow x 2)))))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1/8 binary64) x)) x) #s(literal 5/128 binary64)) (pow.f64 x #s(literal 4 binary64)))
(* (pow x 4) (- (+ (* 1/16 (/ 1 x)) (* 1/2 (/ 1 (pow x 3)))) (+ 5/128 (/ 1/8 (pow x 2)))))
(*.f64 (+.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/8 binary64)) x) x) #s(literal 5/128 binary64)) (/.f64 #s(literal 1/16 binary64) x)) (pow.f64 x #s(literal 4 binary64)))
(* -5/128 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -5/128 binary64))
(* (pow x 3) (- (* 1/16 (/ 1 x)) 5/128))
(*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) x) #s(literal 5/128 binary64)) (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (- (* 1/16 (/ 1 x)) (+ 5/128 (/ 1/8 (pow x 2)))))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1/8 binary64) x)) x) #s(literal 5/128 binary64)) (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (- (+ (* 1/16 (/ 1 x)) (* 1/2 (/ 1 (pow x 3)))) (+ 5/128 (/ 1/8 (pow x 2)))))
(*.f64 (+.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/8 binary64)) x) x) #s(literal 5/128 binary64)) (/.f64 #s(literal 1/16 binary64) x)) (pow.f64 x #s(literal 3 binary64)))
(* -5/128 (pow x 2))
(*.f64 (*.f64 x x) #s(literal -5/128 binary64))
(* (pow x 2) (- (* 1/16 (/ 1 x)) 5/128))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) x) #s(literal 5/128 binary64)) x) x)
(* (pow x 2) (- (* 1/16 (/ 1 x)) (+ 5/128 (/ 1/8 (pow x 2)))))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1/8 binary64) x)) x) #s(literal 5/128 binary64)) (*.f64 x x))
(* x (- (sqrt (/ 1 x)) (/ 1 x)))
(*.f64 (-.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) x)) x)
(* x (- (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))) (/ 1 x)))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (-.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) x))) x)
(* x (- (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))) (/ 1 x)))
(*.f64 (-.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))) (/.f64 #s(literal 1 binary64) x)) x)
(* -1 (sqrt x))
(neg.f64 (sqrt.f64 x))
(* x (- (/ 1 x) (sqrt (/ 1 x))))
(fma.f64 (neg.f64 x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
(* x (- (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (/ 1 x)) (sqrt (/ 1 x))))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/2 binary64) (neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))) x))
(* x (- (+ (* 1/8 (sqrt (/ 1 (pow x 5)))) (/ 1 x)) (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal 1/8 binary64)) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))) x))
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))) x)
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) #s(literal 1/16 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(+ (* -1 (sqrt x)) (/ 1 (pow (sqrt -1) 2)))
(-.f64 #s(literal -1 binary64) (sqrt.f64 x))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (+ (* -1/2 (* (sqrt x) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt x) (/ 1 (pow (sqrt -1) 2))))) x)))
(-.f64 (fma.f64 (sqrt.f64 x) (/.f64 #s(literal 1/2 binary64) x) #s(literal -1 binary64)) (sqrt.f64 x))
(+ (* -1 (sqrt x)) (* -1 (/ (+ (* -1 (/ x (pow (sqrt -1) 2))) (* -1 (/ (- (+ (* -1 (* (sqrt (/ 1 x)) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))))) (* 1/2 (/ x (pow (sqrt -1) 4)))) (+ (* -1/2 (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2)))) (* (sqrt (pow x 3)) (/ 1 (pow (sqrt -1) 2))))) x))) x)))
(-.f64 (-.f64 (/.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) x (fma.f64 (*.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) #s(literal 1/2 binary64)))) x) x) #s(literal 1 binary64)) (sqrt.f64 x))
(* (pow x 4) (- (* -1 (/ (- (* 1/8 (/ 1 x)) 1/16) x)) 5/128))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1/8 binary64) x)) x) #s(literal 5/128 binary64)) (pow.f64 x #s(literal 4 binary64)))
(* (pow x 4) (- (* -1 (/ (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/8) x)) 1/16) x)) 5/128))
(*.f64 (-.f64 (/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/8 binary64)) x) #s(literal -1/16 binary64)) x) #s(literal 5/128 binary64)) (pow.f64 x #s(literal 4 binary64)))
(* -1 (* (pow x 3) (- 5/128 (* 1/16 (/ 1 x)))))
(*.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) x) #s(literal -5/128 binary64)) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 3) (+ 5/128 (* -1 (/ (- 1/16 (* 1/8 (/ 1 x))) x)))))
(*.f64 (+.f64 (/.f64 (-.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1/8 binary64) x)) x) #s(literal -5/128 binary64)) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 3) (+ 5/128 (* -1 (/ (+ 1/16 (* -1 (/ (- 1/8 (* 1/2 (/ 1 x))) x))) x)))))
(*.f64 (+.f64 (/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/8 binary64)) x) #s(literal -1/16 binary64)) x) #s(literal -5/128 binary64)) (pow.f64 x #s(literal 3 binary64)))
(* (pow x 2) (- (* -1 (/ (- (* 1/8 (/ 1 x)) 1/16) x)) 5/128))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1/8 binary64) x)) x) #s(literal 5/128 binary64)) (*.f64 x x))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x))))
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) x #s(literal -1 binary64))
(* -1 (* x (+ (* -1 (/ (- (* -1/2 (sqrt (/ 1 x))) 1) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f64 (fma.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/2 binary64) #s(literal -1 binary64)) x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* -1 (* x (+ (* -1 (/ (- (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x)) 1) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f64 (+.f64 (/.f64 (-.f64 (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 (sqrt.f64 x) #s(literal -1/2 binary64))) x) #s(literal 1 binary64)) x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* (sqrt x) (pow (sqrt -1) 2))
(neg.f64 (sqrt.f64 x))
(* x (+ (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (/ 1 x)))
(fma.f64 (neg.f64 x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (+ 1 (* 1/2 (sqrt (/ 1 x)))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f64 (-.f64 (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/2 binary64) #s(literal -1 binary64)) (neg.f64 x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* -1 (* x (- (* -1 (/ (+ 1 (* -1 (/ (- (* 1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))) x)) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 (sqrt.f64 x) #s(literal -1/2 binary64))) x)) x) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))) x)
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/2 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))) x)
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) #s(literal -1/16 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/2 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x))))) x)

rewrite54.0ms (1.1%)

Memory
-4.6MiB live, 42.3MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02485
03585
115185
0122585
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
8 → 67
Calls
Call 1
Inputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64))
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
#s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
Outputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)
(*.f64 x (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64)) x) (-.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 3 binary64))) x) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x)) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64))))
(/.f64 (*.f64 x (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (-.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64)))
(/.f64 (*.f64 x (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 3 binary64)))) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x)) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 #s(literal 1/2 binary64) x (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) x))
(fma.f64 x (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) (*.f64 x #s(literal 1/2 binary64)))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 x (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x)))
(+.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) x) (*.f64 #s(literal 1/2 binary64) x))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) x))
(+.f64 (*.f64 x (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x)) (*.f64 x #s(literal 1/2 binary64)))
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 x (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x)) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64)))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64)))))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 3 binary64))) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x)) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64))))
(fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64))
(fma.f64 x (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)) (-.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64))) x))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 x) (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 3 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x)) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x)) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x))
(/.f64 (-.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal 2 binary64))) (-.f64 #s(literal -1/8 binary64) (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal 2 binary64)) #s(literal 1/64 binary64))) (neg.f64 (-.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal -1/8 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -1/512 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -1/8 binary64) (-.f64 #s(literal -1/8 binary64) (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal 2 binary64)) #s(literal 1/64 binary64)) (-.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal -1/8 binary64)))
(/.f64 (+.f64 #s(literal -1/512 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal 3 binary64))) (+.f64 #s(literal 1/64 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal -1/8 binary64)))))
(/.f64 (+.f64 #s(literal -1/512 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal 3 binary64))) (fma.f64 #s(literal -1/8 binary64) (-.f64 #s(literal -1/8 binary64) (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal 2 binary64))))
(fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64))
(fma.f64 x (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) #s(literal -1/8 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal 2 binary64)) (-.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal -1/8 binary64))) (/.f64 #s(literal 1/64 binary64) (-.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal -1/8 binary64))))
(-.f64 #s(literal -1/8 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64))) x))
(-.f64 #s(literal -1/8 binary64) (*.f64 (neg.f64 x) (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal 3 binary64)) (fma.f64 #s(literal -1/8 binary64) (-.f64 #s(literal -1/8 binary64) (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal 2 binary64)))) (/.f64 #s(literal -1/512 binary64) (fma.f64 #s(literal -1/8 binary64) (-.f64 #s(literal -1/8 binary64) (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x) #s(literal -1/8 binary64))
(+.f64 #s(literal -1/8 binary64) (*.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x))
(*.f64 (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)))
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))) #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64))) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64))) #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64))) (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(/.f64 (*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))
(/.f64 (*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)))) (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
#s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)))) (neg.f64 (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (neg.f64 (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64))) (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))) (/.f64 (-.f64 x #s(literal -1 binary64)) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))) (/.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)) (+.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(*.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)))
(*.f64 #s(literal -1 binary64) (*.f64 #s(literal -1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(*.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (sqrt.f64 (-.f64 x #s(literal 1 binary64))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64))) (sqrt.f64 (fma.f64 x x (-.f64 #s(literal 1 binary64) x))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64))) (sqrt.f64 (fma.f64 x x (fma.f64 #s(literal -1 binary64) x #s(literal 1 binary64)))))
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
(exp.f64 (*.f64 (log1p.f64 x) #s(literal 1/2 binary64)))

eval27.0ms (0.6%)

Memory
-15.6MiB live, 29.5MiB allocated; 4ms collecting garbage
Compiler

Compiled 3 722 to 575 computations (84.6% saved)

prune8.0ms (0.2%)

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

12 alts after pruning (0 fresh and 12 done)

PrunedKeptTotal
New1260126
Fresh000
Picked022
Done01010
Total12612138
Accuracy
100.0%
Counts
138 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
72.2%
(/.f64 x #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))
34.7%
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
71.9%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x)))
70.4%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x)))
29.4%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
70.7%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
71.9%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
70.4%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
5.7%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
71.7%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
30.1%
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
Compiler

Compiled 394 to 208 computations (47.2% saved)

regimes23.0ms (0.5%)

Memory
-28.8MiB live, 18.2MiB allocated; 3ms collecting garbage
Counts
13 → 1
Calls
Call 1
Inputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(/.f64 x #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
(*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
Outputs
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
Calls

2 calls:

18.0ms
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
4.0ms
x
Results
AccuracySegmentsBranch
99.7%1(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
99.7%1x
Compiler

Compiled 9 to 7 computations (22.2% saved)

regimes7.0ms (0.2%)

Memory
10.6MiB live, 10.6MiB allocated; 0ms collecting garbage
Counts
11 → 2
Calls
Call 1
Inputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(/.f64 x #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
Outputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
Calls

2 calls:

3.0ms
x
3.0ms
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
Results
AccuracySegmentsBranch
99.9%2(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
99.9%2x
Compiler

Compiled 9 to 7 computations (22.2% saved)

regimes7.0ms (0.1%)

Memory
10.1MiB live, 10.1MiB allocated; 0ms collecting garbage
Counts
10 → 2
Calls
Call 1
Inputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(/.f64 x #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x)))
Outputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x)))
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
Calls

2 calls:

3.0ms
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
3.0ms
x
Results
AccuracySegmentsBranch
99.9%2(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
99.9%2x
Compiler

Compiled 9 to 7 computations (22.2% saved)

regimes6.0ms (0.1%)

Memory
8.9MiB live, 8.9MiB allocated; 0ms collecting garbage
Counts
9 → 2
Calls
Call 1
Inputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(/.f64 x #s(approx (+ 1 (sqrt (+ x 1))) (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64))))
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
Outputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x))
(*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
Calls

2 calls:

3.0ms
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
3.0ms
x
Results
AccuracySegmentsBranch
99.9%2(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
99.9%2x
Compiler

Compiled 9 to 7 computations (22.2% saved)

regimes6.0ms (0.1%)

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

2 calls:

3.0ms
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
3.0ms
x
Results
AccuracySegmentsBranch
99.1%2(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
99.1%2x
Compiler

Compiled 9 to 7 computations (22.2% saved)

regimes14.0ms (0.3%)

Memory
-46.0MiB live, 9.7MiB allocated; 4ms collecting garbage
Counts
6 → 2
Calls
Call 1
Inputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x)))
Outputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
Calls

2 calls:

11.0ms
x
2.0ms
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
Results
AccuracySegmentsBranch
98.8%2(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
98.8%2x
Compiler

Compiled 9 to 7 computations (22.2% saved)

regimes4.0ms (0.1%)

Memory
6.6MiB live, 6.6MiB allocated; 0ms collecting garbage
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(approx (+ (* (+ (* 1/16 x) -1/8) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/16 binary64))) x))
Outputs
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64)))
Calls

2 calls:

2.0ms
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
2.0ms
x
Results
AccuracySegmentsBranch
98.8%2(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
98.8%2x
Compiler

Compiled 9 to 7 computations (22.2% saved)

regimes4.0ms (0.1%)

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

2 calls:

2.0ms
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
1.0ms
x
Results
AccuracySegmentsBranch
97.9%2(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
97.9%2x
Compiler

Compiled 9 to 7 computations (22.2% saved)

regimes3.0ms (0.1%)

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

2 calls:

1.0ms
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
1.0ms
x
Results
AccuracySegmentsBranch
97.4%2(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
97.4%2x
Compiler

Compiled 9 to 7 computations (22.2% saved)

regimes2.0ms (0%)

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

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

1.0ms
x
1.0ms
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
Results
AccuracySegmentsBranch
71.7%1(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
71.7%1x
Compiler

Compiled 9 to 7 computations (22.2% saved)

bsearch29.0ms (0.6%)

Memory
-26.1MiB live, 21.1MiB allocated; 2ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
27.0ms
6.412234850522427e-6
0.022291520461108598
Samples
22.0ms128×0valid
Compiler

Compiled 307 to 250 computations (18.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-add: 18.0ms (90.6% of total)
ival-div: 1.0ms (5% of total)
ival-sqrt: 1.0ms (5% 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)

bsearch11.0ms (0.2%)

Memory
21.6MiB live, 21.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
9.0ms
6.412234850522427e-6
0.022291520461108598
Samples
5.0ms112×0valid
Compiler

Compiled 299 to 242 computations (19.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-div: 1.0ms (38.2% of total)
ival-add: 1.0ms (38.2% of total)
ival-sqrt: 1.0ms (38.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)

bsearch1.0ms (0%)

Memory
2.6MiB live, 2.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
6.412234850522427e-6
0.022291520461108598
Compiler

Compiled 283 to 234 computations (17.3% saved)

bsearch10.0ms (0.2%)

Memory
11.0MiB live, 11.0MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
9.0ms
0.022291520461108598
2.8242244140854424
Samples
5.0ms112×0valid
Compiler

Compiled 228 to 185 computations (18.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-div: 1.0ms (38.5% of total)
ival-add: 1.0ms (38.5% of total)
ival-sqrt: 1.0ms (38.5% 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)

bsearch1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
0.022291520461108598
2.8242244140854424
Compiler

Compiled 221 to 178 computations (19.5% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
0.022291520461108598
2.8242244140854424
Compiler

Compiled 207 to 171 computations (17.4% saved)

bsearch4.0ms (0.1%)

Memory
3.6MiB live, 3.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
3.0ms
0.022291520461108598
2.8242244140854424
Samples
1.0ms32×0valid
Compiler

Compiled 193 to 157 computations (18.7% saved)

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

bsearch52.0ms (1.1%)

Memory
-36.4MiB live, 10.8MiB allocated; 3ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
50.0ms
2.8242244140854424
359.2452620981891
Samples
46.0ms112×0valid
Compiler

Compiled 172 to 143 computations (16.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-div: 1.0ms (36.7% of total)
ival-add: 1.0ms (36.7% of total)
ival-sqrt: 1.0ms (36.7% 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)

simplify69.0ms (1.4%)

Memory
-3.6MiB live, 42.0MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
065297
177297
290297
3120297
4202297
5622291
65388291
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
(if (<=.f64 x #s(literal 7839866231326559/9223372036854775808 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)) (*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(if (<=.f64 x #s(literal 4796153459164483/36893488147419103232 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x))) (*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(if (<=.f64 x #s(literal 4796153459164483/36893488147419103232 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)) (*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(if (<=.f64 x #s(literal 2476979795053773/1125899906842624 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64))))
(if (<=.f64 x #s(literal 2476979795053773/1125899906842624 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x))) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64))))
(if (<=.f64 x #s(literal 2476979795053773/1125899906842624 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64))))
(if (<=.f64 x #s(literal 5404319552844595/2251799813685248 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x)))
(if (<=.f64 x #s(literal 4 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))
Outputs
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
(/.f64 x (+.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(if (<=.f64 x #s(literal 7839866231326559/9223372036854775808 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -5/128 binary64) x #s(literal 1/16 binary64)) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)) (*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(if (<=.f64 x #s(literal 4796153459164483/36893488147419103232 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x) x (*.f64 #s(literal 1/2 binary64) x))) (*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(if (<=.f64 x #s(literal 4796153459164483/36893488147419103232 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)) (*.f64 #s(approx (/ x (- 1 (- x -1))) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(if (<=.f64 x #s(literal 2476979795053773/1125899906842624 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/16 binary64) x #s(literal -1/8 binary64)) x #s(literal 1/2 binary64)) x)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64))))
(if (<=.f64 x #s(literal 2476979795053773/1125899906842624 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (fma.f64 (*.f64 #s(literal -1/8 binary64) x) x (*.f64 #s(literal 1/2 binary64) x))) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64))))
(if (<=.f64 x #s(literal 2476979795053773/1125899906842624 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (-.f64 (sqrt.f64 x) #s(literal 1 binary64))))
(if (<=.f64 x #s(literal 5404319552844595/2251799813685248 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x)))
(if (<=.f64 x #s(literal 4 binary64)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x)) #s(approx (/ x (+ 1 (sqrt (+ x 1)))) (sqrt.f64 x)))
#s(approx (/ x (+ 1 (sqrt (+ x 1)))) (*.f64 #s(literal 1/2 binary64) x))

derivations686.0ms (13.9%)

Memory
9.0MiB live, 535.4MiB allocated; 43ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0621
01021
14321
030821
029145
046145
1180139
01425139
02631058
1837897
23474862
08733800
0161577
1546472
22421440
08548399
Stop Event
done
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
iter limit
iter limit
unsound
iter limit
Compiler

Compiled 297 to 65 computations (78.1% saved)

preprocess122.0ms (2.5%)

Memory
5.6MiB live, 104.3MiB allocated; 8ms collecting garbage
Compiler

Compiled 610 to 142 computations (76.7% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...