code: func (f *fieldVal) Add2(val *fieldVal, val2 *fieldVal) *fieldVal {
  	// Since the field representation intentionally provides overflow bits,
  	// it's ok to use carryless addition as the carry bit is safely part of
  	// each word and will be normalized out.  This could obviously be done
  	// in a loop, but the unrolled version is faster.
  	f.n[0] = val.n[0] + val2.n[0]
  	f.n[1] = val.n[1] + val2.n[1]
  	f.n[2] = val.n[2] + val2.n[2]
  	f.n[3] = val.n[3] + val2.n[3]
  	f.n[4] = val.n[4] + val2.n[4]
  	f.n[5] = val.n[5] + val2.n[5]
  	f.n[6] = val.n[6] + val2.n[6]
  	f.n[7] = val.n[7] + val2.n[7]
  	f.n[8] = val.n[8] + val2.n[8]
  	f.n[9] = val.n[9] + val2.n[9]
  
  	return f
  }
docs: // Add2 adds the passed two field values together and stores the result in f.
  //
  // The field value is returned to support chaining.  This enables syntax like:
  // f3.Add2(f, f2).AddInt(1) so that f3 = f + f2 + 1.