2sqrt (example 3.1)

Time bar (total: 3.7s)

start0.0ms (0%)

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

analyze2.0ms (0.1%)

Memory
2.4MiB live, 2.4MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%25%75%0%0%0%0
0%0%25%75%0%0%0%1
50%12.5%12.5%75%0%0%0%2
75%18.7%6.2%75%0%0%0%3
87.5%21.9%3.1%75%0%0%0%4
93.8%23.4%1.6%75%0%0%0%5
96.9%24.2%0.8%75%0%0%0%6
98.4%24.6%0.4%75%0%0%0%7
99.2%24.8%0.2%75%0%0%0%8
99.6%24.9%0.1%75%0%0%0%9
99.8%24.9%0%75%0%0%0%10
99.9%25%0%75%0%0%0%11
100%25%0%75%0%0%0%12
Compiler

Compiled 15 to 11 computations (26.7% saved)

sample1.5s (39.5%)

Memory
86.8MiB live, 1 647.7MiB allocated; 368ms collecting garbage
Samples
1.1s8 132×1valid
8.0ms124×0valid
Precisions
Click to see histograms. Total time spent on operations: 895.0ms
ival-sqrt: 279.0ms (31.2% of total)
adjust: 223.0ms (24.9% of total)
const: 126.0ms (14.1% of total)
ival-add: 124.0ms (13.9% of total)
ival-sub: 69.0ms (7.7% of total)
ival->: 33.0ms (3.7% of total)
ival-<: 19.0ms (2.1% of total)
ival-and: 11.0ms (1.2% of total)
exact: 7.0ms (0.8% of total)
ival-assert: 3.0ms (0.3% of total)
Bogosity

explain150.0ms (4%)

Memory
-1.9MiB live, 144.5MiB allocated; 18ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2550-0-(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
00-0-(+.f64 x #s(literal 1 binary64))
00-0-(sqrt.f64 x)
00-0-#s(literal 1 binary64)
00-0-(sqrt.f64 (+.f64 x #s(literal 1 binary64)))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))cancellation2550
Confusion
Predicted +Predicted -
+2550
-01
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+25500
-001
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
01
1255
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
72.0ms504×1valid
0.0ms0valid
Compiler

Compiled 47 to 22 computations (53.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 56.0ms
ival-sqrt: 34.0ms (60.7% of total)
adjust: 12.0ms (21.4% of total)
ival-add: 5.0ms (8.9% of total)
ival-sub: 4.0ms (7.1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess220.0ms (5.9%)

Memory
-27.9MiB live, 156.4MiB allocated; 29ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
11119
21419
32519
46119
526717
6231617
7569517
067
0107
1137
2167
3277
4617
52527
621957
754917
086357
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
Outputs
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
(-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))
Compiler

Compiled 7 to 6 computations (14.3% 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.5MiB live, 0.6MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.1%
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
Compiler

Compiled 7 to 6 computations (14.3% saved)

series5.0ms (0.1%)

Memory
8.6MiB live, 8.6MiB allocated; 0ms collecting garbage
Counts
6 → 27
Calls
Call 1
Inputs
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
(sqrt.f64 (+.f64 x #s(literal 1 binary64)))
(+.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
(sqrt.f64 x)
Outputs
(- 1 (sqrt x))
(- (+ 1 (* 1/2 x)) (sqrt x))
(- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))
(- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(+ 1 x)
x
(sqrt x)
(* 1/2 (sqrt (/ 1 x)))
(/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) 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 (+ 1 (/ 1 x)))
(* -1/2 (sqrt (/ 1 x)))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x)))) x))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* -5/128 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 6)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x))))) x))
(* -1 (* (sqrt 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
((- (sqrt (+ x 1)) (sqrt x)) (sqrt (+ x 1)) (+ x 1) x 1 (sqrt x))
1.0ms
x
@inf
((- (sqrt (+ x 1)) (sqrt x)) (sqrt (+ x 1)) (+ x 1) x 1 (sqrt x))
1.0ms
x
@0
((- (sqrt (+ x 1)) (sqrt x)) (sqrt (+ x 1)) (+ x 1) x 1 (sqrt x))

simplify188.0ms (5%)

Memory
25.4MiB live, 166.2MiB allocated; 18ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0113451
1331393
21220372
05859336
Stop Event
iter limit
iter limit
node limit
Counts
27 → 26
Calls
Call 1
Inputs
(- 1 (sqrt x))
(- (+ 1 (* 1/2 x)) (sqrt x))
(- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))
(- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(+ 1 x)
x
(sqrt x)
(* 1/2 (sqrt (/ 1 x)))
(/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) 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 (+ 1 (/ 1 x)))
(* -1/2 (sqrt (/ 1 x)))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x)))) x))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* -5/128 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 6)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x))))) x))
(* -1 (* (sqrt 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 (sqrt x))
(-.f64 #s(literal 1 binary64) (sqrt.f64 x))
(- (+ 1 (* 1/2 x)) (sqrt x))
(fma.f64 #s(literal 1/2 binary64) x (-.f64 #s(literal 1 binary64) (sqrt.f64 x)))
(- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))
(fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x (-.f64 #s(literal 1 binary64) (sqrt.f64 x)))
(- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))
(fma.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(literal 1 binary64) (sqrt.f64 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))
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
x
(sqrt x)
(sqrt.f64 x)
(* 1/2 (sqrt (/ 1 x)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64))
(/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/16 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) x)
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -5/128 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/16 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 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 (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 (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(* -1/2 (sqrt (/ 1 x)))
(*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x))) x)
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x)))) x))
(/.f64 (fma.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))) x)
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* -5/128 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 6)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x))))) x))
(/.f64 (fma.f64 #s(literal 5/128 binary64) (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 6 binary64))) (fma.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x))))) x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 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)

rewrite57.0ms (1.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0618
01018
14218
030418
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
6 → 37
Calls
Call 1
Inputs
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
(sqrt.f64 (+.f64 x #s(literal 1 binary64)))
(+.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
(sqrt.f64 x)
Outputs
(/.f64 (neg.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x)) (neg.f64 (+.f64 (sqrt.f64 x) (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)) (pow.f64 x #s(literal 3/2 binary64)))) (neg.f64 (+.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x) (sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) x)))))
(/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x) (+.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(/.f64 (-.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)) (pow.f64 x #s(literal 3/2 binary64))) (+.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x) (sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) x))))
(-.f64 (/.f64 (-.f64 x #s(literal -1 binary64)) (+.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))) (/.f64 x (+.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(-.f64 (/.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)) (+.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x) (sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) x)))) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (+.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x) (sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) x)))))
(-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))
(*.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)))
(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))
x
#s(literal 1 binary64)
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(pow.f64 x #s(literal 1/2 binary64))
(sqrt.f64 x)
(exp.f64 (*.f64 (log.f64 x) #s(literal 1/2 binary64)))

eval7.0ms (0.2%)

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

Compiled 1 032 to 237 computations (77% saved)

prune5.0ms (0.1%)

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

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New57663
Fresh000
Picked011
Done000
Total57764
Accuracy
99.9%
Counts
64 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
10.9%
(/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x) (+.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
7.1%
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
4.6%
(-.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x))
3.8%
(-.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (sqrt.f64 x))
1.6%
(-.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x))
98.8%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x))
97.8%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64)))
Compiler

Compiled 163 to 128 computations (21.5% saved)

series7.0ms (0.2%)

Memory
8.1MiB live, 8.1MiB allocated; 0ms collecting garbage
Counts
20 → 42
Calls
Call 1
Inputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x))
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x)
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
#s(literal -1/8 binary64)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
#s(literal 1/2 binary64)
(sqrt.f64 x)
(-.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x))
#s(approx (sqrt (+ x 1)) #s(literal 1 binary64))
(-.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x))
#s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(-.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (sqrt.f64 x))
#s(approx (sqrt (+ x 1)) (sqrt.f64 x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64))
Outputs
(- 1 (sqrt x))
(- (+ 1 (* 1/2 x)) (sqrt x))
(- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))
(- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))
(* -1/8 (sqrt (/ 1 (pow x 3))))
(/ (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))) (pow x 2))
(* -1/8 (sqrt (/ 1 x)))
(/ (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))) x)
(sqrt (/ 1 x))
(/ 1 x)
x
(* 1/2 (sqrt x))
(sqrt x)
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(* 1/2 (sqrt (/ 1 x)))
(/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) x)
(+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 1 x))))
(* x (+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 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))))))))
(* 1/2 x)
(* x (+ 1/2 (/ 1 x)))
(* -1/2 (sqrt (/ 1 x)))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x)))) x))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* -5/128 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 6)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x))))) x))
(* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))
(+ (* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))) (* -1/8 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))))
(* -1/2 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (+ (* 1/8 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* 1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* (sqrt (/ 1 x)) (pow (sqrt -1) 2))
(* -1 (* (sqrt 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)))))))
(* 1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))
Calls

3 calls:

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

simplify161.0ms (4.3%)

Memory
-22.4MiB live, 168.0MiB allocated; 39ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0132616
1395534
21572512
06951469
Stop Event
iter limit
iter limit
node limit
Counts
42 → 41
Calls
Call 1
Inputs
(- 1 (sqrt x))
(- (+ 1 (* 1/2 x)) (sqrt x))
(- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))
(- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))
(* -1/8 (sqrt (/ 1 (pow x 3))))
(/ (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))) (pow x 2))
(* -1/8 (sqrt (/ 1 x)))
(/ (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))) x)
(sqrt (/ 1 x))
(/ 1 x)
x
(* 1/2 (sqrt x))
(sqrt x)
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(* 1/2 (sqrt (/ 1 x)))
(/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) x)
(+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 1 x))))
(* x (+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 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))))))))
(* 1/2 x)
(* x (+ 1/2 (/ 1 x)))
(* -1/2 (sqrt (/ 1 x)))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x)))) x))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* -5/128 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 6)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x))))) x))
(* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))
(+ (* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))) (* -1/8 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))))
(* -1/2 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (+ (* 1/8 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* 1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* (sqrt (/ 1 x)) (pow (sqrt -1) 2))
(* -1 (* (sqrt 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)))))))
(* 1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))
Outputs
(- 1 (sqrt x))
(-.f64 #s(literal 1 binary64) (sqrt.f64 x))
(- (+ 1 (* 1/2 x)) (sqrt x))
(fma.f64 #s(literal 1/2 binary64) x (-.f64 #s(literal 1 binary64) (sqrt.f64 x)))
(- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))
(fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x (-.f64 #s(literal 1 binary64) (sqrt.f64 x)))
(- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))
(fma.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(literal 1 binary64) (sqrt.f64 x)))
(* -1/8 (sqrt (/ 1 (pow x 3))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/8 binary64))
(/ (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))) (pow x 2))
(/.f64 (fma.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) #s(literal 1/2 binary64) (*.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) (*.f64 x x))
(* -1/8 (sqrt (/ 1 x)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64))
(/ (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))) x)
(/.f64 (fma.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) #s(literal 1/2 binary64) (*.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x)
(sqrt (/ 1 x))
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
x
(* 1/2 (sqrt x))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
(sqrt x)
(sqrt.f64 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))
(* 1/2 (sqrt (/ 1 x)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64))
(/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) x)
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -5/128 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) x)
(+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 1 x))))
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/8 binary64)))
(* x (+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 1 x)))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/8 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 (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)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(* -1/2 (sqrt (/ 1 x)))
(*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x))) x)
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x)))) x))
(/.f64 (fma.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))) x)
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* -5/128 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 6)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x))))) x))
(/.f64 (fma.f64 #s(literal 5/128 binary64) (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 6 binary64))) (fma.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x))))) x)
(* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64))
(+ (* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))) (* -1/8 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))))
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/8 binary64)))
(* -1/2 (* (sqrt x) (pow (sqrt -1) 2)))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
(* -1 (* x (+ (* 1/8 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* 1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/8 binary64))) x)
(* (sqrt (/ 1 x)) (pow (sqrt -1) 2))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 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 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 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 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (fma.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 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/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))
(*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))

rewrite94.0ms (2.5%)

Memory
13.7MiB live, 58.6MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024136
037136
1143128
01023125
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
20 → 111
Calls
Call 1
Inputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x))
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x)
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
#s(literal -1/8 binary64)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
#s(literal 1/2 binary64)
(sqrt.f64 x)
(-.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x))
#s(approx (sqrt (+ x 1)) #s(literal 1 binary64))
(-.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x))
#s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(-.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (sqrt.f64 x))
#s(approx (sqrt (+ x 1)) (sqrt.f64 x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64))
Outputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x))
(/.f64 (-.f64 (*.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x) (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x)) (*.f64 (/.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) x) (/.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) x))) (-.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x) (/.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) x)))
(/.f64 (+.f64 (pow.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) x) #s(literal 3 binary64))) (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x) (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x) (-.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) x) (/.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) x)) (*.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x) (/.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) x)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))))) (neg.f64 (neg.f64 x)))
(/.f64 (fma.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x (*.f64 x (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)))) (*.f64 x x))
(/.f64 (-.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal -1 binary64))) (*.f64 #s(literal 1/4 binary64) x)) (*.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal -1/2 binary64)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x))) x))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3/2 binary64)) (pow.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 3 binary64))) (*.f64 (fma.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 #s(literal 1/4 binary64) x) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x)))) x))
(/.f64 (neg.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))) (neg.f64 x))
(/.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x)
(neg.f64 (/.f64 (neg.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))) x))
(neg.f64 (/.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) (neg.f64 x)))
(fma.f64 (sqrt.f64 x) (/.f64 #s(literal 1/2 binary64) x) (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x))
(fma.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 x) x) (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x))
(fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 x #s(literal -1/2 binary64)) x) (/.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) x))
(fma.f64 (pow.f64 x #s(literal -1/2 binary64)) (/.f64 #s(literal -1/8 binary64) x) (/.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) x))
(-.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x) (/.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)) x))
(+.f64 (/.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) x) (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x))
(+.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x) (/.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) x))
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) x) (*.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal -1 binary64)))) (-.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))))
(/.f64 (-.f64 (pow.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal -1 binary64)) (fma.f64 #s(literal 1/4 binary64) x (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x))))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal -1 binary64))) (*.f64 #s(literal 1/4 binary64) x))) (neg.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal -1/2 binary64)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3/2 binary64)) (pow.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 #s(literal 1/4 binary64) x) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x))))))
(/.f64 (-.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal -1 binary64))) (*.f64 #s(literal 1/4 binary64) x)) (fma.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal -1/2 binary64)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3/2 binary64)) (pow.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) x (-.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal -1 binary64))) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x)))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3/2 binary64)) (pow.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 #s(literal 1/4 binary64) x) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x)))))
(fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))
(fma.f64 #s(literal 1/2 binary64) (sqrt.f64 x) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))
(fma.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal -1/2 binary64)) (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)))
(fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)))
(-.f64 (/.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal -1 binary64))) (fma.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal -1/2 binary64)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))) (/.f64 (*.f64 #s(literal 1/4 binary64) x) (fma.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal -1/2 binary64)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))))
(-.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) (*.f64 (neg.f64 (sqrt.f64 x)) #s(literal 1/2 binary64)))
(-.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))
(-.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal -1/2 binary64))))
(-.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) (*.f64 (neg.f64 (pow.f64 x #s(literal -1/2 binary64))) #s(literal -1/8 binary64)))
(+.f64 (/.f64 (pow.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 3 binary64)) (fma.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 #s(literal 1/4 binary64) x) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x))))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (fma.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 #s(literal 1/4 binary64) x) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x))))))
(+.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)))
(+.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))
(*.f64 (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/4 binary64)))
(*.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -1/2 binary64)))
(pow.f64 (sqrt.f64 x) #s(literal -1 binary64))
(pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64))
(pow.f64 x #s(literal -1/2 binary64))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (neg.f64 x)))
(/.f64 #s(literal -1 binary64) (neg.f64 (sqrt.f64 x)))
(/.f64 #s(literal 1 binary64) (sqrt.f64 x))
(sqrt.f64 (pow.f64 x #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 x #s(literal -1 binary64))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal -1/2 binary64)) (pow.f64 x #s(literal -1/2 binary64)))
(*.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -1 binary64)))
(pow.f64 x #s(literal -1 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 x))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 x)))
(/.f64 #s(literal 1 binary64) x)
(neg.f64 (/.f64 #s(literal -1 binary64) x))
(neg.f64 (/.f64 #s(literal 1 binary64) (neg.f64 x)))
(exp.f64 (*.f64 (log.f64 x) #s(literal -1 binary64)))
#s(literal 1 binary64)
x
#s(literal -1/8 binary64)
(*.f64 (sqrt.f64 x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
#s(literal 1/2 binary64)
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(pow.f64 x #s(literal 1/2 binary64))
(sqrt.f64 x)
(exp.f64 (*.f64 (log.f64 x) #s(literal 1/2 binary64)))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) #s(literal 2 binary64)) x)) (neg.f64 (+.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 x #s(literal 3/2 binary64)))) (neg.f64 (fma.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (fma.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x) x))))
(/.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) #s(literal 2 binary64)) x) (+.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x)))
(/.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 x #s(literal 3/2 binary64))) (fma.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (fma.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x) x)))
(-.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) #s(literal 2 binary64)) (+.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x))) (/.f64 x (+.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x))))
(-.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) #s(literal 3 binary64)) (fma.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (fma.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x) x))) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (fma.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (fma.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x) x))))
(-.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x))
#s(approx (sqrt (+ x 1)) #s(literal 1 binary64))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) #s(literal 2 binary64)) x)) (neg.f64 (+.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) #s(literal 3 binary64)) (pow.f64 x #s(literal 3/2 binary64)))) (neg.f64 (+.f64 (fma.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x) x) (pow.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) #s(literal 2 binary64)) x) (+.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x)))
(/.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) #s(literal 3 binary64)) (pow.f64 x #s(literal 3/2 binary64))) (+.f64 (fma.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x) x) (pow.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) #s(literal 2 binary64)) (+.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x))) (/.f64 x (+.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x))))
(-.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) #s(literal 3 binary64)) (+.f64 (fma.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x) x) (pow.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (+.f64 (fma.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x) x) (pow.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) #s(literal 2 binary64)))))
(-.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x))
#s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x)))))
(/.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) (fma.f64 #s(literal 1/2 binary64) x #s(literal -1 binary64)))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) x))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64))
(fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal -1 binary64))))
(-.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) x))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) #s(literal 1/2 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 3 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x)))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x)))))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) #s(literal 2 binary64)) x)) (neg.f64 (+.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (sqrt.f64 x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) #s(literal 3 binary64)) (pow.f64 x #s(literal 3/2 binary64)))) (neg.f64 (fma.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (fma.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (sqrt.f64 x) x))))
(/.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) #s(literal 2 binary64)) x) (+.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (sqrt.f64 x)))
(/.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) #s(literal 3 binary64)) (pow.f64 x #s(literal 3/2 binary64))) (fma.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (fma.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (sqrt.f64 x) x)))
(-.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) #s(literal 2 binary64)) (+.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (sqrt.f64 x))) (/.f64 x (+.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (sqrt.f64 x))))
(-.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) #s(literal 3 binary64)) (fma.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (fma.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (sqrt.f64 x) x))) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (fma.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (fma.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (sqrt.f64 x) x))))
(-.f64 #s(approx (sqrt (+ x 1)) (sqrt.f64 x)) (sqrt.f64 x))
#s(approx (sqrt (+ x 1)) (sqrt.f64 x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(*.f64 #s(literal 1/2 binary64) (pow.f64 x #s(literal -1/2 binary64)))
(*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1/2 binary64))
(/.f64 #s(literal 1/2 binary64) (sqrt.f64 x))

eval30.0ms (0.8%)

Memory
-6.9MiB live, 44.4MiB allocated; 13ms collecting garbage
Compiler

Compiled 4 508 to 647 computations (85.6% saved)

prune11.0ms (0.3%)

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

10 alts after pruning (6 fresh and 4 done)

PrunedKeptTotal
New1995204
Fresh011
Picked235
Done011
Total20110211
Accuracy
100.0%
Counts
211 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
10.9%
(/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x) (+.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
7.1%
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
4.6%
(-.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x))
4.5%
(-.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x))
1.6%
(-.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x))
98.8%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 x) x) (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x)))
98.8%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x))
97.7%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x))
97.6%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
97.8%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64)))
Compiler

Compiled 254 to 190 computations (25.2% saved)

series13.0ms (0.3%)

Memory
-23.8MiB live, 20.6MiB allocated; 4ms collecting garbage
Counts
24 → 62
Calls
Call 1
Inputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x))
(/.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x)
(fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))
(sqrt.f64 x)
x
#s(literal 1/2 binary64)
(/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))
#s(literal -1/8 binary64)
(-.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x))
#s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(/.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x))
(/.f64 #s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x)
#s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
(/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x) (+.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(-.f64 (-.f64 x #s(literal -1 binary64)) x)
(-.f64 x #s(literal -1 binary64))
#s(literal -1 binary64)
(+.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
Outputs
(- 1 (sqrt x))
(- (+ 1 (* 1/2 x)) (sqrt x))
(- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))
(- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))
(* -1/8 (sqrt (/ 1 (pow x 3))))
(/ (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))) (pow x 2))
(* -1/8 (sqrt (/ 1 x)))
(/ (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))) x)
(sqrt x)
x
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(* 1/2 x)
(* 1/2 (sqrt (/ 1 x)))
(* 1/2 (sqrt x))
(/ 1 (+ 1 (sqrt x)))
(+ (* -1/2 (/ x (pow (+ 1 (sqrt x)) 2))) (/ 1 (+ 1 (sqrt x))))
(+ (* x (- (* x (+ (* 1/8 (/ 1 (pow (+ 1 (sqrt x)) 2))) (* 1/4 (/ 1 (pow (+ 1 (sqrt x)) 3))))) (* 1/2 (/ 1 (pow (+ 1 (sqrt x)) 2))))) (/ 1 (+ 1 (sqrt x))))
(+ (* x (- (* x (+ (* -1 (* x (+ (* 1/16 (/ 1 (pow (+ 1 (sqrt x)) 2))) (+ (* 1/16 (/ 1 (pow (+ 1 (sqrt x)) 3))) (* 1/2 (/ (+ (* 1/8 (/ 1 (pow (+ 1 (sqrt x)) 2))) (* 1/4 (/ 1 (pow (+ 1 (sqrt x)) 3)))) (+ 1 (sqrt x)))))))) (+ (* 1/8 (/ 1 (pow (+ 1 (sqrt x)) 2))) (* 1/4 (/ 1 (pow (+ 1 (sqrt x)) 3)))))) (* 1/2 (/ 1 (pow (+ 1 (sqrt x)) 2))))) (/ 1 (+ 1 (sqrt x))))
(+ 1 x)
(+ 1 (sqrt x))
(+ 1 (+ (sqrt x) (* 1/2 x)))
(+ 1 (+ (sqrt x) (* x (+ 1/2 (* -1/8 x)))))
(+ 1 (+ (sqrt x) (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))))
(/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) x)
(+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 1 x))))
(* x (+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 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 (+ 1/2 (/ 1 x)))
(/ (- (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))) (* 1/8 (sqrt (/ 1 x)))) x)
(/ (- (+ (* -1 (/ (+ (* 1/128 (sqrt (pow x 7))) (* 1/32 (sqrt (pow x 7)))) (pow x 6))) (* 1/2 (sqrt x))) (+ (* -1/16 (sqrt (/ 1 (pow x 3)))) (* 1/8 (sqrt (/ 1 x))))) x)
(* x (+ 1 (/ 1 x)))
(* 2 (sqrt x))
(* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* 2 (sqrt (/ 1 x)))))
(* x (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* 2 (sqrt (/ 1 x))))))
(* x (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* 2 (sqrt (/ 1 x)))))))
(* -1/2 (sqrt (/ 1 x)))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x)))) x))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* -5/128 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 6)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x))))) x))
(* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))
(+ (* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))) (* -1/8 (sqrt (/ 1 (pow x 3)))))
(* -1/2 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (+ (* 1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* (sqrt 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)))))))
(+ (* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))) (* -1/8 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))))
(* -1 (* x (+ (* 1/8 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* 1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (/ (- (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x))) (* 1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2))))) x))
(* -1 (/ (- (+ (* -1 (/ (+ (* 1/128 (* (sqrt (pow x 7)) (/ 1 (pow (sqrt -1) 6)))) (* 1/32 (* (sqrt (pow x 7)) (/ 1 (pow (sqrt -1) 6))))) (pow x 6))) (* 1/2 (sqrt x))) (+ (* -1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))))) x))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* 2 (* (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)))) (* 2 (* (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)))) (* 2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))))
Calls

3 calls:

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

simplify147.0ms (3.9%)

Memory
7.7MiB live, 150.4MiB allocated; 21ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02331173
17461039
23161983
08680908
Stop Event
iter limit
node limit
Counts
62 → 61
Calls
Call 1
Inputs
(- 1 (sqrt x))
(- (+ 1 (* 1/2 x)) (sqrt x))
(- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))
(- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))
(* -1/8 (sqrt (/ 1 (pow x 3))))
(/ (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))) (pow x 2))
(* -1/8 (sqrt (/ 1 x)))
(/ (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))) x)
(sqrt x)
x
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(* 1/2 x)
(* 1/2 (sqrt (/ 1 x)))
(* 1/2 (sqrt x))
(/ 1 (+ 1 (sqrt x)))
(+ (* -1/2 (/ x (pow (+ 1 (sqrt x)) 2))) (/ 1 (+ 1 (sqrt x))))
(+ (* x (- (* x (+ (* 1/8 (/ 1 (pow (+ 1 (sqrt x)) 2))) (* 1/4 (/ 1 (pow (+ 1 (sqrt x)) 3))))) (* 1/2 (/ 1 (pow (+ 1 (sqrt x)) 2))))) (/ 1 (+ 1 (sqrt x))))
(+ (* x (- (* x (+ (* -1 (* x (+ (* 1/16 (/ 1 (pow (+ 1 (sqrt x)) 2))) (+ (* 1/16 (/ 1 (pow (+ 1 (sqrt x)) 3))) (* 1/2 (/ (+ (* 1/8 (/ 1 (pow (+ 1 (sqrt x)) 2))) (* 1/4 (/ 1 (pow (+ 1 (sqrt x)) 3)))) (+ 1 (sqrt x)))))))) (+ (* 1/8 (/ 1 (pow (+ 1 (sqrt x)) 2))) (* 1/4 (/ 1 (pow (+ 1 (sqrt x)) 3)))))) (* 1/2 (/ 1 (pow (+ 1 (sqrt x)) 2))))) (/ 1 (+ 1 (sqrt x))))
(+ 1 x)
(+ 1 (sqrt x))
(+ 1 (+ (sqrt x) (* 1/2 x)))
(+ 1 (+ (sqrt x) (* x (+ 1/2 (* -1/8 x)))))
(+ 1 (+ (sqrt x) (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))))
(/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) x)
(+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 1 x))))
(* x (+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 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 (+ 1/2 (/ 1 x)))
(/ (- (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))) (* 1/8 (sqrt (/ 1 x)))) x)
(/ (- (+ (* -1 (/ (+ (* 1/128 (sqrt (pow x 7))) (* 1/32 (sqrt (pow x 7)))) (pow x 6))) (* 1/2 (sqrt x))) (+ (* -1/16 (sqrt (/ 1 (pow x 3)))) (* 1/8 (sqrt (/ 1 x))))) x)
(* x (+ 1 (/ 1 x)))
(* 2 (sqrt x))
(* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* 2 (sqrt (/ 1 x)))))
(* x (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* 2 (sqrt (/ 1 x))))))
(* x (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* 2 (sqrt (/ 1 x)))))))
(* -1/2 (sqrt (/ 1 x)))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x)))) x))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* -5/128 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 6)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x))))) x))
(* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))
(+ (* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))) (* -1/8 (sqrt (/ 1 (pow x 3)))))
(* -1/2 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (+ (* 1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* (sqrt 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)))))))
(+ (* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))) (* -1/8 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))))
(* -1 (* x (+ (* 1/8 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* 1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (/ (- (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x))) (* 1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2))))) x))
(* -1 (/ (- (+ (* -1 (/ (+ (* 1/128 (* (sqrt (pow x 7)) (/ 1 (pow (sqrt -1) 6)))) (* 1/32 (* (sqrt (pow x 7)) (/ 1 (pow (sqrt -1) 6))))) (pow x 6))) (* 1/2 (sqrt x))) (+ (* -1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))))) x))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* 2 (* (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)))) (* 2 (* (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)))) (* 2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))))
Outputs
(- 1 (sqrt x))
(-.f64 #s(literal 1 binary64) (sqrt.f64 x))
(- (+ 1 (* 1/2 x)) (sqrt x))
(fma.f64 #s(literal 1/2 binary64) x (-.f64 #s(literal 1 binary64) (sqrt.f64 x)))
(- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))
(fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x (-.f64 #s(literal 1 binary64) (sqrt.f64 x)))
(- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))
(fma.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(literal 1 binary64) (sqrt.f64 x)))
(* -1/8 (sqrt (/ 1 (pow x 3))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/8 binary64))
(/ (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))) (pow x 2))
(/.f64 (fma.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) #s(literal 1/2 binary64) (*.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) (*.f64 x x))
(* -1/8 (sqrt (/ 1 x)))
(*.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(/ (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))) x)
(/.f64 (fma.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) #s(literal 1/2 binary64) (*.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x)
(sqrt x)
(sqrt.f64 x)
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))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 (sqrt (/ 1 x)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64))
(* 1/2 (sqrt x))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
(/ 1 (+ 1 (sqrt x)))
(/.f64 #s(literal 1 binary64) (-.f64 (sqrt.f64 x) #s(literal -1 binary64)))
(+ (* -1/2 (/ x (pow (+ 1 (sqrt x)) 2))) (/ 1 (+ 1 (sqrt x))))
(/.f64 (+.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) x) (-.f64 (sqrt.f64 x) #s(literal -1 binary64))) #s(literal 1 binary64)) (-.f64 (sqrt.f64 x) #s(literal -1 binary64)))
(+ (* x (- (* x (+ (* 1/8 (/ 1 (pow (+ 1 (sqrt x)) 2))) (* 1/4 (/ 1 (pow (+ 1 (sqrt x)) 3))))) (* 1/2 (/ 1 (pow (+ 1 (sqrt x)) 2))))) (/ 1 (+ 1 (sqrt x))))
(fma.f64 (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 (sqrt.f64 x) #s(literal -1 binary64))) #s(literal 1/8 binary64)) (pow.f64 (-.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal 2 binary64))) x (/.f64 #s(literal -1/2 binary64) (pow.f64 (-.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal 2 binary64)))) x (/.f64 #s(literal 1 binary64) (-.f64 (sqrt.f64 x) #s(literal -1 binary64))))
(+ (* x (- (* x (+ (* -1 (* x (+ (* 1/16 (/ 1 (pow (+ 1 (sqrt x)) 2))) (+ (* 1/16 (/ 1 (pow (+ 1 (sqrt x)) 3))) (* 1/2 (/ (+ (* 1/8 (/ 1 (pow (+ 1 (sqrt x)) 2))) (* 1/4 (/ 1 (pow (+ 1 (sqrt x)) 3)))) (+ 1 (sqrt x)))))))) (+ (* 1/8 (/ 1 (pow (+ 1 (sqrt x)) 2))) (* 1/4 (/ 1 (pow (+ 1 (sqrt x)) 3)))))) (* 1/2 (/ 1 (pow (+ 1 (sqrt x)) 2))))) (/ 1 (+ 1 (sqrt x))))
(fma.f64 (fma.f64 (fma.f64 (neg.f64 x) (fma.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (-.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal 4 binary64))) (/.f64 #s(literal 1/8 binary64) (pow.f64 (-.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal 3 binary64)))) #s(literal 1/2 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) (-.f64 (sqrt.f64 x) #s(literal -1 binary64))) #s(literal 1/16 binary64)) (pow.f64 (-.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal 2 binary64)))) (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 (sqrt.f64 x) #s(literal -1 binary64))) #s(literal 1/8 binary64)) (pow.f64 (-.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal 2 binary64)))) x (/.f64 #s(literal -1/2 binary64) (pow.f64 (-.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal 2 binary64)))) x (/.f64 #s(literal 1 binary64) (-.f64 (sqrt.f64 x) #s(literal -1 binary64))))
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(+ 1 (sqrt x))
(-.f64 (sqrt.f64 x) #s(literal -1 binary64))
(+ 1 (+ (sqrt x) (* 1/2 x)))
(fma.f64 #s(literal 1/2 binary64) x (-.f64 (sqrt.f64 x) #s(literal -1 binary64)))
(+ 1 (+ (sqrt x) (* x (+ 1/2 (* -1/8 x)))))
(fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x (-.f64 (sqrt.f64 x) #s(literal -1 binary64)))
(+ 1 (+ (sqrt x) (* 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 (-.f64 (sqrt.f64 x) #s(literal -1 binary64)))
(/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)
(/.f64 (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/16 binary64) (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) x)
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -5/128 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/16 binary64) (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) x)
(+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 1 x))))
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64)))
(* x (+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 1 x)))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 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 5 binary64)))) #s(literal -1/8 binary64) (*.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 (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(/ (- (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))) (* 1/8 (sqrt (/ 1 x)))) x)
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/16 binary64) (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x)
(/ (- (+ (* -1 (/ (+ (* 1/128 (sqrt (pow x 7))) (* 1/32 (sqrt (pow x 7)))) (pow x 6))) (* 1/2 (sqrt x))) (+ (* -1/16 (sqrt (/ 1 (pow x 3)))) (* 1/8 (sqrt (/ 1 x))))) x)
(/.f64 (fma.f64 (sqrt.f64 (pow.f64 x #s(literal 7 binary64))) (neg.f64 (/.f64 #s(literal 5/128 binary64) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/16 binary64) (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) x)
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(* 2 (sqrt x))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* 2 (sqrt (/ 1 x)))))
(*.f64 (fma.f64 #s(literal 2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64))) x)
(* x (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* 2 (sqrt (/ 1 x))))))
(*.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 2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64)))) x)
(* x (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* 2 (sqrt (/ 1 x)))))))
(*.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 #s(literal 2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/2 binary64))))) x)
(* -1/2 (sqrt (/ 1 x)))
(*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x))) x)
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x)))) x))
(/.f64 (fma.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))) x)
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* -5/128 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 6)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x))))) x))
(/.f64 (fma.f64 #s(literal 5/128 binary64) (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 6 binary64))) (fma.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x))))) x)
(* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64))
(+ (* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))) (* -1/8 (sqrt (/ 1 (pow x 3)))))
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64)))
(* -1/2 (* (sqrt x) (pow (sqrt -1) 2)))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
(* -1 (* x (+ (* 1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (* (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/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64))) x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(*.f64 (sqrt.f64 x) #s(literal 1 binary64))
(* -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 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -1/8 binary64) (fma.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 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/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))) (* -1/8 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))))
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64)))
(* -1 (* x (+ (* 1/8 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* 1/2 (* (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/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64))) x)
(* -1 (/ (- (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x))) (* 1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2))))) x))
(/.f64 (fma.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))) x)
(* -1 (/ (- (+ (* -1 (/ (+ (* 1/128 (* (sqrt (pow x 7)) (/ 1 (pow (sqrt -1) 6)))) (* 1/32 (* (sqrt (pow x 7)) (/ 1 (pow (sqrt -1) 6))))) (pow x 6))) (* 1/2 (sqrt x))) (+ (* -1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))))) x))
(/.f64 (fma.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sqrt.f64 (pow.f64 x #s(literal 7 binary64))) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 6 binary64))) (/.f64 #s(literal 5/128 binary64) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x))))) x)
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* 2 (* (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)))) (*.f64 #s(literal 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)))) (* 2 (* (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)))) (*.f64 #s(literal 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/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* 2 (* (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/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (fma.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (*.f64 #s(literal 2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))))) x)

rewrite69.0ms (1.9%)

Memory
-0.0MiB live, 90.4MiB allocated; 10ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036201
052201
1202186
01502183
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
24 → 152
Calls
Call 1
Inputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x))
(/.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x)
(fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))
(sqrt.f64 x)
x
#s(literal 1/2 binary64)
(/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))
#s(literal -1/8 binary64)
(-.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x))
#s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(/.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x))
(/.f64 #s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x)
#s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
(/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x) (+.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(-.f64 (-.f64 x #s(literal -1 binary64)) x)
(-.f64 x #s(literal -1 binary64))
#s(literal -1 binary64)
(+.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
Outputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 x) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) x) (/.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) x)) (*.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))))) (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) x) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) x) #s(literal 3 binary64)) (pow.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) x) (/.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) x) (-.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) x) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64)))))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 x) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))))) (neg.f64 (neg.f64 x)))
(/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) x (*.f64 x (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))) (*.f64 x x))
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) x) (/.f64 #s(literal 1/64 binary64) x)) (*.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal 1/8 binary64) (/.f64 #s(literal -1/512 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (*.f64 (-.f64 (fma.f64 #s(literal 1/4 binary64) x (/.f64 #s(literal 1/64 binary64) x)) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x))) x))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 x) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))) (neg.f64 x))
(/.f64 (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 x) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x)
(neg.f64 (/.f64 (neg.f64 (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 x) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))) x))
(neg.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 x) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) (neg.f64 x)))
(fma.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 x) x) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))))
(fma.f64 (sqrt.f64 x) (/.f64 #s(literal 1/2 binary64) x) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))))
(+.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (/.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) x))
(+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) x) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))))
(/.f64 (-.f64 (/.f64 #s(literal -1/512 binary64) (pow.f64 x #s(literal 3/2 binary64))) (pow.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)) #s(literal 3 binary64))) (+.f64 (/.f64 #s(literal 1/64 binary64) x) (fma.f64 #s(literal 1/4 binary64) x (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x))))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) x) (/.f64 #s(literal 1/64 binary64) x))) (neg.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal 1/8 binary64) (/.f64 #s(literal -1/512 binary64) (pow.f64 x #s(literal 3/2 binary64))))) (neg.f64 (-.f64 (fma.f64 #s(literal 1/4 binary64) x (/.f64 #s(literal 1/64 binary64) x)) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal 1/8 binary64) (/.f64 #s(literal -1/512 binary64) (pow.f64 x #s(literal 3/2 binary64))))) (neg.f64 (+.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) x) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x))) (/.f64 #s(literal 1/64 binary64) x))))
(/.f64 (neg.f64 (-.f64 (/.f64 #s(literal 1/64 binary64) x) (*.f64 #s(literal 1/4 binary64) x))) (neg.f64 (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))))
(/.f64 (-.f64 (/.f64 #s(literal 1/64 binary64) x) (*.f64 #s(literal 1/4 binary64) x)) (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x))))
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) x) (/.f64 #s(literal 1/64 binary64) x)) (-.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal 1/8 binary64) (/.f64 #s(literal -1/512 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (+.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) x) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x))) (/.f64 #s(literal 1/64 binary64) x)))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal 1/8 binary64) (/.f64 #s(literal -1/512 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (-.f64 (fma.f64 #s(literal 1/4 binary64) x (/.f64 #s(literal 1/64 binary64) x)) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x))))
(fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(fma.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal -1/2 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(fma.f64 #s(literal 1/2 binary64) (sqrt.f64 x) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))
(fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))
(-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) x) (-.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))) (/.f64 (/.f64 #s(literal 1/64 binary64) x) (-.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))))
(-.f64 (/.f64 (/.f64 #s(literal 1/64 binary64) x) (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))) (/.f64 (*.f64 #s(literal 1/4 binary64) x) (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))))
(-.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) (*.f64 (neg.f64 (pow.f64 x #s(literal -1/2 binary64))) #s(literal -1/8 binary64)))
(-.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal -1/2 binary64))))
(-.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) (*.f64 (neg.f64 (sqrt.f64 x)) #s(literal 1/2 binary64)))
(-.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))
(+.f64 (/.f64 (*.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal 1/8 binary64)) (-.f64 (fma.f64 #s(literal 1/4 binary64) x (/.f64 #s(literal 1/64 binary64) x)) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x)))) (/.f64 (/.f64 #s(literal -1/512 binary64) (pow.f64 x #s(literal 3/2 binary64))) (-.f64 (fma.f64 #s(literal 1/4 binary64) x (/.f64 #s(literal 1/64 binary64) x)) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x)))))
(+.f64 (/.f64 (/.f64 #s(literal -1/512 binary64) (pow.f64 x #s(literal 3/2 binary64))) (+.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) x) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x))) (/.f64 #s(literal 1/64 binary64) x))) (/.f64 (*.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal 1/8 binary64)) (+.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) x) (*.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (sqrt.f64 x))) (/.f64 #s(literal 1/64 binary64) x))))
(+.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))
(+.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(pow.f64 x #s(literal 1/2 binary64))
(sqrt.f64 x)
(exp.f64 (*.f64 (log.f64 x) #s(literal 1/2 binary64)))
x
#s(literal 1/2 binary64)
(*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64))
(*.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal -1/2 binary64)))
(/.f64 #s(literal 1/8 binary64) (neg.f64 (sqrt.f64 x)))
(/.f64 #s(literal -1/8 binary64) (neg.f64 (neg.f64 (sqrt.f64 x))))
(/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))
(neg.f64 (/.f64 #s(literal 1/8 binary64) (sqrt.f64 x)))
(neg.f64 (/.f64 #s(literal -1/8 binary64) (neg.f64 (sqrt.f64 x))))
#s(literal -1/8 binary64)
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) #s(literal 2 binary64)) x)) (neg.f64 (+.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) #s(literal 3 binary64)) (pow.f64 x #s(literal 3/2 binary64)))) (neg.f64 (+.f64 (fma.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x) x) (pow.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) #s(literal 2 binary64)) x) (+.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x)))
(/.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) #s(literal 3 binary64)) (pow.f64 x #s(literal 3/2 binary64))) (+.f64 (fma.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x) x) (pow.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) #s(literal 2 binary64)) (+.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x))) (/.f64 x (+.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x))))
(-.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) #s(literal 3 binary64)) (+.f64 (fma.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x) x) (pow.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (+.f64 (fma.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x) x) (pow.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) #s(literal 2 binary64)))))
(-.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x))
#s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal -1 binary64)) #s(literal -1 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 x #s(literal 1/2 binary64))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(/.f64 #s(literal -1/2 binary64) (neg.f64 (sqrt.f64 x)))
(/.f64 #s(literal 1/2 binary64) (neg.f64 (neg.f64 (sqrt.f64 x))))
(/.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
(neg.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))
(neg.f64 (/.f64 #s(literal 1/2 binary64) (neg.f64 (sqrt.f64 x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x))
(/.f64 (neg.f64 (neg.f64 #s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) (neg.f64 (neg.f64 x)))
(/.f64 (neg.f64 #s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) (neg.f64 x))
(/.f64 #s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x)
(neg.f64 (/.f64 (neg.f64 #s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x))
(neg.f64 (/.f64 #s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) (neg.f64 x)))
#s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) #s(literal 1/2 binary64))
(*.f64 (/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x) (-.f64 x (-.f64 x #s(literal -1 binary64)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(*.f64 (/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x) (fma.f64 (sqrt.f64 x) x (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)))) (-.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x) (sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) x))))
(/.f64 (-.f64 (*.f64 (/.f64 (-.f64 x #s(literal -1 binary64)) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))) (/.f64 (-.f64 x #s(literal -1 binary64)) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x)))) (*.f64 (/.f64 x (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))) (/.f64 x (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))))) (+.f64 (/.f64 (-.f64 x #s(literal -1 binary64)) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))) (/.f64 x (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (-.f64 x #s(literal -1 binary64)) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))) #s(literal 3 binary64)) (pow.f64 (/.f64 x (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))) #s(literal 3 binary64))) (fma.f64 (/.f64 (-.f64 x #s(literal -1 binary64)) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))) (/.f64 (-.f64 x #s(literal -1 binary64)) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))) (fma.f64 (/.f64 x (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))) (/.f64 x (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))) (*.f64 (/.f64 (-.f64 x #s(literal -1 binary64)) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))) (/.f64 x (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x)))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x))) (neg.f64 (neg.f64 (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)) (pow.f64 x #s(literal 3/2 binary64)))) (neg.f64 (+.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x) (sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) x)))))
(/.f64 (-.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))) (*.f64 (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x)) x)) (*.f64 (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x)) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))))
(/.f64 (-.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64)) (*.f64 x x)) (*.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))))
(/.f64 (-.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)) (pow.f64 x #s(literal 3/2 binary64))) (+.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x) (sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) x))))
(/.f64 (-.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (*.f64 (fma.f64 x (+.f64 (-.f64 x #s(literal -1 binary64)) x) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64))) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))))
(/.f64 (neg.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x)) (neg.f64 (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))))
(/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x)))
(neg.f64 (/.f64 (neg.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x)) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))))
(neg.f64 (/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x) (neg.f64 (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x)))))
(-.f64 (/.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)) (+.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x) (sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) x)))) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (+.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x) (sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) x)))))
(-.f64 (/.f64 x (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))) (/.f64 (-.f64 x #s(literal 1 binary64)) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))))
(-.f64 (/.f64 (-.f64 x #s(literal -1 binary64)) (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))) (/.f64 x (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))))
(-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))
(*.f64 (+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x)))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (-.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))) (+.f64 x (-.f64 x #s(literal 1 binary64))))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (-.f64 x #s(literal 1 binary64)) #s(literal 3 binary64))) (fma.f64 x x (fma.f64 (-.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)) (*.f64 x (-.f64 x #s(literal 1 binary64))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (+.f64 (-.f64 x #s(literal -1 binary64)) x) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64)) (*.f64 x x)) (+.f64 (-.f64 x #s(literal -1 binary64)) x))
(/.f64 (-.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (+.f64 (-.f64 x #s(literal -1 binary64)) x) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64))))
(fma.f64 (neg.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (neg.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (*.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x)))
(fma.f64 (fabs.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (fabs.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64)))) (*.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x)))
(fma.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (*.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x)))
(-.f64 (/.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64)) (+.f64 (-.f64 x #s(literal -1 binary64)) x)) (/.f64 (*.f64 x x) (+.f64 (-.f64 x #s(literal -1 binary64)) x)))
(-.f64 (/.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3 binary64)) (fma.f64 x (+.f64 (-.f64 x #s(literal -1 binary64)) x) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (+.f64 (-.f64 x #s(literal -1 binary64)) x) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 binary64)))))
(-.f64 (-.f64 x #s(literal -1 binary64)) x)
(-.f64 x (-.f64 x #s(literal 1 binary64)))
(+.f64 (-.f64 x #s(literal -1 binary64)) (*.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x)))
(*.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 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 2 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 (-.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 (fma.f64 x x #s(literal -1 binary64))) (neg.f64 (-.f64 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 (-.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 (-.f64 #s(literal 1 binary64) x))) (/.f64 #s(literal -1 binary64) (fma.f64 x x (-.f64 #s(literal 1 binary64) x))))
(-.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))
#s(literal -1 binary64)
(/.f64 (neg.f64 (-.f64 x (-.f64 x #s(literal -1 binary64)))) (neg.f64 (-.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(/.f64 (neg.f64 (fma.f64 (sqrt.f64 x) x (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)))) (neg.f64 (-.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x) (sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) x)))))
(/.f64 (-.f64 x (-.f64 x #s(literal -1 binary64))) (-.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
(/.f64 (fma.f64 (sqrt.f64 x) x (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64))) (+.f64 (-.f64 x #s(literal -1 binary64)) (-.f64 x (sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) x)))))
(/.f64 (fma.f64 (sqrt.f64 x) x (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64))) (-.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x) (sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) x))))
(/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x) (-.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x)))
(fma.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 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)) (sqrt.f64 x))
(-.f64 (/.f64 x (-.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))) (/.f64 (-.f64 x #s(literal -1 binary64)) (-.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (-.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x) (sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) x)))) (/.f64 (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 3/2 binary64)) (-.f64 (+.f64 (-.f64 x #s(literal -1 binary64)) x) (sqrt.f64 (*.f64 (-.f64 x #s(literal -1 binary64)) x)))))
(+.f64 (sqrt.f64 (-.f64 x #s(literal -1 binary64))) (sqrt.f64 x))
(+.f64 (sqrt.f64 x) (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)))
(pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal 1/2 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 (fma.f64 x x #s(literal -1 binary64))) (sqrt.f64 (-.f64 x #s(literal 1 binary64))))
(sqrt.f64 (-.f64 x #s(literal -1 binary64)))
(exp.f64 (*.f64 (log1p.f64 x) #s(literal 1/2 binary64)))

eval30.0ms (0.8%)

Memory
13.7MiB live, 58.8MiB allocated; 5ms collecting garbage
Compiler

Compiled 6 657 to 919 computations (86.2% saved)

prune18.0ms (0.5%)

Memory
-16.2MiB live, 37.5MiB allocated; 8ms collecting garbage
Pruning

10 alts after pruning (1 fresh and 9 done)

PrunedKeptTotal
New2740274
Fresh011
Picked055
Done044
Total27410284
Accuracy
100.0%
Counts
284 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
10.9%
(/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x) (+.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
7.1%
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
4.6%
(-.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x))
4.5%
(-.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x))
1.6%
(-.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x))
98.8%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 x) x) (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x)))
98.8%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x))
97.7%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x))
97.6%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
97.8%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64)))
Compiler

Compiled 148 to 113 computations (23.6% saved)

series5.0ms (0.1%)

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

3 calls:

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

simplify83.0ms (2.2%)

Memory
23.8MiB live, 69.4MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
091307
1237280
2763267
03244246
Stop Event
iter limit
iter limit
node limit
Counts
23 → 22
Calls
Call 1
Inputs
(- 1 (sqrt x))
(- (+ 1 (* 1/2 x)) (sqrt x))
(- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))
(- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))
(* -1/8 (sqrt (/ 1 (pow x 3))))
(/ (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))) (pow x 2))
(sqrt (/ 1 x))
(sqrt x)
x
(* -1/8 (sqrt (/ 1 x)))
(* 1/2 (sqrt (/ 1 x)))
(/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) x)
(+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 1 x))))
(* -1/2 (sqrt (/ 1 x)))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x)))) x))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* -5/128 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 6)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x))))) x))
(* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))
(+ (* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))) (* -1/8 (sqrt (/ 1 (pow x 3)))))
(* -1 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
Outputs
(- 1 (sqrt x))
(-.f64 #s(literal 1 binary64) (sqrt.f64 x))
(- (+ 1 (* 1/2 x)) (sqrt x))
(fma.f64 #s(literal 1/2 binary64) x (-.f64 #s(literal 1 binary64) (sqrt.f64 x)))
(- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))
(fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x (-.f64 #s(literal 1 binary64) (sqrt.f64 x)))
(- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))
(fma.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(literal 1 binary64) (sqrt.f64 x)))
(* -1/8 (sqrt (/ 1 (pow x 3))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/8 binary64))
(/ (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))) (pow x 2))
(/.f64 (fma.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))) #s(literal 1/2 binary64) (*.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) (*.f64 x x))
(sqrt (/ 1 x))
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
(sqrt x)
(sqrt.f64 x)
x
(* -1/8 (sqrt (/ 1 x)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64))
(* 1/2 (sqrt (/ 1 x)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64))
(/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x)
(/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) x)
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) #s(literal -5/128 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) x)
(+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 1 x))))
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/8 binary64)))
(* -1/2 (sqrt (/ 1 x)))
(*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))
(/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x))) x)
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x)))) x))
(/.f64 (fma.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))) x)
(* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (+ (* -5/128 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 6)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (/ 1 (pow (sqrt -1) 4)))) (* 1/2 (sqrt x))))) x))
(/.f64 (fma.f64 #s(literal 5/128 binary64) (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 6 binary64))) (fma.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal -1/8 binary64) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x))))) x)
(* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64))
(+ (* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))) (* -1/8 (sqrt (/ 1 (pow x 3)))))
(fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) #s(literal -1/8 binary64)))
(* -1 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) x))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)

rewrite57.0ms (1.5%)

Memory
-10.6MiB live, 35.1MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01451
02051
17748
060546
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
9 → 47
Calls
Call 1
Inputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 x) x) (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x)))
(fma.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 x) x) (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x))
#s(literal 1/2 binary64)
(/.f64 (sqrt.f64 x) x)
(sqrt.f64 x)
x
(/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x)
(/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))
#s(literal -1/8 binary64)
Outputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x))
(/.f64 (-.f64 (/.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal 3 binary64))) (pow.f64 (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (-.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64))))
(/.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x)
(/.f64 (+.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64))) x)
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (/.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal 3 binary64))))) (neg.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (/.f64 (sqrt.f64 x) x) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (-.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) (neg.f64 x) (*.f64 x (/.f64 #s(literal 1/8 binary64) (sqrt.f64 x)))) (*.f64 x (neg.f64 x)))
(/.f64 (fma.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) x (*.f64 x (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)))) (*.f64 x x))
(/.f64 (fma.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 3/2 binary64)) (*.f64 x #s(literal -1/8 binary64))) (*.f64 x (pow.f64 x #s(literal 3/2 binary64))))
(/.f64 (fma.f64 (/.f64 #s(literal 1/8 binary64) (sqrt.f64 x)) x (*.f64 (neg.f64 x) (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)))) (*.f64 (neg.f64 x) x))
(/.f64 (fma.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x (*.f64 x (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)))) (*.f64 x x))
(/.f64 (fma.f64 #s(literal -1/8 binary64) x (*.f64 (pow.f64 x #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)))) (*.f64 (pow.f64 x #s(literal 3/2 binary64)) x))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (/.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 (-.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x))
(/.f64 (fma.f64 (pow.f64 (/.f64 (sqrt.f64 x) x) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 3 binary64))) (+.f64 (/.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal 3 binary64))) (-.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64)))))))
(/.f64 (fma.f64 (pow.f64 (/.f64 (sqrt.f64 x) x) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 3 binary64))) (fma.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (-.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(fma.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))))
(fma.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 x) x) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))))
(-.f64 (/.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x)) (/.f64 (/.f64 #s(literal 1/64 binary64) (pow.f64 x #s(literal 3 binary64))) (/.f64 (-.f64 (*.f64 (sqrt.f64 x) #s(literal 1/2 binary64)) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x)))
(-.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (*.f64 (neg.f64 (/.f64 (sqrt.f64 x) x)) #s(literal 1/2 binary64)))
(-.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (*.f64 #s(literal -1/2 binary64) (/.f64 (sqrt.f64 x) x)))
(+.f64 (/.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (-.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 3 binary64)) (fma.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (-.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))))
(+.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64))) (*.f64 (/.f64 (sqrt.f64 x) x) #s(literal 1/2 binary64)))
#s(literal 1/2 binary64)
(/.f64 (neg.f64 (neg.f64 (sqrt.f64 x))) (neg.f64 (neg.f64 x)))
(/.f64 (neg.f64 (sqrt.f64 x)) (neg.f64 x))
(/.f64 (sqrt.f64 x) x)
(neg.f64 (/.f64 (neg.f64 (sqrt.f64 x)) x))
(neg.f64 (/.f64 (sqrt.f64 x) (neg.f64 x)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(pow.f64 x #s(literal 1/2 binary64))
(sqrt.f64 x)
(exp.f64 (*.f64 (log.f64 x) #s(literal 1/2 binary64)))
x
(/.f64 (/.f64 #s(literal 1/8 binary64) (sqrt.f64 x)) (neg.f64 x))
(/.f64 #s(literal 1/8 binary64) (*.f64 (neg.f64 (sqrt.f64 x)) x))
(/.f64 #s(literal 1/8 binary64) (neg.f64 (pow.f64 x #s(literal 3/2 binary64))))
(/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) (neg.f64 (neg.f64 x)))
(/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) x)
(/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3/2 binary64)))
(neg.f64 (/.f64 (/.f64 #s(literal 1/8 binary64) (sqrt.f64 x)) x))
(neg.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x)) (neg.f64 x)))
(/.f64 #s(literal 1/8 binary64) (neg.f64 (sqrt.f64 x)))
(/.f64 #s(literal -1/8 binary64) (neg.f64 (neg.f64 (sqrt.f64 x))))
(/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))
(neg.f64 (/.f64 #s(literal 1/8 binary64) (sqrt.f64 x)))
#s(literal -1/8 binary64)

eval8.0ms (0.2%)

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

Compiled 1 859 to 286 computations (84.6% saved)

prune27.0ms (0.7%)

Memory
-33.5MiB live, 11.5MiB allocated; 4ms collecting garbage
Pruning

10 alts after pruning (1 fresh and 9 done)

PrunedKeptTotal
New73174
Fresh000
Picked101
Done099
Total741084
Accuracy
100.0%
Counts
84 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
10.9%
(/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x) (+.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64)))))
7.1%
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
4.6%
(-.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x))
4.5%
(-.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x))
1.6%
(-.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x))
98.8%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 x) x) (/.f64 #s(literal 1/8 binary64) (*.f64 (neg.f64 (sqrt.f64 x)) x))))
98.8%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x))
97.7%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(approx (+ (* (sqrt (/ 1 x)) -1/8) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x))
97.6%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
97.8%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64)))
Compiler

Compiled 348 to 180 computations (48.3% saved)

regimes8.0ms (0.2%)

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

2 calls:

4.0ms
x
3.0ms
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
Results
AccuracySegmentsBranch
98.8%1(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
98.8%1x
Compiler

Compiled 8 to 7 computations (12.5% saved)

regimes6.0ms (0.2%)

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

2 calls:

3.0ms
x
2.0ms
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
Results
AccuracySegmentsBranch
99.7%2(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
99.7%2x
Compiler

Compiled 8 to 7 computations (12.5% saved)

regimes5.0ms (0.1%)

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

2 calls:

3.0ms
x
2.0ms
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
Results
AccuracySegmentsBranch
97.8%1(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
97.8%1x
Compiler

Compiled 8 to 7 computations (12.5% saved)

regimes4.0ms (0.1%)

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

2 calls:

2.0ms
x
1.0ms
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
Results
AccuracySegmentsBranch
97.6%1(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
97.6%1x
Compiler

Compiled 8 to 7 computations (12.5% saved)

regimes487.0ms (13%)

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

2 calls:

2.0ms
x
1.0ms
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
Results
AccuracySegmentsBranch
4.6%1(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
4.6%1x
Compiler

Compiled 8 to 7 computations (12.5% saved)

regimes91.0ms (2.4%)

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

2 calls:

89.0ms
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
1.0ms
x
Results
AccuracySegmentsBranch
4.5%1x
4.5%1(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
Compiler

Compiled 8 to 7 computations (12.5% saved)

regimes2.0ms (0.1%)

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

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

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

Compiled 8 to 7 computations (12.5% saved)

bsearch14.0ms (0.4%)

Memory
-61.9MiB live, 8.9MiB allocated; 10ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
13.0ms
273427186565391.34
4320888438215040.0
Samples
11.0ms64×1valid
Compiler

Compiled 118 to 98 computations (16.9% saved)

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

simplify51.0ms (1.4%)

Memory
1.1MiB live, 46.1MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039113
152113
269113
399113
4154113
5383113
63031113
76402113
Stop Event
node limit
Calls
Call 1
Inputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x))
(if (<=.f64 x #s(literal 4000000000000000 binary64)) (/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x) (+.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))) #s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(-.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x))
(-.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x))
(-.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x))
Outputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (/.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x))
(if (<=.f64 x #s(literal 4000000000000000 binary64)) (/.f64 (-.f64 (-.f64 x #s(literal -1 binary64)) x) (+.f64 (sqrt.f64 x) (sqrt.f64 (-.f64 x #s(literal -1 binary64))))) #s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) #s(literal 1/2 binary64)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(-.f64 #s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (sqrt.f64 x))
(-.f64 #s(approx (sqrt (+ x 1)) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))) (sqrt.f64 x))
(-.f64 #s(approx (sqrt (+ x 1)) #s(literal 1 binary64)) (sqrt.f64 x))

derivations164.0ms (4.4%)

Memory
10.3MiB live, 149.8MiB allocated; 20ms collecting garbage
Stop Event
fuel
Compiler

Compiled 113 to 41 computations (63.7% saved)

preprocess35.0ms (0.9%)

Memory
26.1MiB live, 71.9MiB allocated; 4ms collecting garbage
Compiler

Compiled 250 to 104 computations (58.4% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...