const a = 32;
const b = 4;

const add = (x, y, times) => {
  times--;
  const sum = y == 0 ? x : add(x ^ y, (x & y) << 1, 0);
  if (times > 1) return add(sum, y, times--);

  return sum;
};

const multiply = (a, b) => {
  const adder = a < b ? b : a;
  const reps = a < b ? a : b;
  
  return add(adder, adder, reps);

};

const res = multiply(a, b);
console.log("Result: ", res, "Valid: ", res == a * b);

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.