In Arithmetic.m, add(P,Q,point0: affine_patch:=point0`numbering.0) is wrong in level 2 (but diff_add works in level 2). We require a version of magma that supports AssociativeArray(). Note: magma-2.15.* has a bug with associative array: a:=AssociativeArray(); a["foo"]:=AssociativeArray(); a["foo","bar"]:="baz"; yields a segfault. This is corrected in magma-2.16. In the code, we try to be compatible with magma-2.15 by using the following variant: a:=AssociativeArray(); b:=AssociativeArray(); b["bar"]:="baz"; a["foo"]:=b;