Explicit-Formulas Database
Genus-1 curves over large-characteristic fields
Jacobi quartics EFD / Genus-1 large-characteristic / Doubling-oriented XXYZZR coordinates for Jacobi quartics

Doubling-oriented XXYZZR coordinates for Jacobi quartics

An elliptic curve in Jacobi quartic form [more information] has parameters a and coordinates x y satisfying the following equations:
  y2=x4+2*a*x2+1

Doubling-oriented XXYZZR coordinates [database entry] make the additional assumptions

  a2+c2=1
and represent x y as X XX Y Z ZZ R satisfying the following equations:
  x=X/Z
  y=Y/ZZ
  XX=X2
  ZZ=Z2
  R=2*X*Z

Best operation counts

Smallest multiplication counts assuming I=100M, S=1M, *param=0M, add=0M, *const=0M: Smallest multiplication counts assuming I=100M, S=0.8M, *param=0M, add=0M, *const=0M: Smallest multiplication counts assuming I=100M, S=0.67M, *param=0M, add=0M, *const=0M:

Summary of all explicit formulas

OperationAssumptionsCostReaddition cost
addition Z1=1 and Z2=1 5M + 4S + 1*a 5M + 4S + 1*a
addition Z2=1 and k=a-1 6M + 3S + 1*k 6M + 3S + 1*k
addition Z2=1 7M + 3S + 1*a 7M + 3S + 1*a
addition k=a-1 7M + 3S + 1*k 7M + 3S + 1*k
addition 8M + 3S + 1*a 8M + 3S + 1*a
addition b=-2*a and half*2=1 9M + 2S + 2*half + 1*b 9M + 2S + 1*half + 1*b
doubling Z1=1 1M + 6S + 1*a
doubling Z1=1 1M + 6S
doubling 2M + 5S + 1*a
doubling 3M + 4S
doubling 8S + 1*a + 2*c
doubling 1M + 8S + 1*a
doubling a2=2*a 3M + 9S + 2*a2
doubling 2M + 8S + 14 + 1*a + 2*c
tripling b=a2-1 4M + 11S + 1*a + 1*b
tripling 8M + 7S + 1*a
scaling 1I + 2M + 1S

Explicit formulas for addition

The "mmadd-2007-bl" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "madd-20080225-hwcd" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "madd-2007-bl" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "add-20080225-hwcd" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "add-2007-bl" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "add-2007-d" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

Explicit formulas for doubling

The "mdbl-20090311-hwcd" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "mdbl-2007-hcd" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dbl-20090311-hwcd" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dbl-2007-hcd" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dbl-2007-fw-4" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dbl-2007-fw-2" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dbl-2007-fw" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dbl-2007-fw-3" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

Explicit formulas for tripling

The "tpl-2007-hcd-2" tripling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "tpl-2007-hcd" tripling formulas [database entry; Sage verification script; Sage output; three-operand code]:

Explicit formulas for differential addition

Explicit formulas for differential addition and doubling

Explicit formulas for scaling

The "z" scaling formulas [database entry; Sage verification script; Sage output; three-operand code]: