GenericGFPoly[] c(GenericGFPoly paramGenericGFPoly)
 {
   if (!this.a.equals(paramGenericGFPoly.a)) {
     throw new IllegalArgumentException("GenericGFPolys do not have same GenericGF field");
   }
   if (paramGenericGFPoly.c()) {
     throw new IllegalArgumentException("Divide by 0");
   }
   GenericGFPoly localGenericGFPoly1 = this.a.a();
   int i = paramGenericGFPoly.a(paramGenericGFPoly.b());
   int j = this.a.c(i);
   GenericGFPoly localGenericGFPoly2 = localGenericGFPoly1;
   GenericGFPoly localGenericGFPoly4;
   for (GenericGFPoly localGenericGFPoly3 = this; (localGenericGFPoly3.b() >= paramGenericGFPoly.b()) && (!localGenericGFPoly3.c()); localGenericGFPoly3 = localGenericGFPoly3.a(localGenericGFPoly4))
   {
     int k = localGenericGFPoly3.b() - paramGenericGFPoly.b();
     int m = this.a.c(localGenericGFPoly3.a(localGenericGFPoly3.b()), j);
     localGenericGFPoly4 = paramGenericGFPoly.a(k, m);
     localGenericGFPoly2 = localGenericGFPoly2.a(this.a.a(k, m));
   }
   return new GenericGFPoly[] { localGenericGFPoly2, localGenericGFPoly3 };
 }