x + yi ^ 3 = x x ^ 2 - 3y ^ 2 + y 3x ^ 2 - y ^ 2 i concode_field_sep String differentFields concode_elem_sep BigInteger re concode_elem_sep BigInteger im concode_elem_sep BigInteger _0 concode_elem_sep BigInteger _1 concode_elem_sep BigInteger _3 concode_elem_sep BNParams bn concode_field_sep BNField2 add concode_elem_sep BNField2 add concode_elem_sep boolean isOne concode_elem_sep BNField2 inverse concode_elem_sep BNField2 halve concode_elem_sep BNField2 subtract concode_elem_sep BNField2 subtract concode_elem_sep BNField2 multiplyV concode_elem_sep BNField2 cbrt concode_elem_sep BNField2 conjugate concode_elem_sep BNField2 square concode_elem_sep BNField2 divideV concode_elem_sep BNField2 twice concode_elem_sep BNField2 sqrt concode_elem_sep BNField2 negate concode_elem_sep boolean equals concode_elem_sep boolean isZero concode_elem_sep BNField2 multiplyI concode_elem_sep String toString concode_elem_sep BNField2 multiply concode_elem_sep BNField2 multiply concode_elem_sep BNField2 exp
BNField2 function ( ) { BigInteger loc0 = re . multiply ( re ) ; BigInteger loc1 = im . multiply ( im ) ; return new BNField2 ( bn , re . multiply ( loc0 . subtract ( loc1 . multiply ( _3 ) ) ) , im . multiply ( loc0 . multiply ( _3 ) . subtract ( loc1 ) ) , true ) ; }