+ if (adj_min < adjust_minor) {
+ if (c->e1) {
+ if (c->first)
+ adjust_major = div_ceil(c->e - adjust_minor * c->e3, c->e1);
+ else
+ adjust_major = div_floor_plus_one(c->e - adjust_minor * c->e3, c->e1);
+ }
+ } else {
+ adjust_minor = adj_min;
+ }
+ }
+ c->e = (int16_t) (c->e + adjust_major * c->e1 + adjust_minor * c->e3);