// test #1
PQ<x> := PolynomialRing(RationalField());
K<i> := NumberField(x^2+1);
P2<x,y> := PolynomialRing(K,2);
fK := x^4+y^4+1+3*(x^2*y^2+y^2+x^2);
FK<x,y> := FunctionField(fK);
D := DivisorGroup(FK);
WK := WeierstrassPlaces(FK);
D := WK[2]-WK[1];
Reduction(D);

// test #2
P<X> := PolynomialRing(RationalField());
KK<t> := NumberField([X^2-7]);
PK2<x,y> := PolynomialRing(KK,2);
fK2 := (8*t - 21)*x^4 + (-6*t + 12)*x^2*y
+ (t -3)*x*y^3 + (t - 3)*x + 3*y^2;
FK<x,y> := FunctionField(fK2);
WPK := WeierstrassPlaces(FK);
