void coordinates_p3_tetrahedra_sn(double *out_1612380840510882963) {
  out_1612380840510882963[0] = 0.0950377585839411;
  out_1612380840510882963[1] = 0.0950377585839411;
  out_1612380840510882963[2] = 0.714886724248177;
  out_1612380840510882963[3] = 0.0950377585839411;
  out_1612380840510882963[4] = 0.125246236257814;
  out_1612380840510882963[5] = 0.125246236257814;
  out_1612380840510882963[6] = 0.374753763742186;
  out_1612380840510882963[7] = 0.374753763742186;
  out_1612380840510882963[8] = 0.374753763742186;
  out_1612380840510882963[9] = 0.125246236257814;
  out_1612380840510882963[10] = 0.197286228025798;
  out_1612380840510882963[11] = 0.605427543948405;
  out_1612380840510882963[12] = 0.197286228025798;
  out_1612380840510882963[13] = 0.425646124313935;
  out_1612380840510882963[14] = 0.148707751372131;
  out_1612380840510882963[15] = 0.425646124313935;
  out_1612380840510882963[16] = 0.197286228025798;
  out_1612380840510882963[17] = 0.197286228025798;
  out_1612380840510882963[18] = 0.605427543948405;
  out_1612380840510882963[19] = 0.425646124313935;
  out_1612380840510882963[20] = 0.425646124313935;
  out_1612380840510882963[21] = 0.148707751372131;
  out_1612380840510882963[22] = 0.0;
  out_1612380840510882963[23] = 0.0;
  out_1612380840510882963[24] = 0.0;
  out_1612380840510882963[25] = 0.0;
  out_1612380840510882963[26] = 0.0;
  out_1612380840510882963[27] = 0.0;
  out_1612380840510882963[28] = 0.197286228025798;
  out_1612380840510882963[29] = 0.605427543948405;
  out_1612380840510882963[30] = 0.197286228025798;
  out_1612380840510882963[31] = 0.425646124313935;
  out_1612380840510882963[32] = 0.148707751372131;
  out_1612380840510882963[33] = 0.425646124313935;
  out_1612380840510882963[34] = 0.292829404767411;
  out_1612380840510882963[35] = 0.707170595232589;
  out_1612380840510882963[36] = 0.707170595232589;
  out_1612380840510882963[37] = 0.292829404767411;
  out_1612380840510882963[38] = 0.0;
  out_1612380840510882963[39] = 0.0;
  out_1612380840510882963[40] = 0.0;
  out_1612380840510882963[41] = 0.0;
  out_1612380840510882963[42] = 0.292829404767411;
  out_1612380840510882963[43] = 0.707170595232589;
  out_1612380840510882963[44] = 0.0;
  out_1612380840510882963[45] = 0.0;
  out_1612380840510882963[46] = 0;
  out_1612380840510882963[47] = 1;
  out_1612380840510882963[48] = 0;
  out_1612380840510882963[49] = 0;
}


x86 assembly (clang, -O0):
<coordinates_p3_tetrahedra_sn>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xf34(%rip),%xmm0
movsd  %xmm0,(%rax)
mov    -0x8(%rbp),%rax
movsd  0xf24(%rip),%xmm0
movsd  %xmm0,0x8(%rax)
mov    -0x8(%rbp),%rax
movsd  0xf1b(%rip),%xmm0
movsd  %xmm0,0x10(%rax)
mov    -0x8(%rbp),%rax
movsd  0xf02(%rip),%xmm0
movsd  %xmm0,0x18(%rax)
mov    -0x8(%rbp),%rax
movsd  0xee1(%rip),%xmm0
movsd  %xmm0,0x20(%rax)
mov    -0x8(%rbp),%rax
movsd  0xed0(%rip),%xmm0
movsd  %xmm0,0x28(%rax)
mov    -0x8(%rbp),%rax
movsd  0xec7(%rip),%xmm0
movsd  %xmm0,0x30(%rax)
mov    -0x8(%rbp),%rax
movsd  0xeb6(%rip),%xmm0
movsd  %xmm0,0x38(%rax)
mov    -0x8(%rbp),%rax
movsd  0xea5(%rip),%xmm0
movsd  %xmm0,0x40(%rax)
mov    -0x8(%rbp),%rax
movsd  0xe8c(%rip),%xmm0
movsd  %xmm0,0x48(%rax)
mov    -0x8(%rbp),%rax
movsd  0xe6b(%rip),%xmm0
movsd  %xmm0,0x50(%rax)
mov    -0x8(%rbp),%rax
movsd  0xe62(%rip),%xmm0
movsd  %xmm0,0x58(%rax)
mov    -0x8(%rbp),%rax
movsd  0xe49(%rip),%xmm0
movsd  %xmm0,0x60(%rax)
mov    -0x8(%rbp),%rax
movsd  0xe28(%rip),%xmm0
movsd  %xmm0,0x68(%rax)
mov    -0x8(%rbp),%rax
movsd  0xe1f(%rip),%xmm0
movsd  %xmm0,0x70(%rax)
mov    -0x8(%rbp),%rax
movsd  0xe06(%rip),%xmm0
movsd  %xmm0,0x78(%rax)
mov    -0x8(%rbp),%rax
movsd  0xe05(%rip),%xmm0
movsd  %xmm0,0x80(%rax)
mov    -0x8(%rbp),%rax
movsd  0xdf1(%rip),%xmm0
movsd  %xmm0,0x88(%rax)
mov    -0x8(%rbp),%rax
movsd  0xde5(%rip),%xmm0
movsd  %xmm0,0x90(%rax)
mov    -0x8(%rbp),%rax
movsd  0xdb9(%rip),%xmm0
movsd  %xmm0,0x98(%rax)
mov    -0x8(%rbp),%rax
movsd  0xda5(%rip),%xmm0
movsd  %xmm0,0xa0(%rax)
mov    -0x8(%rbp),%rax
movsd  0xd99(%rip),%xmm0
movsd  %xmm0,0xa8(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0xb0(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0xb8(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0xc0(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0xc8(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0xd0(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0xd8(%rax)
mov    -0x8(%rbp),%rax
movsd  0xd33(%rip),%xmm0
movsd  %xmm0,0xe0(%rax)
mov    -0x8(%rbp),%rax
movsd  0xd27(%rip),%xmm0
movsd  %xmm0,0xe8(%rax)
mov    -0x8(%rbp),%rax
movsd  0xd0b(%rip),%xmm0
movsd  %xmm0,0xf0(%rax)
mov    -0x8(%rbp),%rax
movsd  0xce7(%rip),%xmm0
movsd  %xmm0,0xf8(%rax)
mov    -0x8(%rbp),%rax
movsd  0xcdb(%rip),%xmm0
movsd  %xmm0,0x100(%rax)
mov    -0x8(%rbp),%rax
movsd  0xcbf(%rip),%xmm0
movsd  %xmm0,0x108(%rax)
mov    -0x8(%rbp),%rax
movsd  0xca3(%rip),%xmm0
movsd  %xmm0,0x110(%rax)
mov    -0x8(%rbp),%rax
movsd  0xc87(%rip),%xmm0
movsd  %xmm0,0x118(%rax)
mov    -0x8(%rbp),%rax
movsd  0xc73(%rip),%xmm0
movsd  %xmm0,0x120(%rax)
mov    -0x8(%rbp),%rax
movsd  0xc67(%rip),%xmm0
movsd  %xmm0,0x128(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x130(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x138(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x140(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x148(%rax)
mov    -0x8(%rbp),%rax
movsd  0xc17(%rip),%xmm0
movsd  %xmm0,0x150(%rax)
mov    -0x8(%rbp),%rax
movsd  0xbfb(%rip),%xmm0
movsd  %xmm0,0x158(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x160(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x168(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x170(%rax)
mov    -0x8(%rbp),%rax
movsd  0xbb2(%rip),%xmm0
movsd  %xmm0,0x178(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x180(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x188(%rax)
pop    %rbp
ret

x86 assembly (clang, -O2):
<coordinates_p3_tetrahedra_sn>:
movaps 0xef9(%rip),%xmm0
movups %xmm0,(%rdi)
movaps 0xeff(%rip),%xmm0
movups %xmm0,0x10(%rdi)
movaps 0xf04(%rip),%xmm0
movups %xmm0,0x20(%rdi)
movaps 0xf09(%rip),%xmm0
movups %xmm0,0x30(%rdi)
movaps 0xf0e(%rip),%xmm0
movups %xmm0,0x40(%rdi)
movaps 0xf13(%rip),%xmm0
movups %xmm0,0x50(%rdi)
movaps 0xf18(%rip),%xmm1
movups %xmm1,0x60(%rdi)
movaps 0xf1d(%rip),%xmm2
movups %xmm2,0x70(%rdi)
movaps 0xf22(%rip),%xmm3
movups %xmm3,0x80(%rdi)
movaps 0xf24(%rip),%xmm3
movups %xmm3,0x90(%rdi)
movaps 0xf26(%rip),%xmm3
movups %xmm3,0xa0(%rdi)
xorps  %xmm3,%xmm3
movups %xmm3,0xb0(%rdi)
movups %xmm3,0xc0(%rdi)
movups %xmm3,0xd0(%rdi)
movups %xmm0,0xe0(%rdi)
movups %xmm1,0xf0(%rdi)
movups %xmm2,0x100(%rdi)
movaps 0xefb(%rip),%xmm0
movups %xmm0,0x110(%rdi)
movaps 0xefd(%rip),%xmm1
movups %xmm1,0x120(%rdi)
movups %xmm3,0x140(%rdi)
movups %xmm3,0x130(%rdi)
movups %xmm0,0x150(%rdi)
movups %xmm3,0x160(%rdi)
movq   $0x0,0x170(%rdi)
movabs $0x3ff0000000000000,%rax
mov    %rax,0x178(%rdi)
movups %xmm3,0x180(%rdi)
ret

LLVM IR (-O0):
define void @coordinates_p3_tetrahedra_sn(double* %0) {
%2 = alloca double*
store double* %0, double** %2
%3 = load double*, double** %2
%4 = getelementptr inbounds double, double* %3, i64 0
store double 0x3FB854650100CFC5, double* %4
%5 = load double*, double** %2
%6 = getelementptr inbounds double, double* %5, i64 1
store double 0x3FB854650100CFC5, double* %6
%7 = load double*, double** %2
%8 = getelementptr inbounds double, double* %7, i64 2
store double 0x3FE6E05A1F9FB219, double* %8
%9 = load double*, double** %2
%10 = getelementptr inbounds double, double* %9, i64 3
store double 0x3FB854650100CFC5, double* %10
%11 = load double*, double** %2
%12 = getelementptr inbounds double, double* %11, i64 4
store double 0x3FC00811945652C2, double* %12
%13 = load double*, double** %2
%14 = getelementptr inbounds double, double* %13, i64 5
store double 0x3FC00811945652C2, double* %14
%15 = load double*, double** %2
%16 = getelementptr inbounds double, double* %15, i64 6
store double 0x3FD7FBF735D4D69F, double* %16
%17 = load double*, double** %2
%18 = getelementptr inbounds double, double* %17, i64 7
store double 0x3FD7FBF735D4D69F, double* %18
%19 = load double*, double** %2
%20 = getelementptr inbounds double, double* %19, i64 8
store double 0x3FD7FBF735D4D69F, double* %20
%21 = load double*, double** %2
%22 = getelementptr inbounds double, double* %21, i64 9
store double 0x3FC00811945652C2, double* %22
%23 = load double*, double** %2
%24 = getelementptr inbounds double, double* %23, i64 10
store double 0x3FC940ACD4A93755, double* %24
%25 = load double*, double** %2
%26 = getelementptr inbounds double, double* %25, i64 11
store double 0x3FE35FA995AB645F, double* %26
%27 = load double*, double** %2
%28 = getelementptr inbounds double, double* %27, i64 12
store double 0x3FC940ACD4A93755, double* %28
%29 = load double*, double** %2
%30 = getelementptr inbounds double, double* %29, i64 13
store double 0x3FDB3DC93DE63D76, double* %30
%31 = load double*, double** %2
%32 = getelementptr inbounds double, double* %31, i64 14
store double 0x3FC308DB08670A4C, double* %32
%33 = load double*, double** %2
%34 = getelementptr inbounds double, double* %33, i64 15
store double 0x3FDB3DC93DE63D76, double* %34
%35 = load double*, double** %2
%36 = getelementptr inbounds double, double* %35, i64 16
store double 0x3FC940ACD4A93755, double* %36
%37 = load double*, double** %2
%38 = getelementptr inbounds double, double* %37, i64 17
store double 0x3FC940ACD4A93755, double* %38
%39 = load double*, double** %2
%40 = getelementptr inbounds double, double* %39, i64 18
store double 0x3FE35FA995AB645F, double* %40
%41 = load double*, double** %2
%42 = getelementptr inbounds double, double* %41, i64 19
store double 0x3FDB3DC93DE63D76, double* %42
%43 = load double*, double** %2
%44 = getelementptr inbounds double, double* %43, i64 20
store double 0x3FDB3DC93DE63D76, double* %44
%45 = load double*, double** %2
%46 = getelementptr inbounds double, double* %45, i64 21
store double 0x3FC308DB08670A4C, double* %46
%47 = load double*, double** %2
%48 = getelementptr inbounds double, double* %47, i64 22
store double 0.000000e+00, double* %48
%49 = load double*, double** %2
%50 = getelementptr inbounds double, double* %49, i64 23
store double 0.000000e+00, double* %50
%51 = load double*, double** %2
%52 = getelementptr inbounds double, double* %51, i64 24
store double 0.000000e+00, double* %52
%53 = load double*, double** %2
%54 = getelementptr inbounds double, double* %53, i64 25
store double 0.000000e+00, double* %54
%55 = load double*, double** %2
%56 = getelementptr inbounds double, double* %55, i64 26
store double 0.000000e+00, double* %56
%57 = load double*, double** %2
%58 = getelementptr inbounds double, double* %57, i64 27
store double 0.000000e+00, double* %58
%59 = load double*, double** %2
%60 = getelementptr inbounds double, double* %59, i64 28
store double 0x3FC940ACD4A93755, double* %60
%61 = load double*, double** %2
%62 = getelementptr inbounds double, double* %61, i64 29
store double 0x3FE35FA995AB645F, double* %62
%63 = load double*, double** %2
%64 = getelementptr inbounds double, double* %63, i64 30
store double 0x3FC940ACD4A93755, double* %64
%65 = load double*, double** %2
%66 = getelementptr inbounds double, double* %65, i64 31
store double 0x3FDB3DC93DE63D76, double* %66
%67 = load double*, double** %2
%68 = getelementptr inbounds double, double* %67, i64 32
store double 0x3FC308DB08670A4C, double* %68
%69 = load double*, double** %2
%70 = getelementptr inbounds double, double* %69, i64 33
store double 0x3FDB3DC93DE63D76, double* %70
%71 = load double*, double** %2
%72 = getelementptr inbounds double, double* %71, i64 34
store double 0x3FD2BDB78B321F91, double* %72
%73 = load double*, double** %2
%74 = getelementptr inbounds double, double* %73, i64 35
store double 0x3FE6A1243A66F037, double* %74
%75 = load double*, double** %2
%76 = getelementptr inbounds double, double* %75, i64 36
store double 0x3FE6A1243A66F037, double* %76
%77 = load double*, double** %2
%78 = getelementptr inbounds double, double* %77, i64 37
store double 0x3FD2BDB78B321F91, double* %78
%79 = load double*, double** %2
%80 = getelementptr inbounds double, double* %79, i64 38
store double 0.000000e+00, double* %80
%81 = load double*, double** %2
%82 = getelementptr inbounds double, double* %81, i64 39
store double 0.000000e+00, double* %82
%83 = load double*, double** %2
%84 = getelementptr inbounds double, double* %83, i64 40
store double 0.000000e+00, double* %84
%85 = load double*, double** %2
%86 = getelementptr inbounds double, double* %85, i64 41
store double 0.000000e+00, double* %86
%87 = load double*, double** %2
%88 = getelementptr inbounds double, double* %87, i64 42
store double 0x3FD2BDB78B321F91, double* %88
%89 = load double*, double** %2
%90 = getelementptr inbounds double, double* %89, i64 43
store double 0x3FE6A1243A66F037, double* %90
%91 = load double*, double** %2
%92 = getelementptr inbounds double, double* %91, i64 44
store double 0.000000e+00, double* %92
%93 = load double*, double** %2
%94 = getelementptr inbounds double, double* %93, i64 45
store double 0.000000e+00, double* %94
%95 = load double*, double** %2
%96 = getelementptr inbounds double, double* %95, i64 46
store double 0.000000e+00, double* %96
%97 = load double*, double** %2
%98 = getelementptr inbounds double, double* %97, i64 47
store double 1.000000e+00, double* %98
%99 = load double*, double** %2
%100 = getelementptr inbounds double, double* %99, i64 48
store double 0.000000e+00, double* %100
%101 = load double*, double** %2
%102 = getelementptr inbounds double, double* %101, i64 49
store double 0.000000e+00, double* %102
ret void
}

LLVM IR (-O2):
define void @coordinates_p3_tetrahedra_sn(double* writeonly %0) {
%2 = bitcast double* %0 to <2 x double>*
store <2 x double> <double 0x3FB854650100CFC5, double 0x3FB854650100CFC5>, <2 x double>* %2
%3 = getelementptr inbounds double, double* %0, i64 2
%4 = bitcast double* %3 to <2 x double>*
store <2 x double> <double 0x3FE6E05A1F9FB219, double 0x3FB854650100CFC5>, <2 x double>* %4
%5 = getelementptr inbounds double, double* %0, i64 4
%6 = bitcast double* %5 to <2 x double>*
store <2 x double> <double 0x3FC00811945652C2, double 0x3FC00811945652C2>, <2 x double>* %6
%7 = getelementptr inbounds double, double* %0, i64 6
%8 = bitcast double* %7 to <2 x double>*
store <2 x double> <double 0x3FD7FBF735D4D69F, double 0x3FD7FBF735D4D69F>, <2 x double>* %8
%9 = getelementptr inbounds double, double* %0, i64 8
%10 = bitcast double* %9 to <2 x double>*
store <2 x double> <double 0x3FD7FBF735D4D69F, double 0x3FC00811945652C2>, <2 x double>* %10
%11 = getelementptr inbounds double, double* %0, i64 10
%12 = bitcast double* %11 to <2 x double>*
store <2 x double> <double 0x3FC940ACD4A93755, double 0x3FE35FA995AB645F>, <2 x double>* %12
%13 = getelementptr inbounds double, double* %0, i64 12
%14 = bitcast double* %13 to <2 x double>*
store <2 x double> <double 0x3FC940ACD4A93755, double 0x3FDB3DC93DE63D76>, <2 x double>* %14
%15 = getelementptr inbounds double, double* %0, i64 14
%16 = bitcast double* %15 to <2 x double>*
store <2 x double> <double 0x3FC308DB08670A4C, double 0x3FDB3DC93DE63D76>, <2 x double>* %16
%17 = getelementptr inbounds double, double* %0, i64 16
%18 = bitcast double* %17 to <2 x double>*
store <2 x double> <double 0x3FC940ACD4A93755, double 0x3FC940ACD4A93755>, <2 x double>* %18
%19 = getelementptr inbounds double, double* %0, i64 18
%20 = bitcast double* %19 to <2 x double>*
store <2 x double> <double 0x3FE35FA995AB645F, double 0x3FDB3DC93DE63D76>, <2 x double>* %20
%21 = getelementptr inbounds double, double* %0, i64 20
%22 = bitcast double* %21 to <2 x double>*
store <2 x double> <double 0x3FDB3DC93DE63D76, double 0x3FC308DB08670A4C>, <2 x double>* %22
%23 = getelementptr inbounds double, double* %0, i64 22
%24 = getelementptr inbounds double, double* %0, i64 28
%25 = bitcast double* %23 to i8*
%26 = bitcast double* %24 to <2 x double>*
store <2 x double> <double 0x3FC940ACD4A93755, double 0x3FE35FA995AB645F>, <2 x double>* %26
%27 = getelementptr inbounds double, double* %0, i64 30
%28 = bitcast double* %27 to <2 x double>*
store <2 x double> <double 0x3FC940ACD4A93755, double 0x3FDB3DC93DE63D76>, <2 x double>* %28
%29 = getelementptr inbounds double, double* %0, i64 32
%30 = bitcast double* %29 to <2 x double>*
store <2 x double> <double 0x3FC308DB08670A4C, double 0x3FDB3DC93DE63D76>, <2 x double>* %30
%31 = getelementptr inbounds double, double* %0, i64 34
%32 = bitcast double* %31 to <2 x double>*
store <2 x double> <double 0x3FD2BDB78B321F91, double 0x3FE6A1243A66F037>, <2 x double>* %32
%33 = getelementptr inbounds double, double* %0, i64 36
%34 = bitcast double* %33 to <2 x double>*
store <2 x double> <double 0x3FE6A1243A66F037, double 0x3FD2BDB78B321F91>, <2 x double>* %34
%35 = getelementptr inbounds double, double* %0, i64 38
%36 = getelementptr inbounds double, double* %0, i64 42
%37 = bitcast double* %35 to i8*
%38 = bitcast double* %36 to <2 x double>*
store <2 x double> <double 0x3FD2BDB78B321F91, double 0x3FE6A1243A66F037>, <2 x double>* %38
%39 = getelementptr inbounds double, double* %0, i64 44
%40 = getelementptr inbounds double, double* %0, i64 47
%41 = bitcast double* %39 to i8*
store double 1.000000e+00, double* %40
%42 = getelementptr inbounds double, double* %0, i64 48
%43 = bitcast double* %42 to i8*
ret void
}