sha512_msg_schedule_update
sha512_msg_schedule_update(&W[0], W[1], W[9], W[14]);
sha512_msg_schedule_update(&W[1], W[2], W[10], W[15]);
sha512_msg_schedule_update(&W[2], W[3], W[11], W[0]);
sha512_msg_schedule_update(&W[3], W[4], W[12], W[1]);
sha512_msg_schedule_update(&W[4], W[5], W[13], W[2]);
sha512_msg_schedule_update(&W[5], W[6], W[14], W[3]);
sha512_msg_schedule_update(&W[6], W[7], W[15], W[4]);
sha512_msg_schedule_update(&W[7], W[8], W[0], W[5]);
sha512_msg_schedule_update(&W[8], W[9], W[1], W[6]);
sha512_msg_schedule_update(&W[9], W[10], W[2], W[7]);
sha512_msg_schedule_update(&W[10], W[11], W[3], W[8]);
sha512_msg_schedule_update(&W[11], W[12], W[4], W[9]);
sha512_msg_schedule_update(&W[12], W[13], W[5], W[10]);
sha512_msg_schedule_update(&W[13], W[14], W[6], W[11]);
sha512_msg_schedule_update(&W[14], W[15], W[7], W[12]);
sha512_msg_schedule_update(&W[15], W[0], W[8], W[13]);
sha512_msg_schedule_update(&W[i % 16], W[(i + 1) % 16],
sha512_msg_schedule_update(&X[0], X[1], X[9], X[14]);
sha512_msg_schedule_update(&X[1], X[2], X[10], X[15]);
sha512_msg_schedule_update(&X[2], X[3], X[11], X[0]);
sha512_msg_schedule_update(&X[3], X[4], X[12], X[1]);
sha512_msg_schedule_update(&X[4], X[5], X[13], X[2]);
sha512_msg_schedule_update(&X[5], X[6], X[14], X[3]);
sha512_msg_schedule_update(&X[6], X[7], X[15], X[4]);
sha512_msg_schedule_update(&X[7], X[8], X[0], X[5]);
sha512_msg_schedule_update(&X[8], X[9], X[1], X[6]);
sha512_msg_schedule_update(&X[9], X[10], X[2], X[7]);
sha512_msg_schedule_update(&X[10], X[11], X[3], X[8]);
sha512_msg_schedule_update(&X[11], X[12], X[4], X[9]);
sha512_msg_schedule_update(&X[12], X[13], X[5], X[10]);
sha512_msg_schedule_update(&X[13], X[14], X[6], X[11]);
sha512_msg_schedule_update(&X[14], X[15], X[7], X[12]);
sha512_msg_schedule_update(&X[15], X[0], X[8], X[13]);