Main:bigenough3 from C

Time bar (total: 1.9s)

start0.0ms (0%)

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

analyze1.0ms (0.1%)

Memory
1.5MiB live, 1.5MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
50%50%50%0%0%0%0%2
66.7%50%25%0%0%25%0%3
80%50%12.5%0%0%37.5%0%4
88.9%50%6.2%0%0%43.7%0%5
94.1%50%3.1%0%0%46.9%0%6
97%50%1.6%0%0%48.4%0%7
98.5%50%0.8%0%0%49.2%0%8
99.2%50%0.4%0%0%49.6%0%9
99.6%50%0.2%0%0%49.8%0%10
99.8%50%0.1%0%0%49.9%0%11
99.9%50%0%0%0%49.9%0%12
Compiler

Compiled 9 to 8 computations (11.1% saved)

sample1.1s (58.1%)

Memory
-13.3MiB live, 1 208.2MiB allocated; 344ms collecting garbage
Samples
544.0ms4 012×1valid
228.0ms4 244×0valid
1.0ms14×0invalid
Precisions
Click to see histograms. Total time spent on operations: 558.0ms
ival-sqrt: 241.0ms (43.2% of total)
adjust: 128.0ms (22.9% of total)
ival-add: 94.0ms (16.8% of total)
ival-sub: 85.0ms (15.2% of total)
exact: 7.0ms (1.3% of total)
ival-assert: 3.0ms (0.5% of total)
Bogosity

explain89.0ms (4.7%)

Memory
10.5MiB live, 107.8MiB allocated; 14ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1220-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))cancellation1220
Confusion
Predicted +Predicted -
+1220
-0134
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+12200
-00134
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0134
1122
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
29.0ms242×1valid
14.0ms270×0valid
Compiler

Compiled 47 to 22 computations (53.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
ival-sqrt: 11.0ms (41.4% of total)
adjust: 6.0ms (22.6% of total)
ival-add: 4.0ms (15% of total)
ival-sub: 4.0ms (15% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess222.0ms (11.8%)

Memory
-1.3MiB live, 181.5MiB allocated; 26ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01226
11626
21926
33326
47626
532124
6282024
7622324
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.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.6%
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
Compiler

Compiled 7 to 6 computations (14.3% saved)

series5.0ms (0.3%)

Memory
7.3MiB live, 7.3MiB allocated; 0ms collecting garbage
Counts
6 → 31
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
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- 1 (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* 1/2 x)) (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 1))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (+ 1 (* 1/2 x))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (+ 1 (* x (+ 1/2 (* -1/8 x))))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))))
#s(approx (+ x 1) #s(hole binary64 1))
#s(approx (+ x 1) #s(hole binary64 (+ 1 x)))
#s(approx x #s(hole binary64 x))
#s(approx (sqrt x) #s(hole binary64 (sqrt x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* 1/2 (sqrt (/ 1 x)))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) x)))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (sqrt x)))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (* 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))))))))))
#s(approx (+ x 1) #s(hole binary64 x))
#s(approx (+ x 1) #s(hole binary64 (* x (+ 1 (/ 1 x)))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -1/2 (sqrt (/ 1 x)))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -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))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -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))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (* -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))))))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (* -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)))))))))
#s(approx (sqrt x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
Calls

3 calls:

TimeVariablePointExpression
3.0ms
x
@-inf
((- (sqrt (+ x 1)) (sqrt x)) (sqrt (+ x 1)) (+ x 1) x 1 (sqrt x))
2.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))

rewrite57.0ms (3%)

Memory
10.0MiB live, 55.3MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0151679
0156575
0846543
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
37 → 46
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)
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- 1 (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* 1/2 x)) (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 1))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (+ 1 (* 1/2 x))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (+ 1 (* x (+ 1/2 (* -1/8 x))))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))))
#s(approx (+ x 1) #s(hole binary64 1))
#s(approx (+ x 1) #s(hole binary64 (+ 1 x)))
#s(approx x #s(hole binary64 x))
#s(approx (sqrt x) #s(hole binary64 (sqrt x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* 1/2 (sqrt (/ 1 x)))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) x)))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (sqrt x)))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (* 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))))))))))
#s(approx (+ x 1) #s(hole binary64 x))
#s(approx (+ x 1) #s(hole binary64 (* x (+ 1 (/ 1 x)))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -1/2 (sqrt (/ 1 x)))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -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))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -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))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (* -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))))))))
#s(approx (sqrt (+ x 1)) #s(hole binary64 (* -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)))))))))
#s(approx (sqrt x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
Outputs
(/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 (+.f64 #s(literal 1 binary64) x))) (*.f64 (sqrt.f64 x) (sqrt.f64 x))) (+.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 x)))
(/.f64 (-.f64 (pow.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 x) #s(literal 3 binary64))) (fma.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 x)))))
(-.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 x))
(pow.f64 (+.f64 #s(literal 1 binary64) x) #s(literal 1/2 binary64))
(sqrt.f64 (+.f64 #s(literal 1 binary64) x))
(/.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)) (-.f64 #s(literal 1 binary64) x))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 x x (-.f64 #s(literal 1 binary64) (*.f64 x #s(literal 1 binary64)))))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (-.f64 (*.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)
(pow.f64 x #s(literal 1/2 binary64))
(sqrt.f64 x)
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 #s(literal 1 binary64) (sqrt.f64 x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (sqrt.f64 x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 (fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (sqrt.f64 x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/16 binary64) x) #s(literal 1/8 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (sqrt.f64 x)))
#s(approx (sqrt (+ x 1)) #s(literal 1 binary64))
#s(approx (sqrt (+ x 1)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
#s(approx (sqrt (+ x 1)) (fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (sqrt (+ x 1)) (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/16 binary64) x) #s(literal 1/8 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (+ x 1) #s(literal 1 binary64))
#s(approx (+ x 1) (+.f64 #s(literal 1 binary64) x))
#s(approx x x)
#s(approx (sqrt x) (sqrt.f64 x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -5 binary64))) #s(literal -5/128 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) x))
#s(approx (sqrt (+ x 1)) (sqrt.f64 x))
#s(approx (sqrt (+ x 1)) (*.f64 (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 x))) x))
#s(approx (sqrt (+ x 1)) (*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -5 binary64))) #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/2 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 x))) x))
#s(approx (sqrt (+ x 1)) (*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -5 binary64))) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -7 binary64))) #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/2 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 x))) x))
#s(approx (+ x 1) x)
#s(approx (+ x 1) (*.f64 (+.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1 binary64)) x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (neg.f64 (/.f64 (fma.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal -1/8 binary64)) #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 x))) #s(literal -1/8 binary64) (fma.f64 (*.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 x))) #s(literal -1/8 binary64) (fma.f64 (*.f64 (sqrt.f64 (pow.f64 x #s(literal -5 binary64))) #s(literal -5/128 binary64)) #s(literal -1 binary64) (fma.f64 (*.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) x)))
#s(approx (sqrt (+ x 1)) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 x))))
#s(approx (sqrt (+ x 1)) (neg.f64 (*.f64 (fma.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (*.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/2 binary64))) x)))
#s(approx (sqrt (+ x 1)) (neg.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (pow.f64 x #s(literal -5 binary64)))) #s(literal -1/8 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (*.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/2 binary64)))) x)))
#s(approx (sqrt (+ x 1)) (neg.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (pow.f64 x #s(literal -5 binary64)))) #s(literal -1/8 binary64) (fma.f64 (*.f64 (sqrt.f64 (pow.f64 x #s(literal -7 binary64))) #s(literal 1 binary64)) #s(literal 1/16 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (*.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/2 binary64))))) x)))
#s(approx (sqrt x) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 x))))

eval5.0ms (0.3%)

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

Compiled 793 to 196 computations (75.3% saved)

prune7.0ms (0.4%)

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

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New45348
Fresh000
Picked011
Done000
Total45449
Accuracy
100.0%
Counts
49 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
54.7%
(/.f64 (-.f64 (pow.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 x) #s(literal 3 binary64))) (fma.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 x)))))
55.6%
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
49.6%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x))
50.3%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)))
Compiler

Compiled 80 to 51 computations (36.3% saved)

series4.0ms (0.2%)

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

3 calls:

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

rewrite71.0ms (3.8%)

Memory
-34.4MiB live, 62.1MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0105399
0110340
0573323
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
24 → 31
Calls
Call 1
Inputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (sqrt.f64 x))
#s(literal 1 binary64)
(sqrt.f64 x)
x
#s(literal 1/2 binary64)
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- 1 (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* 1/2 x)) (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))))
#s(approx (* (/ 1 (sqrt x)) 1/2) #s(hole binary64 (* 1/2 (sqrt (/ 1 x)))))
#s(approx (/ 1 (sqrt x)) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (sqrt x) #s(hole binary64 (sqrt x)))
#s(approx x #s(hole binary64 x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* 1/2 (sqrt (/ 1 x)))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -1/2 (sqrt (/ 1 x)))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -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))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -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))))
#s(approx (sqrt x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
Outputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(*.f64 (pow.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (pow.f64 (sqrt.f64 x) #s(literal -1 binary64)))
(/.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
(pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 x) #s(literal -1 binary64))
(/.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)))
#s(literal 1 binary64)
(pow.f64 x #s(literal 1/2 binary64))
(sqrt.f64 x)
x
#s(literal 1/2 binary64)
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 #s(literal 1 binary64) (sqrt.f64 x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (sqrt.f64 x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 (fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (sqrt.f64 x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/16 binary64) x) #s(literal 1/8 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (sqrt.f64 x)))
#s(approx (* (/ 1 (sqrt x)) 1/2) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
#s(approx (/ 1 (sqrt x)) (pow.f64 (sqrt.f64 x) #s(literal -1 binary64)))
#s(approx (sqrt x) (sqrt.f64 x))
#s(approx x x)
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (pow.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (pow.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (pow.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -5 binary64))) #s(literal -5/128 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 #s(literal -1/2 binary64) (pow.f64 (sqrt.f64 x) #s(literal -1 binary64))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1 binary64) (pow.f64 (sqrt.f64 x) #s(literal -1 binary64))) #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1 binary64) (pow.f64 (sqrt.f64 x) #s(literal -1 binary64))) #s(literal -1/8 binary64) (fma.f64 (*.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1 binary64) (pow.f64 (sqrt.f64 x) #s(literal -1 binary64))) #s(literal -1/8 binary64) (fma.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (pow.f64 x #s(literal -5 binary64)))) #s(literal -5/128 binary64) (fma.f64 (*.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) x)))
#s(approx (sqrt x) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 x))))

eval3.0ms (0.2%)

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

Compiled 538 to 115 computations (78.6% saved)

prune6.0ms (0.3%)

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

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New28230
Fresh112
Picked011
Done011
Total29534
Accuracy
100.0%
Counts
34 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
54.7%
(/.f64 (-.f64 (pow.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 x) #s(literal 3 binary64))) (fma.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 x)))))
55.6%
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
49.6%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (pow.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x))
50.3%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
50.3%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)))
Compiler

Compiled 95 to 63 computations (33.7% saved)

series3.0ms (0.2%)

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

3 calls:

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

rewrite35.0ms (1.9%)

Memory
-8.0MiB live, 38.0MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0107429
0111352
0584335
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
25 → 35
Calls
Call 1
Inputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64))
(pow.f64 x #s(literal -1 binary64))
x
#s(literal -1 binary64)
#s(literal 1/2 binary64)
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- 1 (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* 1/2 x)) (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))))
#s(approx (* (pow (pow x -1) 1/2) 1/2) #s(hole binary64 (* 1/2 (sqrt (/ 1 x)))))
#s(approx (pow (pow x -1) 1/2) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (pow x -1) #s(hole binary64 (/ 1 x)))
#s(approx x #s(hole binary64 x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* 1/2 (sqrt (/ 1 x)))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -1/2 (sqrt (/ 1 x)))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -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))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -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))))
#s(approx (* (pow (pow x -1) 1/2) 1/2) #s(hole binary64 (* 1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
#s(approx (pow (pow x -1) 1/2) #s(hole binary64 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))
Outputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #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) (pow.f64 x #s(literal -1/2 binary64)))
(*.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)))
(pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64))
(pow.f64 x #s(literal -1/2 binary64))
(/.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)))
(pow.f64 x #s(literal -1 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 x))
(/.f64 #s(literal 1 binary64) x)
(exp.f64 (*.f64 (log.f64 x) #s(literal -1 binary64)))
x
#s(literal -1 binary64)
#s(literal 1/2 binary64)
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 #s(literal 1 binary64) (sqrt.f64 x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (sqrt.f64 x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 (fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (sqrt.f64 x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/16 binary64) x) #s(literal 1/8 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (sqrt.f64 x)))
#s(approx (* (pow (pow x -1) 1/2) 1/2) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1/2 binary64)))
#s(approx (pow (pow x -1) 1/2) (pow.f64 x #s(literal -1/2 binary64)))
#s(approx (pow x -1) (pow.f64 x #s(literal -1 binary64)))
#s(approx x x)
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1/2 binary64)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.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))) x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -5 binary64))) #s(literal -5/128 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 #s(literal -1/2 binary64) (pow.f64 x #s(literal -1/2 binary64))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (neg.f64 (/.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64)) #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (neg.f64 (/.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1 binary64)) #s(literal -1/8 binary64) (fma.f64 (*.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (neg.f64 (/.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1 binary64)) #s(literal -1/8 binary64) (fma.f64 (*.f64 (sqrt.f64 (pow.f64 x #s(literal -5 binary64))) #s(literal -1 binary64)) #s(literal -5/128 binary64) (fma.f64 (*.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) x)))
#s(approx (* (pow (pow x -1) 1/2) 1/2) (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
#s(approx (pow (pow x -1) 1/2) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1 binary64)))

eval4.0ms (0.2%)

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

Compiled 640 to 137 computations (78.6% saved)

prune7.0ms (0.3%)

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

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New35035
Fresh022
Picked011
Done022
Total35540
Accuracy
100.0%
Counts
40 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
54.7%
(/.f64 (-.f64 (pow.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 x) #s(literal 3 binary64))) (fma.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 x)))))
55.6%
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
49.6%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (pow.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x))
50.3%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
50.3%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)))
Compiler

Compiled 95 to 63 computations (33.7% saved)

series14.0ms (0.8%)

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

3 calls:

TimeVariablePointExpression
10.0ms
x
@-inf
((- (sqrt (+ x 1)) (sqrt x)) (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) (pow (sqrt x) -1) (sqrt x) x -1 -1/8 (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) (sqrt (pow x -3)) (pow x -3) -3 1/16 (* 1/2 (sqrt x)) 1/2)
2.0ms
x
@0
((- (sqrt (+ x 1)) (sqrt x)) (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) (pow (sqrt x) -1) (sqrt x) x -1 -1/8 (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) (sqrt (pow x -3)) (pow x -3) -3 1/16 (* 1/2 (sqrt x)) 1/2)
2.0ms
x
@inf
((- (sqrt (+ x 1)) (sqrt x)) (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) (pow (sqrt x) -1) (sqrt x) x -1 -1/8 (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) (sqrt (pow x -3)) (pow x -3) -3 1/16 (* 1/2 (sqrt x)) 1/2)

rewrite63.0ms (3.4%)

Memory
17.8MiB live, 65.2MiB allocated; 15ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02011305
02191074
010651039
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
60 → 92
Calls
Call 1
Inputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (pow.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x))
(/.f64 (fma.f64 (pow.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x)
(fma.f64 (pow.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))
(pow.f64 (sqrt.f64 x) #s(literal -1 binary64))
(sqrt.f64 x)
x
#s(literal -1 binary64)
#s(literal -1/8 binary64)
(fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(sqrt.f64 (pow.f64 x #s(literal -3 binary64)))
(pow.f64 x #s(literal -3 binary64))
#s(literal -3 binary64)
#s(literal 1/16 binary64)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
#s(literal 1/2 binary64)
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- 1 (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* 1/2 x)) (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* x (+ 1/2 (* -1/8 x)))) (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (- (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8))))) (sqrt x))))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) #s(hole binary64 (* 1/16 (sqrt (/ 1 (pow x 5))))))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) #s(hole binary64 (/ (+ (* -1/8 (sqrt (pow x 3))) (* 1/16 (sqrt x))) (pow x 3))))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) #s(hole binary64 (/ (+ (* 1/16 (sqrt x)) (* x (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))))) (pow x 3))))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) #s(hole binary64 (* 1/16 (sqrt (/ 1 (pow x 3))))))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) #s(hole binary64 (/ (+ (* -1/8 (sqrt (pow x 3))) (* 1/16 (sqrt x))) (pow x 2))))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) #s(hole binary64 (/ (+ (* 1/16 (sqrt x)) (* x (+ (* -1/8 (sqrt x)) (* 1/2 (sqrt (pow x 3)))))) (pow x 2))))
#s(approx (pow (sqrt x) -1) #s(hole binary64 (sqrt (/ 1 x))))
#s(approx (sqrt x) #s(hole binary64 (sqrt x)))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) #s(hole binary64 (* 1/16 (sqrt (/ 1 (pow x 3))))))
#s(approx (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) #s(hole binary64 (/ (+ (* 1/16 (sqrt x)) (* 1/2 (sqrt (pow x 5)))) (pow x 2))))
#s(approx (sqrt (pow x -3)) #s(hole binary64 (sqrt (/ 1 (pow x 3)))))
#s(approx (pow x -3) #s(hole binary64 (/ 1 (pow x 3))))
#s(approx (* 1/2 (sqrt x)) #s(hole binary64 (* 1/2 (sqrt x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* 1/2 (sqrt (/ 1 x)))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (* 1/2 (sqrt x))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x)))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (/ (+ (* -1/8 (sqrt (/ 1 x))) (+ (* -5/128 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt x))))) x)))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) #s(hole binary64 (* 1/2 (sqrt (/ 1 x)))))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) #s(hole binary64 (+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 1 x))))))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) #s(hole binary64 (+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (+ (* 1/16 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 x)))))))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) #s(hole binary64 (* 1/2 (sqrt x))))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) #s(hole binary64 (* x (+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (sqrt (/ 1 x)))))))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) #s(hole binary64 (* x (+ (* -1/8 (sqrt (/ 1 (pow x 3)))) (+ (* 1/16 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 x))))))))
#s(approx (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) #s(hole binary64 (* 1/2 (sqrt x))))
#s(approx (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) #s(hole binary64 (* x (+ (* 1/16 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 x)))))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -1/2 (sqrt (/ 1 x)))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 x)) (/ 1 (pow (sqrt -1) 2)))) (* 1/2 (sqrt x))) x))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -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))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) #s(hole binary64 (* -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))))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) #s(hole binary64 (* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) #s(hole binary64 (+ (* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))) (* -1/8 (sqrt (/ 1 (pow x 3)))))))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) #s(hole binary64 (+ (* -1 (/ (+ (* 1/16 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* 1/8 (sqrt (/ 1 x)))) x)) (* -1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) #s(hole binary64 (* -1/2 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) #s(hole binary64 (* -1 (* x (+ (* 1/8 (sqrt (/ 1 (pow x 3)))) (* 1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) #s(hole binary64 (* -1 (* x (+ (* -1 (/ (+ (* -1/8 (sqrt (/ 1 x))) (* -1/16 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2)))) x)) (* 1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))))
#s(approx (sqrt x) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) #s(hole binary64 (* -1/2 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) #s(hole binary64 (* -1 (* x (+ (* 1/16 (* (sqrt (/ 1 (pow x 5))) (pow (sqrt -1) 2))) (* 1/2 (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))))
#s(approx (sqrt (pow x -3)) #s(hole binary64 (* -1 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2)))))
#s(approx (* 1/2 (sqrt x)) #s(hole binary64 (* -1/2 (* (sqrt x) (pow (sqrt -1) 2)))))
Outputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) (neg.f64 x))
(/.f64 (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x)
(+.f64 (/.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64)) x) (/.f64 (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64)) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64))) (*.f64 (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) (-.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64)) (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64)) #s(literal 3 binary64)) (pow.f64 (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) #s(literal 3 binary64))) (fma.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64)) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64)) (-.f64 (*.f64 (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64)) (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))))))
(fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 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)) (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))
(+.f64 (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(+.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64)) (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))
(+.f64 (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64)))
(*.f64 (pow.f64 (sqrt.f64 x) #s(literal -1/2 binary64)) (pow.f64 (sqrt.f64 x) #s(literal -1/2 binary64)))
(pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 x) #s(literal -1 binary64))
(pow.f64 x #s(literal -1/2 binary64))
(/.f64 #s(literal 1 binary64) (sqrt.f64 x))
(sqrt.f64 (pow.f64 x #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 x)) #s(literal -1 binary64)))
(pow.f64 x #s(literal 1/2 binary64))
(sqrt.f64 x)
x
#s(literal -1 binary64)
#s(literal -1/8 binary64)
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64)) (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) (-.f64 (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))
(/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) #s(literal 3 binary64))) (fma.f64 (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64)) (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64)) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) (*.f64 (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))))
(fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(fma.f64 #s(literal 1/2 binary64) (sqrt.f64 x) (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64)))
(fma.f64 #s(literal 1/16 binary64) (pow.f64 x #s(literal -3/2 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(fma.f64 (sqrt.f64 x) #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64)))
(-.f64 (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64)) (*.f64 #s(literal -1/2 binary64) (sqrt.f64 x)))
(+.f64 (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
(+.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)) (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64)))
(pow.f64 (pow.f64 x #s(literal -3 binary64)) #s(literal 1/2 binary64))
(pow.f64 x #s(literal -3/2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3/2 binary64)))
(sqrt.f64 (pow.f64 x #s(literal -3 binary64)))
(*.f64 (pow.f64 x #s(literal -3/2 binary64)) (pow.f64 x #s(literal -3/2 binary64)))
(pow.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1 binary64))
(pow.f64 x #s(literal -3 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 x #s(literal 3 binary64))))
(/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))
(exp.f64 (*.f64 (log.f64 x) #s(literal -3 binary64)))
#s(literal -3 binary64)
#s(literal 1/16 binary64)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 #s(literal 1 binary64) (sqrt.f64 x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (sqrt.f64 x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 (fma.f64 (fma.f64 #s(literal -1/8 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (sqrt.f64 x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (-.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/16 binary64) x) #s(literal 1/8 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (sqrt.f64 x)))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) (*.f64 (sqrt.f64 (pow.f64 x #s(literal -5 binary64))) #s(literal 1/16 binary64)))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) (/.f64 (fma.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/16 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 3 binary64))))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) (/.f64 (fma.f64 (fma.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal 1/2 binary64) (*.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x (*.f64 #s(literal 1/16 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 3 binary64))))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64)))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) (/.f64 (fma.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal -1/8 binary64) (*.f64 #s(literal 1/16 binary64) (sqrt.f64 x))) (*.f64 x x)))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) (/.f64 (fma.f64 (fma.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal 1/2 binary64) (*.f64 #s(literal -1/8 binary64) (sqrt.f64 x))) x (*.f64 #s(literal 1/16 binary64) (sqrt.f64 x))) (*.f64 x x)))
#s(approx (pow (sqrt x) -1) (pow.f64 x #s(literal -1/2 binary64)))
#s(approx (sqrt x) (sqrt.f64 x))
#s(approx x x)
#s(approx (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64)))
#s(approx (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) (/.f64 (fma.f64 (pow.f64 x #s(literal 5/2 binary64)) #s(literal 1/2 binary64) (*.f64 #s(literal 1/16 binary64) (sqrt.f64 x))) (*.f64 x x)))
#s(approx (sqrt (pow x -3)) (pow.f64 x #s(literal -3/2 binary64)))
#s(approx (pow x -3) (pow.f64 x #s(literal -3 binary64)))
#s(approx (* 1/2 (sqrt x)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1/2 binary64)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.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))) x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64) (fma.f64 #s(literal -5/128 binary64) (sqrt.f64 (pow.f64 x #s(literal -5 binary64))) (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) x))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1/2 binary64)))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal -1/8 binary64))))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal -1/8 binary64) (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (pow.f64 x #s(literal -5 binary64))) #s(literal 1/16 binary64)))))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) (*.f64 (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal -1/8 binary64))) x))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) (*.f64 (fma.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal -1/8 binary64) (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (pow.f64 x #s(literal -5 binary64))) #s(literal 1/16 binary64)))) x))
#s(approx (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))
#s(approx (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) (*.f64 (fma.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (pow.f64 x #s(literal -5 binary64))) #s(literal 1/16 binary64))) x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 #s(literal -1/2 binary64) (pow.f64 x #s(literal -1/2 binary64))))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (neg.f64 (/.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64)) #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (neg.f64 (/.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64)) #s(literal -1 binary64) (fma.f64 (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (neg.f64 (/.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1 binary64)) #s(literal -1/8 binary64) (fma.f64 (*.f64 #s(literal -5/128 binary64) (sqrt.f64 (pow.f64 x #s(literal -5 binary64)))) #s(literal -1 binary64) (fma.f64 (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x))))) x)))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1 binary64)) #s(literal -1/2 binary64)))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) (fma.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1 binary64)) #s(literal -1/2 binary64) (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal -1/8 binary64))))
#s(approx (/ (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) (fma.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1 binary64)) #s(literal -1/2 binary64) (neg.f64 (/.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal -1 binary64)) #s(literal 1/16 binary64) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal 1/8 binary64))) x))))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) (*.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 x)) #s(literal -1/2 binary64)))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) (neg.f64 (*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1 binary64)) #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal 1/8 binary64))) x)))
#s(approx (+ (* (pow (sqrt x) -1) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) (neg.f64 (*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1 binary64)) #s(literal 1/2 binary64) (neg.f64 (/.f64 (fma.f64 #s(literal -1/16 binary64) (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal -1 binary64)) (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1/8 binary64))) x))) x)))
#s(approx (sqrt x) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 x))))
#s(approx (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) (*.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 x)) #s(literal -1/2 binary64)))
#s(approx (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x))) (neg.f64 (*.f64 (fma.f64 (*.f64 (sqrt.f64 (pow.f64 x #s(literal -5 binary64))) #s(literal -1 binary64)) #s(literal 1/16 binary64) (*.f64 (*.f64 (pow.f64 x #s(literal -1/2 binary64)) #s(literal -1 binary64)) #s(literal 1/2 binary64))) x)))
#s(approx (sqrt (pow x -3)) (neg.f64 (*.f64 (pow.f64 x #s(literal -3/2 binary64)) #s(literal -1 binary64))))
#s(approx (* 1/2 (sqrt x)) (*.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 x)) #s(literal -1/2 binary64)))

eval12.0ms (0.6%)

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

Compiled 3 127 to 453 computations (85.5% saved)

prune68.0ms (3.6%)

Memory
-35.6MiB live, 100.1MiB allocated; 19ms collecting garbage
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New1010101
Fresh011
Picked011
Done033
Total1015106
Accuracy
100.0%
Counts
106 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
54.7%
(/.f64 (-.f64 (pow.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 x) #s(literal 3 binary64))) (fma.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 x)))))
55.6%
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
49.6%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (pow.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x))
50.3%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
50.3%
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)))
Compiler

Compiled 216 to 107 computations (50.5% saved)

regimes4.0ms (0.2%)

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

Total -61.1b remaining (-44683.8%)

Threshold costs -61.1b (-44683.8%)

Counts
6 → 2
Calls
Call 1
Inputs
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)))
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (*.f64 (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (pow.f64 (sqrt.f64 x) #s(literal -1 binary64)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x))
(/.f64 (-.f64 (pow.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 x) #s(literal 3 binary64))) (fma.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 x)))))
Outputs
(-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x))
#s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x))
Calls

2 calls:

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

Compiled 8 to 7 computations (12.5% saved)

bsearch14.0ms (0.7%)

Memory
23.6MiB live, 23.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
12.0ms
0.009043989712605538
152892.07651690845
Samples
6.0ms144×0valid
Compiler

Compiled 307 to 262 computations (14.7% saved)

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

simplify72.0ms (3.8%)

Memory
-33.7MiB live, 73.2MiB allocated; 35ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02537
13037
23737
35037
47937
527537
6263637
7655237
Stop Event
node limit
Calls
Call 1
Inputs
(if (<=.f64 x #s(literal 6200 binary64)) (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) #s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x)))
Outputs
(if (<=.f64 x #s(literal 6200 binary64)) (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) #s(approx (- (sqrt (+ x 1)) (sqrt x)) (/.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) #s(literal -1/8 binary64) (fma.f64 (sqrt.f64 (pow.f64 x #s(literal -3 binary64))) #s(literal 1/16 binary64) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 x)))) x)))

derivations3.0ms (0.2%)

Memory
5.6MiB live, 5.6MiB allocated; 0ms collecting garbage
Stop Event
fuel
Compiler

Compiled 37 to 26 computations (29.7% saved)

preprocess19.0ms (1%)

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

Compiled 106 to 78 computations (26.4% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...