docs: function bcsub(left_operand, right_operand, scale) {
      var first, second, result;
  
      if (typeof(scale) == 'undefined') {
          scale = libbcmath.scale;
      }
      scale   = ((scale < 0) ? 0 : scale);
  
      // create objects
      first   = libbcmath.bc_init_num();
      second  = libbcmath.bc_init_num();
      result  = libbcmath.bc_init_num();
  
      first   = libbcmath.php_str2num(left_operand.toString());
      second  = libbcmath.php_str2num(right_operand.toString());
  
      // normalize arguments to same scale.
      if (first.n_scale > second.n_scale) second.setScale(first.n_scale);
      if (second.n_scale > first.n_scale) first.setScale(second.n_scale);
  
      result  = libbcmath.bc_sub(first, second, scale);
  
      if (result.n_scale > scale) {
          result.n_scale = scale;
      }
  
      return result.toString();
  
  }