fePow22523 function

void fePow22523(
  1. FieldElement out,
  2. FieldElement z
)

Implementation

void fePow22523(FieldElement out, FieldElement z) {
  var t0 = FieldElement();
  var t1 = FieldElement();
  var t2 = FieldElement();
  var i = 0;

  FeSquare(t0, z);
  for (i = 1; i < 1; i++) {
    FeSquare(t0, t0);
  }
  FeSquare(t1, t0);
  for (i = 1; i < 2; i++) {
    FeSquare(t1, t1);
  }
  FeMul(t1, z, t1);
  FeMul(t0, t0, t1);
  FeSquare(t0, t0);
  for (i = 1; i < 1; i++) {
    FeSquare(t0, t0);
  }
  FeMul(t0, t1, t0);
  FeSquare(t1, t0);
  for (i = 1; i < 5; i++) {
    FeSquare(t1, t1);
  }
  FeMul(t0, t1, t0);
  FeSquare(t1, t0);
  for (i = 1; i < 10; i++) {
    FeSquare(t1, t1);
  }
  FeMul(t1, t1, t0);
  FeSquare(t2, t1);
  for (i = 1; i < 20; i++) {
    FeSquare(t2, t2);
  }
  FeMul(t1, t2, t1);
  FeSquare(t1, t1);
  for (i = 1; i < 10; i++) {
    FeSquare(t1, t1);
  }
  FeMul(t0, t1, t0);
  FeSquare(t1, t0);
  for (i = 1; i < 50; i++) {
    FeSquare(t1, t1);
  }
  FeMul(t1, t1, t0);
  FeSquare(t2, t1);
  for (i = 1; i < 100; i++) {
    FeSquare(t2, t2);
  }
  FeMul(t1, t2, t1);
  FeSquare(t1, t1);
  for (i = 1; i < 50; i++) {
    FeSquare(t1, t1);
  }
  FeMul(t0, t1, t0);
  FeSquare(t0, t0);
  for (i = 1; i < 2; i++) {
    FeSquare(t0, t0);
  }
  FeMul(out, t0, z);
}