I feel it hard to give an accurate title, though I have tried my best. Here's my problem.I would like to get a vector e, such that e consists of the product calculated from the combinations of values chosen from a, b, c and d.

## How many 64-bit multiplications are needed to calculate the low 128-bits of a 64-bit by 128-bit product?

Consider that you want to calculate the low 128-bits of the result of multiplying a 64-bit and 128-bit unsigned number, and that the largest multiplication you have available is the C-like 64-bit multiplication which takes two 64-bit unsigned inputs and returns the low 64-bits of the result.