+ /* modes of a,b are equal */
+ sc_div(a->value, b->value, NULL);
+ return get_tarval(sc_get_buffer(), sc_get_buffer_length(), a->mode);
+ } else {
+ assert(mode_is_float(mode));
+ fc_div((const fp_value*) a->value, (const fp_value*) b->value, NULL);
+ return get_tarval_overflow(fc_get_buffer(), fc_get_buffer_length(), mode);