double *add_3d_vectors4(double a[3], double b[3], double *sum) { if ( a == NULL || b == NULL ) return NULL; if ( sum == NULL ) { sum = (double *)malloc(3*sizeof(double)); if ( sum == NULL ) return NULL; } sum[0] = a[0] + b[0]; sum[1] = a[2] + b[1]; sum[2] = a[2] + b[2]; return sum; }