#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */
typedef int /*<<< orphan*/ table;

/* Variables and functions */
double interpolate_symmetric_linear(int, double *, double);
double prutenic_1st_epicycle_luna(double angle) {
  double table[] = {
      ((0) + (((0) + (0) / 60.)) / 60.),   ((0) + (((4) + (45) / 60.)) / 60.),
      ((0) + (((9) + (31) / 60.)) / 60.),  ((0) + (((14) + (16) / 60.)) / 60.),
      ((0) + (((19) + (1) / 60.)) / 60.),  ((0) + (((23) + (45) / 60.)) / 60.),
      ((0) + (((28) + (30) / 60.)) / 60.), ((0) + (((33) + (14) / 60.)) / 60.),
      ((0) + (((37) + (57) / 60.)) / 60.), ((0) + (((42) + (40) / 60.)) / 60.),
      ((0) + (((47) + (22) / 60.)) / 60.), ((0) + (((52) + (4) / 60.)) / 60.),
      ((0) + (((56) + (45) / 60.)) / 60.), ((1) + (((1) + (25) / 60.)) / 60.),
      ((1) + (((6) + (4) / 60.)) / 60.),   ((1) + (((10) + (43) / 60.)) / 60.),
      ((1) + (((15) + (20) / 60.)) / 60.), ((1) + (((19) + (56) / 60.)) / 60.),
      ((1) + (((24) + (31) / 60.)) / 60.), ((1) + (((29) + (5) / 60.)) / 60.),
      ((1) + (((33) + (37) / 60.)) / 60.), ((1) + (((38) + (8) / 60.)) / 60.),
      ((1) + (((42) + (38) / 60.)) / 60.), ((1) + (((47) + (7) / 60.)) / 60.),
      ((1) + (((51) + (34) / 60.)) / 60.), ((1) + (((55) + (59) / 60.)) / 60.),
      ((2) + (((0) + (22) / 60.)) / 60.),  ((2) + (((4) + (44) / 60.)) / 60.),
      ((2) + (((9) + (4) / 60.)) / 60.),   ((2) + (((13) + (22) / 60.)) / 60.),
      ((2) + (((17) + (38) / 60.)) / 60.), ((2) + (((21) + (52) / 60.)) / 60.),
      ((2) + (((26) + (4) / 60.)) / 60.),  ((2) + (((30) + (14) / 60.)) / 60.),
      ((2) + (((34) + (22) / 60.)) / 60.), ((2) + (((38) + (28) / 60.)) / 60.),
      ((2) + (((42) + (31) / 60.)) / 60.), ((2) + (((46) + (31) / 60.)) / 60.),
      ((2) + (((50) + (30) / 60.)) / 60.), ((2) + (((54) + (25) / 60.)) / 60.),
      ((2) + (((58) + (18) / 60.)) / 60.), ((3) + (((2) + (9) / 60.)) / 60.),
      ((3) + (((5) + (57) / 60.)) / 60.),  ((3) + (((9) + (42) / 60.)) / 60.),
      ((3) + (((13) + (24) / 60.)) / 60.), ((3) + (((17) + (3) / 60.)) / 60.),
      ((3) + (((20) + (39) / 60.)) / 60.), ((3) + (((24) + (12) / 60.)) / 60.),
      ((3) + (((27) + (42) / 60.)) / 60.), ((3) + (((31) + (9) / 60.)) / 60.),
      ((3) + (((34) + (33) / 60.)) / 60.), ((3) + (((37) + (53) / 60.)) / 60.),
      ((3) + (((41) + (10) / 60.)) / 60.), ((3) + (((44) + (24) / 60.)) / 60.),
      ((3) + (((47) + (34) / 60.)) / 60.), ((3) + (((50) + (41) / 60.)) / 60.),
      ((3) + (((53) + (44) / 60.)) / 60.), ((3) + (((56) + (43) / 60.)) / 60.),
      ((3) + (((59) + (39) / 60.)) / 60.), ((4) + (((2) + (31) / 60.)) / 60.),
      ((4) + (((5) + (19) / 60.)) / 60.),  ((4) + (((8) + (3) / 60.)) / 60.),
      ((4) + (((10) + (43) / 60.)) / 60.), ((4) + (((13) + (19) / 60.)) / 60.),
      ((4) + (((15) + (51) / 60.)) / 60.), ((4) + (((18) + (19) / 60.)) / 60.),
      ((4) + (((20) + (43) / 60.)) / 60.), ((4) + (((23) + (3) / 60.)) / 60.),
      ((4) + (((25) + (18) / 60.)) / 60.), ((4) + (((27) + (29) / 60.)) / 60.),
      ((4) + (((29) + (36) / 60.)) / 60.), ((4) + (((31) + (38) / 60.)) / 60.),
      ((4) + (((33) + (36) / 60.)) / 60.), ((4) + (((35) + (29) / 60.)) / 60.),
      ((4) + (((37) + (18) / 60.)) / 60.), ((4) + (((39) + (2) / 60.)) / 60.),
      ((4) + (((40) + (41) / 60.)) / 60.), ((4) + (((42) + (15) / 60.)) / 60.),
      ((4) + (((43) + (45) / 60.)) / 60.), ((4) + (((45) + (10) / 60.)) / 60.),
      ((4) + (((46) + (30) / 60.)) / 60.), ((4) + (((47) + (45) / 60.)) / 60.),
      ((4) + (((48) + (55) / 60.)) / 60.), ((4) + (((50) + (1) / 60.)) / 60.),
      ((4) + (((51) + (1) / 60.)) / 60.),  ((4) + (((51) + (56) / 60.)) / 60.),
      ((4) + (((52) + (46) / 60.)) / 60.), ((4) + (((53) + (31) / 60.)) / 60.),
      ((4) + (((54) + (10) / 60.)) / 60.), ((4) + (((54) + (45) / 60.)) / 60.),
      ((4) + (((55) + (14) / 60.)) / 60.), ((4) + (((55) + (38) / 60.)) / 60.),
      ((4) + (((55) + (56) / 60.)) / 60.), ((4) + (((56) + (9) / 60.)) / 60.),
      ((4) + (((56) + (17) / 60.)) / 60.), ((4) + (((56) + (19) / 60.)) / 60.),
      ((4) + (((56) + (16) / 60.)) / 60.), ((4) + (((56) + (8) / 60.)) / 60.),
      ((4) + (((55) + (54) / 60.)) / 60.), ((4) + (((55) + (34) / 60.)) / 60.),
      ((4) + (((55) + (9) / 60.)) / 60.),  ((4) + (((54) + (39) / 60.)) / 60.),
      ((4) + (((54) + (3) / 60.)) / 60.),  ((4) + (((53) + (21) / 60.)) / 60.),
      ((4) + (((52) + (34) / 60.)) / 60.), ((4) + (((51) + (41) / 60.)) / 60.),
      ((4) + (((50) + (43) / 60.)) / 60.), ((4) + (((49) + (39) / 60.)) / 60.),
      ((4) + (((48) + (29) / 60.)) / 60.), ((4) + (((47) + (14) / 60.)) / 60.),
      ((4) + (((45) + (53) / 60.)) / 60.), ((4) + (((44) + (27) / 60.)) / 60.),
      ((4) + (((42) + (55) / 60.)) / 60.), ((4) + (((41) + (17) / 60.)) / 60.),
      ((4) + (((39) + (34) / 60.)) / 60.), ((4) + (((37) + (45) / 60.)) / 60.),
      ((4) + (((35) + (51) / 60.)) / 60.), ((4) + (((33) + (51) / 60.)) / 60.),
      ((4) + (((31) + (45) / 60.)) / 60.), ((4) + (((29) + (34) / 60.)) / 60.),
      ((4) + (((27) + (18) / 60.)) / 60.), ((4) + (((24) + (56) / 60.)) / 60.),
      ((4) + (((22) + (28) / 60.)) / 60.), ((4) + (((19) + (55) / 60.)) / 60.),
      ((4) + (((17) + (17) / 60.)) / 60.), ((4) + (((14) + (34) / 60.)) / 60.),
      ((4) + (((11) + (45) / 60.)) / 60.), ((4) + (((8) + (50) / 60.)) / 60.),
      ((4) + (((5) + (51) / 60.)) / 60.),  ((4) + (((2) + (46) / 60.)) / 60.),
      ((3) + (((59) + (36) / 60.)) / 60.), ((3) + (((56) + (21) / 60.)) / 60.),
      ((3) + (((53) + (1) / 60.)) / 60.),  ((3) + (((49) + (36) / 60.)) / 60.),
      ((3) + (((46) + (6) / 60.)) / 60.),  ((3) + (((42) + (32) / 60.)) / 60.),
      ((3) + (((38) + (52) / 60.)) / 60.), ((3) + (((35) + (7) / 60.)) / 60.),
      ((3) + (((31) + (18) / 60.)) / 60.), ((3) + (((27) + (24) / 60.)) / 60.),
      ((3) + (((23) + (26) / 60.)) / 60.), ((3) + (((19) + (23) / 60.)) / 60.),
      ((3) + (((15) + (16) / 60.)) / 60.), ((3) + (((11) + (4) / 60.)) / 60.),
      ((3) + (((6) + (48) / 60.)) / 60.),  ((3) + (((2) + (28) / 60.)) / 60.),
      ((2) + (((58) + (3) / 60.)) / 60.),  ((2) + (((53) + (35) / 60.)) / 60.),
      ((2) + (((49) + (3) / 60.)) / 60.),  ((2) + (((44) + (27) / 60.)) / 60.),
      ((2) + (((39) + (47) / 60.)) / 60.), ((2) + (((35) + (4) / 60.)) / 60.),
      ((2) + (((30) + (17) / 60.)) / 60.), ((2) + (((25) + (26) / 60.)) / 60.),
      ((2) + (((20) + (32) / 60.)) / 60.), ((2) + (((15) + (35) / 60.)) / 60.),
      ((2) + (((10) + (35) / 60.)) / 60.), ((2) + (((5) + (32) / 60.)) / 60.),
      ((2) + (((0) + (26) / 60.)) / 60.),  ((1) + (((55) + (17) / 60.)) / 60.),
      ((1) + (((50) + (6) / 60.)) / 60.),  ((1) + (((44) + (52) / 60.)) / 60.),
      ((1) + (((39) + (35) / 60.)) / 60.), ((1) + (((34) + (16) / 60.)) / 60.),
      ((1) + (((28) + (55) / 60.)) / 60.), ((1) + (((23) + (32) / 60.)) / 60.),
      ((1) + (((18) + (7) / 60.)) / 60.),  ((1) + (((12) + (40) / 60.)) / 60.),
      ((1) + (((7) + (11) / 60.)) / 60.),  ((1) + (((1) + (41) / 60.)) / 60.),
      ((0) + (((56) + (9) / 60.)) / 60.),  ((0) + (((50) + (36) / 60.)) / 60.),
      ((0) + (((45) + (2) / 60.)) / 60.),  ((0) + (((39) + (26) / 60.)) / 60.),
      ((0) + (((33) + (50) / 60.)) / 60.), ((0) + (((28) + (13) / 60.)) / 60.),
      ((0) + (((22) + (35) / 60.)) / 60.), ((0) + (((16) + (57) / 60.)) / 60.),
      ((0) + (((11) + (18) / 60.)) / 60.), ((0) + (((5) + (39) / 60.)) / 60.),
      ((0) + (((0) + (0) / 60.)) / 60.),
  };
  return interpolate_symmetric_linear(sizeof(table) / sizeof(*table), table,
                                      angle);
}


x86 assembly (clang, -O0):
<prutenic_1st_epicycle_luna>:
push   %rbp
mov    %rsp,%rbp
sub    $0x5b0,%rsp
movsd  %xmm0,-0x8(%rbp)
lea    -0x5b0(%rbp),%rdi
lea    0xec2(%rip),%rsi
mov    $0x5a8,%edx
call   1040 <memcpy@plt>
lea    -0x5b0(%rbp),%rsi
movsd  -0x8(%rbp),%xmm0
mov    $0xb5,%edi
call   1030 <interpolate_symmetric_linear@plt>
add    $0x5b0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<prutenic_1st_epicycle_luna>:
push   %rbx
sub    $0x5c0,%rsp
movsd  %xmm0,0x8(%rsp)
lea    0xecb(%rip),%rsi
lea    0x10(%rsp),%rbx
mov    $0x5a8,%edx
mov    %rbx,%rdi
call   1040 <memcpy@plt>
mov    $0xb5,%edi
mov    %rbx,%rsi
movsd  0x8(%rsp),%xmm0
call   1030 <interpolate_symmetric_linear@plt>
add    $0x5c0,%rsp
pop    %rbx
ret

LLVM IR (-O0):
@__const.prutenic_1st_epicycle_luna.table = [181 x double] [double 0.000000e+00, double 0x3FB4444444444444, double 0x3FC44D5E6F8091A3, double 0x3FCE6F8091A2B3C5, double 0x3FD448D159E26AF3, double 0x3FD9555555555555, double 4.750000e-01, double 0x3FE1B97530ECA864, double 0x3FE43D70A3D70A3E, double 0x3FE6C16C16C16C16, double 0x3FE94320FEDCBA99, double 0x3FEBC4D5E6F8091B, double 0x3FEE444444444444, double 0x3FF060B60B60B60B, double 0x3FF19E26AF37C049, double 0x3FF2DB97530ECA86, double 0x3FF416C16C16C16C, double 0x3FF550C83FB72EA6, double 0x3FF689ABCDF01234, double 0x3FF7C16C16C16C17, double 0x3FF8F6E5D4C3B2A2, double 0x3FFA2B3C4D5E6F80, double 0x3FFB5E6F8091A2B4, double 0x3FFC907F6E5D4C3B, double 0x3FFDC048D159E26B, double 0x3FFEEDCBA9876543, double 0x40000C83FB72EA62, double 0x4000A1907F6E5D4C, double 0x40013579BE02468B, double 0x4001C83FB72EA61E, double 0x400259E26AF37C04, double 0x4002EA61D950C840, double 0x400379BE02468ACF, double 0x400407F6E5D4C3B3, double 0x4004950C83FB72EA, double 0x400520FEDCBA9876, double 0x4005AB3C4D5E6F80, double 0x400633C4D5E6F809, double 0x4006BBBBBBBBBBBC, double 0x4007416C16C16C17, double 0x4007C5F92C5F92C6, double 0x40084962FC962FC9, double 0x4008CB17E4B17E4B, double 0x40094B17E4B17E4B, double 0x4009C962FC962FC9, double 0x400A45F92C5F92C6, double 0x400AC0DA740DA741, double 0x400B3A06D3A06D3A, double 0x400BB17E4B17E4B2, double 0x400C2740DA740DA7, double 0x400C9B4E81B4E81B, double 0x400D0D159E26AF38, double 0x400D7D27D27D27D2, double 3.740000e+00, double 0x400E579BE02468AD, double 0x400EC1FDB97530EC, double 0x400F2A1907F6E5D5, double 0x400F8FEDCBA98765, double 0x400FF40DA740DA74, double 0x40102AF37C048D16, double 0x40105ABCDF012345, double 0x40108962FC962FC9, double 0x4010B6E5D4C3B2A2, double 0x4010E3456789ABCE, double 0x40110E81B4E81B4E, double 0x4011389ABCDF0123, double 0x401161907F6E5D4C, double 0x40118962FC962FC9, double 0x4011AFC962FC9630, double 0x4011D50C83FB72EA, double 0x4011F92C5F92C5F9, double 0x40121BE02468ACF1, double 0x40123D70A3D70A3E, double 0x40125D950C83FB73, double 0x40127C962FC962FC, double 0x40129A2B3C4D5E70, double 0x4012B654320FEDCC, double 0x4012D11111111111, double 0x4012EAAAAAAAAAAB, double 0x401302D82D82D82E, double 4.775000e+00, double 0x40132EEEEEEEEEEF, double 0x401342D82D82D82E, double 0x4013559E26AF37C0, double 0x401366AF37C048D1, double 0x40137654320FEDCC, double 0x4013848D159E26AF, double 0x40139159E26AF37C, double 0x40139C71C71C71C7, double 4.912500e+00, double 0x4013AEA61D950C84, double 0x4013B579BE02468B, double 0x4013BA9876543210, double 0x4013BE4B17E4B17E, double 0x4013C091A2B3C4D6, double 0x4013C123456789AC, double 0x4013C048D159E26B, double 0x4013BE02468ACF13, double 0x4013BA06D3A06D3A, double 0x4013B456789ABCDF, double 0x4013AD3A06D3A06D, double 0x4013A4B17E4B17E5, double 0x40139A740DA740DA, double 0x40138E81B4E81B4E, double 0x40138123456789AC, double 0x4013720FEDCBA987, double 0x401361907F6E5D4C, double 4.827500e+00, double 0x40133B72EA61D951, double 0x4013261D950C83FC, double 0x40130F13579BE024, double 0x4012F69D0369D037, double 0x4012DC71C71C71C7, double 0x4012C091A2B3C4D6, double 0x4012A3456789ABCE, double 0x4012844444444444, double 4.597500e+00, double 0x401241B4E81B4E82, double 0x40121DDDDDDDDDDE, double 0x4011F89ABCDF0123, double 4.455000e+00, double 0x4011A987654320FF, double 0x40117F6E5D4C3B2A, double 0x401153E93E93E93F, double 0x401126F8091A2B3C, double 0x4010F89ABCDF0123, double 0x4010C88888888889, double 0x401096C16C16C16C, double 4.097500e+00, double 0x40102F37C048D15A, double 0x400FF258BF258BF2, double 0x400F8369D0369D04, double 0x400F11A2B3C4D5E7, double 0x400E9D0369D0369D, double 0x400E258BF258BF26, double 0x400DABCDF0123456, double 0x400D2EA61D950C84, double 0x400CAEA61D950C84, double 0x400C2C5F92C5F92C, double 0x400BA740DA740DA7, double 0x400B1FDB97530ECA, double 0x400A959E26AF37C0, double 0x400A091A2B3C4D5E, double 0x400979BE02468ACF, double 0x4008E81B4E81B4E8, double 0x400854320FEDCBAA, double 2.967500e+00, double 0x400724FA4FA4FA50, double 2.817500e+00, double 0x4005ED3A06D3A06D, double 0x40054DF012345678, double 0x4004ACF13579BE02, double 0x400409ABCDF01234, double 0x4003641FDB97530F, double 0x4002BCDF01234568, double 0x400213E93E93E93F, double 0x4001693E93E93E94, double 0x4000BCDF01234568, double 0x40000ECA8641FDB9, double 0x3FFEBE02468ACF13, double 1.835000e+00, double 0x3FFBF6E5D4C3B2A2, double 0x3FFA8E38E38E38E4, double 0x3FF923456789ABCE, double 0x3FF7B60B60B60B61, double 0x3FF6468ACF13579C, double 0x3FF4D4C3B2A19080, double 0x3FF360B60B60B60B, double 0x3FF1EA61D950C840, double 0x3FF072EA61D950C8, double 0x3FEDF258BF258BF2, double 0x3FEAFC962FC962FD, double 0x3FE8048D159E26AF, double 0x3FE507F6E5D4C3B2, double 0x3FE20B60B60B60B6, double 0x3FDE1907F6E5D4C3, double 0x3FD816C16C16C16C, double 2.825000e-01, double 0x3FC81B4E81B4E81C, double 0x3FB81B4E81B4E81C, double 0.000000e+00]
define double @prutenic_1st_epicycle_luna(double %0) {
%2 = alloca double
%3 = alloca [181 x double]
store double %0, double* %2
%4 = bitcast [181 x double]* %3 to i8*
%5 = getelementptr inbounds [181 x double], [181 x double]* %3, i64 0, i64 0
%6 = load double, double* %2
%7 = call double @interpolate_symmetric_linear(i32 181, double* %5, double %6)
ret double %7
}

LLVM IR (-O2):
@__const.prutenic_1st_epicycle_luna.table = [181 x double] [double 0.000000e+00, double 0x3FB4444444444444, double 0x3FC44D5E6F8091A3, double 0x3FCE6F8091A2B3C5, double 0x3FD448D159E26AF3, double 0x3FD9555555555555, double 4.750000e-01, double 0x3FE1B97530ECA864, double 0x3FE43D70A3D70A3E, double 0x3FE6C16C16C16C16, double 0x3FE94320FEDCBA99, double 0x3FEBC4D5E6F8091B, double 0x3FEE444444444444, double 0x3FF060B60B60B60B, double 0x3FF19E26AF37C049, double 0x3FF2DB97530ECA86, double 0x3FF416C16C16C16C, double 0x3FF550C83FB72EA6, double 0x3FF689ABCDF01234, double 0x3FF7C16C16C16C17, double 0x3FF8F6E5D4C3B2A2, double 0x3FFA2B3C4D5E6F80, double 0x3FFB5E6F8091A2B4, double 0x3FFC907F6E5D4C3B, double 0x3FFDC048D159E26B, double 0x3FFEEDCBA9876543, double 0x40000C83FB72EA62, double 0x4000A1907F6E5D4C, double 0x40013579BE02468B, double 0x4001C83FB72EA61E, double 0x400259E26AF37C04, double 0x4002EA61D950C840, double 0x400379BE02468ACF, double 0x400407F6E5D4C3B3, double 0x4004950C83FB72EA, double 0x400520FEDCBA9876, double 0x4005AB3C4D5E6F80, double 0x400633C4D5E6F809, double 0x4006BBBBBBBBBBBC, double 0x4007416C16C16C17, double 0x4007C5F92C5F92C6, double 0x40084962FC962FC9, double 0x4008CB17E4B17E4B, double 0x40094B17E4B17E4B, double 0x4009C962FC962FC9, double 0x400A45F92C5F92C6, double 0x400AC0DA740DA741, double 0x400B3A06D3A06D3A, double 0x400BB17E4B17E4B2, double 0x400C2740DA740DA7, double 0x400C9B4E81B4E81B, double 0x400D0D159E26AF38, double 0x400D7D27D27D27D2, double 3.740000e+00, double 0x400E579BE02468AD, double 0x400EC1FDB97530EC, double 0x400F2A1907F6E5D5, double 0x400F8FEDCBA98765, double 0x400FF40DA740DA74, double 0x40102AF37C048D16, double 0x40105ABCDF012345, double 0x40108962FC962FC9, double 0x4010B6E5D4C3B2A2, double 0x4010E3456789ABCE, double 0x40110E81B4E81B4E, double 0x4011389ABCDF0123, double 0x401161907F6E5D4C, double 0x40118962FC962FC9, double 0x4011AFC962FC9630, double 0x4011D50C83FB72EA, double 0x4011F92C5F92C5F9, double 0x40121BE02468ACF1, double 0x40123D70A3D70A3E, double 0x40125D950C83FB73, double 0x40127C962FC962FC, double 0x40129A2B3C4D5E70, double 0x4012B654320FEDCC, double 0x4012D11111111111, double 0x4012EAAAAAAAAAAB, double 0x401302D82D82D82E, double 4.775000e+00, double 0x40132EEEEEEEEEEF, double 0x401342D82D82D82E, double 0x4013559E26AF37C0, double 0x401366AF37C048D1, double 0x40137654320FEDCC, double 0x4013848D159E26AF, double 0x40139159E26AF37C, double 0x40139C71C71C71C7, double 4.912500e+00, double 0x4013AEA61D950C84, double 0x4013B579BE02468B, double 0x4013BA9876543210, double 0x4013BE4B17E4B17E, double 0x4013C091A2B3C4D6, double 0x4013C123456789AC, double 0x4013C048D159E26B, double 0x4013BE02468ACF13, double 0x4013BA06D3A06D3A, double 0x4013B456789ABCDF, double 0x4013AD3A06D3A06D, double 0x4013A4B17E4B17E5, double 0x40139A740DA740DA, double 0x40138E81B4E81B4E, double 0x40138123456789AC, double 0x4013720FEDCBA987, double 0x401361907F6E5D4C, double 4.827500e+00, double 0x40133B72EA61D951, double 0x4013261D950C83FC, double 0x40130F13579BE024, double 0x4012F69D0369D037, double 0x4012DC71C71C71C7, double 0x4012C091A2B3C4D6, double 0x4012A3456789ABCE, double 0x4012844444444444, double 4.597500e+00, double 0x401241B4E81B4E82, double 0x40121DDDDDDDDDDE, double 0x4011F89ABCDF0123, double 4.455000e+00, double 0x4011A987654320FF, double 0x40117F6E5D4C3B2A, double 0x401153E93E93E93F, double 0x401126F8091A2B3C, double 0x4010F89ABCDF0123, double 0x4010C88888888889, double 0x401096C16C16C16C, double 4.097500e+00, double 0x40102F37C048D15A, double 0x400FF258BF258BF2, double 0x400F8369D0369D04, double 0x400F11A2B3C4D5E7, double 0x400E9D0369D0369D, double 0x400E258BF258BF26, double 0x400DABCDF0123456, double 0x400D2EA61D950C84, double 0x400CAEA61D950C84, double 0x400C2C5F92C5F92C, double 0x400BA740DA740DA7, double 0x400B1FDB97530ECA, double 0x400A959E26AF37C0, double 0x400A091A2B3C4D5E, double 0x400979BE02468ACF, double 0x4008E81B4E81B4E8, double 0x400854320FEDCBAA, double 2.967500e+00, double 0x400724FA4FA4FA50, double 2.817500e+00, double 0x4005ED3A06D3A06D, double 0x40054DF012345678, double 0x4004ACF13579BE02, double 0x400409ABCDF01234, double 0x4003641FDB97530F, double 0x4002BCDF01234568, double 0x400213E93E93E93F, double 0x4001693E93E93E94, double 0x4000BCDF01234568, double 0x40000ECA8641FDB9, double 0x3FFEBE02468ACF13, double 1.835000e+00, double 0x3FFBF6E5D4C3B2A2, double 0x3FFA8E38E38E38E4, double 0x3FF923456789ABCE, double 0x3FF7B60B60B60B61, double 0x3FF6468ACF13579C, double 0x3FF4D4C3B2A19080, double 0x3FF360B60B60B60B, double 0x3FF1EA61D950C840, double 0x3FF072EA61D950C8, double 0x3FEDF258BF258BF2, double 0x3FEAFC962FC962FD, double 0x3FE8048D159E26AF, double 0x3FE507F6E5D4C3B2, double 0x3FE20B60B60B60B6, double 0x3FDE1907F6E5D4C3, double 0x3FD816C16C16C16C, double 2.825000e-01, double 0x3FC81B4E81B4E81C, double 0x3FB81B4E81B4E81C, double 0.000000e+00]
define double @prutenic_1st_epicycle_luna(double %0) {
%2 = alloca [181 x double]
%3 = bitcast [181 x double]* %2 to i8*
%4 = getelementptr inbounds [181 x double], [181 x double]* %2, i64 0, i64 0
%5 = call double @interpolate_symmetric_linear(i32 181, double* %4, double %0)
ret double %5
}