split calc into calc_rerg and calc_other