#include "h.h" typedef struct {R p1; R p2; R per;} Suv; typedef struct {pt pos[N];} sv; Suv S[] = { {0.347111, 0.532728, 6.325892668}, // p was 6.324449 {0.306893, 0.125507, 6.23467431750}, // p was 6.235641 {0.392955, 0.097579, 7.003703026826}, // p was 7.003907 {0.184279, 0.587188, 63.534541}, {0.080584, 0.588836, 21.27233194862}, // p was 21.270975 {0.083300, 0.127889, 10.46481677419}, // p was 10.466818 {0.464445, 0.396060, 14.89430052798}, // p was 14.893911 {0.439166, 0.452968, 28.66933144463}, // p was 28.6700278 {0.383444, 0.377364, 25.83926279524}, // p was 25.840618 {0.405916, 0.230163, 13.86713737423}, // p was 13.865763 {0.350112, 0.079339, 79.475875}, {0.559064, 0.349192, 55.501762}, {0.513938, 0.304736, 17.328370}, {0.282699, 0.327209, 10.962563}, {0.416822, 0.330333, 55.789829}, {0.417343, 0.313100, 54.207599}, {0.417343, 0.313100, 54.20788586780} }; int main(){ // printf("%d\n", (int)sizeof(R)); assert(N==3); void ce(int j, sv t, sv u){R e = 0; {int n=N; while(n--){int dd=D; while(dd--) e += s(t.pos[n].dv[dd].x - u.pos[n].dv[dd].x ) +s(t.pos[n].dv[dd].xd - u.pos[n].dv[dd].xd);}} printf("n=%d; e=%e\n", j, (d)e);} assert(N==3); {int j; for(j=0; j