"Source: Text/Ring/RngLoc.text";
"Line: 2697";
"Date: Fri Sep 26 14:29:19 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Ring/RngLoc.text, line: 2697
// Example: H49E17 ()
print "Example: H49E17";
ei := GetEchoInput();
SetEchoInput(true);
SetSeed(1); // pointless
d := 50;
FF := GF(2^d);
E := EllipticCurve([FF | 1, 0, 0, 0, Random(FF)]);
assert Degree(sub<BaseRing(E) | jInvariant(E)>) gt 2;

n := (d + 1) div 2 + 3;
R := ext<pAdicRing(2) | d>;
R`DefaultPrecision := n;

a6 := elt<R | jInvariant(E)^-1, 1>;
lambda := 1 + 8 * a6;

for k in [4..n] do
    ChangePrecision(~lambda, k + 2);
    lambda := (1 + lambda) * InverseSqrt(lambda) div 2;
end for;
lambda := 2 * lambda div (1 + lambda);
Exp(Trace(Log(lambda))); 
Trace(E) mod 2^26;
SetEchoInput(ei);
