Multiplicación de arrays en arduino

hola , que tal , espero alguien me pueda orientar en esto , lo que pasa es que he estado haciendo el siguiente programa:

int readings[4]={115,119,117,125};
int myArray1[4]={115,116,117,118};
void setup()
{
// Configurar el puerto serial
Serial.begin(9600);
Serial.println("arreglo TOTAL:");
Serial.println("[");
Serial.println(readings[0]);
Serial.println(readings[1]);
Serial.println(readings[2]);
Serial.println(readings[3]);
Serial.println("]
");
Serial.println(".-.-.-.-.-.-.-.-.-.-.-.-.-");

int d1=sqrt(pow(2,(myArray1[0]-readings[0]))+pow(2,(myArray1[1]-readings[1]))+ pow(2,(myArray1[2]-readings[2]))+pow(2,(myArray1[3]-readings[3])));
Serial.println("d1=");
Serial.println(d1);
}
void loop()
{

delay(2000);
}

como pueden ver estoy realizando varias operaciones con los vectores.
y el único resultado que me arroja es d1=1.
por que asa esto , si se supone que el resultado que me debería arrojar es : 7, ya probe transformado datos de int a char y nadamas nada, espero me puedan ayudar y de antemano gracias

ya lo solucione.

int readings[numReadings]={115,119,117,125}; // lecturas de entrada analogica
int d1;
float d1_1;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
d1=pow((115-readings[0]),2)+pow((116-readings[1]),2)+ pow((117-readings[2]),2)+pow((readings[3]-118),2);
d1_1=sqrt(d1);
Serial.print("d1=");Serial.println(d1_1);
}

void loop() {
// put your main code here, to run repeatedly:

}

Te he sugerido via privado como debes editar los post para que los códigos luzcan como debe ser!! No dejes de hacerlo por favor.

int d1=pow(2,(myArray1[0]-readings[0]))+pow(2,(myArray1[1]-readings[1]))+ pow(2,(myArray1[2]-readings[2]))+pow(2,(myArray1[3]-readings[3]));

Ahora observo que usas la potencia invertida

si tu variable resultado d1 será definida como entera ten mucho cuidado que esas postencias no generen un overflow o sea.. no superen la capacidad de un entero positivo que es de 2^15-1 = 32767.

Igualmente las diferencias que veo son pequeñas.

Podrias y solo por estetica hacer algo mas simple como

int readings[4]={115,119,117,125};
int myArray1[4]={115,116,117,118};


int d1 = 0;
for (byte i=0; i<4; i++) {
      d1 += pow(reading[i]-myArray[i], 2); 
}
float d1_1=sqrt(d1);

Algo mas para que sepas a futuro
mas rápido que usar pow es hacer esto

d1 += (reading[i]-myArray[i])*(reading[i]-myArray[i]);