How to perform multiplication for integers larger than 64 bits in C? : I want to multiply 57bit integer with 11bit integer. The result can be up to 68bits so I'm planning to split my result in to 2 different integers. I cannot use any library and It should be as simple as possible because the code will be translated to VHDL. 

There is some ways to that online but all of them are not meet my criteria. I want to split the result as 60bits lower part and 8 bits higher part. 

C-Code
---

    int main(){
    unsigned long long int log2 = 0b101100010111001000010111111101111101000111001111011110011;
    unsigned short int absE;
    unsigned in result_M;
    unsigned long long int result_L;

    result_L = absE * log2;
    result_M = 0;
    }

VHDL 
---

    signal absE  : std_logic_vector(10 downto 0);
    signal log2 : std_logic_vector(57 downto 0) := "101100010111001000010111111101111101000111001111011110011";
    signal result: std_logic_vector(67 downto 0);
    result <= absE * log2;
