bug333 (missed optimization)

Time bar (total: 2.0s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%50%50%0%0%0%0
100%50%0%50%0%0%0%1
Compiler

Compiled 17 to 12 computations (29.4% saved)

sample1.4s (67.5%)

Memory
25.0MiB live, 987.6MiB allocated; 203ms collecting garbage
Samples
542.0ms3 478×2valid
424.0ms4 643×1valid
5.0ms135×0valid
Precisions
Click to see histograms. Total time spent on operations: 754.0ms
ival-sqrt: 330.0ms (43.7% of total)
adjust: 270.0ms (35.8% of total)
ival-sub!: 92.0ms (12.2% of total)
ival-add!: 62.0ms (8.2% of total)
Bogosity

preprocess213.0ms (10.6%)

Memory
-14.5MiB live, 28.6MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01427
14727
28327
319127
463127
5461427
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.4%
(-.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 (-.f64 #s(literal 1 binary64) x)))
Symmetry

(negabs x)

Compiler

Compiled 16 to 14 computations (12.5% saved)

series6.0ms (0.3%)

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

3 calls:

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

rewrite34.0ms (1.7%)

Memory
-3.8MiB live, 38.7MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02181281
02241239
15611239
Stop Event
saturated
iter-limit
unsound
iter-limit
Counts
48 → 48
Calls
Call 1
Inputs
(-.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 (-.f64 #s(literal 1 binary64) x)))
(sqrt.f64 (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
(sqrt.f64 (-.f64 #s(literal 1 binary64) x))
(-.f64 #s(literal 1 binary64) x)
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 x))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* x (+ 1 (* 1/8 (pow x 2))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* x (+ 1 (* (pow x 2) (+ 1/8 (* 7/128 (pow x 2))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* x (+ 1 (* (pow x 2) (+ 1/8 (* (pow x 2) (+ 7/128 (* 33/1024 (pow x 2))))))))))
#s(approx (sqrt (+ 1 x)) #s(hole binary64 1))
#s(approx (sqrt (+ 1 x)) #s(hole binary64 (+ 1 (* 1/2 x))))
#s(approx (sqrt (+ 1 x)) #s(hole binary64 (+ 1 (* x (+ 1/2 (* -1/8 x))))))
#s(approx (sqrt (+ 1 x)) #s(hole binary64 (+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))))
#s(approx (+ 1 x) #s(hole binary64 (+ 1 x)))
#s(approx (sqrt (- 1 x)) #s(hole binary64 (+ 1 (* -1/2 x))))
#s(approx (sqrt (- 1 x)) #s(hole binary64 (+ 1 (* x (- (* -1/8 x) 1/2)))))
#s(approx (sqrt (- 1 x)) #s(hole binary64 (+ 1 (* x (- (* x (- (* -1/16 x) 1/8)) 1/2)))))
#s(approx (- 1 x) #s(hole binary64 (+ 1 (* -1 x))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* x (- (sqrt (/ 1 x)) (* (sqrt (/ 1 x)) (sqrt -1))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* x (- (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (/ 1 (sqrt -1)))) (* (sqrt (/ 1 x)) (sqrt -1)))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* x (- (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))) (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (/ 1 (sqrt -1)))) (* (sqrt (/ 1 x)) (sqrt -1))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #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))))))) (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (/ 1 (sqrt -1)))) (* (sqrt (/ 1 x)) (sqrt -1)))))))))
#s(approx (sqrt (+ 1 x)) #s(hole binary64 (sqrt x)))
#s(approx (sqrt (+ 1 x)) #s(hole binary64 (* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
#s(approx (sqrt (+ 1 x)) #s(hole binary64 (* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))))
#s(approx (sqrt (+ 1 x)) #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 (+ 1 x) #s(hole binary64 (* x (+ 1 (/ 1 x)))))
#s(approx (sqrt (- 1 x)) #s(hole binary64 (* (sqrt x) (sqrt -1))))
#s(approx (sqrt (- 1 x)) #s(hole binary64 (* x (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (/ 1 (sqrt -1)))) (* (sqrt (/ 1 x)) (sqrt -1))))))
#s(approx (sqrt (- 1 x)) #s(hole binary64 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (/ 1 (sqrt -1)))) (* (sqrt (/ 1 x)) (sqrt -1)))))))
#s(approx (sqrt (- 1 x)) #s(hole binary64 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (/ 1 (sqrt -1)))) (* (sqrt (/ 1 x)) (sqrt -1))))))))
#s(approx (- 1 x) #s(hole binary64 (* -1 x)))
#s(approx (- 1 x) #s(hole binary64 (* x (- (/ 1 x) 1))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* -1 (* x (- (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (* (sqrt (/ 1 x)) (sqrt -1)))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* -1 (* x (- (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (sqrt -1))) (* (sqrt (/ 1 x)) (sqrt -1))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #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)))) (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (sqrt -1))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (sqrt -1))) (* (sqrt (/ 1 x)) (sqrt -1)))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #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))))) (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (sqrt -1))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (sqrt -1))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (sqrt -1))) (* (sqrt (/ 1 x)) (sqrt -1))))))))))
#s(approx (sqrt (+ 1 x)) #s(hole binary64 (* -1 (* (sqrt x) (pow (sqrt -1) 2)))))
#s(approx (sqrt (+ 1 x)) #s(hole binary64 (* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
#s(approx (sqrt (+ 1 x)) #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 (+ 1 x)) #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 (- 1 x)) #s(hole binary64 (* -1 (* (sqrt x) (sqrt -1)))))
#s(approx (sqrt (- 1 x)) #s(hole binary64 (* -1 (* x (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (sqrt -1))) (* (sqrt (/ 1 x)) (sqrt -1)))))))
#s(approx (sqrt (- 1 x)) #s(hole binary64 (* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (sqrt -1))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (sqrt -1))) (* (sqrt (/ 1 x)) (sqrt -1))))))))
#s(approx (sqrt (- 1 x)) #s(hole binary64 (* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (sqrt -1))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (sqrt -1))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (sqrt -1))) (* (sqrt (/ 1 x)) (sqrt -1)))))))))
#s(approx (- 1 x) #s(hole binary64 (* -1 (* x (- 1 (/ 1 x))))))
Outputs
(-.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 (-.f64 #s(literal 1 binary64) x)))
(sqrt.f64 (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
(sqrt.f64 (-.f64 #s(literal 1 binary64) x))
(-.f64 #s(literal 1 binary64) x)
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) x)
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 2 binary64))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/8 binary64) (*.f64 #s(literal 7/128 binary64) (pow.f64 x #s(literal 2 binary64))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 7/128 binary64) (*.f64 #s(literal 33/1024 binary64) (pow.f64 x #s(literal 2 binary64))))))))))
#s(approx (sqrt (+ 1 x)) #s(literal 1 binary64))
#s(approx (sqrt (+ 1 x)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (sqrt (+ 1 x)) (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/8 binary64) x)))))
#s(approx (sqrt (+ 1 x)) (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 1/16 binary64) x) #s(literal 1/8 binary64)))))))
#s(approx (+ 1 x) (+.f64 #s(literal 1 binary64) x))
#s(approx (sqrt (- 1 x)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) x)))
#s(approx (sqrt (- 1 x)) (+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1/8 binary64) x) #s(literal 1/2 binary64)))))
#s(approx (sqrt (- 1 x)) (+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 (*.f64 x (-.f64 (*.f64 #s(literal -1/16 binary64) x) #s(literal 1/8 binary64))) #s(literal 1/2 binary64)))))
#s(approx (- 1 x) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x)))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (-.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (-.f64 (+.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal -1 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64)))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (-.f64 (+.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64))))))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 3 binary64)))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal -1 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (-.f64 (+.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (fma.f64 #s(literal 1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))))))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 3 binary64)))) (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64)))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal -1 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64)))))))))
#s(approx (sqrt (+ 1 x)) (sqrt.f64 x))
#s(approx (sqrt (+ 1 x)) (*.f64 x (+.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64))))))))
#s(approx (sqrt (+ 1 x)) (*.f64 x (+.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))))))))
#s(approx (sqrt (+ 1 x)) (*.f64 x (+.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (fma.f64 #s(literal 1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64))))))))))
#s(approx (+ 1 x) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x))))
#s(approx (sqrt (- 1 x)) (*.f64 (sqrt.f64 x) (sqrt.f64 #s(literal -1 binary64))))
#s(approx (sqrt (- 1 x)) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal -1 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64))))))
#s(approx (sqrt (- 1 x)) (*.f64 x (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 3 binary64)))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal -1 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64)))))))
#s(approx (sqrt (- 1 x)) (*.f64 x (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 3 binary64)))) (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64)))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal -1 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64))))))))
#s(approx (- 1 x) (*.f64 #s(literal -1 binary64) x))
#s(approx (- 1 x) (*.f64 x (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64)))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))) (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64))))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64)))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))) (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 4 binary64)))) (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64))))))))))
#s(approx (sqrt (+ 1 x)) (*.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 x) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))))
#s(approx (sqrt (+ 1 x)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))))))
#s(approx (sqrt (+ 1 x)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))) (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ 1 x)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))) (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 4 binary64)))) (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))))))))
#s(approx (sqrt (- 1 x)) (*.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 x) (sqrt.f64 #s(literal -1 binary64)))))
#s(approx (sqrt (- 1 x)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64)))))))
#s(approx (sqrt (- 1 x)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64))))))))
#s(approx (sqrt (- 1 x)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64)))))))))
#s(approx (- 1 x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x)))))

eval5.0ms (0.3%)

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

Compiled 713 to 243 computations (65.9% saved)

prune2.0ms (0.1%)

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

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New39241
Fresh000
Picked011
Done000
Total39342
Accuracy
100.0%
Counts
42 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.4%
(-.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 (-.f64 #s(literal 1 binary64) x)))
99.8%
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 2 binary64))))))
99.5%
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) x)
Compiler

Compiled 31 to 30 computations (3.2% saved)

series4.0ms (0.2%)

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

3 calls:

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

rewrite19.0ms (1%)

Memory
22.6MiB live, 22.6MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0144752
0150731
1388731
Stop Event
saturated
iter-limit
unsound
iter-limit
Counts
29 → 29
Calls
Call 1
Inputs
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) x)
x
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 2 binary64)))))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 2 binary64))))
#s(literal 1 binary64)
(*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 2 binary64)))
#s(literal 1/8 binary64)
(pow.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 x))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* x (+ 1 (* 1/8 (pow x 2))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* x (+ 1 (* (pow x 2) (+ 1/8 (* 7/128 (pow x 2))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* x (+ 1 (* (pow x 2) (+ 1/8 (* (pow x 2) (+ 7/128 (* 33/1024 (pow x 2))))))))))
#s(approx (+ 1 (* 1/8 (pow x 2))) #s(hole binary64 1))
#s(approx (+ 1 (* 1/8 (pow x 2))) #s(hole binary64 (+ 1 (* 1/8 (pow x 2)))))
#s(approx (* 1/8 (pow x 2)) #s(hole binary64 (* 1/8 (pow x 2))))
#s(approx (pow x 2) #s(hole binary64 (pow x 2)))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* x (- (sqrt (/ 1 x)) (* (sqrt (/ 1 x)) (sqrt -1))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* x (- (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (/ 1 (sqrt -1)))) (* (sqrt (/ 1 x)) (sqrt -1)))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* x (- (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))) (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (/ 1 (sqrt -1)))) (* (sqrt (/ 1 x)) (sqrt -1))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #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))))))) (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (/ 1 (sqrt -1)))) (* (sqrt (/ 1 x)) (sqrt -1)))))))))
#s(approx (* x (+ 1 (* 1/8 (pow x 2)))) #s(hole binary64 (* 1/8 (pow x 3))))
#s(approx (* x (+ 1 (* 1/8 (pow x 2)))) #s(hole binary64 (* (pow x 3) (+ 1/8 (/ 1 (pow x 2))))))
#s(approx (+ 1 (* 1/8 (pow x 2))) #s(hole binary64 (* (pow x 2) (+ 1/8 (/ 1 (pow x 2))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* -1 (* x (- (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (* (sqrt (/ 1 x)) (sqrt -1)))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #s(hole binary64 (* -1 (* x (- (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (sqrt -1))) (* (sqrt (/ 1 x)) (sqrt -1))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #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)))) (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (sqrt -1))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (sqrt -1))) (* (sqrt (/ 1 x)) (sqrt -1)))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) #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))))) (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (sqrt -1))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (sqrt -1))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (sqrt -1))) (* (sqrt (/ 1 x)) (sqrt -1))))))))))
Outputs
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) x)
x
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 2 binary64)))))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 2 binary64))))
#s(literal 1 binary64)
(*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 2 binary64)))
#s(literal 1/8 binary64)
(pow.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) x)
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 2 binary64))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/8 binary64) (*.f64 #s(literal 7/128 binary64) (pow.f64 x #s(literal 2 binary64))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 7/128 binary64) (*.f64 #s(literal 33/1024 binary64) (pow.f64 x #s(literal 2 binary64))))))))))
#s(approx (+ 1 (* 1/8 (pow x 2))) #s(literal 1 binary64))
#s(approx (+ 1 (* 1/8 (pow x 2))) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 2 binary64)))))
#s(approx (* 1/8 (pow x 2)) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 2 binary64))))
#s(approx (pow x 2) (pow.f64 x #s(literal 2 binary64)))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (-.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (-.f64 (+.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal -1 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64)))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (-.f64 (+.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64))))))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 3 binary64)))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal -1 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (-.f64 (+.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (fma.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (fma.f64 #s(literal 1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))))))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 3 binary64)))) (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64)))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal -1 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64)))))))))
#s(approx (* x (+ 1 (* 1/8 (pow x 2)))) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64))))
#s(approx (* x (+ 1 (* 1/8 (pow x 2)))) (*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
#s(approx (+ 1 (* 1/8 (pow x 2))) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64)))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))) (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64))))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64)))))))))
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))) (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 4 binary64)))) (fma.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)) (sqrt.f64 #s(literal -1 binary64))))))))))

eval2.0ms (0.1%)

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

Compiled 383 to 148 computations (61.4% saved)

prune343.0ms (17.1%)

Memory
-101.0MiB live, 51.2MiB allocated; 673ms collecting garbage
Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New17017
Fresh000
Picked022
Done011
Total17320
Accuracy
100.0%
Counts
20 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.4%
(-.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) x)) (sqrt.f64 (-.f64 #s(literal 1 binary64) x)))
99.8%
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 2 binary64))))))
99.5%
#s(approx (- (sqrt (+ 1 x)) (sqrt (- 1 x))) x)
Compiler

Compiled 58 to 51 computations (12.1% saved)

regimes3.0ms (0.1%)

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

2 calls:

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

Compiled 9 to 8 computations (11.1% saved)

regimes2.0ms (0.1%)

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

Total -59.1b remaining (-19661.5%)

Threshold costs -59.1b (-19661.5%)

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

2 calls:

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

Compiled 9 to 8 computations (11.1% saved)

derivations2.0ms (0.1%)

Memory
2.3MiB live, 2.3MiB allocated; 0ms collecting garbage
Stop Event
done
Compiler

Compiled 21 to 16 computations (23.8% saved)

preprocess18.0ms (0.9%)

Memory
30.9MiB live, 30.9MiB allocated; 0ms collecting garbage
Remove

(negabs x)

Compiler

Compiled 75 to 69 computations (8% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...