2isqrt (example 3.6)

Time bar (total: 13.4s)

analyze5.0ms (0%)

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

Compiled 19 to 12 computations (36.8% saved)

sample13.1s (97.7%)

Results
3.4s6370×1valid-rival
1.0s6330×1valid-sollya
1.3s1691×2valid-rival
354.0ms1678×2valid-sollya
40.0ms195×0valid-rival
16.0ms193×0valid-sollya
200.0ms40×1exit-sollya
65.0ms13×2exit-sollya
10.0ms0exit-sollya
Bogosity

preprocess203.0ms (1.5%)

Algorithm
egg-herbie
Rules
97×fma-define
86×fma-neg
41×sub-neg
28×neg-mul-1
27×associate--r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
021176
137168
272164
3129164
4204164
5316164
6419164
7509164
8585164
9639164
10682164
11690164
12692164
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)

eval1.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
37.2%
(-.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)

simplify5.0ms (0%)

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))))

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 12 to 9 computations (25% saved)

preprocess97.0ms (0.7%)

Compiler

Compiled 80 to 52 computations (35% saved)

end0.0ms (0%)

Profiling

Loading profile data...