2isqrt (example 3.6)

Time bar (total: 4.5s)

analyze12.0ms (0.3%)

Memory
3.6MiB live, 3.6MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%25%75%0%0%0%0
100%25%0%75%0%0%0%1
Compiler

Compiled 26 to 19 computations (26.9% saved)

sample4.4s (97.3%)

Memory
-4.0MiB live, 1 421.1MiB allocated
Samples
1.3s6 442×1valid-baseline
681.0ms6 442×1valid-rival
636.0ms6 442×1valid-sollya
410.0ms1 623×2valid-baseline
256.0ms1 623×2valid-rival
194.0ms1 623×2valid-sollya
13.0ms191×0valid-baseline
10.0ms191×0valid-sollya
10.0ms191×0valid-rival
Bogosity

preprocess67.0ms (1.5%)

Memory
3.8MiB live, 20.7MiB allocated
Algorithm
egg-herbie
Rules
97×fma-define
86×fmm-def
41×sub-neg
28×associate--r+
28×neg-mul-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
021176
137168
272164
3129164
4204164
5316164
6419164
7509164
8586164
9640164
10683164
11691164
12693164
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 x))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)))))
(neg.f64 (-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 x))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64))))))
Outputs
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) x))))
(+.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (/.f64 #s(literal -1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) x))))
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) x))))
(+.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (/.f64 #s(literal -1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) x))))
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 x))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)))))
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 x))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (neg.f64 x)))))
(+.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 x))) (/.f64 #s(literal -1 binary64) (sqrt.f64 (-.f64 #s(literal 1 binary64) x))))
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 x))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 #s(literal 1 binary64) x))))
(neg.f64 (-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 x))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64))))))
(neg.f64 (-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 x))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (neg.f64 x))))))
(neg.f64 (+.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 x))) (/.f64 #s(literal -1 binary64) (sqrt.f64 (-.f64 #s(literal 1 binary64) x)))))
(+.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 #s(literal 1 binary64) x))) (/.f64 #s(literal -1 binary64) (sqrt.f64 (neg.f64 x))))
Compiler

Compiled 12 to 8 computations (33.3% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
35.5%
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
Compiler

Compiled 24 to 16 computations (33.3% saved)

simplify3.0ms (0.1%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
egg-herbie
Rules
neg-mul-1
unsub-neg
+-commutative
sub-neg
*-rgt-identity
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01339
12139
22939
33539
44239
55439
67039
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
Outputs
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 x #s(literal 1 binary64)))))
(-.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) x))))
(+.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 x)) (/.f64 #s(literal -1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) x))))

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 12 to 9 computations (25% saved)

preprocess37.0ms (0.8%)

Memory
2.0MiB live, 48.2MiB allocated
Compiler

Compiled 100 to 66 computations (34% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...