[No es una respuesta a la pregunta exacta anterior, que fue respondida en los comentarios, sino una optimización adicional].
Si la división por $2$ se considera "fácil", se puede hacer en dos multiplicaciones.
Específicamente:
$$(a+b)(c+d)+(a-b)(c-d) = 2(ac+bd)$$ y $$(a+b)(c+d)-(a-b)(c-d)=2(ad+bc)$$
Así que sólo hay que calcular las multiplicaciones $(a+b)(c+d)$ y $(a-b)(c-d)$ (si la división por 2 es "fácil".)
De lo contrario, utilice el método de los comentarios anteriores.
[Obtuve esta respuesta considerando su salida como la salida de una multiplicación matricial del $2\times 2$ matriz $A=[a,b;b,a]$ con el vector columna $(c,d)^T$ . Luego encontré los vectores propios de $A$ para ser $v_1=(1,1)^T$ y $v_2=(1,-1)^T$ con los correspondientes valores propios $a+b$ y $a-b$ . Entonces escribí $(c,d)^T=\frac{c+d}{2}v_1 + \frac{c-d}{2}v_2.$ En retrospectiva, la respuesta es obvia, pero a menudo se encuentran cálculos más rápidos de esta manera: la representación como un cálculo de álgebra lineal, y luego el uso de valores y vectores propios para "simplificar"].