Your "3 input adder" is essentially carry-save addition (one carry-save adder and one standard adder). Functionally a normal adder is already a 3 input adder (rename carry in to input c)
https://people.clarkson.edu/~linh/algori...dition.pdf
https://people.clarkson.edu/~linh/algori...dition.pdf